Update "puppeteer" to 21.0.1

Bug: none
Change-Id: I7b92e1d3c7e14729d99fb8b540d93d9d0be0ecba
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/4756724
Auto-Submit: Randolf Jung <[email protected]>
Reviewed-by: Simon Zünd <[email protected]>
Commit-Queue: Simon Zünd <[email protected]>
diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json
index 783e15c..b3679e5 100644
--- a/node_modules/.package-lock.json
+++ b/node_modules/.package-lock.json
@@ -616,18 +616,15 @@
       }
     },
     "node_modules/@puppeteer/browsers": {
-      "version": "1.4.5",
-      "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.5.tgz",
-      "integrity": "sha512-a0gpUa+XlxZHotoOklh99X6RC5R+hQGcVcYOH+oOIEBfQXPp8Z5c765XAu/zhxsjRuAZN4Xx4vZNlwN4wJro2A==",
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.5.0.tgz",
+      "integrity": "sha512-za318PweGINh5LnHSph7C4xhs0tmRjCD8EPpzcKlw4nzSPhnULj+LTG3+TGefZvW1ti5gjw2JkdQvQsivBeZlg==",
       "dev": true,
       "dependencies": {
         "debug": "4.3.4",
         "extract-zip": "2.0.1",
-        "http-proxy-agent": "7.0.0",
-        "https-proxy-agent": "7.0.1",
         "progress": "2.0.3",
-        "proxy-from-env": "1.1.0",
-        "socks-proxy-agent": "8.0.1",
+        "proxy-agent": "6.3.0",
         "tar-fs": "3.0.4",
         "unbzip2-stream": "1.4.3",
         "yargs": "17.7.1"
@@ -637,14 +634,6 @@
       },
       "engines": {
         "node": ">=16.3.0"
-      },
-      "peerDependencies": {
-        "typescript": ">= 4.7.4"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
       }
     },
     "node_modules/@puppeteer/browsers/node_modules/ansi-regex": {
@@ -921,6 +910,12 @@
       "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==",
       "dev": true
     },
+    "node_modules/@tootallnate/quickjs-emscripten": {
+      "version": "0.23.0",
+      "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
+      "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
+      "dev": true
+    },
     "node_modules/@trysound/sax": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
@@ -1856,6 +1851,15 @@
         "node": "^4.5.0 || >= 5.9"
       }
     },
+    "node_modules/basic-ftp": {
+      "version": "5.0.3",
+      "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.3.tgz",
+      "integrity": "sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==",
+      "dev": true,
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
     "node_modules/binary-extensions": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -2183,12 +2187,12 @@
       }
     },
     "node_modules/chromium-bidi": {
-      "version": "0.4.16",
-      "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz",
-      "integrity": "sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==",
+      "version": "0.4.20",
+      "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.20.tgz",
+      "integrity": "sha512-ruHgVZFEv00mAQMz1tQjfjdG63jiPWrQPF6HLlX2ucqLqVTJoWngeBEKHaJ6n1swV/HSvgnBNbtTRIlcVyW3Fw==",
       "dev": true,
       "dependencies": {
-        "mitt": "3.0.0"
+        "mitt": "3.0.1"
       },
       "peerDependencies": {
         "devtools-protocol": "*"
@@ -2679,6 +2683,15 @@
       "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
       "dev": true
     },
+    "node_modules/data-uri-to-buffer": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-5.0.1.tgz",
+      "integrity": "sha512-a9l6T1qqDogvvnw0nKlfZzqsyikEBZBClF39V3TFoKhDtGBqHu2HkuomJc02j5zft8zrUaXEuoicLeW54RkzPg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 14"
+      }
+    },
     "node_modules/date-format": {
       "version": "4.0.7",
       "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.7.tgz",
@@ -2793,6 +2806,68 @@
         "node": ">= 0.4"
       }
     },
+    "node_modules/degenerator": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz",
+      "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==",
+      "dev": true,
+      "dependencies": {
+        "ast-types": "^0.13.4",
+        "escodegen": "^2.1.0",
+        "esprima": "^4.0.1"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/degenerator/node_modules/ast-types": {
+      "version": "0.13.4",
+      "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
+      "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
+      "dev": true,
+      "dependencies": {
+        "tslib": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/degenerator/node_modules/escodegen": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
+      "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
+      "dev": true,
+      "dependencies": {
+        "esprima": "^4.0.1",
+        "estraverse": "^5.2.0",
+        "esutils": "^2.0.2"
+      },
+      "bin": {
+        "escodegen": "bin/escodegen.js",
+        "esgenerate": "bin/esgenerate.js"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "optionalDependencies": {
+        "source-map": "~0.6.1"
+      }
+    },
+    "node_modules/degenerator/node_modules/estraverse": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/degenerator/node_modules/tslib": {
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
+      "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==",
+      "dev": true
+    },
     "node_modules/depd": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@@ -2813,9 +2888,9 @@
       }
     },
     "node_modules/devtools-protocol": {
-      "version": "0.0.1135028",
-      "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1135028.tgz",
-      "integrity": "sha512-jEcNGrh6lOXNRJvZb9RjeevtZGrgugPKSMJZxfyxWQnhlKawMPhMtk/dfC+Z/6xNXExlzTKlY5LzIAK/fRpQIw==",
+      "version": "0.0.1147663",
+      "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
+      "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
       "dev": true
     },
     "node_modules/dezalgo": {
@@ -3527,9 +3602,9 @@
       }
     },
     "node_modules/eslint-visitor-keys": {
-      "version": "3.4.1",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
-      "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
+      "version": "3.4.2",
+      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz",
+      "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==",
       "dev": true,
       "engines": {
         "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -3606,9 +3681,9 @@
       }
     },
     "node_modules/eslint/node_modules/eslint-scope": {
-      "version": "7.2.1",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.1.tgz",
-      "integrity": "sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==",
+      "version": "7.2.2",
+      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+      "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
       "dev": true,
       "dependencies": {
         "esrecurse": "^4.3.0",
@@ -4206,6 +4281,70 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "node_modules/get-uri": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.1.tgz",
+      "integrity": "sha512-7ZqONUVqaabogsYNWlYj0t3YZaL6dhuEueZXGF+/YVmf6dHmaFg8/6psJKqhx9QykIDKzpGcy2cn4oV4YC7V/Q==",
+      "dev": true,
+      "dependencies": {
+        "basic-ftp": "^5.0.2",
+        "data-uri-to-buffer": "^5.0.1",
+        "debug": "^4.3.4",
+        "fs-extra": "^8.1.0"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/get-uri/node_modules/debug": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.1.2"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/get-uri/node_modules/fs-extra": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+      "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^4.0.0",
+        "universalify": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=6 <7 || >=8"
+      }
+    },
+    "node_modules/get-uri/node_modules/jsonfile": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+      "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+      "dev": true,
+      "optionalDependencies": {
+        "graceful-fs": "^4.1.6"
+      }
+    },
+    "node_modules/get-uri/node_modules/universalify": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 4.0.0"
+      }
+    },
     "node_modules/glob": {
       "version": "7.1.7",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
@@ -4646,9 +4785,9 @@
       }
     },
     "node_modules/ip": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
-      "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
+      "version": "1.1.8",
+      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
+      "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==",
       "dev": true
     },
     "node_modules/is-arrayish": {
@@ -5862,9 +6001,9 @@
       }
     },
     "node_modules/mitt": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz",
-      "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
+      "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
       "dev": true
     },
     "node_modules/mkdirp": {
@@ -6103,6 +6242,15 @@
         "node": ">= 0.6"
       }
     },
+    "node_modules/netmask": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz",
+      "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4.0"
+      }
+    },
     "node_modules/nise": {
       "version": "5.1.0",
       "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.0.tgz",
@@ -6379,6 +6527,56 @@
         "node": ">=6"
       }
     },
+    "node_modules/pac-proxy-agent": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.0.tgz",
+      "integrity": "sha512-t4tRAMx0uphnZrio0S0Jw9zg3oDbz1zVhQ/Vy18FjLfP1XOLNUEjaVxYCYRI6NS+BsMBXKIzV6cTLOkO9AtywA==",
+      "dev": true,
+      "dependencies": {
+        "@tootallnate/quickjs-emscripten": "^0.23.0",
+        "agent-base": "^7.0.2",
+        "debug": "^4.3.4",
+        "get-uri": "^6.0.1",
+        "http-proxy-agent": "^7.0.0",
+        "https-proxy-agent": "^7.0.0",
+        "pac-resolver": "^7.0.0",
+        "socks-proxy-agent": "^8.0.1"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/pac-proxy-agent/node_modules/debug": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.1.2"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/pac-resolver": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.0.tgz",
+      "integrity": "sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==",
+      "dev": true,
+      "dependencies": {
+        "degenerator": "^5.0.0",
+        "ip": "^1.1.8",
+        "netmask": "^2.0.2"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
     "node_modules/param-case": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
@@ -7060,6 +7258,51 @@
         "node": ">=0.4.0"
       }
     },
+    "node_modules/proxy-agent": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.0.tgz",
+      "integrity": "sha512-0LdR757eTj/JfuU7TL2YCuAZnxWXu3tkJbg4Oq3geW/qFNT/32T0sp2HnZ9O0lMR4q3vwAt0+xCA8SR0WAD0og==",
+      "dev": true,
+      "dependencies": {
+        "agent-base": "^7.0.2",
+        "debug": "^4.3.4",
+        "http-proxy-agent": "^7.0.0",
+        "https-proxy-agent": "^7.0.0",
+        "lru-cache": "^7.14.1",
+        "pac-proxy-agent": "^7.0.0",
+        "proxy-from-env": "^1.1.0",
+        "socks-proxy-agent": "^8.0.1"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/proxy-agent/node_modules/debug": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.1.2"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/proxy-agent/node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    },
     "node_modules/proxy-from-env": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
@@ -7086,28 +7329,20 @@
       }
     },
     "node_modules/puppeteer-core": {
-      "version": "20.8.2",
-      "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.8.2.tgz",
-      "integrity": "sha512-dWo60gFuFPdNhdabW9MMm6GpvkG6tND2D8FvrZ2MF+HggNApHrvLfbERj8vD6vXKV7UqDAJO0KI1OMo3S3Cm5w==",
+      "version": "21.0.1",
+      "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.0.1.tgz",
+      "integrity": "sha512-E8eWLGhaZZpa7dYe/58qGX7SLb4mTg42NP5M7B+ibPrncgNjTOQa9x1sFIlTn1chF/BmoZqOcMIvwuxcb/9XzQ==",
       "dev": true,
       "dependencies": {
-        "@puppeteer/browsers": "1.4.5",
-        "chromium-bidi": "0.4.16",
+        "@puppeteer/browsers": "1.5.0",
+        "chromium-bidi": "0.4.20",
         "cross-fetch": "4.0.0",
         "debug": "4.3.4",
-        "devtools-protocol": "0.0.1135028",
+        "devtools-protocol": "0.0.1147663",
         "ws": "8.13.0"
       },
       "engines": {
         "node": ">=16.3.0"
-      },
-      "peerDependencies": {
-        "typescript": ">= 4.7.4"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
       }
     },
     "node_modules/puppeteer-core/node_modules/debug": {
@@ -7857,6 +8092,12 @@
         }
       }
     },
+    "node_modules/socks/node_modules/ip": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+      "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
+      "dev": true
+    },
     "node_modules/source-map": {
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -8018,9 +8259,9 @@
       }
     },
     "node_modules/streamx": {
-      "version": "2.15.0",
-      "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.0.tgz",
-      "integrity": "sha512-HcxY6ncGjjklGs1xsP1aR71INYcsXFJet5CU1CHqihQ2J5nOsbd4OjgjHO42w/4QNv9gZb3BueV+Vxok5pLEXg==",
+      "version": "2.15.1",
+      "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz",
+      "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==",
       "dev": true,
       "dependencies": {
         "fast-fifo": "^1.1.0",
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/CLI.js b/node_modules/@puppeteer/browsers/lib/cjs/CLI.js
index a69990a..69cf7ea 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/CLI.js
+++ b/node_modules/@puppeteer/browsers/lib/cjs/CLI.js
@@ -37,21 +37,9 @@
     __setModuleDefault(result, mod);
     return result;
 };
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
 var __importDefault = (this && this.__importDefault) || function (mod) {
     return (mod && mod.__esModule) ? mod : { "default": mod };
 };
-var _CLI_instances, _CLI_cachePath, _CLI_rl, _CLI_defineBrowserParameter, _CLI_definePlatformParameter, _CLI_definePathParameter, _CLI_parseBrowser, _CLI_parseBuildId;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.makeProgressCallback = exports.CLI = void 0;
 const process_1 = require("process");
@@ -68,21 +56,51 @@
  * @public
  */
 class CLI {
+    #cachePath;
+    #rl;
     constructor(cachePath = process.cwd(), rl) {
-        _CLI_instances.add(this);
-        _CLI_cachePath.set(this, void 0);
-        _CLI_rl.set(this, void 0);
-        __classPrivateFieldSet(this, _CLI_cachePath, cachePath, "f");
-        __classPrivateFieldSet(this, _CLI_rl, rl, "f");
+        this.#cachePath = cachePath;
+        this.#rl = rl;
+    }
+    #defineBrowserParameter(yargs) {
+        yargs.positional('browser', {
+            description: 'Which browser to install <browser>[@<buildId|latest>]. `latest` will try to find the latest available build. `buildId` is a browser-specific identifier such as a version or a revision.',
+            type: 'string',
+            coerce: (opt) => {
+                return {
+                    name: this.#parseBrowser(opt),
+                    buildId: this.#parseBuildId(opt),
+                };
+            },
+        });
+    }
+    #definePlatformParameter(yargs) {
+        yargs.option('platform', {
+            type: 'string',
+            desc: 'Platform that the binary needs to be compatible with.',
+            choices: Object.values(browser_data_js_1.BrowserPlatform),
+            defaultDescription: 'Auto-detected',
+        });
+    }
+    #definePathParameter(yargs, required = false) {
+        yargs.option('path', {
+            type: 'string',
+            desc: 'Path to the root folder for the browser downloads and installation. The installation folder structure is compatible with the cache structure used by Puppeteer.',
+            defaultDescription: 'Current working directory',
+            ...(required ? {} : { default: process.cwd() }),
+        });
+        if (required) {
+            yargs.demandOption('path');
+        }
     }
     async run(argv) {
         const yargsInstance = (0, yargs_1.default)((0, helpers_1.hideBin)(argv));
         await yargsInstance
             .scriptName('@puppeteer/browsers')
             .command('install <browser>', 'Download and install the specified browser. If successful, the command outputs the actual browser buildId that was installed and the absolute path to the browser executable (format: <browser>@<buildID> <path>).', yargs => {
-            __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_defineBrowserParameter).call(this, yargs);
-            __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_definePlatformParameter).call(this, yargs);
-            __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_definePathParameter).call(this, yargs);
+            this.#defineBrowserParameter(yargs);
+            this.#definePlatformParameter(yargs);
+            this.#definePathParameter(yargs);
             yargs.option('base-url', {
                 type: 'string',
                 desc: 'Base URL to download from',
@@ -104,21 +122,21 @@
                 browser: args.browser.name,
                 buildId: args.browser.buildId,
                 platform: args.platform,
-                cacheDir: args.path ?? __classPrivateFieldGet(this, _CLI_cachePath, "f"),
+                cacheDir: args.path ?? this.#cachePath,
                 downloadProgressCallback: makeProgressCallback(args.browser.name, args.browser.buildId),
                 baseUrl: args.baseUrl,
             });
             console.log(`${args.browser.name}@${args.browser.buildId} ${(0, launch_js_1.computeExecutablePath)({
                 browser: args.browser.name,
                 buildId: args.browser.buildId,
-                cacheDir: args.path ?? __classPrivateFieldGet(this, _CLI_cachePath, "f"),
+                cacheDir: args.path ?? this.#cachePath,
                 platform: args.platform,
             })}`);
         })
             .command('launch <browser>', 'Launch the specified browser', yargs => {
-            __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_defineBrowserParameter).call(this, yargs);
-            __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_definePlatformParameter).call(this, yargs);
-            __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_definePathParameter).call(this, yargs);
+            this.#defineBrowserParameter(yargs);
+            this.#definePlatformParameter(yargs);
+            this.#definePathParameter(yargs);
             yargs.option('detached', {
                 type: 'boolean',
                 desc: 'Detach the child process.',
@@ -145,7 +163,7 @@
                 : (0, launch_js_1.computeExecutablePath)({
                     browser: args.browser.name,
                     buildId: args.browser.buildId,
-                    cacheDir: args.path ?? __classPrivateFieldGet(this, _CLI_cachePath, "f"),
+                    cacheDir: args.path ?? this.#cachePath,
                     platform: args.platform,
                 });
             (0, launch_js_1.launch)({
@@ -154,11 +172,11 @@
             });
         })
             .command('clear', 'Removes all installed browsers from the specified cache directory', yargs => {
-            __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_definePathParameter).call(this, yargs, true);
+            this.#definePathParameter(yargs, true);
         }, async (argv) => {
             const args = argv;
-            const cacheDir = args.path ?? __classPrivateFieldGet(this, _CLI_cachePath, "f");
-            const rl = __classPrivateFieldGet(this, _CLI_rl, "f") ?? readline.createInterface({ input: process_1.stdin, output: process_1.stdout });
+            const cacheDir = args.path ?? this.#cachePath;
+            const rl = this.#rl ?? readline.createInterface({ input: process_1.stdin, output: process_1.stdout });
             rl.question(`Do you want to permanently and recursively delete the content of ${cacheDir} (yes/No)? `, answer => {
                 rl.close();
                 if (!['y', 'yes'].includes(answer.toLowerCase().trim())) {
@@ -175,42 +193,15 @@
             .wrap(Math.min(120, yargsInstance.terminalWidth()))
             .parse();
     }
+    #parseBrowser(version) {
+        return version.split('@').shift();
+    }
+    #parseBuildId(version) {
+        const parts = version.split('@');
+        return parts.length === 2 ? parts[1] : 'latest';
+    }
 }
 exports.CLI = CLI;
-_CLI_cachePath = new WeakMap(), _CLI_rl = new WeakMap(), _CLI_instances = new WeakSet(), _CLI_defineBrowserParameter = function _CLI_defineBrowserParameter(yargs) {
-    yargs.positional('browser', {
-        description: 'Which browser to install <browser>[@<buildId|latest>]. `latest` will try to find the latest available build. `buildId` is a browser-specific identifier such as a version or a revision.',
-        type: 'string',
-        coerce: (opt) => {
-            return {
-                name: __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_parseBrowser).call(this, opt),
-                buildId: __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_parseBuildId).call(this, opt),
-            };
-        },
-    });
-}, _CLI_definePlatformParameter = function _CLI_definePlatformParameter(yargs) {
-    yargs.option('platform', {
-        type: 'string',
-        desc: 'Platform that the binary needs to be compatible with.',
-        choices: Object.values(browser_data_js_1.BrowserPlatform),
-        defaultDescription: 'Auto-detected',
-    });
-}, _CLI_definePathParameter = function _CLI_definePathParameter(yargs, required = false) {
-    yargs.option('path', {
-        type: 'string',
-        desc: 'Path to the root folder for the browser downloads and installation. The installation folder structure is compatible with the cache structure used by Puppeteer.',
-        defaultDescription: 'Current working directory',
-        ...(required ? {} : { default: process.cwd() }),
-    });
-    if (required) {
-        yargs.demandOption('path');
-    }
-}, _CLI_parseBrowser = function _CLI_parseBrowser(version) {
-    return version.split('@').shift();
-}, _CLI_parseBuildId = function _CLI_parseBuildId(version) {
-    const parts = version.split('@');
-    return parts.length === 2 ? parts[1] : 'latest';
-};
 /**
  * @public
  */
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/CLI.js.map b/node_modules/@puppeteer/browsers/lib/cjs/CLI.js.map
index 442aa37..cf8894e 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/CLI.js.map
+++ b/node_modules/@puppeteer/browsers/lib/cjs/CLI.js.map
@@ -1 +1 @@
-{"version":3,"file":"CLI.js","sourceRoot":"","sources":["../../src/CLI.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"CLI.js","sourceRoot":"","sources":["../../src/CLI.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/Cache.d.ts b/node_modules/@puppeteer/browsers/lib/cjs/Cache.d.ts
index a24786c..4c72bb4 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/Cache.d.ts
+++ b/node_modules/@puppeteer/browsers/lib/cjs/Cache.d.ts
@@ -17,12 +17,22 @@
 /**
  * @public
  */
-export type InstalledBrowser = {
-    path: string;
+export declare class InstalledBrowser {
+    #private;
     browser: Browser;
     buildId: string;
     platform: BrowserPlatform;
-};
+    /**
+     * @internal
+     */
+    constructor(cache: Cache, browser: Browser, buildId: string, platform: BrowserPlatform);
+    /**
+     * Path to the root of the installation folder. Use
+     * {@link computeExecutablePath} to get the path to the executable binary.
+     */
+    get path(): string;
+    get executablePath(): string;
+}
 /**
  * The cache used by Puppeteer relies on the following structure:
  *
@@ -40,6 +50,10 @@
 export declare class Cache {
     #private;
     constructor(rootDir: string);
+    /**
+     * @internal
+     */
+    get rootDir(): string;
     browserRoot(browser: Browser): string;
     installationDir(browser: Browser, platform: BrowserPlatform, buildId: string): string;
     clear(): void;
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/Cache.d.ts.map b/node_modules/@puppeteer/browsers/lib/cjs/Cache.d.ts.map
index ebeedf8..d712d8a 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/Cache.d.ts.map
+++ b/node_modules/@puppeteer/browsers/lib/cjs/Cache.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../src/Cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAC,OAAO,EAAE,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,qBAAa,KAAK;;gBAGJ,OAAO,EAAE,MAAM;IAI3B,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAIrC,eAAe,CACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM;IAIT,KAAK,IAAI,IAAI;IASb,SAAS,CACP,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,IAAI;IASP,oBAAoB,IAAI,gBAAgB,EAAE;CA8B3C"}
\ No newline at end of file
+{"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../src/Cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAC,OAAO,EAAE,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAGxE;;GAEG;AACH,qBAAa,gBAAgB;;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,eAAe,CAAC;IAI1B;;OAEG;gBAED,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,eAAe;IAQ3B;;;OAGG;IACH,IAAI,IAAI,IAAI,MAAM,CAMjB;IAED,IAAI,cAAc,IAAI,MAAM,CAO3B;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,KAAK;;gBAGJ,OAAO,EAAE,MAAM;IAI3B;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAIrC,eAAe,CACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM;IAIT,KAAK,IAAI,IAAI;IASb,SAAS,CACP,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,IAAI;IASP,oBAAoB,IAAI,gBAAgB,EAAE;CA8B3C"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/Cache.js b/node_modules/@puppeteer/browsers/lib/cjs/Cache.js
index c660791..fa0107d 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/Cache.js
+++ b/node_modules/@puppeteer/browsers/lib/cjs/Cache.js
@@ -14,26 +14,49 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
 var __importDefault = (this && this.__importDefault) || function (mod) {
     return (mod && mod.__esModule) ? mod : { "default": mod };
 };
-var _Cache_rootDir;
 Object.defineProperty(exports, "__esModule", { value: true });
-exports.Cache = void 0;
+exports.Cache = exports.InstalledBrowser = void 0;
 const fs_1 = __importDefault(require("fs"));
 const path_1 = __importDefault(require("path"));
 const browser_data_js_1 = require("./browser-data/browser-data.js");
+const launch_js_1 = require("./launch.js");
+/**
+ * @public
+ */
+class InstalledBrowser {
+    browser;
+    buildId;
+    platform;
+    #cache;
+    /**
+     * @internal
+     */
+    constructor(cache, browser, buildId, platform) {
+        this.#cache = cache;
+        this.browser = browser;
+        this.buildId = buildId;
+        this.platform = platform;
+    }
+    /**
+     * Path to the root of the installation folder. Use
+     * {@link computeExecutablePath} to get the path to the executable binary.
+     */
+    get path() {
+        return this.#cache.installationDir(this.browser, this.platform, this.buildId);
+    }
+    get executablePath() {
+        return (0, launch_js_1.computeExecutablePath)({
+            cacheDir: this.#cache.rootDir,
+            platform: this.platform,
+            browser: this.browser,
+            buildId: this.buildId,
+        });
+    }
+}
+exports.InstalledBrowser = InstalledBrowser;
 /**
  * The cache used by Puppeteer relies on the following structure:
  *
@@ -49,18 +72,24 @@
  *   @internal
  */
 class Cache {
+    #rootDir;
     constructor(rootDir) {
-        _Cache_rootDir.set(this, void 0);
-        __classPrivateFieldSet(this, _Cache_rootDir, rootDir, "f");
+        this.#rootDir = rootDir;
+    }
+    /**
+     * @internal
+     */
+    get rootDir() {
+        return this.#rootDir;
     }
     browserRoot(browser) {
-        return path_1.default.join(__classPrivateFieldGet(this, _Cache_rootDir, "f"), browser);
+        return path_1.default.join(this.#rootDir, browser);
     }
     installationDir(browser, platform, buildId) {
         return path_1.default.join(this.browserRoot(browser), `${platform}-${buildId}`);
     }
     clear() {
-        fs_1.default.rmSync(__classPrivateFieldGet(this, _Cache_rootDir, "f"), {
+        fs_1.default.rmSync(this.#rootDir, {
             force: true,
             recursive: true,
             maxRetries: 10,
@@ -76,10 +105,10 @@
         });
     }
     getInstalledBrowsers() {
-        if (!fs_1.default.existsSync(__classPrivateFieldGet(this, _Cache_rootDir, "f"))) {
+        if (!fs_1.default.existsSync(this.#rootDir)) {
             return [];
         }
-        const types = fs_1.default.readdirSync(__classPrivateFieldGet(this, _Cache_rootDir, "f"));
+        const types = fs_1.default.readdirSync(this.#rootDir);
         const browsers = types.filter((t) => {
             return Object.values(browser_data_js_1.Browser).includes(t);
         });
@@ -91,12 +120,7 @@
                 if (!result) {
                     return null;
                 }
-                return {
-                    path: path_1.default.join(this.browserRoot(browser), file),
-                    browser,
-                    platform: result.platform,
-                    buildId: result.buildId,
-                };
+                return new InstalledBrowser(this, browser, result.buildId, result.platform);
             })
                 .filter((item) => {
                 return item !== null;
@@ -105,7 +129,6 @@
     }
 }
 exports.Cache = Cache;
-_Cache_rootDir = new WeakMap();
 function parseFolderPath(folderPath) {
     const name = path_1.default.basename(folderPath);
     const splits = name.split('-');
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/Cache.js.map b/node_modules/@puppeteer/browsers/lib/cjs/Cache.js.map
index c7e0a9c..37d3682 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/Cache.js.map
+++ b/node_modules/@puppeteer/browsers/lib/cjs/Cache.js.map
@@ -1 +1 @@
-{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../src/Cache.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../src/Cache.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.d.ts.map b/node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.d.ts.map
index 33a0b8c..57c5eb6 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.d.ts.map
+++ b/node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../../src/browser-data/chrome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,EAAC,eAAe,EAAE,oBAAoB,EAAC,MAAM,YAAY,CAAC;AAiBjE,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,SAAgE,GACtE,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAEV;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,MAAM,CAiBR;AAED,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC,CAuB9C;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CAwCR"}
\ No newline at end of file
+{"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../../src/browser-data/chrome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,EAAC,eAAe,EAAE,oBAAoB,EAAC,MAAM,YAAY,CAAC;AAiBjE,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,SAAgE,GACtE,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAEV;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,MAAM,CAiBR;AAED,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC,CAqB9C;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CAwCR"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.js.map b/node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.js.map
index cb3ea14..9544a04 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.js.map
+++ b/node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.js.map
@@ -1 +1 @@
-{"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../../src/browser-data/chrome.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../../src/browser-data/chrome.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.d.ts.map b/node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.d.ts.map
index 00a8c3f..3dbfa8b 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.d.ts.map
+++ b/node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"firefox.d.ts","sourceRoot":"","sources":["../../../src/browser-data/firefox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,YAAY,CAAC;AAe3D,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,SAA2E,GACjF,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAEV;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,MAAM,CAWR;AAED,wBAAsB,cAAc,CAClC,OAAO,GAAE,iBAAqC,GAC7C,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAa1E"}
\ No newline at end of file
+{"version":3,"file":"firefox.d.ts","sourceRoot":"","sources":["../../../src/browser-data/firefox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,YAAY,CAAC;AAe3D,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,SAA2E,GACjF,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAEV;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,MAAM,CAWR;AAED,wBAAsB,cAAc,CAClC,OAAO,GAAE,iBAAqC,GAC7C,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAa1E"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.js b/node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.js
index e789bde..cd33f20 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.js
+++ b/node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.js
@@ -131,9 +131,8 @@
         'browser.tabs.warnOnCloseOtherTabs': false,
         // Do not warn when multiple tabs will be opened
         'browser.tabs.warnOnOpen': false,
-        // Disable page translations, which can cause issues with tests.
-        // See https://bugzilla.mozilla.org/show_bug.cgi?id=1836093.
-        'browser.translations.enable': false,
+        // Do not automatically offer translations, as tests do not expect this.
+        'browser.translations.automaticallyPopup': false,
         // Disable the UI tour.
         'browser.uitour.enabled': false,
         // Turn off search suggestions in the location bar so as not to trigger
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.js.map b/node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.js.map
index 5da0484..aa2e4b3 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.js.map
+++ b/node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.js.map
@@ -1 +1 @@
-{"version":3,"file":"firefox.js","sourceRoot":"","sources":["../../../src/browser-data/firefox.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"firefox.js","sourceRoot":"","sources":["../../../src/browser-data/firefox.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/httpUtil.d.ts.map b/node_modules/@puppeteer/browsers/lib/cjs/httpUtil.d.ts.map
index b9a6b32..5996fa8 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/httpUtil.d.ts.map
+++ b/node_modules/@puppeteer/browsers/lib/cjs/httpUtil.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"httpUtil.d.ts","sourceRoot":"","sources":["../../src/httpUtil.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;AAGH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAC,GAAG,EAAmB,MAAM,KAAK,CAAC;AAO1C,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAc1D;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,KAAK,IAAI,EAC3C,SAAS,UAAO,GACf,IAAI,CAAC,aAAa,CA4CpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,GAAG,EACR,eAAe,EAAE,MAAM,EACvB,gBAAgB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,GACvE,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAOxD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BjD"}
\ No newline at end of file
+{"version":3,"file":"httpUtil.d.ts","sourceRoot":"","sources":["../../src/httpUtil.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;AAGH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAC,GAAG,EAAmB,MAAM,KAAK,CAAC;AAI1C,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB1D;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,KAAK,IAAI,EAC3C,SAAS,UAAO,GACf,IAAI,CAAC,aAAa,CA8BpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,GAAG,EACR,eAAe,EAAE,MAAM,EACvB,gBAAgB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,GACvE,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAOxD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BjD"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/httpUtil.js b/node_modules/@puppeteer/browsers/lib/cjs/httpUtil.js
index 898cf14..2d3ff4b 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/httpUtil.js
+++ b/node_modules/@puppeteer/browsers/lib/cjs/httpUtil.js
@@ -43,13 +43,12 @@
 const http = __importStar(require("http"));
 const https = __importStar(require("https"));
 const url_1 = require("url");
-const http_proxy_agent_1 = require("http-proxy-agent");
-const https_proxy_agent_1 = require("https-proxy-agent");
-const proxy_from_env_1 = require("proxy-from-env");
-const socks_proxy_agent_1 = require("socks-proxy-agent");
+const proxy_agent_1 = require("proxy-agent");
 function headHttpRequest(url) {
     return new Promise(resolve => {
         const request = httpRequest(url, 'HEAD', response => {
+            // consume response data free node process
+            response.resume();
             resolve(response.statusCode === 200);
         }, false);
         request.on('error', () => {
@@ -59,20 +58,6 @@
 }
 exports.headHttpRequest = headHttpRequest;
 function httpRequest(url, method, response, keepAlive = true) {
-    const proxy = (0, proxy_from_env_1.getProxyForUrl)(url.toString());
-    let agent;
-    if (proxy) {
-        const proxyUrl = new url_1.URL(proxy);
-        if (proxyUrl.protocol === 'http:') {
-            agent = new http_proxy_agent_1.HttpProxyAgent(proxyUrl);
-        }
-        else if (proxyUrl.protocol === 'https:') {
-            agent = new https_proxy_agent_1.HttpsProxyAgent(proxyUrl);
-        }
-        else if (proxyUrl.protocol.startsWith('socks')) {
-            agent = new socks_proxy_agent_1.SocksProxyAgent(proxyUrl);
-        }
-    }
     const options = {
         protocol: url.protocol,
         hostname: url.hostname,
@@ -81,7 +66,7 @@
         method,
         headers: keepAlive ? { Connection: 'keep-alive' } : undefined,
         auth: (0, url_1.urlToHttpOptions)(url).auth,
-        agent,
+        agent: new proxy_agent_1.ProxyAgent(),
     };
     const requestCallback = (res) => {
         if (res.statusCode &&
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/httpUtil.js.map b/node_modules/@puppeteer/browsers/lib/cjs/httpUtil.js.map
index 714ccf5..9636320 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/httpUtil.js.map
+++ b/node_modules/@puppeteer/browsers/lib/cjs/httpUtil.js.map
@@ -1 +1 @@
-{"version":3,"file":"httpUtil.js","sourceRoot":"","sources":["../../src/httpUtil.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"httpUtil.js","sourceRoot":"","sources":["../../src/httpUtil.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/install.d.ts b/node_modules/@puppeteer/browsers/lib/cjs/install.d.ts
index 0cd67bc..68fb99d 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/install.d.ts
+++ b/node_modules/@puppeteer/browsers/lib/cjs/install.d.ts
@@ -62,7 +62,12 @@
 /**
  * @public
  */
-export declare function install(options: InstallOptions): Promise<InstalledBrowser>;
+export declare function install(options: InstallOptions & {
+    unpack?: true;
+}): Promise<InstalledBrowser>;
+export declare function install(options: InstallOptions & {
+    unpack: false;
+}): Promise<string>;
 /**
  * @public
  */
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/install.d.ts.map b/node_modules/@puppeteer/browsers/lib/cjs/install.d.ts.map
index 90b8f99..4a825e7 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/install.d.ts.map
+++ b/node_modules/@puppeteer/browsers/lib/cjs/install.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,EACL,OAAO,EACP,eAAe,EAEhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAQ,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAwBnD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,wBAAwB,CAAC,EAAE,CACzB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,KACf,IAAI,CAAC;IACV;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAoF3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAaxE;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAE7B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAe3E"}
\ No newline at end of file
+{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,EACL,OAAO,EACP,eAAe,EAEhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAQ,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAwBnD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,wBAAwB,CAAC,EAAE,CACzB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,KACf,IAAI,CAAC;IACV;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,OAAO,EAAE,cAAc,GAAG;IAAC,MAAM,CAAC,EAAE,IAAI,CAAA;CAAC,GACxC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC7B,wBAAgB,OAAO,CACrB,OAAO,EAAE,cAAc,GAAG;IAAC,MAAM,EAAE,KAAK,CAAA;CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CAAC;AA+EnB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAaxE;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAE7B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAe3E"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/install.js b/node_modules/@puppeteer/browsers/lib/cjs/install.js
index c04e031..acf87b2 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/install.js
+++ b/node_modules/@puppeteer/browsers/lib/cjs/install.js
@@ -44,9 +44,6 @@
     const duration = end[0] * 1000 + end[1] / 1e6 - (start[0] * 1000 + start[1] / 1e6); // calculate duration in milliseconds
     debugInstall(`Duration for ${label}: ${duration}ms`);
 }
-/**
- * @public
- */
 async function install(options) {
     options.platform ??= (0, detectPlatform_js_1.detectBrowserPlatform)();
     options.unpack ??= true;
@@ -56,40 +53,25 @@
     const url = getDownloadUrl(options.browser, options.platform, options.buildId, options.baseUrl);
     const fileName = url.toString().split('/').pop();
     (0, assert_1.default)(fileName, `A malformed download URL was found: ${url}.`);
-    const structure = new Cache_js_1.Cache(options.cacheDir);
-    const browserRoot = structure.browserRoot(options.browser);
+    const cache = new Cache_js_1.Cache(options.cacheDir);
+    const browserRoot = cache.browserRoot(options.browser);
     const archivePath = path_1.default.join(browserRoot, fileName);
     if (!(0, fs_1.existsSync)(browserRoot)) {
         await (0, promises_1.mkdir)(browserRoot, { recursive: true });
     }
     if (!options.unpack) {
         if ((0, fs_1.existsSync)(archivePath)) {
-            return {
-                path: archivePath,
-                browser: options.browser,
-                platform: options.platform,
-                buildId: options.buildId,
-            };
+            return archivePath;
         }
         debugInstall(`Downloading binary from ${url}`);
         debugTime('download');
         await (0, httpUtil_js_1.downloadFile)(url, archivePath, options.downloadProgressCallback);
         debugTimeEnd('download');
-        return {
-            path: archivePath,
-            browser: options.browser,
-            platform: options.platform,
-            buildId: options.buildId,
-        };
+        return archivePath;
     }
-    const outputPath = structure.installationDir(options.browser, options.platform, options.buildId);
+    const outputPath = cache.installationDir(options.browser, options.platform, options.buildId);
     if ((0, fs_1.existsSync)(outputPath)) {
-        return {
-            path: outputPath,
-            browser: options.browser,
-            platform: options.platform,
-            buildId: options.buildId,
-        };
+        return new Cache_js_1.InstalledBrowser(cache, options.browser, options.buildId, options.platform);
     }
     try {
         debugInstall(`Downloading binary from ${url}`);
@@ -114,12 +96,7 @@
             await (0, promises_1.unlink)(archivePath);
         }
     }
-    return {
-        path: outputPath,
-        browser: options.browser,
-        platform: options.platform,
-        buildId: options.buildId,
-    };
+    return new Cache_js_1.InstalledBrowser(cache, options.browser, options.buildId, options.platform);
 }
 exports.install = install;
 /**
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/install.js.map b/node_modules/@puppeteer/browsers/lib/cjs/install.js.map
index cbba14f..53c67aa 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/install.js.map
+++ b/node_modules/@puppeteer/browsers/lib/cjs/install.js.map
@@ -1 +1 @@
-{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/install.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,oDAA4B;AAC5B,2BAA8B;AAC9B,0CAA0C;AAC1C,4CAAoB;AACpB,gDAAwB;AAExB,oEAIwC;AACxC,yCAAmD;AACnD,yCAAiC;AACjC,2DAA0D;AAC1D,+CAA4C;AAC5C,+CAA4D;AAE5D,MAAM,YAAY,GAAG,IAAA,gBAAK,EAAC,4BAA4B,CAAC,CAAC;AAEzD,MAAM,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAC;AAClD,SAAS,SAAS,CAAC,KAAa;IAC9B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE;QACV,OAAO;KACR;IACD,MAAM,QAAQ,GACZ,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,qCAAqC;IAC1G,YAAY,CAAC,gBAAgB,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC;AACvD,CAAC;AAkDD;;GAEG;AACI,KAAK,UAAU,OAAO,CAC3B,OAAuB;IAEvB,OAAO,CAAC,QAAQ,KAAK,IAAA,yCAAqB,GAAE,CAAC;IAC7C,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;IACxB,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,uDAAuD,YAAE,CAAC,QAAQ,EAAE,KAAK,YAAE,CAAC,IAAI,EAAE,GAAG,CACtF,CAAC;KACH;IACD,MAAM,GAAG,GAAG,cAAc,CACxB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,CAChB,CAAC;IACF,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACjD,IAAA,gBAAM,EAAC,QAAQ,EAAE,uCAAuC,GAAG,GAAG,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,IAAI,gBAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE;QAC5B,MAAM,IAAA,gBAAK,EAAC,WAAW,EAAE,EAAC,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;KAC7C;IAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACnB,IAAI,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE;YAC3B,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;aACzB,CAAC;SACH;QACD,YAAY,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;QAC/C,SAAS,CAAC,UAAU,CAAC,CAAC;QACtB,MAAM,IAAA,0BAAY,EAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;QACvE,YAAY,CAAC,UAAU,CAAC,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;KACH;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,eAAe,CAC1C,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,OAAO,CAChB,CAAC;IACF,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE;QAC1B,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;KACH;IACD,IAAI;QACF,YAAY,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;QAC/C,IAAI;YACF,SAAS,CAAC,UAAU,CAAC,CAAC;YACtB,MAAM,IAAA,0BAAY,EAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,wBAAwB,CAAC,CAAC;SACxE;gBAAS;YACR,YAAY,CAAC,UAAU,CAAC,CAAC;SAC1B;QAED,YAAY,CAAC,cAAc,WAAW,OAAO,UAAU,EAAE,CAAC,CAAC;QAC3D,IAAI;YACF,SAAS,CAAC,SAAS,CAAC,CAAC;YACrB,MAAM,IAAA,2BAAa,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;SAC9C;gBAAS;YACR,YAAY,CAAC,SAAS,CAAC,CAAC;SACzB;KACF;YAAS;QACR,IAAI,IAAA,eAAU,EAAC,WAAW,CAAC,EAAE;YAC3B,MAAM,IAAA,iBAAM,EAAC,WAAW,CAAC,CAAC;SAC3B;KACF;IACD,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;AACJ,CAAC;AAtFD,0BAsFC;AA0BD;;;GAGG;AACI,KAAK,UAAU,SAAS,CAAC,OAAyB;IACvD,OAAO,CAAC,QAAQ,KAAK,IAAA,yCAAqB,GAAE,CAAC;IAC7C,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,2CAA2C,YAAE,CAAC,QAAQ,EAAE,KAAK,YAAE,CAAC,IAAI,EAAE,GAAG,CAC1E,CAAC;KACH;IAED,IAAI,gBAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,SAAS,CACnC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,OAAO,CAChB,CAAC;AACJ,CAAC;AAbD,8BAaC;AAYD;;;;GAIG;AACI,KAAK,UAAU,oBAAoB,CACxC,OAAoC;IAEpC,OAAO,IAAI,gBAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,oBAAoB,EAAE,CAAC;AAC5D,CAAC;AAJD,oDAIC;AAED;;GAEG;AACI,KAAK,UAAU,WAAW,CAAC,OAAuB;IACvD,OAAO,CAAC,QAAQ,KAAK,IAAA,yCAAqB,GAAE,CAAC;IAC7C,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,uDAAuD,YAAE,CAAC,QAAQ,EAAE,KAAK,YAAE,CAAC,IAAI,EAAE,GAAG,CACtF,CAAC;KACH;IACD,OAAO,MAAM,IAAA,6BAAe,EAC1B,cAAc,CACZ,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,CAChB,CACF,CAAC;AACJ,CAAC;AAfD,kCAeC;AAED,SAAS,cAAc,CACrB,OAAgB,EAChB,QAAyB,EACzB,OAAe,EACf,OAAgB;IAEhB,OAAO,IAAI,GAAG,CAAC,8BAAY,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AACpE,CAAC"}
\ No newline at end of file
+{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/install.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/launch.d.ts b/node_modules/@puppeteer/browsers/lib/cjs/launch.d.ts
index 6e66af7..f60e2b9 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/launch.d.ts
+++ b/node_modules/@puppeteer/browsers/lib/cjs/launch.d.ts
@@ -71,7 +71,7 @@
 /**
  * @public
  */
-export type LaunchOptions = {
+export interface LaunchOptions {
     executablePath: string;
     pipe?: boolean;
     dumpio?: boolean;
@@ -82,7 +82,7 @@
     handleSIGHUP?: boolean;
     detached?: boolean;
     onExit?: () => Promise<void>;
-};
+}
 /**
  * @public
  */
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/launch.d.ts.map b/node_modules/@puppeteer/browsers/lib/cjs/launch.d.ts.map
index 8f52699..eacb5f1 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/launch.d.ts.map
+++ b/node_modules/@puppeteer/browsers/lib/cjs/launch.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/launch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,OAAO,YAAY,MAAM,eAAe,CAAC;AAMzC,OAAO,EACL,OAAO,EACP,eAAe,EAGf,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AAOxC;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,4BAA4B,GACpC,MAAM,CAgBR;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,oBAAoB,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAoB1E;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,eAAO,MAAM,4BAA4B,QACF,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,uCAAuC,QACP,CAAC;AAE9C;;GAEG;AACH,qBAAa,OAAO;;gBAYN,IAAI,EAAE,aAAa;IA8E/B,IAAI,WAAW,IAAI,YAAY,CAAC,YAAY,CAE3C;IA4CK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,IAAI,IAAI,IAAI;IAwDZ,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,OAAO,CAAC,MAAM,CAAC;CA+D/D;AAuBD;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,KAAK;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,SAAS,CAI1D;AACD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,cAAc,CAK3E;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC;;OAEG;gBACS,OAAO,CAAC,EAAE,MAAM;CAK7B"}
\ No newline at end of file
+{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/launch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,OAAO,YAAY,MAAM,eAAe,CAAC;AAMzC,OAAO,EACL,OAAO,EACP,eAAe,EAGf,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AAOxC;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,4BAA4B,GACpC,MAAM,CAgBR;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,oBAAoB,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAoB1E;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,eAAO,MAAM,4BAA4B,QACF,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,uCAAuC,QACP,CAAC;AAE9C;;GAEG;AACH,qBAAa,OAAO;;gBAYN,IAAI,EAAE,aAAa;IA8E/B,IAAI,WAAW,IAAI,YAAY,CAAC,YAAY,CAE3C;IA4CK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,IAAI,IAAI,IAAI;IAwDZ,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,OAAO,CAAC,MAAM,CAAC;CA+D/D;AAuBD;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,KAAK;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,SAAS,CAI1D;AACD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,cAAc,CAK3E;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC;;OAEG;gBACS,OAAO,CAAC,EAAE,MAAM;CAK7B"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/launch.js b/node_modules/@puppeteer/browsers/lib/cjs/launch.js
index e213225..160d439 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/launch.js
+++ b/node_modules/@puppeteer/browsers/lib/cjs/launch.js
@@ -14,21 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
 var __importDefault = (this && this.__importDefault) || function (mod) {
     return (mod && mod.__esModule) ? mod : { "default": mod };
 };
-var _Process_instances, _Process_executablePath, _Process_args, _Process_browserProcess, _Process_exited, _Process_hooksRan, _Process_onExitHook, _Process_browserProcessExiting, _Process_runHooks, _Process_configureStdio, _Process_clearListeners, _Process_onDriverProcessExit, _Process_onDriverProcessSignal;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.TimeoutError = exports.isErrnoException = exports.isErrorLike = exports.Process = exports.WEBDRIVER_BIDI_WEBSOCKET_ENDPOINT_REGEX = exports.CDP_WEBSOCKET_ENDPOINT_REGEX = exports.launch = exports.computeSystemExecutablePath = exports.computeExecutablePath = void 0;
 const child_process_1 = __importDefault(require("child_process"));
@@ -90,34 +78,19 @@
  * @public
  */
 class Process {
+    #executablePath;
+    #args;
+    #browserProcess;
+    #exited = false;
+    // The browser process can be closed externally or from the driver process. We
+    // need to invoke the hooks only once though but we don't know how many times
+    // we will be invoked.
+    #hooksRan = false;
+    #onExitHook = async () => { };
+    #browserProcessExiting;
     constructor(opts) {
-        _Process_instances.add(this);
-        _Process_executablePath.set(this, void 0);
-        _Process_args.set(this, void 0);
-        _Process_browserProcess.set(this, void 0);
-        _Process_exited.set(this, false);
-        // The browser process can be closed externally or from the driver process. We
-        // need to invoke the hooks only once though but we don't know how many times
-        // we will be invoked.
-        _Process_hooksRan.set(this, false);
-        _Process_onExitHook.set(this, async () => { });
-        _Process_browserProcessExiting.set(this, void 0);
-        _Process_onDriverProcessExit.set(this, (_code) => {
-            this.kill();
-        });
-        _Process_onDriverProcessSignal.set(this, (signal) => {
-            switch (signal) {
-                case 'SIGINT':
-                    this.kill();
-                    process.exit(130);
-                case 'SIGTERM':
-                case 'SIGHUP':
-                    void this.close();
-                    break;
-            }
-        });
-        __classPrivateFieldSet(this, _Process_executablePath, opts.executablePath, "f");
-        __classPrivateFieldSet(this, _Process_args, opts.args ?? [], "f");
+        this.#executablePath = opts.executablePath;
+        this.#args = opts.args ?? [];
         opts.pipe ??= false;
         opts.dumpio ??= false;
         opts.handleSIGINT ??= true;
@@ -128,45 +101,45 @@
         // process tree with `.kill(-pid)` command. @see
         // https://nodejs.org/api/child_process.html#child_process_options_detached
         opts.detached ??= process.platform !== 'win32';
-        const stdio = __classPrivateFieldGet(this, _Process_instances, "m", _Process_configureStdio).call(this, {
+        const stdio = this.#configureStdio({
             pipe: opts.pipe,
             dumpio: opts.dumpio,
         });
-        debugLaunch(`Launching ${__classPrivateFieldGet(this, _Process_executablePath, "f")} ${__classPrivateFieldGet(this, _Process_args, "f").join(' ')}`, {
+        debugLaunch(`Launching ${this.#executablePath} ${this.#args.join(' ')}`, {
             detached: opts.detached,
             env: opts.env,
             stdio,
         });
-        __classPrivateFieldSet(this, _Process_browserProcess, child_process_1.default.spawn(__classPrivateFieldGet(this, _Process_executablePath, "f"), __classPrivateFieldGet(this, _Process_args, "f"), {
+        this.#browserProcess = child_process_1.default.spawn(this.#executablePath, this.#args, {
             detached: opts.detached,
             env: opts.env,
             stdio,
-        }), "f");
-        debugLaunch(`Launched ${__classPrivateFieldGet(this, _Process_browserProcess, "f").pid}`);
+        });
+        debugLaunch(`Launched ${this.#browserProcess.pid}`);
         if (opts.dumpio) {
-            __classPrivateFieldGet(this, _Process_browserProcess, "f").stderr?.pipe(process.stderr);
-            __classPrivateFieldGet(this, _Process_browserProcess, "f").stdout?.pipe(process.stdout);
+            this.#browserProcess.stderr?.pipe(process.stderr);
+            this.#browserProcess.stdout?.pipe(process.stdout);
         }
-        process.on('exit', __classPrivateFieldGet(this, _Process_onDriverProcessExit, "f"));
+        process.on('exit', this.#onDriverProcessExit);
         if (opts.handleSIGINT) {
-            process.on('SIGINT', __classPrivateFieldGet(this, _Process_onDriverProcessSignal, "f"));
+            process.on('SIGINT', this.#onDriverProcessSignal);
         }
         if (opts.handleSIGTERM) {
-            process.on('SIGTERM', __classPrivateFieldGet(this, _Process_onDriverProcessSignal, "f"));
+            process.on('SIGTERM', this.#onDriverProcessSignal);
         }
         if (opts.handleSIGHUP) {
-            process.on('SIGHUP', __classPrivateFieldGet(this, _Process_onDriverProcessSignal, "f"));
+            process.on('SIGHUP', this.#onDriverProcessSignal);
         }
         if (opts.onExit) {
-            __classPrivateFieldSet(this, _Process_onExitHook, opts.onExit, "f");
+            this.#onExitHook = opts.onExit;
         }
-        __classPrivateFieldSet(this, _Process_browserProcessExiting, new Promise((resolve, reject) => {
-            __classPrivateFieldGet(this, _Process_browserProcess, "f").once('exit', async () => {
-                debugLaunch(`Browser process ${__classPrivateFieldGet(this, _Process_browserProcess, "f").pid} onExit`);
-                __classPrivateFieldGet(this, _Process_instances, "m", _Process_clearListeners).call(this);
-                __classPrivateFieldSet(this, _Process_exited, true, "f");
+        this.#browserProcessExiting = new Promise((resolve, reject) => {
+            this.#browserProcess.once('exit', async () => {
+                debugLaunch(`Browser process ${this.#browserProcess.pid} onExit`);
+                this.#clearListeners();
+                this.#exited = true;
                 try {
-                    await __classPrivateFieldGet(this, _Process_instances, "m", _Process_runHooks).call(this);
+                    await this.#runHooks();
                 }
                 catch (err) {
                     reject(err);
@@ -174,56 +147,101 @@
                 }
                 resolve();
             });
-        }), "f");
+        });
+    }
+    async #runHooks() {
+        if (this.#hooksRan) {
+            return;
+        }
+        this.#hooksRan = true;
+        await this.#onExitHook();
     }
     get nodeProcess() {
-        return __classPrivateFieldGet(this, _Process_browserProcess, "f");
+        return this.#browserProcess;
     }
+    #configureStdio(opts) {
+        if (opts.pipe) {
+            if (opts.dumpio) {
+                return ['ignore', 'pipe', 'pipe', 'pipe', 'pipe'];
+            }
+            else {
+                return ['ignore', 'ignore', 'ignore', 'pipe', 'pipe'];
+            }
+        }
+        else {
+            if (opts.dumpio) {
+                return ['pipe', 'pipe', 'pipe'];
+            }
+            else {
+                return ['pipe', 'ignore', 'pipe'];
+            }
+        }
+    }
+    #clearListeners() {
+        process.off('exit', this.#onDriverProcessExit);
+        process.off('SIGINT', this.#onDriverProcessSignal);
+        process.off('SIGTERM', this.#onDriverProcessSignal);
+        process.off('SIGHUP', this.#onDriverProcessSignal);
+    }
+    #onDriverProcessExit = (_code) => {
+        this.kill();
+    };
+    #onDriverProcessSignal = (signal) => {
+        switch (signal) {
+            case 'SIGINT':
+                this.kill();
+                process.exit(130);
+            case 'SIGTERM':
+            case 'SIGHUP':
+                void this.close();
+                break;
+        }
+    };
     async close() {
-        await __classPrivateFieldGet(this, _Process_instances, "m", _Process_runHooks).call(this);
-        if (!__classPrivateFieldGet(this, _Process_exited, "f")) {
+        await this.#runHooks();
+        if (!this.#exited) {
             this.kill();
         }
-        return __classPrivateFieldGet(this, _Process_browserProcessExiting, "f");
+        return this.#browserProcessExiting;
     }
     hasClosed() {
-        return __classPrivateFieldGet(this, _Process_browserProcessExiting, "f");
+        return this.#browserProcessExiting;
     }
     kill() {
-        debugLaunch(`Trying to kill ${__classPrivateFieldGet(this, _Process_browserProcess, "f").pid}`);
+        debugLaunch(`Trying to kill ${this.#browserProcess.pid}`);
         // If the process failed to launch (for example if the browser executable path
         // is invalid), then the process does not get a pid assigned. A call to
         // `proc.kill` would error, as the `pid` to-be-killed can not be found.
-        if (__classPrivateFieldGet(this, _Process_browserProcess, "f") &&
-            __classPrivateFieldGet(this, _Process_browserProcess, "f").pid &&
-            pidExists(__classPrivateFieldGet(this, _Process_browserProcess, "f").pid)) {
+        if (this.#browserProcess &&
+            this.#browserProcess.pid &&
+            pidExists(this.#browserProcess.pid)) {
             try {
-                debugLaunch(`Browser process ${__classPrivateFieldGet(this, _Process_browserProcess, "f").pid} exists`);
+                debugLaunch(`Browser process ${this.#browserProcess.pid} exists`);
                 if (process.platform === 'win32') {
                     try {
-                        child_process_1.default.execSync(`taskkill /pid ${__classPrivateFieldGet(this, _Process_browserProcess, "f").pid} /T /F`);
+                        child_process_1.default.execSync(`taskkill /pid ${this.#browserProcess.pid} /T /F`);
                     }
                     catch (error) {
-                        debugLaunch(`Killing ${__classPrivateFieldGet(this, _Process_browserProcess, "f").pid} using taskkill failed`, error);
+                        debugLaunch(`Killing ${this.#browserProcess.pid} using taskkill failed`, error);
                         // taskkill can fail to kill the process e.g. due to missing permissions.
                         // Let's kill the process via Node API. This delays killing of all child
                         // processes of `this.proc` until the main Node.js process dies.
-                        __classPrivateFieldGet(this, _Process_browserProcess, "f").kill();
+                        this.#browserProcess.kill();
                     }
                 }
                 else {
                     // on linux the process group can be killed with the group id prefixed with
                     // a minus sign. The process group id is the group leader's pid.
-                    const processGroupId = -__classPrivateFieldGet(this, _Process_browserProcess, "f").pid;
+                    const processGroupId = -this.#browserProcess.pid;
                     try {
                         process.kill(processGroupId, 'SIGKILL');
                     }
                     catch (error) {
-                        debugLaunch(`Killing ${__classPrivateFieldGet(this, _Process_browserProcess, "f").pid} using process.kill failed`, error);
+                        debugLaunch(`Killing ${this.#browserProcess.pid} using process.kill failed`, error);
                         // Killing the process group can fail due e.g. to missing permissions.
                         // Let's kill the process via Node API. This delays killing of all child
                         // processes of `this.proc` until the main Node.js process dies.
-                        __classPrivateFieldGet(this, _Process_browserProcess, "f").kill('SIGKILL');
+                        this.#browserProcess.kill('SIGKILL');
                     }
                 }
             }
@@ -231,19 +249,19 @@
                 throw new Error(`${PROCESS_ERROR_EXPLANATION}\nError cause: ${isErrorLike(error) ? error.stack : error}`);
             }
         }
-        __classPrivateFieldGet(this, _Process_instances, "m", _Process_clearListeners).call(this);
+        this.#clearListeners();
     }
     waitForLineOutput(regex, timeout = 0) {
-        if (!__classPrivateFieldGet(this, _Process_browserProcess, "f").stderr) {
+        if (!this.#browserProcess.stderr) {
             throw new Error('`browserProcess` does not have stderr.');
         }
-        const rl = readline_1.default.createInterface(__classPrivateFieldGet(this, _Process_browserProcess, "f").stderr);
+        const rl = readline_1.default.createInterface(this.#browserProcess.stderr);
         let stderr = '';
         return new Promise((resolve, reject) => {
             rl.on('line', onLine);
             rl.on('close', onClose);
-            __classPrivateFieldGet(this, _Process_browserProcess, "f").on('exit', onClose);
-            __classPrivateFieldGet(this, _Process_browserProcess, "f").on('error', onClose);
+            this.#browserProcess.on('exit', onClose);
+            this.#browserProcess.on('error', onClose);
             const timeoutId = timeout > 0 ? setTimeout(onTimeout, timeout) : undefined;
             const cleanup = () => {
                 if (timeoutId) {
@@ -251,8 +269,8 @@
                 }
                 rl.off('line', onLine);
                 rl.off('close', onClose);
-                __classPrivateFieldGet(this, _Process_browserProcess, "f").off('exit', onClose);
-                __classPrivateFieldGet(this, _Process_browserProcess, "f").off('error', onClose);
+                this.#browserProcess.off('exit', onClose);
+                this.#browserProcess.off('error', onClose);
             };
             function onClose(error) {
                 cleanup();
@@ -282,35 +300,6 @@
     }
 }
 exports.Process = Process;
-_Process_executablePath = new WeakMap(), _Process_args = new WeakMap(), _Process_browserProcess = new WeakMap(), _Process_exited = new WeakMap(), _Process_hooksRan = new WeakMap(), _Process_onExitHook = new WeakMap(), _Process_browserProcessExiting = new WeakMap(), _Process_onDriverProcessExit = new WeakMap(), _Process_onDriverProcessSignal = new WeakMap(), _Process_instances = new WeakSet(), _Process_runHooks = async function _Process_runHooks() {
-    if (__classPrivateFieldGet(this, _Process_hooksRan, "f")) {
-        return;
-    }
-    __classPrivateFieldSet(this, _Process_hooksRan, true, "f");
-    await __classPrivateFieldGet(this, _Process_onExitHook, "f").call(this);
-}, _Process_configureStdio = function _Process_configureStdio(opts) {
-    if (opts.pipe) {
-        if (opts.dumpio) {
-            return ['ignore', 'pipe', 'pipe', 'pipe', 'pipe'];
-        }
-        else {
-            return ['ignore', 'ignore', 'ignore', 'pipe', 'pipe'];
-        }
-    }
-    else {
-        if (opts.dumpio) {
-            return ['pipe', 'pipe', 'pipe'];
-        }
-        else {
-            return ['pipe', 'ignore', 'pipe'];
-        }
-    }
-}, _Process_clearListeners = function _Process_clearListeners() {
-    process.off('exit', __classPrivateFieldGet(this, _Process_onDriverProcessExit, "f"));
-    process.off('SIGINT', __classPrivateFieldGet(this, _Process_onDriverProcessSignal, "f"));
-    process.off('SIGTERM', __classPrivateFieldGet(this, _Process_onDriverProcessSignal, "f"));
-    process.off('SIGHUP', __classPrivateFieldGet(this, _Process_onDriverProcessSignal, "f"));
-};
 const PROCESS_ERROR_EXPLANATION = `Puppeteer was unable to kill the process which ran the browser binary.
 This means that, on future Puppeteer launches, Puppeteer might not be able to launch the browser.
 Please check your open processes and ensure that the browser processes that Puppeteer launched have been killed.
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/launch.js.map b/node_modules/@puppeteer/browsers/lib/cjs/launch.js.map
index 8b53d72..e71e31f 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/launch.js.map
+++ b/node_modules/@puppeteer/browsers/lib/cjs/launch.js.map
@@ -1 +1 @@
-{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/launch.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/launch.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/main.js b/node_modules/@puppeteer/browsers/lib/cjs/main.js
index 7141ed7..5a172d5 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/main.js
+++ b/node_modules/@puppeteer/browsers/lib/cjs/main.js
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 Object.defineProperty(exports, "__esModule", { value: true });
-exports.Cache = exports.makeProgressCallback = exports.CLI = exports.createProfile = exports.ChromeReleaseChannel = exports.BrowserPlatform = exports.Browser = exports.resolveBuildId = exports.detectBrowserPlatform = exports.uninstall = exports.canDownload = exports.getInstalledBrowsers = exports.install = exports.Process = exports.WEBDRIVER_BIDI_WEBSOCKET_ENDPOINT_REGEX = exports.CDP_WEBSOCKET_ENDPOINT_REGEX = exports.TimeoutError = exports.computeSystemExecutablePath = exports.computeExecutablePath = exports.launch = void 0;
+exports.InstalledBrowser = exports.Cache = exports.makeProgressCallback = exports.CLI = exports.createProfile = exports.ChromeReleaseChannel = exports.BrowserPlatform = exports.Browser = exports.resolveBuildId = exports.detectBrowserPlatform = exports.uninstall = exports.canDownload = exports.getInstalledBrowsers = exports.install = exports.Process = exports.WEBDRIVER_BIDI_WEBSOCKET_ENDPOINT_REGEX = exports.CDP_WEBSOCKET_ENDPOINT_REGEX = exports.TimeoutError = exports.computeSystemExecutablePath = exports.computeExecutablePath = exports.launch = void 0;
 var launch_js_1 = require("./launch.js");
 Object.defineProperty(exports, "launch", { enumerable: true, get: function () { return launch_js_1.launch; } });
 Object.defineProperty(exports, "computeExecutablePath", { enumerable: true, get: function () { return launch_js_1.computeExecutablePath; } });
@@ -42,4 +42,5 @@
 Object.defineProperty(exports, "makeProgressCallback", { enumerable: true, get: function () { return CLI_js_1.makeProgressCallback; } });
 var Cache_js_1 = require("./Cache.js");
 Object.defineProperty(exports, "Cache", { enumerable: true, get: function () { return Cache_js_1.Cache; } });
+Object.defineProperty(exports, "InstalledBrowser", { enumerable: true, get: function () { return Cache_js_1.InstalledBrowser; } });
 //# sourceMappingURL=main.js.map
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/cjs/main.js.map b/node_modules/@puppeteer/browsers/lib/cjs/main.js.map
index c76030a..b548a5c 100644
--- a/node_modules/@puppeteer/browsers/lib/cjs/main.js.map
+++ b/node_modules/@puppeteer/browsers/lib/cjs/main.js.map
@@ -1 +1 @@
-{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,yCAWqB;AAVnB,mGAAA,MAAM,OAAA;AACN,kHAAA,qBAAqB,OAAA;AACrB,wHAAA,2BAA2B,OAAA;AAC3B,yGAAA,YAAY,OAAA;AAIZ,yHAAA,4BAA4B,OAAA;AAC5B,oIAAA,uCAAuC,OAAA;AACvC,oGAAA,OAAO,OAAA;AAET,2CAQsB;AAPpB,qGAAA,OAAO,OAAA;AACP,kHAAA,oBAAoB,OAAA;AACpB,yGAAA,WAAW,OAAA;AACX,uGAAA,SAAS,OAAA;AAKX,yDAA0D;AAAlD,0HAAA,qBAAqB,OAAA;AAC7B,kEAOwC;AANtC,iHAAA,cAAc,OAAA;AACd,0GAAA,OAAO,OAAA;AACP,kHAAA,eAAe,OAAA;AACf,uHAAA,oBAAoB,OAAA;AACpB,gHAAA,aAAa,OAAA;AAGf,mCAAmD;AAA3C,6FAAA,GAAG,OAAA;AAAE,8GAAA,oBAAoB,OAAA;AACjC,uCAAmD;AAA3C,iGAAA,KAAK,OAAA"}
\ No newline at end of file
+{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,yCAWqB;AAVnB,mGAAA,MAAM,OAAA;AACN,kHAAA,qBAAqB,OAAA;AACrB,wHAAA,2BAA2B,OAAA;AAC3B,yGAAA,YAAY,OAAA;AAIZ,yHAAA,4BAA4B,OAAA;AAC5B,oIAAA,uCAAuC,OAAA;AACvC,oGAAA,OAAO,OAAA;AAET,2CAQsB;AAPpB,qGAAA,OAAO,OAAA;AACP,kHAAA,oBAAoB,OAAA;AACpB,yGAAA,WAAW,OAAA;AACX,uGAAA,SAAS,OAAA;AAKX,yDAA0D;AAAlD,0HAAA,qBAAqB,OAAA;AAC7B,kEAOwC;AANtC,iHAAA,cAAc,OAAA;AACd,0GAAA,OAAO,OAAA;AACP,kHAAA,eAAe,OAAA;AACf,uHAAA,oBAAoB,OAAA;AACpB,gHAAA,aAAa,OAAA;AAGf,mCAAmD;AAA3C,6FAAA,GAAG,OAAA;AAAE,8GAAA,oBAAoB,OAAA;AACjC,uCAAmD;AAA3C,iGAAA,KAAK,OAAA;AAAE,4GAAA,gBAAgB,OAAA"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/esm/CLI.js b/node_modules/@puppeteer/browsers/lib/esm/CLI.js
index 0371791..965e085 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/CLI.js
+++ b/node_modules/@puppeteer/browsers/lib/esm/CLI.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _CLI_instances, _CLI_cachePath, _CLI_rl, _CLI_defineBrowserParameter, _CLI_definePlatformParameter, _CLI_definePathParameter, _CLI_parseBrowser, _CLI_parseBuildId;
 import { stdin as input, stdout as output } from 'process';
 import * as readline from 'readline';
 import ProgressBar from 'progress';
@@ -39,21 +27,51 @@
  * @public
  */
 export class CLI {
+    #cachePath;
+    #rl;
     constructor(cachePath = process.cwd(), rl) {
-        _CLI_instances.add(this);
-        _CLI_cachePath.set(this, void 0);
-        _CLI_rl.set(this, void 0);
-        __classPrivateFieldSet(this, _CLI_cachePath, cachePath, "f");
-        __classPrivateFieldSet(this, _CLI_rl, rl, "f");
+        this.#cachePath = cachePath;
+        this.#rl = rl;
+    }
+    #defineBrowserParameter(yargs) {
+        yargs.positional('browser', {
+            description: 'Which browser to install <browser>[@<buildId|latest>]. `latest` will try to find the latest available build. `buildId` is a browser-specific identifier such as a version or a revision.',
+            type: 'string',
+            coerce: (opt) => {
+                return {
+                    name: this.#parseBrowser(opt),
+                    buildId: this.#parseBuildId(opt),
+                };
+            },
+        });
+    }
+    #definePlatformParameter(yargs) {
+        yargs.option('platform', {
+            type: 'string',
+            desc: 'Platform that the binary needs to be compatible with.',
+            choices: Object.values(BrowserPlatform),
+            defaultDescription: 'Auto-detected',
+        });
+    }
+    #definePathParameter(yargs, required = false) {
+        yargs.option('path', {
+            type: 'string',
+            desc: 'Path to the root folder for the browser downloads and installation. The installation folder structure is compatible with the cache structure used by Puppeteer.',
+            defaultDescription: 'Current working directory',
+            ...(required ? {} : { default: process.cwd() }),
+        });
+        if (required) {
+            yargs.demandOption('path');
+        }
     }
     async run(argv) {
         const yargsInstance = yargs(hideBin(argv));
         await yargsInstance
             .scriptName('@puppeteer/browsers')
             .command('install <browser>', 'Download and install the specified browser. If successful, the command outputs the actual browser buildId that was installed and the absolute path to the browser executable (format: <browser>@<buildID> <path>).', yargs => {
-            __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_defineBrowserParameter).call(this, yargs);
-            __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_definePlatformParameter).call(this, yargs);
-            __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_definePathParameter).call(this, yargs);
+            this.#defineBrowserParameter(yargs);
+            this.#definePlatformParameter(yargs);
+            this.#definePathParameter(yargs);
             yargs.option('base-url', {
                 type: 'string',
                 desc: 'Base URL to download from',
@@ -75,21 +93,21 @@
                 browser: args.browser.name,
                 buildId: args.browser.buildId,
                 platform: args.platform,
-                cacheDir: args.path ?? __classPrivateFieldGet(this, _CLI_cachePath, "f"),
+                cacheDir: args.path ?? this.#cachePath,
                 downloadProgressCallback: makeProgressCallback(args.browser.name, args.browser.buildId),
                 baseUrl: args.baseUrl,
             });
             console.log(`${args.browser.name}@${args.browser.buildId} ${computeExecutablePath({
                 browser: args.browser.name,
                 buildId: args.browser.buildId,
-                cacheDir: args.path ?? __classPrivateFieldGet(this, _CLI_cachePath, "f"),
+                cacheDir: args.path ?? this.#cachePath,
                 platform: args.platform,
             })}`);
         })
             .command('launch <browser>', 'Launch the specified browser', yargs => {
-            __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_defineBrowserParameter).call(this, yargs);
-            __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_definePlatformParameter).call(this, yargs);
-            __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_definePathParameter).call(this, yargs);
+            this.#defineBrowserParameter(yargs);
+            this.#definePlatformParameter(yargs);
+            this.#definePathParameter(yargs);
             yargs.option('detached', {
                 type: 'boolean',
                 desc: 'Detach the child process.',
@@ -116,7 +134,7 @@
                 : computeExecutablePath({
                     browser: args.browser.name,
                     buildId: args.browser.buildId,
-                    cacheDir: args.path ?? __classPrivateFieldGet(this, _CLI_cachePath, "f"),
+                    cacheDir: args.path ?? this.#cachePath,
                     platform: args.platform,
                 });
             launch({
@@ -125,11 +143,11 @@
             });
         })
             .command('clear', 'Removes all installed browsers from the specified cache directory', yargs => {
-            __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_definePathParameter).call(this, yargs, true);
+            this.#definePathParameter(yargs, true);
         }, async (argv) => {
             const args = argv;
-            const cacheDir = args.path ?? __classPrivateFieldGet(this, _CLI_cachePath, "f");
-            const rl = __classPrivateFieldGet(this, _CLI_rl, "f") ?? readline.createInterface({ input, output });
+            const cacheDir = args.path ?? this.#cachePath;
+            const rl = this.#rl ?? readline.createInterface({ input, output });
             rl.question(`Do you want to permanently and recursively delete the content of ${cacheDir} (yes/No)? `, answer => {
                 rl.close();
                 if (!['y', 'yes'].includes(answer.toLowerCase().trim())) {
@@ -146,41 +164,14 @@
             .wrap(Math.min(120, yargsInstance.terminalWidth()))
             .parse();
     }
-}
-_CLI_cachePath = new WeakMap(), _CLI_rl = new WeakMap(), _CLI_instances = new WeakSet(), _CLI_defineBrowserParameter = function _CLI_defineBrowserParameter(yargs) {
-    yargs.positional('browser', {
-        description: 'Which browser to install <browser>[@<buildId|latest>]. `latest` will try to find the latest available build. `buildId` is a browser-specific identifier such as a version or a revision.',
-        type: 'string',
-        coerce: (opt) => {
-            return {
-                name: __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_parseBrowser).call(this, opt),
-                buildId: __classPrivateFieldGet(this, _CLI_instances, "m", _CLI_parseBuildId).call(this, opt),
-            };
-        },
-    });
-}, _CLI_definePlatformParameter = function _CLI_definePlatformParameter(yargs) {
-    yargs.option('platform', {
-        type: 'string',
-        desc: 'Platform that the binary needs to be compatible with.',
-        choices: Object.values(BrowserPlatform),
-        defaultDescription: 'Auto-detected',
-    });
-}, _CLI_definePathParameter = function _CLI_definePathParameter(yargs, required = false) {
-    yargs.option('path', {
-        type: 'string',
-        desc: 'Path to the root folder for the browser downloads and installation. The installation folder structure is compatible with the cache structure used by Puppeteer.',
-        defaultDescription: 'Current working directory',
-        ...(required ? {} : { default: process.cwd() }),
-    });
-    if (required) {
-        yargs.demandOption('path');
+    #parseBrowser(version) {
+        return version.split('@').shift();
     }
-}, _CLI_parseBrowser = function _CLI_parseBrowser(version) {
-    return version.split('@').shift();
-}, _CLI_parseBuildId = function _CLI_parseBuildId(version) {
-    const parts = version.split('@');
-    return parts.length === 2 ? parts[1] : 'latest';
-};
+    #parseBuildId(version) {
+        const parts = version.split('@');
+        return parts.length === 2 ? parts[1] : 'latest';
+    }
+}
 /**
  * @public
  */
diff --git a/node_modules/@puppeteer/browsers/lib/esm/CLI.js.map b/node_modules/@puppeteer/browsers/lib/esm/CLI.js.map
index c4f1b45..3b5f522 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/CLI.js.map
+++ b/node_modules/@puppeteer/browsers/lib/esm/CLI.js.map
@@ -1 +1 @@
-{"version":3,"file":"CLI.js","sourceRoot":"","sources":["../../src/CLI.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"CLI.js","sourceRoot":"","sources":["../../src/CLI.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/esm/Cache.d.ts b/node_modules/@puppeteer/browsers/lib/esm/Cache.d.ts
index a24786c..4c72bb4 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/Cache.d.ts
+++ b/node_modules/@puppeteer/browsers/lib/esm/Cache.d.ts
@@ -17,12 +17,22 @@
 /**
  * @public
  */
-export type InstalledBrowser = {
-    path: string;
+export declare class InstalledBrowser {
+    #private;
     browser: Browser;
     buildId: string;
     platform: BrowserPlatform;
-};
+    /**
+     * @internal
+     */
+    constructor(cache: Cache, browser: Browser, buildId: string, platform: BrowserPlatform);
+    /**
+     * Path to the root of the installation folder. Use
+     * {@link computeExecutablePath} to get the path to the executable binary.
+     */
+    get path(): string;
+    get executablePath(): string;
+}
 /**
  * The cache used by Puppeteer relies on the following structure:
  *
@@ -40,6 +50,10 @@
 export declare class Cache {
     #private;
     constructor(rootDir: string);
+    /**
+     * @internal
+     */
+    get rootDir(): string;
     browserRoot(browser: Browser): string;
     installationDir(browser: Browser, platform: BrowserPlatform, buildId: string): string;
     clear(): void;
diff --git a/node_modules/@puppeteer/browsers/lib/esm/Cache.d.ts.map b/node_modules/@puppeteer/browsers/lib/esm/Cache.d.ts.map
index ebeedf8..d712d8a 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/Cache.d.ts.map
+++ b/node_modules/@puppeteer/browsers/lib/esm/Cache.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../src/Cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAC,OAAO,EAAE,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,qBAAa,KAAK;;gBAGJ,OAAO,EAAE,MAAM;IAI3B,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAIrC,eAAe,CACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM;IAIT,KAAK,IAAI,IAAI;IASb,SAAS,CACP,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,IAAI;IASP,oBAAoB,IAAI,gBAAgB,EAAE;CA8B3C"}
\ No newline at end of file
+{"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../src/Cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAC,OAAO,EAAE,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAGxE;;GAEG;AACH,qBAAa,gBAAgB;;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,eAAe,CAAC;IAI1B;;OAEG;gBAED,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,eAAe;IAQ3B;;;OAGG;IACH,IAAI,IAAI,IAAI,MAAM,CAMjB;IAED,IAAI,cAAc,IAAI,MAAM,CAO3B;CACF;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,KAAK;;gBAGJ,OAAO,EAAE,MAAM;IAI3B;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IAIrC,eAAe,CACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM;IAIT,KAAK,IAAI,IAAI;IASb,SAAS,CACP,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,IAAI;IASP,oBAAoB,IAAI,gBAAgB,EAAE;CA8B3C"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/esm/Cache.js b/node_modules/@puppeteer/browsers/lib/esm/Cache.js
index f3ba686..a9df98f 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/Cache.js
+++ b/node_modules/@puppeteer/browsers/lib/esm/Cache.js
@@ -13,21 +13,43 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Cache_rootDir;
 import fs from 'fs';
 import path from 'path';
 import { Browser } from './browser-data/browser-data.js';
+import { computeExecutablePath } from './launch.js';
+/**
+ * @public
+ */
+export class InstalledBrowser {
+    browser;
+    buildId;
+    platform;
+    #cache;
+    /**
+     * @internal
+     */
+    constructor(cache, browser, buildId, platform) {
+        this.#cache = cache;
+        this.browser = browser;
+        this.buildId = buildId;
+        this.platform = platform;
+    }
+    /**
+     * Path to the root of the installation folder. Use
+     * {@link computeExecutablePath} to get the path to the executable binary.
+     */
+    get path() {
+        return this.#cache.installationDir(this.browser, this.platform, this.buildId);
+    }
+    get executablePath() {
+        return computeExecutablePath({
+            cacheDir: this.#cache.rootDir,
+            platform: this.platform,
+            browser: this.browser,
+            buildId: this.buildId,
+        });
+    }
+}
 /**
  * The cache used by Puppeteer relies on the following structure:
  *
@@ -43,18 +65,24 @@
  *   @internal
  */
 export class Cache {
+    #rootDir;
     constructor(rootDir) {
-        _Cache_rootDir.set(this, void 0);
-        __classPrivateFieldSet(this, _Cache_rootDir, rootDir, "f");
+        this.#rootDir = rootDir;
+    }
+    /**
+     * @internal
+     */
+    get rootDir() {
+        return this.#rootDir;
     }
     browserRoot(browser) {
-        return path.join(__classPrivateFieldGet(this, _Cache_rootDir, "f"), browser);
+        return path.join(this.#rootDir, browser);
     }
     installationDir(browser, platform, buildId) {
         return path.join(this.browserRoot(browser), `${platform}-${buildId}`);
     }
     clear() {
-        fs.rmSync(__classPrivateFieldGet(this, _Cache_rootDir, "f"), {
+        fs.rmSync(this.#rootDir, {
             force: true,
             recursive: true,
             maxRetries: 10,
@@ -70,10 +98,10 @@
         });
     }
     getInstalledBrowsers() {
-        if (!fs.existsSync(__classPrivateFieldGet(this, _Cache_rootDir, "f"))) {
+        if (!fs.existsSync(this.#rootDir)) {
             return [];
         }
-        const types = fs.readdirSync(__classPrivateFieldGet(this, _Cache_rootDir, "f"));
+        const types = fs.readdirSync(this.#rootDir);
         const browsers = types.filter((t) => {
             return Object.values(Browser).includes(t);
         });
@@ -85,12 +113,7 @@
                 if (!result) {
                     return null;
                 }
-                return {
-                    path: path.join(this.browserRoot(browser), file),
-                    browser,
-                    platform: result.platform,
-                    buildId: result.buildId,
-                };
+                return new InstalledBrowser(this, browser, result.buildId, result.platform);
             })
                 .filter((item) => {
                 return item !== null;
@@ -98,7 +121,6 @@
         });
     }
 }
-_Cache_rootDir = new WeakMap();
 function parseFolderPath(folderPath) {
     const name = path.basename(folderPath);
     const splits = name.split('-');
diff --git a/node_modules/@puppeteer/browsers/lib/esm/Cache.js.map b/node_modules/@puppeteer/browsers/lib/esm/Cache.js.map
index 511ae02..10c0bc2 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/Cache.js.map
+++ b/node_modules/@puppeteer/browsers/lib/esm/Cache.js.map
@@ -1 +1 @@
-{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../src/Cache.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Cache.js","sourceRoot":"","sources":["../../src/Cache.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/esm/browser-data/chrome.d.ts.map b/node_modules/@puppeteer/browsers/lib/esm/browser-data/chrome.d.ts.map
index 33a0b8c..57c5eb6 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/browser-data/chrome.d.ts.map
+++ b/node_modules/@puppeteer/browsers/lib/esm/browser-data/chrome.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../../src/browser-data/chrome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,EAAC,eAAe,EAAE,oBAAoB,EAAC,MAAM,YAAY,CAAC;AAiBjE,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,SAAgE,GACtE,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAEV;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,MAAM,CAiBR;AAED,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC,CAuB9C;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CAwCR"}
\ No newline at end of file
+{"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../../src/browser-data/chrome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,EAAC,eAAe,EAAE,oBAAoB,EAAC,MAAM,YAAY,CAAC;AAiBjE,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,SAAgE,GACtE,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAEV;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,MAAM,CAiBR;AAED,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC,CAqB9C;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CAwCR"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/esm/browser-data/chrome.js.map b/node_modules/@puppeteer/browsers/lib/esm/browser-data/chrome.js.map
index 2717e30..8160514 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/browser-data/chrome.js.map
+++ b/node_modules/@puppeteer/browsers/lib/esm/browser-data/chrome.js.map
@@ -1 +1 @@
-{"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../../src/browser-data/chrome.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../../src/browser-data/chrome.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/esm/browser-data/firefox.d.ts.map b/node_modules/@puppeteer/browsers/lib/esm/browser-data/firefox.d.ts.map
index 00a8c3f..3dbfa8b 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/browser-data/firefox.d.ts.map
+++ b/node_modules/@puppeteer/browsers/lib/esm/browser-data/firefox.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"firefox.d.ts","sourceRoot":"","sources":["../../../src/browser-data/firefox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,YAAY,CAAC;AAe3D,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,SAA2E,GACjF,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAEV;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,MAAM,CAWR;AAED,wBAAsB,cAAc,CAClC,OAAO,GAAE,iBAAqC,GAC7C,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAa1E"}
\ No newline at end of file
+{"version":3,"file":"firefox.d.ts","sourceRoot":"","sources":["../../../src/browser-data/firefox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,EAAC,eAAe,EAAE,cAAc,EAAC,MAAM,YAAY,CAAC;AAe3D,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,SAA2E,GACjF,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAEV;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,MAAM,CAWR;AAED,wBAAsB,cAAc,CAClC,OAAO,GAAE,iBAAqC,GAC7C,OAAO,CAAC,MAAM,CAAC,CASjB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAa1E"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/esm/browser-data/firefox.js b/node_modules/@puppeteer/browsers/lib/esm/browser-data/firefox.js
index 3423cf2..fbd73a9 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/browser-data/firefox.js
+++ b/node_modules/@puppeteer/browsers/lib/esm/browser-data/firefox.js
@@ -120,9 +120,8 @@
         'browser.tabs.warnOnCloseOtherTabs': false,
         // Do not warn when multiple tabs will be opened
         'browser.tabs.warnOnOpen': false,
-        // Disable page translations, which can cause issues with tests.
-        // See https://bugzilla.mozilla.org/show_bug.cgi?id=1836093.
-        'browser.translations.enable': false,
+        // Do not automatically offer translations, as tests do not expect this.
+        'browser.translations.automaticallyPopup': false,
         // Disable the UI tour.
         'browser.uitour.enabled': false,
         // Turn off search suggestions in the location bar so as not to trigger
diff --git a/node_modules/@puppeteer/browsers/lib/esm/browser-data/firefox.js.map b/node_modules/@puppeteer/browsers/lib/esm/browser-data/firefox.js.map
index 8c3895a..a362e0c 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/browser-data/firefox.js.map
+++ b/node_modules/@puppeteer/browsers/lib/esm/browser-data/firefox.js.map
@@ -1 +1 @@
-{"version":3,"file":"firefox.js","sourceRoot":"","sources":["../../../src/browser-data/firefox.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"firefox.js","sourceRoot":"","sources":["../../../src/browser-data/firefox.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/esm/httpUtil.d.ts.map b/node_modules/@puppeteer/browsers/lib/esm/httpUtil.d.ts.map
index b9a6b32..5996fa8 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/httpUtil.d.ts.map
+++ b/node_modules/@puppeteer/browsers/lib/esm/httpUtil.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"httpUtil.d.ts","sourceRoot":"","sources":["../../src/httpUtil.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;AAGH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAC,GAAG,EAAmB,MAAM,KAAK,CAAC;AAO1C,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAc1D;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,KAAK,IAAI,EAC3C,SAAS,UAAO,GACf,IAAI,CAAC,aAAa,CA4CpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,GAAG,EACR,eAAe,EAAE,MAAM,EACvB,gBAAgB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,GACvE,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAOxD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BjD"}
\ No newline at end of file
+{"version":3,"file":"httpUtil.d.ts","sourceRoot":"","sources":["../../src/httpUtil.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;AAGH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,EAAC,GAAG,EAAmB,MAAM,KAAK,CAAC;AAI1C,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB1D;AAED,wBAAgB,WAAW,CACzB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,eAAe,KAAK,IAAI,EAC3C,SAAS,UAAO,GACf,IAAI,CAAC,aAAa,CA8BpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,GAAG,EACR,eAAe,EAAE,MAAM,EACvB,gBAAgB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,GACvE,OAAO,CAAC,IAAI,CAAC,CAqCf;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAOxD;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CA2BjD"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/esm/httpUtil.js b/node_modules/@puppeteer/browsers/lib/esm/httpUtil.js
index d67dc09..cf95ab2 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/httpUtil.js
+++ b/node_modules/@puppeteer/browsers/lib/esm/httpUtil.js
@@ -17,13 +17,12 @@
 import * as http from 'http';
 import * as https from 'https';
 import { URL, urlToHttpOptions } from 'url';
-import { HttpProxyAgent } from 'http-proxy-agent';
-import { HttpsProxyAgent } from 'https-proxy-agent';
-import { getProxyForUrl } from 'proxy-from-env';
-import { SocksProxyAgent } from 'socks-proxy-agent';
+import { ProxyAgent } from 'proxy-agent';
 export function headHttpRequest(url) {
     return new Promise(resolve => {
         const request = httpRequest(url, 'HEAD', response => {
+            // consume response data free node process
+            response.resume();
             resolve(response.statusCode === 200);
         }, false);
         request.on('error', () => {
@@ -32,20 +31,6 @@
     });
 }
 export function httpRequest(url, method, response, keepAlive = true) {
-    const proxy = getProxyForUrl(url.toString());
-    let agent;
-    if (proxy) {
-        const proxyUrl = new URL(proxy);
-        if (proxyUrl.protocol === 'http:') {
-            agent = new HttpProxyAgent(proxyUrl);
-        }
-        else if (proxyUrl.protocol === 'https:') {
-            agent = new HttpsProxyAgent(proxyUrl);
-        }
-        else if (proxyUrl.protocol.startsWith('socks')) {
-            agent = new SocksProxyAgent(proxyUrl);
-        }
-    }
     const options = {
         protocol: url.protocol,
         hostname: url.hostname,
@@ -54,7 +39,7 @@
         method,
         headers: keepAlive ? { Connection: 'keep-alive' } : undefined,
         auth: urlToHttpOptions(url).auth,
-        agent,
+        agent: new ProxyAgent(),
     };
     const requestCallback = (res) => {
         if (res.statusCode &&
diff --git a/node_modules/@puppeteer/browsers/lib/esm/httpUtil.js.map b/node_modules/@puppeteer/browsers/lib/esm/httpUtil.js.map
index e2ad09a..99d6637 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/httpUtil.js.map
+++ b/node_modules/@puppeteer/browsers/lib/esm/httpUtil.js.map
@@ -1 +1 @@
-{"version":3,"file":"httpUtil.js","sourceRoot":"","sources":["../../src/httpUtil.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"httpUtil.js","sourceRoot":"","sources":["../../src/httpUtil.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/esm/install.d.ts b/node_modules/@puppeteer/browsers/lib/esm/install.d.ts
index 0cd67bc..68fb99d 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/install.d.ts
+++ b/node_modules/@puppeteer/browsers/lib/esm/install.d.ts
@@ -62,7 +62,12 @@
 /**
  * @public
  */
-export declare function install(options: InstallOptions): Promise<InstalledBrowser>;
+export declare function install(options: InstallOptions & {
+    unpack?: true;
+}): Promise<InstalledBrowser>;
+export declare function install(options: InstallOptions & {
+    unpack: false;
+}): Promise<string>;
 /**
  * @public
  */
diff --git a/node_modules/@puppeteer/browsers/lib/esm/install.d.ts.map b/node_modules/@puppeteer/browsers/lib/esm/install.d.ts.map
index 90b8f99..4a825e7 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/install.d.ts.map
+++ b/node_modules/@puppeteer/browsers/lib/esm/install.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,EACL,OAAO,EACP,eAAe,EAEhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAQ,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAwBnD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,wBAAwB,CAAC,EAAE,CACzB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,KACf,IAAI,CAAC;IACV;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,gBAAgB,CAAC,CAoF3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAaxE;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAE7B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAe3E"}
\ No newline at end of file
+{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,OAAO,EACL,OAAO,EACP,eAAe,EAEhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAQ,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAwBnD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,wBAAwB,CAAC,EAAE,CACzB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,KACf,IAAI,CAAC;IACV;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,OAAO,EAAE,cAAc,GAAG;IAAC,MAAM,CAAC,EAAE,IAAI,CAAA;CAAC,GACxC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC7B,wBAAgB,OAAO,CACrB,OAAO,EAAE,cAAc,GAAG;IAAC,MAAM,EAAE,KAAK,CAAA;CAAC,GACxC,OAAO,CAAC,MAAM,CAAC,CAAC;AA+EnB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAaxE;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAE7B;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAe3E"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/esm/install.js b/node_modules/@puppeteer/browsers/lib/esm/install.js
index 60a7224..646b4a7 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/install.js
+++ b/node_modules/@puppeteer/browsers/lib/esm/install.js
@@ -19,7 +19,7 @@
 import os from 'os';
 import path from 'path';
 import { downloadUrls, } from './browser-data/browser-data.js';
-import { Cache } from './Cache.js';
+import { Cache, InstalledBrowser } from './Cache.js';
 import { debug } from './debug.js';
 import { detectBrowserPlatform } from './detectPlatform.js';
 import { unpackArchive } from './fileUtil.js';
@@ -38,9 +38,6 @@
     const duration = end[0] * 1000 + end[1] / 1e6 - (start[0] * 1000 + start[1] / 1e6); // calculate duration in milliseconds
     debugInstall(`Duration for ${label}: ${duration}ms`);
 }
-/**
- * @public
- */
 export async function install(options) {
     options.platform ??= detectBrowserPlatform();
     options.unpack ??= true;
@@ -50,40 +47,25 @@
     const url = getDownloadUrl(options.browser, options.platform, options.buildId, options.baseUrl);
     const fileName = url.toString().split('/').pop();
     assert(fileName, `A malformed download URL was found: ${url}.`);
-    const structure = new Cache(options.cacheDir);
-    const browserRoot = structure.browserRoot(options.browser);
+    const cache = new Cache(options.cacheDir);
+    const browserRoot = cache.browserRoot(options.browser);
     const archivePath = path.join(browserRoot, fileName);
     if (!existsSync(browserRoot)) {
         await mkdir(browserRoot, { recursive: true });
     }
     if (!options.unpack) {
         if (existsSync(archivePath)) {
-            return {
-                path: archivePath,
-                browser: options.browser,
-                platform: options.platform,
-                buildId: options.buildId,
-            };
+            return archivePath;
         }
         debugInstall(`Downloading binary from ${url}`);
         debugTime('download');
         await downloadFile(url, archivePath, options.downloadProgressCallback);
         debugTimeEnd('download');
-        return {
-            path: archivePath,
-            browser: options.browser,
-            platform: options.platform,
-            buildId: options.buildId,
-        };
+        return archivePath;
     }
-    const outputPath = structure.installationDir(options.browser, options.platform, options.buildId);
+    const outputPath = cache.installationDir(options.browser, options.platform, options.buildId);
     if (existsSync(outputPath)) {
-        return {
-            path: outputPath,
-            browser: options.browser,
-            platform: options.platform,
-            buildId: options.buildId,
-        };
+        return new InstalledBrowser(cache, options.browser, options.buildId, options.platform);
     }
     try {
         debugInstall(`Downloading binary from ${url}`);
@@ -108,12 +90,7 @@
             await unlink(archivePath);
         }
     }
-    return {
-        path: outputPath,
-        browser: options.browser,
-        platform: options.platform,
-        buildId: options.buildId,
-    };
+    return new InstalledBrowser(cache, options.browser, options.buildId, options.platform);
 }
 /**
  *
diff --git a/node_modules/@puppeteer/browsers/lib/esm/install.js.map b/node_modules/@puppeteer/browsers/lib/esm/install.js.map
index cd7dd29..9713e8b 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/install.js.map
+++ b/node_modules/@puppeteer/browsers/lib/esm/install.js.map
@@ -1 +1 @@
-{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/install.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/install.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/esm/launch.d.ts b/node_modules/@puppeteer/browsers/lib/esm/launch.d.ts
index 6e66af7..f60e2b9 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/launch.d.ts
+++ b/node_modules/@puppeteer/browsers/lib/esm/launch.d.ts
@@ -71,7 +71,7 @@
 /**
  * @public
  */
-export type LaunchOptions = {
+export interface LaunchOptions {
     executablePath: string;
     pipe?: boolean;
     dumpio?: boolean;
@@ -82,7 +82,7 @@
     handleSIGHUP?: boolean;
     detached?: boolean;
     onExit?: () => Promise<void>;
-};
+}
 /**
  * @public
  */
diff --git a/node_modules/@puppeteer/browsers/lib/esm/launch.d.ts.map b/node_modules/@puppeteer/browsers/lib/esm/launch.d.ts.map
index 8f52699..eacb5f1 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/launch.d.ts.map
+++ b/node_modules/@puppeteer/browsers/lib/esm/launch.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/launch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,OAAO,YAAY,MAAM,eAAe,CAAC;AAMzC,OAAO,EACL,OAAO,EACP,eAAe,EAGf,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AAOxC;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,4BAA4B,GACpC,MAAM,CAgBR;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,oBAAoB,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAoB1E;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,eAAO,MAAM,4BAA4B,QACF,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,uCAAuC,QACP,CAAC;AAE9C;;GAEG;AACH,qBAAa,OAAO;;gBAYN,IAAI,EAAE,aAAa;IA8E/B,IAAI,WAAW,IAAI,YAAY,CAAC,YAAY,CAE3C;IA4CK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,IAAI,IAAI,IAAI;IAwDZ,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,OAAO,CAAC,MAAM,CAAC;CA+D/D;AAuBD;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,KAAK;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,SAAS,CAI1D;AACD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,cAAc,CAK3E;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC;;OAEG;gBACS,OAAO,CAAC,EAAE,MAAM;CAK7B"}
\ No newline at end of file
+{"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/launch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,OAAO,YAAY,MAAM,eAAe,CAAC;AAMzC,OAAO,EACL,OAAO,EACP,eAAe,EAGf,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AAOxC;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,4BAA4B,GACpC,MAAM,CAgBR;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,oBAAoB,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAoB1E;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAEnD;AAED;;GAEG;AACH,eAAO,MAAM,4BAA4B,QACF,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,uCAAuC,QACP,CAAC;AAE9C;;GAEG;AACH,qBAAa,OAAO;;gBAYN,IAAI,EAAE,aAAa;IA8E/B,IAAI,WAAW,IAAI,YAAY,CAAC,YAAY,CAE3C;IA4CK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,IAAI,IAAI,IAAI;IAwDZ,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,OAAO,CAAC,MAAM,CAAC;CA+D/D;AAuBD;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,KAAK;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,SAAS,CAI1D;AACD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,cAAc,CAK3E;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACrC;;OAEG;gBACS,OAAO,CAAC,EAAE,MAAM;CAK7B"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/esm/launch.js b/node_modules/@puppeteer/browsers/lib/esm/launch.js
index 840b244..2af1e3b 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/launch.js
+++ b/node_modules/@puppeteer/browsers/lib/esm/launch.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Process_instances, _Process_executablePath, _Process_args, _Process_browserProcess, _Process_exited, _Process_hooksRan, _Process_onExitHook, _Process_browserProcessExiting, _Process_runHooks, _Process_configureStdio, _Process_clearListeners, _Process_onDriverProcessExit, _Process_onDriverProcessSignal;
 import childProcess from 'child_process';
 import { accessSync } from 'fs';
 import os from 'os';
@@ -81,34 +69,19 @@
  * @public
  */
 export class Process {
+    #executablePath;
+    #args;
+    #browserProcess;
+    #exited = false;
+    // The browser process can be closed externally or from the driver process. We
+    // need to invoke the hooks only once though but we don't know how many times
+    // we will be invoked.
+    #hooksRan = false;
+    #onExitHook = async () => { };
+    #browserProcessExiting;
     constructor(opts) {
-        _Process_instances.add(this);
-        _Process_executablePath.set(this, void 0);
-        _Process_args.set(this, void 0);
-        _Process_browserProcess.set(this, void 0);
-        _Process_exited.set(this, false);
-        // The browser process can be closed externally or from the driver process. We
-        // need to invoke the hooks only once though but we don't know how many times
-        // we will be invoked.
-        _Process_hooksRan.set(this, false);
-        _Process_onExitHook.set(this, async () => { });
-        _Process_browserProcessExiting.set(this, void 0);
-        _Process_onDriverProcessExit.set(this, (_code) => {
-            this.kill();
-        });
-        _Process_onDriverProcessSignal.set(this, (signal) => {
-            switch (signal) {
-                case 'SIGINT':
-                    this.kill();
-                    process.exit(130);
-                case 'SIGTERM':
-                case 'SIGHUP':
-                    void this.close();
-                    break;
-            }
-        });
-        __classPrivateFieldSet(this, _Process_executablePath, opts.executablePath, "f");
-        __classPrivateFieldSet(this, _Process_args, opts.args ?? [], "f");
+        this.#executablePath = opts.executablePath;
+        this.#args = opts.args ?? [];
         opts.pipe ??= false;
         opts.dumpio ??= false;
         opts.handleSIGINT ??= true;
@@ -119,45 +92,45 @@
         // process tree with `.kill(-pid)` command. @see
         // https://nodejs.org/api/child_process.html#child_process_options_detached
         opts.detached ??= process.platform !== 'win32';
-        const stdio = __classPrivateFieldGet(this, _Process_instances, "m", _Process_configureStdio).call(this, {
+        const stdio = this.#configureStdio({
             pipe: opts.pipe,
             dumpio: opts.dumpio,
         });
-        debugLaunch(`Launching ${__classPrivateFieldGet(this, _Process_executablePath, "f")} ${__classPrivateFieldGet(this, _Process_args, "f").join(' ')}`, {
+        debugLaunch(`Launching ${this.#executablePath} ${this.#args.join(' ')}`, {
             detached: opts.detached,
             env: opts.env,
             stdio,
         });
-        __classPrivateFieldSet(this, _Process_browserProcess, childProcess.spawn(__classPrivateFieldGet(this, _Process_executablePath, "f"), __classPrivateFieldGet(this, _Process_args, "f"), {
+        this.#browserProcess = childProcess.spawn(this.#executablePath, this.#args, {
             detached: opts.detached,
             env: opts.env,
             stdio,
-        }), "f");
-        debugLaunch(`Launched ${__classPrivateFieldGet(this, _Process_browserProcess, "f").pid}`);
+        });
+        debugLaunch(`Launched ${this.#browserProcess.pid}`);
         if (opts.dumpio) {
-            __classPrivateFieldGet(this, _Process_browserProcess, "f").stderr?.pipe(process.stderr);
-            __classPrivateFieldGet(this, _Process_browserProcess, "f").stdout?.pipe(process.stdout);
+            this.#browserProcess.stderr?.pipe(process.stderr);
+            this.#browserProcess.stdout?.pipe(process.stdout);
         }
-        process.on('exit', __classPrivateFieldGet(this, _Process_onDriverProcessExit, "f"));
+        process.on('exit', this.#onDriverProcessExit);
         if (opts.handleSIGINT) {
-            process.on('SIGINT', __classPrivateFieldGet(this, _Process_onDriverProcessSignal, "f"));
+            process.on('SIGINT', this.#onDriverProcessSignal);
         }
         if (opts.handleSIGTERM) {
-            process.on('SIGTERM', __classPrivateFieldGet(this, _Process_onDriverProcessSignal, "f"));
+            process.on('SIGTERM', this.#onDriverProcessSignal);
         }
         if (opts.handleSIGHUP) {
-            process.on('SIGHUP', __classPrivateFieldGet(this, _Process_onDriverProcessSignal, "f"));
+            process.on('SIGHUP', this.#onDriverProcessSignal);
         }
         if (opts.onExit) {
-            __classPrivateFieldSet(this, _Process_onExitHook, opts.onExit, "f");
+            this.#onExitHook = opts.onExit;
         }
-        __classPrivateFieldSet(this, _Process_browserProcessExiting, new Promise((resolve, reject) => {
-            __classPrivateFieldGet(this, _Process_browserProcess, "f").once('exit', async () => {
-                debugLaunch(`Browser process ${__classPrivateFieldGet(this, _Process_browserProcess, "f").pid} onExit`);
-                __classPrivateFieldGet(this, _Process_instances, "m", _Process_clearListeners).call(this);
-                __classPrivateFieldSet(this, _Process_exited, true, "f");
+        this.#browserProcessExiting = new Promise((resolve, reject) => {
+            this.#browserProcess.once('exit', async () => {
+                debugLaunch(`Browser process ${this.#browserProcess.pid} onExit`);
+                this.#clearListeners();
+                this.#exited = true;
                 try {
-                    await __classPrivateFieldGet(this, _Process_instances, "m", _Process_runHooks).call(this);
+                    await this.#runHooks();
                 }
                 catch (err) {
                     reject(err);
@@ -165,56 +138,101 @@
                 }
                 resolve();
             });
-        }), "f");
+        });
+    }
+    async #runHooks() {
+        if (this.#hooksRan) {
+            return;
+        }
+        this.#hooksRan = true;
+        await this.#onExitHook();
     }
     get nodeProcess() {
-        return __classPrivateFieldGet(this, _Process_browserProcess, "f");
+        return this.#browserProcess;
     }
+    #configureStdio(opts) {
+        if (opts.pipe) {
+            if (opts.dumpio) {
+                return ['ignore', 'pipe', 'pipe', 'pipe', 'pipe'];
+            }
+            else {
+                return ['ignore', 'ignore', 'ignore', 'pipe', 'pipe'];
+            }
+        }
+        else {
+            if (opts.dumpio) {
+                return ['pipe', 'pipe', 'pipe'];
+            }
+            else {
+                return ['pipe', 'ignore', 'pipe'];
+            }
+        }
+    }
+    #clearListeners() {
+        process.off('exit', this.#onDriverProcessExit);
+        process.off('SIGINT', this.#onDriverProcessSignal);
+        process.off('SIGTERM', this.#onDriverProcessSignal);
+        process.off('SIGHUP', this.#onDriverProcessSignal);
+    }
+    #onDriverProcessExit = (_code) => {
+        this.kill();
+    };
+    #onDriverProcessSignal = (signal) => {
+        switch (signal) {
+            case 'SIGINT':
+                this.kill();
+                process.exit(130);
+            case 'SIGTERM':
+            case 'SIGHUP':
+                void this.close();
+                break;
+        }
+    };
     async close() {
-        await __classPrivateFieldGet(this, _Process_instances, "m", _Process_runHooks).call(this);
-        if (!__classPrivateFieldGet(this, _Process_exited, "f")) {
+        await this.#runHooks();
+        if (!this.#exited) {
             this.kill();
         }
-        return __classPrivateFieldGet(this, _Process_browserProcessExiting, "f");
+        return this.#browserProcessExiting;
     }
     hasClosed() {
-        return __classPrivateFieldGet(this, _Process_browserProcessExiting, "f");
+        return this.#browserProcessExiting;
     }
     kill() {
-        debugLaunch(`Trying to kill ${__classPrivateFieldGet(this, _Process_browserProcess, "f").pid}`);
+        debugLaunch(`Trying to kill ${this.#browserProcess.pid}`);
         // If the process failed to launch (for example if the browser executable path
         // is invalid), then the process does not get a pid assigned. A call to
         // `proc.kill` would error, as the `pid` to-be-killed can not be found.
-        if (__classPrivateFieldGet(this, _Process_browserProcess, "f") &&
-            __classPrivateFieldGet(this, _Process_browserProcess, "f").pid &&
-            pidExists(__classPrivateFieldGet(this, _Process_browserProcess, "f").pid)) {
+        if (this.#browserProcess &&
+            this.#browserProcess.pid &&
+            pidExists(this.#browserProcess.pid)) {
             try {
-                debugLaunch(`Browser process ${__classPrivateFieldGet(this, _Process_browserProcess, "f").pid} exists`);
+                debugLaunch(`Browser process ${this.#browserProcess.pid} exists`);
                 if (process.platform === 'win32') {
                     try {
-                        childProcess.execSync(`taskkill /pid ${__classPrivateFieldGet(this, _Process_browserProcess, "f").pid} /T /F`);
+                        childProcess.execSync(`taskkill /pid ${this.#browserProcess.pid} /T /F`);
                     }
                     catch (error) {
-                        debugLaunch(`Killing ${__classPrivateFieldGet(this, _Process_browserProcess, "f").pid} using taskkill failed`, error);
+                        debugLaunch(`Killing ${this.#browserProcess.pid} using taskkill failed`, error);
                         // taskkill can fail to kill the process e.g. due to missing permissions.
                         // Let's kill the process via Node API. This delays killing of all child
                         // processes of `this.proc` until the main Node.js process dies.
-                        __classPrivateFieldGet(this, _Process_browserProcess, "f").kill();
+                        this.#browserProcess.kill();
                     }
                 }
                 else {
                     // on linux the process group can be killed with the group id prefixed with
                     // a minus sign. The process group id is the group leader's pid.
-                    const processGroupId = -__classPrivateFieldGet(this, _Process_browserProcess, "f").pid;
+                    const processGroupId = -this.#browserProcess.pid;
                     try {
                         process.kill(processGroupId, 'SIGKILL');
                     }
                     catch (error) {
-                        debugLaunch(`Killing ${__classPrivateFieldGet(this, _Process_browserProcess, "f").pid} using process.kill failed`, error);
+                        debugLaunch(`Killing ${this.#browserProcess.pid} using process.kill failed`, error);
                         // Killing the process group can fail due e.g. to missing permissions.
                         // Let's kill the process via Node API. This delays killing of all child
                         // processes of `this.proc` until the main Node.js process dies.
-                        __classPrivateFieldGet(this, _Process_browserProcess, "f").kill('SIGKILL');
+                        this.#browserProcess.kill('SIGKILL');
                     }
                 }
             }
@@ -222,19 +240,19 @@
                 throw new Error(`${PROCESS_ERROR_EXPLANATION}\nError cause: ${isErrorLike(error) ? error.stack : error}`);
             }
         }
-        __classPrivateFieldGet(this, _Process_instances, "m", _Process_clearListeners).call(this);
+        this.#clearListeners();
     }
     waitForLineOutput(regex, timeout = 0) {
-        if (!__classPrivateFieldGet(this, _Process_browserProcess, "f").stderr) {
+        if (!this.#browserProcess.stderr) {
             throw new Error('`browserProcess` does not have stderr.');
         }
-        const rl = readline.createInterface(__classPrivateFieldGet(this, _Process_browserProcess, "f").stderr);
+        const rl = readline.createInterface(this.#browserProcess.stderr);
         let stderr = '';
         return new Promise((resolve, reject) => {
             rl.on('line', onLine);
             rl.on('close', onClose);
-            __classPrivateFieldGet(this, _Process_browserProcess, "f").on('exit', onClose);
-            __classPrivateFieldGet(this, _Process_browserProcess, "f").on('error', onClose);
+            this.#browserProcess.on('exit', onClose);
+            this.#browserProcess.on('error', onClose);
             const timeoutId = timeout > 0 ? setTimeout(onTimeout, timeout) : undefined;
             const cleanup = () => {
                 if (timeoutId) {
@@ -242,8 +260,8 @@
                 }
                 rl.off('line', onLine);
                 rl.off('close', onClose);
-                __classPrivateFieldGet(this, _Process_browserProcess, "f").off('exit', onClose);
-                __classPrivateFieldGet(this, _Process_browserProcess, "f").off('error', onClose);
+                this.#browserProcess.off('exit', onClose);
+                this.#browserProcess.off('error', onClose);
             };
             function onClose(error) {
                 cleanup();
@@ -272,35 +290,6 @@
         });
     }
 }
-_Process_executablePath = new WeakMap(), _Process_args = new WeakMap(), _Process_browserProcess = new WeakMap(), _Process_exited = new WeakMap(), _Process_hooksRan = new WeakMap(), _Process_onExitHook = new WeakMap(), _Process_browserProcessExiting = new WeakMap(), _Process_onDriverProcessExit = new WeakMap(), _Process_onDriverProcessSignal = new WeakMap(), _Process_instances = new WeakSet(), _Process_runHooks = async function _Process_runHooks() {
-    if (__classPrivateFieldGet(this, _Process_hooksRan, "f")) {
-        return;
-    }
-    __classPrivateFieldSet(this, _Process_hooksRan, true, "f");
-    await __classPrivateFieldGet(this, _Process_onExitHook, "f").call(this);
-}, _Process_configureStdio = function _Process_configureStdio(opts) {
-    if (opts.pipe) {
-        if (opts.dumpio) {
-            return ['ignore', 'pipe', 'pipe', 'pipe', 'pipe'];
-        }
-        else {
-            return ['ignore', 'ignore', 'ignore', 'pipe', 'pipe'];
-        }
-    }
-    else {
-        if (opts.dumpio) {
-            return ['pipe', 'pipe', 'pipe'];
-        }
-        else {
-            return ['pipe', 'ignore', 'pipe'];
-        }
-    }
-}, _Process_clearListeners = function _Process_clearListeners() {
-    process.off('exit', __classPrivateFieldGet(this, _Process_onDriverProcessExit, "f"));
-    process.off('SIGINT', __classPrivateFieldGet(this, _Process_onDriverProcessSignal, "f"));
-    process.off('SIGTERM', __classPrivateFieldGet(this, _Process_onDriverProcessSignal, "f"));
-    process.off('SIGHUP', __classPrivateFieldGet(this, _Process_onDriverProcessSignal, "f"));
-};
 const PROCESS_ERROR_EXPLANATION = `Puppeteer was unable to kill the process which ran the browser binary.
 This means that, on future Puppeteer launches, Puppeteer might not be able to launch the browser.
 Please check your open processes and ensure that the browser processes that Puppeteer launched have been killed.
diff --git a/node_modules/@puppeteer/browsers/lib/esm/launch.js.map b/node_modules/@puppeteer/browsers/lib/esm/launch.js.map
index 0af195a..fee1f7f 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/launch.js.map
+++ b/node_modules/@puppeteer/browsers/lib/esm/launch.js.map
@@ -1 +1 @@
-{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/launch.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/launch.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/esm/main.js b/node_modules/@puppeteer/browsers/lib/esm/main.js
index d7cf991..509988e 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/main.js
+++ b/node_modules/@puppeteer/browsers/lib/esm/main.js
@@ -18,5 +18,5 @@
 export { detectBrowserPlatform } from './detectPlatform.js';
 export { resolveBuildId, Browser, BrowserPlatform, ChromeReleaseChannel, createProfile, } from './browser-data/browser-data.js';
 export { CLI, makeProgressCallback } from './CLI.js';
-export { Cache } from './Cache.js';
+export { Cache, InstalledBrowser } from './Cache.js';
 //# sourceMappingURL=main.js.map
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/lib/esm/main.js.map b/node_modules/@puppeteer/browsers/lib/esm/main.js.map
index 2790d86..dea3014 100644
--- a/node_modules/@puppeteer/browsers/lib/esm/main.js.map
+++ b/node_modules/@puppeteer/browsers/lib/esm/main.js.map
@@ -1 +1 @@
-{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,MAAM,EACN,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EAIZ,4BAA4B,EAC5B,uCAAuC,EACvC,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,WAAW,EACX,SAAS,GAIV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,aAAa,GAEd,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAC,GAAG,EAAE,oBAAoB,EAAC,MAAM,UAAU,CAAC;AACnD,OAAO,EAAC,KAAK,EAAmB,MAAM,YAAY,CAAC"}
\ No newline at end of file
+{"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,MAAM,EACN,qBAAqB,EACrB,2BAA2B,EAC3B,YAAY,EAIZ,4BAA4B,EAC5B,uCAAuC,EACvC,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,WAAW,EACX,SAAS,GAIV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,cAAc,EACd,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,aAAa,GAEd,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAC,GAAG,EAAE,oBAAoB,EAAC,MAAM,UAAU,CAAC;AACnD,OAAO,EAAC,KAAK,EAAE,gBAAgB,EAAC,MAAM,YAAY,CAAC"}
\ No newline at end of file
diff --git a/node_modules/@puppeteer/browsers/package.json b/node_modules/@puppeteer/browsers/package.json
index 7d77922..1dc99c7 100644
--- a/node_modules/@puppeteer/browsers/package.json
+++ b/node_modules/@puppeteer/browsers/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@puppeteer/browsers",
-  "version": "1.4.5",
+  "version": "1.5.0",
   "description": "Download and launch browsers",
   "scripts": {
     "build:docs": "wireit",
@@ -100,26 +100,14 @@
   "dependencies": {
     "debug": "4.3.4",
     "extract-zip": "2.0.1",
-    "http-proxy-agent": "7.0.0",
-    "https-proxy-agent": "7.0.1",
     "progress": "2.0.3",
-    "proxy-from-env": "1.1.0",
-    "socks-proxy-agent": "8.0.1",
+    "proxy-agent": "6.3.0",
     "tar-fs": "3.0.4",
     "unbzip2-stream": "1.4.3",
     "yargs": "17.7.1"
   },
   "devDependencies": {
     "@types/node": "^16.11.7",
-    "@types/proxy-from-env": "1.0.1",
     "@types/yargs": "17.0.22"
-  },
-  "peerDependencies": {
-    "typescript": ">= 4.7.4"
-  },
-  "peerDependenciesMeta": {
-    "typescript": {
-      "optional": true
-    }
   }
 }
diff --git a/node_modules/@puppeteer/browsers/src/CLI.ts b/node_modules/@puppeteer/browsers/src/CLI.ts
index 688205b..5e6b0c7 100644
--- a/node_modules/@puppeteer/browsers/src/CLI.ts
+++ b/node_modules/@puppeteer/browsers/src/CLI.ts
@@ -37,7 +37,7 @@
   launch,
 } from './launch.js';
 
-type InstallArgs = {
+interface InstallArgs {
   browser: {
     name: Browser;
     buildId: string;
@@ -45,9 +45,9 @@
   path?: string;
   platform?: BrowserPlatform;
   baseUrl?: string;
-};
+}
 
-type LaunchArgs = {
+interface LaunchArgs {
   browser: {
     name: Browser;
     buildId: string;
@@ -56,11 +56,11 @@
   platform?: BrowserPlatform;
   detached: boolean;
   system: boolean;
-};
+}
 
-type ClearArgs = {
+interface ClearArgs {
   path?: string;
-};
+}
 
 /**
  * @public
diff --git a/node_modules/@puppeteer/browsers/src/Cache.ts b/node_modules/@puppeteer/browsers/src/Cache.ts
index 3974488..8312283 100644
--- a/node_modules/@puppeteer/browsers/src/Cache.ts
+++ b/node_modules/@puppeteer/browsers/src/Cache.ts
@@ -18,16 +18,54 @@
 import path from 'path';
 
 import {Browser, BrowserPlatform} from './browser-data/browser-data.js';
+import {computeExecutablePath} from './launch.js';
 
 /**
  * @public
  */
-export type InstalledBrowser = {
-  path: string;
+export class InstalledBrowser {
   browser: Browser;
   buildId: string;
   platform: BrowserPlatform;
-};
+
+  #cache: Cache;
+
+  /**
+   * @internal
+   */
+  constructor(
+    cache: Cache,
+    browser: Browser,
+    buildId: string,
+    platform: BrowserPlatform
+  ) {
+    this.#cache = cache;
+    this.browser = browser;
+    this.buildId = buildId;
+    this.platform = platform;
+  }
+
+  /**
+   * Path to the root of the installation folder. Use
+   * {@link computeExecutablePath} to get the path to the executable binary.
+   */
+  get path(): string {
+    return this.#cache.installationDir(
+      this.browser,
+      this.platform,
+      this.buildId
+    );
+  }
+
+  get executablePath(): string {
+    return computeExecutablePath({
+      cacheDir: this.#cache.rootDir,
+      platform: this.platform,
+      browser: this.browser,
+      buildId: this.buildId,
+    });
+  }
+}
 
 /**
  * The cache used by Puppeteer relies on the following structure:
@@ -50,6 +88,13 @@
     this.#rootDir = rootDir;
   }
 
+  /**
+   * @internal
+   */
+  get rootDir(): string {
+    return this.#rootDir;
+  }
+
   browserRoot(browser: Browser): string {
     return path.join(this.#rootDir, browser);
   }
@@ -102,14 +147,14 @@
           if (!result) {
             return null;
           }
-          return {
-            path: path.join(this.browserRoot(browser), file),
+          return new InstalledBrowser(
+            this,
             browser,
-            platform: result.platform,
-            buildId: result.buildId,
-          };
+            result.buildId,
+            result.platform as BrowserPlatform
+          );
         })
-        .filter((item): item is InstalledBrowser => {
+        .filter((item: InstalledBrowser | null): item is InstalledBrowser => {
           return item !== null;
         });
     });
diff --git a/node_modules/@puppeteer/browsers/src/browser-data/chrome.ts b/node_modules/@puppeteer/browsers/src/browser-data/chrome.ts
index b381c8f..7ccb31e 100644
--- a/node_modules/@puppeteer/browsers/src/browser-data/chrome.ts
+++ b/node_modules/@puppeteer/browsers/src/browser-data/chrome.ts
@@ -80,9 +80,7 @@
       'https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions.json'
     )
   )) as {
-    channels: {
-      [channel: string]: {version: string};
-    };
+    channels: Record<string, {version: string}>;
   };
 
   for (const channel of Object.keys(data.channels)) {
diff --git a/node_modules/@puppeteer/browsers/src/browser-data/firefox.ts b/node_modules/@puppeteer/browsers/src/browser-data/firefox.ts
index ba8b225..91ea887 100644
--- a/node_modules/@puppeteer/browsers/src/browser-data/firefox.ts
+++ b/node_modules/@puppeteer/browsers/src/browser-data/firefox.ts
@@ -70,9 +70,7 @@
 ): Promise<string> {
   const versions = (await getJSON(
     new URL('https://product-details.mozilla.org/1.0/firefox_versions.json')
-  )) as {
-    [channel: string]: string;
-  };
+  )) as Record<string, string>;
   const version = versions[channel];
   if (!version) {
     throw new Error(`Channel ${channel} is not found.`);
@@ -158,9 +156,8 @@
     // Do not warn when multiple tabs will be opened
     'browser.tabs.warnOnOpen': false,
 
-    // Disable page translations, which can cause issues with tests.
-    // See https://bugzilla.mozilla.org/show_bug.cgi?id=1836093.
-    'browser.translations.enable': false,
+    // Do not automatically offer translations, as tests do not expect this.
+    'browser.translations.automaticallyPopup': false,
 
     // Disable the UI tour.
     'browser.uitour.enabled': false,
diff --git a/node_modules/@puppeteer/browsers/src/httpUtil.ts b/node_modules/@puppeteer/browsers/src/httpUtil.ts
index 0249b6b..efbf57a 100644
--- a/node_modules/@puppeteer/browsers/src/httpUtil.ts
+++ b/node_modules/@puppeteer/browsers/src/httpUtil.ts
@@ -19,10 +19,7 @@
 import * as https from 'https';
 import {URL, urlToHttpOptions} from 'url';
 
-import {HttpProxyAgent} from 'http-proxy-agent';
-import {HttpsProxyAgent} from 'https-proxy-agent';
-import {getProxyForUrl} from 'proxy-from-env';
-import {SocksProxyAgent} from 'socks-proxy-agent';
+import {ProxyAgent} from 'proxy-agent';
 
 export function headHttpRequest(url: URL): Promise<boolean> {
   return new Promise(resolve => {
@@ -30,6 +27,8 @@
       url,
       'HEAD',
       response => {
+        // consume response data free node process
+        response.resume();
         resolve(response.statusCode === 200);
       },
       false
@@ -46,20 +45,6 @@
   response: (x: http.IncomingMessage) => void,
   keepAlive = true
 ): http.ClientRequest {
-  const proxy = getProxyForUrl(url.toString());
-
-  let agent: http.Agent | undefined;
-  if (proxy) {
-    const proxyUrl = new URL(proxy);
-    if (proxyUrl.protocol === 'http:') {
-      agent = new HttpProxyAgent(proxyUrl);
-    } else if (proxyUrl.protocol === 'https:') {
-      agent = new HttpsProxyAgent(proxyUrl);
-    } else if (proxyUrl.protocol.startsWith('socks')) {
-      agent = new SocksProxyAgent(proxyUrl);
-    }
-  }
-
   const options: http.RequestOptions = {
     protocol: url.protocol,
     hostname: url.hostname,
@@ -68,7 +53,7 @@
     method,
     headers: keepAlive ? {Connection: 'keep-alive'} : undefined,
     auth: urlToHttpOptions(url).auth,
-    agent,
+    agent: new ProxyAgent(),
   };
 
   const requestCallback = (res: http.IncomingMessage): void => {
diff --git a/node_modules/@puppeteer/browsers/src/install.ts b/node_modules/@puppeteer/browsers/src/install.ts
index 6be5d5e..237871c 100644
--- a/node_modules/@puppeteer/browsers/src/install.ts
+++ b/node_modules/@puppeteer/browsers/src/install.ts
@@ -100,9 +100,15 @@
 /**
  * @public
  */
+export function install(
+  options: InstallOptions & {unpack?: true}
+): Promise<InstalledBrowser>;
+export function install(
+  options: InstallOptions & {unpack: false}
+): Promise<string>;
 export async function install(
   options: InstallOptions
-): Promise<InstalledBrowser> {
+): Promise<InstalledBrowser | string> {
   options.platform ??= detectBrowserPlatform();
   options.unpack ??= true;
   if (!options.platform) {
@@ -118,8 +124,8 @@
   );
   const fileName = url.toString().split('/').pop();
   assert(fileName, `A malformed download URL was found: ${url}.`);
-  const structure = new Cache(options.cacheDir);
-  const browserRoot = structure.browserRoot(options.browser);
+  const cache = new Cache(options.cacheDir);
+  const browserRoot = cache.browserRoot(options.browser);
   const archivePath = path.join(browserRoot, fileName);
   if (!existsSync(browserRoot)) {
     await mkdir(browserRoot, {recursive: true});
@@ -127,37 +133,27 @@
 
   if (!options.unpack) {
     if (existsSync(archivePath)) {
-      return {
-        path: archivePath,
-        browser: options.browser,
-        platform: options.platform,
-        buildId: options.buildId,
-      };
+      return archivePath;
     }
     debugInstall(`Downloading binary from ${url}`);
     debugTime('download');
     await downloadFile(url, archivePath, options.downloadProgressCallback);
     debugTimeEnd('download');
-    return {
-      path: archivePath,
-      browser: options.browser,
-      platform: options.platform,
-      buildId: options.buildId,
-    };
+    return archivePath;
   }
 
-  const outputPath = structure.installationDir(
+  const outputPath = cache.installationDir(
     options.browser,
     options.platform,
     options.buildId
   );
   if (existsSync(outputPath)) {
-    return {
-      path: outputPath,
-      browser: options.browser,
-      platform: options.platform,
-      buildId: options.buildId,
-    };
+    return new InstalledBrowser(
+      cache,
+      options.browser,
+      options.buildId,
+      options.platform
+    );
   }
   try {
     debugInstall(`Downloading binary from ${url}`);
@@ -180,12 +176,12 @@
       await unlink(archivePath);
     }
   }
-  return {
-    path: outputPath,
-    browser: options.browser,
-    platform: options.platform,
-    buildId: options.buildId,
-  };
+  return new InstalledBrowser(
+    cache,
+    options.browser,
+    options.buildId,
+    options.platform
+  );
 }
 
 /**
diff --git a/node_modules/@puppeteer/browsers/src/launch.ts b/node_modules/@puppeteer/browsers/src/launch.ts
index b26e222..e47f14a 100644
--- a/node_modules/@puppeteer/browsers/src/launch.ts
+++ b/node_modules/@puppeteer/browsers/src/launch.ts
@@ -129,7 +129,7 @@
 /**
  * @public
  */
-export type LaunchOptions = {
+export interface LaunchOptions {
   executablePath: string;
   pipe?: boolean;
   dumpio?: boolean;
@@ -140,7 +140,7 @@
   handleSIGHUP?: boolean;
   detached?: boolean;
   onExit?: () => Promise<void>;
-};
+}
 
 /**
  * @public
diff --git a/node_modules/@tootallnate/quickjs-emscripten/LICENSE b/node_modules/@tootallnate/quickjs-emscripten/LICENSE
new file mode 100644
index 0000000..07499f6
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+quickjs-emscripten copyright (c) 2019 Jake Teton-Landis
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/node_modules/@tootallnate/quickjs-emscripten/README.md b/node_modules/@tootallnate/quickjs-emscripten/README.md
new file mode 100644
index 0000000..70658a5
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/README.md
@@ -0,0 +1,597 @@
+# quickjs-emscripten
+
+Javascript/Typescript bindings for QuickJS, a modern Javascript interpreter,
+compiled to WebAssembly.
+
+- Safely evaluate untrusted Javascript (up to ES2020).
+- Create and manipulate values inside the QuickJS runtime ([more][values]).
+- Expose host functions to the QuickJS runtime ([more][functions]).
+- Execute synchronous code that uses asynchronous functions, with [asyncify][asyncify].
+
+[Github] | [NPM] | [API Documentation][api] | [Examples][tests]
+
+```typescript
+import { getQuickJS } from "quickjs-emscripten"
+
+async function main() {
+  const QuickJS = await getQuickJS()
+  const vm = QuickJS.newContext()
+
+  const world = vm.newString("world")
+  vm.setProp(vm.global, "NAME", world)
+  world.dispose()
+
+  const result = vm.evalCode(`"Hello " + NAME + "!"`)
+  if (result.error) {
+    console.log("Execution failed:", vm.dump(result.error))
+    result.error.dispose()
+  } else {
+    console.log("Success:", vm.dump(result.value))
+    result.value.dispose()
+  }
+
+  vm.dispose()
+}
+
+main()
+```
+
+[github]: https://github.com/justjake/quickjs-emscripten
+[npm]: https://www.npmjs.com/package/quickjs-emscripten
+[api]: https://github.com/justjake/quickjs-emscripten/blob/main/doc/modules.md
+[tests]: https://github.com/justjake/quickjs-emscripten/blob/main/ts/quickjs.test.ts
+[values]: #interfacing-with-the-interpreter
+[asyncify]: #asyncify
+[functions]: #exposing-apis
+
+## Usage
+
+Install from `npm`: `npm install --save quickjs-emscripten` or `yarn add quickjs-emscripten`.
+
+The root entrypoint of this library is the `getQuickJS` function, which returns
+a promise that resolves to a [QuickJS singleton](./doc/classes/quickjs.md) when
+the QuickJS WASM module is ready.
+
+Once `getQuickJS` has been awaited at least once, you also can use the `getQuickJSSync`
+function to directly access the singleton engine in your synchronous code.
+
+### Safely evaluate Javascript code
+
+See [QuickJS.evalCode](https://github.com/justjake/quickjs-emscripten/blob/main/doc/classes/quickjs.md#evalcode)
+
+```typescript
+import { getQuickJS, shouldInterruptAfterDeadline } from "quickjs-emscripten"
+
+getQuickJS().then((QuickJS) => {
+  const result = QuickJS.evalCode("1 + 1", {
+    shouldInterrupt: shouldInterruptAfterDeadline(Date.now() + 1000),
+    memoryLimitBytes: 1024 * 1024,
+  })
+  console.log(result)
+})
+```
+
+### Interfacing with the interpreter
+
+You can use [QuickJSContext](https://github.com/justjake/quickjs-emscripten/blob/main/doc/classes/QuickJSContext.md)
+to build a scripting environment by modifying globals and exposing functions
+into the QuickJS interpreter.
+
+Each `QuickJSContext` instance has its own environment -- globals, built-in
+classes -- and actions from one context won't leak into other contexts or
+runtimes (with one exception, see [Asyncify][asyncify]).
+
+Every context is created inside a
+[QuickJSRuntime](https://github.com/justjake/quickjs-emscripten/blob/main/doc/classes/QuickJSRuntime.md).
+A runtime represents a Javascript heap, and you can even share values between
+contexts in the same runtime.
+
+```typescript
+const vm = QuickJS.newContext()
+let state = 0
+
+const fnHandle = vm.newFunction("nextId", () => {
+  return vm.newNumber(++state)
+})
+
+vm.setProp(vm.global, "nextId", fnHandle)
+fnHandle.dispose()
+
+const nextId = vm.unwrapResult(vm.evalCode(`nextId(); nextId(); nextId()`))
+console.log("vm result:", vm.getNumber(nextId), "native state:", state)
+
+nextId.dispose()
+vm.dispose()
+```
+
+When you create a context from a top-level API like in the example above,
+instead of by calling `runtime.newContext()`, a runtime is automatically created
+for the lifetime of the context, and disposed of when you dispose the context.
+
+#### Runtime
+
+The runtime has APIs for CPU and memory limits that apply to all contexts within
+the runtime in aggregate. You can also use the runtime to configure EcmaScript
+module loading.
+
+```typescript
+const runtime = QuickJS.newRuntime()
+// "Should be enough for everyone" -- attributed to B. Gates
+runtime.setMemoryLimit(1024 * 640)
+// Limit stack size
+runtime.setMaxStackSize(1024 * 320)
+// Interrupt computation after 1024 calls to the interrupt handler
+let interruptCycles = 0
+runtime.setInterruptHandler(() => ++interruptCycles > 1024)
+// Toy module system that always returns the module name
+// as the default export
+runtime.setModuleLoader((moduleName) => `export default '${moduleName}'`)
+const context = runtime.newContext()
+const ok = context.evalCode(`
+import fooName from './foo.js'
+globalThis.result = fooName
+`)
+context.unwrapResult(ok).dispose()
+// logs "foo.js"
+console.log(context.getProp(context.global, "result").consume(context.dump))
+context.dispose()
+runtime.dispose()
+```
+
+### Memory Management
+
+Many methods in this library return handles to memory allocated inside the
+WebAssembly heap. These types cannot be garbage-collected as usual in
+Javascript. Instead, you must manually manage their memory by calling a
+`.dispose()` method to free the underlying resources. Once a handle has been
+disposed, it cannot be used anymore. Note that in the example above, we call
+`.dispose()` on each handle once it is no longer needed.
+
+Calling `QuickJSContext.dispose()` will throw a RuntimeError if you've forgotten to
+dispose any handles associated with that VM, so it's good practice to create a
+new VM instance for each of your tests, and to call `vm.dispose()` at the end
+of every test.
+
+```typescript
+const vm = QuickJS.newContext()
+const numberHandle = vm.newNumber(42)
+// Note: numberHandle not disposed, so it leaks memory.
+vm.dispose()
+// throws RuntimeError: abort(Assertion failed: list_empty(&rt->gc_obj_list), at: quickjs/quickjs.c,1963,JS_FreeRuntime)
+```
+
+Here are some strategies to reduce the toil of calling `.dispose()` on each
+handle you create:
+
+#### Scope
+
+A
+[`Scope`](https://github.com/justjake/quickjs-emscripten/blob/main/doc/classes/scope.md#class-scope)
+instance manages a set of disposables and calls their `.dispose()`
+method in the reverse order in which they're added to the scope. Here's the
+"Interfacing with the interpreter" example re-written using `Scope`:
+
+```typescript
+Scope.withScope((scope) => {
+  const vm = scope.manage(QuickJS.newContext())
+  let state = 0
+
+  const fnHandle = scope.manage(
+    vm.newFunction("nextId", () => {
+      return vm.newNumber(++state)
+    })
+  )
+
+  vm.setProp(vm.global, "nextId", fnHandle)
+
+  const nextId = scope.manage(vm.unwrapResult(vm.evalCode(`nextId(); nextId(); nextId()`)))
+  console.log("vm result:", vm.getNumber(nextId), "native state:", state)
+
+  // When the withScope block exits, it calls scope.dispose(), which in turn calls
+  // the .dispose() methods of all the disposables managed by the scope.
+})
+```
+
+You can also create `Scope` instances with `new Scope()` if you want to manage
+calling `scope.dispose()` yourself.
+
+#### `Lifetime.consume(fn)`
+
+[`Lifetime.consume`](https://github.com/justjake/quickjs-emscripten/blob/main/doc/classes/lifetime.md#consume)
+is sugar for the common pattern of using a handle and then
+immediately disposing of it. `Lifetime.consume` takes a `map` function that
+produces a result of any type. The `map` fuction is called with the handle,
+then the handle is disposed, then the result is returned.
+
+Here's the "Interfacing with interpreter" example re-written using `.consume()`:
+
+```typescript
+const vm = QuickJS.newContext()
+let state = 0
+
+vm.newFunction("nextId", () => {
+  return vm.newNumber(++state)
+}).consume((fnHandle) => vm.setProp(vm.global, "nextId", fnHandle))
+
+vm.unwrapResult(vm.evalCode(`nextId(); nextId(); nextId()`)).consume((nextId) =>
+  console.log("vm result:", vm.getNumber(nextId), "native state:", state)
+)
+
+vm.dispose()
+```
+
+Generally working with `Scope` leads to more straight-forward code, but
+`Lifetime.consume` can be handy sugar as part of a method call chain.
+
+### Exposing APIs
+
+To add APIs inside the QuickJS environment, you'll need to create objects to
+define the shape of your API, and add properties and functions to those objects
+to allow code inside QuickJS to call code on the host.
+
+By default, no host functionality is exposed to code running inside QuickJS.
+
+```typescript
+const vm = QuickJS.newContext()
+// `console.log`
+const logHandle = vm.newFunction("log", (...args) => {
+  const nativeArgs = args.map(vm.dump)
+  console.log("QuickJS:", ...nativeArgs)
+})
+// Partially implement `console` object
+const consoleHandle = vm.newObject()
+vm.setProp(consoleHandle, "log", logHandle)
+vm.setProp(vm.global, "console", consoleHandle)
+consoleHandle.dispose()
+logHandle.dispose()
+
+vm.unwrapResult(vm.evalCode(`console.log("Hello from QuickJS!")`)).dispose()
+```
+
+#### Promises
+
+To expose an asynchronous function that _returns a promise_ to callers within
+QuickJS, your function can return the handle of a `QuickJSDeferredPromise`
+created via `context.newPromise()`.
+
+When you resolve a `QuickJSDeferredPromise` -- and generally whenever async
+behavior completes for the VM -- pending listeners inside QuickJS may not
+execute immediately. Your code needs to explicitly call
+`runtime.executePendingJobs()` to resume execution inside QuickJS. This API
+gives your code maximum control to _schedule_ when QuickJS will block the host's
+event loop by resuming execution.
+
+To work with QuickJS handles that contain a promise inside the environment, you
+can convert the QuickJSHandle into a native promise using
+`context.resolvePromise()`. Take care with this API to avoid 'deadlocks' where
+the host awaits a guest promise, but the guest cannot make progress until the
+host calls `runtime.executePendingJobs()`. The simplest way to avoid this kind
+of deadlock is to always schedule `executePendingJobs` after any promise is
+settled.
+
+```typescript
+const vm = QuickJS.newContext()
+const fakeFileSystem = new Map([["example.txt", "Example file content"]])
+
+// Function that simulates reading data asynchronously
+const readFileHandle = vm.newFunction("readFile", (pathHandle) => {
+  const path = vm.getString(pathHandle)
+  const promise = vm.newPromise()
+  setTimeout(() => {
+    const content = fakeFileSystem.get(path)
+    promise.resolve(vm.newString(content || ""))
+  }, 100)
+  // IMPORTANT: Once you resolve an async action inside QuickJS,
+  // call runtime.executePendingJobs() to run any code that was
+  // waiting on the promise or callback.
+  promise.settled.then(vm.runtime.executePendingJobs)
+  return promise.handle
+})
+readFileHandle.consume((handle) => vm.setProp(vm.global, "readFile", handle))
+
+// Evaluate code that uses `readFile`, which returns a promise
+const result = vm.evalCode(`(async () => {
+  const content = await readFile('example.txt')
+  return content.toUpperCase()
+})()`)
+const promiseHandle = vm.unwrapResult(result)
+
+// Convert the promise handle into a native promise and await it.
+// If code like this deadlocks, make sure you are calling
+// runtime.executePendingJobs appropriately.
+const resolvedResult = await vm.resolvePromise(promiseHandle)
+promiseHandle.dispose()
+const resolvedHandle = vm.unwrapResult(resolvedResult)
+console.log("Result:", vm.getString(resolvedHandle))
+resolvedHandle.dispose()
+```
+
+#### Asyncify
+
+Sometimes, we want to create a function that's synchronous from the perspective
+of QuickJS, but prefer to implement that function _asynchronously_ in your host
+code. The most obvious use-case is for EcmaScript module loading. The underlying
+QuickJS C library expects the module loader function to return synchronously,
+but loading data synchronously in the browser or server is somewhere between "a
+bad idea" and "impossible". QuickJS also doesn't expose an API to "pause" the
+execution of a runtime, and adding such an API is tricky due to the VM's
+implementation.
+
+As a work-around, we provide an alternate build of QuickJS processed by
+Emscripten/Binaryen's [ASYNCIFY](https://emscripten.org/docs/porting/asyncify.html)
+compiler transform. Here's how Emscripten's documentation describes Asyncify:
+
+> Asyncify lets synchronous C or C++ code interact with asynchronous \[host] JavaScript. This allows things like:
+>
+> - A synchronous call in C that yields to the event loop, which allows browser events to be handled.
+>
+> - A synchronous call in C that waits for an asynchronous operation in \[host] JS to complete.
+>
+> Asyncify automatically transforms ... code into a form that can be paused and
+> resumed ..., so that it is asynchronous (hence the name “Asyncify”) even though
+> \[it is written] in a normal synchronous way.
+
+This means we can suspend an _entire WebAssembly module_ (which could contain
+multiple runtimes and contexts) while our host Javascript loads data
+asynchronously, and then resume execution once the data load completes. This is
+a very handy superpower, but it comes with a couple of major limitations:
+
+1. _An asyncified WebAssembly module can only suspend to wait for a single
+   asynchronous call at a time_. You may call back into a suspended WebAssembly
+   module eg. to create a QuickJS value to return a result, but the system will
+   crash if this call tries to suspend again. Take a look at Emscripten's documentation
+   on [reentrancy](https://emscripten.org/docs/porting/asyncify.html#reentrancy).
+
+2. _Asyncified code is bigger and runs slower_. The asyncified build of
+   Quickjs-emscripten library is 1M, 2x larger than the 500K of the default
+   version. There may be room for further
+   [optimization](https://emscripten.org/docs/porting/asyncify.html#optimizing)
+   Of our build in the future.
+
+To use asyncify features, use the following functions:
+
+- [newAsyncRuntime][]: create a runtime inside a new WebAssembly module.
+- [newAsyncContext][]: create runtime and context together inside a new
+  WebAssembly module.
+- [newQuickJSAsyncWASMModule][]: create an empty WebAssembly module.
+
+[newasyncruntime]: https://github.com/justjake/quickjs-emscripten/blob/main/doc/modules.md#newasyncruntime
+[newasynccontext]: https://github.com/justjake/quickjs-emscripten/blob/main/doc/modules.md#newasynccontext
+[newquickjsasyncwasmmodule]: https://github.com/justjake/quickjs-emscripten/blob/main/doc/modules.md#newquickjsasyncwasmmodule
+
+These functions are asynchronous because they always create a new underlying
+WebAssembly module so that each instance can suspend and resume independently,
+and instantiating a WebAssembly module is an async operation. This also adds
+substantial overhead compared to creating a runtime or context inside an
+existing module; if you only need to wait for a single async action at a time,
+you can create a single top-level module and create runtimes or contexts inside
+of it.
+
+##### Async module loader
+
+Here's an example of valuating a script that loads React asynchronously as an ES
+module. In our example, we're loading from the filesystem for reproducibility,
+but you can use this technique to load using `fetch`.
+
+```typescript
+const module = await newQuickJSAsyncWASMModule()
+const runtime = module.newRuntime()
+const path = await import("path")
+const { promises: fs } = await import("fs")
+
+const importsPath = path.join(__dirname, "../examples/imports") + "/"
+// Module loaders can return promises.
+// Execution will suspend until the promise resolves.
+runtime.setModuleLoader((moduleName) => {
+  const modulePath = path.join(importsPath, moduleName)
+  if (!modulePath.startsWith(importsPath)) {
+    throw new Error("out of bounds")
+  }
+  console.log("loading", moduleName, "from", modulePath)
+  return fs.readFile(modulePath, "utf-8")
+})
+
+// evalCodeAsync is required when execution may suspend.
+const context = runtime.newContext()
+const result = await context.evalCodeAsync(`
+import * as React from 'esm.sh/react@17'
+import * as ReactDOMServer from 'esm.sh/react-dom@17/server'
+const e = React.createElement
+globalThis.html = ReactDOMServer.renderToStaticMarkup(
+  e('div', null, e('strong', null, 'Hello world!'))
+)
+`)
+context.unwrapResult(result).dispose()
+const html = context.getProp(context.global, "html").consume(context.getString)
+console.log(html) // <div><strong>Hello world!</strong></div>
+```
+
+##### Async on host, sync in QuickJS
+
+Here's an example of turning an async function into a sync function inside the
+VM.
+
+```typescript
+const context = await newAsyncContext()
+const path = await import("path")
+const { promises: fs } = await import("fs")
+
+const importsPath = path.join(__dirname, "../examples/imports") + "/"
+const readFileHandle = context.newAsyncifiedFunction("readFile", async (pathHandle) => {
+  const pathString = path.join(importsPath, context.getString(pathHandle))
+  if (!pathString.startsWith(importsPath)) {
+    throw new Error("out of bounds")
+  }
+  const data = await fs.readFile(pathString, "utf-8")
+  return context.newString(data)
+})
+readFileHandle.consume((fn) => context.setProp(context.global, "readFile", fn))
+
+// evalCodeAsync is required when execution may suspend.
+const result = await context.evalCodeAsync(`
+// Not a promise! Sync! vvvvvvvvvvvvvvvvvvvv 
+const data = JSON.parse(readFile('data.json'))
+data.map(x => x.toUpperCase()).join(' ')
+`)
+const upperCaseData = context.unwrapResult(result).consume(context.getString)
+console.log(upperCaseData) // 'VERY USEFUL DATA'
+```
+
+### Testing your code
+
+This library is complicated to use, so please consider automated testing your
+implementation. We highly writing your test suite to run with both the "release"
+build variant of quickjs-emscripten, and also the [DEBUG_SYNC] build variant.
+The debug sync build variant has extra instrumentation code for detecting memory
+leaks.
+
+The class [TestQuickJSWASMModule] exposes the memory leak detection API, although
+this API is only accurate when using `DEBUG_SYNC` variant.
+
+```typescript
+// Define your test suite in a function, so that you can test against
+// different module loaders.
+function myTests(moduleLoader: () => Promise<QuickJSWASMModule>) {
+  let QuickJS: TestQuickJSWASMModule
+  beforeEach(async () => {
+    // Get a unique TestQuickJSWASMModule instance for each test.
+    const wasmModule = await moduleLoader()
+    QuickJS = new TestQuickJSWASMModule(wasmModule)
+  })
+  afterEach(() => {
+    // Assert that the test disposed all handles. The DEBUG_SYNC build
+    // variant will show detailed traces for each leak.
+    QuickJS.assertNoMemoryAllocated()
+  })
+
+  it("works well", () => {
+    // TODO: write a test using QuickJS
+    const context = QuickJS.newContext()
+    context.unwrapResult(context.evalCode("1 + 1")).dispose()
+    context.dispose()
+  })
+}
+
+// Run the test suite against a matrix of module loaders.
+describe("Check for memory leaks with QuickJS DEBUG build", () => {
+  const moduleLoader = memoizePromiseFactory(() => newQuickJSWASMModule(DEBUG_SYNC))
+  myTests(moduleLoader)
+})
+
+describe("Realistic test with QuickJS RELEASE build", () => {
+  myTests(getQuickJS)
+})
+```
+
+For more testing examples, please explore the typescript source of [quickjs-emscripten][ts] repository.
+
+[ts]: https://github.com/justjake/quickjs-emscripten/blob/main/ts
+[debug_sync]: https://github.com/justjake/quickjs-emscripten/blob/main/doc/modules.md#debug_sync
+[testquickjswasmmodule]: https://github.com/justjake/quickjs-emscripten/blob/main/doc/classes/TestQuickJSWASMModule.md
+
+### Debugging
+
+- Switch to a DEBUG build variant of the WebAssembly module to see debug log messages from the C part of this library.
+- Set `process.env.QTS_DEBUG` to see debug log messages from the Javascript part of this library.
+
+### More Documentation
+
+[Github] | [NPM] | [API Documentation][api] | [Examples][tests]
+
+## Background
+
+This was inspired by seeing https://github.com/maple3142/duktape-eval
+[on Hacker News](https://news.ycombinator.com/item?id=21946565) and Figma's
+blogposts about using building a Javascript plugin runtime:
+
+- [How Figma built the Figma plugin system](https://www.figma.com/blog/how-we-built-the-figma-plugin-system/): Describes the LowLevelJavascriptVm interface.
+- [An update on plugin security](https://www.figma.com/blog/an-update-on-plugin-security/): Figma switches to QuickJS.
+
+## Status & Roadmap
+
+**Stability**: Because the version number of this project is below `1.0.0`,
+\*expect occasional breaking API changes.
+
+**Security**: This project makes every effort to be secure, but has not been
+audited. Please use with care in production settings.
+
+**Roadmap**: I work on this project in my free time, for fun. Here's I'm
+thinking comes next. Last updated 2022-03-18.
+
+1. Further work on module loading APIs:
+
+   - Create modules via Javascript, instead of source text.
+   - Scan source text for imports, for ahead of time or concurrent loading.
+     (This is possible with third-party tools, so lower priority.)
+
+2. Higher-level tools for reading QuickJS values:
+
+   - Type guard functions: `context.isArray(handle)`, `context.isPromise(handle)`, etc.
+   - Iteration utilities: `context.getIterable(handle)`, `context.iterateObjectEntries(handle)`.
+     This better supports user-level code to deserialize complex handle objects.
+
+3. Higher-level tools for creating QuickJS values:
+
+   - Devise a way to avoid needing to mess around with handles when setting up
+     the environment.
+   - Consider integrating
+     [quickjs-emscripten-sync](https://github.com/reearth/quickjs-emscripten-sync)
+     for automatic translation.
+   - Consider class-based or interface-type-based marshalling.
+
+4. EcmaScript Modules / WebAssembly files / Deno support. This requires me to
+   learn a lot of new things, but should be interesting for modern browser usage.
+
+5. SQLite integration.
+
+## Related
+
+- Duktape wrapped in Wasm: https://github.com/maple3142/duktape-eval/blob/main/src/Makefile
+- QuickJS wrapped in C++: https://github.com/ftk/quickjspp
+
+## Developing
+
+This library is implemented in two languages: C (compiled to WASM with
+Emscripten), and Typescript.
+
+### The C parts
+
+The ./c directory contains C code that wraps the QuickJS C library (in ./quickjs).
+Public functions (those starting with `QTS_`) in ./c/interface.c are
+automatically exported to native code (via a generated header) and to
+Typescript (via a generated FFI class). See ./generate.ts for how this works.
+
+The C code builds as both with `emscripten` (using `emcc`), to produce WASM (or
+ASM.js) and with `clang`. Build outputs are checked in, so you can iterate on
+the Javascript parts of the library without setting up the Emscripten toolchain.
+
+Intermediate object files from QuickJS end up in ./build/quickjs/.
+
+This project uses `emscripten 3.1.32`.
+
+- On ARM64, you should install `emscripten` on your machine. For example on macOS, `brew install emscripten`.
+- If _the correct version of emcc_ is not in your PATH, compilation falls back to using Docker.
+  On ARM64, this is 10-50x slower than native compilation, but it's just fine on x64.
+
+Related NPM scripts:
+
+- `yarn update-quickjs` will sync the ./quickjs folder with a
+  github repo tracking the upstream QuickJS.
+- `yarn make-debug` will rebuild C outputs into ./build/wrapper
+- `yarn make-release` will rebuild C outputs in release mode, which is the mode
+  that should be checked into the repo.
+
+### The Typescript parts
+
+The ./ts directory contains Typescript types and wraps the generated Emscripten
+FFI in a more usable interface.
+
+You'll need `node` and `yarn`. Install dependencies with `yarn install`.
+
+- `yarn build` produces ./dist.
+- `yarn test` runs the tests.
+- `yarn test --watch` watches for changes and re-runs the tests.
+
+### Yarn updates
+
+Just run `yarn set version from sources` to upgrade the Yarn release.
diff --git a/node_modules/@tootallnate/quickjs-emscripten/c/interface.c b/node_modules/@tootallnate/quickjs-emscripten/c/interface.c
new file mode 100644
index 0000000..0126cff
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/c/interface.c
@@ -0,0 +1,819 @@
+/**
+ * interface.c
+ *
+ * We primarily use JSValue* (pointer to JSValue) when communicating with the
+ * host javascript environment, because pointers are trivial to use for calls
+ * into emscripten because they're just a number!
+ *
+ * As with the quickjs.h API, a JSValueConst* value is "borrowed" and should
+ * not be freed. A JSValue* is "owned" and should be freed by the owner.
+ *
+ * Functions starting with "QTS_" are exported by generate.ts to:
+ * - interface.h for native C code.
+ * - ffi.ts for emscripten.
+ *
+ * We support building the following build outputs:
+ *
+ * ## 1. Native machine code
+ * For internal development testing purposes.
+ *
+ * ## 2. WASM via Emscripten
+ * For general production use.
+ *
+ * ## 3. Experimental: Asyncified WASM via Emscripten with -s ASYNCIFY=1.
+ * This variant supports treating async host Javascript calls as synchronous
+ * from the perspective of the WASM c code.
+ *
+ * The way this works is described here:
+ * https://emscripten.org/docs/porting/asyncify.html
+ *
+ * In this variant, any call into our C code could return a promise if it ended
+ * up suspended. We mark the methods we suspect might suspend due to users' code
+ * as returning MaybeAsync(T). This information is ignored for the regular
+ * build.
+ */
+
+#ifdef __EMSCRIPTEN__
+#include <emscripten.h>
+#endif
+
+#include <math.h>  // For NAN
+#include <stdbool.h>
+#include <stdio.h>
+#include <string.h>
+#ifdef QTS_SANITIZE_LEAK
+#include <sanitizer/lsan_interface.h>
+#endif
+
+#include "../quickjs/cutils.h"
+#include "../quickjs/quickjs-libc.h"
+#include "../quickjs/quickjs.h"
+
+#define PKG "quickjs-emscripten: "
+
+#ifdef QTS_DEBUG_MODE
+#define QTS_DEBUG(msg) qts_log(msg);
+#define QTS_DUMP(value) qts_dump(ctx, value);
+#else
+#define QTS_DEBUG(msg) ;
+#define QTS_DUMP(value) ;
+#endif
+
+/**
+ * Signal to our FFI code generator that this string argument should be passed as a pointer
+ * allocated by the caller on the heap, not a JS string on the stack.
+ * https://github.com/emscripten-core/emscripten/issues/6860#issuecomment-405818401
+ */
+#define BorrowedHeapChar const char
+#define OwnedHeapChar char
+#define JSBorrowedChar const char
+
+/**
+ * Signal to our FFI code generator that this function should be called
+ * asynchronously when compiled with ASYNCIFY.
+ */
+#define MaybeAsync(T) T
+
+/**
+ * Signal to our FFI code generator that this function is only available in
+ * ASYNCIFY builds.
+ */
+#define AsyncifyOnly(T) T
+
+#define JSVoid void
+
+#define EvalFlags int
+#define EvalDetectModule int
+
+void qts_log(char *msg) {
+  fputs(PKG, stderr);
+  fputs(msg, stderr);
+  fputs("\n", stderr);
+}
+
+void qts_dump(JSContext *ctx, JSValueConst value) {
+  const char *str = JS_ToCString(ctx, value);
+  if (!str) {
+    QTS_DEBUG("QTS_DUMP: can't dump");
+    return;
+  }
+  fputs(str, stderr);
+  JS_FreeCString(ctx, str);
+  putchar('\n');
+}
+
+void copy_prop_if_needed(JSContext *ctx, JSValueConst dest, JSValueConst src, const char *prop_name) {
+  JSAtom prop_atom = JS_NewAtom(ctx, prop_name);
+  JSValue dest_prop = JS_GetProperty(ctx, dest, prop_atom);
+  if (JS_IsUndefined(dest_prop)) {
+    JSValue src_prop = JS_GetProperty(ctx, src, prop_atom);
+    if (!JS_IsUndefined(src_prop) && !JS_IsException(src_prop)) {
+      JS_SetProperty(ctx, dest, prop_atom, src_prop);
+    }
+  } else {
+    JS_FreeValue(ctx, dest_prop);
+  }
+  JS_FreeAtom(ctx, prop_atom);
+}
+
+JSValue *jsvalue_to_heap(JSValueConst value) {
+  JSValue *result = malloc(sizeof(JSValue));
+  if (result) {
+    // Could be better optimized, but at -0z / -ftlo, it
+    // appears to produce the same binary code as a memcpy.
+    *result = value;
+  }
+  return result;
+}
+
+JSValue *QTS_Throw(JSContext *ctx, JSValueConst *error) {
+  JSValue copy = JS_DupValue(ctx, *error);
+  return jsvalue_to_heap(JS_Throw(ctx, copy));
+}
+
+JSValue *QTS_NewError(JSContext *ctx) {
+  return jsvalue_to_heap(JS_NewError(ctx));
+}
+
+/**
+ * Limits.
+ */
+
+/**
+ * Memory limit. Set to -1 to disable.
+ */
+void QTS_RuntimeSetMemoryLimit(JSRuntime *rt, size_t limit) {
+  JS_SetMemoryLimit(rt, limit);
+}
+
+/**
+ * Memory diagnostics
+ */
+
+JSValue *QTS_RuntimeComputeMemoryUsage(JSRuntime *rt, JSContext *ctx) {
+  JSMemoryUsage s;
+  JS_ComputeMemoryUsage(rt, &s);
+
+  // Note that we're going to allocate more memory just to report the memory usage.
+  // A more sound approach would be to bind JSMemoryUsage struct directly - but that's
+  // a lot of work. This should be okay in the mean time.
+  JSValue result = JS_NewObject(ctx);
+
+  // Manually generated via editor-fu from JSMemoryUsage struct definition in quickjs.h
+  JS_SetPropertyStr(ctx, result, "malloc_limit", JS_NewInt64(ctx, s.malloc_limit));
+  JS_SetPropertyStr(ctx, result, "memory_used_size", JS_NewInt64(ctx, s.memory_used_size));
+  JS_SetPropertyStr(ctx, result, "malloc_count", JS_NewInt64(ctx, s.malloc_count));
+  JS_SetPropertyStr(ctx, result, "memory_used_count", JS_NewInt64(ctx, s.memory_used_count));
+  JS_SetPropertyStr(ctx, result, "atom_count", JS_NewInt64(ctx, s.atom_count));
+  JS_SetPropertyStr(ctx, result, "atom_size", JS_NewInt64(ctx, s.atom_size));
+  JS_SetPropertyStr(ctx, result, "str_count", JS_NewInt64(ctx, s.str_count));
+  JS_SetPropertyStr(ctx, result, "str_size", JS_NewInt64(ctx, s.str_size));
+  JS_SetPropertyStr(ctx, result, "obj_count", JS_NewInt64(ctx, s.obj_count));
+  JS_SetPropertyStr(ctx, result, "obj_size", JS_NewInt64(ctx, s.obj_size));
+  JS_SetPropertyStr(ctx, result, "prop_count", JS_NewInt64(ctx, s.prop_count));
+  JS_SetPropertyStr(ctx, result, "prop_size", JS_NewInt64(ctx, s.prop_size));
+  JS_SetPropertyStr(ctx, result, "shape_count", JS_NewInt64(ctx, s.shape_count));
+  JS_SetPropertyStr(ctx, result, "shape_size", JS_NewInt64(ctx, s.shape_size));
+  JS_SetPropertyStr(ctx, result, "js_func_count", JS_NewInt64(ctx, s.js_func_count));
+  JS_SetPropertyStr(ctx, result, "js_func_size", JS_NewInt64(ctx, s.js_func_size));
+  JS_SetPropertyStr(ctx, result, "js_func_code_size", JS_NewInt64(ctx, s.js_func_code_size));
+  JS_SetPropertyStr(ctx, result, "js_func_pc2line_count", JS_NewInt64(ctx, s.js_func_pc2line_count));
+  JS_SetPropertyStr(ctx, result, "js_func_pc2line_size", JS_NewInt64(ctx, s.js_func_pc2line_size));
+  JS_SetPropertyStr(ctx, result, "c_func_count", JS_NewInt64(ctx, s.c_func_count));
+  JS_SetPropertyStr(ctx, result, "array_count", JS_NewInt64(ctx, s.array_count));
+  JS_SetPropertyStr(ctx, result, "fast_array_count", JS_NewInt64(ctx, s.fast_array_count));
+  JS_SetPropertyStr(ctx, result, "fast_array_elements", JS_NewInt64(ctx, s.fast_array_elements));
+  JS_SetPropertyStr(ctx, result, "binary_object_count", JS_NewInt64(ctx, s.binary_object_count));
+  JS_SetPropertyStr(ctx, result, "binary_object_size", JS_NewInt64(ctx, s.binary_object_size));
+
+  return jsvalue_to_heap(result);
+}
+
+OwnedHeapChar *QTS_RuntimeDumpMemoryUsage(JSRuntime *rt) {
+  char *result = malloc(sizeof(char) * 1024);
+  FILE *memfile = fmemopen(result, 1024, "w");
+  JSMemoryUsage s;
+  JS_ComputeMemoryUsage(rt, &s);
+  JS_DumpMemoryUsage(memfile, &s, rt);
+  fclose(memfile);
+  return result;
+}
+
+int QTS_RecoverableLeakCheck() {
+#ifdef QTS_SANITIZE_LEAK
+  return __lsan_do_recoverable_leak_check();
+#else
+  return 0;
+#endif
+}
+
+int QTS_BuildIsSanitizeLeak() {
+#ifdef QTS_SANITIZE_LEAK
+  return 1;
+#else
+  return 0;
+#endif
+}
+
+#ifdef QTS_ASYNCIFY
+EM_JS(void, set_asyncify_stack_size, (size_t size), {
+  Asyncify.StackSize = size || 81920;
+});
+#endif
+
+/**
+ * Set the stack size limit, in bytes. Set to 0 to disable.
+ */
+void QTS_RuntimeSetMaxStackSize(JSRuntime *rt, size_t stack_size) {
+#ifdef QTS_ASYNCIFY
+  set_asyncify_stack_size(stack_size);
+#endif
+  JS_SetMaxStackSize(rt, stack_size);
+}
+
+/**
+ * Constant pointers. Because we always use JSValue* from the host Javascript environment,
+ * we need helper fuctions to return pointers to these constants.
+ */
+
+JSValueConst QTS_Undefined = JS_UNDEFINED;
+JSValueConst *QTS_GetUndefined() {
+  return &QTS_Undefined;
+}
+
+JSValueConst QTS_Null = JS_NULL;
+JSValueConst *QTS_GetNull() {
+  return &QTS_Null;
+}
+
+JSValueConst QTS_False = JS_FALSE;
+JSValueConst *QTS_GetFalse() {
+  return &QTS_False;
+}
+
+JSValueConst QTS_True = JS_TRUE;
+JSValueConst *QTS_GetTrue() {
+  return &QTS_True;
+}
+
+/**
+ * Standard FFI functions
+ */
+
+JSRuntime *QTS_NewRuntime() {
+  return JS_NewRuntime();
+}
+
+void QTS_FreeRuntime(JSRuntime *rt) {
+  JS_FreeRuntime(rt);
+}
+
+JSContext *QTS_NewContext(JSRuntime *rt) {
+  return JS_NewContext(rt);
+}
+
+void QTS_FreeContext(JSContext *ctx) {
+  JS_FreeContext(ctx);
+}
+
+void QTS_FreeValuePointer(JSContext *ctx, JSValue *value) {
+  JS_FreeValue(ctx, *value);
+  free(value);
+}
+
+void QTS_FreeValuePointerRuntime(JSRuntime *rt, JSValue *value) {
+  JS_FreeValueRT(rt, *value);
+  free(value);
+}
+
+void QTS_FreeVoidPointer(JSContext *ctx, JSVoid *ptr) {
+  js_free(ctx, ptr);
+}
+
+void QTS_FreeCString(JSContext *ctx, JSBorrowedChar *str) {
+  JS_FreeCString(ctx, str);
+}
+
+JSValue *QTS_DupValuePointer(JSContext *ctx, JSValueConst *val) {
+  return jsvalue_to_heap(JS_DupValue(ctx, *val));
+}
+
+JSValue *QTS_NewObject(JSContext *ctx) {
+  return jsvalue_to_heap(JS_NewObject(ctx));
+}
+
+JSValue *QTS_NewObjectProto(JSContext *ctx, JSValueConst *proto) {
+  return jsvalue_to_heap(JS_NewObjectProto(ctx, *proto));
+}
+
+JSValue *QTS_NewArray(JSContext *ctx) {
+  return jsvalue_to_heap(JS_NewArray(ctx));
+}
+
+JSValue *QTS_NewFloat64(JSContext *ctx, double num) {
+  return jsvalue_to_heap(JS_NewFloat64(ctx, num));
+}
+
+double QTS_GetFloat64(JSContext *ctx, JSValueConst *value) {
+  double result = NAN;
+  JS_ToFloat64(ctx, &result, *value);
+  return result;
+}
+
+JSValue *QTS_NewString(JSContext *ctx, BorrowedHeapChar *string) {
+  return jsvalue_to_heap(JS_NewString(ctx, string));
+}
+
+JSBorrowedChar *QTS_GetString(JSContext *ctx, JSValueConst *value) {
+  return JS_ToCString(ctx, *value);
+}
+
+JSValue qts_get_symbol_key(JSContext *ctx, JSValueConst *value) {
+  JSValue global = JS_GetGlobalObject(ctx);
+  JSValue Symbol = JS_GetPropertyStr(ctx, global, "Symbol");
+  JS_FreeValue(ctx, global);
+
+  JSValue Symbol_keyFor = JS_GetPropertyStr(ctx, Symbol, "keyFor");
+  JSValue key = JS_Call(ctx, Symbol_keyFor, Symbol, 1, value);
+  JS_FreeValue(ctx, Symbol_keyFor);
+  JS_FreeValue(ctx, Symbol);
+  return key;
+}
+
+JSValue *QTS_NewSymbol(JSContext *ctx, BorrowedHeapChar *description, int isGlobal) {
+  JSValue global = JS_GetGlobalObject(ctx);
+  JSValue Symbol = JS_GetPropertyStr(ctx, global, "Symbol");
+  JS_FreeValue(ctx, global);
+  JSValue descriptionValue = JS_NewString(ctx, description);
+  JSValue symbol;
+
+  if (isGlobal != 0) {
+    JSValue Symbol_for = JS_GetPropertyStr(ctx, Symbol, "for");
+    symbol = JS_Call(ctx, Symbol_for, Symbol, 1, &descriptionValue);
+    JS_FreeValue(ctx, descriptionValue);
+    JS_FreeValue(ctx, Symbol_for);
+    JS_FreeValue(ctx, Symbol);
+    return jsvalue_to_heap(symbol);
+  }
+
+  symbol = JS_Call(ctx, Symbol, JS_UNDEFINED, 1, &descriptionValue);
+  JS_FreeValue(ctx, descriptionValue);
+  JS_FreeValue(ctx, Symbol);
+
+  return jsvalue_to_heap(symbol);
+}
+
+MaybeAsync(JSBorrowedChar *) QTS_GetSymbolDescriptionOrKey(JSContext *ctx, JSValueConst *value) {
+  JSBorrowedChar *result;
+
+  JSValue key = qts_get_symbol_key(ctx, value);
+  if (!JS_IsUndefined(key)) {
+    result = JS_ToCString(ctx, key);
+    JS_FreeValue(ctx, key);
+    return result;
+  }
+
+  JSValue description = JS_GetPropertyStr(ctx, *value, "description");
+  result = JS_ToCString(ctx, description);
+  JS_FreeValue(ctx, description);
+  return result;
+}
+
+int QTS_IsGlobalSymbol(JSContext *ctx, JSValueConst *value) {
+  JSValue key = qts_get_symbol_key(ctx, value);
+  int undefined = JS_IsUndefined(key);
+  JS_FreeValue(ctx, key);
+
+  if (undefined) {
+    return 0;
+  } else {
+    return 1;
+  }
+}
+
+int QTS_IsJobPending(JSRuntime *rt) {
+  return JS_IsJobPending(rt);
+}
+
+/*
+  runs pending jobs (Promises/async functions) until it encounters
+  an exception or it executed the passed maxJobsToExecute jobs.
+
+  Passing a negative value will run the loop until there are no more
+  pending jobs or an exception happened
+
+  Returns the executed number of jobs or the exception encountered
+*/
+MaybeAsync(JSValue *) QTS_ExecutePendingJob(JSRuntime *rt, int maxJobsToExecute, JSContext **lastJobContext) {
+  JSContext *pctx;
+  int status = 1;
+  int executed = 0;
+  while (executed != maxJobsToExecute && status == 1) {
+    status = JS_ExecutePendingJob(rt, &pctx);
+    if (status == -1) {
+      *lastJobContext = pctx;
+      return jsvalue_to_heap(JS_GetException(pctx));
+    } else if (status == 1) {
+      *lastJobContext = pctx;
+      executed++;
+    }
+  }
+#ifdef QTS_DEBUG_MODE
+  char msg[500];
+  sprintf(msg, "QTS_ExecutePendingJob(executed: %d, pctx: %p, lastJobExecuted: %p)", executed, pctx, *lastJobContext);
+  QTS_DEBUG(msg)
+#endif
+  return jsvalue_to_heap(JS_NewFloat64(pctx, executed));
+}
+
+MaybeAsync(JSValue *) QTS_GetProp(JSContext *ctx, JSValueConst *this_val, JSValueConst *prop_name) {
+  JSAtom prop_atom = JS_ValueToAtom(ctx, *prop_name);
+  JSValue prop_val = JS_GetProperty(ctx, *this_val, prop_atom);
+  JS_FreeAtom(ctx, prop_atom);
+  return jsvalue_to_heap(prop_val);
+}
+
+MaybeAsync(void) QTS_SetProp(JSContext *ctx, JSValueConst *this_val, JSValueConst *prop_name, JSValueConst *prop_value) {
+  JSAtom prop_atom = JS_ValueToAtom(ctx, *prop_name);
+  JSValue extra_prop_value = JS_DupValue(ctx, *prop_value);
+  // TODO: should we use DefineProperty internally if this object doesn't have the property yet?
+  JS_SetProperty(ctx, *this_val, prop_atom, extra_prop_value);  // consumes extra_prop_value
+  JS_FreeAtom(ctx, prop_atom);
+}
+
+void QTS_DefineProp(JSContext *ctx, JSValueConst *this_val, JSValueConst *prop_name, JSValueConst *prop_value, JSValueConst *get, JSValueConst *set, bool configurable, bool enumerable, bool has_value) {
+  JSAtom prop_atom = JS_ValueToAtom(ctx, *prop_name);
+
+  int flags = 0;
+  if (configurable) {
+    flags = flags | JS_PROP_CONFIGURABLE;
+    if (has_value) {
+      flags = flags | JS_PROP_HAS_CONFIGURABLE;
+    }
+  }
+  if (enumerable) {
+    flags = flags | JS_PROP_ENUMERABLE;
+    if (has_value) {
+      flags = flags | JS_PROP_HAS_ENUMERABLE;
+    }
+  }
+  if (!JS_IsUndefined(*get)) {
+    flags = flags | JS_PROP_HAS_GET;
+  }
+  if (!JS_IsUndefined(*set)) {
+    flags = flags | JS_PROP_HAS_SET;
+  }
+  if (has_value) {
+    flags = flags | JS_PROP_HAS_VALUE;
+  }
+
+  JS_DefineProperty(ctx, *this_val, prop_atom, *prop_value, *get, *set, flags);
+  JS_FreeAtom(ctx, prop_atom);
+}
+
+MaybeAsync(JSValue *) QTS_Call(JSContext *ctx, JSValueConst *func_obj, JSValueConst *this_obj, int argc, JSValueConst **argv_ptrs) {
+  // convert array of pointers to array of values
+  JSValueConst argv[argc];
+  int i;
+  for (i = 0; i < argc; i++) {
+    argv[i] = *(argv_ptrs[i]);
+  }
+
+  return jsvalue_to_heap(JS_Call(ctx, *func_obj, *this_obj, argc, argv));
+}
+
+/**
+ * If maybe_exception is an exception, get the error.
+ * Otherwise, return NULL.
+ */
+JSValue *QTS_ResolveException(JSContext *ctx, JSValue *maybe_exception) {
+  if (JS_IsException(*maybe_exception)) {
+    return jsvalue_to_heap(JS_GetException(ctx));
+  }
+
+  return NULL;
+}
+
+MaybeAsync(JSBorrowedChar *) QTS_Dump(JSContext *ctx, JSValueConst *obj) {
+  JSValue obj_json_value = JS_JSONStringify(ctx, *obj, JS_UNDEFINED, JS_UNDEFINED);
+  if (!JS_IsException(obj_json_value)) {
+    const char *obj_json_chars = JS_ToCString(ctx, obj_json_value);
+    JS_FreeValue(ctx, obj_json_value);
+    if (obj_json_chars != NULL) {
+      JSValue enumerable_props = JS_ParseJSON(ctx, obj_json_chars, strlen(obj_json_chars), "<dump>");
+      JS_FreeCString(ctx, obj_json_chars);
+      if (!JS_IsException(enumerable_props)) {
+        // Copy common non-enumerable props for different object types.
+        // Errors:
+        copy_prop_if_needed(ctx, enumerable_props, *obj, "name");
+        copy_prop_if_needed(ctx, enumerable_props, *obj, "message");
+        copy_prop_if_needed(ctx, enumerable_props, *obj, "stack");
+
+        // Serialize again.
+        JSValue enumerable_json = JS_JSONStringify(ctx, enumerable_props, JS_UNDEFINED, JS_UNDEFINED);
+        JS_FreeValue(ctx, enumerable_props);
+
+        JSBorrowedChar *result = QTS_GetString(ctx, &enumerable_json);
+        JS_FreeValue(ctx, enumerable_json);
+        return result;
+      }
+    }
+  }
+
+#ifdef QTS_DEBUG_MODE
+  qts_log("Error dumping JSON:");
+  js_std_dump_error(ctx);
+#endif
+
+  // Fallback: convert to string
+  return QTS_GetString(ctx, obj);
+}
+
+MaybeAsync(JSValue *) QTS_Eval(JSContext *ctx, BorrowedHeapChar *js_code, const char *filename, EvalDetectModule detectModule, EvalFlags evalFlags) {
+  size_t js_code_len = strlen(js_code);
+
+  if (detectModule) {
+    if (JS_DetectModule((const char *)js_code, js_code_len)) {
+      QTS_DEBUG("QTS_Eval: Detected module = true");
+      evalFlags |= JS_EVAL_TYPE_MODULE;
+    } else {
+      QTS_DEBUG("QTS_Eval: Detected module = false");
+    }
+  } else {
+    QTS_DEBUG("QTS_Eval: do not detect module");
+  }
+
+  return jsvalue_to_heap(JS_Eval(ctx, js_code, strlen(js_code), filename, evalFlags));
+}
+
+OwnedHeapChar *QTS_Typeof(JSContext *ctx, JSValueConst *value) {
+  const char *result = "unknown";
+  uint32_t tag = JS_VALUE_GET_TAG(*value);
+
+  if (JS_IsNumber(*value)) {
+    result = "number";
+  } else if (JS_IsBigInt(ctx, *value)) {
+    result = "bigint";
+  } else if (JS_IsBigFloat(*value)) {
+    result = "bigfloat";
+  } else if (JS_IsBigDecimal(*value)) {
+    result = "bigdecimal";
+  } else if (JS_IsFunction(ctx, *value)) {
+    result = "function";
+  } else if (JS_IsBool(*value)) {
+    result = "boolean";
+  } else if (JS_IsNull(*value)) {
+    result = "object";
+  } else if (JS_IsUndefined(*value)) {
+    result = "undefined";
+  } else if (JS_IsUninitialized(*value)) {
+    result = "undefined";
+  } else if (JS_IsString(*value)) {
+    result = "string";
+  } else if (JS_IsSymbol(*value)) {
+    result = "symbol";
+  } else if (JS_IsObject(*value)) {
+    result = "object";
+  }
+
+  char *out = strdup(result);
+  return out;
+}
+
+JSValue *QTS_GetGlobalObject(JSContext *ctx) {
+  return jsvalue_to_heap(JS_GetGlobalObject(ctx));
+}
+
+JSValue *QTS_NewPromiseCapability(JSContext *ctx, JSValue **resolve_funcs_out) {
+  JSValue resolve_funcs[2];
+  JSValue promise = JS_NewPromiseCapability(ctx, resolve_funcs);
+  resolve_funcs_out[0] = jsvalue_to_heap(resolve_funcs[0]);
+  resolve_funcs_out[1] = jsvalue_to_heap(resolve_funcs[1]);
+  return jsvalue_to_heap(promise);
+}
+
+void QTS_TestStringArg(const char *string) {
+  // pass
+}
+
+int QTS_BuildIsDebug() {
+#ifdef QTS_DEBUG_MODE
+  return 1;
+#else
+  return 0;
+#endif
+}
+
+int QTS_BuildIsAsyncify() {
+#ifdef QTS_ASYNCIFY
+  return 1;
+#else
+  return 0;
+#endif
+}
+
+// ----------------------------------------------------------------------------
+// Module loading helpers
+
+// ----------------------------------------------------------------------------
+// C -> Host Callbacks
+// Note: inside EM_JS, we need to use ['...'] subscript syntax for accessing JS
+// objects, because in optimized builds, Closure compiler will mangle all the
+// names.
+
+// -------------------
+// function: C -> Host
+#ifdef __EMSCRIPTEN__
+EM_JS(MaybeAsync(JSValue *), qts_host_call_function, (JSContext * ctx, JSValueConst *this_ptr, int argc, JSValueConst *argv, uint32_t magic_func_id), {
+#ifdef QTS_ASYNCIFY
+  const asyncify = {['handleSleep'] : Asyncify.handleSleep};
+#else
+  const asyncify = undefined;
+#endif
+  return Module['callbacks']['callFunction'](asyncify, ctx, this_ptr, argc, argv, magic_func_id);
+});
+#endif
+
+// Function: QuickJS -> C
+JSValue qts_call_function(JSContext *ctx, JSValueConst this_val, int argc, JSValueConst *argv, int magic) {
+  JSValue *result_ptr = qts_host_call_function(ctx, &this_val, argc, argv, magic);
+  if (result_ptr == NULL) {
+    return JS_UNDEFINED;
+  }
+  JSValue result = *result_ptr;
+  free(result_ptr);
+  return result;
+}
+
+// Function: Host -> QuickJS
+JSValue *QTS_NewFunction(JSContext *ctx, uint32_t func_id, const char *name) {
+#ifdef QTS_DEBUG_MODE
+  char msg[500];
+  sprintf(msg, "new_function(name: %s, magic: %d)", name, func_id);
+  QTS_DEBUG(msg)
+#endif
+  JSValue func_obj = JS_NewCFunctionMagic(
+      /* context */ ctx,
+      /* JSCFunctionMagic* */ &qts_call_function,
+      /* name */ name,
+      /* min argc */ 0,
+      /* function type */ JS_CFUNC_generic_magic,
+      /* magic: fn id */ func_id);
+  return jsvalue_to_heap(func_obj);
+}
+
+JSValueConst *QTS_ArgvGetJSValueConstPointer(JSValueConst *argv, int index) {
+  return &argv[index];
+}
+
+// --------------------
+// interrupt: C -> Host
+#ifdef __EMSCRIPTEN__
+EM_JS(int, qts_host_interrupt_handler, (JSRuntime * rt), {
+  // Async not supported here.
+  // #ifdef QTS_ASYNCIFY
+  //   const asyncify = Asyncify;
+  // #else
+  const asyncify = undefined;
+  // #endif
+  return Module['callbacks']['shouldInterrupt'](asyncify, rt);
+});
+#endif
+
+// interrupt: QuickJS -> C
+int qts_interrupt_handler(JSRuntime *rt, void *_unused) {
+  return qts_host_interrupt_handler(rt);
+}
+
+// interrupt: Host -> QuickJS
+void QTS_RuntimeEnableInterruptHandler(JSRuntime *rt) {
+  JS_SetInterruptHandler(rt, &qts_interrupt_handler, NULL);
+}
+
+void QTS_RuntimeDisableInterruptHandler(JSRuntime *rt) {
+  JS_SetInterruptHandler(rt, NULL, NULL);
+}
+
+// --------------------
+// load module: C -> Host
+// TODO: a future version can support host returning JSModuleDef* directly;
+// for now we only support loading module source code.
+
+/*
+The module loading model under ASYNCIFY is convoluted. We need to make sure we
+never have an async request running concurrently for loading modules.
+
+The first implemenation looked like this:
+
+C                                  HOST                      SUSPENDED
+qts_host_load_module(name) ------>                            false
+                                   call rt.loadModule(name)   false
+                                   Start async load module    false
+                                   Suspend C                  true
+                                   Async load complete        true
+            < ---------------      QTS_CompileModule(source)  true
+QTS_Eval(source, COMPILE_ONLY)                                true
+Loaded module has import                                      true
+qts_host_load_module(dep) ------->                            true
+                                  call rt.loadModule(dep)     true
+                                  Start async load module     true
+                                  ALREADY SUSPENDED, CRASH
+
+We can solve this in two different ways:
+
+1. Return to C as soon as we async load the module source.
+   That way, we unsuspend before calling QTS_CompileModule.
+2. Once we load the module, use a new API to detect and async
+   load the module's downstream dependencies. This way
+   they're loaded synchronously so we don't need to suspend "again".
+
+Probably we could optimize (2) to make it more performant, eg with parallel
+loading, but (1) seems much easier to implement in the sort run.
+*/
+
+JSModuleDef *qts_compile_module(JSContext *ctx, const char *module_name, BorrowedHeapChar *module_body) {
+#ifdef QTS_DEBUG_MODE
+  char msg[500];
+  sprintf(msg, "QTS_CompileModule(ctx: %p, name: %s, bodyLength: %lu)", ctx, module_name, strlen(module_body));
+  QTS_DEBUG(msg)
+#endif
+  JSValue func_val = JS_Eval(ctx, module_body, strlen(module_body), module_name, JS_EVAL_TYPE_MODULE | JS_EVAL_FLAG_COMPILE_ONLY);
+  if (JS_IsException(func_val)) {
+    return NULL;
+  }
+  // TODO: Is exception ok?
+  // TODO: set import.meta?
+  JSModuleDef *module = JS_VALUE_GET_PTR(func_val);
+  JS_FreeValue(ctx, func_val);
+  return module;
+}
+
+#ifdef __EMSCRIPTEN__
+EM_JS(MaybeAsync(char *), qts_host_load_module_source, (JSRuntime * rt, JSContext *ctx, const char *module_name), {
+#ifdef QTS_ASYNCIFY
+  const asyncify = {['handleSleep'] : Asyncify.handleSleep};
+#else
+  const asyncify = undefined;
+#endif
+  // https://emscripten.org/docs/api_reference/preamble.js.html#UTF8ToString
+  const moduleNameString = UTF8ToString(module_name);
+  return Module['callbacks']['loadModuleSource'](asyncify, rt, ctx, moduleNameString);
+});
+
+EM_JS(MaybeAsync(char *), qts_host_normalize_module, (JSRuntime * rt, JSContext *ctx, const char *module_base_name, const char *module_name), {
+#ifdef QTS_ASYNCIFY
+  const asyncify = {['handleSleep'] : Asyncify.handleSleep};
+#else
+  const asyncify = undefined;
+#endif
+  // https://emscripten.org/docs/api_reference/preamble.js.html#UTF8ToString
+  const moduleBaseNameString = UTF8ToString(module_base_name);
+  const moduleNameString = UTF8ToString(module_name);
+  return Module['callbacks']['normalizeModule'](asyncify, rt, ctx, moduleBaseNameString, moduleNameString);
+});
+#endif
+
+// load module: QuickJS -> C
+// See js_module_loader in quickjs/quickjs-libc.c:567
+JSModuleDef *qts_load_module(JSContext *ctx, const char *module_name, void *_unused) {
+  JSRuntime *rt = JS_GetRuntime(ctx);
+#ifdef QTS_DEBUG_MODE
+  char msg[500];
+  sprintf(msg, "qts_load_module(rt: %p, ctx: %p, name: %s)", rt, ctx, module_name);
+  QTS_DEBUG(msg)
+#endif
+  char *module_source = qts_host_load_module_source(rt, ctx, module_name);
+  if (module_source == NULL) {
+    return NULL;
+  }
+
+  JSModuleDef *module = qts_compile_module(ctx, module_name, module_source);
+  free(module_source);
+  return module;
+}
+
+char *qts_normalize_module(JSContext *ctx, const char *module_base_name, const char *module_name, void *_unused) {
+  JSRuntime *rt = JS_GetRuntime(ctx);
+#ifdef QTS_DEBUG_MODE
+  char msg[500];
+  sprintf(msg, "qts_normalize_module(rt: %p, ctx: %p, base_name: %s, name: %s)", rt, ctx, module_base_name, module_name);
+  QTS_DEBUG(msg)
+#endif
+  char *em_module_name = qts_host_normalize_module(rt, ctx, module_base_name, module_name);
+  char *js_module_name = js_strdup(ctx, em_module_name);
+  free(em_module_name);
+  return js_module_name;
+}
+
+// Load module: Host -> QuickJS
+void QTS_RuntimeEnableModuleLoader(JSRuntime *rt, int use_custom_normalize) {
+  JSModuleNormalizeFunc *module_normalize = NULL; /* use default name normalizer */
+  if (use_custom_normalize) {
+    module_normalize = &qts_normalize_module;
+  }
+  JS_SetModuleLoaderFunc(rt, module_normalize, &qts_load_module, NULL);
+}
+
+void QTS_RuntimeDisableModuleLoader(JSRuntime *rt) {
+  JS_SetModuleLoaderFunc(rt, NULL, NULL, NULL);
+}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/asyncify-helpers.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/asyncify-helpers.d.ts
new file mode 100644
index 0000000..f3bb599
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/asyncify-helpers.d.ts
@@ -0,0 +1,24 @@
+declare function awaitYield<T>(value: T | Promise<T>): Generator<T | Promise<T>, T, T>;
+declare function awaitYieldOf<T, Yielded>(generator: Generator<Yielded | Promise<Yielded>, T, Yielded>): Generator<T | Promise<T>, T, T>;
+export type AwaitYield = typeof awaitYield & {
+    of: typeof awaitYieldOf;
+};
+/**
+ * Create a function that may or may not be async, using a generator
+ *
+ * Within the generator, call `yield* awaited(maybePromise)` to await a value
+ * that may or may not be a promise.
+ *
+ * If the inner function never yields a promise, it will return synchronously.
+ */
+export declare function maybeAsyncFn<
+/** Function arguments */
+Args extends any[], This, 
+/** Function return type */
+Return, 
+/** Yields to unwrap */
+Yielded>(that: This, fn: (this: This, awaited: AwaitYield, ...args: Args) => Generator<Yielded | Promise<Yielded>, Return, Yielded>): (...args: Args) => Return | Promise<Return>;
+export type MaybeAsyncBlock<Return, This, Yielded, Args extends any[] = []> = (this: This, awaited: AwaitYield, ...args: Args) => Generator<Yielded | Promise<Yielded>, Return, Yielded>;
+export declare function maybeAsync<Return, This, Yielded>(that: This, startGenerator: (this: This, await: AwaitYield) => Generator<Yielded | Promise<Yielded>, Return, Yielded>): Return | Promise<Return>;
+export declare function awaitEachYieldedPromise<Yielded, Returned>(gen: Generator<Yielded | Promise<Yielded>, Returned, Yielded>): Returned | Promise<Returned>;
+export {};
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/asyncify-helpers.js b/node_modules/@tootallnate/quickjs-emscripten/dist/asyncify-helpers.js
new file mode 100644
index 0000000..c140dde
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/asyncify-helpers.js
@@ -0,0 +1,53 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.awaitEachYieldedPromise = exports.maybeAsync = exports.maybeAsyncFn = void 0;
+function* awaitYield(value) {
+    return (yield value);
+}
+function awaitYieldOf(generator) {
+    return awaitYield(awaitEachYieldedPromise(generator));
+}
+const AwaitYield = awaitYield;
+AwaitYield.of = awaitYieldOf;
+/**
+ * Create a function that may or may not be async, using a generator
+ *
+ * Within the generator, call `yield* awaited(maybePromise)` to await a value
+ * that may or may not be a promise.
+ *
+ * If the inner function never yields a promise, it will return synchronously.
+ */
+function maybeAsyncFn(that, fn) {
+    return (...args) => {
+        const generator = fn.call(that, AwaitYield, ...args);
+        return awaitEachYieldedPromise(generator);
+    };
+}
+exports.maybeAsyncFn = maybeAsyncFn;
+class Example {
+    constructor() {
+        this.maybeAsyncMethod = maybeAsyncFn(this, function* (awaited, a) {
+            yield* awaited(new Promise((resolve) => setTimeout(resolve, a)));
+            return 5;
+        });
+    }
+}
+function maybeAsync(that, startGenerator) {
+    const generator = startGenerator.call(that, AwaitYield);
+    return awaitEachYieldedPromise(generator);
+}
+exports.maybeAsync = maybeAsync;
+function awaitEachYieldedPromise(gen) {
+    function handleNextStep(step) {
+        if (step.done) {
+            return step.value;
+        }
+        if (step.value instanceof Promise) {
+            return step.value.then((value) => handleNextStep(gen.next(value)), (error) => handleNextStep(gen.throw(error)));
+        }
+        return handleNextStep(gen.next(step.value));
+    }
+    return handleNextStep(gen.next());
+}
+exports.awaitEachYieldedPromise = awaitEachYieldedPromise;
+//# sourceMappingURL=asyncify-helpers.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/asyncify-helpers.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/asyncify-helpers.js.map
new file mode 100644
index 0000000..10dcc46
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/asyncify-helpers.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"asyncify-helpers.js","sourceRoot":"","sources":["../ts/asyncify-helpers.ts"],"names":[],"mappings":";;;AAAA,QAAQ,CAAC,CAAC,UAAU,CAAI,KAAqB;IAC3C,OAAO,CAAC,MAAM,KAAK,CAAM,CAAA;AAC3B,CAAC;AAED,SAAS,YAAY,CACnB,SAA4D;IAE5D,OAAO,UAAU,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAA;AACvD,CAAC;AAMD,MAAM,UAAU,GAAe,UAAwB,CAAA;AACvD,UAAU,CAAC,EAAE,GAAG,YAAY,CAAA;AAE5B;;;;;;;GAOG;AACH,SAAgB,YAAY,CAS1B,IAAU,EACV,EAI2D;IAE3D,OAAO,CAAC,GAAG,IAAU,EAAE,EAAE;QACvB,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,CAAA;QACpD,OAAO,uBAAuB,CAAC,SAAS,CAAC,CAAA;IAC3C,CAAC,CAAA;AACH,CAAC;AApBD,oCAoBC;AAED,MAAM,OAAO;IAAb;QACU,qBAAgB,GAAG,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAS;YACzE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YAChE,OAAO,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AAQD,SAAgB,UAAU,CACxB,IAAU,EACV,cAG2D;IAE3D,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;IACvD,OAAO,uBAAuB,CAAC,SAAS,CAAC,CAAA;AAC3C,CAAC;AATD,gCASC;AAED,SAAgB,uBAAuB,CACrC,GAA6D;IAI7D,SAAS,cAAc,CAAC,IAAgB;QACtC,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,OAAO,IAAI,CAAC,KAAK,CAAA;SAClB;QAED,IAAI,IAAI,CAAC,KAAK,YAAY,OAAO,EAAE;YACjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CACpB,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAC1C,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAC5C,CAAA;SACF;QAED,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC7C,CAAC;IAED,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;AACnC,CAAC;AArBD,0DAqBC","sourcesContent":["function* awaitYield<T>(value: T | Promise<T>) {\n  return (yield value) as T\n}\n\nfunction awaitYieldOf<T, Yielded>(\n  generator: Generator<Yielded | Promise<Yielded>, T, Yielded>\n): Generator<T | Promise<T>, T, T> {\n  return awaitYield(awaitEachYieldedPromise(generator))\n}\n\nexport type AwaitYield = typeof awaitYield & {\n  of: typeof awaitYieldOf\n}\n\nconst AwaitYield: AwaitYield = awaitYield as AwaitYield\nAwaitYield.of = awaitYieldOf\n\n/**\n * Create a function that may or may not be async, using a generator\n *\n * Within the generator, call `yield* awaited(maybePromise)` to await a value\n * that may or may not be a promise.\n *\n * If the inner function never yields a promise, it will return synchronously.\n */\nexport function maybeAsyncFn<\n  /** Function arguments */\n  Args extends any[],\n  This,\n  /** Function return type */\n  Return,\n  /** Yields to unwrap */\n  Yielded\n>(\n  that: This,\n  fn: (\n    this: This,\n    awaited: AwaitYield,\n    ...args: Args\n  ) => Generator<Yielded | Promise<Yielded>, Return, Yielded>\n): (...args: Args) => Return | Promise<Return> {\n  return (...args: Args) => {\n    const generator = fn.call(that, AwaitYield, ...args)\n    return awaitEachYieldedPromise(generator)\n  }\n}\n\nclass Example {\n  private maybeAsyncMethod = maybeAsyncFn(this, function* (awaited, a: number) {\n    yield* awaited(new Promise((resolve) => setTimeout(resolve, a)))\n    return 5\n  })\n}\n\nexport type MaybeAsyncBlock<Return, This, Yielded, Args extends any[] = []> = (\n  this: This,\n  awaited: AwaitYield,\n  ...args: Args\n) => Generator<Yielded | Promise<Yielded>, Return, Yielded>\n\nexport function maybeAsync<Return, This, Yielded>(\n  that: This,\n  startGenerator: (\n    this: This,\n    await: AwaitYield\n  ) => Generator<Yielded | Promise<Yielded>, Return, Yielded>\n): Return | Promise<Return> {\n  const generator = startGenerator.call(that, AwaitYield)\n  return awaitEachYieldedPromise(generator)\n}\n\nexport function awaitEachYieldedPromise<Yielded, Returned>(\n  gen: Generator<Yielded | Promise<Yielded>, Returned, Yielded>\n): Returned | Promise<Returned> {\n  type NextResult = ReturnType<typeof gen.next>\n\n  function handleNextStep(step: NextResult): Returned | Promise<Returned> {\n    if (step.done) {\n      return step.value\n    }\n\n    if (step.value instanceof Promise) {\n      return step.value.then(\n        (value) => handleNextStep(gen.next(value)),\n        (error) => handleNextStep(gen.throw(error))\n      )\n    }\n\n    return handleNextStep(gen.next(step.value))\n  }\n\n  return handleNextStep(gen.next())\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/context-asyncify.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/context-asyncify.d.ts
new file mode 100644
index 0000000..290a9ec
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/context-asyncify.d.ts
@@ -0,0 +1,48 @@
+import { QuickJSContext } from "./context";
+import { QuickJSAsyncEmscriptenModule } from "./emscripten-types";
+import { QuickJSAsyncFFI } from "./variants";
+import { JSRuntimePointer } from "./types-ffi";
+import { Lifetime } from "./lifetime";
+import { QuickJSModuleCallbacks } from "./module";
+import { QuickJSAsyncRuntime } from "./runtime-asyncify";
+import { ContextEvalOptions, QuickJSHandle } from "./types";
+import { VmCallResult } from "./vm-interface";
+export type AsyncFunctionImplementation = (this: QuickJSHandle, ...args: QuickJSHandle[]) => Promise<QuickJSHandle | VmCallResult<QuickJSHandle> | void>;
+/**
+ * Asyncified version of [[QuickJSContext]].
+ *
+ * *Asyncify* allows normally synchronous code to wait for asynchronous Promises
+ * or callbacks. The asyncified version of QuickJSContext can wait for async
+ * host functions as though they were synchronous.
+ */
+export declare class QuickJSAsyncContext extends QuickJSContext {
+    runtime: QuickJSAsyncRuntime;
+    /** @private */
+    protected module: QuickJSAsyncEmscriptenModule;
+    /** @private */
+    protected ffi: QuickJSAsyncFFI;
+    /** @private */
+    protected rt: Lifetime<JSRuntimePointer>;
+    /** @private */
+    protected callbacks: QuickJSModuleCallbacks;
+    /**
+     * Asyncified version of [[evalCode]].
+     */
+    evalCodeAsync(code: string, filename?: string, 
+    /** See [[EvalFlags]] for number semantics */
+    options?: number | ContextEvalOptions): Promise<VmCallResult<QuickJSHandle>>;
+    /**
+     * Similar to [[newFunction]].
+     * Convert an async host Javascript function into a synchronous QuickJS function value.
+     *
+     * Whenever QuickJS calls this function, the VM's stack will be unwound while
+     * waiting the async function to complete, and then restored when the returned
+     * promise resolves.
+     *
+     * Asyncified functions must never call other asyncified functions or
+     * `import`, even indirectly, because the stack cannot be unwound twice.
+     *
+     * See [Emscripten's docs on Asyncify](https://emscripten.org/docs/porting/asyncify.html).
+     */
+    newAsyncifiedFunction(name: string, fn: AsyncFunctionImplementation): QuickJSHandle;
+}
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/context-asyncify.js b/node_modules/@tootallnate/quickjs-emscripten/dist/context-asyncify.js
new file mode 100644
index 0000000..7b3fe56
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/context-asyncify.js
@@ -0,0 +1,58 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.QuickJSAsyncContext = void 0;
+const context_1 = require("./context");
+const debug_1 = require("./debug");
+const types_1 = require("./types");
+/**
+ * Asyncified version of [[QuickJSContext]].
+ *
+ * *Asyncify* allows normally synchronous code to wait for asynchronous Promises
+ * or callbacks. The asyncified version of QuickJSContext can wait for async
+ * host functions as though they were synchronous.
+ */
+class QuickJSAsyncContext extends context_1.QuickJSContext {
+    /**
+     * Asyncified version of [[evalCode]].
+     */
+    async evalCodeAsync(code, filename = "eval.js", 
+    /** See [[EvalFlags]] for number semantics */
+    options) {
+        const detectModule = (options === undefined ? 1 : 0);
+        const flags = (0, types_1.evalOptionsToFlags)(options);
+        let resultPtr = 0;
+        try {
+            resultPtr = await this.memory
+                .newHeapCharPointer(code)
+                .consume((charHandle) => this.ffi.QTS_Eval_MaybeAsync(this.ctx.value, charHandle.value, filename, detectModule, flags));
+        }
+        catch (error) {
+            (0, debug_1.debugLog)("QTS_Eval_MaybeAsync threw", error);
+            throw error;
+        }
+        const errorPtr = this.ffi.QTS_ResolveException(this.ctx.value, resultPtr);
+        if (errorPtr) {
+            this.ffi.QTS_FreeValuePointer(this.ctx.value, resultPtr);
+            return { error: this.memory.heapValueHandle(errorPtr) };
+        }
+        return { value: this.memory.heapValueHandle(resultPtr) };
+    }
+    /**
+     * Similar to [[newFunction]].
+     * Convert an async host Javascript function into a synchronous QuickJS function value.
+     *
+     * Whenever QuickJS calls this function, the VM's stack will be unwound while
+     * waiting the async function to complete, and then restored when the returned
+     * promise resolves.
+     *
+     * Asyncified functions must never call other asyncified functions or
+     * `import`, even indirectly, because the stack cannot be unwound twice.
+     *
+     * See [Emscripten's docs on Asyncify](https://emscripten.org/docs/porting/asyncify.html).
+     */
+    newAsyncifiedFunction(name, fn) {
+        return this.newFunction(name, fn);
+    }
+}
+exports.QuickJSAsyncContext = QuickJSAsyncContext;
+//# sourceMappingURL=context-asyncify.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/context-asyncify.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/context-asyncify.js.map
new file mode 100644
index 0000000..93695e2
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/context-asyncify.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"context-asyncify.js","sourceRoot":"","sources":["../ts/context-asyncify.ts"],"names":[],"mappings":";;;AAAA,uCAA0C;AAC1C,mCAAkC;AAOlC,mCAA+E;AAQ/E;;;;;;GAMG;AACH,MAAa,mBAAoB,SAAQ,wBAAc;IAWrD;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,IAAY,EACZ,WAAmB,SAAS;IAC5B,6CAA6C;IAC7C,OAAqC;QAErC,MAAM,YAAY,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAqB,CAAA;QACxE,MAAM,KAAK,GAAG,IAAA,0BAAkB,EAAC,OAAO,CAAc,CAAA;QACtD,IAAI,SAAS,GAAG,CAAmB,CAAA;QACnC,IAAI;YACF,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM;iBAC1B,kBAAkB,CAAC,IAAI,CAAC;iBACxB,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACtB,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,EACd,UAAU,CAAC,KAAK,EAChB,QAAQ,EACR,YAAY,EACZ,KAAK,CACN,CACF,CAAA;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,IAAA,gBAAQ,EAAC,2BAA2B,EAAE,KAAK,CAAC,CAAA;YAC5C,MAAM,KAAK,CAAA;SACZ;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;QACzE,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;YACxD,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAA;SACxD;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,CAAA;IAC1D,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,qBAAqB,CAAC,IAAY,EAAE,EAA+B;QACjE,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAS,CAAC,CAAA;IAC1C,CAAC;CACF;AA/DD,kDA+DC","sourcesContent":["import { QuickJSContext } from \"./context\"\nimport { debugLog } from \"./debug\"\nimport { QuickJSAsyncEmscriptenModule } from \"./emscripten-types\"\nimport { QuickJSAsyncFFI } from \"./variants\"\nimport { EvalDetectModule, EvalFlags, JSRuntimePointer, JSValuePointer } from \"./types-ffi\"\nimport { Lifetime } from \"./lifetime\"\nimport { QuickJSModuleCallbacks } from \"./module\"\nimport { QuickJSAsyncRuntime } from \"./runtime-asyncify\"\nimport { ContextEvalOptions, evalOptionsToFlags, QuickJSHandle } from \"./types\"\nimport { VmCallResult } from \"./vm-interface\"\n\nexport type AsyncFunctionImplementation = (\n  this: QuickJSHandle,\n  ...args: QuickJSHandle[]\n) => Promise<QuickJSHandle | VmCallResult<QuickJSHandle> | void>\n\n/**\n * Asyncified version of [[QuickJSContext]].\n *\n * *Asyncify* allows normally synchronous code to wait for asynchronous Promises\n * or callbacks. The asyncified version of QuickJSContext can wait for async\n * host functions as though they were synchronous.\n */\nexport class QuickJSAsyncContext extends QuickJSContext {\n  public declare runtime: QuickJSAsyncRuntime\n  /** @private */\n  protected declare module: QuickJSAsyncEmscriptenModule\n  /** @private */\n  protected declare ffi: QuickJSAsyncFFI\n  /** @private */\n  protected declare rt: Lifetime<JSRuntimePointer>\n  /** @private */\n  protected declare callbacks: QuickJSModuleCallbacks\n\n  /**\n   * Asyncified version of [[evalCode]].\n   */\n  async evalCodeAsync(\n    code: string,\n    filename: string = \"eval.js\",\n    /** See [[EvalFlags]] for number semantics */\n    options?: number | ContextEvalOptions\n  ): Promise<VmCallResult<QuickJSHandle>> {\n    const detectModule = (options === undefined ? 1 : 0) as EvalDetectModule\n    const flags = evalOptionsToFlags(options) as EvalFlags\n    let resultPtr = 0 as JSValuePointer\n    try {\n      resultPtr = await this.memory\n        .newHeapCharPointer(code)\n        .consume((charHandle) =>\n          this.ffi.QTS_Eval_MaybeAsync(\n            this.ctx.value,\n            charHandle.value,\n            filename,\n            detectModule,\n            flags\n          )\n        )\n    } catch (error) {\n      debugLog(\"QTS_Eval_MaybeAsync threw\", error)\n      throw error\n    }\n    const errorPtr = this.ffi.QTS_ResolveException(this.ctx.value, resultPtr)\n    if (errorPtr) {\n      this.ffi.QTS_FreeValuePointer(this.ctx.value, resultPtr)\n      return { error: this.memory.heapValueHandle(errorPtr) }\n    }\n    return { value: this.memory.heapValueHandle(resultPtr) }\n  }\n\n  /**\n   * Similar to [[newFunction]].\n   * Convert an async host Javascript function into a synchronous QuickJS function value.\n   *\n   * Whenever QuickJS calls this function, the VM's stack will be unwound while\n   * waiting the async function to complete, and then restored when the returned\n   * promise resolves.\n   *\n   * Asyncified functions must never call other asyncified functions or\n   * `import`, even indirectly, because the stack cannot be unwound twice.\n   *\n   * See [Emscripten's docs on Asyncify](https://emscripten.org/docs/porting/asyncify.html).\n   */\n  newAsyncifiedFunction(name: string, fn: AsyncFunctionImplementation): QuickJSHandle {\n    return this.newFunction(name, fn as any)\n  }\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/context.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/context.d.ts
new file mode 100644
index 0000000..d30d199
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/context.d.ts
@@ -0,0 +1,371 @@
+import { QuickJSDeferredPromise } from "./deferred-promise";
+import type { EitherModule } from "./emscripten-types";
+import { JSBorrowedCharPointer, JSContextPointer, JSRuntimePointer, JSValueConstPointer, JSValuePointer } from "./types-ffi";
+import { Disposable, Lifetime, Scope } from "./lifetime";
+import { ModuleMemory } from "./memory";
+import { QuickJSModuleCallbacks } from "./module";
+import { QuickJSRuntime } from "./runtime";
+import { ContextEvalOptions, EitherFFI, JSValue, PromiseExecutor, QuickJSHandle } from "./types";
+import { LowLevelJavascriptVm, SuccessOrFail, VmCallResult, VmFunctionImplementation, VmPropertyDescriptor } from "./vm-interface";
+/**
+ * Property key for getting or setting a property on a handle with
+ * [[QuickJSContext.getProp]], [[QuickJSContext.setProp]], or [[QuickJSContext.defineProp]].
+ */
+export type QuickJSPropertyKey = number | string | QuickJSHandle;
+/**
+ * @private
+ */
+declare class ContextMemory extends ModuleMemory implements Disposable {
+    readonly owner: QuickJSRuntime;
+    readonly ctx: Lifetime<JSContextPointer>;
+    readonly rt: Lifetime<JSRuntimePointer>;
+    readonly module: EitherModule;
+    readonly ffi: EitherFFI;
+    readonly scope: Scope;
+    /** @private */
+    constructor(args: {
+        owner: QuickJSRuntime;
+        module: EitherModule;
+        ffi: EitherFFI;
+        ctx: Lifetime<JSContextPointer>;
+        rt: Lifetime<JSRuntimePointer>;
+        ownedLifetimes?: Disposable[];
+    });
+    get alive(): boolean;
+    dispose(): void;
+    /**
+     * Track `lifetime` so that it is disposed when this scope is disposed.
+     */
+    manage<T extends Disposable>(lifetime: T): T;
+    copyJSValue: (ptr: JSValuePointer | JSValueConstPointer) => any;
+    freeJSValue: (ptr: JSValuePointer) => void;
+    consumeJSCharPointer(ptr: JSBorrowedCharPointer): string;
+    heapValueHandle(ptr: JSValuePointer): JSValue;
+}
+/**
+ * QuickJSContext wraps a QuickJS Javascript context (JSContext*) within a
+ * runtime. The contexts within the same runtime may exchange objects freely.
+ * You can think of separate runtimes like different domains in a browser, and
+ * the contexts within a runtime like the different windows open to the same
+ * domain. The {@link runtime} references the context's runtime.
+ *
+ * This class's methods return {@link QuickJSHandle}, which wrap C pointers (JSValue*).
+ * It's the caller's responsibility to call `.dispose()` on any
+ * handles you create to free memory once you're done with the handle.
+ *
+ * Use {@link QuickJSRuntime.newContext} or {@link QuickJSWASMModule.newContext}
+ * to create a new QuickJSContext.
+ *
+ * Create QuickJS values inside the interpreter with methods like
+ * [[newNumber]], [[newString]], [[newArray]], [[newObject]],
+ * [[newFunction]], and [[newPromise]].
+ *
+ * Call [[setProp]] or [[defineProp]] to customize objects. Use those methods
+ * with [[global]] to expose the values you create to the interior of the
+ * interpreter, so they can be used in [[evalCode]].
+ *
+ * Use [[evalCode]] or [[callFunction]] to execute Javascript inside the VM. If
+ * you're using asynchronous code inside the QuickJSContext, you may need to also
+ * call [[executePendingJobs]]. Executing code inside the runtime returns a
+ * result object representing successful execution or an error. You must dispose
+ * of any such results to avoid leaking memory inside the VM.
+ *
+ * Implement memory and CPU constraints at the runtime level, using [[runtime]].
+ * See {@link QuickJSRuntime} for more information.
+ *
+ */
+export declare class QuickJSContext implements LowLevelJavascriptVm<QuickJSHandle>, Disposable {
+    /**
+     * The runtime that created this context.
+     */
+    readonly runtime: QuickJSRuntime;
+    /** @private */
+    protected readonly ctx: Lifetime<JSContextPointer>;
+    /** @private */
+    protected readonly rt: Lifetime<JSRuntimePointer>;
+    /** @private */
+    protected readonly module: EitherModule;
+    /** @private */
+    protected readonly ffi: EitherFFI;
+    /** @private */
+    protected memory: ContextMemory;
+    /** @private */
+    protected _undefined: QuickJSHandle | undefined;
+    /** @private */
+    protected _null: QuickJSHandle | undefined;
+    /** @private */
+    protected _false: QuickJSHandle | undefined;
+    /** @private */
+    protected _true: QuickJSHandle | undefined;
+    /** @private */
+    protected _global: QuickJSHandle | undefined;
+    /** @private */
+    protected _BigInt: QuickJSHandle | undefined;
+    /**
+     * Use {@link QuickJS.createVm} to create a QuickJSContext instance.
+     */
+    constructor(args: {
+        module: EitherModule;
+        ffi: EitherFFI;
+        ctx: Lifetime<JSContextPointer>;
+        rt: Lifetime<JSRuntimePointer>;
+        runtime: QuickJSRuntime;
+        ownedLifetimes?: Disposable[];
+        callbacks: QuickJSModuleCallbacks;
+    });
+    get alive(): boolean;
+    /**
+     * Dispose of this VM's underlying resources.
+     *
+     * @throws Calling this method without disposing of all created handles
+     * will result in an error.
+     */
+    dispose(): void;
+    /**
+     * [`undefined`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined).
+     */
+    get undefined(): QuickJSHandle;
+    /**
+     * [`null`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null).
+     */
+    get null(): QuickJSHandle;
+    /**
+     * [`true`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/true).
+     */
+    get true(): QuickJSHandle;
+    /**
+     * [`false`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/false).
+     */
+    get false(): QuickJSHandle;
+    /**
+     * [`global`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects).
+     * A handle to the global object inside the interpreter.
+     * You can set properties to create global variables.
+     */
+    get global(): QuickJSHandle;
+    /**
+     * Converts a Javascript number into a QuickJS value.
+     */
+    newNumber(num: number): QuickJSHandle;
+    /**
+     * Create a QuickJS [string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) value.
+     */
+    newString(str: string): QuickJSHandle;
+    /**
+     * Create a QuickJS [symbol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol) value.
+     * No two symbols created with this function will be the same value.
+     */
+    newUniqueSymbol(description: string | symbol): QuickJSHandle;
+    /**
+     * Get a symbol from the [global registry](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#shared_symbols_in_the_global_symbol_registry) for the given key.
+     * All symbols created with the same key will be the same value.
+     */
+    newSymbolFor(key: string | symbol): QuickJSHandle;
+    /**
+     * Create a QuickJS [bigint](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) value.
+     */
+    newBigInt(num: bigint): QuickJSHandle;
+    /**
+     * `{}`.
+     * Create a new QuickJS [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer).
+     *
+     * @param prototype - Like [`Object.create`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create).
+     */
+    newObject(prototype?: QuickJSHandle): QuickJSHandle;
+    /**
+     * `[]`.
+     * Create a new QuickJS [array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array).
+     */
+    newArray(): QuickJSHandle;
+    /**
+     * Create a new [[QuickJSDeferredPromise]]. Use `deferred.resolve(handle)` and
+     * `deferred.reject(handle)` to fulfill the promise handle available at `deferred.handle`.
+     * Note that you are responsible for calling `deferred.dispose()` to free the underlying
+     * resources; see the documentation on [[QuickJSDeferredPromise]] for details.
+     */
+    newPromise(): QuickJSDeferredPromise;
+    /**
+     * Create a new [[QuickJSDeferredPromise]] that resolves when the
+     * given native Promise<QuickJSHandle> resolves. Rejections will be coerced
+     * to a QuickJS error.
+     *
+     * You can still resolve/reject the created promise "early" using its methods.
+     */
+    newPromise(promise: Promise<QuickJSHandle>): QuickJSDeferredPromise;
+    /**
+     * Construct a new native Promise<QuickJSHandle>, and then convert it into a
+     * [[QuickJSDeferredPromise]].
+     *
+     * You can still resolve/reject the created promise "early" using its methods.
+     */
+    newPromise(newPromiseFn: PromiseExecutor<QuickJSHandle, Error | QuickJSHandle>): QuickJSDeferredPromise;
+    /**
+     * Convert a Javascript function into a QuickJS function value.
+     * See [[VmFunctionImplementation]] for more details.
+     *
+     * A [[VmFunctionImplementation]] should not free its arguments or its return
+     * value. A VmFunctionImplementation should also not retain any references to
+     * its return value.
+     *
+     * To implement an async function, create a promise with [[newPromise]], then
+     * return the deferred promise handle from `deferred.handle` from your
+     * function implementation:
+     *
+     * ```
+     * const deferred = vm.newPromise()
+     * someNativeAsyncFunction().then(deferred.resolve)
+     * return deferred.handle
+     * ```
+     */
+    newFunction(name: string, fn: VmFunctionImplementation<QuickJSHandle>): QuickJSHandle;
+    newError(error: {
+        name: string;
+        message: string;
+    }): QuickJSHandle;
+    newError(message: string): QuickJSHandle;
+    newError(): QuickJSHandle;
+    /**
+     * `typeof` operator. **Not** [standards compliant](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof).
+     *
+     * @remarks
+     * Does not support BigInt values correctly.
+     */
+    typeof(handle: QuickJSHandle): string;
+    /**
+     * Converts `handle` into a Javascript number.
+     * @returns `NaN` on error, otherwise a `number`.
+     */
+    getNumber(handle: QuickJSHandle): number;
+    /**
+     * Converts `handle` to a Javascript string.
+     */
+    getString(handle: QuickJSHandle): string;
+    /**
+     * Converts `handle` into a Javascript symbol. If the symbol is in the global
+     * registry in the guest, it will be created with Symbol.for on the host.
+     */
+    getSymbol(handle: QuickJSHandle): symbol;
+    /**
+     * Converts `handle` to a Javascript bigint.
+     */
+    getBigInt(handle: QuickJSHandle): bigint;
+    /**
+     * `Promise.resolve(value)`.
+     * Convert a handle containing a Promise-like value inside the VM into an
+     * actual promise on the host.
+     *
+     * @remarks
+     * You may need to call [[executePendingJobs]] to ensure that the promise is resolved.
+     *
+     * @param promiseLikeHandle - A handle to a Promise-like value with a `.then(onSuccess, onError)` method.
+     */
+    resolvePromise(promiseLikeHandle: QuickJSHandle): Promise<VmCallResult<QuickJSHandle>>;
+    /**
+     * `handle[key]`.
+     * Get a property from a JSValue.
+     *
+     * @param key - The property may be specified as a JSValue handle, or as a
+     * Javascript string (which will be converted automatically).
+     */
+    getProp(handle: QuickJSHandle, key: QuickJSPropertyKey): QuickJSHandle;
+    /**
+     * `handle[key] = value`.
+     * Set a property on a JSValue.
+     *
+     * @remarks
+     * Note that the QuickJS authors recommend using [[defineProp]] to define new
+     * properties.
+     *
+     * @param key - The property may be specified as a JSValue handle, or as a
+     * Javascript string or number (which will be converted automatically to a JSValue).
+     */
+    setProp(handle: QuickJSHandle, key: QuickJSPropertyKey, value: QuickJSHandle): void;
+    /**
+     * [`Object.defineProperty(handle, key, descriptor)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty).
+     *
+     * @param key - The property may be specified as a JSValue handle, or as a
+     * Javascript string or number (which will be converted automatically to a JSValue).
+     */
+    defineProp(handle: QuickJSHandle, key: QuickJSPropertyKey, descriptor: VmPropertyDescriptor<QuickJSHandle>): void;
+    /**
+     * [`func.call(thisVal, ...args)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call).
+     * Call a JSValue as a function.
+     *
+     * See [[unwrapResult]], which will throw if the function returned an error, or
+     * return the result handle directly. If evaluation returned a handle containing
+     * a promise, use [[resolvePromise]] to convert it to a native promise and
+     * [[executePendingJobs]] to finish evaluating the promise.
+     *
+     * @returns A result. If the function threw synchronously, `result.error` be a
+     * handle to the exception. Otherwise `result.value` will be a handle to the
+     * value.
+     */
+    callFunction(func: QuickJSHandle, thisVal: QuickJSHandle, ...args: QuickJSHandle[]): VmCallResult<QuickJSHandle>;
+    /**
+     * Like [`eval(code)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval#Description).
+     * Evaluates the Javascript source `code` in the global scope of this VM.
+     * When working with async code, you many need to call [[executePendingJobs]]
+     * to execute callbacks pending after synchronous evaluation returns.
+     *
+     * See [[unwrapResult]], which will throw if the function returned an error, or
+     * return the result handle directly. If evaluation returned a handle containing
+     * a promise, use [[resolvePromise]] to convert it to a native promise and
+     * [[executePendingJobs]] to finish evaluating the promise.
+     *
+     * *Note*: to protect against infinite loops, provide an interrupt handler to
+     * [[setInterruptHandler]]. You can use [[shouldInterruptAfterDeadline]] to
+     * create a time-based deadline.
+     *
+     * @returns The last statement's value. If the code threw synchronously,
+     * `result.error` will be a handle to the exception. If execution was
+     * interrupted, the error will have name `InternalError` and message
+     * `interrupted`.
+     */
+    evalCode(code: string, filename?: string, 
+    /**
+     * If no options are passed, a heuristic will be used to detect if `code` is
+     * an ES module.
+     *
+     * See [[EvalFlags]] for number semantics.
+     */
+    options?: number | ContextEvalOptions): VmCallResult<QuickJSHandle>;
+    /**
+     * Throw an error in the VM, interrupted whatever current execution is in progress when execution resumes.
+     * @experimental
+     */
+    throw(error: Error | QuickJSHandle): any;
+    /**
+     * @private
+     */
+    protected borrowPropertyKey(key: QuickJSPropertyKey): QuickJSHandle;
+    /**
+     * @private
+     */
+    getMemory(rt: JSRuntimePointer): ContextMemory;
+    /**
+     * Dump a JSValue to Javascript in a best-effort fashion.
+     * Returns `handle.toString()` if it cannot be serialized to JSON.
+     */
+    dump(handle: QuickJSHandle): any;
+    /**
+     * Unwrap a SuccessOrFail result such as a [[VmCallResult]] or a
+     * [[ExecutePendingJobsResult]], where the fail branch contains a handle to a QuickJS error value.
+     * If the result is a success, returns the value.
+     * If the result is an error, converts the error to a native object and throws the error.
+     */
+    unwrapResult<T>(result: SuccessOrFail<T, QuickJSHandle>): T;
+    /** @private */
+    protected fnNextId: number;
+    /** @private */
+    protected fnMaps: Map<number, Map<number, VmFunctionImplementation<QuickJSHandle>>>;
+    /** @private */
+    protected getFunction(fn_id: number): VmFunctionImplementation<QuickJSHandle> | undefined;
+    /** @private */
+    protected setFunction(fn_id: number, handle: VmFunctionImplementation<QuickJSHandle>): Map<number, VmFunctionImplementation<QuickJSHandle>>;
+    /**
+     * @hidden
+     */
+    private cToHostCallbacks;
+    private errorToHandle;
+}
+export {};
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/context.js b/node_modules/@tootallnate/quickjs-emscripten/dist/context.js
new file mode 100644
index 0000000..e65258d
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/context.js
@@ -0,0 +1,691 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.QuickJSContext = void 0;
+const debug_1 = require("./debug");
+const deferred_promise_1 = require("./deferred-promise");
+const errors_1 = require("./errors");
+const lifetime_1 = require("./lifetime");
+const memory_1 = require("./memory");
+const types_1 = require("./types");
+/**
+ * @private
+ */
+class ContextMemory extends memory_1.ModuleMemory {
+    /** @private */
+    constructor(args) {
+        super(args.module);
+        this.scope = new lifetime_1.Scope();
+        this.copyJSValue = (ptr) => {
+            return this.ffi.QTS_DupValuePointer(this.ctx.value, ptr);
+        };
+        this.freeJSValue = (ptr) => {
+            this.ffi.QTS_FreeValuePointer(this.ctx.value, ptr);
+        };
+        args.ownedLifetimes?.forEach((lifetime) => this.scope.manage(lifetime));
+        this.owner = args.owner;
+        this.module = args.module;
+        this.ffi = args.ffi;
+        this.rt = args.rt;
+        this.ctx = this.scope.manage(args.ctx);
+    }
+    get alive() {
+        return this.scope.alive;
+    }
+    dispose() {
+        return this.scope.dispose();
+    }
+    /**
+     * Track `lifetime` so that it is disposed when this scope is disposed.
+     */
+    manage(lifetime) {
+        return this.scope.manage(lifetime);
+    }
+    consumeJSCharPointer(ptr) {
+        const str = this.module.UTF8ToString(ptr);
+        this.ffi.QTS_FreeCString(this.ctx.value, ptr);
+        return str;
+    }
+    heapValueHandle(ptr) {
+        return new lifetime_1.Lifetime(ptr, this.copyJSValue, this.freeJSValue, this.owner);
+    }
+}
+/**
+ * QuickJSContext wraps a QuickJS Javascript context (JSContext*) within a
+ * runtime. The contexts within the same runtime may exchange objects freely.
+ * You can think of separate runtimes like different domains in a browser, and
+ * the contexts within a runtime like the different windows open to the same
+ * domain. The {@link runtime} references the context's runtime.
+ *
+ * This class's methods return {@link QuickJSHandle}, which wrap C pointers (JSValue*).
+ * It's the caller's responsibility to call `.dispose()` on any
+ * handles you create to free memory once you're done with the handle.
+ *
+ * Use {@link QuickJSRuntime.newContext} or {@link QuickJSWASMModule.newContext}
+ * to create a new QuickJSContext.
+ *
+ * Create QuickJS values inside the interpreter with methods like
+ * [[newNumber]], [[newString]], [[newArray]], [[newObject]],
+ * [[newFunction]], and [[newPromise]].
+ *
+ * Call [[setProp]] or [[defineProp]] to customize objects. Use those methods
+ * with [[global]] to expose the values you create to the interior of the
+ * interpreter, so they can be used in [[evalCode]].
+ *
+ * Use [[evalCode]] or [[callFunction]] to execute Javascript inside the VM. If
+ * you're using asynchronous code inside the QuickJSContext, you may need to also
+ * call [[executePendingJobs]]. Executing code inside the runtime returns a
+ * result object representing successful execution or an error. You must dispose
+ * of any such results to avoid leaking memory inside the VM.
+ *
+ * Implement memory and CPU constraints at the runtime level, using [[runtime]].
+ * See {@link QuickJSRuntime} for more information.
+ *
+ */
+// TODO: Manage own callback registration
+class QuickJSContext {
+    /**
+     * Use {@link QuickJS.createVm} to create a QuickJSContext instance.
+     */
+    constructor(args) {
+        /** @private */
+        this._undefined = undefined;
+        /** @private */
+        this._null = undefined;
+        /** @private */
+        this._false = undefined;
+        /** @private */
+        this._true = undefined;
+        /** @private */
+        this._global = undefined;
+        /** @private */
+        this._BigInt = undefined;
+        /** @private */
+        this.fnNextId = -32768; // min value of signed 16bit int used by Quickjs
+        /** @private */
+        this.fnMaps = new Map();
+        /**
+         * @hidden
+         */
+        this.cToHostCallbacks = {
+            callFunction: (ctx, this_ptr, argc, argv, fn_id) => {
+                if (ctx !== this.ctx.value) {
+                    throw new Error("QuickJSContext instance received C -> JS call with mismatched ctx");
+                }
+                const fn = this.getFunction(fn_id);
+                if (!fn) {
+                    // this "throw" is not catch-able from the TS side. could we somehow handle this higher up?
+                    throw new Error(`QuickJSContext had no callback with id ${fn_id}`);
+                }
+                return lifetime_1.Scope.withScopeMaybeAsync(this, function* (awaited, scope) {
+                    const thisHandle = scope.manage(new lifetime_1.WeakLifetime(this_ptr, this.memory.copyJSValue, this.memory.freeJSValue, this.runtime));
+                    const argHandles = new Array(argc);
+                    for (let i = 0; i < argc; i++) {
+                        const ptr = this.ffi.QTS_ArgvGetJSValueConstPointer(argv, i);
+                        argHandles[i] = scope.manage(new lifetime_1.WeakLifetime(ptr, this.memory.copyJSValue, this.memory.freeJSValue, this.runtime));
+                    }
+                    try {
+                        const result = yield* awaited(fn.apply(thisHandle, argHandles));
+                        if (result) {
+                            if ("error" in result && result.error) {
+                                (0, debug_1.debugLog)("throw error", result.error);
+                                throw result.error;
+                            }
+                            const handle = scope.manage(result instanceof lifetime_1.Lifetime ? result : result.value);
+                            return this.ffi.QTS_DupValuePointer(this.ctx.value, handle.value);
+                        }
+                        return 0;
+                    }
+                    catch (error) {
+                        return this.errorToHandle(error).consume((errorHandle) => this.ffi.QTS_Throw(this.ctx.value, errorHandle.value));
+                    }
+                });
+            },
+        };
+        this.runtime = args.runtime;
+        this.module = args.module;
+        this.ffi = args.ffi;
+        this.rt = args.rt;
+        this.ctx = args.ctx;
+        this.memory = new ContextMemory({
+            ...args,
+            owner: this.runtime,
+        });
+        args.callbacks.setContextCallbacks(this.ctx.value, this.cToHostCallbacks);
+        this.dump = this.dump.bind(this);
+        this.getString = this.getString.bind(this);
+        this.getNumber = this.getNumber.bind(this);
+        this.resolvePromise = this.resolvePromise.bind(this);
+    }
+    // @implement Disposable ----------------------------------------------------
+    get alive() {
+        return this.memory.alive;
+    }
+    /**
+     * Dispose of this VM's underlying resources.
+     *
+     * @throws Calling this method without disposing of all created handles
+     * will result in an error.
+     */
+    dispose() {
+        this.memory.dispose();
+    }
+    // Globals ------------------------------------------------------------------
+    /**
+     * [`undefined`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined).
+     */
+    get undefined() {
+        if (this._undefined) {
+            return this._undefined;
+        }
+        // Undefined is a constant, immutable value in QuickJS.
+        const ptr = this.ffi.QTS_GetUndefined();
+        return (this._undefined = new lifetime_1.StaticLifetime(ptr));
+    }
+    /**
+     * [`null`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null).
+     */
+    get null() {
+        if (this._null) {
+            return this._null;
+        }
+        // Null is a constant, immutable value in QuickJS.
+        const ptr = this.ffi.QTS_GetNull();
+        return (this._null = new lifetime_1.StaticLifetime(ptr));
+    }
+    /**
+     * [`true`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/true).
+     */
+    get true() {
+        if (this._true) {
+            return this._true;
+        }
+        // True is a constant, immutable value in QuickJS.
+        const ptr = this.ffi.QTS_GetTrue();
+        return (this._true = new lifetime_1.StaticLifetime(ptr));
+    }
+    /**
+     * [`false`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/false).
+     */
+    get false() {
+        if (this._false) {
+            return this._false;
+        }
+        // False is a constant, immutable value in QuickJS.
+        const ptr = this.ffi.QTS_GetFalse();
+        return (this._false = new lifetime_1.StaticLifetime(ptr));
+    }
+    /**
+     * [`global`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects).
+     * A handle to the global object inside the interpreter.
+     * You can set properties to create global variables.
+     */
+    get global() {
+        if (this._global) {
+            return this._global;
+        }
+        // The global is a JSValue, but since it's lifetime is as long as the VM's,
+        // we should manage it.
+        const ptr = this.ffi.QTS_GetGlobalObject(this.ctx.value);
+        // Automatically clean up this reference when we dispose
+        this.memory.manage(this.memory.heapValueHandle(ptr));
+        // This isn't technically a static lifetime, but since it has the same
+        // lifetime as the VM, it's okay to fake one since when the VM is
+        // disposed, no other functions will accept the value.
+        this._global = new lifetime_1.StaticLifetime(ptr, this.runtime);
+        return this._global;
+    }
+    // New values ---------------------------------------------------------------
+    /**
+     * Converts a Javascript number into a QuickJS value.
+     */
+    newNumber(num) {
+        return this.memory.heapValueHandle(this.ffi.QTS_NewFloat64(this.ctx.value, num));
+    }
+    /**
+     * Create a QuickJS [string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) value.
+     */
+    newString(str) {
+        const ptr = this.memory
+            .newHeapCharPointer(str)
+            .consume((charHandle) => this.ffi.QTS_NewString(this.ctx.value, charHandle.value));
+        return this.memory.heapValueHandle(ptr);
+    }
+    /**
+     * Create a QuickJS [symbol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol) value.
+     * No two symbols created with this function will be the same value.
+     */
+    newUniqueSymbol(description) {
+        const key = (typeof description === "symbol" ? description.description : description) ?? "";
+        const ptr = this.memory
+            .newHeapCharPointer(key)
+            .consume((charHandle) => this.ffi.QTS_NewSymbol(this.ctx.value, charHandle.value, 0));
+        return this.memory.heapValueHandle(ptr);
+    }
+    /**
+     * Get a symbol from the [global registry](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#shared_symbols_in_the_global_symbol_registry) for the given key.
+     * All symbols created with the same key will be the same value.
+     */
+    newSymbolFor(key) {
+        const description = (typeof key === "symbol" ? key.description : key) ?? "";
+        const ptr = this.memory
+            .newHeapCharPointer(description)
+            .consume((charHandle) => this.ffi.QTS_NewSymbol(this.ctx.value, charHandle.value, 1));
+        return this.memory.heapValueHandle(ptr);
+    }
+    /**
+     * Create a QuickJS [bigint](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) value.
+     */
+    newBigInt(num) {
+        if (!this._BigInt) {
+            const bigIntHandle = this.getProp(this.global, "BigInt");
+            this.memory.manage(bigIntHandle);
+            this._BigInt = new lifetime_1.StaticLifetime(bigIntHandle.value, this.runtime);
+        }
+        const bigIntHandle = this._BigInt;
+        const asString = String(num);
+        return this.newString(asString).consume((handle) => this.unwrapResult(this.callFunction(bigIntHandle, this.undefined, handle)));
+    }
+    /**
+     * `{}`.
+     * Create a new QuickJS [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer).
+     *
+     * @param prototype - Like [`Object.create`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create).
+     */
+    newObject(prototype) {
+        if (prototype) {
+            this.runtime.assertOwned(prototype);
+        }
+        const ptr = prototype
+            ? this.ffi.QTS_NewObjectProto(this.ctx.value, prototype.value)
+            : this.ffi.QTS_NewObject(this.ctx.value);
+        return this.memory.heapValueHandle(ptr);
+    }
+    /**
+     * `[]`.
+     * Create a new QuickJS [array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array).
+     */
+    newArray() {
+        const ptr = this.ffi.QTS_NewArray(this.ctx.value);
+        return this.memory.heapValueHandle(ptr);
+    }
+    newPromise(value) {
+        const deferredPromise = lifetime_1.Scope.withScope((scope) => {
+            const mutablePointerArray = scope.manage(this.memory.newMutablePointerArray(2));
+            const promisePtr = this.ffi.QTS_NewPromiseCapability(this.ctx.value, mutablePointerArray.value.ptr);
+            const promiseHandle = this.memory.heapValueHandle(promisePtr);
+            const [resolveHandle, rejectHandle] = Array.from(mutablePointerArray.value.typedArray).map((jsvaluePtr) => this.memory.heapValueHandle(jsvaluePtr));
+            return new deferred_promise_1.QuickJSDeferredPromise({
+                context: this,
+                promiseHandle,
+                resolveHandle,
+                rejectHandle,
+            });
+        });
+        if (value && typeof value === "function") {
+            value = new Promise(value);
+        }
+        if (value) {
+            Promise.resolve(value).then(deferredPromise.resolve, (error) => error instanceof lifetime_1.Lifetime
+                ? deferredPromise.reject(error)
+                : this.newError(error).consume(deferredPromise.reject));
+        }
+        return deferredPromise;
+    }
+    /**
+     * Convert a Javascript function into a QuickJS function value.
+     * See [[VmFunctionImplementation]] for more details.
+     *
+     * A [[VmFunctionImplementation]] should not free its arguments or its return
+     * value. A VmFunctionImplementation should also not retain any references to
+     * its return value.
+     *
+     * To implement an async function, create a promise with [[newPromise]], then
+     * return the deferred promise handle from `deferred.handle` from your
+     * function implementation:
+     *
+     * ```
+     * const deferred = vm.newPromise()
+     * someNativeAsyncFunction().then(deferred.resolve)
+     * return deferred.handle
+     * ```
+     */
+    newFunction(name, fn) {
+        const fnId = ++this.fnNextId;
+        this.setFunction(fnId, fn);
+        return this.memory.heapValueHandle(this.ffi.QTS_NewFunction(this.ctx.value, fnId, name));
+    }
+    newError(error) {
+        const errorHandle = this.memory.heapValueHandle(this.ffi.QTS_NewError(this.ctx.value));
+        if (error && typeof error === "object") {
+            if (error.name !== undefined) {
+                this.newString(error.name).consume((handle) => this.setProp(errorHandle, "name", handle));
+            }
+            if (error.message !== undefined) {
+                this.newString(error.message).consume((handle) => this.setProp(errorHandle, "message", handle));
+            }
+        }
+        else if (typeof error === "string") {
+            this.newString(error).consume((handle) => this.setProp(errorHandle, "message", handle));
+        }
+        else if (error !== undefined) {
+            // This isn't supported in the type signature but maybe it will make life easier.
+            this.newString(String(error)).consume((handle) => this.setProp(errorHandle, "message", handle));
+        }
+        return errorHandle;
+    }
+    // Read values --------------------------------------------------------------
+    /**
+     * `typeof` operator. **Not** [standards compliant](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof).
+     *
+     * @remarks
+     * Does not support BigInt values correctly.
+     */
+    typeof(handle) {
+        this.runtime.assertOwned(handle);
+        return this.memory.consumeHeapCharPointer(this.ffi.QTS_Typeof(this.ctx.value, handle.value));
+    }
+    /**
+     * Converts `handle` into a Javascript number.
+     * @returns `NaN` on error, otherwise a `number`.
+     */
+    getNumber(handle) {
+        this.runtime.assertOwned(handle);
+        return this.ffi.QTS_GetFloat64(this.ctx.value, handle.value);
+    }
+    /**
+     * Converts `handle` to a Javascript string.
+     */
+    getString(handle) {
+        this.runtime.assertOwned(handle);
+        return this.memory.consumeJSCharPointer(this.ffi.QTS_GetString(this.ctx.value, handle.value));
+    }
+    /**
+     * Converts `handle` into a Javascript symbol. If the symbol is in the global
+     * registry in the guest, it will be created with Symbol.for on the host.
+     */
+    getSymbol(handle) {
+        this.runtime.assertOwned(handle);
+        const key = this.memory.consumeJSCharPointer(this.ffi.QTS_GetSymbolDescriptionOrKey(this.ctx.value, handle.value));
+        const isGlobal = this.ffi.QTS_IsGlobalSymbol(this.ctx.value, handle.value);
+        return isGlobal ? Symbol.for(key) : Symbol(key);
+    }
+    /**
+     * Converts `handle` to a Javascript bigint.
+     */
+    getBigInt(handle) {
+        this.runtime.assertOwned(handle);
+        const asString = this.getString(handle);
+        return BigInt(asString);
+    }
+    /**
+     * `Promise.resolve(value)`.
+     * Convert a handle containing a Promise-like value inside the VM into an
+     * actual promise on the host.
+     *
+     * @remarks
+     * You may need to call [[executePendingJobs]] to ensure that the promise is resolved.
+     *
+     * @param promiseLikeHandle - A handle to a Promise-like value with a `.then(onSuccess, onError)` method.
+     */
+    resolvePromise(promiseLikeHandle) {
+        this.runtime.assertOwned(promiseLikeHandle);
+        const vmResolveResult = lifetime_1.Scope.withScope((scope) => {
+            const vmPromise = scope.manage(this.getProp(this.global, "Promise"));
+            const vmPromiseResolve = scope.manage(this.getProp(vmPromise, "resolve"));
+            return this.callFunction(vmPromiseResolve, vmPromise, promiseLikeHandle);
+        });
+        if (vmResolveResult.error) {
+            return Promise.resolve(vmResolveResult);
+        }
+        return new Promise((resolve) => {
+            lifetime_1.Scope.withScope((scope) => {
+                const resolveHandle = scope.manage(this.newFunction("resolve", (value) => {
+                    resolve({ value: value && value.dup() });
+                }));
+                const rejectHandle = scope.manage(this.newFunction("reject", (error) => {
+                    resolve({ error: error && error.dup() });
+                }));
+                const promiseHandle = scope.manage(vmResolveResult.value);
+                const promiseThenHandle = scope.manage(this.getProp(promiseHandle, "then"));
+                this.unwrapResult(this.callFunction(promiseThenHandle, promiseHandle, resolveHandle, rejectHandle)).dispose();
+            });
+        });
+    }
+    // Properties ---------------------------------------------------------------
+    /**
+     * `handle[key]`.
+     * Get a property from a JSValue.
+     *
+     * @param key - The property may be specified as a JSValue handle, or as a
+     * Javascript string (which will be converted automatically).
+     */
+    getProp(handle, key) {
+        this.runtime.assertOwned(handle);
+        const ptr = this.borrowPropertyKey(key).consume((quickJSKey) => this.ffi.QTS_GetProp(this.ctx.value, handle.value, quickJSKey.value));
+        const result = this.memory.heapValueHandle(ptr);
+        return result;
+    }
+    /**
+     * `handle[key] = value`.
+     * Set a property on a JSValue.
+     *
+     * @remarks
+     * Note that the QuickJS authors recommend using [[defineProp]] to define new
+     * properties.
+     *
+     * @param key - The property may be specified as a JSValue handle, or as a
+     * Javascript string or number (which will be converted automatically to a JSValue).
+     */
+    setProp(handle, key, value) {
+        this.runtime.assertOwned(handle);
+        // free newly allocated value if key was a string or number. No-op if string was already
+        // a QuickJS handle.
+        this.borrowPropertyKey(key).consume((quickJSKey) => this.ffi.QTS_SetProp(this.ctx.value, handle.value, quickJSKey.value, value.value));
+    }
+    /**
+     * [`Object.defineProperty(handle, key, descriptor)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty).
+     *
+     * @param key - The property may be specified as a JSValue handle, or as a
+     * Javascript string or number (which will be converted automatically to a JSValue).
+     */
+    defineProp(handle, key, descriptor) {
+        this.runtime.assertOwned(handle);
+        lifetime_1.Scope.withScope((scope) => {
+            const quickJSKey = scope.manage(this.borrowPropertyKey(key));
+            const value = descriptor.value || this.undefined;
+            const configurable = Boolean(descriptor.configurable);
+            const enumerable = Boolean(descriptor.enumerable);
+            const hasValue = Boolean(descriptor.value);
+            const get = descriptor.get
+                ? scope.manage(this.newFunction(descriptor.get.name, descriptor.get))
+                : this.undefined;
+            const set = descriptor.set
+                ? scope.manage(this.newFunction(descriptor.set.name, descriptor.set))
+                : this.undefined;
+            this.ffi.QTS_DefineProp(this.ctx.value, handle.value, quickJSKey.value, value.value, get.value, set.value, configurable, enumerable, hasValue);
+        });
+    }
+    // Evaluation ---------------------------------------------------------------
+    /**
+     * [`func.call(thisVal, ...args)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call).
+     * Call a JSValue as a function.
+     *
+     * See [[unwrapResult]], which will throw if the function returned an error, or
+     * return the result handle directly. If evaluation returned a handle containing
+     * a promise, use [[resolvePromise]] to convert it to a native promise and
+     * [[executePendingJobs]] to finish evaluating the promise.
+     *
+     * @returns A result. If the function threw synchronously, `result.error` be a
+     * handle to the exception. Otherwise `result.value` will be a handle to the
+     * value.
+     */
+    callFunction(func, thisVal, ...args) {
+        this.runtime.assertOwned(func);
+        const resultPtr = this.memory
+            .toPointerArray(args)
+            .consume((argsArrayPtr) => this.ffi.QTS_Call(this.ctx.value, func.value, thisVal.value, args.length, argsArrayPtr.value));
+        const errorPtr = this.ffi.QTS_ResolveException(this.ctx.value, resultPtr);
+        if (errorPtr) {
+            this.ffi.QTS_FreeValuePointer(this.ctx.value, resultPtr);
+            return { error: this.memory.heapValueHandle(errorPtr) };
+        }
+        return { value: this.memory.heapValueHandle(resultPtr) };
+    }
+    /**
+     * Like [`eval(code)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval#Description).
+     * Evaluates the Javascript source `code` in the global scope of this VM.
+     * When working with async code, you many need to call [[executePendingJobs]]
+     * to execute callbacks pending after synchronous evaluation returns.
+     *
+     * See [[unwrapResult]], which will throw if the function returned an error, or
+     * return the result handle directly. If evaluation returned a handle containing
+     * a promise, use [[resolvePromise]] to convert it to a native promise and
+     * [[executePendingJobs]] to finish evaluating the promise.
+     *
+     * *Note*: to protect against infinite loops, provide an interrupt handler to
+     * [[setInterruptHandler]]. You can use [[shouldInterruptAfterDeadline]] to
+     * create a time-based deadline.
+     *
+     * @returns The last statement's value. If the code threw synchronously,
+     * `result.error` will be a handle to the exception. If execution was
+     * interrupted, the error will have name `InternalError` and message
+     * `interrupted`.
+     */
+    evalCode(code, filename = "eval.js", 
+    /**
+     * If no options are passed, a heuristic will be used to detect if `code` is
+     * an ES module.
+     *
+     * See [[EvalFlags]] for number semantics.
+     */
+    options) {
+        const detectModule = (options === undefined ? 1 : 0);
+        const flags = (0, types_1.evalOptionsToFlags)(options);
+        const resultPtr = this.memory
+            .newHeapCharPointer(code)
+            .consume((charHandle) => this.ffi.QTS_Eval(this.ctx.value, charHandle.value, filename, detectModule, flags));
+        const errorPtr = this.ffi.QTS_ResolveException(this.ctx.value, resultPtr);
+        if (errorPtr) {
+            this.ffi.QTS_FreeValuePointer(this.ctx.value, resultPtr);
+            return { error: this.memory.heapValueHandle(errorPtr) };
+        }
+        return { value: this.memory.heapValueHandle(resultPtr) };
+    }
+    /**
+     * Throw an error in the VM, interrupted whatever current execution is in progress when execution resumes.
+     * @experimental
+     */
+    throw(error) {
+        return this.errorToHandle(error).consume((handle) => this.ffi.QTS_Throw(this.ctx.value, handle.value));
+    }
+    /**
+     * @private
+     */
+    borrowPropertyKey(key) {
+        if (typeof key === "number") {
+            return this.newNumber(key);
+        }
+        if (typeof key === "string") {
+            return this.newString(key);
+        }
+        // key is already a JSValue, but we're borrowing it. Return a static handle
+        // for internal use only.
+        return new lifetime_1.StaticLifetime(key.value, this.runtime);
+    }
+    /**
+     * @private
+     */
+    getMemory(rt) {
+        if (rt === this.rt.value) {
+            return this.memory;
+        }
+        else {
+            throw new Error("Private API. Cannot get memory from a different runtime");
+        }
+    }
+    // Utilities ----------------------------------------------------------------
+    /**
+     * Dump a JSValue to Javascript in a best-effort fashion.
+     * Returns `handle.toString()` if it cannot be serialized to JSON.
+     */
+    dump(handle) {
+        this.runtime.assertOwned(handle);
+        const type = this.typeof(handle);
+        if (type === "string") {
+            return this.getString(handle);
+        }
+        else if (type === "number") {
+            return this.getNumber(handle);
+        }
+        else if (type === "bigint") {
+            return this.getBigInt(handle);
+        }
+        else if (type === "undefined") {
+            return undefined;
+        }
+        else if (type === "symbol") {
+            return this.getSymbol(handle);
+        }
+        const str = this.memory.consumeJSCharPointer(this.ffi.QTS_Dump(this.ctx.value, handle.value));
+        try {
+            return JSON.parse(str);
+        }
+        catch (err) {
+            return str;
+        }
+    }
+    /**
+     * Unwrap a SuccessOrFail result such as a [[VmCallResult]] or a
+     * [[ExecutePendingJobsResult]], where the fail branch contains a handle to a QuickJS error value.
+     * If the result is a success, returns the value.
+     * If the result is an error, converts the error to a native object and throws the error.
+     */
+    unwrapResult(result) {
+        if (result.error) {
+            const context = "context" in result.error ? result.error.context : this;
+            const cause = result.error.consume((error) => this.dump(error));
+            if (cause && typeof cause === "object" && typeof cause.message === "string") {
+                const { message, name, stack } = cause;
+                const exception = new errors_1.QuickJSUnwrapError("");
+                const hostStack = exception.stack;
+                if (typeof name === "string") {
+                    exception.name = cause.name;
+                }
+                if (typeof stack === "string") {
+                    exception.stack = `${name}: ${message}\n${cause.stack}Host: ${hostStack}`;
+                }
+                Object.assign(exception, { cause, context, message });
+                throw exception;
+            }
+            throw new errors_1.QuickJSUnwrapError(cause, context);
+        }
+        return result.value;
+    }
+    /** @private */
+    getFunction(fn_id) {
+        const map_id = fn_id >> 8;
+        const fnMap = this.fnMaps.get(map_id);
+        if (!fnMap) {
+            return undefined;
+        }
+        return fnMap.get(fn_id);
+    }
+    /** @private */
+    setFunction(fn_id, handle) {
+        const map_id = fn_id >> 8;
+        let fnMap = this.fnMaps.get(map_id);
+        if (!fnMap) {
+            fnMap = new Map();
+            this.fnMaps.set(map_id, fnMap);
+        }
+        return fnMap.set(fn_id, handle);
+    }
+    errorToHandle(error) {
+        if (error instanceof lifetime_1.Lifetime) {
+            return error;
+        }
+        return this.newError(error);
+    }
+}
+exports.QuickJSContext = QuickJSContext;
+//# sourceMappingURL=context.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/context.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/context.js.map
new file mode 100644
index 0000000..1398a53
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/context.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"context.js","sourceRoot":"","sources":["../ts/context.ts"],"names":[],"mappings":"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","sourcesContent":["import { debugLog } from \"./debug\"\nimport { QuickJSDeferredPromise } from \"./deferred-promise\"\nimport type { EitherModule } from \"./emscripten-types\"\nimport { QuickJSUnwrapError } from \"./errors\"\nimport {\n  EvalDetectModule,\n  EvalFlags,\n  JSBorrowedCharPointer,\n  JSContextPointer,\n  JSModuleDefPointer,\n  JSRuntimePointer,\n  JSValueConstPointer,\n  JSValuePointer,\n  JSValuePointerPointer,\n  JSVoidPointer,\n} from \"./types-ffi\"\nimport { Disposable, Lifetime, Scope, StaticLifetime, WeakLifetime } from \"./lifetime\"\nimport { ModuleMemory } from \"./memory\"\nimport { ContextCallbacks, QuickJSModuleCallbacks } from \"./module\"\nimport { QuickJSRuntime } from \"./runtime\"\nimport {\n  ContextEvalOptions,\n  EitherFFI,\n  evalOptionsToFlags,\n  JSValue,\n  PromiseExecutor,\n  QuickJSHandle,\n} from \"./types\"\nimport {\n  LowLevelJavascriptVm,\n  SuccessOrFail,\n  VmCallResult,\n  VmFunctionImplementation,\n  VmPropertyDescriptor,\n} from \"./vm-interface\"\n\n/**\n * Property key for getting or setting a property on a handle with\n * [[QuickJSContext.getProp]], [[QuickJSContext.setProp]], or [[QuickJSContext.defineProp]].\n */\nexport type QuickJSPropertyKey = number | string | QuickJSHandle\n\n/**\n * @private\n */\nclass ContextMemory extends ModuleMemory implements Disposable {\n  readonly owner: QuickJSRuntime\n  readonly ctx: Lifetime<JSContextPointer>\n  readonly rt: Lifetime<JSRuntimePointer>\n  readonly module: EitherModule\n  readonly ffi: EitherFFI\n  readonly scope = new Scope()\n\n  /** @private */\n  constructor(args: {\n    owner: QuickJSRuntime\n    module: EitherModule\n    ffi: EitherFFI\n    ctx: Lifetime<JSContextPointer>\n    rt: Lifetime<JSRuntimePointer>\n    ownedLifetimes?: Disposable[]\n  }) {\n    super(args.module)\n    args.ownedLifetimes?.forEach((lifetime) => this.scope.manage(lifetime))\n    this.owner = args.owner\n    this.module = args.module\n    this.ffi = args.ffi\n    this.rt = args.rt\n    this.ctx = this.scope.manage(args.ctx)\n  }\n\n  get alive() {\n    return this.scope.alive\n  }\n\n  dispose() {\n    return this.scope.dispose()\n  }\n\n  /**\n   * Track `lifetime` so that it is disposed when this scope is disposed.\n   */\n  manage<T extends Disposable>(lifetime: T): T {\n    return this.scope.manage(lifetime)\n  }\n\n  copyJSValue = (ptr: JSValuePointer | JSValueConstPointer) => {\n    return this.ffi.QTS_DupValuePointer(this.ctx.value, ptr)\n  }\n\n  freeJSValue = (ptr: JSValuePointer) => {\n    this.ffi.QTS_FreeValuePointer(this.ctx.value, ptr)\n  }\n\n  consumeJSCharPointer(ptr: JSBorrowedCharPointer): string {\n    const str = this.module.UTF8ToString(ptr)\n    this.ffi.QTS_FreeCString(this.ctx.value, ptr)\n    return str\n  }\n\n  heapValueHandle(ptr: JSValuePointer): JSValue {\n    return new Lifetime(ptr, this.copyJSValue, this.freeJSValue, this.owner)\n  }\n}\n\n/**\n * QuickJSContext wraps a QuickJS Javascript context (JSContext*) within a\n * runtime. The contexts within the same runtime may exchange objects freely.\n * You can think of separate runtimes like different domains in a browser, and\n * the contexts within a runtime like the different windows open to the same\n * domain. The {@link runtime} references the context's runtime.\n *\n * This class's methods return {@link QuickJSHandle}, which wrap C pointers (JSValue*).\n * It's the caller's responsibility to call `.dispose()` on any\n * handles you create to free memory once you're done with the handle.\n *\n * Use {@link QuickJSRuntime.newContext} or {@link QuickJSWASMModule.newContext}\n * to create a new QuickJSContext.\n *\n * Create QuickJS values inside the interpreter with methods like\n * [[newNumber]], [[newString]], [[newArray]], [[newObject]],\n * [[newFunction]], and [[newPromise]].\n *\n * Call [[setProp]] or [[defineProp]] to customize objects. Use those methods\n * with [[global]] to expose the values you create to the interior of the\n * interpreter, so they can be used in [[evalCode]].\n *\n * Use [[evalCode]] or [[callFunction]] to execute Javascript inside the VM. If\n * you're using asynchronous code inside the QuickJSContext, you may need to also\n * call [[executePendingJobs]]. Executing code inside the runtime returns a\n * result object representing successful execution or an error. You must dispose\n * of any such results to avoid leaking memory inside the VM.\n *\n * Implement memory and CPU constraints at the runtime level, using [[runtime]].\n * See {@link QuickJSRuntime} for more information.\n *\n */\n// TODO: Manage own callback registration\nexport class QuickJSContext implements LowLevelJavascriptVm<QuickJSHandle>, Disposable {\n  /**\n   * The runtime that created this context.\n   */\n  public readonly runtime: QuickJSRuntime\n\n  /** @private */\n  protected readonly ctx: Lifetime<JSContextPointer>\n  /** @private */\n  protected readonly rt: Lifetime<JSRuntimePointer>\n  /** @private */\n  protected readonly module: EitherModule\n  /** @private */\n  protected readonly ffi: EitherFFI\n  /** @private */\n  protected memory: ContextMemory\n\n  /** @private */\n  protected _undefined: QuickJSHandle | undefined = undefined\n  /** @private */\n  protected _null: QuickJSHandle | undefined = undefined\n  /** @private */\n  protected _false: QuickJSHandle | undefined = undefined\n  /** @private */\n  protected _true: QuickJSHandle | undefined = undefined\n  /** @private */\n  protected _global: QuickJSHandle | undefined = undefined\n  /** @private */\n  protected _BigInt: QuickJSHandle | undefined = undefined\n\n  /**\n   * Use {@link QuickJS.createVm} to create a QuickJSContext instance.\n   */\n  constructor(args: {\n    module: EitherModule\n    ffi: EitherFFI\n    ctx: Lifetime<JSContextPointer>\n    rt: Lifetime<JSRuntimePointer>\n    runtime: QuickJSRuntime\n    ownedLifetimes?: Disposable[]\n    callbacks: QuickJSModuleCallbacks\n  }) {\n    this.runtime = args.runtime\n    this.module = args.module\n    this.ffi = args.ffi\n    this.rt = args.rt\n    this.ctx = args.ctx\n    this.memory = new ContextMemory({\n      ...args,\n      owner: this.runtime,\n    })\n    args.callbacks.setContextCallbacks(this.ctx.value, this.cToHostCallbacks)\n    this.dump = this.dump.bind(this)\n    this.getString = this.getString.bind(this)\n    this.getNumber = this.getNumber.bind(this)\n    this.resolvePromise = this.resolvePromise.bind(this)\n  }\n\n  // @implement Disposable ----------------------------------------------------\n\n  get alive() {\n    return this.memory.alive\n  }\n\n  /**\n   * Dispose of this VM's underlying resources.\n   *\n   * @throws Calling this method without disposing of all created handles\n   * will result in an error.\n   */\n  dispose() {\n    this.memory.dispose()\n  }\n\n  // Globals ------------------------------------------------------------------\n\n  /**\n   * [`undefined`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/undefined).\n   */\n  get undefined(): QuickJSHandle {\n    if (this._undefined) {\n      return this._undefined\n    }\n\n    // Undefined is a constant, immutable value in QuickJS.\n    const ptr = this.ffi.QTS_GetUndefined()\n    return (this._undefined = new StaticLifetime(ptr))\n  }\n\n  /**\n   * [`null`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/null).\n   */\n  get null(): QuickJSHandle {\n    if (this._null) {\n      return this._null\n    }\n\n    // Null is a constant, immutable value in QuickJS.\n    const ptr = this.ffi.QTS_GetNull()\n    return (this._null = new StaticLifetime(ptr))\n  }\n\n  /**\n   * [`true`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/true).\n   */\n  get true(): QuickJSHandle {\n    if (this._true) {\n      return this._true\n    }\n\n    // True is a constant, immutable value in QuickJS.\n    const ptr = this.ffi.QTS_GetTrue()\n    return (this._true = new StaticLifetime(ptr))\n  }\n\n  /**\n   * [`false`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/false).\n   */\n  get false(): QuickJSHandle {\n    if (this._false) {\n      return this._false\n    }\n\n    // False is a constant, immutable value in QuickJS.\n    const ptr = this.ffi.QTS_GetFalse()\n    return (this._false = new StaticLifetime(ptr))\n  }\n\n  /**\n   * [`global`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects).\n   * A handle to the global object inside the interpreter.\n   * You can set properties to create global variables.\n   */\n  get global(): QuickJSHandle {\n    if (this._global) {\n      return this._global\n    }\n\n    // The global is a JSValue, but since it's lifetime is as long as the VM's,\n    // we should manage it.\n    const ptr = this.ffi.QTS_GetGlobalObject(this.ctx.value)\n\n    // Automatically clean up this reference when we dispose\n    this.memory.manage(this.memory.heapValueHandle(ptr))\n\n    // This isn't technically a static lifetime, but since it has the same\n    // lifetime as the VM, it's okay to fake one since when the VM is\n    // disposed, no other functions will accept the value.\n    this._global = new StaticLifetime(ptr, this.runtime)\n    return this._global\n  }\n\n  // New values ---------------------------------------------------------------\n\n  /**\n   * Converts a Javascript number into a QuickJS value.\n   */\n  newNumber(num: number): QuickJSHandle {\n    return this.memory.heapValueHandle(this.ffi.QTS_NewFloat64(this.ctx.value, num))\n  }\n\n  /**\n   * Create a QuickJS [string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) value.\n   */\n  newString(str: string): QuickJSHandle {\n    const ptr = this.memory\n      .newHeapCharPointer(str)\n      .consume((charHandle) => this.ffi.QTS_NewString(this.ctx.value, charHandle.value))\n    return this.memory.heapValueHandle(ptr)\n  }\n\n  /**\n   * Create a QuickJS [symbol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol) value.\n   * No two symbols created with this function will be the same value.\n   */\n  newUniqueSymbol(description: string | symbol): QuickJSHandle {\n    const key = (typeof description === \"symbol\" ? description.description : description) ?? \"\"\n    const ptr = this.memory\n      .newHeapCharPointer(key)\n      .consume((charHandle) => this.ffi.QTS_NewSymbol(this.ctx.value, charHandle.value, 0))\n    return this.memory.heapValueHandle(ptr)\n  }\n\n  /**\n   * Get a symbol from the [global registry](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#shared_symbols_in_the_global_symbol_registry) for the given key.\n   * All symbols created with the same key will be the same value.\n   */\n  newSymbolFor(key: string | symbol): QuickJSHandle {\n    const description = (typeof key === \"symbol\" ? key.description : key) ?? \"\"\n    const ptr = this.memory\n      .newHeapCharPointer(description)\n      .consume((charHandle) => this.ffi.QTS_NewSymbol(this.ctx.value, charHandle.value, 1))\n    return this.memory.heapValueHandle(ptr)\n  }\n\n  /**\n   * Create a QuickJS [bigint](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) value.\n   */\n  newBigInt(num: bigint): QuickJSHandle {\n    if (!this._BigInt) {\n      const bigIntHandle = this.getProp(this.global, \"BigInt\")\n      this.memory.manage(bigIntHandle)\n      this._BigInt = new StaticLifetime(bigIntHandle.value as JSValueConstPointer, this.runtime)\n    }\n\n    const bigIntHandle = this._BigInt\n    const asString = String(num)\n    return this.newString(asString).consume((handle) =>\n      this.unwrapResult(this.callFunction(bigIntHandle, this.undefined, handle))\n    )\n  }\n\n  /**\n   * `{}`.\n   * Create a new QuickJS [object](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer).\n   *\n   * @param prototype - Like [`Object.create`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/create).\n   */\n  newObject(prototype?: QuickJSHandle): QuickJSHandle {\n    if (prototype) {\n      this.runtime.assertOwned(prototype)\n    }\n    const ptr = prototype\n      ? this.ffi.QTS_NewObjectProto(this.ctx.value, prototype.value)\n      : this.ffi.QTS_NewObject(this.ctx.value)\n    return this.memory.heapValueHandle(ptr)\n  }\n\n  /**\n   * `[]`.\n   * Create a new QuickJS [array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array).\n   */\n  newArray(): QuickJSHandle {\n    const ptr = this.ffi.QTS_NewArray(this.ctx.value)\n    return this.memory.heapValueHandle(ptr)\n  }\n\n  /**\n   * Create a new [[QuickJSDeferredPromise]]. Use `deferred.resolve(handle)` and\n   * `deferred.reject(handle)` to fulfill the promise handle available at `deferred.handle`.\n   * Note that you are responsible for calling `deferred.dispose()` to free the underlying\n   * resources; see the documentation on [[QuickJSDeferredPromise]] for details.\n   */\n  newPromise(): QuickJSDeferredPromise\n  /**\n   * Create a new [[QuickJSDeferredPromise]] that resolves when the\n   * given native Promise<QuickJSHandle> resolves. Rejections will be coerced\n   * to a QuickJS error.\n   *\n   * You can still resolve/reject the created promise \"early\" using its methods.\n   */\n  newPromise(promise: Promise<QuickJSHandle>): QuickJSDeferredPromise\n  /**\n   * Construct a new native Promise<QuickJSHandle>, and then convert it into a\n   * [[QuickJSDeferredPromise]].\n   *\n   * You can still resolve/reject the created promise \"early\" using its methods.\n   */\n  newPromise(\n    newPromiseFn: PromiseExecutor<QuickJSHandle, Error | QuickJSHandle>\n  ): QuickJSDeferredPromise\n  newPromise(\n    value?: PromiseExecutor<QuickJSHandle, Error | QuickJSHandle> | Promise<QuickJSHandle>\n  ): QuickJSDeferredPromise {\n    const deferredPromise = Scope.withScope((scope) => {\n      const mutablePointerArray = scope.manage(\n        this.memory.newMutablePointerArray<JSValuePointerPointer>(2)\n      )\n      const promisePtr = this.ffi.QTS_NewPromiseCapability(\n        this.ctx.value,\n        mutablePointerArray.value.ptr\n      )\n      const promiseHandle = this.memory.heapValueHandle(promisePtr)\n      const [resolveHandle, rejectHandle] = Array.from(mutablePointerArray.value.typedArray).map(\n        (jsvaluePtr) => this.memory.heapValueHandle(jsvaluePtr as any)\n      )\n      return new QuickJSDeferredPromise({\n        context: this,\n        promiseHandle,\n        resolveHandle,\n        rejectHandle,\n      })\n    })\n\n    if (value && typeof value === \"function\") {\n      value = new Promise(value)\n    }\n\n    if (value) {\n      Promise.resolve(value).then(deferredPromise.resolve, (error) =>\n        error instanceof Lifetime\n          ? deferredPromise.reject(error)\n          : this.newError(error).consume(deferredPromise.reject)\n      )\n    }\n\n    return deferredPromise\n  }\n\n  /**\n   * Convert a Javascript function into a QuickJS function value.\n   * See [[VmFunctionImplementation]] for more details.\n   *\n   * A [[VmFunctionImplementation]] should not free its arguments or its return\n   * value. A VmFunctionImplementation should also not retain any references to\n   * its return value.\n   *\n   * To implement an async function, create a promise with [[newPromise]], then\n   * return the deferred promise handle from `deferred.handle` from your\n   * function implementation:\n   *\n   * ```\n   * const deferred = vm.newPromise()\n   * someNativeAsyncFunction().then(deferred.resolve)\n   * return deferred.handle\n   * ```\n   */\n  newFunction(name: string, fn: VmFunctionImplementation<QuickJSHandle>): QuickJSHandle {\n    const fnId = ++this.fnNextId\n    this.setFunction(fnId, fn)\n    return this.memory.heapValueHandle(this.ffi.QTS_NewFunction(this.ctx.value, fnId, name))\n  }\n\n  newError(error: { name: string; message: string }): QuickJSHandle\n  newError(message: string): QuickJSHandle\n  newError(): QuickJSHandle\n  newError(error?: string | { name: string; message: string }): QuickJSHandle {\n    const errorHandle = this.memory.heapValueHandle(this.ffi.QTS_NewError(this.ctx.value))\n\n    if (error && typeof error === \"object\") {\n      if (error.name !== undefined) {\n        this.newString(error.name).consume((handle) => this.setProp(errorHandle, \"name\", handle))\n      }\n\n      if (error.message !== undefined) {\n        this.newString(error.message).consume((handle) =>\n          this.setProp(errorHandle, \"message\", handle)\n        )\n      }\n    } else if (typeof error === \"string\") {\n      this.newString(error).consume((handle) => this.setProp(errorHandle, \"message\", handle))\n    } else if (error !== undefined) {\n      // This isn't supported in the type signature but maybe it will make life easier.\n      this.newString(String(error)).consume((handle) =>\n        this.setProp(errorHandle, \"message\", handle)\n      )\n    }\n\n    return errorHandle\n  }\n\n  // Read values --------------------------------------------------------------\n\n  /**\n   * `typeof` operator. **Not** [standards compliant](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof).\n   *\n   * @remarks\n   * Does not support BigInt values correctly.\n   */\n  typeof(handle: QuickJSHandle) {\n    this.runtime.assertOwned(handle)\n    return this.memory.consumeHeapCharPointer(this.ffi.QTS_Typeof(this.ctx.value, handle.value))\n  }\n\n  /**\n   * Converts `handle` into a Javascript number.\n   * @returns `NaN` on error, otherwise a `number`.\n   */\n  getNumber(handle: QuickJSHandle): number {\n    this.runtime.assertOwned(handle)\n    return this.ffi.QTS_GetFloat64(this.ctx.value, handle.value)\n  }\n\n  /**\n   * Converts `handle` to a Javascript string.\n   */\n  getString(handle: QuickJSHandle): string {\n    this.runtime.assertOwned(handle)\n    return this.memory.consumeJSCharPointer(this.ffi.QTS_GetString(this.ctx.value, handle.value))\n  }\n\n  /**\n   * Converts `handle` into a Javascript symbol. If the symbol is in the global\n   * registry in the guest, it will be created with Symbol.for on the host.\n   */\n  getSymbol(handle: QuickJSHandle): symbol {\n    this.runtime.assertOwned(handle)\n    const key = this.memory.consumeJSCharPointer(\n      this.ffi.QTS_GetSymbolDescriptionOrKey(this.ctx.value, handle.value)\n    )\n    const isGlobal = this.ffi.QTS_IsGlobalSymbol(this.ctx.value, handle.value)\n    return isGlobal ? Symbol.for(key) : Symbol(key)\n  }\n\n  /**\n   * Converts `handle` to a Javascript bigint.\n   */\n  getBigInt(handle: QuickJSHandle): bigint {\n    this.runtime.assertOwned(handle)\n    const asString = this.getString(handle)\n    return BigInt(asString)\n  }\n\n  /**\n   * `Promise.resolve(value)`.\n   * Convert a handle containing a Promise-like value inside the VM into an\n   * actual promise on the host.\n   *\n   * @remarks\n   * You may need to call [[executePendingJobs]] to ensure that the promise is resolved.\n   *\n   * @param promiseLikeHandle - A handle to a Promise-like value with a `.then(onSuccess, onError)` method.\n   */\n  resolvePromise(promiseLikeHandle: QuickJSHandle): Promise<VmCallResult<QuickJSHandle>> {\n    this.runtime.assertOwned(promiseLikeHandle)\n    const vmResolveResult = Scope.withScope((scope) => {\n      const vmPromise = scope.manage(this.getProp(this.global, \"Promise\"))\n      const vmPromiseResolve = scope.manage(this.getProp(vmPromise, \"resolve\"))\n      return this.callFunction(vmPromiseResolve, vmPromise, promiseLikeHandle)\n    })\n    if (vmResolveResult.error) {\n      return Promise.resolve(vmResolveResult)\n    }\n\n    return new Promise<VmCallResult<QuickJSHandle>>((resolve) => {\n      Scope.withScope((scope) => {\n        const resolveHandle = scope.manage(\n          this.newFunction(\"resolve\", (value) => {\n            resolve({ value: value && value.dup() })\n          })\n        )\n\n        const rejectHandle = scope.manage(\n          this.newFunction(\"reject\", (error) => {\n            resolve({ error: error && error.dup() })\n          })\n        )\n\n        const promiseHandle = scope.manage(vmResolveResult.value)\n        const promiseThenHandle = scope.manage(this.getProp(promiseHandle, \"then\"))\n        this.unwrapResult(\n          this.callFunction(promiseThenHandle, promiseHandle, resolveHandle, rejectHandle)\n        ).dispose()\n      })\n    })\n  }\n\n  // Properties ---------------------------------------------------------------\n\n  /**\n   * `handle[key]`.\n   * Get a property from a JSValue.\n   *\n   * @param key - The property may be specified as a JSValue handle, or as a\n   * Javascript string (which will be converted automatically).\n   */\n  getProp(handle: QuickJSHandle, key: QuickJSPropertyKey): QuickJSHandle {\n    this.runtime.assertOwned(handle)\n    const ptr = this.borrowPropertyKey(key).consume((quickJSKey) =>\n      this.ffi.QTS_GetProp(this.ctx.value, handle.value, quickJSKey.value)\n    )\n    const result = this.memory.heapValueHandle(ptr)\n\n    return result\n  }\n\n  /**\n   * `handle[key] = value`.\n   * Set a property on a JSValue.\n   *\n   * @remarks\n   * Note that the QuickJS authors recommend using [[defineProp]] to define new\n   * properties.\n   *\n   * @param key - The property may be specified as a JSValue handle, or as a\n   * Javascript string or number (which will be converted automatically to a JSValue).\n   */\n  setProp(handle: QuickJSHandle, key: QuickJSPropertyKey, value: QuickJSHandle) {\n    this.runtime.assertOwned(handle)\n    // free newly allocated value if key was a string or number. No-op if string was already\n    // a QuickJS handle.\n    this.borrowPropertyKey(key).consume((quickJSKey) =>\n      this.ffi.QTS_SetProp(this.ctx.value, handle.value, quickJSKey.value, value.value)\n    )\n  }\n\n  /**\n   * [`Object.defineProperty(handle, key, descriptor)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty).\n   *\n   * @param key - The property may be specified as a JSValue handle, or as a\n   * Javascript string or number (which will be converted automatically to a JSValue).\n   */\n  defineProp(\n    handle: QuickJSHandle,\n    key: QuickJSPropertyKey,\n    descriptor: VmPropertyDescriptor<QuickJSHandle>\n  ): void {\n    this.runtime.assertOwned(handle)\n    Scope.withScope((scope) => {\n      const quickJSKey = scope.manage(this.borrowPropertyKey(key))\n\n      const value = descriptor.value || this.undefined\n      const configurable = Boolean(descriptor.configurable)\n      const enumerable = Boolean(descriptor.enumerable)\n      const hasValue = Boolean(descriptor.value)\n      const get = descriptor.get\n        ? scope.manage(this.newFunction(descriptor.get.name, descriptor.get))\n        : this.undefined\n      const set = descriptor.set\n        ? scope.manage(this.newFunction(descriptor.set.name, descriptor.set))\n        : this.undefined\n\n      this.ffi.QTS_DefineProp(\n        this.ctx.value,\n        handle.value,\n        quickJSKey.value,\n        value.value,\n        get.value,\n        set.value,\n        configurable,\n        enumerable,\n        hasValue\n      )\n    })\n  }\n\n  // Evaluation ---------------------------------------------------------------\n\n  /**\n   * [`func.call(thisVal, ...args)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call).\n   * Call a JSValue as a function.\n   *\n   * See [[unwrapResult]], which will throw if the function returned an error, or\n   * return the result handle directly. If evaluation returned a handle containing\n   * a promise, use [[resolvePromise]] to convert it to a native promise and\n   * [[executePendingJobs]] to finish evaluating the promise.\n   *\n   * @returns A result. If the function threw synchronously, `result.error` be a\n   * handle to the exception. Otherwise `result.value` will be a handle to the\n   * value.\n   */\n  callFunction(\n    func: QuickJSHandle,\n    thisVal: QuickJSHandle,\n    ...args: QuickJSHandle[]\n  ): VmCallResult<QuickJSHandle> {\n    this.runtime.assertOwned(func)\n    const resultPtr = this.memory\n      .toPointerArray(args)\n      .consume((argsArrayPtr) =>\n        this.ffi.QTS_Call(\n          this.ctx.value,\n          func.value,\n          thisVal.value,\n          args.length,\n          argsArrayPtr.value\n        )\n      )\n\n    const errorPtr = this.ffi.QTS_ResolveException(this.ctx.value, resultPtr)\n    if (errorPtr) {\n      this.ffi.QTS_FreeValuePointer(this.ctx.value, resultPtr)\n      return { error: this.memory.heapValueHandle(errorPtr) }\n    }\n\n    return { value: this.memory.heapValueHandle(resultPtr) }\n  }\n\n  /**\n   * Like [`eval(code)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval#Description).\n   * Evaluates the Javascript source `code` in the global scope of this VM.\n   * When working with async code, you many need to call [[executePendingJobs]]\n   * to execute callbacks pending after synchronous evaluation returns.\n   *\n   * See [[unwrapResult]], which will throw if the function returned an error, or\n   * return the result handle directly. If evaluation returned a handle containing\n   * a promise, use [[resolvePromise]] to convert it to a native promise and\n   * [[executePendingJobs]] to finish evaluating the promise.\n   *\n   * *Note*: to protect against infinite loops, provide an interrupt handler to\n   * [[setInterruptHandler]]. You can use [[shouldInterruptAfterDeadline]] to\n   * create a time-based deadline.\n   *\n   * @returns The last statement's value. If the code threw synchronously,\n   * `result.error` will be a handle to the exception. If execution was\n   * interrupted, the error will have name `InternalError` and message\n   * `interrupted`.\n   */\n  evalCode(\n    code: string,\n    filename: string = \"eval.js\",\n    /**\n     * If no options are passed, a heuristic will be used to detect if `code` is\n     * an ES module.\n     *\n     * See [[EvalFlags]] for number semantics.\n     */\n    options?: number | ContextEvalOptions\n  ): VmCallResult<QuickJSHandle> {\n    const detectModule = (options === undefined ? 1 : 0) as EvalDetectModule\n    const flags = evalOptionsToFlags(options) as EvalFlags\n    const resultPtr = this.memory\n      .newHeapCharPointer(code)\n      .consume((charHandle) =>\n        this.ffi.QTS_Eval(this.ctx.value, charHandle.value, filename, detectModule, flags)\n      )\n    const errorPtr = this.ffi.QTS_ResolveException(this.ctx.value, resultPtr)\n    if (errorPtr) {\n      this.ffi.QTS_FreeValuePointer(this.ctx.value, resultPtr)\n      return { error: this.memory.heapValueHandle(errorPtr) }\n    }\n    return { value: this.memory.heapValueHandle(resultPtr) }\n  }\n\n  /**\n   * Throw an error in the VM, interrupted whatever current execution is in progress when execution resumes.\n   * @experimental\n   */\n  throw(error: Error | QuickJSHandle) {\n    return this.errorToHandle(error).consume((handle) =>\n      this.ffi.QTS_Throw(this.ctx.value, handle.value)\n    )\n  }\n\n  /**\n   * @private\n   */\n  protected borrowPropertyKey(key: QuickJSPropertyKey): QuickJSHandle {\n    if (typeof key === \"number\") {\n      return this.newNumber(key)\n    }\n\n    if (typeof key === \"string\") {\n      return this.newString(key)\n    }\n\n    // key is already a JSValue, but we're borrowing it. Return a static handle\n    // for internal use only.\n    return new StaticLifetime(key.value as JSValueConstPointer, this.runtime)\n  }\n\n  /**\n   * @private\n   */\n  getMemory(rt: JSRuntimePointer): ContextMemory {\n    if (rt === this.rt.value) {\n      return this.memory\n    } else {\n      throw new Error(\"Private API. Cannot get memory from a different runtime\")\n    }\n  }\n\n  // Utilities ----------------------------------------------------------------\n\n  /**\n   * Dump a JSValue to Javascript in a best-effort fashion.\n   * Returns `handle.toString()` if it cannot be serialized to JSON.\n   */\n  dump(handle: QuickJSHandle) {\n    this.runtime.assertOwned(handle)\n    const type = this.typeof(handle)\n    if (type === \"string\") {\n      return this.getString(handle)\n    } else if (type === \"number\") {\n      return this.getNumber(handle)\n    } else if (type === \"bigint\") {\n      return this.getBigInt(handle)\n    } else if (type === \"undefined\") {\n      return undefined\n    } else if (type === \"symbol\") {\n      return this.getSymbol(handle)\n    }\n\n    const str = this.memory.consumeJSCharPointer(this.ffi.QTS_Dump(this.ctx.value, handle.value))\n    try {\n      return JSON.parse(str)\n    } catch (err) {\n      return str\n    }\n  }\n\n  /**\n   * Unwrap a SuccessOrFail result such as a [[VmCallResult]] or a\n   * [[ExecutePendingJobsResult]], where the fail branch contains a handle to a QuickJS error value.\n   * If the result is a success, returns the value.\n   * If the result is an error, converts the error to a native object and throws the error.\n   */\n  unwrapResult<T>(result: SuccessOrFail<T, QuickJSHandle>): T {\n    if (result.error) {\n      const context: QuickJSContext =\n        \"context\" in result.error ? (result.error as { context: QuickJSContext }).context : this\n      const cause = result.error.consume((error) => this.dump(error))\n\n      if (cause && typeof cause === \"object\" && typeof cause.message === \"string\") {\n        const { message, name, stack } = cause\n        const exception = new QuickJSUnwrapError(\"\")\n        const hostStack = exception.stack\n\n        if (typeof name === \"string\") {\n          exception.name = cause.name\n        }\n\n        if (typeof stack === \"string\") {\n          exception.stack = `${name}: ${message}\\n${cause.stack}Host: ${hostStack}`\n        }\n\n        Object.assign(exception, { cause, context, message })\n        throw exception\n      }\n\n      throw new QuickJSUnwrapError(cause, context)\n    }\n\n    return result.value\n  }\n\n  /** @private */\n  protected fnNextId = -32768 // min value of signed 16bit int used by Quickjs\n  /** @private */\n  protected fnMaps = new Map<number, Map<number, VmFunctionImplementation<QuickJSHandle>>>()\n\n  /** @private */\n  protected getFunction(fn_id: number): VmFunctionImplementation<QuickJSHandle> | undefined {\n    const map_id = fn_id >> 8\n    const fnMap = this.fnMaps.get(map_id)\n    if (!fnMap) {\n      return undefined\n    }\n    return fnMap.get(fn_id)\n  }\n\n  /** @private */\n  protected setFunction(fn_id: number, handle: VmFunctionImplementation<QuickJSHandle>) {\n    const map_id = fn_id >> 8\n    let fnMap = this.fnMaps.get(map_id)\n    if (!fnMap) {\n      fnMap = new Map<number, VmFunctionImplementation<QuickJSHandle>>()\n      this.fnMaps.set(map_id, fnMap)\n    }\n    return fnMap.set(fn_id, handle)\n  }\n\n  /**\n   * @hidden\n   */\n  private cToHostCallbacks: ContextCallbacks = {\n    callFunction: (ctx, this_ptr, argc, argv, fn_id) => {\n      if (ctx !== this.ctx.value) {\n        throw new Error(\"QuickJSContext instance received C -> JS call with mismatched ctx\")\n      }\n\n      const fn = this.getFunction(fn_id)\n      if (!fn) {\n        // this \"throw\" is not catch-able from the TS side. could we somehow handle this higher up?\n        throw new Error(`QuickJSContext had no callback with id ${fn_id}`)\n      }\n\n      return Scope.withScopeMaybeAsync(this, function* (awaited, scope) {\n        const thisHandle = scope.manage(\n          new WeakLifetime(this_ptr, this.memory.copyJSValue, this.memory.freeJSValue, this.runtime)\n        )\n        const argHandles = new Array<QuickJSHandle>(argc)\n        for (let i = 0; i < argc; i++) {\n          const ptr = this.ffi.QTS_ArgvGetJSValueConstPointer(argv, i)\n          argHandles[i] = scope.manage(\n            new WeakLifetime(ptr, this.memory.copyJSValue, this.memory.freeJSValue, this.runtime)\n          )\n        }\n\n        try {\n          const result = yield* awaited(fn.apply(thisHandle, argHandles))\n          if (result) {\n            if (\"error\" in result && result.error) {\n              debugLog(\"throw error\", result.error)\n              throw result.error\n            }\n            const handle = scope.manage(result instanceof Lifetime ? result : result.value)\n            return this.ffi.QTS_DupValuePointer(this.ctx.value, handle.value)\n          }\n          return 0 as JSValuePointer\n        } catch (error) {\n          return this.errorToHandle(error as Error).consume((errorHandle) =>\n            this.ffi.QTS_Throw(this.ctx.value, errorHandle.value)\n          )\n        }\n      }) as JSValuePointer\n    },\n  }\n\n  private errorToHandle(error: Error | QuickJSHandle): QuickJSHandle {\n    if (error instanceof Lifetime) {\n      return error\n    }\n\n    return this.newError(error)\n  }\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/debug.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/debug.d.ts
new file mode 100644
index 0000000..f64be56
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/debug.d.ts
@@ -0,0 +1,5 @@
+export declare const QTS_DEBUG: boolean;
+export declare let debugLog: {
+    (...data: any[]): void;
+    (message?: any, ...optionalParams: any[]): void;
+};
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/debug.js b/node_modules/@tootallnate/quickjs-emscripten/dist/debug.js
new file mode 100644
index 0000000..383e777
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/debug.js
@@ -0,0 +1,6 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.debugLog = exports.QTS_DEBUG = void 0;
+exports.QTS_DEBUG = false || Boolean(typeof process === "object" && process.env.QTS_DEBUG);
+exports.debugLog = exports.QTS_DEBUG ? console.log.bind(console) : () => { };
+//# sourceMappingURL=debug.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/debug.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/debug.js.map
new file mode 100644
index 0000000..df538cc
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/debug.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"debug.js","sourceRoot":"","sources":["../ts/debug.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,KAAK,IAAI,OAAO,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AACpF,QAAA,QAAQ,GAAG,iBAAS,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAA","sourcesContent":["export const QTS_DEBUG = false || Boolean(typeof process === \"object\" && process.env.QTS_DEBUG)\nexport let debugLog = QTS_DEBUG ? console.log.bind(console) : () => {}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/deferred-promise.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/deferred-promise.d.ts
new file mode 100644
index 0000000..4ec594d
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/deferred-promise.d.ts
@@ -0,0 +1,75 @@
+import type { Disposable } from "./lifetime";
+import type { QuickJSHandle } from "./types";
+import type { QuickJSRuntime } from "./runtime";
+import type { QuickJSContext } from "./context";
+export type { PromiseExecutor } from "./types";
+/**
+ * QuickJSDeferredPromise wraps a QuickJS promise [[handle]] and allows
+ * [[resolve]]ing or [[reject]]ing that promise. Use it to bridge asynchronous
+ * code on the host to APIs inside a QuickJSContext.
+ *
+ * Managing the lifetime of promises is tricky. There are three
+ * [[QuickJSHandle]]s inside of each deferred promise object: (1) the promise
+ * itself, (2) the `resolve` callback, and (3) the `reject` callback.
+ *
+ * - If the promise will be fulfilled before the end of it's [[owner]]'s lifetime,
+ *   the only cleanup necessary is `deferred.handle.dispose()`, because
+ *   calling [[resolve]] or [[reject]] will dispose of both callbacks automatically.
+ *
+ * - As the return value of a [[VmFunctionImplementation]], return [[handle]],
+ *   and ensure that either [[resolve]] or [[reject]] will be called. No other
+ *   clean-up is necessary.
+ *
+ * - In other cases, call [[dispose]], which will dispose [[handle]] as well as the
+ *   QuickJS handles that back [[resolve]] and [[reject]]. For this object,
+ *   [[dispose]] is idempotent.
+ */
+export declare class QuickJSDeferredPromise implements Disposable {
+    owner: QuickJSRuntime;
+    context: QuickJSContext;
+    /**
+     * A handle of the Promise instance inside the QuickJSContext.
+     * You must dispose [[handle]] or the entire QuickJSDeferredPromise once you
+     * are finished with it.
+     */
+    handle: QuickJSHandle;
+    /**
+     * A native promise that will resolve once this deferred is settled.
+     */
+    settled: Promise<void>;
+    private resolveHandle;
+    private rejectHandle;
+    private onSettled;
+    /**
+     * Use [[QuickJSContext.newPromise]] to create a new promise instead of calling
+     * this constructor directly.
+     * @unstable
+     */
+    constructor(args: {
+        context: QuickJSContext;
+        promiseHandle: QuickJSHandle;
+        resolveHandle: QuickJSHandle;
+        rejectHandle: QuickJSHandle;
+    });
+    /**
+     * Resolve [[handle]] with the given value, if any.
+     * Calling this method after calling [[dispose]] is a no-op.
+     *
+     * Note that after resolving a promise, you may need to call
+     * [[QuickJSContext.executePendingJobs]] to propagate the result to the promise's
+     * callbacks.
+     */
+    resolve: (value?: QuickJSHandle) => void;
+    /**
+     * Reject [[handle]] with the given value, if any.
+     * Calling this method after calling [[dispose]] is a no-op.
+     *
+     * Note that after rejecting a promise, you may need to call
+     * [[QuickJSContext.executePendingJobs]] to propagate the result to the promise's
+     * callbacks.
+     */
+    reject: (value?: QuickJSHandle) => void;
+    get alive(): boolean;
+    dispose: () => void;
+    private disposeResolvers;
+}
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/deferred-promise.js b/node_modules/@tootallnate/quickjs-emscripten/dist/deferred-promise.js
new file mode 100644
index 0000000..19ef7a1
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/deferred-promise.js
@@ -0,0 +1,96 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.QuickJSDeferredPromise = void 0;
+/**
+ * QuickJSDeferredPromise wraps a QuickJS promise [[handle]] and allows
+ * [[resolve]]ing or [[reject]]ing that promise. Use it to bridge asynchronous
+ * code on the host to APIs inside a QuickJSContext.
+ *
+ * Managing the lifetime of promises is tricky. There are three
+ * [[QuickJSHandle]]s inside of each deferred promise object: (1) the promise
+ * itself, (2) the `resolve` callback, and (3) the `reject` callback.
+ *
+ * - If the promise will be fulfilled before the end of it's [[owner]]'s lifetime,
+ *   the only cleanup necessary is `deferred.handle.dispose()`, because
+ *   calling [[resolve]] or [[reject]] will dispose of both callbacks automatically.
+ *
+ * - As the return value of a [[VmFunctionImplementation]], return [[handle]],
+ *   and ensure that either [[resolve]] or [[reject]] will be called. No other
+ *   clean-up is necessary.
+ *
+ * - In other cases, call [[dispose]], which will dispose [[handle]] as well as the
+ *   QuickJS handles that back [[resolve]] and [[reject]]. For this object,
+ *   [[dispose]] is idempotent.
+ */
+class QuickJSDeferredPromise {
+    /**
+     * Use [[QuickJSContext.newPromise]] to create a new promise instead of calling
+     * this constructor directly.
+     * @unstable
+     */
+    constructor(args) {
+        /**
+         * Resolve [[handle]] with the given value, if any.
+         * Calling this method after calling [[dispose]] is a no-op.
+         *
+         * Note that after resolving a promise, you may need to call
+         * [[QuickJSContext.executePendingJobs]] to propagate the result to the promise's
+         * callbacks.
+         */
+        this.resolve = (value) => {
+            if (!this.resolveHandle.alive) {
+                return;
+            }
+            this.context
+                .unwrapResult(this.context.callFunction(this.resolveHandle, this.context.undefined, value || this.context.undefined))
+                .dispose();
+            this.disposeResolvers();
+            this.onSettled();
+        };
+        /**
+         * Reject [[handle]] with the given value, if any.
+         * Calling this method after calling [[dispose]] is a no-op.
+         *
+         * Note that after rejecting a promise, you may need to call
+         * [[QuickJSContext.executePendingJobs]] to propagate the result to the promise's
+         * callbacks.
+         */
+        this.reject = (value) => {
+            if (!this.rejectHandle.alive) {
+                return;
+            }
+            this.context
+                .unwrapResult(this.context.callFunction(this.rejectHandle, this.context.undefined, value || this.context.undefined))
+                .dispose();
+            this.disposeResolvers();
+            this.onSettled();
+        };
+        this.dispose = () => {
+            if (this.handle.alive) {
+                this.handle.dispose();
+            }
+            this.disposeResolvers();
+        };
+        this.context = args.context;
+        this.owner = args.context.runtime;
+        this.handle = args.promiseHandle;
+        this.settled = new Promise((resolve) => {
+            this.onSettled = resolve;
+        });
+        this.resolveHandle = args.resolveHandle;
+        this.rejectHandle = args.rejectHandle;
+    }
+    get alive() {
+        return this.handle.alive || this.resolveHandle.alive || this.rejectHandle.alive;
+    }
+    disposeResolvers() {
+        if (this.resolveHandle.alive) {
+            this.resolveHandle.dispose();
+        }
+        if (this.rejectHandle.alive) {
+            this.rejectHandle.dispose();
+        }
+    }
+}
+exports.QuickJSDeferredPromise = QuickJSDeferredPromise;
+//# sourceMappingURL=deferred-promise.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/deferred-promise.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/deferred-promise.js.map
new file mode 100644
index 0000000..b80e826
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/deferred-promise.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"deferred-promise.js","sourceRoot":"","sources":["../ts/deferred-promise.ts"],"names":[],"mappings":";;;AAMA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,sBAAsB;IAoBjC;;;;OAIG;IACH,YAAY,IAKX;QAWD;;;;;;;WAOG;QACH,YAAO,GAAG,CAAC,KAAqB,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;gBAC7B,OAAM;aACP;YAED,IAAI,CAAC,OAAO;iBACT,YAAY,CACX,IAAI,CAAC,OAAO,CAAC,YAAY,CACvB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,OAAO,CAAC,SAAS,EACtB,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAChC,CACF;iBACA,OAAO,EAAE,CAAA;YAEZ,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACvB,IAAI,CAAC,SAAS,EAAE,CAAA;QAClB,CAAC,CAAA;QAED;;;;;;;WAOG;QACH,WAAM,GAAG,CAAC,KAAqB,EAAE,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;gBAC5B,OAAM;aACP;YAED,IAAI,CAAC,OAAO;iBACT,YAAY,CACX,IAAI,CAAC,OAAO,CAAC,YAAY,CACvB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,OAAO,CAAC,SAAS,EACtB,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,CAChC,CACF;iBACA,OAAO,EAAE,CAAA;YAEZ,IAAI,CAAC,gBAAgB,EAAE,CAAA;YACvB,IAAI,CAAC,SAAS,EAAE,CAAA;QAClB,CAAC,CAAA;QAMD,YAAO,GAAG,GAAG,EAAE;YACb,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;aACtB;YACD,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACzB,CAAC,CAAA;QAzEC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAA;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAA;QAChC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;QACvC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;IACvC,CAAC;IAwDD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAA;IACjF,CAAC;IASO,gBAAgB;QACtB,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;YAC5B,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAA;SAC7B;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;YAC3B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAA;SAC5B;IACH,CAAC;CACF;AAnHD,wDAmHC","sourcesContent":["import type { Disposable } from \"./lifetime\"\nimport type { QuickJSHandle } from \"./types\"\nimport type { QuickJSRuntime } from \"./runtime\"\nimport type { QuickJSContext } from \"./context\"\nexport type { PromiseExecutor } from \"./types\"\n\n/**\n * QuickJSDeferredPromise wraps a QuickJS promise [[handle]] and allows\n * [[resolve]]ing or [[reject]]ing that promise. Use it to bridge asynchronous\n * code on the host to APIs inside a QuickJSContext.\n *\n * Managing the lifetime of promises is tricky. There are three\n * [[QuickJSHandle]]s inside of each deferred promise object: (1) the promise\n * itself, (2) the `resolve` callback, and (3) the `reject` callback.\n *\n * - If the promise will be fulfilled before the end of it's [[owner]]'s lifetime,\n *   the only cleanup necessary is `deferred.handle.dispose()`, because\n *   calling [[resolve]] or [[reject]] will dispose of both callbacks automatically.\n *\n * - As the return value of a [[VmFunctionImplementation]], return [[handle]],\n *   and ensure that either [[resolve]] or [[reject]] will be called. No other\n *   clean-up is necessary.\n *\n * - In other cases, call [[dispose]], which will dispose [[handle]] as well as the\n *   QuickJS handles that back [[resolve]] and [[reject]]. For this object,\n *   [[dispose]] is idempotent.\n */\nexport class QuickJSDeferredPromise implements Disposable {\n  public owner: QuickJSRuntime\n  public context: QuickJSContext\n\n  /**\n   * A handle of the Promise instance inside the QuickJSContext.\n   * You must dispose [[handle]] or the entire QuickJSDeferredPromise once you\n   * are finished with it.\n   */\n  public handle: QuickJSHandle\n\n  /**\n   * A native promise that will resolve once this deferred is settled.\n   */\n  public settled: Promise<void>\n\n  private resolveHandle: QuickJSHandle\n  private rejectHandle: QuickJSHandle\n  private onSettled!: () => void\n\n  /**\n   * Use [[QuickJSContext.newPromise]] to create a new promise instead of calling\n   * this constructor directly.\n   * @unstable\n   */\n  constructor(args: {\n    context: QuickJSContext\n    promiseHandle: QuickJSHandle\n    resolveHandle: QuickJSHandle\n    rejectHandle: QuickJSHandle\n  }) {\n    this.context = args.context\n    this.owner = args.context.runtime\n    this.handle = args.promiseHandle\n    this.settled = new Promise((resolve) => {\n      this.onSettled = resolve\n    })\n    this.resolveHandle = args.resolveHandle\n    this.rejectHandle = args.rejectHandle\n  }\n\n  /**\n   * Resolve [[handle]] with the given value, if any.\n   * Calling this method after calling [[dispose]] is a no-op.\n   *\n   * Note that after resolving a promise, you may need to call\n   * [[QuickJSContext.executePendingJobs]] to propagate the result to the promise's\n   * callbacks.\n   */\n  resolve = (value?: QuickJSHandle) => {\n    if (!this.resolveHandle.alive) {\n      return\n    }\n\n    this.context\n      .unwrapResult(\n        this.context.callFunction(\n          this.resolveHandle,\n          this.context.undefined,\n          value || this.context.undefined\n        )\n      )\n      .dispose()\n\n    this.disposeResolvers()\n    this.onSettled()\n  }\n\n  /**\n   * Reject [[handle]] with the given value, if any.\n   * Calling this method after calling [[dispose]] is a no-op.\n   *\n   * Note that after rejecting a promise, you may need to call\n   * [[QuickJSContext.executePendingJobs]] to propagate the result to the promise's\n   * callbacks.\n   */\n  reject = (value?: QuickJSHandle) => {\n    if (!this.rejectHandle.alive) {\n      return\n    }\n\n    this.context\n      .unwrapResult(\n        this.context.callFunction(\n          this.rejectHandle,\n          this.context.undefined,\n          value || this.context.undefined\n        )\n      )\n      .dispose()\n\n    this.disposeResolvers()\n    this.onSettled()\n  }\n\n  get alive() {\n    return this.handle.alive || this.resolveHandle.alive || this.rejectHandle.alive\n  }\n\n  dispose = () => {\n    if (this.handle.alive) {\n      this.handle.dispose()\n    }\n    this.disposeResolvers()\n  }\n\n  private disposeResolvers() {\n    if (this.resolveHandle.alive) {\n      this.resolveHandle.dispose()\n    }\n\n    if (this.rejectHandle.alive) {\n      this.rejectHandle.dispose()\n    }\n  }\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/emscripten-types.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/emscripten-types.d.ts
new file mode 100644
index 0000000..315b07d
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/emscripten-types.d.ts
@@ -0,0 +1,97 @@
+import { BorrowedHeapCharPointer, JSContextPointer, JSRuntimePointer, JSValueConstPointer, JSValuePointer, OwnedHeapCharPointer } from "./types-ffi";
+declare namespace Emscripten {
+    interface FileSystemType {
+    }
+    type EnvironmentType = "WEB" | "NODE" | "SHELL" | "WORKER";
+    type ValueType = "number" | "string" | "array" | "boolean";
+    type TypeCompatibleWithC = number | string | any[] | boolean;
+    type WebAssemblyImports = Array<{
+        name: string;
+        kind: string;
+    }>;
+    type WebAssemblyExports = Array<{
+        module: string;
+        name: string;
+        kind: string;
+    }>;
+    interface CCallOpts {
+        async?: boolean;
+    }
+}
+/**
+ * Typings for the features we use to interface with our Emscripten build of
+ * QuickJS.
+ */
+interface EmscriptenModule {
+    /**
+     * Write JS `str` to HeapChar pointer.
+     * https://emscripten.org/docs/api_reference/preamble.js.html#stringToUTF8
+     */
+    stringToUTF8(str: string, outPtr: OwnedHeapCharPointer, maxBytesToRead?: number): void;
+    /**
+     * HeapChar to JS string.
+     * https://emscripten.org/docs/api_reference/preamble.js.html#UTF8ToString
+     */
+    UTF8ToString(ptr: BorrowedHeapCharPointer, maxBytesToRead?: number): string;
+    lengthBytesUTF8(str: string): number;
+    _malloc(size: number): number;
+    _free(ptr: number): void;
+    cwrap(ident: string, returnType: Emscripten.ValueType | null, argTypes: Emscripten.ValueType[], opts?: Emscripten.CCallOpts): (...args: any[]) => any;
+    HEAP8: Int8Array;
+    HEAP16: Int16Array;
+    HEAP32: Int32Array;
+    HEAPU8: Uint8Array;
+    HEAPU16: Uint16Array;
+    HEAPU32: Uint32Array;
+    HEAPF32: Float32Array;
+    HEAPF64: Float64Array;
+    TOTAL_STACK: number;
+    TOTAL_MEMORY: number;
+    FAST_MEMORY: number;
+}
+declare const AsyncifySleepReturnValue: unique symbol;
+/** @private */
+export type AsyncifySleepResult<T> = T & typeof AsyncifySleepReturnValue;
+/**
+ * Allows us to optionally suspend the Emscripten runtime to wait for a promise.
+ * https://emscripten.org/docs/porting/asyncify.html#ways-to-use-async-apis-in-older-engines
+ * ```
+ * EM_JS(int, do_fetch, (), {
+ *   return Asyncify.handleSleep(function (wakeUp) {
+ *     out("waiting for a fetch");
+ *     fetch("a.html").then(function (response) {
+ *       out("got the fetch response");
+ *       // (normally you would do something with the fetch here)
+ *       wakeUp(42);
+ *     });
+ *   });
+ * });
+ * ```
+ * @private
+ */
+export interface Asyncify {
+    handleSleep<T>(maybeAsyncFn: (wakeUp: (result: T) => void) => void): AsyncifySleepResult<T>;
+}
+/**
+ * @private
+ */
+export interface EmscriptenModuleCallbacks {
+    callFunction: (asyncify: Asyncify | undefined, ctx: JSContextPointer, this_ptr: JSValueConstPointer, argc: number, argv: JSValueConstPointer, fn_id: number) => JSValuePointer | AsyncifySleepResult<JSValuePointer>;
+    loadModuleSource: (asyncify: Asyncify | undefined, rt: JSRuntimePointer, ctx: JSContextPointer, module_name: string) => BorrowedHeapCharPointer | AsyncifySleepResult<BorrowedHeapCharPointer>;
+    normalizeModule: (asyncify: Asyncify | undefined, rt: JSRuntimePointer, ctx: JSContextPointer, module_base_name: string, module_name: string) => BorrowedHeapCharPointer | AsyncifySleepResult<BorrowedHeapCharPointer>;
+    shouldInterrupt: (asyncify: Asyncify | undefined, rt: JSRuntimePointer) => 0 | 1 | AsyncifySleepResult<0 | 1>;
+}
+export interface QuickJSEmscriptenModule extends EmscriptenModule {
+    type: "sync";
+    callbacks: EmscriptenModuleCallbacks;
+}
+export interface QuickJSAsyncEmscriptenModule extends EmscriptenModule {
+    /** @todo Implement this field */
+    type: "async";
+    callbacks: EmscriptenModuleCallbacks;
+}
+export type EitherModule = QuickJSEmscriptenModule | QuickJSAsyncEmscriptenModule;
+export interface EmscriptenModuleLoader<T extends EmscriptenModule> {
+    (): Promise<T>;
+}
+export {};
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/emscripten-types.js b/node_modules/@tootallnate/quickjs-emscripten/dist/emscripten-types.js
new file mode 100644
index 0000000..35ce029
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/emscripten-types.js
@@ -0,0 +1,15 @@
+"use strict";
+// This is a subset of the Emscripten type definitions from @types/emscripten
+// Project: http://kripken.github.io/emscripten-site/index.html
+// Definitions by: Kensuke Matsuzaki <https://github.com/zakki>
+//                 Periklis Tsirakidis <https://github.com/periklis>
+// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
+//
+// quickjs-emscripten doesn't use the full EmscriptenModule type from @types/emscripten because:
+//
+// - the upstream types define many properties that don't exist on our module due
+//   to our build settings
+// - some upstream types reference web-only ambient types like WebGL stuff, which
+//   we don't use.
+Object.defineProperty(exports, "__esModule", { value: true });
+//# sourceMappingURL=emscripten-types.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/emscripten-types.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/emscripten-types.js.map
new file mode 100644
index 0000000..8a710f4
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/emscripten-types.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"emscripten-types.js","sourceRoot":"","sources":["../ts/emscripten-types.ts"],"names":[],"mappings":";AAAA,6EAA6E;AAC7E,+DAA+D;AAC/D,+DAA+D;AAC/D,oEAAoE;AACpE,kEAAkE;AAClE,EAAE;AACF,gGAAgG;AAChG,EAAE;AACF,iFAAiF;AACjF,0BAA0B;AAC1B,iFAAiF;AACjF,kBAAkB","sourcesContent":["// This is a subset of the Emscripten type definitions from @types/emscripten\n// Project: http://kripken.github.io/emscripten-site/index.html\n// Definitions by: Kensuke Matsuzaki <https://github.com/zakki>\n//                 Periklis Tsirakidis <https://github.com/periklis>\n// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped\n//\n// quickjs-emscripten doesn't use the full EmscriptenModule type from @types/emscripten because:\n//\n// - the upstream types define many properties that don't exist on our module due\n//   to our build settings\n// - some upstream types reference web-only ambient types like WebGL stuff, which\n//   we don't use.\n\nimport {\n  BorrowedHeapCharPointer,\n  JSContextPointer,\n  JSRuntimePointer,\n  JSValueConstPointer,\n  JSValuePointer,\n  OwnedHeapCharPointer,\n} from \"./types-ffi\"\n\ndeclare namespace Emscripten {\n  interface FileSystemType {}\n  type EnvironmentType = \"WEB\" | \"NODE\" | \"SHELL\" | \"WORKER\"\n  type ValueType = \"number\" | \"string\" | \"array\" | \"boolean\"\n  type TypeCompatibleWithC = number | string | any[] | boolean\n\n  type WebAssemblyImports = Array<{\n    name: string\n    kind: string\n  }>\n\n  type WebAssemblyExports = Array<{\n    module: string\n    name: string\n    kind: string\n  }>\n\n  interface CCallOpts {\n    async?: boolean\n  }\n}\n\n/**\n * Typings for the features we use to interface with our Emscripten build of\n * QuickJS.\n */\ninterface EmscriptenModule {\n  // No longer needed:\n  // addFunction(fn: Function, type: string): number\n  // removeFunction(pointer: number): void\n\n  /**\n   * Write JS `str` to HeapChar pointer.\n   * https://emscripten.org/docs/api_reference/preamble.js.html#stringToUTF8\n   */\n  stringToUTF8(str: string, outPtr: OwnedHeapCharPointer, maxBytesToRead?: number): void\n  /**\n   * HeapChar to JS string.\n   * https://emscripten.org/docs/api_reference/preamble.js.html#UTF8ToString\n   */\n  UTF8ToString(ptr: BorrowedHeapCharPointer, maxBytesToRead?: number): string\n  lengthBytesUTF8(str: string): number\n\n  _malloc(size: number): number\n  _free(ptr: number): void\n  cwrap(\n    ident: string,\n    returnType: Emscripten.ValueType | null,\n    argTypes: Emscripten.ValueType[],\n    opts?: Emscripten.CCallOpts\n  ): (...args: any[]) => any\n\n  // USE_TYPED_ARRAYS == 2\n  HEAP8: Int8Array\n  HEAP16: Int16Array\n  HEAP32: Int32Array\n  HEAPU8: Uint8Array\n  HEAPU16: Uint16Array\n  HEAPU32: Uint32Array\n  HEAPF32: Float32Array\n  HEAPF64: Float64Array\n\n  TOTAL_STACK: number\n  TOTAL_MEMORY: number\n  FAST_MEMORY: number\n}\n\n// This isn't the real return type of handleAsync, but it's better to treat it this way.\ndeclare const AsyncifySleepReturnValue: unique symbol\n/** @private */\nexport type AsyncifySleepResult<T> = T & typeof AsyncifySleepReturnValue\n\n/**\n * Allows us to optionally suspend the Emscripten runtime to wait for a promise.\n * https://emscripten.org/docs/porting/asyncify.html#ways-to-use-async-apis-in-older-engines\n * ```\n * EM_JS(int, do_fetch, (), {\n *   return Asyncify.handleSleep(function (wakeUp) {\n *     out(\"waiting for a fetch\");\n *     fetch(\"a.html\").then(function (response) {\n *       out(\"got the fetch response\");\n *       // (normally you would do something with the fetch here)\n *       wakeUp(42);\n *     });\n *   });\n * });\n * ```\n * @private\n */\nexport interface Asyncify {\n  handleSleep<T>(maybeAsyncFn: (wakeUp: (result: T) => void) => void): AsyncifySleepResult<T>\n  // Because this one requires a promise, it's going to be less efficient than\n  // the callback system. Plus it seems like we'd need to use SyncPromise to\n  // avoid suspending.\n  // handleAsync<T>(asyncFn: () => T | Promise<T>): AsyncifySleepResult<T>\n}\n\n/**\n * @private\n */\nexport interface EmscriptenModuleCallbacks {\n  callFunction: (\n    asyncify: Asyncify | undefined,\n    ctx: JSContextPointer,\n    this_ptr: JSValueConstPointer,\n    argc: number,\n    argv: JSValueConstPointer,\n    fn_id: number\n  ) => JSValuePointer | AsyncifySleepResult<JSValuePointer>\n\n  loadModuleSource: (\n    asyncify: Asyncify | undefined,\n    rt: JSRuntimePointer,\n    ctx: JSContextPointer,\n    module_name: string\n  ) => BorrowedHeapCharPointer | AsyncifySleepResult<BorrowedHeapCharPointer>\n\n  normalizeModule: (\n    asyncify: Asyncify | undefined,\n    rt: JSRuntimePointer,\n    ctx: JSContextPointer,\n    module_base_name: string,\n    module_name: string\n  ) => BorrowedHeapCharPointer | AsyncifySleepResult<BorrowedHeapCharPointer>\n\n  shouldInterrupt: (\n    asyncify: Asyncify | undefined,\n    rt: JSRuntimePointer\n  ) => 0 | 1 | AsyncifySleepResult<0 | 1>\n}\n\nexport interface QuickJSEmscriptenModule extends EmscriptenModule {\n  type: \"sync\"\n  callbacks: EmscriptenModuleCallbacks\n}\n\nexport interface QuickJSAsyncEmscriptenModule extends EmscriptenModule {\n  /** @todo Implement this field */\n  type: \"async\"\n  callbacks: EmscriptenModuleCallbacks\n}\n\nexport type EitherModule = QuickJSEmscriptenModule | QuickJSAsyncEmscriptenModule\n\nexport interface EmscriptenModuleLoader<T extends EmscriptenModule> {\n  (): Promise<T>\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/errors.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/errors.d.ts
new file mode 100644
index 0000000..5852ec1
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/errors.d.ts
@@ -0,0 +1,28 @@
+import type { QuickJSContext } from "./context";
+/**
+ * Error thrown if [[QuickJSContext.unwrapResult]] unwraps an error value that isn't an object.
+ */
+export declare class QuickJSUnwrapError extends Error {
+    cause: unknown;
+    context?: QuickJSContext | undefined;
+    name: string;
+    constructor(cause: unknown, context?: QuickJSContext | undefined);
+}
+export declare class QuickJSWrongOwner extends Error {
+    name: string;
+}
+export declare class QuickJSUseAfterFree extends Error {
+    name: string;
+}
+export declare class QuickJSNotImplemented extends Error {
+    name: string;
+}
+export declare class QuickJSAsyncifyError extends Error {
+    name: string;
+}
+export declare class QuickJSAsyncifySuspended extends Error {
+    name: string;
+}
+export declare class QuickJSMemoryLeakDetected extends Error {
+    name: string;
+}
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/errors.js b/node_modules/@tootallnate/quickjs-emscripten/dist/errors.js
new file mode 100644
index 0000000..19eaa25
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/errors.js
@@ -0,0 +1,58 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.QuickJSMemoryLeakDetected = exports.QuickJSAsyncifySuspended = exports.QuickJSAsyncifyError = exports.QuickJSNotImplemented = exports.QuickJSUseAfterFree = exports.QuickJSWrongOwner = exports.QuickJSUnwrapError = void 0;
+/**
+ * Error thrown if [[QuickJSContext.unwrapResult]] unwraps an error value that isn't an object.
+ */
+class QuickJSUnwrapError extends Error {
+    constructor(cause, context) {
+        super(String(cause));
+        this.cause = cause;
+        this.context = context;
+        this.name = "QuickJSUnwrapError";
+    }
+}
+exports.QuickJSUnwrapError = QuickJSUnwrapError;
+class QuickJSWrongOwner extends Error {
+    constructor() {
+        super(...arguments);
+        this.name = "QuickJSWrongOwner";
+    }
+}
+exports.QuickJSWrongOwner = QuickJSWrongOwner;
+class QuickJSUseAfterFree extends Error {
+    constructor() {
+        super(...arguments);
+        this.name = "QuickJSUseAfterFree";
+    }
+}
+exports.QuickJSUseAfterFree = QuickJSUseAfterFree;
+class QuickJSNotImplemented extends Error {
+    constructor() {
+        super(...arguments);
+        this.name = "QuickJSNotImplemented";
+    }
+}
+exports.QuickJSNotImplemented = QuickJSNotImplemented;
+class QuickJSAsyncifyError extends Error {
+    constructor() {
+        super(...arguments);
+        this.name = "QuickJSAsyncifyError";
+    }
+}
+exports.QuickJSAsyncifyError = QuickJSAsyncifyError;
+class QuickJSAsyncifySuspended extends Error {
+    constructor() {
+        super(...arguments);
+        this.name = "QuickJSAsyncifySuspended";
+    }
+}
+exports.QuickJSAsyncifySuspended = QuickJSAsyncifySuspended;
+class QuickJSMemoryLeakDetected extends Error {
+    constructor() {
+        super(...arguments);
+        this.name = "QuickJSMemoryLeakDetected";
+    }
+}
+exports.QuickJSMemoryLeakDetected = QuickJSMemoryLeakDetected;
+//# sourceMappingURL=errors.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/errors.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/errors.js.map
new file mode 100644
index 0000000..c39db8d
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/errors.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"errors.js","sourceRoot":"","sources":["../ts/errors.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAa,kBAAmB,SAAQ,KAAK;IAE3C,YAAmB,KAAc,EAAS,OAAwB;QAChE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QADH,UAAK,GAAL,KAAK,CAAS;QAAS,YAAO,GAAP,OAAO,CAAiB;QADlE,SAAI,GAAG,oBAAoB,CAAA;IAG3B,CAAC;CACF;AALD,gDAKC;AAED,MAAa,iBAAkB,SAAQ,KAAK;IAA5C;;QACE,SAAI,GAAG,mBAAmB,CAAA;IAC5B,CAAC;CAAA;AAFD,8CAEC;AAED,MAAa,mBAAoB,SAAQ,KAAK;IAA9C;;QACE,SAAI,GAAG,qBAAqB,CAAA;IAC9B,CAAC;CAAA;AAFD,kDAEC;AAED,MAAa,qBAAsB,SAAQ,KAAK;IAAhD;;QACE,SAAI,GAAG,uBAAuB,CAAA;IAChC,CAAC;CAAA;AAFD,sDAEC;AAED,MAAa,oBAAqB,SAAQ,KAAK;IAA/C;;QACE,SAAI,GAAG,sBAAsB,CAAA;IAC/B,CAAC;CAAA;AAFD,oDAEC;AAED,MAAa,wBAAyB,SAAQ,KAAK;IAAnD;;QACE,SAAI,GAAG,0BAA0B,CAAA;IACnC,CAAC;CAAA;AAFD,4DAEC;AAED,MAAa,yBAA0B,SAAQ,KAAK;IAApD;;QACE,SAAI,GAAG,2BAA2B,CAAA;IACpC,CAAC;CAAA;AAFD,8DAEC","sourcesContent":["import type { QuickJSContext } from \"./context\"\n\n/**\n * Error thrown if [[QuickJSContext.unwrapResult]] unwraps an error value that isn't an object.\n */\nexport class QuickJSUnwrapError extends Error {\n  name = \"QuickJSUnwrapError\"\n  constructor(public cause: unknown, public context?: QuickJSContext) {\n    super(String(cause))\n  }\n}\n\nexport class QuickJSWrongOwner extends Error {\n  name = \"QuickJSWrongOwner\"\n}\n\nexport class QuickJSUseAfterFree extends Error {\n  name = \"QuickJSUseAfterFree\"\n}\n\nexport class QuickJSNotImplemented extends Error {\n  name = \"QuickJSNotImplemented\"\n}\n\nexport class QuickJSAsyncifyError extends Error {\n  name = \"QuickJSAsyncifyError\"\n}\n\nexport class QuickJSAsyncifySuspended extends Error {\n  name = \"QuickJSAsyncifySuspended\"\n}\n\nexport class QuickJSMemoryLeakDetected extends Error {\n  name = \"QuickJSMemoryLeakDetected\"\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/esmHelpers.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/esmHelpers.d.ts
new file mode 100644
index 0000000..4dca032
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/esmHelpers.d.ts
@@ -0,0 +1,9 @@
+/** Typescript thinks import('...js/.d.ts') needs mod.default.default */
+declare function fakeUnwrapDefault<T>(mod: {
+    default: T;
+}): T;
+/** Typescript thinks import('...ts') doesn't need mod.default.default, but does */
+declare function actualUnwrapDefault<T>(mod: T): T;
+export declare const unwrapTypescript: typeof actualUnwrapDefault;
+export declare const unwrapJavascript: typeof fakeUnwrapDefault;
+export {};
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/esmHelpers.js b/node_modules/@tootallnate/quickjs-emscripten/dist/esmHelpers.js
new file mode 100644
index 0000000..8fc6045
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/esmHelpers.js
@@ -0,0 +1,19 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.unwrapJavascript = exports.unwrapTypescript = void 0;
+/** Typescript thinks import('...js/.d.ts') needs mod.default.default */
+function fakeUnwrapDefault(mod) {
+    // console.log("fakeUnwrapDefault", mod)
+    return mod.default;
+}
+/** Typescript thinks import('...ts') doesn't need mod.default.default, but does */
+function actualUnwrapDefault(mod) {
+    // console.log("actualUnwrapDefault", mod)
+    const maybeUnwrap = mod.default;
+    return maybeUnwrap ?? mod;
+}
+// I'm not sure if this behavior is needed in all runtimes,
+// or just for mocha + ts-node.
+exports.unwrapTypescript = actualUnwrapDefault;
+exports.unwrapJavascript = fakeUnwrapDefault;
+//# sourceMappingURL=esmHelpers.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/esmHelpers.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/esmHelpers.js.map
new file mode 100644
index 0000000..3ee6118
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/esmHelpers.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"esmHelpers.js","sourceRoot":"","sources":["../ts/esmHelpers.ts"],"names":[],"mappings":";;;AAAA,wEAAwE;AACxE,SAAS,iBAAiB,CAAI,GAAmB;IAC/C,wCAAwC;IACxC,OAAO,GAAG,CAAC,OAAY,CAAA;AACzB,CAAC;AAED,mFAAmF;AACnF,SAAS,mBAAmB,CAAI,GAAM;IACpC,0CAA0C;IAC1C,MAAM,WAAW,GAAI,GAAW,CAAC,OAAO,CAAA;IACxC,OAAO,WAAW,IAAI,GAAG,CAAA;AAC3B,CAAC;AAED,2DAA2D;AAC3D,+BAA+B;AAClB,QAAA,gBAAgB,GAAG,mBAAmB,CAAA;AACtC,QAAA,gBAAgB,GAAG,iBAAiB,CAAA","sourcesContent":["/** Typescript thinks import('...js/.d.ts') needs mod.default.default */\nfunction fakeUnwrapDefault<T>(mod: { default: T }): T {\n  // console.log(\"fakeUnwrapDefault\", mod)\n  return mod.default as T\n}\n\n/** Typescript thinks import('...ts') doesn't need mod.default.default, but does */\nfunction actualUnwrapDefault<T>(mod: T): T {\n  // console.log(\"actualUnwrapDefault\", mod)\n  const maybeUnwrap = (mod as any).default\n  return maybeUnwrap ?? mod\n}\n\n// I'm not sure if this behavior is needed in all runtimes,\n// or just for mocha + ts-node.\nexport const unwrapTypescript = actualUnwrapDefault\nexport const unwrapJavascript = fakeUnwrapDefault\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_SYNC.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_SYNC.d.ts
new file mode 100644
index 0000000..766fffe
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_SYNC.d.ts
@@ -0,0 +1,5 @@
+export = QuickJSRaw;
+declare function QuickJSRaw(QuickJSRaw?: {}): any;
+declare namespace QuickJSRaw {
+    export { QuickJSRaw };
+}
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_SYNC.js b/node_modules/@tootallnate/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_SYNC.js
new file mode 100644
index 0000000..4320683
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_SYNC.js
@@ -0,0 +1,387 @@
+"use strict";
+var QuickJSRaw = (() => {
+    var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
+    if (typeof __filename !== 'undefined')
+        _scriptDir = _scriptDir || __filename;
+    return (function (QuickJSRaw = {}) {
+        var a;
+        a || (a = typeof QuickJSRaw !== 'undefined' ? QuickJSRaw : {});
+        var m, n;
+        a.ready = new Promise(function (b, c) { m = b; n = c; });
+        var p = Object.assign({}, a), t = "./this.program", u = "object" == typeof window, v = "function" == typeof importScripts, w = "object" == typeof process && "object" == typeof process.versions && "string" == typeof process.versions.node, x = "", y, z, A;
+        if (w) {
+            var fs = require("fs"), B = require("path");
+            x = v ? B.dirname(x) + "/" : __dirname + "/";
+            y = (b, c) => { var d = C(b); if (d)
+                return c ? d : d.toString(); b = b.startsWith("file://") ? new URL(b) : B.normalize(b); return fs.readFileSync(b, c ? void 0 : "utf8"); };
+            A = b => { b = y(b, !0); b.buffer || (b = new Uint8Array(b)); return b; };
+            z = (b, c, d) => { var e = C(b); e && c(e); b = b.startsWith("file://") ? new URL(b) : B.normalize(b); fs.readFile(b, function (f, g) { f ? d(f) : c(g.buffer); }); };
+            !a.thisProgram && 1 < process.argv.length && (t = process.argv[1].replace(/\\/g, "/"));
+            process.argv.slice(2);
+            a.inspect = function () { return "[Emscripten Module object]"; };
+        }
+        else if (u || v)
+            v ? x = self.location.href : "undefined" != typeof document && document.currentScript && (x = document.currentScript.src), _scriptDir && (x = _scriptDir), 0 !== x.indexOf("blob:") ? x = x.substr(0, x.replace(/[?#].*/, "").lastIndexOf("/") + 1) : x = "", y = b => {
+                try {
+                    var c = new XMLHttpRequest;
+                    c.open("GET", b, !1);
+                    c.send(null);
+                    return c.responseText;
+                }
+                catch (f) {
+                    if (b = C(b)) {
+                        c = [];
+                        for (var d = 0; d < b.length; d++) {
+                            var e = b[d];
+                            255 < e && (e &= 255);
+                            c.push(String.fromCharCode(e));
+                        }
+                        return c.join("");
+                    }
+                    throw f;
+                }
+            }, v && (A = b => { try {
+                var c = new XMLHttpRequest;
+                c.open("GET", b, !1);
+                c.responseType = "arraybuffer";
+                c.send(null);
+                return new Uint8Array(c.response);
+            }
+            catch (d) {
+                if (b = C(b))
+                    return b;
+                throw d;
+            } }), z = (b, c, d) => { var e = new XMLHttpRequest; e.open("GET", b, !0); e.responseType = "arraybuffer"; e.onload = () => { if (200 == e.status || 0 == e.status && e.response)
+                c(e.response);
+            else {
+                var f = C(b);
+                f ? c(f.buffer) : d();
+            } }; e.onerror = d; e.send(null); };
+        var aa = a.print || console.log.bind(console), D = a.printErr || console.warn.bind(console);
+        Object.assign(a, p);
+        p = null;
+        a.thisProgram && (t = a.thisProgram);
+        var E;
+        a.wasmBinary && (E = a.wasmBinary);
+        var noExitRuntime = a.noExitRuntime || !0;
+        "object" != typeof WebAssembly && F("no native wasm support detected");
+        var G, H = !1, I, J, K, L;
+        function M() { var b = G.buffer; a.HEAP8 = I = new Int8Array(b); a.HEAP16 = new Int16Array(b); a.HEAP32 = K = new Int32Array(b); a.HEAPU8 = J = new Uint8Array(b); a.HEAPU16 = new Uint16Array(b); a.HEAPU32 = L = new Uint32Array(b); a.HEAPF32 = new Float32Array(b); a.HEAPF64 = new Float64Array(b); }
+        var ba = [], ca = [], da = [];
+        function ea() { var b = a.preRun.shift(); ba.unshift(b); }
+        var N = 0, O = null, P = null;
+        function F(b) { if (a.onAbort)
+            a.onAbort(b); b = "Aborted(" + b + ")"; D(b); H = !0; b = new WebAssembly.RuntimeError(b + ". Build with -sASSERTIONS for more info."); n(b); throw b; }
+        var Q = "data:application/octet-stream;base64,", R;
+        R = "data:application/octet-stream;base64,AGFzbQEAAAAB9QZxYAJ/fwBgA39/fwF/YAR/fn9/AX5gAn9/AX9gAX8Bf2AFf35/f38BfmADf39/AGAEf39/fwF/YAJ/fgF+YAF/AGAFf39/f38Bf2ABfAF8YAJ/fgBgAn9/AX5gAn9+AX9gA39/fgF/YAN/fn8BfmADf35/AGAGf35/f39/AX5gBn9/f39/fwF/YAR/f39/AGADf35/AX9gBn9+fn9/fwF+YAR/f35/AX9gA39+fgF+YAN/f38BfmAFf39/fn4Bf2AEf39/fgF/YAR/f35+AX9gBX9+fn5+AGABfwF+YAN/fn4Bf2AEf39/fwF+YAd/f39/f39/AX9gBX9/f39/AX5gAnx8AXxgAAF/YAV/f39/fwBgBX9+f35/AX9gBX9+fn9/AX5gAX4Bf2AEf35+fwBgB39+f35+fn8Bf2AIf39/f39/f38Bf2AFf35+fn8Bf2AGf35/fn5/AX9gBH9+f34BfmAEf35/fwBgBH9+f34AYAZ/f39/f38BfmAEf35+fwF/YAl/f39/f39/f38Bf2AEf35+fwF+YAR/fn9/AX9gA39+fgBgA35/fwF/YAV/fn5/fwBgA39/fgF+YAd/fn9/f39/AX5gAABgA39/fgBgBH9+f34Bf2AFf39+f38Bf2AEf35+fgF/YAd/f39/f39/AGACfH8BfGABfAF/YAN8fH8BfGACf38BfGAEf39+fwBgBH9+fn4BfmABfgF+YAJ/fAF/YAZ/fH9/f38Bf2AAAXxgBX9+f35/AX5gBn9/fn5+fgF/YAJ+fwBgAn98AGAEf39+fwF+YAV/f39/fgF+YAd/fn5+f39/AX5gBH5+fn4Bf2AHf39/f39/fgF+YAp/f39/f39/f39/AX9gB39/fn5/f38Bf2AFf3x/f38BfmACfn8Bf2AGfH9/f39/AGAFf35/f38AYAV/f35/fwBgBn9+fn5+fwF/YAV/f35+fwF/YAZ/fn9/f38Bf2ADf3x/AX9gBX9+f39/AX9gBX9/fn5+AX5gBX9+fn5+AX9gBn9/fn5/fwF/YAd/f39+fn5/AX9gBH9/f34BfmACfH8Bf2AGf39/f39/AGAIf39/f39/f38AYAN/fnwBfmAAAX5gAnx8AX9gAn5+AXxgAX8BfGADfn5+AX9gA39/fABgCH9+fn5+f35+AX5gCX9/f39/f39/fwACWw8B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rgitCKcIqAimCKUIpAj0B44JjQmKCYgJjAnwB/EH7gfrB+QH4gfhB9MHwQeaB/EEvAmbCZoJmQmYCZcJlgmVCZQJkwmSCZEJiwntCOwInQicCJsImgiZCKAFmAiXCJYIlQiUCJMIkQiQCI8IjgiNCIwIiwiKCIkIiAiHCIYI6QOFCOkDhAiDCIIIgQieCKEIoAifCKII2QP/B/4HkQeQB5kHmAeWB5UHlAeTB5IH4AffB94H6QPdB6AF3AfbB9oH2AerCKoIqQj/BooHiQeIB4cHhgeFB4QHgweCB4EHgAfoB4sHjweOB5sHpAehB6MHogefB54HnQecB6UH5wfmB+UH/gHsB+kH7QfvB/IH9QbPBPQG8wbyBvEGyATwBu8G9wbRBPYG9gf1B/sH+gf5B/gH/QeoCeMGpwnmBqYJpQmkCaMJ4QbfBsYEogmhCaAJsQafCZ4JnQmwBrIJsQmwCa8JrgmtCawJqwmqCbgJnQO3CbYJtQm0CbMJxgnJB8gHxQnECcMJwgnWA8EJwAn3BPgEvwm+CbsJugm5CckJyAnHCdAJzwm9BLwEzgnNCcwJywnKCbQG1AnTCdIJ0Qm4BrcGtga1BroGuQa9BrwGuwbSBtEG0AbPBs4GzQbMBssGygbJBsgGxwbGBsUGxAbDBsEGwAa/Br4G0wbcBoAJ+gj7CNsGgwmECYEJnQT+CPkI6wPMAtoG9QjxCO8I2Qb4CPQI8AiCCf8I/QiXAqcD1gnyCPwI2AbXBtYG1QbUBugG5wblBuQG4gbgBt4G3QbrBuoG6QbtBuwG7gapB6cHpgfPB4EF1weABc4HzQfMB8sHxwfGB8UHxAfDB8IHwAe/B9IH0AfWB9QHtAezB7EHsAevB64HrQesB6sHqge+B70HvAe7B7oHuQe4B7cHtge1B4cJhQmGCdgD8wgK15YXyAk1AQF/AkAgAUIgiKdBdUkNACABpyICIAIoAgAiAkEBazYCACACQQFKDQAgACgCECABEJYECwtNAQJ/IAAoAkAiAkGAAmohAyACKAKcAiAAKAIERwRAIANBwgEQESADIAAoAgQQHSACIAAoAgQ2ApwCCyACIAIoAoQCNgKYAiADIAEQEQsmAQF/IwBBEGsiAiQAIAIgAToADyAAIAJBD2pBARByIAJBEGokAAv/FwIGfwJ+IwBBEGsiAiQAAn8CQCAAKAIA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NwMgIABBgH82AhAMAwsgACACQQxqIAJBCGogBkEAEOoEIgFFDQAgACABNgIgIAIoAgghBSAAQQA2AiggACAFNgIkAkAgAUElSQ0AIAFBLU0EQCAAKAJAIgMtAG5BAXENASABQS1HDQMgAy8BbCIGQQFxDQEgBkGA/gNxQYAGRw0DIAMoAmQNAyADKAIEIgNFDQMgAy0AbEEBcQ0BDAMLIAFBLkcNAiAAKAJEDQAgACgCQCIDLwFsIgZBAnENACAGQYD+A3FBgAZHDQIgAygCZA0CIAMoAgQiA0UNAiADLQBsQQJxRQ0CCyAFBEAgAEGDfzYCECAAQQE2AigMAwsgBCABQdQAazYCAAwCCyAEQap/NgIADAULIARBg382AgALIAAgAigCDDYCOEEADAQLIABBATYCMCAAIANBAWo2AggLIAIoAgwhAQwACwALQX8LIQEgAkEQaiQAIAELFQAgAUHeAU4EQCAAKAIQIAEQ6AULC7oHAgZ/AX4jAEEgayIHJABCgICAgOAAIQsCQAJAAkACQAJAAkACQAJAAkACQCABQiCIpyIGQQFqDggDBQUAAQUFCQILIAAgAkGH1AAQjwEMBgsgACACQff4ABCPAQwFCyAGQXlGDQEMAgsgAachBgwCCyABpyEGIAJBAEgEQCACQf////8HcSIFIAYpAgQiC6dB/////wdxTw0BIAZBEGohAiAAAn8gC0KAgICACINQRQRAIAIgBUEBdGovAQAMAQsgAiAFai0AAAtB//8DcRCfAyELDAULIAJBMEcNACAGKQIEQv////8HgyELDAQLIAAgARCNBKciBkUNAgsgAkH/////B3EhCQNAIAYoAhAiBUEwaiEKIAUgBSgCGCACcUF/c0ECdGooAgAhBQJAA0AgBUUNASACIAogBUEBa0EDdCIFaiIIKAIERwRAIAgoAgBB////H3EhBQwBCwsgBigCFCAFaiEFAkACQAJAAkAgCCgCAEEedkEBaw4DAAECAwsgBSgCACICRQ0GIAIgAigCAEEBajYCACAAIAKtQoCAgIBwhCADQQBBABAvIQsMBwsgBSgCACgCECkDACILQoCAgIBwg0KAgICAwABRBEAgACACENkBDAULIAtCIIinQXVJDQYgC6ciACAAKAIAQQFqNgIADAYLIAAgBiACIAUgCBDIAkUNAgwDCyAFKQMAIgtCIIinQXVJDQQgC6ciACAAKAIAQQFqNgIADAQLAkAgBi0ABSIFQQRxRQ0AIAVBCHEEQCACQQBIBEAgBigCKCAJSwRAIAAgBq1CgICAgHCEIAkQsAEhCwwHCyAGLwEGQSBrQf//A3FB9f8DTw0FDAILIAYvAQZBFWtB//8DcUEKSw0BIAAgAhCeAyIFRQ0BQoCAgIDgAEKAgICAMCAFQQBIGyELDAULIAAoAhAoAkQgBi8BBkEYbGooAhQiBUUNACAFKAIUIggEQCAGIAYoAgBBAWo2AgAgACAGrUKAgICAcIQiASACIAMgCBEuACELIAAgARAPDAULIAUoAgAiBUUNACAGIAYoAgBBAWo2AgAgACAHIAatQoCAgIBwhCIBIAIgBREXACEFIAAgARAPIAVBAEgNAiAFRQ0AIActAABBEHEEQCAAIAcpAxgQDyAAIAcpAxAgA0EAQQAQLyELDAULIAcpAwghCwwECyAGKAIQKAIsIgYNAAtCgICAgDAhCyAERQ0CIAAgAhDHAgtCgICAgOAAIQsMAQtCgICAgDAhCwsgB0EgaiQAIAsLDQAgACABIAJBBBDOAgtfAQN/IwBBEGsiBCQAIAAoAgAhAyAEIAI2AgwgA0EDIAEgAkEAEPAFIAMgAygCECkDgAEgACgCDCAAKAIIIAAoAkAiAQR/IAEoAmhBAEdBAXQFQQALEMoCIARBEGokAAsMACAAQYACaiABECoLKwAgAUHeAU4EQCAAKAIQKAI4IAFBAnRqKAIAIgAgACgCAEEBajYCAAsgAQspACAAIAEgAiADQoCAgIAwQoCAgIAwIARBgM4AchBtIQIgACADEA8gAgsZACAAKAIAIAEQGCEBIABBQGsoAgAgARA5Cy0BAX8CQCAAKAIAIgFFDQAgACgCECIARQ0AIAEoAgAgAEEAIAEoAgQRAQAaCwtcAQF/IABBQGsoAgAiAxDmAkUEQEF/DwsgAkEASARAIAMQMiECCyAAIAFB/wFxEBAgAEFAayIAKAIAIAIQOSAAKAIAKAKkAiACQRRsaiIAIAAoAgBBAWo2AgAgAgsmAQF/IwBBEGsiAiQAIAIgATYCDCAAIAJBDGpBBBByIAJBEGokAAs5ACABQQBOBEAgAEG2ARAQIABBQGsiACgCACABEDkgACgCACIAKAKkAiABQRRsaiAAKAKEAjYCBAsLMwEBfyACBEAgACEDA0AgAyABLQAAOgAAIANBAWohAyABQQFqIQEgAkEBayICDQALCyAACxgBAX4gASkDACEDIAEgAjcDACAAIAMQDwsXACAAIAEgAkKAgICAMCADIARBAhDYAQvABQICfgZ/IwBB4ABrIgkkACADQQAgA0EAShshCwNAIAogC0ZFBEAgACACIApBBHRqIgMoAgAQtAUhBiADLQAEIQdCgICAgDAhBAJAAkACQAJAAkACQAJAAkACQAJAIAMtAAUOCgECAgUHAwQIBQAGCyAAIAMoAggQtAUhCAJ+AkACQAJAIAMoAgxBAWoOAwIAAQkLIAAgACkDwAEiBCAIIARBABAUDAILIAAgACgCKCkDECIEIAggBEEAEBQMAQsgACABIAggAUEAEBQLIQQgACAIEBMgBkHQAUYEQEEBIQcMCAsgBkHZAUcNB0EAIQcMBwsCQCAGQdABRgRAQQEhBwwBCyAGQdkBRw0AQQAhBwsgACABIAZBAiADIAcQlQMaDAcLQoCAgIAwIQUgAygCCARAIAkgAygCADYCECAJQSBqIghBwABBzDwgCUEQahBOGiAAIAMoAgggCEEAQQpBCCADLQAFQQJGGyADLgEGEIIBIQULIAMoAgwEQCAJIAMoAgA2AgAgCUEgaiIIQcAAQcU8IAkQThogACADKAIMIAhBAUELQQkgAy0ABUECRhsgAy4BBhCCASEECyAAIAEgBkKAgICAMCAFIAQgB0GAOnIQbRogACAFEA8gACAEEA8MBgsgAykDCCIEQoCAgIAIfEL/////D1gEQCAEQv////8PgyEEDAULQoCAgIDAfiAEub0iBEKAgICAwIGA/P8AfSAEQv///////////wCDQoCAgICAgID4/wBWGyEEDAQLQoCAgIDAfiADKQMIIgRCgICAgMCBgPz/AH0gBEL///////////8Ag0KAgICAgICA+P8AVhshBAwDCyAAIAEgBkECIAMgBxCVAxoMAwsQAQALIAM1AgghBAsgACABIAYgBCAHEBkaCyAAIAYQEyAKQQFqIQoMAQsLIAlB4ABqJAALMgEBfwJAIAFCIIinQXVJDQAgAaciAiACKAIAIgJBAWs2AgAgAkEBSg0AIAAgARCWBAsLCwAgAEGAMUEAEBULogICAn4BfwJAAkACQAJAAkACQAJAAkACQAJAAkBBByABQiCIpyIEIARBB2tBbkkbQQtqDhMEAgMIBgAAAAAAAQUHAAAAAAEFAAsgAEGVMEEAEBVCgICAgOAADwsgBEF1SQ0IIAGnIgAgACgCAEEBajYCAAwICyAAQSEQdiECDAYLIABBIhB2IQIMBQsgAEEkEHYhAgwECyAAQQQQdiECDAMLIAAgAEEFEHYiAkEwIAGnKQIEQv////8Hg0EAEBkaDAILIABBBhB2IQIMAQsgAEEHEHYhAgtCgICAgOAAIQMgAkKAgICAcINCgICAgOAAUgR+IARBdU8EQCABpyIEIAQoAgBBAWo2AgALIAAgAiABENsBIAIFQoCAgIDgAAsPCyABC9kBAgJ/AX5BfyECAkACQAJAAkACQAJAAkACQCABQiCIpyIDQQtqDhIHBwcFAgUFBQUFBAABAQEFBQYFCyABp0EARw8LIAGnDwsgAacpAgQhBCAAIAEQDyAEQv////8Hg0IAUg8LAAsgAacsAAUhAiAAIAEQDyACQQBODwsgA0EHa0FtTQRAIAFCgICAgMCBgPz/AHxC////////////AINCAX1CgICAgICAgPj/AFQPCyAAIAEQD0EBIQILIAIPCyABpygCDCECIAAgARAPIAJB/////wdqQX5JC6gEAQt/IAAoAgAhBSMAQRBrIgggAjYCDEF/IQkCQANAAkAgCCACIgNBBGoiAjYCDCADKAIAIgdBf0YNACAAKAIEIQoDQCABIgQgCk4NAyAEIAQgBWoiDC0AACIGQQJ0Ig1BgLgBai0AAGoiASAKSg0DIAZBwgFGBEAgDCgAASEJDAELCyAGIAdHBEAgBiAHQf8BcUYgBiAHQQh2Qf8BcUZyIAYgB0EQdkH/AXFGckUgB0EYdiAGR3EgBkUgB0GAAklycg0DIAAgBjYCEAsgBEEBaiEEAkACQAJAAkACQAJAAkACQCANQYO4AWotAABBBWsOGAAJAAkJAQkJAQkJAQEBAgICAgQFBgcJAwkLIAQgBWotAAAhBCAIIANBCGoiAjYCDCADKAIEIgNBf0YEQCAAIAQ2AhQMCQsgAyAERg0IDAkLIAQgBWovAAAhBCAIIANBCGoiAjYCDCADKAIEIgNBf0YEQCAAIAQ2AhQMCAsgAyAERg0HDAgLIAAgBCAFaigAADYCGAwGCyAAIAQgBWoiAygAADYCGCAAIAMvAAQ2AhwMBQsgACAEIAVqKAAANgIgDAQLIAAgBCAFaiIDKAAANgIgIAAgAy0ABDYCHAwDCyAAIAQgBWoiAygAADYCICAAIAMvAAQ2AhwMAgsgACAEIAVqIgMoAAA2AiAgACADKAAENgIYIAAgAy0ACDYCHAwBCwsgACAJNgIMIAAgATYCCEEBIQsLIAsLCwAgACABQQAQjgQLJAEBfyAAKAIQIgJBEGogASACKAIAEQMAIgFFBEAgABB8CyABCyYBAX8jAEEQayICJAAgAiABOwEOIAAgAkEOakECEHIgAkEQaiQACykBAX8gAgRAIAAhAwNAIAMgAToAACADQQFqIQMgAkEBayICDQALCyAACz8BAX8jAEEQayICJAACfyABIAAoAhBHBEAgAiABNgIAIABBoJgBIAIQFkF/DAELIAAQEgshACACQRBqJAAgAAsLACAAIAFBARDmBQvDCgIFfw9+IwBB4ABrIgUkACAEQv///////z+DIQwgAiAEhUKAgICAgICAgIB/gyEKIAJC////////P4MiDUIgiCEOIARCMIinQf//AXEhBwJAAkAgAkIwiKdB//8BcSIJQf//AWtBgoB+TwRAIAdB//8Ba0GBgH5LDQELIAFQIAJC////////////AIMiC0KAgICAgIDA//8AVCALQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQoMAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhCiADIQEMAgsgASALQoCAgICAgMD//wCFhFAEQCACIAOEUARAQoCAgICAgOD//wAhCkIAIQEMAwsgCkKAgICAgIDA//8AhCEKQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAIAEgC4QhAkIAIQEgAlAEQEKAgICAgIDg//8AIQoMAwsgCkKAgICAgIDA//8AhCEKDAILIAEgC4RQBEBCACEBDAILIAIgA4RQBEBCACEBDAILIAtC////////P1gEQCAFQdAAaiABIA0gASANIA1QIgYbeSAGQQZ0rXynIgZBD2sQZ0EQIAZrIQYgBSkDWCINQiCIIQ4gBSkDUCEBCyACQv///////z9WDQAgBUFAayADIAwgAyAMIAxQIggbeSAIQQZ0rXynIghBD2sQZyAGIAhrQRBqIQYgBSkDSCEMIAUpA0AhAwsgA0IPhiILQoCA/v8PgyICIAFCIIgiBH4iECALQiCIIhMgAUL/////D4MiAX58Ig9CIIYiESABIAJ+fCILIBFUrSACIA1C/////w+DIg1+IhUgBCATfnwiESAMQg+GIhIgA0IxiIRC/////w+DIgMgAX58IhQgDyAQVK1CIIYgD0IgiIR8Ig8gAiAOQoCABIQiDH4iFiANIBN+fCIOIBJCIIhCgICAgAiEIgIgAX58IhAgAyAEfnwiEkIghnwiF3whASAHIAlqIAZqQf//AGshBgJAIAIgBH4iGCAMIBN+fCIEIBhUrSAEIAQgAyANfnwiBFatfCACIAx+fCAEIAQgESAVVK0gESAUVq18fCIEVq18IAMgDH4iAyACIA1+fCICIANUrUIghiACQiCIhHwgBCACQiCGfCICIARUrXwgAiACIBAgElatIA4gFlStIA4gEFatfHxCIIYgEkIgiIR8IgJWrXwgAiACIA8gFFStIA8gF1atfHwiAlatfCIEQoCAgICAgMAAg1BFBEAgBkEBaiEGDAELIAtCP4ghAyAEQgGGIAJCP4iEIQQgAkIBhiABQj+IhCECIAtCAYYhCyADIAFCAYaEIQELIAZB//8BTgRAIApCgICAgICAwP//AIQhCkIAIQEMAQsCfiAGQQBMBEBBASAGayIHQf8ATQRAIAVBMGogCyABIAZB/wBqIgYQZyAFQSBqIAIgBCAGEGcgBUEQaiALIAEgBxCOAiAFIAIgBCAHEI4CIAUpAzAgBSkDOIRCAFKtIAUpAyAgBSkDEISEIQsgBSkDKCAFKQMYhCEBIAUpAwAhAiAFKQMIDAILQgAhAQwCCyAEQv///////z+DIAatQjCGhAsgCoQhCiALUCABQgBZIAFCgICAgICAgICAf1EbRQRAIAogAkIBfCIBUK18IQoMAQsgCyABQoCAgICAgICAgH+FhFBFBEAgAiEBDAELIAogAiACQgGDfCIBIAJUrXwhCgsgACABNwMAIAAgCjcDCCAFQeAAaiQACyEAIAAgASACQoCAgIAwIAMgBEECENgBIQIgACABEA8gAgumAQEEfyAAQQA2AgQgAVAEQCAAQYCAgIB4NgIIIABBABBBGkEADwsCQCABQv////8PWARAIABBARBBDQEgACgCECABIAGnZyICrYY+AgAg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IAMQ2QEMAgtBACEEIAItAAUiBUEEcUUNACAFQQhxBEAgA0EATg0BIANB/////wdxIgMgAigCKCIFSSEEIAFFIAMgBU9yDQEgAUKAgICAMDcDGCABQoCAgIAwNwMQIAFBBzYCACABIAAgAq1CgICAgHCEIAMQsAE3AwgMAwsgACgCECgCRCACLwEGQRhsaigCFCIFRQ0AIAUoAgAiBUUNACAAIAEgAq1CgICAgHCEIAMgBREXACEECyAEDwtBfw8LQQELoQQBAn8CQAJAIAFCgICAgHBUIAJC/////w9Wcg0AIAKnIgQgAaciAygCKE8NAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAy8BBkECaw4eAAsLCwsLAAsLCwsLCwsLCwsLCwIBAgMEBQYHCAkKCwsgAygCJCAEQQN0aikDACIBQiCIp0F1SQ0LIAGnIgAgACgCAEEBajYCACABDwsgAygCJCAEajAAAEL/////D4MPCyADKAIkIARqMQAADwsgAygCJCAEQQF0ajIBAEL/////D4MPCyADKAIkIARBAXRqMwEADwsgAygCJCAEQQJ0ajUCAA8LIAMoAiQgBEECdGooAgAiAEEATgRAIACtDwtCgICAgMB+IAC4vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbDwsgACADKAIkIARBA3RqKQMAEIcCDwsgACADKAIkIARBA3RqKQMAEPsDDwtCgICAgMB+IAMoAiQgBEECdGoqAgC7vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbDwtCgICAgMB+IAMoAiQgBEEDdGopAwAiAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGw8LIAAgAhAxIQMgACACEA8gA0UEQEKAgICA4AAPCyAAIAEgAyABQQAQFCEBIAAgAxATCyABCyoBAX8jAEEQayIEJAAgBCADNgIMIAAgASACIAMQywIhACAEQRBqJAAgAAuMAQECfyABKAJ8IgRBgIAETgRAIABBjTpBABBGQX8PC0F/IQMgACABQfQAakEQIAFB+ABqIARBAWoQeAR/QX8FIAEgASgCfCIDQQFqNgJ8IAEoAnQgA0EEdGoiA0IANwIAIANCADcCCCADIAAgAhAYNgIA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AwsNACAAIAEgARA/EJMCC20BAX8jAEGAAmsiBSQAIARBgMAEcSACIANMckUEQCAFIAFB/wFxIAIgA2siA0GAAiADQYACSSIBGxArGiABRQRAA0AgACAFQYACEFsgA0GAAmsiA0H/AUsNAAsLIAAgBSADEFsLIAVBgAJqJAALDAAgAEGAAmogARARC74BAgF+AX8CQAJAIAFCgICAgHCDQoCAgIAwUQRAIAAoAiggAkEDdGopAwAiA0IgiKdBdEsNAQwCCyAAIAFBOyABQQAQFCIDQoCAgIBwg0KAgICA4ABRBEAgAw8LIANC/////29WDQEgACADEA8gACABEIADIgRFBEBCgICAgOAADwsgBCgCKCACQQN0aikDACIDQiCIp0F1SQ0BCyADpyIEIAQoAgBBAWo2AgALIAAgAyACEEkhASAAIAMQDyABC3UBAX4gACABIAR+IAIgA358IANCIIgiAiABQiCIIgR+fCADQv////8PgyIDIAFC/////w+DIgF+IgVCIIggAyAEfnwiA0IgiHwgASACfiADQv////8Pg3wiAUIgiHw3AwggACAFQv////8PgyABQiCGhDcDAAtQAQF+AkAgA0HAAHEEQCABIANBQGqthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUHAACADa62IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAtVAQN/IAEgAkEFdSIESwRAIAAgBEECdGooAgAhAwsgAkEfcSICBH8gASAEQQFqIgRLBH8gACAEQQJ0aigCAAVBAAtBAXQgAkEfc3QgAyACdnIFIAMLC2QAAkACQCABQQBIDQAgACgCrAIgAUwNACAAKAKkAiABQRRsaiIAIAAoAgAgAmoiADYCACAAQQBIDQEgAA8LQYUpQa78AEHIqAFBlNUAEAAAC0GmjgFBrvwAQcuoAUGU1QAQAAALYAAgACABIAJCgICAgAh8Qv////8PWAR+IAJC/////w+DBUKAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLIANBh4ABEL0BCwwAIABBhvsAQQAQFQsLACAAIAFBARDBBQvSEAIMfwF+IwBBEGsiCiQAAkACQCABQv////9vWARAIAAQJAwBCyAGQYAwcSIORSAGIAZBCHYiEHEgEEF/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A6ciAiACKAIAQQFqNgIACyAAIAkgAyAGEMsFIQILIAZBggRxQYAERgRAIAogCSgCECIGQTBqNgIMQX8hByAAIAkgCkEMaiAGKAIwQRp2QT1xEJEDDQULIAIhBwwECyAMBEAgACAIKQMAEA8gA0IgiKdBdU8EQCADpyICIAIoAgBBAWo2AgALIAggAzcDAAsgBkGABHFFDQBBfyEHIAAgCSAKQQxqIAooAgwoAgBBGnZBPXEgBkECcXIQkQMNAwtBf0EBIAAgCSAKQQxqIBBBBXEiAEF/cyAKKAIMKAIAQRp2cSAAIAZxchCRAxshBwwCCyAAIAZB4ekAEG8hBwwBC0F/IQcLIApBEGokACAHC/8BAgJ/AXwjAEEQayIEJAACQCACQiCIpyIDQQJNBEAgASACp7c5AwBBACEADAELIANBB2tBbU0EQCABIAJCgICAgMCBgPz/AHw3AwBBACEADAELAn8gACACEI0BIgJCgICAgHCDQoCAgIDgAFEEQEQAAAAAAAD4fyEFQX8MAQsCfAJAAkBBByACQiCIpyIDIANBB2tBbkkbIgNBCmpBAk8EQCADQQdGDQIgAw0BIAKntwwDCyACp0EEaiAEQQhqELUFIAAgAhAPIAQrAwghBUEADAMLEAEACyACQoCAgIDAgYD8/wB8vwshBUEACyEAIAEgBTkDAAsgBEEQaiQAIAALXQECfyMAQRBrIgMkAAJAIAFBgIABcUUEQCABQYCAAnFFDQEgACgCECgCjAEiAUUNASABLQAoQQFxRQ0BCyADQQA2AgwgAEEEIAJBABCSBEF/IQQLIANBEGokACAEC8YJAgR/BX4jAEHwAGsiBiQAIARC////////////AIMhCQJAAkAgAVAiBSACQv///////////wCDIgpCgICAgICAwP//AH1CgICAgICAwICAf1QgClAbRQRAIANCAFIgCUKAgICAgIDA//8AfSILQoCAgICAgMCAgH9WIAtCgICAgICAwICAf1EbDQELIAUgCkKAgICAgIDA//8AVCAKQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQQgASEDDAILIANQIAlCgICAgICAwP//AFQgCUKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCEEDAILIAEgCkKAgICAgIDA//8AhYRQBEBCgICAgICA4P//ACAC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IAAgAaciAkEAIAIoAgRB/////wdxEFEhAiAAKAIAIAEQDyACC7UCAQd/IwBBEGsiBSQAAkAgAEFAaygCACIBRQRADAELAkAgAQJ/IAEoAsgBIgQgASgCxAEiAkgEQCABKALMASEDIAQMAQsgBEEBaiIDIAJBA2xBAm0iAiACIANIGyIGQQN0IQIgACgCACEDAkAgASgCzAEiByABQdABakYEQCADQQAgAiAFQQxqEKgBIgNFDQMgAyABKALMASABKALIAUEDdBAfGgwBCyADIAcgAiAFQQxqEKgBIgNFDQILIAUoAgwhAiABIAM2AswBIAEgAkEDdiAGajYCxAEgASgCyAELQQFqNgLIASADIARBA3RqIgIgASgCvAE2AgAgAiABKALAATYCBCAAQbQBEBAgAEFAaygCACAEQf//A3EQFyABIAQ2ArwBDAELQX8hBAsgBUEQaiQAIAQLoQECA38BfiMAIQYCQCACQoCAgIBwVA0AIAKnIgUvAQZBMEcNACAFKAIgIQQLAn8gBiAAKAIQKAJ4SQRAIAAQ6QFBAAwBCyAELQARBEAgABC2AkEADAELQQAgACAEKQMIIgIgAyACQQAQFCIHQoCAgIBwgyICQoCAgIDgAFENABogAUKAgICAMCAHIAJCgICAgCBRGzcDACAECyEFIAYkACAFCxYAIAAgASACIAMgBCAFIAApAzAQ8QELKQEBfyMAQRBrIgIkACACIAA2AgwgAkEMaiABEJMEIQAgAkEQaiQAIAALngICA38BfiACIAEpAgQiB6dB/////wdxIANHckUEQCABIAEoAgBBAWo2AgAgAa1CgICAgJB/hA8LIAFBEGohBSAHQoCAgIAIg1AgAyACayIEQQBMckUEQCADIAIgAiADSBshBkEAIQMgAiEBA0AgASAGRkUEQCAFIAFBAXRqLwEAIANyIQMgAUEBaiEBDAELCyADQf//A3FBgAJPBEAgACAFIAJBAXRqIAQQ7gMPC0EAIQEgACAEQQAQ6gEiAEUEQEKAgICA4AAPCyAAQRBqIQMDQCABIARGRQRAIAEgA2ogBSABIAJqQQF0ai0AADoAACABQQFqIQEMAQsLIAMgBGpBADoAACAArUKAgICAkH+EDwsgACACIAVqIAQQhAMLugEBAn8CQAJAIAJC/////wdYBEAgACABIAKnQYCAgIB4chBx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IANBCGogAhDiA0UEQEEAIQQgASADKQMIIgJCgICAgICAgBBaBH4gAEGAIEEAEFBBfyEEQgAFIAILNwMACyADQRBqJAAgBAsRACAAIAEgASACIANBAhCKBAtTAQF/IAAoAhAiBEEQaiABIAIgBCgCCBEBACIBIAJFckUEQCAAEHwgAQ8LIAMEQCADIAEgACgCECgCDBEEACIAIAJrIgJBACAAIAJPGzYCAAsgAQvAAQAgAAJ/IAEoAggiAEH+////B04EQEEAIAJBAXENARpB/////wcgAEH+////B0cNARogASgCBEH/////B2oMAQtBACAAQQBMDQAaIABBH00EQEEAIAEoAhAgASgCDEECdGpBBGsoAgBBICAAa3YiAmsgAiABKAIEGwwBCyACQQFxRQRAQYCAgIB4Qf////8HIAEoAgQbDAELQQAgASgCECABKAIMIgIgAkEFdCAAaxBoIgJrIAIgASgCBBsLNgIACw0AIAAgASABED8QhQML+QECA34CfyMAQRBrIgUkAAJ+IAG9IgNC////////////AIMiAkKAgICAgICACH1C/////////+//AFgEQCACQjyGIQQgAkIEiEKAgICAgICAgDx8DAELIAJCgICAgICAgPj/AFoEQCADQjyGIQQgA0IEiEKAgICAgIDA//8AhAwBCyACUARAQgAMAQsgBSACQgAgA6dnQSBqIAJCIIinZyACQoCAgIAQVBsiBkExahBnIAUpAwAhBCAFKQMIQoCAgICAgMAAhUGM+AAgBmutQjCGhAshAiAAIAQ3AwAgACACIANCgICAgICAgICAf4OENwMIIAVBEGokAAu2AQEBfyMAQRBrIgMkAAJAAkAgAkEASARAIAEgAkH/////B3E2AgBBASECDAELIAAoAhAiACgCLCACTQ0BAn8CQCAAKAI4IAJBAnRqKAIAIgApAgRCgICAgICAgIBAg0KAgICAgICAgMAAUg0AIANBDGogABC9BUUNAEEBIAMoAgwiAEF/Rw0BGgtBACEAQQALIQIgASAANgIACyADQRBqJAAgAg8LQe/fAEGu/ABBvxhBryAQAAAL1QECAn8DfgJ/IAJFBEBCgICAgDAhBUEADAELIAAoAhAiAykDgAEhBSADQoCAgIAgNwOAAUF/CyEDAkAgACABQQYgAUEAEBQiB0KAgICAcIMiBkKA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BUEgahBGQX8MAQsCQCABKAIEIARODQAgASAENgIEIARB//8DSA0AIAUgAjYCBCAFIAM2AgAgAEGjkwEgBRBGQX8MAQsgASgCCCACQQF0aiIDLwEAIgZB//8DRwRAQQAgBCAGRg0BGiAFIAI2AhggBSAENgIUIAUgBjYCECAAQdSSASAFQRBqEEZBfwwBCyADIAQ7AQBBfyAAIAFBDGpBBCABQRRqIAEoAhBBAWoQeA0AGiABIAEoAhAiAEEBajYCECABKAIMIABBAnRqIAI2AgBBAAshAyAFQTBqJAAgAwsTACAAIAEgAiADIARBAEEAEPgBCzkAIABB/wBNBEAgAEEDdkH8////AXFBoIECaigCACAAdkEBcQ8LIABBfnFBjMAARiAAENIEQQBHcgtmAQF/An9BACAAKAIIIgIgAU8NABpBfyAAKAIMDQAaIAAoAhQgACgCACACQQNsQQF2IgIgASABIAJJGyIBIAAoAhARAQAiAkUEQCAAQQE2AgxBfw8LIAAgATYCCCAAIAI2AgBBAAsLrAECAX8BfiAAKQIEIgSnQf////8HcSEDAkACQCAEQoCAgIAIg1BFBEAgAiADIAIgA0obIQMgAEEQaiEAA0AgAiADRg0CIAAgAkEBdGovAQAgAUYNAyACQQFqIQIMAAsACyABQf8BSw0AIAIgAyACIANKGyEDIABBEGohACABQf8BcSEBA0AgAiADRg0BIAAgAmotAAAgAUYNAiACQQFqIQIMAAsAC0F/IQILIAILpgEBAX8jAEEQayIDJAAgAyACNwMIAkAgACABQYYBIAFBABAUIgJCgICAgHCDQoCAgIDgAFENACAAIAIQOARAIAAgAiABQQEgA0EIahAvIgJC/////29WIAJCgICAgLB/g0KAgICAIFFyDQEgACACEA8gAEGK0wBBABAVQoCAgIDgACECDAELIAAgAhAPIAAgASADIANBCGoQ8QQhAgsgA0EQaiQAIAILowECA38BfiAAQRBqIQIgASgCACIEQQFqIQMCQCAAKQIEIgVCgICAgAiDUEUEQCACIARBAXRqLwEAIgBBgPgDcUGAsANHIAMgBadB/////wdxTnINASACIANBAXRqLwEAIgJBgPgDcUGAuANHDQEgAEEKdEGA+D9xIAJB/wdxckGAgARqIQAgBEECaiEDDAELIAIgBGotAAAh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OCAaKAIkIRQgCCAVQQ9qQfD//wFxayIXJAAgBSEVIAYEQCAHIAQgByAEIAdIGyIIQQAgCEEAShsiCGsiFUEAIAcgFU8bIREDQAJAIAggCUYEQANAIAggEUYNAiAXIAhBA3RqQoCAgIAwNwMAIAhBAWohCAwACwALIAUgCUEDdCIVaikDACIBQiCIp0F1TwRAIAGnIgogCigCAEEBajYCAAsgFSAXaiABNwMAIBFBAWohESAJQQFqIQkMAQsLIA4gBzYCVCAXIRULIA4gFTYCQCAOIBcgBkEDdGoiETYCREEAIQgDQCAIIAtHBEAgESAIQQN0akKAgICAMDcDACAIQQFqIQgMAQsLIBMoAhQhCiAOIBYoAowBNgIwIBYgDkEwaiISNgKMASATKAIwIQYgESALQQN0aiIIIRwLQQAMAQtBAQshBwNAAkACQAJAAkAgB0UEQCAEQQN0IScgA0KAgICAcIMhMyARQQhqIR0gEUEQaiEeIBFBGGohHyAVQQhqISAgFUEQaiEhIBVBGGohIiASQRhqISggBkHIAWohGyAcQRhqISkgBkHAAWohGSACQiCIpyIkQX5xISogA0IgiKchKyAErSEyIAOnISUgDkEwaiEsIA5B6ABqISYgCCEHAkADQAJAIApBAWohDUIBIS5CgICAgDAhAQJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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ajYCAAsgCCABNwMIIAhBCGspAwAiAUIgiKdBdU8EQCABpyIHIAcoAgBBAWo2AgALIAggATcDECAIQRhqIQcM2wELIAggCEEIayIHKQMANwMAIAhBEGspAwAiAUIgiKdBdU8EQCABpyIKIAooAgBBAWo2AgALIAcgATcDACAIQQhqIQcM2gELIAggCEEIayIHKQMAIgE3AwAgByAIQRBrIgcpAwA3AwAgAUIgiKdBdU8EQCABpyIKIAooAgBBAWo2AgALIAcgATcDACAIQQhqIQcM2QELIAggCEEIayIHKQMAIgE3AwAgCEEQayIKKQMAIS0gCiAIQRhrIgopAwA3AwAgByAtNwMAIAFCIIinQXVPBEAgAaciByAHKAIAQQFqNgIACyAKIAE3AwAgCEEIaiEHDNgBCyAIIAhBCGsiBykDACIBNwMAIAhBEGsiCikDACEtIAogCEEYayIKKQMANwMAIAcgLTcDACAKIAhBIGsiBykDADcDACABQiCIp0F1TwRAIAGnIgogCigCAEEBajYCAAsgByABNwMAIAhBCGohBwzXAQsgCEEQayIHKQMAIQEgByAIQRhrIgcpAwA3AwAgByABNwMADNABCyAIQRhrIgcpAwAhASAHIAhBEGsiBykDADcDACAIQQhrIgopAwAhLSAKIAE3AwAgByAtNwMADM8BCyAIQSBrIgcpAwAhASAHIAhBGGsiBykDADcDACAIQRBrIgopAwAhLSAKIAhBCGsiCikDADcDACAHIC03AwAgCiABNwMADM4BCyAIQShrIgcpAwAhASAHIAhBIGsiBykDADcDACAIQRhrIgopAwAhLSAKIAhBEGsiCikDADcDACAHIC03AwAgCiAIQQhrIgcpAwA3AwAgByABNwMADM0BCyAIQQhrIgcpAwAhASAHIAhBEGsiBykDADcDACAIQRhrIgopAwAhLSAKIAE3AwAgByAtNwMADMwBCyAIQRBrIgcpAwAhASAHIAhBGGsiBykDADcDACAIQSBrIgopAwAhLSAKIAE3AwAgByAtNwMADMsBCyAIQRBrIgcpAwAhASAHIAhBGGsiBykDADcDACAIQSBrIgopAwAhLSAKIAhBKGsiCikDADcDACAHIC03AwAgCiABNwMADMoBCyAIQQhrIgcpAwAhASAHIAhBEGsiBykDADcDACAHIAE3AwAMyQEL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ayIHKQMAIgFC/////z9YBEAgAacMAQsgBiABECYLBH8gCQUgDSgAACAJakEEawshDSAGEHtFDXUMJwsgCkECaiEJAn8gCEEIayIHKQMAIgFC/////z9YBEAgAacMAQsgBiABECYLBH8gDSwAACAJakEBawUgCQshDSAGEHtFDXQMJgsgCkECaiEJAn8gCEEIayIHKQMAIgFC/////z9YBEAgAacMAQsgBiABECYLBH8gCQUgDSwAACAJakEBawshDSAGEHtFDXMMJQsgCCANIAooAAFqIBMoAhRrrUKAgICA0ACENwMAIApBBWohDSAIQQhqIQcMcgsgCigAASEHIAggCiATKAIUa0EFaq03AwAgByANaiENIAhBCGohBwxxCwJAIAhBCGsiBykDACIBQv////8PVg0AIAGnIgkgEygCGE8NACATKAIUIAlqIQ0McQsgBkH14QBBABBGDHQLIAhBCGsiDykDACItQiCIpyIHQQFqIglBBE1BAEEBIAl0QRlxG0UEQCAGIC0Q3AUhLQsCQCAGQRgQKSIJBEAgBkKAgICAIEEREEkiLkKAgICAcINCgICAgOAAUg0BIAYoAhAiB0EQaiAJIAcoAgQRAAALIC0hLgxlCyAJQQA2AhAgCSAtNwMAIAlBADYCCCAupyAJNgIgIAdBfnFBAkYNZSAtIgFCIIinIgdBdU8EQCAtpyILIAsoAgBBAWo2AgALA0AgBiABEIwCIgFCgICAgHCDIi9CgICAgCBSBEAgL0KAgICA4ABRDWYgBiAOQeAAaiAOQYABaiABp0EREI4BDWUgBiAOKAJgIA4oAoABIgsQWiALBEAgBiABEA8gB0F1SQ1lIC2nIgcgBygCAEEBajYCAAxlCyAGEHtFDQEMZQsLAkACQCAtpyIMLQAFQQhxRQ0AQQAhByAMKAIQIgsoAiAiEEEAIBBBAEobIRAgC0EwaiELA0AgByAQRg0CIAstAANBEHENASALQQhqIQsgB0EBaiEHDAALAAsgBiAOQeAAaiAOQYABaiAMQREQjgENZUEAIQcgDigCYCEKIA4oAoABIQkDQCAHIAlHBEAgBiAuIAogB0EDdGooAgRCgICAgCBBABDQARogB0EBaiEHDAELCyAGIAogCRBaDGYLIAlBATYCCCAJIAwoAig2AgwMZQtCgYCAgBAhLgJAIAhBCGspAwAi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/wB8v6G9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhs3AwAMSAsCfCAIQQhrIgcpAwAiLUIgiKciDCAIQRBrIgspAwAiLkIgiKciD3JFBEAgLcQgLsR+IgFCgICAgAh8QoCAgIAQWgRAIBItAChBBHFBACABQoCAgICAgIAQfUKBgICAgICAYFQbDQUgAbkMAgtEAAAAAAAAAIAgLSAuhEKAgICACINQIAFCAFJyRQ0BGiALIAFC/////w+DNwMADEkLIA9BB2tBbUsgDEEHa0FtS3INAyASLQAoQQRxDQMgLkKAgICAwIGA/P8AfL8gLUKAgICAwIGA/P8AfL+iCyE0IAtCgICAgMB+IDS9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhs3AwAMRwsgCEEIayIHKQMAIgEgCEEQayILKQMAIi2EQv////8PVg0BIBItAChBBHENASALAn4gLae3IAGnt6MiNL0iAQJ/IDSZRAAAAAAAAOBBYwRAIDSqDAELQYCAgIB4CyIIt71RBEAgCK0MAQtCgICAgMB+IAFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsLNwMADEYLIAhBCGsiBykDACIBIAhBEGsiCykDACIthEL/////D1YNACAtpyIMQQBIDQAgAaciD0EATA0AIAsgDCAPcK03AwAMRQsjAEEgayIHJAACfwJAAkACQAJAAn4CQAJAAkACQAJAAkACQEEHIAhBEGsiCykDACIBQiCIpyIMIAxBB2tBbkkbIgxBB0dBByAIQQhrIiMpAwAiLkIgiKciDyAPQQdrQW5JGyIPQQdHckUEQCAHIC5CgICAgMCBgPz/AHw3AwggByABQoCAgIDAgYD8/wB8NwMQDAELAkAgDEF/RiAPQX5xQQJHcUUgDEF+cUECRiAPQX9HcnENACAGIAdBGGogASAuIAlBAUEAEIUCIgxFDQAgBiABEA8gBiAuEA8gDEEASA0MIAsgBykDGDcDAAwJCyAGIAEQbCIBQoCAgIBwg0KAgICA4ABRDQogBiAuEGwiLkKAgICAcINCgICAgOAAUQRAIAYgARAPDAwLQQcgAUIgiKciDCAMQQdrQW5JGyIMQQcgLkIgiKciDyAPQQdrQW5JGyIPckUEQCAupyEMIAGnIQ8CQAJAAkACQAJAAkAgCUGaAWsOBgABAgkFAwQLIC7EIAHEfiEtAkAgBigCECIQKAKMASIYRQ0AIBgtAChBBHFFDQAgLUKAgICAgICAEH1CgYCAgICAgGBUDQgLQgAhASAtQgBSDQogDCAPckEATg0LIAtCgICAgMD+/wM3AwAMDgsgBigCECIQKAKMASIYBEAgGC0AKEEEcQ0HCyALQoCAgIDAfiAPtyAMt6O9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhs3AwAMDQsgDEEASiAPQQBOcUUEQCALAn4gD7cgDLcQjgMiNL0iAQJ/IDSZRAAAAAAAAOBBYwRAIDSqDAELQYCAgIB4CyIJt71RBEAgCa0MAQtCgICAgMB+IAFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsLNwMADA0LIA8gDHCtIS0MCAsgBigCECIQKAKMASIYBEAgGC0AKEEEcQ0FCyAPtyE0IAsCfgJ8IAy3IjW9QoCAgICAgID4/wCDQoCAgICAgID4/wBRBEBEAAAAAAAA+H8gNJlEAAAAAAAA8D9hDQEaCyA0IDUQjwMLIjS9IgECfyA0mUQAAAAAAADgQWMEQCA0qgwBC0GAgICAeAsiCbe9UQRAIAmtDAELQoCAgIDAfiABQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbCzcDAAwLCyAJQbIBRg0FDAQLIAHEIC7EfSEtDAULIAxBdUcgD0F1R3FFBEAgBiAJIAsgASAuIAYoAhAoAtgCERoADQwMCQsgDEF3RyAPQXdHcUUEQCAGIAkgCyABIC4gBigCECgCvAIRGgBFDQkMDAsgDEF2RyAPQXZHcUUEQCAGKAIQIRAMAgsgBiAHQRBqIAEQbg0KIAYgB0EIaiAuEG4NCwsCQCAGKAIQIhAoAowBIgxFDQAgDC0AKEEEcUUNACAHKwMQEL0CRQ0AIAcrAwgQvQINAQsCQAJAAkACQAJAAkACQCAJQZoBaw4GAAECCAUEAwsgBysDECAHKwMIoiE0DAULIAcrAxAgBysDCKMhNAwECyAHKwMQIAcrAwgQjgMhNAwDCyAJQbIBRw0EIAcrAxAgBysDCJkiNRCOAyI0RAAAAAAAAAAAY0UNAiA1IDSgITQMAgsgBysDECE1IAcrAwgiNr1CgICAgICAgPj/AINCgICAgICAgPj/AFEEQEQAAAAAAAD4fyE0IDWZRAAAAAAAAPA/YQ0CCyA1IDYQjwMhNAwBCyAHKwMQIAcrAwihITQLIAtCgICAgMB+IDS9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhs3AwAMBwsgBiAJIAsgASAuIBAoAqACERoARQ0GDAkLEAEACyAMRQ0FIAHEIC7EIgGBIi1CAFkNACAMQQBIBEAgLSABfSEtDAELIAEgLXwhLQsgLUKAgICACHxC/////w9WDQEgLSEBCyABQv////8PgwwBC0KAgICAwH4gLbm9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsLIQEgCyABNwMAC0EADAMLIAZBAhCEAgwBCyAGIC4QDwsgC0KAgICAMDcDACAjQoCAgIAwNwMAQX8LIQkgB0EgaiQAIAkNSCAIQQhrIQcMRAsgCEEEaygCACIHRSAHQQdrQW5Jcg09IAghByAGIAhBjQEQ5gFFDUMMRwsCQAJ8IAhBCGsiBykDACIBQiCIpyIJRQRARAAAAAAAAACAIAGnIgpFDQEaRAAAAAAAAOBBIApBgICAgHhGDQEaIAdCACABfUL/////D4M3AwAMPwsgCUEHa0FtSw0BIAFCgICAgMD+/wN9vwshNCAHQoCAgIDAfiA0vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbNwMADD0LIAghByAGIAhBjAEQ5gFFDUIMRgsgCEEIayIHKQMAIgFC/////w9WIAFC/////w+DQv////8HUXJFBEAgByABQgF8Qv////8PgzcDAAw8CyAIIQcgBiAIQY8BEOYBRQ1BDEULIAhBCGsiBykDACIBQv////8PViABQv////8Pg0KAgICACFFyRQRAIAcgAUIBfUL/////D4M3AwAMOwsgCCEHIAYgCEGOARDmAUUNQAxECyAGIAhBCGsiBykDABBsIgFCgICAgHCDQoCAgIDgAFEEQCAHQoCAgIAwNwMADEQLIAcgATcDACABQiCIp0F1TwRAIAGnIgcgBygCAEEBajYCAAsgCCABNwMAIAYgCEEIaiIHIAlBAmsQ5gFFDT8MQwsgCkECaiENIBEgCi0AAUEDdGoiBykDACIBQv////8PViABQv////8Pg0L/////B1FyRQRAIAcgAUIBfEL/////D4M3AwAMOQsgAUIgiKdBdU8EQCABpyIJIAkoAgBBAWo2AgALIA4gATcDYCAGICZBjwEQ5gENQiAGIAcgDikDYBAgDDgLIApBAmohDSARIAotAAFBA3RqIgcpAwAiAUL/////D1YgAUL/////D4NCgICAgAhRckUEQCAHIAFCAX1C/////w+DNwMADDgLIAFCIIinQXVPBEAgAaciCSAJKAIAQQFqNgIACyAOIAE3A2AgBiAmQY4BEOYBDUEgBiAHIA4pA2AQIAw3CyAIQQhrIgcpAwAiAUL/////D1gEQCAHIAFC/////w+FNwMADDcLIAghByMAQRBrIgkkAAJ/AkACQAJAIAhBCGsiCykDACIBQoCAgIBwVA0AIAYgCUEIaiABQZUBEMIFIgxBAEgNASAMRQ0AIAYgARAPIAsgCSkDCDcDAAwCCwJAIAYgARBsIgFCgICAgHCDIi1CgICAgOAAUQ0AIAYoAhAiDCgCjAEiDwR/IA8tAChBBHFBAnYFQQALRSAtQoCAgIDgflJxRQRAIAYgC0GVASABIAwoApwCERsADQEMAwsgBiAJQQRqIAEQmAENACALIAk1AgRC/////w+FNwMADAILIAtCgICAgDA3AwALQX8MAQtBAAshCyAJQRBqJAAgC0UNPAxACwJAAkACQCAIQQhrIgcpAwAiASAIQRBrIgspAwAiLYRC/////w9WDQAgAachCSASLQAoQQRxRQ0BIAlBH0sNACAtIAGGQoCAgIAIfEKAgICAEFQNAgsgBiAIQaABEMMCRQ09DEELIAlBH3EhCQsgCyAtpyAJdK03AwAMOwsgCEEIayIHKQMAIgEgCEEQayIJKQMAIi2EQv////8PWARAIAkCfiAtpyABp3YiCEEATgRAIAitDAELQoCAgIDAfiAIuL0iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGws3AwAMOwsjAEEQayIJJAAgCEEIayIMKQMAIS0CfwJAAkAgBiAIQRBrIgspAwAQbCIBQoCAgIBwgyIuQoCAgIDgAFEEQCAGIC0QDwwBCyAGIC0QbCItQoCAgIBw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gICAgOAAIQEgACACKQMAEOgBIgZCgICAgHCDQoCAgIDgAFEEQCAAIAUQDwwGCyAAIAYQDyAGpyAFp0YNBAsgACAFEA8gAEGE5ABBABAVC0KAgICA4AAhAQwDCyACKAIQKAIsIgBFBEBCgICAgCAhAQwDCyAAIAAoAgBBAWo2AgAgAK1CgICAgHCEIQEMAgsgACABEI0EIgFCIIinQXVJDQEgAaciACAAKAIAQQFqNgIADAELIAUhAQsgA0EQaiQAIAELCwAgAEGNIkEAEEYLGgAgACgCECABIAIQ7wQiAUUEQCAAEHwLIAELgAEBAn8CQAJAIAFFDQAgASgCACICQQBMDQEgASACQQFrIgI2AgAgAg0AIAEtAAVBAXEEQCAAIAEpAxgQIwsgASgCCCICIAEoAgwiAzYCBCADIAI2AgAgAUIANwIIIABBEGogASAAKAIEEQAACw8LQdaNAUGu/ABB9ChB6t0AEAAACxIAIAFB3gFOBEAgACABEOgFCwvbAQIBfwJ+QQEhBAJAIABCAFIgAUL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFEbDQAgAkIAUiADQv///////////wCDIgZCgICAgICAwP//AFYgBkKAgICAgIDA//8AURsNACAAIAKEIAUgBoSEUARAQQAPCyABIAODQgBZBEBBfyEEIAAgAlQgASADUyABIANRGw0BIAAgAoUgASADhYRCAFIPC0F/IQQgACACViABIANVIAEgA1EbDQAgACAChSABIAOFhEIAUiEECyAECy0BAX9BASEBAkACQAJAIABBDWsOBAIBAQIACyAAQTRGDQELIABBOEYhAQsgAQsfACAAIAEgACACEKoBIgIgAyAEEBkhBCAAIAIQEyAEC0QBAX9BfyEDIAAgACgCBCACahDGAQR/QX8FIAAoAgAgAWoiAyACaiADIAAoAgQgAWsQnAEgACAAKAIEIAJqNgIEQQALC44BAQF/IAAgBkEMEEkiBkKAgICAcINCgICAgOAAUgRAIAAgACgCAEEBajYCACAGpyIHIAU7ASogByAEOgApIAcgAzoAKCAHIAE2AiQgByAANgIgIAcgBy0ABUHvAXEgBEECa0EESUEEdHI6AAUgACAGIAAgAkHMngEgAhsQqgEiASADEJYDIAAgARATCyAGCykBAX9B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IAAgD0ElEEsiCEUNACAAIANB3QEgA0EAEBQiDkKAgICAcIMiDUKAgICA4ABRDQAgDUKAgICAMFEEQCAAIA8QD0EADAILIAAgDkElEEsiC0UNAAJAIAgoAgRFDQAgCygCBEUNACAAIA8QDyAAIA4QD0EADAILIAQQ9wMhBwJ/IAgoAgAiCiALKAIAIgxGBEAgCCAHQQJ0aigCCAwBCyAKIAxLBEAgCEHUAGogDCAHELgFDAELIAtB3ABqIAogBxC4BQsiCkUEQCAJIAdBAnRBwMABajYCACAAQZL6ACAJEBUMAQsCQCAIKAIEBEACfiAFBEAgACACELkCDAELIAAgAiAGEJACCyICQoCAgIBwg0KAgICA4ABSDQEMAgsgAkIgiKdBdUkNACACpyIIIAgoAgBBAWo2AgALAkAgCygCBARAAn4gBQRAIAAgAxC5AgwBCyAAIAMgBhCQAgsiA0KAgICAcINCgICAgOAAUg0BIAAgAhAPDAILIANCIIinQXVJDQAgA6ciBSAFKAIAQQFqNgIACyAKIAooAgBBAWo2AgAgCSACIAMgBEF+cUGkAUYgB0ENRnEiBRs3AxggCSADIAIgBRs3AxAgACAKrUKAgICAcIRCgICAgDBBAiAJQRBqEC8hDSAAIAIQDyAAIAMQDyANQoCAgIBwgyICQoCAgIDgAFENAAJ+IAdBDEYEQCAAIA0QJiAEQaoBRketQoCAgIAQhAwBCyANIAdBDUcNABpCgICAgBAgAkKAgICAMFENABogACANECYgBEF9cUGkAUZHrUKAgICAEIQLIQMgACAPEA8gACAOEA8gASADNwMAQQEMAQsgACAPEA8gACAOEA8gAUKAgICAMDcDAEF/CyEHIAlBIGokACAHC2MCAX8BfiMAQRBrIgIkACAAAn4gAUUEQEIADAELIAIgAa1CACABZyIBQdEAahBnIAIpAwhCgICAgICAwACFQZ6AASABa61CMIZ8IQMgAikDAAs3AwAgACADNwMIIAJBEGokAAvHAQIBfgF/AkAgACgCECgCjAEiA0UgAUL/////////D3xC/v///////x9Wcg0AIAMoAihBBHFFDQAgAUKAgICACHxC/////w9YBEAgAUL/////D4MPC0KAgICAwH4gAbm9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA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ACAAIAEQiANBH3YLvgEBB38gACgCDCIFIQMCQANAIAMiBEUNASAAKAIQIgkgBEEBayIDQQJ0aiIGKAIARQ0ACyAAIAAoAgggBCAFa0EFdGo2AgggBigCAGciBwRAQSAgB2shBUEAIQMDQCADIARGRQRAIAkgA0ECdGoiBiAIIAV2IAYoAgAiCCAHdHI2AgAgA0EBaiEDDAELCyAAIAAoAgggB2s2AggLIAAgASACIARBABCqAw8LIABBgICAgHg2AgggAEEAEEEaQQALTgIBfwF+An4jACICIAAoAhAoAnhJBEAgABDpAUKAgICA4AAMAQsgACABrSABKQMAQoCAgIAwIAEoAgggASgCIEEEENgBCyEDIAIkACADCwwAIABB+swAQQAQFQsLACAAQcMaQQAQFQvVAQEDfyMAQRBrIgUkAEF/IQMCQCAAKAIUDQACQAJAIAFBgICAgAROBEAgACgCAEHA2gBBABBGDAELIAEgACgCDEEDbEECbSIEIAEgBEobIQEgACgCECIEIAJBgAJIckUEQCAAIAEQ9QMhAwwDCyAAKAIAIAAoAgQgASAEdCAEa0ERaiAFQQxqEKgBIgINAQsgABCDAwwBCyAFKAIMIQMgACACNgIEIABB/////wMgAyAAKAIQdiABaiIAIABB/////wNOGzYCDEEAIQMLIAVBEGokACADCxEAIAAgASACIAMgBEEAELcFCyYBAX8gAUIgiKdBdU8EQCABpyICIAIoAgBBAWo2AgALIAAgARBsCycBAX8gAUIAUwRAIABCACABfRAwIQIgAEEBNgIEIAIPCyAAIAEQMAvsAQEBfwJAAkACQAJAAkACQAJAQQcgAkIgiKciAyADQQdrQW5JGyIDDggAAAAEBAQEAQMLIAAoAtgBIQAgAUIANwIMIAFCgICAgICAgICAfzcCBCABIAA2AgAgASACxBC6Ag0BDAQLIAAoAtgBIQAgAUIANwIMIAFCgICAgICAgICAfzcCBCABIAA2AgAgASACQoCAgIDAgYD8/wB8vxC6BUUNAwsgARAbQQAPCyADQQpqQQJJDQILIAAoAtgBIQAgAUIANwIMIAFCgICAgICAgICAfzcCBCABIAA2AgAgARA1CyABDwsgAqdBBGoL5AEBBH8jAEEQayICJAAgACACQQhqIAEQ5QEhAyAAIAEQDwJAIANFBEBC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IAMoAgAgAygCBHEMBAsgAygCACADKAIEcgwDCyADKAIAIAMoAgRzDAILEAEACyADKAIEIAMoAgB0C603AwAMAQsgAUKAgICAMDcDACAGQoCAgIAwNwMAQX8MAQtBAAshACADQRBqJAAgAAuGBQIHfwJ+AkAgAUKAgICAcINCgICAgJB/UgRAQoCAgIDgACEKIAAgARA3IgFCgICAgHCDQoCAgIDgAFENAQsCQCACQoCAgIBwg0KAgICAkH9RDQBCgICAgOAAIQogACACEDciAkKAgICAcINCgICAgOAAUg0AIAEhAgwBCwJAIAKnIgUpAgQiCkL/////B4NQDQAgAaciAykCBCELAkAgAygCAEEBRyAKIAuFQoCAgIAIg0IAUnINACADIAAoAhAoAgwRBAAgBSkCBCIKpyIEQf////8HcSIHIAMpAgQiC6ciBkH/////B3EiCGogBEEfdnQgBkEfdiIJQRFzakkNACAFQRBqIQYgA0EQaiEEIAkEQCAEIAhBAXRqIAYgB0EBdBAfGiADIAMpAgQiCiAFKQIEfEL/////B4MgCkKAgICAeIOENwIEDAILIAQgCGogBiAHEB8aIAMgAykCBCIKIAUpAgR8Qv////8HgyILIApCgICAgHiDhDcCBCAEIAunakEAOgAADAELAn4CQAJAIAunQf////8HcSAKp0H/////B3FqIgdBgICAgARPBEAgAEHA2gBBABBGDAELIAAgByAKIAuEpyIGQR92EOoBIggNAQtCgICAgOAADAELIAhBEGohBAJAIAZBAE4EQCAEIANBEGogAygCBEH/////B3EQHyIEIAMoAgRB/////wdxaiAFQRBqIAUoAgRB/////wdxEB8aIAQgB2pBADoAAAwBCyAEIAMgAygCBEH/////B3EQwwUgBCADKAIEQQF0aiAFIAUoAgRB/////wdxEMMFCyAIrUKAgICAkH+ECyEKIAAgARAPDAELIAEhCgsgACACEA8gCgtAACAAAn8CfyADBEAgASgCJCACQQN0akEEagwBC0EAIAEoAiAiA0UNARogAyABLwEoIAJqQQR0agsoAgALENkBCw0AIAAgASACQQIQzgILNQEBfyMAQdAAayICJAAgAiAAKAIQIAJBEGogARCQATYCACAAQef5ACACEMYCIAJB0ABqJAALowECAX8BfiMAQRBr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AiAAKAIQQf0ARw0ACyAAEPMBC0F/QQAgABASGyEBCyABC2gAIAAgASACEE8iAEEATgRAIAEoAnQgAEEEdGoiAiACKAIMQYd/cSADQQN0QfgAcXI2AgwgAiABKAK8ASIDNgIEIAIgASgCwAE2AgggASgCzAEgA0EDdGogADYCBCABIAA2AsABCyAAC20BAX8gACABQfwBakEQIAFB+AFqIAEoAvQBQQFqEHhFBEAgASABKAL0ASIDQQFqNgL0ASABKAL8ASADQQR0aiIDQX82AgAgAyADLQAEQfgBcToABCADIAEoArwBNgIIIAMgACACEBg2AgwLIAMLxgMBBH8gAEFAayIFKAIAQbACaiEDA0BBACECAkADQCADKAIAIgNFDQEgAygCHARAIAFFBEAgAEEGEBALIABBhAEQEEGDASECIAAgBSgCAC0AbEEDRgR/IABBDhAQIABBDhAQIABBwgAQECAAQQYQGiAAQREQECAAQbABEBAgAEHqAEF/EBwhASAAQSQQECAFKAIAQQAQFyAAQYEBEBAgAEGLARAQIABB6wBBfxAcIQQgACABEB4gAEEOEBAgACAEEB5BDgVBgwELEBBBfSECQQEhAQsgAygCECACaiECIAMoAhRBf0YNAAtBD0EOIAEbIQQDQCACBEAgACAEEBAgAkEBayECDAELCyABRQRAIABBBhAQCyAAQe0AIAMoAhQQHBpBASEBDAELCwJAIABBQGsoAgAiAigCYARAAkAgAUUEQEF/IQIMAQsgAEEqEBAgAEHpAEF/EBwhAiAAQQ4QEAsgAEG4ARAQIABBCBAaIABBQGsoAgBBABAXIAAgAhAeQSghAgwBCyACLQBsIgMEQCABRQRAIABBBhAQQS4hAgwCC0EuIQIgA0EDRw0BIABBiwEQEAwBC0EoQSkgARshAgsgACACEBALXQECfwJAAkAgACgCmAIiAUEASA0AIAAoAoACIAFqLQAAIgBBI2siAUENTUEAQQEgAXRB5fAAcRsNAQJAIABB6wBrDgQCAQECAAsgAEHsAWtBAkkNAQtBASECCyACCy8AIAAgASACIAMQ4wIiAEEATgRAIAEoAnQgAEEEdGoiASABKAIMQQNyNgIMCyAACy4AIABBDBApIgAEQCAAIAM2AgggACACNgIEIAAgASgCEDYCACABIAA2AhALIAALawEBfwJA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CyAAKAIQIgJBEGogAyACKAIEEQAAQQAhAgNAIAEoAvwBIQMgAiABKAL0AU5FBEAgACADIAJBBHRqKAIMEBMgAkEBaiECDAELCyAAKAIQIgJBEGogAyACKAIEEQAAQQAhAgNAIAEoAsgCIQMgAiABKALAAk5FBEAgACADIAJBA3RqKAIEEBMgAkEBaiECDAELCyAAKAIQIgJBEGogAyACKAIEEQAAIAEoAswBIgIgAUHQAWpHBEAgACgCECIDQRBqIAIgAygCBBEAAAsgACABKALsAhATIAFB9AJqEPYBIAAoAhAiAkEQaiABKAKMAyACKAIEEQAAIAEoAgQEQCABKAIYIgIgASgCHCIDNgIEIAMgAjYCACABQgA3AhgLIAAoAhAiAEEQaiABIAAoAgQRAAALggEBAn8gACABQRBqEM8FAkAgASgCICICBEAgASgCPCIDRQ0BA0AgAiADT0UEQCAAIAIpAwAQIyACQQhqIQIgASgCPCEDDAELCyAAQRBqIAEoAiAgACgCBBEAAAsgACABKQMYECMgACABKQMAECMPC0GEhAFBrvwAQYmUAUHC6wAQAAALaAEBfgJAAkAgABA0IgNCgICAgHCDQoCAgIDgAFEEQCABIQMMAQsgACADQcAAIAFBBxAZQQBIDQAgACADQekAIAJBAEetQoCAgIAQhEEHEBlBAE4NAQsgACADEA9CgICAgOAAIQMLIAMLjAEBAn8CQANAIAFCgICAgHBUDQECQAJAAkACQAJAAkAgAaciAi8BBiIDQQxrDgUFAQMHAQALIANBMEYNASADQTRrDgUABgYGAAYLIAIoAiAoAjAPCyACKAIgIgJFDQQgAi0AEUUNASAAELYCQQAPCyACKAIgIQILIAIpAwAhAQwBCwsgAigCICEACyAACyIAIAAgAkEBahApIgAEQCAAIAEgAhAfIAJqQQA6AAALIAALjQMCA34EfwJAIAEoAggiBkH+////B04EQEEBIQcgAkEBcQ0BQv///////////wAhAyAGQf7///8HRw0BIAE0AgRC////////////AHwhAwwBCyAGQQBMBEAMAQsgBkE/TQRAIAEoAhAiCSABKAIMIgJBAnRqQQRrKAIAIQhCACAGQSBNBH4gCEEgIAZrdq0FIAJBAk8EfiACQQJ0IAlqQQhrNQIABUIACyAIrUIghoRBwAAgBmutiAsiA30gAyABKAIEGyEDDAELIAJBAXFFBEAgASgCBEUEQEL///////////8AIQNBASEHDAILQoCAgICAgICAgH8hA0EBIQcgBkHAAEcNASABKAIQIAEoAgwiAUECdGoiAkEEazUCAEIghiEEIAFBAk8EfiACQQhrNQIABUIACyAEhEKAgICAgICAgIB/UiEHDAELQgAgASgCECIIIAEoAgwiAiACQQV0IAZrIgYQaK0gCCACIAZBIGoQaK1CIIaEIgN9IAMgASgCBBshAwsgACADNwMAIAcLMwEBfyAAKAIAKAIQIgFBEGogACgCBCABKAIEEQAAIABBADYCDCAAQgA3AgQgAEF/NgIUC0YAIAJBAEwEQCAAQS8QLQ8LIAAgAkEAEOoBIgBFBEBCgICAgOAADwsgAEEQaiABIAIQHyACakEAOgAAIACtQoCAgICQf4QLbwIBfwF+AkACQAJ/IAJFBEAgACgCECABQQAQswUMAQsgASwAAEE6a0F2Tw0BIAAoAhAgASACELMFCyIDDQELQQAhAyAAIAEgAhCTAiIEQoCAgIBwg0KAgICA4ABRDQAgACgCECAEpxD8AyEDCyADCxwAIAAgACgCECgCRCABQRhsaigCBEHL9gAQjwELSAECfwJAA0AgAUEKRg0BIAFBAnRB4oACai8BACAASg0BIAFBAXQhAiABQQFqIQEgAkEBdEHkgAJqLwEAIABMDQALQQEPC0EAC3QBBH9BAiECAkAgACgCCCIEQf////8HRg0AIAEoAggiBUH/////B0YNACAAKAIEIgMgASgCBEcEQCAEQYCAgIB4RgRAQQAhAiAFQYCAgIB4Rg0CC0EBIANBAXRrDwtBACAAIAEQ0wEiAGsgACADGyECCyACC4kBAQR+IAAQPiIEQoCAgIBwg0KAgICA4ABSBEAgAUEAIAFBAEobrSEGA0AgAyAGUQRAIAQPCyACIAOnQQN0aikDACIFQiCIp0F1TwRAIAWnIgEgASgCAEEBajYCAAsgACAEIAMgBUEAENIBIQEgA0IBfCEDIAFBAE4NAAsgACAEEA8LQoCAgIDgAAtPAQF/IAEgAjYCDCABIAA2AgAgAUEANgIUIAEgAzYCECABQQA2AgggASAAIAIgAxDqASIANgIEIAAEf0EABSABQX82AhQgAUEANgIMQX8LC7wBAQF/IwBBEGsiBSQAIAUgAzcDCAJAIAEEQCABIAEoAgBBAWo2AgAgACABrUKAgICAcIQgAkEBIAVBCGoQLyECIAAgBSkDCBAPQX8hASACQoCAgIBwg0KAgICA4ABRDQEgACACEA9BASEBDAELIAAgAxAPIARBgIABcUUEQEEAIQEgBEGAgAJxRQ0BIAAoAhAoAowBIgRFDQEgBC0AKEEBcUUNAQsgAEH/GkEAEBVBfyEBCyAFQRBqJAAgAQthAgF/AX4CQCABQQBIDQACQAJAAkAgACgCECgCOCABQQJ0aigCACkCBCIDQj6Ip0EBaw4DAwIAAQtBASECAkAgA0IgiKdB/////wNxDgIDAAELQQIPCxABAAtBASECCyACC6cFAgl/An4jAEEgayIDJAACQCABKQNAIgtCgICAgHCDQoCAgIAwUQRAQoCAgIDgACEMIABBCxB2IgtCgICAgHCDQoCAgIDgAFENASADQgA3AxggA0IANwMQIANCADcDCCAAIANBCGogAUEAEK8FIQQgACgCECICQRBqIAMoAgggAigCBBEAAAJAAkAgBARAIAMoAhQhBgwBCyALpyEHIAMoAhwiCEEAIAhBAEobIQkgAygCFCEGQQAhBAJAA0AgBCAJRwRAAkACQAJAIAYgBEEMbGoiAigCCCIFBEAgAyABNgIADAELAkAgACADIANBBGogASACKAIAEPQDIgUOBAAGBgIGCyADKAIEIQULIAUoAgxB/QBGBEAgAkECNgIEIAIgAygCACgCECAFKAIAQQN0aigCBDYCCAwCCyACQQE2AgQgBSgCBCIKBEAgAiAKNgIIDAILIAIgAygCACgCSCgCJCAFKAIAQQJ0aigCADYCCAwBCyACQQA2AgQLIARBAWohBAwBCwsgBiAIQQxBwQAgABC+AkEAIQQDQCAEIAlGDQMCQAJAAkAgBiAEQQxsaiICKAIEQQFrDgIAAQILIAIoAgghBSAAIAcgAigCAEEmEHoiAkUNBCAFIAUoAgBBAWo2AgAgAiAFNgIADAELIAAgCyACKAIAQQEgAigCCEEGEJUDQQBIDQMLIARBAWohBAwACwALIAAgBSABIAIoAgAQ8wMLIAAoAhAiAUEQaiAGIAEoAgQRAAAgACALEA8MAgsgACgCECIEQRBqIAYgBCgCBBEAACAAIAtB1wEgAEH+ABAtQQAQGRogByAHLQAFQf4BcToABSABIAs3A0ALIAtCIIinQXVPBEAgC6ciACAAKAIAQQFqNgIACyALIQwLIANBIGokACAMC4kEAgR+An8CQAJAIAG9IgRCAYYiA1ANACABvSECIAC9IgVCNIinQf8PcSIGQf8PRg0AIAJC////////////AINCgYCAgICAgPj/AFQNAQsgACABoiIAIACjDwsgAyAFQgGGIgJaBEAgAEQAAAAAAAAAAKIgACACIANRGw8LIARCNIinQf8PcSEHAn4gBkUEQEEAIQYgBUIMhiICQgBZBEADQCAGQQFrIQYgAkIBhiICQgBZDQALCyAFQQEgBmuthgwBCyAFQv////////8Hg0KAgICAgICACIQLIQICfiAHRQRAQQAhByAEQgyGIgNCAFkEQANAIAdBAWshByADQgGGIgNCAFkNAAsLIARBASAHa62GDAELIARC/////////weDQoCAgICAgIAIhAshBCAGIAdKBEADQAJAIAIgBH0iA0IAUw0AIAMiAkIAUg0AIABEAAAAAAAAAACiDwsgAkIBhiECIAZBAWsiBiAHSg0ACyAHIQYLAkAgAiAEfSIDQgBTDQAgAyICQgBSDQAgAEQAAAAAAAAAAKIPCwJAIAJC/////////wdWBEAgAiEDDAELA0AgBkEBayEGIAJCgICAgICAgARUIQcgAkIBhiIDIQIgBw0ACwsgBUKAgICAgICAgIB/gyADQoCAgICAgIAIfSAGrUI0hoQgA0EBIAZrrYggBkEAShuEvwvoDwMHfAh/An5EAAAAAAAA8D8hAwJAAkACQCABvSIRQiCIpyIPQf////8HcSIJIBGnIgxyRQ0AIAC9IhJCIIinIQogEqciEEUgCkGAgMD/A0ZxDQAgCkH/////B3EiC0GAgMD/B0sgC0GAgMD/B0YgEEEAR3FyIAlBgIDA/wdLckUgDEUgCUGAgMD/B0dycUUEQCAAIAGgDwsCQAJAAkACQAJAAn9BACASQgBZDQAaQQIgCUH///+ZBEsNABpBACAJQYCAwP8DSQ0AGiAJQRR2IQ0gCUGAgICKBEkNAUEAIAxBswggDWsiDnYiDSAOdCAMRw0AGkECIA1BAXFrCyEOIAwNAiAJQYCAwP8HRw0BIAtBgIDA/wNrIBByRQ0FIAtBgIDA/wNJDQMgAUQAAAAAAAAAACARQgBZGw8L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A38jAEFAaiIGJAACQCAEIANrIghBAUYEQAJAIANFBEAgAUIDEDAaDAELIAEgA60QMBogAUEBNgIECyACIANBAXRBAXKtEDAaIAIgAigCCEECajYCCCAAIAEQRBoMAQsgACgCACEHIAAgASACIAMgCEEBdiADaiIDQQEQoAQgBkIANwI4IAZCgICAgICAgICAfzcCMCAGIAc2AiwgBkIANwIkIAZCgICAgICAgICAfzcCHCAGIAc2AhggBkIANwIQIAZCgICAgICAgICAfzcCCCAGIAc2AgQgBkEsaiIHIAZBGGogBkEEaiIIIAMgBCAFEKAEIAAgACAIQf////8DQQEQQxogByAHIAFB/////wNBARBDGiAAIAAgB0H/////A0EBEMsBGiAFBEAgASABIAZBGGpB/////wNBARBDGgsgAiACIAZBBGoiAEH/////A0EBEEMaIAZBLGoQGyAGQRhqEBsgABAbCyAGQUBrJAALzgUCB38DfiMAQTBrIggkAAJ/AkACQAJAAkACQCADDgMAAQIDC0HcjAFB1PwAQbUaQZb8ABAAAAsgASACKAIQIAIoAgwiACAAQQV0IAIoAghrEGg2AgAMAgsgAigCECIDIAIoAgwiACAAQQV0IAIoAghrIgJBIGoQaK1CIIYgAyAAIAIQaK2EIQ8gBkGAlOvcA0YEQCABIA9CgJTr3AOAIhA+AgQgASAQQoDslKMMfiAPfD4CAAwCCyABIA8gBq0iEIAiET4CBCABIA8gECARfn0+AgAMAQsgAigCACEKIAhCADcCKCAIQoCAgICAgICAgH83AiAgCCAKNgIcIAhCADcCFCAIQoCAgICAgICAgH83AgwgCCAKNgIIIAMgBUEBdCAEQQFqIgt2QQFqQQF2IgprIQwgACAEQQF0QQFyQRRsaiENQQAhAyAAIARBKGxqIgQoAgxFBEAgBCAGIApB/////wNBARD8AiAIQQhqIglCARAwciANIAkgBCAKQQFqIAdsQQJqQQAQlQFyIQkLAkACQCAIQRxqIg4gAiANIAcgDGxBABBDIAlyIA5BARDRAXIgCEEIaiIJIA4gBEH/////A0EBEENyIAkgAiAJQf////8DQQEQ5AFyQSBxDQADQAJAIAgoAgxFDQAgCCgCFEUNACAIQQhqIgIgAiAEQf////8DQQEQywENAiADQQFrIQMM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3gQBCX8jAEEQayIGJAAgACAAKQOAARAjIABBEGohAyAAQaABaiEEIAAoAqQBIQEDQCABIARGRQRAIAEoAgQhBUEAIQIDQCACIAEoAhBORQRAIAAgASACQQN0aikDGBAjIAJBAWohAgwBCwsgAyABIAAoAgQRAAAgBSEBDAELCyAAIAQ2AqQBIAAgAEGgAWo2AqABIAAQogUgACgCVCAAQdAAakYEQEEAIQIDQAJAIAAoAkQhASACIAAoAkBODQAgASACQRhsaiIBKAIABEAgACABKAIEEOwBCyACQQFqIQIMAQsLIAMgASAAKAIEEQAAIAAoApACIgQEQEEAIQEDQEEAIQUgAUEFRkUEQANAQQAhAiAFQQJGRQRAA0AgAkEURwRAIAQgAUGgAWxqIAVB0ABsaiACQQJ0akGoDWoiBygCACIIBEAgBCgCACIJKAIAIAhBACAJKAIEEQEAGiAHQQA2AgALIAJBAWohAgwBCwsgBUEBaiEFDAELCyABQQFqIQEMAQsLIAAoAtgBIARBACAAKALcAREBABogAEEANgKQAgsgAEHgAWoQoQUgAEH4AWoQoQVBACECA0ACQCAAKAI4IQEgAiAAKAIsTg0AIAEgAkECdGooAgAiAUEBcUUEQCADIAEgACgCBBEAAAsgAkEBaiECDAELCyADIAEgACgCBBEAACADIAAoAjQgACgCBBEAACADIAAoAtQBIAAoAgQRAAAgBiADKQIINwMIIAYgAykCADcDACAGIAAgACgCBBEAACAGQRBqJAAPC0GNkQFBrvwAQb8PQaTlABAAAAtDAQJ/IAAoAogBIQJBfyEDAkADQCACQQBMDQEgACgCgAEgAkEBayICQQR0aigCACABRw0ACyACQYCAgIACciEDCyADC8YBAgR/AX4jAEEQayIDJAAgACABEC0iB0KAgICAcINCgICAgOAAUgRAAkAgACADQQxqIAcQ5QEiBkUEQAwBCwJAIAAgAhA/IgEgAygCDGpBAWoQKSIERQRAQQAhBAwBCyAEIAYgAygCDBAfIgUgAygCDGogAiABEB8aIAUgAygCDCABampBADoAACAAIAUgAygCDCABahCFAyEEIAAoAhAiAUEQaiAFIAEoAgQRAAALIAAgBhBUCyAAIAcQDwsgA0EQaiQAIAQLvwEBAX8gASADai0AAEE8RgRAIAAgBEH/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BEAgCygCJCIEIAJBA3RqIAQgAadBA3QQnAFBAAwBCyABpwshDUEAIQQgAkEAIAJBAEobIQIDQCACIARHBEAgAyAEQQN0aikDACIBQiCIp0F1TwRAIAGnIg4gDigCAEEBajYCAAsgCygCJCAEIA1qQQN0aiABNwMAIARBAWohBAwBCwsgCyAFPgIoIAsoAhQgBUL/////D4M3AwAgBUKAgICACHwhAQwBCyAAIAxBCGogBhA8DQEgDCkDCCIBIAKsIgh8IgVCgICAgICAgBBZBEAgAEHQ2gBBABAVDAILAkAgBEUgAkEATHJFBEBCACEHIAAgBiAIQgAgAUF/EPQCDQMMAQsgASEHCyACQQAgAkEAShutIQlCACEBA0AgASAJUgRAIAMgAadBA3RqKQMAIghCIIinQXVPBEAgCKciAiACKAIAQQFqNgIACyABIAd8IQogAUIBfCEBIAAgBiAKIAgQhgFBAE4NAQwDCwsgACAGQTAgBUKAgICACHwiAUL/////D1gEfiAFQv////8PgwVCgICAgMB+IAW5vSIHQoCAgIDAgYD8/wB9IAdC////////////AINCgICAgICAgPj/AFYbCxBFQQBIDQELIAAgBhAPIAVC/////w+DIAFC/////w9YDQEaQoCAgIDAfiAFub0iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwwBCyAAIAYQD0KAgICA4AALIQEgDEEQaiQAIAEL0gMCB38DfiMAQSBrIgQkACAEQQA2AgwgBEEANgIIAkACQCAEIAAoAhAoAnhJBEAgABDpAQwBCyAAIAEgAiABQQAQFCILQoCAgIBwg0KAgICA4ABRBEAgCyEBDAILAkACQCALQoCAgIBwVA0AIAAgCxDKASIKQQBIDQECQCAKBEAgACAEQQxqIAsQ1gFFDQEMAwsgACAEQQhqIARBDGogC6dBERCOASEJIAQoAgghBSAJQQBIDQILIAQoAgwhCANAIAcgCEYNAQJAIAoEQCAAIAcQqQUiBkUNBAwBCyAAIAUgB0EDdGooAgQQGCEGCwJ/AkAgACALIAYgAxD5BCINQoCAgIBwgyIMQoCAgIAwUgRAIAxCgICAgOAAUg0BIAAgBhATDAULIAAgCyAGQQAQ1QEMAQsgACALIAYgDUEHEBkLIQkgACAGEBMgB0EBaiEHIAlBAE4NAAsMAQsgACAFIAgQWkEAIQUgACACEFwiDEKAgICAcINCgICAgOAAUQ0AIAQgCzcDGCAEIAw3AxAgACADIAFBAiAEQRBqECEhASAAIAwQDyAAIAsQDwwCCyAAIAUgBCgCDBBaIAAgCxAPC0KAgICA4AAhAQsgBEEgaiQAIAELPwEBfyABQQAgAUEAShshAQNAAkAgASADRgRAQX8hAwwBCyAAIANBA3RqKAIEIAJGDQAgA0EBaiEDDAELCyADC/8EAgJ/BH4CQCACQv////9vWARAIAAQJAwBCwJAIAAgAkE9EHEEf0KAgICAMCEFQoCAgIAwIQZCgICAgDAhCCAAIAJBPSACQQAQFCIHQoCAgIBwg0KAgICA4ABRDQFBgQJBgAIgACAHECYbBUEACyEDIAAgAkE+EHEEQEKAgICAMCEFQoCAgIAwIQZCgICAgDAhCCAAIAJBPiACQQAQFCIHQoCAgIBwg0KAgICA4ABRDQFBggRBgAQgACAHECYbIANyIQMLIAAgAkE/EHEEQEKAgICAMCEFQoCAgIAwIQZCgICAgDAhCCAAIAJBPyACQQAQFCIHQoCAgIBwg0KAgICA4ABRDQFBhAhBgAggACAHECYbIANyIQMLQoCAgIAwIQYCQCAAIAJBwAAQcUUEQEKAgICAMCEIDAELQoCAgIAwIQUgACACQcAAIAJBABAUIghCgICAgHCDQoCAgIDgAFEEQAwCCyADQYDAAHIhAwsCQAJAIAAgAkHBABBxRQ0AQoCAgIAwIQUgA0GAEHIhAyAAIAJBwQAgAkEAEBQiBkKAgICAcIMiB0KAgICAMFENAEHDwgAhBCAHQoCAgIDgAFENASAAIAYQOEUNAQsCQCAAIAJBwgAQcUUEQEKAgICAMCEFDAELIANBgCByIQMgACACQcIAIAJBABAUIgVCgICAgHCDIgJCgICAgDBRDQBBtMIAIQQgAkKAgICA4ABRDQEgACAFEDhFDQELIANBgDBxBEBBsekAIQQgA0GAxABxDQELIAEgBTcDGCABIAY3AxAgASAINwMIIAEgAzYCAEEADwsgACAEQQAQFQsgACAIEA8gACAGEA8gACAFEA8LQX8LwgEBAn8gAigCBEUEQCACKAIYIgMgAigCHCIENgIEIAQgAzYCACACQgA3AhgCQCABKAIABEAgAhCfBQwBCyAAIAIpAyAQIwsgACACKQMoECMgAiACKAIAQQFrIgM2AgACQCADRQRAIAIoAhAiAyACKAIUIgQ2AgQgBCADNgIAIAJCADcCECAAQRBqIAIgACgCBBEAAAwBCyACQoCAgIAwNwMoIAJCgICAgDA3AyAgAkEBNgIECyABIAEoAgxBAWs2AgwLC5UBAQN+IAG9IgJC////////////AIMhAyAAvSIEQv///////////wCDQoGAgICAgID4/wBaBEAgA0KBgICAgICA+P8AVA8LAn9BfyADQoCAgICAgID4/wBWIAAgAWNyDQAaQQEgACABZA0AGkEAIABEAAAAAAAAAABiDQAaIARCAFMEQCACQj+Hp0F/cw8LIAJCP4inCwswACABQoCAgIAQhEKAgICAcINCgICAgDBRBEAgACABEDcPCyAAIAFBOEEAQQAQrQILKQEBfyACQiCIp0F1TwRAIAKnIgMgAygCAEEBajYCAAsgACABIAIQxQULUgIBfwF+QoCAgIDgACEEIAAgASACEJMBIgMEfiADKAIgIgMoAgwoAiAtAAQEQCACRQRAQgAPCyAAEGtCgICAgOAADwsgAzUCEAVCgICAgOAACws4ACAAIAEgAhCTASIARQRAQoCAgIDgAA8LIAAoAiAoAgwiACAAKAIAQQFqNgIAIACtQoCAgIBwhAtRAgF+AX8gACAAKQOQAUEDEEkiAkKAgICAcINCgICAgOAAUgRAIAFCIIinQXVPBEAgAaciAyADKAIAQQFqNgIACyAAIAJBNCABQQMQGRoLIAILlQEBA38jAEEQayIEJAAgBCACNwMIIAEoAgAiBSABKAIEIgY2AgQgBiAFNgIAIAFCADcCACAAIAAgAUEgaiADQQN0aikDAEKAgICAMEEBIARBCGoQIRAPIAAgASkDEBAPIAAgASkDGBAPIAAgASkDIBAPIAAgASkDKBAPIAAoAhAiAEEQaiABIAAoAgQRAAAgBEEQaiQAC40BAQN/IwBBEGsiBCQAIAQgATcDCCADQQF0IQZBACEDA0ACQAJAIANBAkYNACAAQcwAQQEgAyAGakEBIARBCGoQzwEiAUKAgICAcINCgICAgOAAUg0BQX8hBSADQQFHDQAgACACKQMAEA8LIARBEGokACAFDwsgAiADQQN0aiABNwMAIANBAWohAwwACwALyAYC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IARuDAILIARBACABQQJPGyADbAwBCyAAQX9zQR92IQQgAUECayEBIAQCfiACBEAgA60iBiABQQN0IgFB5KEEajUCAH5CIIggAUHgoQRqNQIAIAZ+fEIfiAwBCyABQQJ0QYCkBGo1AgAgA61+Qh2IC6dqCyIBayABIABBAEgbC0gBAn8jAEEQayICJABBfyEDAkAgACACQQxqIAEQugENACACKAIMIgNBJWtBXEsNACAAQdmJAUEAEFBBfyEDCyACQRBqJAAgAwt1AQF/AkAgAUKAgICAcINCgICAgOB+UQRADAELAkAgAUKAgICAcFQNACABpyICLwEGQSFHDQAgAikDICIBQoCAgIBwg0KAgICA4H5SDQAMAQsgAEGiLEEAEBVCgICAgOAADwsgAaciACAAKAIAQQFqNgIAIAELrgICAXwBfwJAA0ACQAJAAkACQAJAQQcgAkIgiKciBCAEQQdrQW5JG0EJag4RAgMDAwMDAwMDAAAAAAMDBAEDCyABIALENwMADAULIAJCgICAgMCBgPz/AHwiAkL///////////8Ag0KBgICAgICA+P8AWgRAIAFCADcDAAwFCyACvyIDRAAAAAAAAODDYwRAIAFCgICAgICAgICAfzcDAAwFCyADRAAAAAAAAOBDZARAIAFC////////////ADcDAAwFCyABAn4gA5lEAAAAAAAA4ENjBEAgA7AMAQtCgICAgICAgICAfws3AwAMBAsgASACp0EEakEAEIIDGiAAIAIQDwwDCyAAIAIQjQEiAkKAgICAcINCgICAgOAAUg0BCwsgAUIANwMAQX8PC0EAC7ECAQJ/IwBBIGsiBCQAAkACQAJAIAIoAgxFBEACQAJAAkACQCACKAIIQf7///8Haw4CAQACCyAAEDUMAgsgAigCBA0DCyAAIAIQRBoLQQAhAiABRQ0DIAFCABAwGgwDCyACKAIERQ0BCyAAEDVBASECIAFFDQEgAUIAEDAaDAELIAAgAiACKAIIQQFqQQJtQQEQkQYgAEEBENEBGiABIgNFBEAgACgCACEDIARCADcCGCAEQoCAgICAgICAgH83AhAgBCADNgIMIARBDGohAwsgAyAAIABB/////wNBARBDGiADIAMoAgRBAXM2AgQgAyADIAJB/////wNBARDLARpBICECIAMoAghB/////wdHBEAgAygC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AkEAEI0FIQVBECEEA0AgA0E0aiILIAJBACAEIAVqIglBAWoiB0HgDxD8AiALIAsgA0EgaiAHQeAPEENyIgdBIHENAyAHQRBxRQ0CIANBNGogAygCPEEBIAkQ4QMNAiAEQQJtIARqIQQMAAsACyADQTRqIANBIGoQRA0BDAMLIANBNGpBARDRAUEgcUUNAgsgA0E0ahAbDAQLIANByABqIANBNGogAiAFIAUQjAUMAQsgAygCTCEFIANByABqIANBNGogAiAIIAgQjAUgAygCTCIJIAVBAWoiAiACIAlJG0EBayEIIAMoAkghByAFIQQDQAJAIAkgBCICQQFqIgRNBEAgCCECDAELIAIgB2otAABBMEcNACAEIAdqLQAAQS5HDQELCyACIAVNDQAgBSAHaiACIAdqIAkgAmsQnAEgAyAFIAJrIAlqNgJMCyADQTRqEBsLIANByABqQQAQESADKAJUDQAgAygCSAwBC0EAIAMoAkgiAkUNABogCigCACACQQAgCigCBBEBABpBAAshBCAGIAw2AgQgACAGIANBDGoQXiAERQRAIAAQfAwBCyAAIAQQYiENIAAoAtgBIgAoAgAgBEEAIAAoAgQRAQAaCyADQeAAaiQAIA0Lw3UCEn8BfiMAQaAGayIDJAAgASgCyAEiBEEAIARBAEobIQYDQCACIAZGRQRAIAEoAswBIAJBA3RqQX82AgQgAkEBaiECDAELCyABKAI8BEAgASgCzAFBfjYCDAtBACECIAEoAnwiBkEAIAZBAEobIQYCfgJAAkADQCACIAZGBEACQEECIQJBAiAEIARBAkwbIQgDQAJAIAIgCEYEQEEAIQIDQCACIAZGDQICQCABKAJ0IAJBBHRqIgQoAghBAE4NACAEKAIEIghBAkgNACAEIAEoAswBIgQgBCAIQQN0aigCAEEDdGooAgQ2AggLIAJBAWohAgwACwALIAEoAswBIgcgAkEDdGoiBCgCBEEASARAIAQgByAEKAIAQQN0aigCBDYCBAsgAkEBaiECDAELCwJAIAEoAkRFDQACQCABKAIgDQAgAS0AbkEBcQ0AIAEgACABQdIAEE82ApABIAEoAjxFDQAgASAAIAFB0wAQTzYClAELAkAgASgCTCIIRQ0AIAEoAqgBQQBIBEAgASAAIAEQygM2AqgBCyABKAKsAUEASARAIAEgACAB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KAIAEB0gAkHAABARIAIgACAJKAIMEBgQHSACIBEQEQsgACAJKAIMEBMgBEEBaiEEDAALAAtBhSlBrvwAQYzyAUH7ORAAAAtBmoIBQa78AEHY6wFB3/QAEAAAC0GuhAFBrvwAQZvrAUHf9AAQAAALA0AgAiAOTkUEQCADQYAGaiACIA1qIgQgBC0AAEECdEGAuAFqLQAAIgQQciACIARqIQIMAQsLIAwQ9gEgDCADKQOQBjcCECAMIAMpA4gGNwIIIAwgAykDgAY3AgAMDAsgDBD2ASAMIAMpA5AGNwIQIAwgAykDiAY3AgggDCADKQOABjcCAAJAIAEoAowCDQAgASgCpAIhDSADIAEoAvACNgKYBiADIAEoAoACIgk2AtwFIAMgASgChAIiCzYC4AUgACgCECECIANCADcDiAYgA0IANwOABiADIAI2ApQGIANBOzYCkAYgASgC0AIiAgRAIAEgASgCACACQQR0EF8iAjYCzAIgAkUNDQsCQCABKALcAiICRQ0AIAEtAG5BAnENACABIAEoAgAgAkEDdBBfIgI2AtgCIAJFDQ0gAUEANgLoAiABIAEoAvACNgLkAgsgASgCtAFBAE4EQCADQYAGaiICQQwQESACQQQQESACQdkAIAEoArQBEF0LIAEoArABQQBOBEAgA0GABmoiAkEMEBEgAkECEBEgAkHZACABKAKwARBdCyABKAKsAUEATgRAIANBgAZqIgJBDBARIAJBAxARIAJB2QAgASgCrAEQXQsCQCABKAKoAUEASA0AIAEoAmAEQCADQYAGaiICQeEAEBEgAiABLwGoARAqDAELIANBgAZqIgJBCBARIAJB2QAgASgCqAEQXQsgASgCmAFBAE4EQEEAIQIgAS0AbkEBcUUEQCABKAI4QQBHIQILIANBgAZqIgRBDBARIAQgAhARIAEoApwBIgJBAE4EQCADQYAGakHaACACEF0LIANBgAZqQdkAIAEoApgBEF0LIAEoAqABQQBOBEAgA0GABmoiAkEMEBEgAkECEBEgAkHZACABKAKgARBdCyABKAKQAUEATgRAIANBgAZqIgJBDBARIAJBBRARIAJB2QAgASgCkAEQXQsgASgClAFBAE4EQCADQYAGaiICQQwQESACQQUQESACQdkAIAEoApQBEF0LQQAhAgJAA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAiALTgRAQQAhAiABKAKsAiIEQQAgBEEAShshBANAIAIgBEYNAiACQRRsIQYgAkEBaiECIAYgDWooAhBFDQALQdWDAUGu/ABB/foBQZQ4EAAACyACIAIgCWoiBi0AACIFQQJ0QYC4AWotAAAiB2ohBAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBUHYAGsOIBASGhESGhESGhoaGhoaGhoaBAQBAwIaGgwMBQUFBQUFAAsCQCAFQQFrDhUJCgoLGg0HGggIGhoaBhoaDxoaGg4ACyAFQSJrIghBH0sNGEEBIAh0IgpBwOEBcQ0SIApBBXFFBEAgCEEfRw0ZIAYoAAFBMEcNGiABIAMoAoQGIAMoApgGEDMgA0GABmpB6QEQESAEIQIMIwsgBi8AASECIANCqICAgHA3A1AgA0HcBWogBCADQdAAahAnBEACQCADKALoBSIEQQBIBEAgAygCmAYhBAwBCyADIAQ2ApgGCyABIAMoAoQGIAQQMyADQYAGaiAFQQFqIAIQXSABIAkgCyADKALkBSADQZgGahCkAiECDCMLIAEgAygChAYgAygCmAYQMyADQYAGaiAFIAIQXSAEIQIMIgsgBigAASEFIAQhBgwWCyAGKAABIQdB7QAhBQwUCyAGKAABIQdB7AAhBQwTCyABIAYoAAEgA0GcBmpBABDHAyEHIAMoAtwFIAMoAuAFIAQgBxDGAwRAIAEgB0F/EGkaIANBgAZqQQ4QESAEIQIMHwsgA0LrgICAcDcDYCADQdwFaiAEIANB4ABqECdFDRIgAygC6AUhCCADKALcBSADKALgBSADKALkBSIGIAcQxgNFDRIgCEEATgRAIAMgCDYCmAYLIAEgB0F/EGkaIAVBA3MhBSADKAL0BSEHDBwLIAYtAAkhCCAGKAABIQcgASAGKAAFIANBnAZqQQAQxwMiAkEASA0PIAIgASgCrAJODQ8gASADKAKEBiADKAKYBhAzIAEgASgC1AIiBkEBajYC1AIgASgCzAIgBkEEdGoiBkEENgIEIAYgBTYCACADKAKEBiEKIAYgAjYCDCAGIApBBWo2AgggA0GABmoiBiAFEBEgBiAHEB0gBiANIAJBFGxqIgIoAgwgAygChAZrEB0gAigCDEF/RgRAIAAgAiADKAKEBkEEa0EEEOgCRQ0dCyADQYAGaiAIEBEgBCECDB0LIANCqYCAgHA3A3AgA0HcBWogBCADQfAAahAnRQ0TIAQhAiADKALoBSIEQQBIDRwgAyAENgKYBgwcCyADQquBgIBwNwOgASADQdwFaiAEIANBoAFqECcEQAJAIAMoAugFIgJBAEgEQCADKAKYBiECDAELIAMgAjYCmAYLIAEgAygChAYgAhAzIANBgAZqQfMBEBEMGAsgA0F/NgKYASADQqyBgICQzRo3A5ABIANB3AVqIAQgA0GQAWoQJ0UNAAJAIAMoAugFIgVBAEgEQCADKAKYBiEFDAELIAMgBTYCmAYLIAEgAygChAYgBRAzIANBgAZqQfMBEBEgAygC7AVBA3MhBQwYCyADQunUgYBwNwOAASADQdwFaiAEIANBgAFqECdFDREgBUEKRiEKDA0LAkAgBigAASIGQYCAgIB4ckGAgICAeEYNACADQoyBgIBwNwPgASADQdwFaiAEIANB4AFqECdFDQAgAygC6AUiAkEATgRAIAMgAjYCmAYLIANCjoCAgHA3A9ABIANB3AVqIAMoAuQFIANB0AFqECcEQCADKALoBSICQQBIDRcgAyACNgKYBgwXCyABIAMoAoQGIAMoApgGEDMgA0GABmpBACAGaxDFAwwWCyADQo6AgIBwNwPAASADQdwFaiAEIANBwAFqECcEQCADKALoBSICQQBIDRYgAyACNgKYBgwWCyADQunUgYBwNwOwASADQdwFaiAEIANBsAFqECcEQCAGQQBHIQoMDQsgASADKAKEBiADKAKYBhAzIANBgAZqIAYQxQMgBCECDBkLIAYoAAEiAkH/AUoNDyABIAMoAoQGIAMoApgGEDMgA0GABmoiBiAFQcMAa0H/AXEQESAGIAJB/wFxEBEgBCECDBgLIAYoAAEhAiADQo6AgIBwNwPwASADQdwFaiAEIANB8AFqECcEQCAAIAIQEyADKALoBSICQQBIDRQgAyACNgKYBgwUCyACQS9HDQ4gASADKAKEBiADKAKYBhAzIANBgAZqQcEBEBEgBCECDBcLIANCyYCAgHA3A6gCIANC2Lb5gnA3A6ACIANB3AVqIAQiAiADQaACahAnDRYgA0F/NgKYAiADQoGEkICQCTcDkAIgA0HcBWogAiADQZACahAnDRYgA0F/NgKIAiADQoaO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DQMgAyAGKAABNgKYBiAEIQIMDAsgBigAASICQQBIDQMgAiABKAKsAk4NAyANIAJBFGxqIggoAgxBf0cNBCAIIAMoAoQGNgIMIAgoAhAhBwNAIAciAgRAIAgoAgwgAigCBCIFayEGIAIoAgAhBwJAAkACQAJAIAIoAghBAWsOBAIBAwADCyADKAKABiAFaiAGNgAADAILIAZBgIACakGAgARPDQkgAygCgAYgBWogBjsAAAwBCyAGQYABakGAAk8NCSADKAKABiAFaiAGOgAACyAAKAIQIgZBEGogAiAGKAIEEQAADAELCyAIQQA2AhAgBCECDAsLIANCjoCAgHA3A6gFIANC2bj9gnA3A6AFIANB3AVqIAQgA0GgBWoQJwRAIAMoAugFIgJBAE4EQCADIAI2ApgGCyADIAMoAvAFIgY2ApQFIANBfzYCmAUgAyADKALsBSIEQQFrNgKQBSADQdwFaiADKALkBSICIANBkAVqECcEQCADKALoBSICQQBOBEAgAyACNgKYBgsgBEEBaiEEIAMoAuQFIQILIAEgAygChAYgAygCmAYQMyADQYAGaiIHIAVBAmtB/wFxEBEgByAEIAYQXQwLCyADQo6AgIBwNwOIBSADQpiAgICw6A43A4AFIANB3AVqIAQgA0GABWoQJwRAAkAgAygC6AUiAkEASARAIAMoApgGIQIMAQsgAyACNgKYBgsgASADKAKEBiACEDMgA0GABmoiAiAFQQJrQf8BcRARIAIgAy0A7AUQESACIAMoAvwFEB0MBwsgA0KOgICAcDcD+AQgA0KZgICAkAk3A/AEIANB3AVqIAQgA0HwBGoQJ0UNAQJAIAMoAugFIgJBAEgEQCADKAKYBiECDAELIAMgAjYCmAYLIAEgAygChAYgAhAzIANBgAZqIgIgBUECa0H/AXEQESACQckAEBEMBgsgA0F/NgLIBSADQoSAgICwlevUqn83A8AFIANB3AVqIAQgA0HABWoQJ0UNACADKALoBSIIQQBOBEAgAyAINgKYBgsgAygC7AUhCCADKAL8BSIFQcUARgR/QfQBBSAFQRtHDQFB9QELIQogCEF9cUGpAUYEQCABIAMoAoQGIAMoApgGEDMgA0GABmogChARIAAgAygC/AUQEwwGCyADQumAgIBwNwOwBSADQdwFaiADKALkBSADQbAFahAnRQ0AAkAgAygC6AUiBUEASARAIAMoApgGIQUMAQsgAyAFNgKYBgsgASADKAKEBiAFEDMgA0GABmogChARIAAgAygC/AUQE0HqACEFDAYLIAEgAygChAYgAygCmAYQMyADQYAGaiAGIAcQciAEIQIMCAtBhSlBrvwAQeP1AUGUOBAAAAtBvYwBQa78AEHl9QFBlDgQAAALQcXdAEGu/ABB8PUBQZQ4EAAAC0Gw3QBBrvwAQfT1AUGUOBAAAAsgAygC5AUhAgwDCyADKAL0BSEHIAMoAuQFIQYLIAEgAygChAYgAygCmAYQMyAFQesARyIKRQRAIAEgCSALIAYgA0GYBmoQpAIhBgsgB0EASA0CIAcgASgCrAJODQIgASABKALUAiIEQQFqNgLUAiABKALMAiAEQQR0aiIEQQQ2AgQgBCAFNgIAIAMoAoQGIQ4gBCAHNgIMIAQgDkEBajYCCAJAIA0gB0EUbGoiCCgCDCIHQX9GBEAgCCgCCCACQX9zaiICQf8ASiAFQekAa0ECS3JFBEAgBEEBNgIEIAQgBUGBAWoiAjYCACADQYAGaiIEIAJB/wFxEBEgBEEAEBEgBiECIAAgCCADKAKEBkEBa0EBEOgCDQQMAwsgCiACQf//AUpyDQEgBEECNgIEIARB7QE2AgAgA0GABmoiAkHtARARIAJBABAqIAYhAiAAIAggAygChAZBAmtBAhDoAg0DDAILIAcgDkF/c2oiAkGAAWpB/wFLIAVB6QBrQQJLckUEQCAEQQE2AgQgBCAFQYEBaiIENgIAIANBgAZqIgUgBEH/AXEQESAFIAJB/wFxEBEgBiECDAMLIAogAkGAgAJqQf//A0tyDQAgBEECNgIEIARB7QE2AgAgA0GABmoiBEHtARARIAQgAkH//wNxECogBiECDAILIANBgAZqIgIgBUH/AXEQESACIAgoAgwgAygChAZrEB0gBiECIAgoAgxBf0cNASAAIAggAygChAZBBGtBBBDoAg0BCwsgAygCgAYiAkUNDSADKAKUBiACQQAgAygCkAYRAQAaDA0LQYUpQa78AEHl9gFBlDgQAAALIAAQfAwLCyAJKAABIQYgASABKALcAkEBajYC3AIMBgsgA0F/NgJIIANC6dSBgOABNwNAIANB3AVqIAggA0FAaxAnRQ0FAkAgAygC9AUiB0EASA0AIAcgASgCrAJODQAgAygC6AUhBCADKALkBSEKIAMoAuwFIRAgByEFA0AgASgCgAIhESABKAKkAiESQQAhCwNAAkAgC0EURg0AIBIgBUEUbGooAgQhAgNAIAIgEWoiEy0AACIFQbYBRiAFQcIBRnIEQCACQQVqIQIMAQUgBUHrAEcNAiALQQFqIQsgEygAASEFDAMLAAsACwsgA0KOgICAcDcDOCADIBA2AjQgA0ERNgIwIANB3AVqIAIgA0EwahAnBEAgAygC9AUhBQwBCwsgA0F/NgIkIAMgEDYCICADQdwFaiACIANBIGoQJ0UNBiABIAEoAtACQQFqNgLQAiABIAdBfxBpGiABIAMoAvQFIgJBARBpGiADQYAGaiIFIBBB/wFxEBEgBSACEB0gCiEIIARBf0YgBCAGRnINCCABIAEoAtwCQQFqNgLcAiADQYAGaiICQcIBEBEgAiAEEB0gBCEGDAgLQaopQa78AEHd8gFB+zkQAAALIAEoAswBIAkvAAEiB0EDdGpBBGohAgNAIAIoAgAiAkEASA0HIAEoAnQgAkEEdGoiBCgCBCAHRw0HIAQtAAxBBHEEQCADQYAGaiIFQegAEBEgBSACQf//A3EQKgsgBEEIaiECDAALAAsgASgCzAEgD0EDdGpBBGohAgNAIAIoAgAiAkEASA0GIAEoAnQgAkEEdGoiBygCBCAPRw0GIAEoApwBIAJHBEBB4QAhBCADQYAGaiIFIAcoAgxBA3ZBD3FBAWtBAU0EfyADQYAGaiIEQQMQESAEIAcoAgxBAXRBCHUQHUHZAAVB4QALEBEgBSACQf//A3EQKgsgB0EIaiECDAALAAsCQAJAAkAgBEHpAGsOBgQEAgQBAwALIARBMUYEQCAJLwABIQIgASAJLwADIgQQ5QQgA0GABmoiBUExEBEgBSACECogBSABKALMASAEQQN0ai8BBEEBakH//wNxECoMBwsgBEEyRwRAIARBzQBHDQUgCSgAAUUNBwwFCyABIAkvAAEiAhDlBCADQYAGaiIEQTIQESAEIAEoAswBIAJBA3RqLwEEQQFqQf//A3EQKgwGCyABIAEoAtACQQFqNgLQAiAJKAABIgJBAEgNBCACIAEoAqwCTg0EIAEoAqQCIAJBFGxqIgIoAgQhBCADQu6AgIBwNwMAIANB3AVqIAQgAxAnRQ0DIAIgAigCAEEBazYCAAwFCyABIAEoAtACQQFqNgLQAgsgA0F/NgKcBiADQYAGaiAJIA8QciABIA0gDiAIIANBnAZqEKQCIgggDk4NAyADKAKcBiICQQBIIAIgBkZyDQMgASABKALcAkEBajYC3AIgA0GABmoiBEHCARARIAQgAhAdIAIhBgwDCyABIAEoAtACQQFqNgLQAgsgA0GABmogCSAPEHIMAQsLQYUpQa78AEG88QFB+zkQAAALQYOOAUGu/ABBg/4BQf3LABAAAAsgACABEP0CQoCAgIDgAAshFCADQaAGaiQAIBQLxw0BB38CQAJAAkACQAJAIAAoAhAiA0FHRwRAIABBQGsoAgAhASAAQYUBEEpFDQEgACgCOEEBEIMBQUdHDQELQX8hBiAAQQBBACAAKAIYIAAoAhQQxAFFDQEMAgsCQAJAAkACQAJAAkAgA0Ezag4DAAIBAgsgASgClAMiA0UNASAAKAIAIQFBfyEGIAAQEg0GAkACQAJAAkAgACgCECICQTlqDgQCAQEAAQsgAEEAQQEQ7QIhAAwHCyAAQYUBEEpFDQEgACgCOEEBEIMBQUdHDQELIABBAEEAIAAoAhggACgCFEEBQQAQ+AEhAAwFCyAAEBINBgJAAkAgAkGzf0YNAAJAIAJBQkcEQCACQUtGIAJBU0ZyDQIgAkEqRwRAIAJB+wBHDQQgAygCICEEA0ACQCAAKAIQIgJB/QBGDQAgAkGDf0YgAkElakFRS3JFBEAMDwtBACECIAEgACgCIBAYIQUCQAJAAkAgABASDQAgAEH5ABBKRQ0BIAAQEg0AIAAoAhAiAkGDf0YgAkElakFRS3JFBEBBACECIABB3vYAQQAQFgwBCyABIAAoAiAQGCECIAAQEkUNAgsgASAFEBMMDAsgASAFEBghAgsgACADIAUgAkEAEPcBIQcgASAFEBMgASACEBMgB0UNDSAAKAIQQSxHDQAgABASRQ0BDA0LCyAAQf0AECwNCyAAQfoAEEpFDQIgABDsAiICRQ0LIAEgAyACEOsCIQUgASACEBMgBUEASA0LA0AgBCADKAIgTg0DIAMoAhwgBEEUbGoiASAFNgIAIAFBATYCCCAEQQFqIQQMAAsACyAAQfkAEEoEQCAAEBINCyAAKAIQIgJBg39GIAJBJWpBUUtyRQRADA0LIAEgACgCIBAYIQIgABASDQggABDsAiIERQ0IIAEgAyAEEOsCIQUgASAEEBMgBUEASA0IIAAgA0H9ACACQQEQ9wEhAyABIAIQEyADRQ0LIAMgBTYCAAwCCyAAEOwCIgJFDQogASADIAIQ6wIhBCABIAIQEyAEQQBIDQogASADQShqQQQgA0EwaiADKAIsQQFqEHgNCiADIAMoAiwiAUEBajYCLCADKAIoIAFBAnRqIAQ2AgAMAQsCQAJAAkACQCAAKAIQQTlqDgQCAQEAAQsgAEEAQQIQ7QIhAAwKCyAAQYUBEEpFDQEgACgCOEEBEIMBQUdHDQELIABBAEEAIAAoAhggACgCFEECQQAQ+AEhAAwICyAAEFYNCSAAQRYQoQEgACAAQUBrIgEoAgBB/ABBARCgAUEASA0JIABBvQEQECAAQfwAEBogASgCAEEAEBcgACADQfwAQRZBABD3AUUNCQsgABC3ASEADAYLIABBASACQQEQzAMhAAwFCyAAQc0gQQAQFgwICyABKAKUAyIERQ0AIAAoAjhBABCDASIBQShGIAFBLkZyDQAgACgCACEDQX8hBiAAEBINBSAEKAI4IQUCQAJAAkACQAJAIAAoAhAiAUH/AGoOAwACAQILIAMgACkDIBAxIgJFDQkgABASRQ0DIAMgAhATDAsLIAAoAigEQCAAEOIBDAsLQRYhAiADIAAoAiAQGCEBIAAQEg0EIAAgBCABQRYQywMNBCADIAEQEyAAKAIQQSxHDQEgABASDQggACgCECEBCyABQfsARwRAIAFBKkcNASAAEBINCCAAQfkAEEpFBEAgAEH/lAFBABAWDAsLIAAQEg0IIAAoAhAiAUGDf0YgAUElakFRS3JFBEAMCgtB/QAhAiADIAAoAiAQGCEBIAAQEg0EIAAgBCABQf0AEMsDDQQgAyABEBMMAQsgABASDQcDQAJAIAAoAhAiAUH9AEYNACABQYN/RiABQSVqQVFLckUEQAwLC0EAIQEgAyAAKAIgEBghAiAAEBINBQJAIABB+QAQSgRAIAAQEg0HIAAoAhAiAUGDf0YgAUElakFRS3JFBEBBACEBIABB3vYAQQAQFgwICyADIAAoAiAQGCEBIAAQEkUNAQwHCyADIAIQGCEBCyAAIAQgASACEMsDDQUgAyABEBMgAyACEBMgACgCEEEsRw0AIAAQEkUNAQwJCwsgAEH9ABAsDQcLIAAQ7AIiAkUNBgsgAyAEIAIQ6wIhASADIAIQEyABQQBIDQUgBSAEKAI4IgMgAyAFSBshAwNAIAMgBUZFBEAgBCgCNCAFQQxsaiABNgIIIAVBAWohBQwBCwsgABC3AUUNBAwFC0F/IQYgAEEHEOEBDQQMAwsgAyABEBMgAyACEBMMBQsgASACEBMMBAsgAA0BC0EAIQYLIAYPCyAAQd72AEEAEBYLQX8LtQMBA38jAEFAaiIBJAACQCAAKAIQQYF/Rw0AIAEgACgCBDYCECABIAAoAhQ2AhQgASAAKAIYNgIcIAEgACgCMDYCGEGBfyECA0ACQCACQYF/Rw0AIAAoAjghAiABIAAoAhgiA0EBajYCBCABIAIgA2tBAms2AgAgAUEgakEUQbs8IAEQThpBfyECIAAQEg0CAkACQAJAIAAoAhAiA0GAAWoOWQEBAQEBAwMDAwMDAwMDAwMDAwMDAwEBAwMDAwMDAwMDAwMDAwMDAwMDAwMDAgEBAQEDAQEBAQMBAQMDAQEBAwMBAwMBAQMDAQEBAQEBAQMBAQMBAQEBAQEBAAsgA0H9AEYNASADQTtHDQIgABASRQ0BDAQLIAAoAjBFDQELAkACfyABQSBqQd4vQQsQYUUEQCAAKAJAIgJBATYCQEEBDAELIAFBIGpBicoAQQoQYUUEQCAAKAJAIQJBAgwBCyAAKAIALQDoAUUNASABQSBqQbTZAEEJEGENASAAKAJAIQJBBAshAyACIAItAG4gA3I6AG4LIAAoAhAhAgwBCwsgACABQRBqEO4CIQILIAFBQGskACACCzUBAn9BASECIAAoAgAiAUHxAGtBA0kgAUEIRnIgAUHTAEZyBH9BAQUgACgCDEH4AHFBIEYLC0wBA38gACgCIEEYaiEBAkADQCABIgMoAgAiAkUNASACQQxqIQEgACACRw0ACyADIAAoAgw2AgAPC0GihAFBrvwAQaPlAkGl3gAQAAALGAEBfyABpygCICIDBEAgACADIAIRAAALCxsAIAAQGyAAQgA3AhAgAEIANwIIIABCADcCAAvEBAEIfyAAQeQAaiIHIABB4ABqIgM2AgAgACADNgJgIABB0ABqIQQgAEHUAGoiBSgCACECA0AgBCACIgFGBEACQAJAA0ACQCAEIAUoAgAiAUYEQCAHIQEDQCABKAIAIgEgA0YNAiAAIAFBCGtBwgAQ8AMgAUEEaiEBDAALAAsgAUEIayICKAIAQQBMDQIgAUEEayIFIAUtAABBD3E6AAAgACACQcMAEPADIAFBBGohBQwBCwsgAEECOgBoIABB2ABqIQIDQCADIAcoAgAiAUcEQCABQQRrLQAAQQ5xBEAgASgCACIEIAEoAgQiBTYCBCAFIAQ2AgAgAUEANgIAIAIoAgAiBCABNgIEIAEgAjYCBCABIAQ2AgAgAiABNgIADAIFIAAgAUEIaxDtBQwCCwALCyAAQQA6AGggAEEQaiEDIAAoAlwhAQNAIAEgAkcEQCABQQRrLQAAQQ5xDQMgASgCBCEHIAMgAUEIayAAKAIEEQAAIAchAQwBCwsgACACNgJcIAAgAEHYAGo2AlgPC0HFjQFBrvwAQecsQfrRABAAAAtB+YYBQa78AEGdLUHZORAAAAsgAUEEayIGLQAAQRBJBEAgASgCBCECIAAgAUEIayIIQcQAEPADIAYgBi0AAEEPcUEQcjoAACAIKAIADQEgASgCACIGIAEoAgQiCDYCBCAIIAY2AgAgAUEANgIAIAMoAgAiBiABNgIEIAEgAzYCBCABIAY2AgAgAyABNgIADAELC0GojwFBrvwAQcQsQeDdABAAAAsoAQF/IAEgASgCAEEBayICNgIAIAJFBEAgAEEQaiABIAAoAgQRAAALC/EBAgZ/AX4gAEEIECkiBEUEQEF/DwsgBEIBNwIAIAKnIQYgAkIgiKdBdUkhCANAAkACQCADQQJGDQAgACAAKQMwIANBMmoQSSIJQoCAgIBwg0KAgICA4ABSBEAgAEEQECkiBQ0CIAAgCRAPC0F/IQcgA0UNACAAIAEpAwAQDwsgACgCECAEEKMFIAcPCyAEIAQoAgBBAWo2AgAgBSAENgIIIAhFBEAgBiAGKAIAQQFqNgIACyAFIAI3AwAgCUKAgICAcFoEQCAJpyAFNgIgCyAAIAlBL0EBEJYDIAEgA0EDdGogCTcDACADQQFqIQMMAAsAC5gDAgJ+An9CgICAgDAhAgJAAkAgASkCVCIDQhiGQjiHpw0AIANCIIZCOIenBEAgA0IQhkI4h6dFDQEgASkDYCICQiCIp0F1TwRAIAKnIgEgASgCAEEBajYCAAsgACACEIoBQoCAgIDgAA8LIAEgA0L/////j2CDQoCAgIAQhDcCVANAIAEoAhQgBEoEQCABKAIQIARBA3RqKAIEIgUpAlRCGIZCOIenRQRAIAAgBRClBSICQoCAgIBwg0KAgICA4ABRDQQgACACEA8LIARBAWohBAwBCwsCQCABKAJQIgQEQEKAgICA4ABCgICAgDAgACABIAQRAwBBAEgbIQIMAQsgACABKQNIQoCAgIAwQQBBABAvIQIgAUKAgICAMDcDSAsgAkKAgICAcINCgICAgOAAUQRAIAFBAToAWSAAKAIQKQOAASIDQiCIp0F1TwRAIAOnIgAgACgCAEEBajYCAAsgASADNwNgCyABIAEpAlRC////h4Bgg0KAgIAIhDcCVAsgAg8LIAEgASkCVEL/////j2CDNwJUIAIL5gUCB38BfiMAQRBrIgUkAAJAIAEpAlQiCUIohkI4h6cNACABIAlC//+DeINCgIAEhDcCVANAAkAgASgCFCADTARAQQAhAwNAIAEoAiAgA0oEQAJAIAEoAhwiBCADQRRsaiICKAIIQQFHDQAgAigCDCIHQf0ARg0AIAAgBUEIaiAFQQxqIAEoAhAgAigCAEEDdGooAgQgBxD0AyICRQ0AIAAgAiABIAQgA0EUbGooAhAQ8wMMBAsgA0EBaiEDDAELC0EAIQIgASgCUA0DIAEoAkgoAiQhCEEAIQNBACEEA0ACQCABKAI4IARMBEADQCADIAEoAiBODQIgASgCHCADQRRsaiICKAIIRQRAIAggAigCAEECdGooAgAiBCAEKAIAQQFqNgIAIAIgBDYCBAsgA0EBaiEDDAALAAsgASgCECABKAI0IARBDGxqIgcoAghBA3RqKAIEIQICQAJAIAcoAgQiBkH9AEYEQCAAIAIQjQMiCUKAgICAcINCgICAgOAAUg0BDAYLIAAgBUEIaiAFQQxqIAIgBhD0AyIGBEAgACAGIAIgBygCBBDzAwwGCwJAIAUoAgwiBigCDEH9AEYEQCAAIAUoAggoAhAgBigCAEEDdGooAgQQjQMiCUKAgICAcINCgICAgOAAUQ0HIABBARDxAyICRQRAIAAgCRAPDAgLIAAgAkEYaiAJECAMAQsgBigCBCICRQRAIAUoAggoAkgoAiQgBigCAEECdGooAgAhAgsgAiACKAIAQQFqNgIACyAIIAcoAgBBAnRqIAI2AgAMAQsgACAIIAcoAgBBAnRqKAIAQRhqIAkQIAsgBEEBaiEEDAELC0F/IQIgACABKQNIQoGAgIAQQQBBABAhIglCgICAgHCDQoCAgIDgAFENAyAAIAkQD0EAIQIMAwsgA0EDdCEEQX8hAiADQQFqIQMgACAEIAEoAhBqKAIEEKYFQQBODQEMAgsLQX8hAgsgBUEQaiQAIAIL/gICBH8CfgJAIAEpAlRCMIZCOIenDQACQCABKAJQBEADQCACIAEoAiBODQIgASgCHCACQRRsaiIDKAIIRQRAIABBABDxAyIERQRAQX8PCyADIAQ2AgQLIAJBAWohAgwACwALIAEpA0ghB0F/IQMgACAAKQMwQQ0QSSIGQoCAgIBwg0KAgICA4ABRDQEgBqciAiAHpyIDNgIgIAMgAygCAEEBajYCACACQgA3AiQCQCADKAI8IgRFDQACQCAAIARBAnQQXyIERQ0AIAIgBDYCJEEAIQIDQCACIAMoAjxODQIgAygCJCACQQN0ai0AACIFQQFxBEAgACAFQQN2QQFxEPEDIgVFDQIgBCACQQJ0aiAFNgIACyACQQFqIQIMAAsACyAAIAYQD0F/DwsgASAGNwNIIAAgBxAPCyABQQE6AFVBACECA0AgASgCFCACTARAQQAPCyACQQN0IQRBfyEDIAJBAWohAiAAIAQgASgCEGooAgQQpwVBAE4NAAsLIAMLMQECfwJ/IAAQP0EBaiEBA0BBACABRQ0BGiAAIAFBAWsiAWoiAi0AAEEvRw0ACyACCwtwAgJ/AX4jAEEQayICJAACQCABQQBOBEAgAUGAgICAeHIhAwwBCyACIAE2AgAgAkEFaiIBQQtB3CIgAhBOGiAAIAEQYiIEQoCAgIBwg0KAgICA4ABRDQAgACgCECAEp0EBEKcCIQMLIAJBEGokACADCzIAIAAgARC8AiIBQoCAgIBwg0KAgICAwH5RBH4gAEG+1QBBABCAAkKAgICA4AAFIAELC9ADAgJ/AX4CQANAAkACQAJAAkACQAJAAkACQEEHIAJCIIinIgMgA0EHa0FuSRtBCmoOEgMEBwUHBwcHBwYAAQAABwcHAgcLIAAoAhAoAowBIgNFDQYgAy0AKEEEcUUNBgsgACgC2AEhACABQgA3AgwgAUKAgICAgICAgIB/NwIEIAEgADYCACABIALEELoCGiABDwsgACgCECgCjAEiA0UNBCADLQAoQQRxRQ0EIAJCgICAgMCBgPz/AHwiBUKAgICAgICA+P8Ag0KAgICAgICA+P8AUQ0EIAAoAtgBIQAgAUIANwIMIAFCgICAgICAgICAfzcCBCABIAA2AgAgASAFv50QugUaIAEPCyACp0EEag8LIAAoAhAoAowBIgNFDQIgAy0AKEEEcUUNAiACpyIDKAIMQf3///8HSg0CIAAoAtgBIQQgAUIANwIMIAFCgICAgICAgICAfzcCBCABIAQ2AgAgASADQQRqEEQaIAFBARDRARogACACEA8gAQ8LIAAgAhCqBSICQoCAgIBwg0KAgICA4ABSDQIMAwsgACACQQEQmgEiAkKAgICAcINCgICAgOAAUg0BDAILCyAAIAIQDyAAQewrQQAQFUEADwtBAAtmAQJ/IwBBEGsiAyQAIAAgASgCJCACIAEoAiBBA2xBAXYiACAAIAJIGyIAQQN0IANBDGoQqAEiAgR/IAMoAgwhBCABIAI2AiQgASAEQQN2IABqNgIgQQAFQX8LIQEgA0EQaiQAIAELUgEEfyAAKAIgIgJBACACQQBKGyEEQQAhAgNAAkAgAiAERwR/IAAoAhwiBSACQRRsaigCECABRw0BIAUgAkEUbGoFQQALDwsgAkEBaiECDAALAAvhAwEGfyMAQRBrIgckACAFQQRqIQkCQAJAA0BBACEGIAFBADYCACACQQA2AgAgBSgCCCIIQQAgCEEAShshCgJAA0AgBiAKRg0BAkAgAyAFKAIAIAZBA3RqIgsoAgBGBEAgCygCBCAERg0BCyAGQQFqIQYMAQsLIAZBAEgNAEECIQQMAwsgACAFQQggCSAIQQFqEHgEQEF/IQQMAwsgBSAFKAIIIgZBAWo2AgggBSgCACAGQQN0aiIGIAM2AgAgBiAAIAQQGCIINgIEIAMgCBCtBSIGBEAgBigCCEUNAiAGKAIMIgRB/QBGDQIgAygCECAGKAIAQQN0aigCBCEDDAELCyAIQRZHBEBBACEGA0AgAygCLCAGSgRAAkACQCAAIAdBDGogB0EIaiADKAIQIAMoAiggBkECdGooAgBBA3RqKAIEIAggBRCuBSIEQQFqDgUGAAEBBgELIAIoAgAiBARAIAEoAgAgBygCDEYEQCAHKAIIKAIMIAQoAgxGDQILIAFBADYCACACQQA2AgBBAyEEDAYLIAEgBygCDDYCACACIAcoAgg2AgALIAZBAWohBgwBCwtBACEEIAIoAgANAgtBASEEDAELIAEgAzYCACACIAY2AgBBACEECyAHQRBqJAAgBAvCAwEJfyABKAIIIgZBACAGQQBKGyEFAkACQANAIAQgBUYNASAEQQJ0IQcgBEEBaiEEIAcgASgCAGooAgAgAkcNAAtBACEFDAELQX8hBSAAIAFBBCABQQRqIAZBAWoQeA0AIAEgASgCCCIEQQFqNgIIIAEoAgAgBEECdGogAjYCACABQRBqIQkgAUEMaiEHQQAhBQNAAkAgAigCICAFTARAQQAhBUEAIQQDQCAEIAIoAixODQQgBEECdCEDIARBAWohBCAAIAEgAigCECADIAIoAihqKAIAQQN0aigCBEEBEK8FRQ0ACwwBCwJAIANBACACKAIcIAVBFGxqIgYoAhAiCkEWRhsNAEEAIQQgASgCFCIIQQAgCEEAShshCwJAAkADQCAEIAtGDQEgCiAHKAIAIARBDGxqIgwoAgBHBEAgBEEBaiEEDAELCyAEQQBODQELIAAgB0EMIAkgCEEBahB4DQIgASABKAIUIgRBAWo2AhQgASgCDCAEQQxsaiIEIAYoAhA2AgACQCADRQRAIAYoAghFDQELIARBADYCCAwCCyAEIAY2AggMAQsgDEEANgIICyAFQQFqIQUMAQsLQX8PCyAFC2gCAn8BfiAAQRBqIQIgACkCBCIEp0H/////B3EhAwJAIARCgICAgAiDUEUEQEEAIQADQCAAIANGDQIgAiAAQQF0ai8BACABQYcCbGohASAAQQFqIQAMAAsACyACIAMgARCyBSEBCyABCxIAIAAgASACIANBgIABENABGgssAQF/A0AgASADRkUEQCAAIANqLQAAIAJBhwJsaiECIANBAWohAwwBCwsgAgvOAQIDfwF+IAEgAkEBELIFIgNB/////wNxIQUgACgCNCAAKAIkQQFrIANxQQJ0aiEDA0AgAygCACIERQRAQQAPCwJAIAAoAjggBEECdGooAgAiAykCBCIGQiCIp0H/////A3EgBUcgBkKAgICAgICAgECDQoCAgICAgICAwABSciAGp0H/////B3EgAkcgBkKAgICACINCAFJycg0AIANBEGogASACEGENACAEQd4BTgRAIAMgAygCAEEBajYCAAsgBA8LIANBDGohAwwACwALfwEEfyABLQAAQdsARgRAIAFBAWoiAxA/QQFrIQIgACgCECgCOCEEQdABIQEDQCABQd4BRwRAAkAgBCABQQJ0aigCACIFKAIEQf////8HcSACRw0AIAVBEGogAyACEGENACAAIAEQGA8LIAFBAWohAQwBCwsQAQALIAAgARCqAQusAgMCfwJ+AXwjAEEgayICJABEAAAAAAAA+H8hBiAAKAIIQf////8HRwRAIAAoAgAhAyACQgA3AhggAkKAgICAgICAgIB/NwIQIAIgAzYCDCACQQxqIAAQRBoCfiACKAIUIgBB/f///wdMBEAgAkEMakE1QcgEEM4BGiACKAIUIQALQoCAgICAgID4/wAgAEH+////B0YNABogAEGAgICAeEYEQEIADAELIAIoAhwhAwJ+IAIoAhhBAkYEQCADKQIADAELIAM1AgBCIIYLIQQgAEGCeEwEQCAEQY54IABrrYghBEIADAELIARCC4hC/////////weDIQQgAEH+B2qtQjSGCyEFIAQgBYQgAjUCEEI/hoS/IQYgAkEMahAbCyABIAY5AwAgAkEgaiQACw4AIABCgICAgPB+EIAGC+4PAwt/A34BfCMAQUBqIhAkAEHfAEGAAiAEQSBxGyEJIARBgANxIQsCQAJAAkACfwJAAkACQAJAAkACQAJAAkACQCABLQAAIgZBK2sOAwEDAAMLQQEhDiABQQFqIQEMAQsgAUEBaiEBCyAEQYAIcUUNASABLQAAIQYLIAZB/wFxQTBHDQACQAJAAkAgAS0AASIHQfgARwRAIAdB7wBGDQIgB0HYAEcNAQsgA0FvcQ0FIAFBAmohB0EQIQMMCQsgAyAHQc8AR3INAQwFCyADRQ0EDAMLAkACQCAHQeIARwRAIANFIAdBwgBGcQ0BIAMgB0Ewa0H/AXFBCUtyDQQgBEEQcQ0CDAcLIAMNBAsgBEEEcUUNBUECIQMgAUECaiEHDAcLIAFBAWohB0EBIQYDQCABIAZqIQMgBkEBaiEGIAMtAAAiCEH4AXFBMEYNAAtBCCEDQYACIQlBASEKIAhB/gFxQThGDQQMBgsgBEEBcSALQYACckGAAkdyDQAgAUEIaiEHQfUcIQYgASEIA0AgBkH9HEcEQCAILQAAIAYtAABHDQIgBkEBaiEGIAhBAWohCAwBCwsgC0GAAkYEQCAAELYFIhFCgICAgHCDQoCAgIDgAFEEQEKAgICA4AAhEQwJCyARp0EEaiAOEIwBDAgLRAAAAAAAAPD/RAAAAAAAAPB/IA4bIhS9IhECfyAUmUQAAAAAAADgQWMEQCAUqgwBC0GAgICAeAsiBre9UQRAIAatIREMCAtCgICAgMB+IBFCgICAgMCBgPz/AH0gEUL///////////8Ag0KAgICAgICA+P8AVhshEQwHCyABIgcgA0UNAxoMBQsgASEHDAQLIARBBHFFDQAgAUECaiEHQQghAwwCCyABCyEHQQohAwwBC0KAgICAwH4hESAHLQAAEJYBIANPDQELQQAhBiADQQpHIQwgByEBA0ACQCAGIAdqIg0tAAAiCMAhDyAIEJYBIANOBEAgCSAPRw0BAkAgDCAGQQFHcg0AIA1BAWstAABBMEcNAEEBIQYMAgsgDS0AARCWASADTg0BCyAHIAZBAWoiBmohAQwBCwtBACEMAkACQCAEQQFxDQACQCAIQS5HDQAgDS0AASEIIAZFBEAgCBCWASADTg0BCyANQQFqIQFCgICAgMB+IREgCSAIwEYNAgNAAkAgCEH/AXEQlgEgA0gEQCABLQABIQgMAQtBASEMIAkgCMBHDQIgAS0AASIIEJYBIANODQILIAFBAWohAQwACwALIAEgB00NAAJAIAEtAAAiBkHlAEcEQCADQQpGIAZBxQBGcQ0BIAZBIHJB8ABHIANBEEtyDQJBASADdEGEggRxDQEMAgsgA0EKRw0BC0EBIQwgAUEBaiEGAkACQAJAIAEtAAFBK2sOAwACAQILIAFBAmohBgwBCyABQQJqIQYLIAYtAABBOmtBdkkNACAGIQEDQCABIgZBAWohASAGLQABIgjAIQ0gCEE6a0F1Sw0AIAkgDUcNASAGLQACQTprQXVLDQALCyABIAdGBEBCgICAgMB+IREMAQsgECEJAkAgASAHayINQQJqIg9BwQBPBEAgACgCECIGQRBqIA8gBigCABEDACIJRQ0BC0EAIQZBACEIIA4EQCAJQS06AABBASEICyANQQAgDUEAShshDgNAIAYgDkZFBEAgBiAHai0AACINQd8ARwRAIAggCWogDToAACAIQQFqIQgLIAZBAWohBgwBCwsgCCAJakEAOgAAAn4CQAJAIARBwABxBEACQAJAAkACQCABLQAAQewAaw4DAQIAAwsgAUEBaiEBQYABIQsMBQsgAUEBaiEBQYACIQsMBAsgAUEBaiEBQYADIQsM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IAFBEGohAgJ/IAdCgICAgAiDUCIFRQRAIAIvAQAMAQsgAi0AAAsiAUEwayIDQQlLDQACfwJAIAFBMEcEQEEBIQEDQCABIARGDQICfyAFRQRAIAIgAUEBdGovAQAMAQsgASACai0AAAtBMGsiBkEJSw0EIAFBAWohASAGrSADrUIKfnwiB6chAyAHQoCAgIAQVA0ACwwDC0EAIgMgBEEBRw0BGgsgACADNgIAQQELDwtBAAupAgIDfwF+AkAgACACEDhFDQAgAqciBC8BBkEORgRAIAAgASAEKAIgKQMAENAFDwsgAUKAgICAcFQNAAJAIAAgAkE7IAJBABAUIgJC/////29YBEBBfyEDIAJCgICAgHCDQoCAgIDgAFENASAAQcYwQQAQFQwBCyABpyEEIAKnIQUCQANAAkAgBCgCECgCLCIDRQRAQQAhAyAELwEGQTBHDQQgBCAEKAIAQQFqNgIAIAStQoCAgIBwhCEBA0AgACABEIwCIgFCgICAgHCDIgZCgICAgCBRDQRBfyEDIAZCgICAgOAAUQ0FIAGnIAVGBEAgACABEA8MAwsgABB7RQ0ACyAAIAEQDwwECyADIgQgBUcNAQsLQQEhAwwBC0EAIQMLIAAgAhAPCyADC9IDAgJ+An8jAEEgayIEJAACQCABQv///////////wCDIgNCgICAgICAwIA8fSADQoCAgICAgMD/wwB9VARAIAFCBIYgAEI8iIQhAyAAQv//////////D4MiAEKBgICAgICAgAhaBEAgA0KBgICAgICAgMAAfCECDAILIANCgICAgICAgIBAfSECIABCgICAgICAgIAIUg0BIAIgA0IBg3whAgwBCyAAUCADQoCAgICAgMD//wBUIANCgICAgICAwP//AFEbRQRAIAFCBIYgAEI8iIRC/////////wODQoCAgICAgID8/wCEIQIMAQtCgICAgICAgPj/ACECIANC////////v//DAFYNAEIAIQIgA0IwiKciBUGR9wBJDQAgBEEQaiAAIAFC////////P4NCgICAgICAwACEIgIgBUGB9wBrEGcgBCAAIAJBgfgAIAVrEI4CIAQpAwhCBIYgBCkDACIAQjyIhCECIAQpAxAgBCkDGIRCAFKtIABC//////////8Pg4QiAEKBgICAgICAgAhaBEAgAkIBfCECDAELIABCgICA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cINCgICAgJB/UXFFBEAgAEGN9wBBABAVDAELIAAgAUESEGUiAUKAgICAcINCgICAgOAAUQ0AIAGnIgQgAz4CJCAEIAI+AiAgACABQdUAQgBBAhAZGiABDwsgACADEA8gACACEA9CgICAgOAACw0AIAAgAUHOlQEQ/wMLZwEBfwJAIAFBAE4EQCAAKAIQIgIoAiwgAU0NASACKAI4IAFBAnRqKAIAIgEgASgCAEEBajYCACAAIAFBBBCABA8LQfKRAUGu/ABBzhdBmdIAEAAAC0HZ3wBBrvwAQc8XQZnSABAAAAtEAQF/IABB+AFqIQIgAEH0AWohAAN/IAAgAigCACICRgRAQQAPCyABIAJBBGsoAgBGBH8gAkEIawUgAkEEaiECDAELCwtSAgJ/AX4CQCAAKAIQKAKMASIBRQ0AIAEpAwgiA0KAgICAcFQNACADpyIBLwEGEO4BRQ0AIAEoAiAiAS0AEkEEcUUNACAAIAEoAkAQGCECCyACC6oPAgV/D34jAEHQAmsiBSQAIARC////////P4MhCyACQv///////z+DIQogAiAEhUKAgICAgICAgIB/gyENIARCMIinQf//AXEhCAJAAkAgAkIwiKdB//8BcSIJQf//AWtBgoB+TwRAIAhB//8Ba0GBgH5LDQELIAFQIAJC////////////AIMiDEKAgICAgIDA//8AVCAMQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQ0MAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhDSADIQEMAgsgASAMQoCAgICAgMD//wCFhFAEQCADIAJCgICAgICAwP//AIWEUARAQgAhAUKAgICAgIDg//8AIQ0MAwsgDUKAgICAgIDA//8AhCENQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAQgAhAQwCCyABIAyEUARAQoCAgICAgOD//wAgDSACIAOEUBshDUIAIQEMAgsgAiADhFAEQCANQoCAgICAgMD//wCEIQ1CACEBDAILIAxC////////P1gEQCAFQcACaiABIAogASAKIApQIgYbeSAGQQZ0rXynIgZBD2sQZ0EQIAZrIQYgBSkDyAIhCiAFKQPAAiEBCyACQv///////z9WDQAgBUGw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AgQLIBIgFHwhEgwDCyADRSEFIABBAEgNAQsgAikDcEIAUw0AIAIgAigCBEEBazYCBAsgBUUNAEGg1ARBHDYCACACEJoEQgAhE0IADAELIAEoApAGIgBFBEAgASAGt0QAAAAAAAAAAKIQqwEgASkDACETIAEpAwgMAQsgEiATUiATQglVckUEQCABQTBqIAYQeSABQSBqIAAQhgIgAUEQaiABKQMwIAEpAzggASkDICABKQMoEC4gASkDECETIAEpAxgMAQsgEkKaBFkEQEGg1ARBxAA2AgAgAUHgAGogBhB5IAFB0ABqIAEpA2AgASkDaEJ/Qv///////7///wAQLiABQUBrIAEpA1AgASkDWEJ/Qv///////7///wAQLiABKQNAIRMgASkDSAwBCyASQut1VwRAQaDUBEHEADYCACABQZABaiAGEHkgAUGAAWogASkDkAEgASkDmAFCAEKAgICAgIDAABAuIAFB8ABqIAEpA4ABIAEpA4gBQgBCgICAgICAwAAQLiABKQNwIRMgASkDeAwBCyAKBEAgCkEITARAIAFBkAZqIAdBAnRqIgAoAgAhCQNAIAlBCmwhCSAKQQFqIgpBCUcNAAsgACAJNgIACyAHQQFqIQcLAkAgCyASpyIISiALQQhKciAIQRFKcg0AIAhBCUYEQCABQcABaiAGEHkgAUGwAWogASgCkAYQhgIgAUGgAWogASkDwAEgASkDyAEgASkDsAEgASkDuAEQLiABKQOgASETIAEpA6gBDAILIAhBCEwEQCABQZACaiAGEHkgAUGAAmogASgCkAYQhgIgAUHwAWogASkDkAIgASkDmAIgASkDgAIgASkDiAIQLiABQeABakEAIAhrQQJ0QeDBBGooAgAQeSABQdABaiABKQPwASABKQP4ASABKQPgASABKQPoARDjBSABKQPQASETIAEpA9gBDAILIAhBEU5BACABKAKQBiIAIAhBfWxB0ABqdhsNACABQeACaiAGEHkgAUHQAmogABCGAiABQcACaiABKQPgAiABKQPoAiABKQPQAiABKQPYAhAuIAFBsAJqIAhBAnRBmMEEaigCABB5IAFBoAJqIAEpA8ACIAEpA8gCIAEpA7ACIAEpA7gCEC4gASkDoAIhEyABKQOoAgwBCwNAIAFBkAZqIAciAEEBayIHQQJ0aigCAEUNAAsCQCAI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AAEiAjoAASAAQQFqIQAgAUEBaiEBIAINAAsLC/UBAgF/AX4jAEHQAGsiAyQAAkACfiABQQBIBEAgAyABQf////8HcTYCACADQRBqIgFBwABB3CIgAxBOGiAAIAEQYgwBCyAAKAIQIgAoAiwgAU0NAQJAAkAgACgCOCIAIAFBAnRqKAIAIgEpAgQiBEKAgICAgICAgECDQoCAgICAgICAwABRDQAgAkUNASAEp0GAgICAeEcNACAAKAK8ASEBCyABIAEoAgBBAWo2AgAgAa1CgICAgJB/hAwBCyABIAEoAgBBAWo2AgAgAa1CgICAgIB/hAshBCADQdAAaiQAIAQPC0Hv3wBBrvwAQZgYQYfiABAAAAvrAgECfyAAIAEoAgQQEwNAIAEoAhAhAyACIAEoAhRORQRAIAAgAyACQQN0aigCABATIAJBAWohAgwBCwsgACgCECICQRBqIAMgAigCBBEAAEEAIQIDQAJAIAEoAhwhAyACIAEoAiBODQAgAyACQRRsaiIDKAIIRQRAIAAoAhAgAygCBBDrAQsgACADKAIQEBMgACADKAIMEBMgAkEBaiECDAELCyAAKAIQIgJBEGogAyACKAIEEQAAIAAoAhAiAkEQaiABKAIoIAIoAgQRAABBACECA0AgASgCNCEDIAIgASgCOE5FBEAgACADIAJBDGxqKAIEEBMgAkEBaiECDAELCyAAKAIQIgJBEGogAyACKAIEEQAAIAAgASkDQBAPIAAgASkDSBAPIAAgASkDYBAPIAAgASkDaBAPIAEoAggiAiABKAIMIgM2AgQgAyACNgIAIAFCADcCCCAAKAIQIgBBEGogASAAKAIEEQAACzABAX8gACgCOCABQQJ0aigCACIBIAEoAgAiAkEBazYCACACQQFMBEAgACABEKIDCwvAAQIBfwJ+QX8hAwJAIABCAFIgAUL///////////8AgyIEQoCAgICAgMD//wBWIARCgICAgICAwP//AFEbDQAgAkL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFJxDQAgACAEIAWEhFAEQEEADwsgASACg0IAWQRAIAEgAlIgASACU3ENASAAIAEgAoWEQgBSDwsgAEIAUiABIAJVIAEgAlEbDQAgACABIAKFhEIAUiEDCyADCwoAIABBfHEQpAMLZQEEfwNA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sgEhAyAAIAIQDyAAIAAgA0HdwAAQsgEiAiADQQEgARAhIQQgACACEA8gACADEA8gBAsMACAAIAEpAwAQswELygYCBH8DfiMAQYABayIFJAACQAJAAkAgAyAEQgBCABDtAUUNAAJ/IARC////////P4MhCgJ/IARCMIinQf//AXEiBkH//wFHBEBBBCAGDQEaQQJBAyADIAqEUBsMAgsgAyAKhFALCyEGIAJCMIinIghB//8BcSIHQf//AUYNACAGDQELIAVBEGogASACIAMgBBAuIAUgBSkDECICIAUpAxgiASACIAEQ4wUgBSkDCCECIAUpAwAhBAwBCyABIAJC////////////AIMiCiADIARC////////////AIMiCRDtAUEATARAIAEgCiADIAkQ7QEEQCABIQQMAgsgBUHwAGogASACQgBCABAuIAUpA3ghAiAFKQNwIQQMAQsgBEIwiKdB//8BcSEGIAcEfiABBSAFQeAAaiABIApCAEKAgICAgIDAu8AAEC4gBSkDaCIKQjCIp0H4AGshByAFKQNgCyEEIAZFBEAgBUHQAGogAyAJQgBCgICAgICAwLvAABAuIAUpA1giCUIwiKdB+ABrIQYgBSkDUCEDCyAJQv///////z+DQoCAgICAgMAAhCELIApC////////P4NCgICAgICAwACEIQogBiAHSARAA0ACfiAKIAt9IAMgBFatfSIJQgBZBEAgCSAEIAN9IgSEUARAIAVBIGogASACQgBCABAuIAUpAyghAiAFKQMgIQQMBQsgCUIBhiAEQj+IhAwBCyAKQgGGIARCP4iECyEKIARCAYYhBCAHQQFrIgcgBkoNAAsgBiEHCwJAIAogC30gAyAEVq19IglCAFMEQCAKIQkMAQsgCSAEIAN9IgSEQgBSDQAgBUEwaiABIAJCAEIAEC4gBSkDOCECIAUpAzAhBAwBCyAJQv///////z9YBEADQCAEQj+IIQEgB0EBayEHIARCAYYhBCABIAlCAYaEIglCgICAgICAwABUDQALCyAIQYCAAnEhBiAHQQBMBEAgBUFAayAEIAlC////////P4MgB0H4AGogBnKtQjCGhEIAQoCAgICAgMDDPxAuIAUpA0ghAiAFKQNAIQQMAQsgCUL///////8/gyAGIAdyrUIwhoQhAgsgACAENwMAIAAgAjcDCCAF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QCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAAALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC14BBH8gACgCACECA0AgAiwAACIDENECBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFQX8LIQEMAQsLIAEL3BICEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRICQAJAAkACQANAIAEhDCAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCAMIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAHIQkDQCAJLQABQSVHBEAgCSEBDAILIAdBAWohByAJLQACIQogCUECaiIBIQkgCkElRg0ACwsgByAMayIHIA5B/////wdzIhhKDQcgAARAIAAgDCAHEFsLIAcNBiAIIAE2AkwgAUEBaiEHQX8hDwJAIAEsAAEiChDRAkUNACABLQACQSRHDQAgAUEDaiEHIApBMGshD0EBIRMLIAggBzYCTEEAIQ0CQCAHLAAAIglBIGsiAUEfSwRAIAchCgwBCyAHIQpBASABdCIBQYnRBHFFDQADQCAIIAdBAWoiCjYCTCABIA1yIQ0gBywAASIJQSBrIgFBIE8NASAKIQdBASABdCIBQYnRBHENAAsLAkAgCUEqRgRAAn8CQCAKLAABIgEQ0QJFDQAgCi0AAkEkRw0AIAFBAnQgBGpBwAFrQQo2AgAgCkEDaiEJQQEhEyAKLAABQQN0IANqQYADaygCAAwBCyATDQYgCkEBaiEJIABFBEAgCCAJNgJMQQAhE0EAIRAM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IAgoAgRBAWsiBzYCBCAEIAlqQRBqIQQgBw0JIAAgACgCMEEBazYCMAwJCyAHCyEFIARBAWohBAwACwALIANBACAEQQFGGw0EQQAhCSADDQAgBEECRg0DCyAAIAU2AjAMAAsACyAJDwsgASAIQRBqIAAoAgxBA3QQHxoLIAgoAgghBSAIKAIMIQQgAiAIIAAoAgxBA3RqQRBqIAgtAAEiA0ECdBAfGiAAIAAoAjBBAWs2AjAMAAsAC4sCAQd/IAFBAnRBwP4DaigCACICIAFBAXRBkIAEai8BAGohCEEAIQECQANAIAIgCE8NASACQQFqIQYCQAJAIAItAAAiBEE/TQRAIAMgBEEDdmpBAWohAiABBEAgACADIAIQfg0DCyABQQFzIQEgBEEHcSACakEBaiEFDAELAn8gAyAEakH/AGsgBMBBAEgNABogBi0AACEFIARB3wBNBEAgAkECaiEGIAMgBEEIdGogBWpB//8AawwBCyACQQNqIQYgAi0AAiADIARBEHRqIAVBCHRqakH///8CawshBSADIQILIAEEQCAAIAIgBRB+DQELIAFBAXMhASAGIQIgBSEDDAELC0F/IQcLIAcLOABBsNQCIAEQrwQiAUEASARAQX4PCyAAIAFBHU0Ef0IBIAGthqcFIAFBAnRB2NgCaigCAAsQoQYLNQEBfyMAQRBrIgMkACADIAE2AgggAyACQQFqNgIMIAAgA0EIakECELEEIQAgA0EQaiQAIAALlwIBA38gASgCACICQf7/B08EQCAAQYY7QQAQOkF/DwsCQCACQQFNBEAgAEECQX8QuAEaDAELIAEoAgggAkECdGoiBEEEaygCACIDQX9GBEAgBEEIaygCACEDCyACQQF2IQIgA0H//wNNBEAgAEEVIAIQsgRBACECA0AgAiABKAIATg0CIAAgAkECdCIDIAEoAghqLwEAECogAEF/IAEoAgggA0EEcmooAgBBAWsiAyADQX5GG0H//wNxECogAkECaiECDAALAAsgAEEWIAIQsgRBACECA0AgAiABKAIATg0BIAAgAkECdCIDIAEoAghqKAIAEB0gACABKAIIIANBBHJqKAIAQQFrEB0gAkECaiECDAALAAtBAAsmAQF/IAAoAjgiAUEASARAIAAgACAAQTxqQQAQqwYiATYCOAsgAQvgAgEFfyMAQZABayIEJAAg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IgMgAkohBEKAgICAECEBIAMhAiAERQ0BDAILIAYoAgwgBWsiAyECC0KAgICAECEBIANBAEggAiADSHINAANAIAkgByADQQAgBRCzA0UEQEKBgICAECEBDAILIAIgA0chBCADQQFqIQMgBA0ACwsgACAKEA8gACALEA8LIAZBEGokACABC7ADAwd/AXwBfiMAQRBrIgUkAAJAIAAgARBZIgFCgICAgHCDQoCAgIDgAFENAAJAAkAgACADKQMAECgiDUKAgICAcINCgICAgOAAUQ0AIA2nIgkoAgRB/////wdxIQYgAaciCigCBEH/////B3EhBwJAIAQEQCAFIAcgBmsiCzYCDEF/IQhBACEEIAJBAkgNASAAIAUgAykDCBBCDQIgBSsDACIMvUL///////////8Ag0KAgICAgICA+P8AVg0BIAxEAAAAAAAAAABlBEAgBUEANgIMDAILIAwgC7djRQ0BIAUCfyAMmUQAAAAAAADgQWMEQCAMqgwBC0GAgICAeAs2AgwMAQsgBUEANgIMIAJBAk4EQCAAIAVBDGogAykDCCAHQQAQVw0CCyAHIAZrIQRBASEIC0F/IQIgBiAHSw0BIAQgBSgCDCIDayAIbEEASA0BA0AgCiAJIANBACAGELMDRQRAIAMhAgwDCyADIARGDQIgAyAIaiEDDAALAAsgACABEA8gACANEA9CgICAgOAAIQEMAQsgACABEA8gACANEA8gAq0hAQsgBUEQaiQAIAELkwECAX4BfyMAQRBrIgIkAEKAgICA4AAhBAJAIAAgARBZIgFCgICAgHCDQoCAgIDgAFEEQCABIQQMAQsCQCAAIAJBDGogAykDABC6AQ0AQoCAgIAwIQQgAigCDCIDQQBIDQAgAyABpyIFKAIEQf////8HcU8NACAFIAJBDGoQyQGtIQQLIAAgARAPCyACQRBqJAAgBAtpAgJ/AX4gACABEFkhAQNAIAIgBEwgAUKAgICAcINCgICAgOAAUXJFBEAgAyAEQQN0aikDACIGQiCIp0F1TwRAIAanIgUgBSgCAEEBajYCAAsgBEEBaiEEIAAgASAGEMQCIQEMAQsLIAELyAECAX4BfyMAQRBrIgIkAEKAgICA4AAhBAJAIAAgARBZIgFCgICAgHCDQoCAgIDgAFEEQCABIQQMAQsCQCAAIAJBDGogAykDABC6AQ0AAkAgAigCDCIDQQBOBEAgAyABpyIFKQIEIgSnQf////8HcUkNAQsgAEEvEC0hBAwBCyAFQRBqIQUgAAJ/IARCgICAgAiDUEUEQCAFIANBAXRqLwEADAELIAMgBWotAAALQf//A3EQnwMhBAsgACABEA8LIAJBEGokACAEC7gBAgJ+AX8jAEEQayICJABCgICAgOAAIQQCQCAAIAEQWSIBQoCAgIBwg0KAgICA4ABRBEAgASEEDAELAkAgACACQQxqIAMpAwAQugENAEKAgICAwH4hBCACKAIMIgNBAEgNACADIAGnIgYpAgQiBadB/////wdxTw0AIAZBEGohBiAFQoCAgIAIg1BFBEAgBiADQQF0ajMBACEEDAELIAMgBmoxAAAhBAsgACABEA8LIAJBEGokACAEC+MBAgF+An8jAEEQayICJAACQCAAIAFBLRBLIgNFBEAgBEEANgIAQoCAgIDgACEBDAELQoCAgIAwIQECQCADKQMAIgZCgICAgHCDQoCAgIAwUgRAIAIgAygCDCIFNgIMIAUgBqciBygCBEH/////B3FJDQEgACAGEA8gA0KAgICAMDcDAAsgBEEBNgIADAELIAcgAkEMahDJASEIIAMgAigCDDYCDCAEQQA2AgAgCEH//wNNBEAgACAIQf//A3EQnwMhAQwBCyAAIAcgBUEBdGpBEGpBAhDuAyEBCyACQRBqJAAgAQs3ACMAQRBrIgIkACAAIAJBDGogAykDABB3IQAgAigCDCEDIAJBEGokAEKAgICA4AAgA2etIAAbC04AIwBBEGsiAiQAQoCAgIDgACEBAkAgACACQQxqIAMpAwAQdw0AIAAgAkEIaiADKQMIEHcNACACKAIIIAIoAgxsrSEBCyACQRBqJAAgAQsGACAAtrsLfwAgACAAKQPQASIBQgyIIAGFIgFCGYYgAYUiAUIbiCABhSIBNwPQAUKAgICAwH4gAUKdurP7lJL9oiV+QgyIQoCAgICAgID4P4S/RAAAAAAAAPC/oL0iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwujBAMDfAV/A34jAEEQayIIJAAgCEIANwMIAkACQCACQQBMDQBCgICAgOAAIQEgACAIQQhqIAMpAwAQQg0BQQEhCSAIKwMIIQQgAkEBRwRAA0AgAiAJRg0CIAAgCCADIAlBA3RqKQMAEEINAyAJQQFqIQkgCCsDACEFIwBBIGsiByQAIAS9Qv///////////wCDIg0gBb1C////////////AIMiDCAMIA1WGyIOvyEEAkAgDkI0iKciCkH/D0YNACANIAwgDCANVBsiDL8hBQJAIA5QDQAgDEI0iKciC0H/D0YNACALIAprQcEATgRAIAUgBKAhBAwCCwJ8IAtB/gtPBEAgBEQAAAAAAAAwFKIhBCAFRAAAAAAAADAUoiEFRAAAAAAAALBrDAELRAAAAAAAAPA/IApBvARLDQAaIAREAAAAAAAAsGuiIQQgBUQAAAAAAACwa6IhBUQAAAAAAAAwFAshBiAHQRhqIAdBEGogBRCKBiAHQQhqIAcgBBCKBiAGIAcrAwAgBysDEKAgBysDCKAgBysDGKCfoiEEDAELIAUhBAsgB0EgaiQADAALAAsgBJkhBAsgBL0iAQJ/IASZRAAAAAAAAOBBYwRAIASqDAELQYCAgIB4CyIAt71RBEAgAK0hAQwBC0KAgICAwH4gAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGyEBCyAIQRBqJAAgAQtOACAAIABEAAAAAAAA8L9EAAAAAAAA8D8gAEQAAAAAAAAAAGMbIAC9Qv///////////wCDQoCAgICAgID4/wBWGyAARAAAAAAAAAAAYRsLQwACfCABvUKAgICAgICA+P8Ag0KAgICAgICA+P8AUQRARAAAAAAAAPh/IACZRAAAAAAAAPA/YQ0BGgsgACABEI8DCwuDAQICfgF/IAC9IgFCNIinQf8PcSIDQf4HTQRAIAFCgICAgICAgICAf4MhAiADQf4HRyABQoCAgICAgIDwv39RckUEQCACQoCAgICAgID4P4S/DwsgAr8PCyADQbIITQR8IAFCP4cgAXxCAUGzCCADa62GIgFCAYh8QgAgAX2DvwUgAAsLggUDAnwFfwF+IwBBEGsiCSQAAn5CgICAgMD+//v/AEKAgICAwP7/eyAEGyACRQ0AGgJ8IAMpAwAiAUL/////D1gEQEEBIAIgAkEBTBshCiABpyEIQQEhBwNAIAcgCkcEQCAItyADIAdBA3RqKQMAIgFCgICAgBBaDQMaIAggAaciCyAIIAtKGyAIIAsgCCALSBsgBBshCCAHQQFqIQcMAQsLIAitDAILQoCAgIDgACAAIAlBCGogARBCDQEaQQEhByAJKwMICyEFIAcgAiACIAdIGyECA0AgAiAHRwRAQoCAgIDgACAAIAkgAyAHQQN0aikDABBCDQIaAkAgBb0iDEL///////////8Ag0KAgICAgICA+P8AVg0AIAkrAwAiBr0iAUL///////////8Ag0KAgICAgICA+P8AVgRAIAYhBQwBCyAFRAAAAAAAAAAAYSAGRAAAAAAAAAAAYXEhCiAEBEAgCgRAIAEgDIO/IQUMAgsgBSAFIAalIAa9Qv///////////wCDQoCAgICAgID4/wBWGyAGIAW9Qv///////////wCDQoCAgICAgID4/wBYGyEFDAELIAoEQCABIAyEvyEFDAELIAUgBSAGpCAGvUL///////////8Ag0KAgICAgICA+P8AVhsgBiAFvUL///////////8Ag0KAgICAgICA+P8AWBshBQsgB0EBaiEHDAELCyAFvSIBAn8gBZlEAAAAAAAA4EFjBEAgBaoMAQtBgICAgHgLIgC3vVEEQCAArQwBC0KAgICAwH4gAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwshASAJQRBqJAAgAQstAEKAgICA4AAgACADKQMAIAMpAwhBABCLAiIAQQBHrUKAgICAEIQgAEEASBsLoAEBA34gAykDACIFIQQgAkEETgRAIAMpAxghBAsgBUL/////b1gEQCAAECRCgICAgOAADwsgAykDECEBQoCAgIDgACEGAkAgACADKQMIEDEiAkUNACABQiCIp0F1TwRAIAGnIgMgAygCAEEBajYCAAsgACAFIAIgASAEQQAQhgQhAyAAIAIQEyADQQBIDQAgA0EAR61CgICAgBCEIQYLIAYLjwEAAkACQCADKQMAIgFC/////29YBEAgBARAIAAQJAwDCyABQiCIp0F1SQ0BIAGnIgAgACgCAEEBajYCACABDwsgACABELYDIgJBAEgNASAEBEAgAkEAR61CgICAgBCEDwsgAkUEQCAAQfjiAEEAEBUMAgsgAaciACAAKAIAQQFqNgIACyABDwtCgICAgOAACyoAIAMpAwAiAUL/////b1gEQCAAECRCgICAgOAADwsgACABQQNBABCqAgtPAAJAAkAgAykDACIBQv////9vWARAIARFBEBCgICAgBAPCyAAECQMAQsgACABEJkBIgBBAE4NAQtCgICAgOAADwsgAEEAR61CgICAgBCEC2MBAX4gAykDACIEQv////9vWARAIAAQJEKAgICA4AAPC0KAgICA4AAhAQJAIAAgAykDCBAxIgJFDQAgACAEIAIQcSEDIAAgAhATIANBAEgNACADQQBHrUKAgICAEIQhAQsgAQs2ACADKQMAIgFCIIinIgJBf0YgBEUgAkF+cUECR3FyRQRAIAAQJEKAgICA4AAPCyAAIAEQ6AELYwECfgJAAkAgAykDACIBQv////9vWARAIAAQJAwBCyADKQMIIQUgASEEIAJBA04EQCADKQMQIQQLIAAgBRAxIgINAQtCgICAgOAADwsgACABIAIgBEEAEBQhASAAIAIQEyABC2YBAX4gAykDACIEQv////9vWARAIAAQJEKAgICA4AAPC0KAgICA4AAhAQJAIAAgAykDCBAxIgJFDQAgACAEIAJBABDVASEDIAAgAhATIANBAEgNACADQQBHrUKAgICAEIQhAQsgAQuLAQECfiADKQMAIgFC/////29YBEAgABAkQoCAgIDgAA8LIAMpAxAhBkKAgICA4AAhBQJAIAAgAykDCBAxIgJFDQAgACABIAIgBiAERUEOdBDHBCEDIAAgAhATIANBAEgNACAEBEAgA0EAR61CgICAgBCEDwsgAaciACAAKAIAQQFqNgIAIAEhBQsgBQuaAQIBfwJ+IwBBEGsiBCQAIAMpAwghBSADKQMAIgYhAQJAAkACQAJAIAJBA0gNACADKQMQIgFCgICAgHBaBEAgAactAAVBEHENAQsgAEGiPkEAEBUMAQsgACAEQQxqIAUQiQQiAg0BC0KAgICA4AAhAQwBCyAAIAYgASAEKAIMIgMgAhCQAyEBIAAgAiADEJsDCyAEQRBqJAAgAQsVACAAIAMpAwAgAyADQQhqQQIQnQMLVgIBfgF/IAAgARC0AyIBQoCAgIBwg0KAgICA4ABRBEAgAQ8LQoCAgIAwIQIgAaciAygCBEGAgICAeEcEQCAAIAAoAhAgAxDBAhAtIQILIAAgARAPIAILCQAgACABELQDC1sBAX4jAEEQayICJAAgAiAAIAEQtAMiATcDCAJAIAFCgICAgHCDQoCAgIDgAFEEQCABIQQMAQsgAEKAgICAMEEBIAJB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IQMCQAJAAkAgAkHGAGsOBgIDAQMDAgALIAJBFkcNAgtBECEDCyAAIAEgAxCQAg8LIABBtitBABAVC0KAgICA4AALlgEBAXwjAEEQayICJAACfkKAgICA4AAgACACQQhqIAEQmwINABogAisDCCIEvSIBAn8gBJlEAAAAAAAA4EFjBEAgBKoMAQtBgICAgHgLIgC3vVEEQCAArQwBC0KAgICAwH4gAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwshASACQRBqJAAgAQvsAgIDfwF8IwBB0ABrIgQkACAEQRBqQQBBOBArGiAEQoCAgICAgID4PzcDIEKAgICAwH4hAQJAIAJFDQBBByACIAJBB04bIgJBACACQQBKGyECA0AgAiAFRwRAIAAgBEEIaiADIAVBA3QiBmopAwAQQgRAQoCAgIDgACEBDAMLIAQrAwgiB71CgICAgICAgPj/AINCgICAgICAgPj/AFENAiAEQRBqIAZqIAedOQMAAkAgBQ0AIAQrAxAiB0QAAAAAAAAAAGZFIAdEAAAAAAAAWUBjRXINACAEIAdEAAAAAACwnUCgOQMQCyAFQQFqIQUMAQsLIARBEGpBABDgAiIHvSIBAn8gB5lEAAAAAAAA4EFjBEAgB6oMAQtBgICAgHgLIgW3vVEEQCAFrSEBDAELQoCAgIDAfiABQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbIQELIARB0ABqJAAgAQtWABDQBCIBQoCAgIAIfEL/////D1gEQCABQv////8Pgw8LQoCAgIDAfiABub0iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwsIAEKAgICAMAuqHQIGfwR+IwBB0ABrIgYkAAJAAkAgAEEQaiIDQYgCIAAoAgARAwAiAUUNACABQQVqQQBBgwIQKxogAUEFOgAEIAFBATYCACAAKAJQIgQgAUEIaiIFNgIEIAEgAEHQAGo2AgwgASAENgIIIAAgBTYCUCABIAMgACgCQEEDdCAAKAIAEQMAIgQ2AiggBEUEQCADIAEgACgCBBEAAAwBCyABIAA2AhAgACgCSCIDIAFBFGoiBTYCBCABIABByABqNgIYIAEgAzYCFCAAIAU2AkggAULxgICAgDk3AtwB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aiAAIAFB1QAgAUEAEBQQowENACAAIAVB1QACfiACKQMIIgFCgICAgAh8Qv////8PWARAIAFC/////w+DDAELQoCAgIDAfiABub0iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwsQRUEASA0AQoCAgIDgACEIIABBLhB2IgFCgICAgHCDQoCAgIDgAFENACAAQSAQKSIDRQRAIAEhCAwBCyADIAk3AwggAyAFNwMAIAMgBKciCkHnAEEAEMcBQX9zQR92NgIQIApB9QBBABDHASEKIANBADYCGCADIApBf3NBH3Y2AhQgAUKAgICAcFoEQCABpyADNgIgCyAAIAYQDyAAIAQQDyABIQcMAQsgACAJEA8gACAGEA8gACAEEA8gACAFEA8gACAIEA8LIAJBIGokACAHC74EAgd+An8jAEEQayICJAACQCABQv////9vWARAIAAQJEKAgICA4AAhBgwBC0KAgICA4AAhBkKAgICAMCEFAkAgAAJ+AkAgACADKQMAECgiB0KAgICAcINCgICAgOAAUQ0AIAAgACABQe4AIAFBABAUECYiA0EASA0AIANFBEAgACABIAcQyAEhBgwDCyAAIAAgAUHvACABQQAQFBAmIgtBAEgNACAAIAFB1QBCABBFQQBIDQBCgICAgOAAIAAQPiIIQoCAgIBwg0KAgICA4ABRDQEaIAenIQwCQANAIAAgBRAPIAAgASAHEMgBIgVCgICAgHCDIgRCgICAgCBRDQECQCAEQoCAgIDgAFENAAJ/IAAgACAFQgAQTRA3IgRCgICAgHCDIgpCgICAgJB/UgRAQQAgCkKAgICA4ABSDQEaDAILIASnKAIEQf////8HcUULIQMgACAIIAkgBBCGAUEASA0AIAlCAXwhCSADRQ0BIAAgAkEIaiAAIAFB1QAgAUEAEBQQowFBAEgNACAAIAFB1QACfiAMIAIpAwggCxDxAiIEQoCAgIAIfEL/////D1gEQCAEQv////8PgwwBC0KAgICAwH4gBLm9IgRCgICAgMCBgPz/AH0gBEL///////////8Ag0KAgICAgICA+P8AVhsLEEVBAE4NAQsLIAgMAgsgCacEQCAIIQYMAwsgACAIEA9CgICAgCAhBgwCC0KAgICAMAsQDwsgACAFEA8gACAHEA8LIAJBEGokACAG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/////w+DEGpBAEgNDSADRQRAIAkgCSgCAEEBajYCAAsgACABIAZBAWqtIBQQakEASA0NIA5CgICAgDBSBEAgEUIgiKdBdU8EQCARpyICIAIoAgBBAWo2AgALIAAgASAGQQJqrSAREGpBAEgNDgsgBCABNwNYIARCgICAgDA3A1AgACATEA8gACAAIBkgBCAEQdAAakEAEJ0DEDchEwwBC0KAgICAMCEVIA5CgICAgDBSBEAgACARECUiFUKAgICAcINCgICAgOAAUQ0NCyAEIBc3A3ggBCAVNwNwIAQgATcDaCAEIBQ3A1ggBCAPNwNQIAQgEkL/////D4M3A2AgACATEA8gACAEQdAAahDtBCETIAAgFRAPCyATQoCAgIBwg0KAgICA4ABRDQsgB6wgElcEQCAEQThqIgIgCSAHIBKnEFEaIAIgExCHARogD6cpAgRC/////weDIBJ8pyEHCyAFQQFqIQUMAQsLIARBOGoiAiAJIAcgCSgCBEH/////B3EQURogAhA2IRAMCgsgACAPEA9CgICAgDAhEwJAAn8CQCAAIAAgEkIAEE0QNyIPQoCAgIBwgyIOQoCAgICQf1IEQCAOQoCAgIDgAFINASAOIRAMAwsgD6coAgRB/////wdxDQAgACAEQdAAaiAAIAFB1QAgAUEAEBQQowFBAEgNAiAAIAFB1QACfiAJIAQpA1AgDRDxAiIOQoCAgIAIfEL/////D1gEQCAOQv////8PgwwBC0KAgICAwH4gDrm9Ig5CgICAgMCBgPz/AH0gDkL///////////8Ag0KAgICAgICA+P8AVhsLEEUiAkEATg0AIAJBHnZBAnEMAQtBAAtFDQELCwwCCwwGC0KAgICAMCETC0KAgICAMCEBDAQLIARB0ABqIAsgCCALKAIEQf////8HcRBRDQAgACASEA8gACgCECICQRBqIAMgAigCBBEAACAEQdAAahA2IRAMAQsgACASEA8gACgCECICQRBqIAMgAigCBBEAACAEKAJQKAIQIgJBEGogBCgCVCACKAIEEQAAC0KAgICAMCERC0KAgICAMCETQoCAgIAwIQFCgICAgDAhDwsgBCgCOCgCECICQRBqIAQoAjwgAigCBBEAAAsgBBDuBCAAIBcQDyAAIA8QDyAAIAEQDyAAIBMQDyAAIBEQDyAAIBQQDwsgBEGQAWokACAQC6IBACMAQSBrIgIkAAJ+AkAgAUL/////b1gEQCAAECQMAQsgACACQQhqIgNBABA9GiADQS8QOxoCQCADIAAgAUHsACABQQAQFBB/DQAgAkEIaiIDQS8QOxogAyAAIAFB7QAgAUEAEBQQfw0AIAJBCGoQNgwCCyACKAIIKAIQIgBBEGogAigCDCAAKAIEEQAAC0KAgICA4AALIQEgAkEgaiQAIAELTgECfkKAgICA4AAhBCAAIAEgAykDABDIASIBQoCAgIBwgyIFQoCAgIDgAFIEfiAAIAEQDyAFQoCAgIAgUq1CgICAgBCEBUKAgICA4AALC/gCAgN+AX8CQAJAIAAgARDwAiICRQ0AIAMpAwghBgJAAkACQCADKQMAIgRCgICAgHBUDQAgBKciAy8BBkESRw0AIAZCgICAgHCDQoCAgIAwUgRAIABBnvkAQQAQFUKAgICA4AAPCyADKAIgIgcgBygCAEEBajYCACADKAIkIgMgAygCAEEBajYCACAHrUKAgICAkH+EIQQgA61CgICAgJB/hCEFDAELQoCAgIAwIQUCfiAEQoCAgIBwg0KAgICAMFEEQCAAQS8QLQwBCyAAIAQQKAsiBEKAgICAcINCgICAgOAAUQ0BIAAgBCAGEJgEIgVCgICAgHCDQoCAgIDgAFENAQsgACACNQIAQoCAgICQf4QQDyAAIAI1AgRCgICAgJB/hBAPIAIgBT4CBCACIAQ+AgAgACABQdUAQgAQRUEASA0BIAFCIIinQXVJDQIgAaciACAAKAIAQQFqNgIADAILIAAgBBAPIAAgBRAPC0KAgICA4AAPCyABC2oBAX8gAUL/////b1gEQCAAECRCgICAgOAADwsCfiABpyIDLwEGQRJHBEBCgICAgDAgACABIAAoAigpA5ABEFINARogAEESEIYDQoCAgIDgAA8LIAMoAiQtABAgAnFBAEetQoCAgIAQhAsLvQQBCX8jAEEgayIHJAACQAJAAkACQAJAIAFC/////29YBEAgABAkDAELIAAgASAAKAIoKQOQARBSDQIgACABEPACIgINAQtCgICAgOAAIQEMAwsgAigCACIIKAIEIgJB/////wdxIgMNAQsgAEH+kwEQYiEBDAELIAAgB0EIaiADIAJBH3YQigMaIAhBEGohBiAIKAIEQf////8HcSEJQQAhAANAAkACQCAAIAlIBEAgAEEBaiECQX8hBQJAAn8CQAJAAkACQAJAAkACQAJ/IAgpAgRCgICAgAiDIgFQIgpFBEAgBiAAQQF0ai8BAAwBCyAAIAZqLQAACyIDQdsAaw4DAwECAAsgAiEAAkAgA0EKaw4EBAsLBQALIANBL0cNByAERQ0FQQEhBEEvIQMMBwtB3AAhAyACIAlODQYgAEECaiEAIApFBEAgBiACQQF0ai8BACEFDAoLIAIgBmotAAAhBQwJC0EAIQRB3QAhAwwFC0HbACEDIAQgAiAJTnINBiAAQQJqIQAgAVAEQEHdAEF/IAIgBmotAABB3QBGIgQbIQUgACACIAQbIQBBASEEDAgLQQEhBEHdAEF/IAYgAkEBdGovAQBB3QBGIgobIQUgACACIAobIQAMBwtB7gAMAgtB8gAMAQtBACEEQS8LIQVB3AAhAwsgAiEADAILIAdBCGoQNiEBDAMLIAIhAEEBIQQLIAdBCGogAxCLARogBUEASA0AIAdBCGogBRCLARoMAAsACyAHQSBqJAAgAQvWAgIDfwF+IwBBEGsiBCQAAkAgAUL/////b1gEQCAAECRCgICAgOAAIQUMAQtCgICAgOAAIQUgACAAIAFB7gAgAUEAEBQQJiICQQBIDQAgAgR/IARB5wA6AAggBEEJagUgBEEIagshAiAAIAAgAUHr4wAQsgEQJiIDQQBIDQAgAwRAIAJB6QA6AAAgAkEBaiECCyAAIAAgAUGL5QAQsgEQJiIDQQBIDQAgAwRAIAJB7QA6AAAgAkEBaiECCyAAIAAgAUH01AAQsgEQJiIDQQBIDQAgAwRAIAJB8wA6AAAgAkEBaiECCyAAIAAgAUHvACABQQAQFBAmIgNBAEgNACADBEAgAkH1ADoAACACQQFqIQILIAAgACABQfsdELIBECYiA0EASA0AIAAgBEEIaiIAIAMEfyACQfkAOgAAIAJBAWoFIAILIABrEJMCIQULIARBEGokACAFC6UDAQR+IwBBEGsiAyQAIAQCfwJAAkACQAJAIAAgAUEuEEsiAkUEQEKAgICAMCEBDAELIAIoAhgEQEKAgICAMCEBQQEMBQsgACACKQMAIgggAikDCCIGEMgBIgFCgICAgHCDIgdCgICAgOAAUg0BC0KAgICAMCEHDAELIAdCgICAgCBRBEAgAkEBNgIYQoCAgIAwIQFBAQwDCyACKAIQBEAgACAAIAFCABBNEDciB0KAgICAcIMiCUKAgICA4ABRDQECQCAJQoCAgICQf1INACAHpygCBEH/////B3ENACAAIANBCGogACAIQdUAIAhBABAUEKMBQQBIDQIgACAIQdUAAn4gBqcgAykDCCACKAIUEPECIgZCgICAgAh8Qv////8PWARAIAZC/////w+DDAELQoCAgIDAfiAGub0iBkKAgICAwIGA/P8AfSAGQv///////////wCDQoCAgICAgID4/wBWGwsQRUEASA0CCyAAIAcQDwwCCyACQQE2AhgMAQsgACABEA8gACAHEA9CgICAgOAAIQELQQALNgIAIANBEGokACABCw4AIAAQtQJCgICAgOAACwkAQoCAgIDAfgsWACAAIAMpAwAgAykDCCADKQMQEJQEC9EBAgN+An8jAEEQayIHJAACQCAAIAdBDGogAykDABDlASIIRQRAQoCAgIDgACEEDAELIAAgCCAHKAIMQdKIARD1BSEBIAAgCBBUAkAgAkECSCABQoCAgIBwg0KAgICA4ABRcg0AIAAgAykDCCIGEDhFDQBCgICAgOAAIQQCQCAAEDQiBUKAgICAcINCgICAgOAAUQRAIAEhBQwBCyAAIAVBLyABQQcQGUEASA0AIAAgBUEvIAYQ+QQhBAsgACAFEA8MAQsgASEECyAHQRBqJAAgBAsNACAAIAEgAkEwEP0FCwsAIAAgAUEwEP4FC7QDAgN/An4jAEHQAGsiBiQAQX8hBwJAIAAgBkHIAGogAUHCABCBASIIRQ0AIAYpA0giAUKAgICAcINCgICAgDBRBEAgCCkDACEBIANCIIinQXVPBEAgA6ciByAHKAIAQQFqNgIACyAAIAEgAiADIAQgBRCGBCEHDAELIAAgAhBcIglCgICAgHCDQoCAgIDgAFEEQCAAIAEQDwwBCyAIKQMAIQogBiAENwM4IAYgAzcDMCAGIAk3AyggBiAKNwMgIAAgASAIKQMIQQQgBkEgahAvIQEgACAJEA8gAUKAgICAcINCgICAgOAAUQ0AAkACQCAAIAEQJiIHBEAgACAGIAgoAgAgAhBMIgJBAEgNASACRQ0DAkAgBigCACICQRNxRQRAIAAgBikDCCADEFJFDQEMBAsgAkERcUEQRw0DIAY1AhxCIIZCgICAgDBSDQMLIAAgBhBI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gICAwH4gALi9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsLOQEBfkKAgICAwH4gASkDACICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCzsBAX5CgICAgMB+IAEqAgC7vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCwwAIAAgASkDABD7AwsMACAAIAEpAwAQhwILSQEBfiABKAIAIgBBAE4EQCAArQ8LQoCAgIDAfiAAuL0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsHACABNQIACwcAIAEzAQALDgAgATIBAEL/////D4MLCQAgABC1AkF/Cw4AIAEwAABC/////w+DCwcAIAExAAALDwAgACsDACABKwMAEP0ECxEAIAAqAgC7IAEqAgC7EP0ECxkBAn4gASkDACIDIAApAwAiBFQgAyAEVmsLGQECfiABKQMAIgMgACkDACIEUyADIARVawsXACABKAIAIgEgACgCACIASSAAIAFJawsXACABKAIAIgEgACgCACIASCAAIAFIawsNACAALwEAIAEvAQBrCw0AIAAuAQAgAS4BAGsLDQAgACwAACABLAAAawsNACAALQAAIAEtAABrC8wNBAd/AXwBfgF9IwBBIGsiBiQAQoCAgIDgACENAkAgACABEJIBIgpBAEgNAEF/IQUCQAJAAkAgCkUNAEEBIQgCQAJAIARBAUYEQEF/IQggBiAKQQFrIgU2AhwgAkECSA0BIAAgBkEIaiADKQMIEEINBiAGKwMIIgy9Qv///////////wCDQoGAgICAgID4/wBaBEAgBkEANgIcDAILIAxEAAAAAAAAAABmBEAgDCAFt2NFDQIgBgJ/IAyZRAAAAAAAAOBBYwRAIAyqDAELQYCAgIB4CzYCHAwCC0F/IQUgDCAKt6AiDEQAAAAAAAAAAGMNBCAGAn8gDJlEAAAAAAAA4EFjBEAgDKoMAQtBgICAgHgLNgIcDAELIAZBADYCHCACQQJIBEAgCiECDAILIAAgBkEcaiADKQMIIAoiAiACEFcNBQwBC0F/IQILIAGnIgkoAiAoAgwoAiAtAAQEQEF/IQUgBEF/Rw0CQX9BACADNQIEQiCGQoCA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IA1CgICAgDBBBCAFQRBqECEhCiAAIAsQDyAAIA8QDyAFQoCAgIAwNwM4IApCgICAgHCDQoCAgIDgAFENASAAIAkQDyAKIQkLIAhCAXwhCAwBCwsgBSAJNwMwIAUpAzghCwsgACAFKQMwEA8gACALEA9CgICAgOAAIQkLIAAgARAPIAVBQGskACAJC6wIAgN/CX4jAEEwayIFJABCgICAgDAhCSAFQoCAgIAwNwMoAkACQAJAAkAgBEEIcSIHBEAgAUIgiKdBdU8EQCABpyIGIAYoAgBBAWo2AgALIAUgACABEJIBIgasNwMIIAZBAE4NAQwCCyAAIAVBCGogACABECUiARA8DQELIAMpAwAhD0KAgICAMCEOIAJBAk4EQCADKQMIIQ4LIAAgDxBgDQACQAJAAkACQAJAAkACQCAEDg0FAAYBAgYGBgUABgMEBgtCgICAgBAhCQwFCyAAIAECfiAFKQMIIghCgICAgAh8Qv////8PWARAIAhC/////w+DDAELQoCAgIDAfiAIub0iCEKAgICAwIGA/P8AfSAIQv///////////wCDQoCAgICAgID4/wBWGwsQqwIiCUKAgICAcINCgICAgOAAUg0EDAULIAAgAUIAEKsCIglCgICAgHCDQoCAgIDgAFINAwwECyAFIAE3AxAgBSAFNQIINwMYIABBAiAFQRBqEPYCIglCgICAgHCDQoCAgIDgAFINAgwDCyAAED4iCUKAgICAcINCgICAgOAAUg0BQoCAgIDgACEJDAILQoGAgIAQIQkLQgAhCCAFKQMIIgpCACAKQgBVGyEQA0AgCCAQUgRAAkACQCAHBEAgBSAAIAEgCBBzIgo3AyggCkKAgICAcINCgICAgOAAUg0BDAULIAAgASAIIAVBKGoQhQEiAkEASA0EIAJFDQELIAghCiAIQoCAgIAIWgRAQoCAgIDAfiAIub0iCkKAgICAwIGA/P8AfSAKQv///////////wCDQoCAgICAgID4/wBWGyEKCyAKQoCAgIBwg0KAgICA4ABRDQMgBSABNwMgIAUgCjcDGCAFIAUpAygiDTcDECAAIA8gDkEDIAVBEGoQISELIAAgChAPIAtCgICAgHCDQoCAgIDgAFENAwJAAkACQAJAAkACQAJAIAQODQABBQIEBQUFAAEFAwQFCyAAIAsQJg0FQoCAgIAQIQgM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AUL///////////8Ag0KAgICAgICA+P8AVhshBQwCCxABAAsgAjAAAEL/////D4MhBQsgB0EQaiQAIAULUgIBfwF+QoCAgIDgACEEIAAgASACEJMBIgMEfiADKAIgIgMoAgwoAiAtAAQEQCACRQRAQgAPCyAAEGtCgICAgOAADwsgAzUCFAVCgICAgOAACwvXAQEDfwJAIAFCgICAgHBUDQAgAaciAy8BBkE5Rw0AIAMoAiAiBEUNACAEQcwAaiEDIARByABqIQUDQCAFIAMoAgAiA0cEQCADKQMQIgFCgICAgGBaBEAgACABpyACEQAACyADKQMYIgFCgICAgGBaBEAgACABpyACEQAACyADKQMgIgFCgICAgGBaBEAgACABpyACEQAACyADKQMoIgFCgICAgGBaBEAgACABpyACEQAACyADQQRqIQMMAQsLIAQoAgRBfnFBBEYNACAAIARBCGogAhDvAwsLBgBB4MYECzABAX8CQCABQoCAgIBwVA0AIAGnIgIvAQZBOUcNACACKAIgIgJFDQAgACACEIcFCwsNACAAIAEgAkE3EP0FCwsAIAAgAUE3EP4FCxYBAX8gAacoAiAiAgRAIAAgAhCIBQsLMQEBfyABpygCICICBEAgACACKAIIEKMFIAAgAikDABAjIABBEGogAiAAKAIEEQAACwvcAQEEfwJAIAFCgICAgHBUDQAgAaciBC8BBkExRw0AIAQoAiAiBkUNAEEAIQQDQCAEQQJGRQRAIAYgBEEDdGoiBUEIaiEDIAVBBGohBQNAIAUgAygCACIDRwRAIAMpAwgiAUKAgICAYFoEQCAAIAGnIAIRAAALIAMpAxAiAUKAgICAYFoEQCAAIAGnIAIRAAALIAMpAxgiAUKAgICAYFoEQCAAIAGnIAIRAAALIANBBGohAwwBCwsgBEEBaiEEDAELCyAGKQMYIgFCgICAgGBUDQAgACABpyACEQAACwuMAQEFfwJAIAFCgICAgHBUDQAgAaciAi8BBkExRw0AIAIoAiAiBEUNAANAIANBAkZFBEAgBCADQQN0aiICQQRqIQUgAigCCCECA0AgAiAFRkUEQCACKAIEIQYgACACEK4CIAYhAgwBCwsgA0EBaiEDDAELCyAAIAQpAxgQIyAAQRBqIAQgACgCBBEAAAsLJQAgBSkDACIBQiCIp0F1TwRAIAGn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IAMpAwAQpgENACAAEJcBIgVCgICAgHCDQoCAgIDgAFENACAAIAJBFGogAykDCBC7ASIGRQRAIAAgBRAPDAELIAAoAtgBIQMgAkIANwIMIAJCgICAgICAgICAfzcCBCACIAM2AgAgAkIBEDAaIAIgAikDKCIBpyIHQf////8DQQEQzAEaIAIgAkJ/Qf////8DQQEQdRogBadBBGoiAyAGIAIQkwUaAkAgBEUgAVByDQAgAkIBEDAaIAIgB0EBa0H/////A0EBEMwBGiADIAIQ0wFBAEgNACACQgEQMBogAiAHQf////8DQQEQzAEaIAMgAyACQf////8DQQEQ5AEaCyACEBsgACAGIAJBFGoQXiAAIAUQzQEhAQsgAkEwaiQAIAEL6hMCAn4BfyMAQdABayIEJAAgACAEEJgFIAEgARA0IgNBqi0CfiAEKQMIIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQCABIANB3+AAAn4gBCkDECICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQboqAn4gBCkDGCICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQagqAn4gBCkDICICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQfooAn4gBCkDKCICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQfrfAAJ+IAQpAzAiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAEgA0HYKAJ+IAQpAzgiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAEgA0G23wACfiAEKQNAIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQCABIANBzSkCfiAEKQNIIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQCABIANBl+AAAn4gBCkDUCICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQeIoAn4gBCkDWCICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQc/fAAJ+IAQpA2AiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAEgA0GGKgJ+IAQpA2giAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAEgA0Gt4AACfiAEKQNwIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQCABIANBxyoCfiAEKQN4IgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQCABIANB8OAAAn4gBCkDgAEiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAEgA0HN4AACfiAEKQOIASICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQZIqAn4gBCkDkAEiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAEgA0G44AACfiAEKQOYASICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQdUqAn4gBCkDoAEiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAEgA0HvJwJ+IAQpA6gBIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQCABIANB6icCfiAEKQOwASICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQeszAn4gBCkDuAEiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAEgA0H7JwJ+IAQpA8ABIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQCABIANBo98AAn4gBCkDyAEiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAMQUyEAIARB0AFqJAAgAAufAgEDfiABQv////9vWARAIAAQJEKAgICA4AAPC0KAgICA4AAhBQJ+IAAgAUE2IAFBABAUIgRCgICAgHCDQoCAgIAwUQRAIABBlAEQLQwBCyAAIAQQNwsiBEKAgICAcIMiBkKAgICA4ABSBH4CfiAAIAFBMyABQQAQFCIBQoCAgIBwg0KAgICAMFEEQCAAQS8QLQwBCyAAIAEQNwsiAUKAgICAcIMiBUKAgICA4ABRBEAgACAEEA9CgICAgOAADwsCQCAGQoCAgICQf1EEQCAEpygCBEH/////B3FFDQELIAVCgICAgJB/UQRAIAGnKAIEQf////8HcUUNAQsgAEHMngEgBEH4mQEQvgEhBAsgACAEIAEQxAIFQoCAgIDgAAsLXwEBfwJAIAFFBEAgAkUNASAAIAIQ2QMPCyACRQRAIAAgACgCAEEBazYCACAAIAAoAgRBCGs2AgQgARCbAQwBCyAAKAIIIAAoAgQgAmpPBH8gASACEPMFBUEACw8LQQALJgAgAQRAIAAgACgCAEEBazYCACAAIAAoAgRBCGs2AgQgARCbAQsLCQAgACABNgIYCygBAX8CQCABpygCICIDRQ0AIAMoAgBBBEYNACAAIANBCGogAhDvAwsLPwEBfwJAIAFCgICAgHBUDQAgAaciAi8BBkEvRw0AIAIoAiAiAkUNACAAIAIQ7AMgAEEQaiACIAAoAgQRAAALC0cBAX8CQCABpygCICIDRQ0AIAMpAwAiAUKAgICAYFoEQCAAIAGnIAIRAAALIAMpAwgiAUKAgICAYFQNACAAIAGnIAIRAAALCzABAX8gAacoAiAiAgRAIAAgAikDABAjIAAgAikDCBAjIABBEGogAiAAKAIEEQAACwsnAQF/IAGnKAIgIgIEQCAAIAIpAwAQIyAAQRBqIAIgACgCBBEAAAsLWgECfyABpygCICICBEACQCACKQMAIgFCgICAgHBUDQAgAactAAVBAnENACACKAIMIgNFDQAgACADEOoDIAIpAwAhAQsg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ACIGRQ0AIAYtAAVBAXFFDQAgACAGIAIRAAALIANBAWohAwwACwALIAAgBCACEQAACwt8AQN/IAGnIgIoAigiAwRAIAAgA61CgICAgHCEECMLIAIoAiAiAwRAIAIoAiQiBARAQQAhAgNAIAIgAygCPE5FBEAgACAEIAJBAnRqKAIAEOsBIAJBAWohAgwBCwsgAEEQaiAEIAAoAgQRAAALIAAgA61CgICAgGCEECMLCxIAIAGnKAIgIgAEQCAAEKQDCwseACABpykDICIBQoCAgIBgWgRAIAAgAacgAhEAAAsLGQAgACABpyIAKQMgECMgAEKAgICAMDcDIAtEAQJ/IAGnIQQDQCAEKAIoIANLBEAgBCgCJCADQQN0aikDACIBQoCAgIBgWgRAIAAgAacgAhEAAAsgA0EBaiEDDAELCwtGAQN/IAGnIQMDQCADKAIkIQQgAiADKAIoT0UEQCAAIAQgAkEDdGopAwAQIyACQQFqIQIMAQsLIABBEGogBCAAKAIEEQAAC2kBAn8jAEEQayIHJAACfwJAIAGnIggtAAVBCHFFDQAgACAHQQxqIAIQrAFFDQAgBygCDCAIKAIoTw0AQX8gACAIEJIDDQEaCyAAIAEgAiADIAQgBSAGQYCACHIQbQshACAHQRBqJAAgAAuBAgIDfwF+AkACQCACQQBODQAgAacpAyAiCkKAgICAcINCgICAgJB/Ug0AIAJB/////wdxIgggCqciBykCBCIKp0H/////B3FPDQACQEEEIAYQkwNFDQBBASECIAZBgMAAcUUNAiADQoCAgIBwg0KAgICAkH9SDQAgA6ciCSkCBCIBQv////8Hg0IBUg0AIAdBEGohBwJ/IApCgICAgAiDUEUEQCAHIAhBAXRqLwEADAELIAcgCGotAAALAn8gAUKAgICACINQRQRAIAkvARAMAQsgCS0AEAtGDQILIAAgBkHh6QAQbw8LIAAgASACIAMgBCAFIAZBgIAIchBtIQILIAILRgACfwJAIAJBAE4NACABpykDICIBQoCAgIBwg0KAgICAkH9SDQBBACACQf////8HcSABpygCBEH/////B3FJDQEaC0EBCwuzAQECfwJAIANBAE4NACACpykDICICQoCAgIBwg0KAgICAkH9SDQAgA0H/////B3EiAyACpyIEKQIEIgKnQf////8HcU8NAEEBIQUgAUUNACAEQRBqIQQCfyACQoCAgIAIg1BFBEAgBCADQQF0ai8BAAwBCyADIARqLQAACyEDIAFBBDYCACAAIANB//8DcRCfAyECIAFCgICAgDA3AxggAUKAgICAMDcDECABIAI3AwgLIAULWwECfyABpygCECIAQTBqIQMgACAAKAIYIAJxQX9zQQJ0aigCACEAA0ACQCAARQ0AIAMgAEEBa0EDdGoiBCgCBCACRg0AIAQoAgBB////H3EhAAwBCwsgAEEARws1AQF+IAEpAwAiAkIgiKdBdU8EQCACpyIBIAEoAgBBAWo2AgALIAAgAhCKAUKAgICA4AAQUwuOAQECfyABKAIAIgJBAEoEQCABIAJBAWsiAjYCAAJAIAINACABLQAEQfABcUEQRw0AIAEoAggiAiABKAIMIgM2AgQgAyACNgIAIAFBADYCCCAAKAJgIgIgAUEIaiIDNgIEIAEgAEHgAGo2AgwgASACNgIIIAAgAzYCYAsPC0HFjQFBrvwAQbAsQc/0ABAAAAtvAQJ/IAEgASgCACICQQFqNgIAIAJFBEAgASgCCCICIAEoAgwiAzYCBCADIAI2AgAgAUEANgIIIAAoAlAiAiABQQhqIgM2AgQgASAAQdAAajYCDCABIAI2AgggACADNgJQIAEgAS0ABEEPcToABAsLDwAgASABKAIAQQFqNgIAC4gBAgF+AX9BACECQoCAgIAwIQEDQAJAIAJBAkcEfiAFIAJBA3QiBGoiBzUCBEIghkKAgICAMFENASAAQawuQQAQFUKAgICA4AAFQoCAgIAwCw8LIAMgBGopAwAiBkIgiKdBdU8EQCAGpyIEIAQoAgBBAWo2AgALIAcgBjcDACACQQFqIQIMAAsAC1wBAn4gAiAAKAIAEC0hA0EAIQAgA0KAgICAcINCgICAgOAAUSACIAEoAgAQLSIEQoCAgIBwg0KAgICA4ABRckUEQCADpyAEpxCDAiEACyACIAMQDyACIAQQDyAAC2sBAX4CQAJAAkACQAJAIAMtAAUiAQ4EAwICAAELIAAgAygCCBDKBA8LIAFBCEYNAgsQAQALIAAgAygCDCADKAIAIAMtAAggAy0ACSADLgEGEIIBDwsgACAAEDQiBCADKAIIIAMoAgwQIiAECwkAIAAgAxCNAwtTAQF+IAAQNCIEQoCAgIBwg0KAgICA4ABSBEAgASABKAIAQQFqNgIAIAAgBEE8IAGtQoCAgIBwhEEDEBlBAE4EQCAEDwsgACAEEA8LQoCAgIDgAAsDAAELagEBfyMAQRBrIgMkACABKAIEIQEgAiADQQxqIAAoAgQQrAFBACACIANBCGogARCsARtFBEBB0MUAQa78AEGDOkH8yQAQAAALIAMoAgghACADKAIMIQEgA0EQaiQAQX8gACABRyAAIAFLGwvaAwICfgF/IwBBIGsiBSQAAkACQCAAIAFBLBBLIgJFDQBCgICAgDAhAQJAIAIpAwAiBkKAgICAcINCgICAgDBSBEACfwJAIAanIgMvAQZBFWtB//8DcUEKTQRAIAMoAiAoAgwoAiAtAARFDQEgABBrDAULIAAgBUEcaiAGENYBDQQgBUEcagwBCyADQShqCyEIIAIoAgwiAyAIKAIASQ0BIAAgAikDABAPIAJCgICAgDA3AwALIARBATYCAAwCCyACIANBAWo2AgwgBEEANgIAIAIoAghFBEAgA0EATgRAIAOtIQEMAwtCgICAgMB+IAO4vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbIQEMAgtCgICAgOAAIQEgACACKQMAIAMQsAEiBkKAgICAcINCgICAgOAAUQ0BIAIoAghBAUYEQCAGIQEMAgsgBSAGNwMIIAUgA0EATgR+IAOtBUKAgICAwH4gA7i9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsLIgc3AwAgAEECIAUQiQMhASAAIAYQDyAAIAcQDwwBCyAEQQA2AgBCgICAgOAAIQELIAVBIGokACABCxAAIwAgAGtBcHEiACQAIAALBgAgACQACwQAIwAL7gICBH8CfiMAQRBrIgMkAAJAAkAgAikDECIHQoCAgIBwg0KAgICAkH9SBEAgAEGDlAFBABAVDAELIAIpAxghCCAAIAcQswEiBEUEQEEAIQQMAQsgACAIELMBIgZFDQACQCAAIAQgBhDJBSIBRQ0AIAAgARD+A0EASARAIABBARCPBAwBCyABIAEoAgBBAWo2AgAgACABrUKAgICAUIQgACkDwAFBAEEAEMgFIgdCgICAgHCDQoCAgIDgAFENACAAIAcQDyABIQULIAAgBhBUIAVFDQAgAyAAIAUQjQMiBzcD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ACEEIANCADcCaCADQoCAgICAgICAgH83AmAgAyAENgJcIANB3ABqIgUgARBEGiADQgA3AlQgA0KAgICAgICAgIB/NwJMIAMgBDYCSCADKAJkIQYgA0EANgJkIANByABqIgFCqtWq1QoQMBogA0EANgJQIAUgARCyAgRAIAMgAygCZEEBajYCZCAGQQFrIQYLIANByABqEBsgAkEBakEBdhCVBiEFIANCADcCVCADQoCAgICAgICAgH83AkwgAyAENgJIIANCADcCQCADQoCAgICAgICAgH83AjggAyAENgI0IANB3ABqIgEgAUJ/Qf////8DQQAQdRogBUEAIAVBAEobIQkgAiAFaiACIAVBAXRuQQFqIgpBAXRqQSBqIQJBACEBA0AgASAJRkUEQCADQcgAaiIHIANB3ABqIghCASACQQAQdRogA0E0aiILIAcgAkEGEJEGIAcgC0IBIAJBABB1GiAIIAggByACQQAQlQEaIAFBAWohAQwBCwsgA0IANwIsIANCgICAgICAgICAfzcCJCADIAQ2AiAgA0IANwIYIANCgICAgICAgICAfzcCECADIAQ2AgwgA0EgaiIBIANB3ABqIgRCAiACQQAQdRogASAEIAEgAkEAEJUBGiADQQxqIAEgASACQQAQQxogAEIAEDAaIAqsIQwDQCAMQgBXRQRAIANByABqIgFCARAwGiADQTRqIgQgDKdBAXRBAXKsEDAaIAEgASAEIAJBABCVARogACAAIAEgAkEAEMsBGiAAIAAgA0EMaiACQQAQQxogDEIBfSEMDAELCyAAIABCASACQQAQdRogACAAIANBIGoiASACQQAQQxogARAbIANBDGoQGyADQTRqEBsgA0HIAGoQGyAAIAVBAWpB/////wNBARDMARogA0HcAGoiASACQQYQ0wIgASABIAasIAJBABDUAiAAIAAgASACQQAQywEaIAEQGyADQfAAaiQAQRAPC0HY/QBB1PwAQdciQajWABAAAAsRACAAIAEgAiADIARBABCWBgsRACAAIAEgAiADIARBARCWBgvYAwEHfyACKAIEIAEoAgRzIQcCQAJAAkACQAJAAkACQCABKAIIIgZB/f///wdMBEAgAigCCCIFQf3///8HSg0BIAZBgICAgHhHDQYgBUGAgICAeEYNBAwHCyAGQf////8HRg0BIAIoAggh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gICAMEEBENQFDQIgACABEA8LIAJBAWohAgwACwALIAAgBBAPIAAgARAPQoCAgIDgAAsYACAAIAMpAwAgAykDCBBSrUKAgICAEIQL4gICA34DfyMAQSBrIgIkAEKAgICA4AAhBCAAIAMpAwAQJSIFQoCAgIBwg0KAgICA4ABSBEBCgICAgDAhAQJAAkAgACACQRxqIAJBGGogBadBAxCOAQ0AQoCAgIDgACEBIAAQNCIEQoCAgIBwg0KAgICA4ABRDQAgAigCHCEHIAIoAhghCEEAIQMDQCADIAhHBEACQAJAIAAgByADQQN0aiIJKAIEEFwiAUKAgICAcINCgICAgOAAUQ0AIAIgATcDCCACIAU3AwAgACAEIAAgAkEAEMYEIQYgACABEA8gBkKAgICAcIMiAUKAgICAMFENASABQoCAgIDgAFENACAAIAQgCSgCBCAGQYeAARAZQQBODQELIAQhAQwDCyADQQFqIQMMAQsLIAAgByAIEFogBSEBDAELIAAgAigCHCACKAIYEFogACAFEA9CgICAgOAAIQQLIAAgARAPCyACQSBqJAAgBAsQACAAIAMpAwBBESAEEKoCCxAAIAAgAykDAEECQQAQqgILEAAgACADKQMAQQFBABCqAgtHAQF+QoCAgIDgACEEIAAgAykDACIBIAMpAwgQrgYEfkKAgICA4AAFIAFCIIinQXVPBEAgAaciACAAKAIAQQFqNgIACyABCwtBACAAIAMpAwAiASADKQMIQQEQiwJBAEgEQEKAgICA4AAPCyABQiCIp0F1TwRAIAGnIgAgACgCAEEBajYCAAsgAQuJAQEBfiADKQMAIgFC/////29WIAFCgICAgHCDQoCAgIAgUXJFBEAgAEG35ABBABAVQoCAgIDgAA8LAkAgACABEEciAUKAgICAcINCgICAgOAAUgRAIAMpAwgiBEKAgICAcINCgICAgDBRDQEgACABIAQQrgZFDQEgACABEA8LQoCAgIDgAA8LIAELpQQCBX8CfiMAQSBrIgUkACAAIAVBCGoiBkEAED0aIAZBKBA7GiAEQX5xQQJGBEAgBUEIakHxmQEQiAEaCyAFQQhqQbrMABCIARogBEF9cUEBRgRAIAVBCGpBKhA7GgsgBUEIakGvlAEQiAEaQQAhBiACQQFrIgdBACAHQQBKGyEIAkACQAJAA0AgBiAIRwRAIAYEQCAFQQhqQSwQOxoLIAZBA3QhCSAGQQFqIQYgBUEIaiADIAlqKQMAEIcBRQ0BDAILCyAFQQhqQYaaARCIARogAkEASgRAIAVBCGogAyAHQQN0aikDABCHAQ0BCyAFQQhqIgJBiZEBEIgBGkKAgICAMCELIAIQNiIKQoCAgIBwg0KAgICA4ABRDQEgACAAKQPAASAKQQNBfxCcAyELIAAgChAPIAtCgICAgHCDQoCAgIDgAFENASABQoCAgIBwg0KAgICAMFENAiAAIAFBOyABQQAQFCIKQoCAgIBwg0KAgICA4ABRDQECQCAKQv////9vVg0AIAAgChAPIAAgARCAAyICRQ0CIAIoAiggBEEBdEGuwAFqLwEAQQN0aikDACIKQiCIp0F1SQ0AIAqnIgIgAigCAEEBajYCAAsgACALIApBARCLAiECIAAgChAPIAJBAE4NAgwBCyAFKAIIKAIQIgJBEGogBSgCDCACKAIEEQAAQoCAgIAwIQsLIAAgCxAPQoCAgIDgACELCyAFQSBqJAAgCwuAAgICfgF/IwBBIGsiByQAQoCAgIDgACEFAkACQCAAIAEQJSIBQoCAgIBwg0KAgICA4ABRDQAgACADKQMAEDEiA0UNAANAIAAgByABpyADEEwiAkEASA0CIAIEQEKAgICAMCEFAkAgBy0AAEEQcUUNACAHQRhBECAEG2opAwAiBUIgiKdBdUkNACAFpyICIAIoAgBBAWo2AgALIAAgBxBIDAMLIAAgARCMAiIBQoCAgIBwgyIGQoCAgIAgUgRAIAZCgICAgOAAUQRAIAYhBQwECyAAEHtFDQEMAwsLQoCAgIAwIQUMAQtBACEDCyAAIAMQEyAAIAEQDyAHQSBqJAAgBQuxAQEDfiADKQMIIQUgAykDACEGQoCAgIDgACEHAkAgACABECUiAUKAgICAcINCgICAgOAAUgR+IAAgBRBgDQEgACAGEDEiAkUNASAAIAEgAkKAgICAMEKAgICAMCAFIAQbIAVCgICAgDAgBBtBhaoBQYWaASAEGxBtIQMgACABEA8gACACEBNCgICAgOAAQoCAgIAwIANBAEgbBUKAgICA4AALDwsgACABEA9CgICAgOAAC3IBAX5CgICAgDAhAyABQoCAgIAQhEKAgICAcINCgICAgDBRBEAgABAkQoCAgIDgAA8LIAJCgICAgHCDQoCAgIAgUiACQv////9vWHEEfkKAgICAMAVCgICAgOAAQoCAgIAwIAAgASACQQEQiwJBAEgbCwsyAQF+IAAgARAlIgFCgICAgHCDQoCAgIDgAFEEQCABDwsgACABEOgBIQIgACABEA8gAgugAQIBfgF/IwBBIGsiAiQAQoCAgIDgACEEAkACQCAAIAEQJSIBQoCAgIBwg0KAgICA4ABRDQAgACADKQMAEDEiA0UNACAAIAIgAacgAxBMIgVBAEgNASAFRQRAQoCAgIAQIQQMAgsgAjUCACEEIAAgAhBIIARCAohCAYNCgICAgBCEIQQMAQtBACEDCyAAIAMQEyAAIAEQDyACQSBqJAAgBAvBAQECfgJAAn5CgICAgBAgAykDACIEQoCAgIBwVA0AGkKAgICA4AAgACABECUiAUKAgICAcINCgICAgOAAUQ0AGiAEpyICIAIoAgBBAWo2AgAgAachAgNAIAAgBBCMAiIEQoCAgIBwgyIFQoCAgIDgAFIEQCACIASnRiAFQoCAgIAgUXINAyAAEHtFDQELCyAAIAQQDyAAIAEQD0KAgICA4AALDwsgACAEEA8gACABEA8gBUKAgICAIFKtQoCAgIAQhAt6AQF+IAAgAykDABAxIgJFBEBCgICAgOAADwtCgICAgOAAIQQgACABECUiAUKAgICAcINCgICAgOAAUQRAIAAgAhATIAEPCyAAQQAgAacgAhBMIQMgACACEBMgACABEA9CgICAgOAAIANBAEetQoCAgIAQhCADQQBIGwsIACAAIAEQJQsPACAAIAFBN0EAQQAQrAILLQEBfkKAgICAMCECAkAgARCjAyIARQ0AIAAtABJBBHFFDQAgADUCRCECCyACCzMCAX4Bf0KAgICAMCECAkAgARCjAyIDRQ0AIAMtABJBBHFFDQAgACADKAJAEC0hAgsgAgsoAEKAgICA4AAgACADKQMAIAEQvgUiAEEAR61CgICAgBCEIABBAEgbC7cBAgF+An9CgICAgOAAIQQgACABEGAEfkKAgICA4AAFQcqZASECAkAgAaciAy8BBhDuAUUNAAJAIAMoAiAiAy8AESIFQYAIcUUNACADKAJUIgZFDQAgACAGIAMoAkgQkwIPCyAFQQR2QQNxQQFrIgNBAksNACADQQJ0QfT/AWooAgAhAgsgACACIAAgAUE2IAFBABAUIgFCgICAgHCDQoCAgIAwUQR+IABBLxAtBSABC0G+GRC+AQsL6QUDA34GfwN8AkACfkKAgICA4AAgACABEGANABpCgICAgOAAIAAgACkDMEEOEEkiBUKAgICAcINCgICAgOAAUQ0AGiAFpyIKIAFCgICAgHBaBH8gAactAAVBEHEFQQALIAotAAVB7wFxcjoABSAAQQEgAiACQQFMGyILQQFrIghBA3RBGGoQKSIHRQ0BIAFCIIinQXVPBEAgAaciAiACKAIAQQFqNgIACyAHIAE3AwAgAykDACIEQiCIp0F1TwRAIASnIgIgAigCAEEBajYCAAsgByAINgIQIAcgBDcDCEEAIQIDQCACIAhHBEAgAyACQQFqIglBA3RqKQMAIgRCIIinQXVPBEAgBKciDCAMKAIAQQFqNgIACyAHIAJBA3RqIAQ3AxggCSECDAELCyAKIAc2AiAgAUL/////b1gEQCAAECQMAgsgAEEAIAGnQTAQTCICQQBIDQFCACEEAkAgAkUNACAAIAFBMCABQQAQFCIGQoCAgIBwg0KAgICA4ABRDQIgBkL/////D1gEQCAGpyICIAhrQQAgAiALThutIQQMAQsgBkIgiKdBB2tBbU0EQAJAIAZCgICAgMCBgPz/AHwiBEL///////////8Ag0KAgICAgICA+P8AVg0AIAS/nSIOIAi3Ig9lDQAgDiAPoSENCyANvSIEAn8gDZlEAAAAAAAA4EFjBEAgDaoMAQtBgICAgHgLIgK3vVEEQCACrSEEDAILQoCAgIDAfiAEQoCAgIDAgYD8/wB9IARC////////////AINCgICAgICAgPj/AFYbIQQMAQsgACAGEA8LIAAgBUEwIARBARAZGiAAQdSZASAAIAFBNiABQQAQFCIEQoCAgIBwgyIBQoCAgICQf1IEfiABQoCAgIDgAFENAiAAIAQQDyAAQS8QLQUgBAtBzJ4BEL4BIgFCgICAgHCDQoCAgIDgAFENASAAIAVBNiABQQEQGRogBQsPCyAAIAUQD0KAgICA4AALMAAgAkEATARAIAAgAUKAgICAMEEAQQAQIQ8LIAAgASADKQMAIAJBAWsgA0EIahAhC6MCAgF/BH4jAEEQayIFJABCgICAgDAhBgJAAkAgACAFQQhqIAAgARAlIgkQPA0AIAVBATYCBAJAIAQEQCAD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gDBSBEAgB0KAgICA4ABRDQcgACABECYMAQsgACAFEMoBCyICQQBIDQUgAkUNACAAIAkgBRA8DQUgCSkDACIHIAR8Qv////////8PVQ0EQgAhASAHQgAgB0IAVRshBwNAIAEgB1ENAiAAIAUgASAJQQhqEIUBIgJBAEgNBiACBEAgACAGIAQgCSkDCBBqQQBIDQcLIARCAXwhBCABQgF8IQEMAAsACyAEQv7///////8PVQ0DIAVCIIinQXVPBEAgBaciAiACKAIAQQFqNgIACyAAIAYgBCAFEGpBAEgNBCAEQgF8IQQLIApBAWohCgwBCwsgACAGQTAgBEKAgICACHxC/////w9YBH4gBEL/////D4MFQoCAgIDAfiAEub0iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwsQRUEASA0BDAILIABB0NoAQQAQFQsgACAGEA9CgICAgOAAIQYLIAAgCBAPIAlBEGokACAGC7ECAgR+An8jAEEQayIIJABCgICAgOAAIQUCQAJ+AkAgAUKAgICAcFQNACABpy0ABUEQcUUNACAIIAKtNwMIIAAgAUEBIAhBCGoQpwEMAQsgABA+CyIEQoCAgIBwg0KAgICA4ABRDQAgAkEAIAJBAEobrSEHQgAhAQJAA0AgASAHUgRAIAMgAadBA3RqKQMAIgZCIIinQXVPBEAgBqciCSAJKAIAQQFqNgIACyAAIAQgASAGQYCAARDSASEJIAFCAXwhASAJQQBODQEMAgsLIAAgBEEwIAJBAE4EfiACrQVCgICAgMB+IAK4vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbCxBFQQBIDQAgBCEFDAELIAAgBBAPCyAIQRBqJAAgBQu6CQICfwh+IwBBMGsiBCQAIAMpAwAhBiAEQoCAgIAwNwMYQQEhBQJAAkACfiACQQJIBEBCgICAgDAhDEKAgICAMAwBC0KAgICAMCADKQMIIgxCgICAgHCDQoCAgIAwUQ0AGkKAgICAMCEKQoCAgIAwIQlCgICAgDAhCEKAgICAMCELIAAgDBBgDQFBACEFQoCAgIAwIAJBA0kNABogAykDEAshDQJAAkACQAJAIAAgBkHRASAGQQAQFCIHQoCAgIBwgyIIQoCAgIAwUgRAAkACQCAIQoCAgIDgAFEEQEKAgICAMCEKQoCAgIAwIQlCgICAgDAhCAwBCyAAIAcQDwJ+AkAgAUKAgICAcFQNACABpy0ABUEQcUUNACAAIAFBAEEAEKcBDAELIAAQPgsiCEKAgICAcINCgICAgOAAUQRAQoCAgIAwIQpCgICAgDAhCQwBCyAGQiCIp0F1TwRAIAanIgIgAigCAEEBajYCAAsgBCAGNwMQIAAgBEEQakEIckEAEJkDIQIgBCkDGCEKIAQpAxAhCSACRQ0BC0KAgICAMCELDAYLQgAhBwNAIAAgCSAKIARBCGoQrgEiBkKAgICAcINCgICAgOAAUQ0CIAQoAggEQEKAgICAMCELDAYLAkAgBQRAIAYhAQwBCyAEIAY3AyAgBCAHQv////8PgzcDKCAAIAwgDUECIARBIGoQISEBIAAgBhAPIAFCgICAgHCDQoCAgIDgAFENAwsgACAIIAcgARBqQQBIDQIgB0IBfCEHDAALAAsgACAGECUiC0KAgICAcINCgICAgOAAUQ0CIAAgBEEIaiALEDxBAEgNAiAEAn4gBCkDCCIGQoCAgIAIfEL/////D1gEQCAGQv////8PgwwBC0KAgICAwH4gBrm9IgdCgICAgMCBgPz/AH0gB0L///////////8Ag0KAgICAgICA+P8AVhsLIgc3AyACfgJAIAFCgICAgHBUDQAgAactAAVBEHFFDQAgACABQQEgBEEgahCnAQwBCyAAQoCAgIAwQQEgBEEgahCuAwshCCAAIAcQDyAIQoCAgIBwg0KAgICA4ABRBEBCgICAgDAhCgwCC0IAIQcgBkIAIAZCAFUbIQkDQCAHIAlRBEBCgICAgDAhCkKAgICAMCEJDAULQoCAgIAwIQogACALIAcQcyIGQoCAgIBwg0KAgICA4ABRDQICQCAFBEAgBiEBDAELIAQgBjcDICAEIAdC/////w+DNwMoIAAgDCANQQIgBEEgahAhIQEgACAGEA8gAUKAgICAcINCgICAgOAAUQ0DCyAAIAggByABEGpBAEgNAiAHQgF8IQcMAAsAC0KAgICAMCELIAlCgICAgHCDQoCAgIAwUQ0DIAAgCUEBEK0BGgwDC0KAgICAMCEJDAILQoCAgIAwIQpCgICAgDAhCUKAgICAMCEIDAELIAAgCEEwIAenIgJBAE4EfiAHQv////8PgwVCgICAgMB+IAK4vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbCxBFQQBODQELIAAgCBAPQoCAgIDgACEICyAAIAsQDyAAIAkQDyAAIAoQDyAEQTBqJAAgCAsmAEKAgICA4AAgACADKQMAEMoBIgBBAEetQoCAgIAQhCAAQQBIGwuAAQAjAEEQayIAJAAgABCjBAJ+IAA0AgggACkDAELAhD1+fCIBQoCAgIAIfEL/////D1gEQCABQv////8PgwwBC0KAgICAwH4gAbm9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsLIQEgAEEQaiQAIAELxwIBBX8jAEEgayIEJAAgACADKQMAECgiAUKAgICAcINCgICAgOAAUgRAIAAgBEEIakEAED0aIAGnIgVBEGohBiAFKAIEQf////8HcSEHQQAhAwNAIAMgB05FBEACQAJ/IAUpAgRCgICAgAiDUCIIRQRAIAYgA0EBdGovAQAMAQsgAyAGai0AAAsiAkElRw0AAkAgA0EGaiAHSg0AIANBAWohAgJ/IAhFBEAgBiACQQF0ai8BAAwBCyACIAZqLQAAC0H1AEcNACAFIANBAmpBBBC4BCICQQBIDQAgA0EFaiEDDAELQSUhAiADQQNqIAdKDQAgBSADQQFqQQIQuAQiAkElIAJBAE4iCBshAiADQQJqIAMgCBshAwsgBEEIaiACEIsBGiADQQFqIQMMAQsLIAAgARAPIARBCGoQNiEBCyAEQSBqJAAgAQvkAQEEfyMAQSBrIgIkACAAIAMpAwAQKCIBQoCAgIBwg0KAgICA4ABSBEAgACACQQhqIAGnIgUoAgRB/////wdxED0aIAVBEGohBiAFKAIEQf////8HcSEHQQAhAwNAIAMgB0ZFBEACQAJAAkAgBS0AB0GAAXFFBEAgAyAGai0AACEEDAELIAYgA0EBdGovAQAiBEH/AUsNAQtBkOEBIARBxQAQ+wFFDQAgAkEIaiAEEIsBGgwBCyACQQhqIAQQmgILIANBAWohAwwBCwsgACABEA8gAkEIahA2IQELIAJBIGokACABC84EAgZ/AX4jAEEgayIGJAACQCAAIAMpAwAQKCIBQoCAgIBwg0KAgICA4ABRDQAgACAGQQhqIAGnIgkoAgRB/////wdxED0aIAlBEGohCEEAIQICQANAIAkpAgQiC6dB/////wdxIgogAkoEQCACQQFqIQUCQAJAIAtCgICAgAiDIgtQBEAgAiAIai0AACEDDAELIAggAkEBdGovAQAiA0H/AUsNAQsCQCADQTBrQQpJIANB3/8DcUHBAGtBGklyDQBBpZQBIANBCRD7AQ0AIAQNASADELIGRQ0BCyAGQQhqIAMQiwEaIAUhAgwCCwJ/An8CQCADQYD4A3EiB0GAsANHBEAgB0GAuANHDQFBv8MAIQcMBgtB5MAAIQcgBSAKTg0FAn8gC1BFBEAgCCAFQQF0ai8BAAwBCyAFIAhqLQAACyIFQYDAA2tBgHhJDQUgBkEIaiAFQf8HcSADQQp0QYD4P3FyQYCABGoiA0ESdkHwAXIQmgIgA0EMdkE/cUGAAXIhByACQQJqDAELIANB/wBNBEAgBkEIaiADEJoCIAUhAgwECyADQf8PTQRAIAUhAiADQQZ2QcABcgwCCyADQQx2QeABciEHIAULIQIgBkEIaiAHEJoCIANBBnZBP3FBgAFyCyEHIAZBCGoiBSAHEJoCIAUgA0E/cUGAAXIQmgIMAQsLIAAgARAPIAZBCGoQNiEBDAELIAAgBxC5BCAAIAEQDyAGKAIIKAIQIgBBEGogBigCDCAAKAIEEQAAQoCAgIDgACEBCyAGQSBqJAAgAQuVBAIGfwF+IwBBIGsiBSQAAkAgACADKQMAECgiAUKAgICAcINCgICAgOAAUQ0AIAAgBUEIakEAED0aIAGnIghBEGohCUEAIQIDQAJAAkACQCAIKQIEIgunQf////8HcSACSgRAAn8gC0KAgICACINQRQRAIAkgAkEBdGovAQAMAQsgAiAJai0AAAsiA0ElRgRAIAAgCCACELMGIgNBAEgNAyACQQNqIQYgA0H/AE0EQCAEBEAgBiECDAYLQSUgAyADELIGIgcbIQMgAkEBaiAGIAcbIQIMBQsCfyADQWBxQcABRgRAIANBH3EhA0GAASEHQQEMAQsgA0FwcUHgAUYEQCADQQ9xIQNBgBAhB0ECDAELIANBeHFB8AFHBEBBASEHQQAhA0EADAELIANBB3EhA0GAgAQhB0EDCyECA0AgAkEATA0DIAAgCCAGELMGIgpBAEgNBCAGQQNqIQYgCkHAAXFBgAFHBEBBACEDDAQFIAJBAWshAiAKQT9xIANBBnRyIQMMAQsACwALIAJBAWohAgwDCyAAIAEQDyAFQQhqEDYhAQwECyAGIQIgAyAHSCADQf//wwBKckUgA0GAcHFBgLADR3ENASAAQcmJARC5BAsgACABEA8gBSgCCCgCECIAQRBqIAUoAgwgACgCBBEAAEKAgICA4AAhAQwCCyAFQQhqIAMQuQEaDAALAAsgBUEgaiQAIAELNwAgACADKQMAELMBIgJFBEBCgICAgOAADwsgACACEIECIAJqQQBBCkEAELgCIQEgACACEFQgAQuHAQEBfyMAQRBrIgIkAAJAIAAgAykDABCzASIERQRAQoCAgIDgACEBDAELAn5CgICAgOAAIAAgAkEMaiADKQMIEHcNABogAigCDCIDBEBCgICAgMB+IANBJWtBXUkNARoLIAAgBBCBAiAEakEAIANBgQgQuAILIQEgACAEEFQLIAJBEGokACABCwkAIAAgARDdAgujAQIBfgF/IwBBEGsiAiQAAn4gACABEN0CIgVCgICAgHCDQoCAgIDgAFEEQCAFDAELQQohBgJAAkAgBA0AIAMpAwAiAUKAgICAcINCgICAgDBRDQAgACABEI4FIgZBAEgNAQtCgICAgOAAIAAgAkEIaiAFEG4NARogACACKwMIIAZBAEEAEI8CDAELIAAgBRAPQoCAgIDgAAshASACQRBqJAAgAQuMAgIBfgF8IwBBEGsiAiQAQoCAgIDgACEEAkAgACABEN0CIgFCgICAgHCDQoCAgIDgAFEEQCABIQQMAQsgACACIAEQbg0AAkACQCADKQMAIgFCgICAgHCDQoCAgIAwUQRAIAIpAwAhAQwBCyAAIAJBDGogARC6AQ0CIAIrAwAiBb0iAUKAgICAgICA+P8Ag0KAgICAgICA+P8AUg0BCyAAQoCAgIDAfiABQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbEDchBAwBCyACKAIMIgNB5QBrQZt/TQRAIABBijRBABBQDAELIAAgBUEKIANBARCPAiEECyACQRBqJAAgBAvYAQIBfgF8IwBBEGsiAiQAQoCAgIDgACEEAkAgACABEN0CIgFCgICAgHCDQoCAgIDgAFEEQCABIQQMAQsgACACIAEQbg0AIAAgAkEMaiADKQMAELoBDQAgAigCDCIDQeUATwRAIABBijRB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LUiv7z8IIKpBvMOOPCdaYe4buu8/Muupw5QrhDyXums3K8XvP+6F0TGpZIo8QEVuW3bQ7z/t4zvkujeOvBS+nK392+8/nc2RTTuJdzzYkJ6BwefvP4nMYEHBBVM88XGPK8Lz7z8AAAAAAADwPwAAAAAAAPg/AAAAAAAAAAAG0M9D6/1MPgBBmxkL54UBQAO44j8oKXt9ACgpe3N1cGVyKC4uLmFyZ3VtZW50cyk7fQAoKSB7CiAgICBbbmF0aXZlIGNvZGVdCn0AY2Fubm90IG1peCA/PyB3aXRoICYmIG9yIHx8AGN0egBwcm94eTogcHJvcGVydHkgbm90IHByZXNlbnQgaW4gdGFyZ2V0IHdlcmUgcmV0dXJuZWQgYnkgbm9uIGV4dGVuc2libGUgcHJveHkAcmV2b2tlZCBwcm94eQBQcm94eQBhZGRfcHJvcGVydHkAcHJveHk6IGNhbm5vdCBzZXQgcHJvcGVydHkAbm8gc2V0dGVyIGZvciBwcm9wZXJ0eQB2YWx1ZSBoYXMgbm8gcHJvcGVydHkAY291bGQgbm90IGRlbGV0ZSBwcm9wZXJ0eQBwcm94eTogZHVwbGljYXRlIHByb3BlcnR5AEpTX0RlZmluZUF1dG9Jbml0UHJvcGVydHkAaGFzT3duUHJvcGVydHkAcHJveHk6IGluY29uc2lzdGVudCBkZWxldGVQcm9wZXJ0eQBwcm94eTogaW5jb25zaXN0ZW50IGRlZmluZVByb3BlcnR5AEpTX0RlZmluZVByb3BlcnR5ACFtci0+ZW1wdHkAaW5maW5pdHkASW5maW5pdHkAb3V0IG9mIG1lbW9yeQB1bmtub3duIHVuaWNvZGUgZ2VuZXJhbCBjYXRlZ29yeQBHZW5lcmFsX0NhdGVnb3J5AGV2ZXJ5AGFueQBhcHBseQAnJXMnIGlzIHJlYWQtb25seQBleHBlY3RpbmcgY2F0Y2ggb3IgZmluYWxseQBzdGlja3kAYmlnaW50IGFyZSBmb3JiaWRkZW4gaW4gSlNPTi5zdHJpbmdpZnkAc3ViYXJyYXkAZW1wdHkgYXJyYXkAbm9uIGludGVnZXIgaW5kZXggaW4gdHlwZWQgYXJyYXkAbmVnYXRpdmUgaW5kZXggaW4gdHlwZWQgYXJyYXkAb3V0LW9mLWJvdW5kIGluZGV4IGluIHR5cGVkIGFycmF5AGNhbm5vdCBjcmVhdGUgbnVtZXJpYyBpbmRleCBpbiB0eXBlZCBhcnJheQBpc0FycmF5AFR5cGVkQXJyYXkAZ2V0RGF5AGdldFVUQ0RheQBqc19nZXRfYXRvbV9pbmRleABpbnZhbGlkIGFycmF5IGluZGV4AG91dC1vZi1ib3VuZCBudW1lcmljIGluZGV4AEpTX0F0b21Jc0FycmF5SW5kZXgAZmluZEluZGV4AGludmFsaWQgZXhwb3J0IHN5bnRheABpbnZhbGlkIGFzc2lnbm1lbnQgc3ludGF4AG1heABcdSUwNHgAaW52YWxpZCBvcGNvZGU6IHBjPSV1IG9wY29kZT0weCUwMngALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABsaW5lIHRlcm1pbmF0b3Igbm90IGFsbG93ZWQgYWZ0ZXIgdGhyb3cAYmZfcG93AG5vdwBpbnRlZ2VyIG92ZXJmbG93AHN0YWNrIG92ZXJmbG93AG11c3QgYmUgY2FsbGVkIHdpdGggbmV3AGlzVmlldwBEYXRhVmlldwByYXcAdGRpdgBmZGl2AGVkaXYAY2RpdgAldQBjbGFzcyBkZWNsYXJhdGlvbnMgY2FuJ3QgYXBwZWFyIGluIHNpbmdsZS1zdGF0ZW1lbnQgY29udGV4dABmdW5jdGlvbiBkZWNsYXJhdGlvbnMgY2FuJ3QgYXBwZWFyIGluIHNpbmdsZS1zdGF0ZW1lbnQgY29udGV4dABsZXhpY2FsIGRlY2xhcmF0aW9ucyBjYW4ndCBhcHBlYXIgaW4gc2luZ2xlLXN0YXRlbWVudCBjb250ZXh0AGR1cGxpY2F0ZSBhcmd1bWVudCBuYW1lcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQAZHVwbGljYXRlIHBhcmFtZXRlciBuYW1lcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQAaW1wb3J0Lm1ldGEgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGNvbnRleHQASlNfRnJlZUNvbnRleHQASlNDb250ZXh0AGpzX21hcF9pdGVyYXRvcl9uZXh0AGpzX2FzeW5jX2dlbmVyYXRvcl9yZXN1bWVfbmV4dAB1bmV4cGVjdGVkIGVuZCBvZiBpbnB1dAB0dABleHBvcnRlZCB2YXJpYWJsZSAnJXMnIGRvZXMgbm90IGV4aXN0AHByaXZhdGUgY2xhc3MgZmllbGQgJyVzJyBkb2VzIG5vdCBleGlzdAB0ZXN0AGFzc2lnbm1lbnQgcmVzdCBwcm9wZXJ0eSBtdXN0IGJlIGxhc3QAYmZfc3FydABzb3J0AGNicnQAdHJpbVN0YXJ0AHBhZFN0YXJ0AHVua25vd24gdW5pY29kZSBzY3JpcHQAU2NyaXB0AGh5cG90AGZyZWVfemVyb19yZWZjb3VudABmYXN0X2FycmF5X2NvdW50AGJpbmFyeV9vYmplY3RfY291bnQAc3RyX2luZGV4ID09IG51bV9rZXlzX2NvdW50ICsgc3RyX2tleXNfY291bnQAbnVtX2luZGV4ID09IG51bV9rZXlzX2NvdW50AHN0cl9jb3VudABwcm9wX2NvdW50AHN5bV9pbmRleCA9PSBhdG9tX2NvdW50AGxhYmVsID49IDAgJiYgbGFiZWwgPCBzLT5sYWJlbF9jb3VudABsYWIxID49IDAgJiYgbGFiMSA8IHMtPmxhYmVsX2NvdW50AG9ial9jb3VudAB2YWwgPCBzLT5jYXB0dXJlX2NvdW50AHZhbDIgPCBzLT5jYXB0dXJlX2NvdW50AHNoYXBlX2NvdW50AGpzX2Z1bmNfcGMybGluZV9jb3VudABtZW1vcnlfdXNlZF9jb3VudABtYWxsb2NfY291bnQAanNfZnVuY19jb3VudABjX2Z1bmNfY291bnQAaW52YWxpZCByZXBlYXQgY291bnQAaW52YWxpZCByZXBldGl0aW9uIGNvdW50AGZvbnQAaW52YWxpZCBjb2RlIHBvaW50AGZyb21Db2RlUG9pbnQAaW52YWxpZCBoaW50AGNhbm5vdCBjb252ZXJ0IE5hTiBvciBJbmZpbml0eSB0byBiaWdpbnQAY2Fubm90IGNvbnZlcnQgdG8gYmlnaW50AGJvdGggb3BlcmFuZHMgbXVzdCBiZSBiaWdpbnQAbm90IGEgYmlnaW50AGVuY29kZVVSSUNvbXBvbmVudABkZWNvZGVVUklDb21wb25lbnQAdW5leHBlY3RlZCBlbmQgb2YgY29tbWVudABpbnZhbGlkIHN3aXRjaCBzdGF0ZW1lbnQAQmlnSW50AHBhcnNlSW50AGR1cGxpY2F0ZSBkZWZhdWx0AG1hbGxvY19saW1pdABzcGxpdABleHBlY3RpbmcgaGV4IGRpZ2l0AHRyaW1SaWdodAByZWR1Y2VSaWdodAB1bnNoaWZ0AHRyaW1MZWZ0AGludmFsaWQgb2Zmc2V0AGludmFsaWQgYnl0ZU9mZnNldABnZXRUaW1lem9uZU9mZnNldAByZXNvbHZpbmcgZnVuY3Rpb24gYWxyZWFkeSBzZXQAcHJveHk6IGluY29uc2lzdGVudCBzZXQAZmluZF9qdW1wX3RhcmdldABleHBlY3RpbmcgdGFyZ2V0AGludmFsaWQgZGVzdHJ1Y3R1cmluZyB0YXJnZXQAcHJveHk6IGluY29uc2lzdGVudCBnZXQAV2Vha1NldABjb25zdHJ1Y3QASlNfRnJlZUF0b21TdHJ1Y3QAdXNlIHN0cmljdABSZWZsZWN0AHJlamVjdABub3QgYW4gQXN5bmNHZW5lcmF0b3Igb2JqZWN0AGNhbm5vdCBjb252ZXJ0IHRvIG9iamVjdABpbnZhbGlkIGJyYW5kIG9uIG9iamVjdABvcGVyYW5kICdwcm90b3R5cGUnIHByb3BlcnR5IGlzIG5vdCBhbiBvYmplY3QAcmVjZWl2ZXIgaXMgbm90IGFuIG9iamVjdABpdGVyYXRvciBtdXN0IHJldHVybiBhbiBvYmplY3QAbm90IGEgRGF0ZSBvYmplY3QAbm90IGEgb2JqZWN0AEpTT2JqZWN0AGJpZ2Zsb2F0AHBhcnNlRmxvYXQAZmxhdABub3RoaW5nIHRvIHJlcGVhdABjb25jYXQAY29kZVBvaW50QXQAY2hhckF0AGNoYXJDb2RlQXQAa2V5cwBwcm94eTogdGFyZ2V0IHByb3BlcnR5IG11c3QgYmUgcHJlc2VudCBpbiBwcm94eSBvd25LZXlzACAgZmFzdCBhcnJheXMAZXhwb3J0ICclcycgaW4gbW9kdWxlICclcycgaXMgYW1iaWd1b3VzAHByaXZhdGUgY2xhc3MgZmllbGQgJyVzJyBhbHJlYWR5IGV4aXN0cwB0b28gbWFueSBhcmd1bWVudHMAVG9vIG1hbnkgY2FsbCBhcmd1bWVudHMAZmFzdF9hcnJheV9lbGVtZW50cwAgIGVsZW1lbnRzAGludmFsaWQgbnVtYmVyIG9mIGRpZ2l0cwBiaW5hcnkgb2JqZWN0cwBpbnZhbGlkIHByb3BlcnR5IGFjY2VzcwBqc19vcF9kZWZpbmVfY2xhc3MAZmQtPmJ5dGVfY29kZS5idWZbZGVmaW5lX2NsYXNzX3Bvc10gPT0gT1BfZGVmaW5lX2NsYXNzAF9fZ2V0Q2xhc3MAc2V0SG91cnMAZ2V0SG91cnMAc2V0VVRDSG91cnMAZ2V0VVRDSG91cnMAZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycwB0b28gbWFueSBpbWJyaWNhdGVkIHF1YW50aWZpZXJzAHVuaWNvZGVfcHJvcF9vcHMAYWNvcwBmb3IgYXdhaXQgaXMgb25seSB2YWxpZCBpbiBhc3luY2hyb25vdXMgZnVuY3Rpb25zAG5ldy50YXJnZXQgb25seSBhbGxvd2VkIHdpdGhpbiBmdW5jdGlvbnMAYnl0ZWNvZGUgZnVuY3Rpb25zAEMgZnVuY3Rpb25zAHByb3h5OiBpbmNvbnNpc3RlbnQgcHJldmVudEV4dGVuc2lvbnMAU2NyaXB0X0V4dGVuc2lvbnMAYXRvbXMAcHJveHk6IHByb3BlcnRpZXMgbXVzdCBiZSBzdHJpbmdzIG9yIHN5bWJvbHMAZ2V0T3duUHJvcGVydHlTeW1ib2xzAHJlc29sdmVfbGFiZWxzAEpTX0V2YWxUaGlzAHN0cmluZ3MAaW52YWxpZCBkZXNjcmlwdG9yIGZsYWdzAGludmFsaWQgcmVndWxhciBleHByZXNzaW9uIGZsYWdzAHZhbHVlcwBzZXRNaW51dGVzAGdldE1pbnV0ZXMAc2V0VVRDTWludXRlcwBnZXRVVENNaW51dGVzAHRvbyBtYW55IGNhcHR1cmVzACAgc2hhcGVzAGdldE93blByb3BlcnR5TmFtZXMAZ2NfZnJlZV9jeWNsZXMAYWRkX2V2YWxfdmFyaWFibGVzAHJlc29sdmVfdmFyaWFibGVzAHRvbyBtYW55IGxvY2FsIHZhcmlhYmxlcwB0b28gbWFueSBjbG9zdXJlIHZhcmlhYmxlcwBjb21wYWN0X3Byb3BlcnRpZXMAICBwcm9wZXJ0aWVzAGRlZmluZVByb3BlcnRpZXMAZW50cmllcwBmcm9tRW50cmllcwB0b28gbWFueSByYW5nZXMAaW5jbHVkZXMAc2V0TWlsbGlzZWNvbmRzAGdldE1pbGxpc2Vjb25kcwBzZXRVVENNaWxsaXNlY29uZHMAZ2V0VVRDTWlsbGlzZWNvbmRzAHNldFNlY29uZHMAZ2V0U2Vjb25kcwBzZXRVVENTZWNvbmRzAGdldFVUQ1NlY29uZHMAaXRhbGljcwBhYnMAcHJveHk6IGluY29uc2lzdGVudCBoYXMAJS4qcwAgKCVzAHNldCAlcwBnZXQgJXMAICAgIGF0ICVzAG5vIG92ZXJsb2FkZWQgb3BlcmF0b3IgJXMAbm90IGEgJXMAdW5zdXBwb3J0ZWQga2V5d29yZDogJXMAc3Vic3RyAHByb3h5OiBpbmNvbnNpc3RlbnQgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yAHN1cGVyKCkgaXMgb25seSB2YWxpZCBpbiBhIGRlcml2ZWQgY2xhc3MgY29uc3RydWN0b3IAcGFyZW50IGNsYXNzIG11c3QgYmUgY29uc3RydWN0b3IAbm90IGEgY29uc3RydWN0b3IAQXJyYXkgSXRlcmF0b3IAU2V0IEl0ZXJhdG9yAE1hcCBJdGVyYXRvcgBSZWdFeHAgU3RyaW5nIEl0ZXJhdG9yAG5vdCBhbiBBc3luYy1mcm9tLVN5bmMgSXRlcmF0b3IAY2Fubm90IGludm9rZSBhIHJ1bm5pbmcgZ2VuZXJhdG9yAG5vdCBhIGdlbmVyYXRvcgBBc3luY0dlbmVyYXRvcgBzeW50YXggZXJyb3IAU3ludGF4RXJyb3IARXZhbEVycm9yAEludGVybmFsRXJyb3IAQWdncmVnYXRlRXJyb3IAVHlwZUVycm9yAFJhbmdlRXJyb3IAUmVmZXJlbmNlRXJyb3IAVVJJRXJyb3IAZmxvb3IAZm9udGNvbG9yAGFuY2hvcgBmb3IAa2V5Rm9yAGV4cGVjdGluZyBzdXJyb2dhdGUgcGFpcgBhIGRlY2xhcmF0aW9uIGluIHRoZSBoZWFkIG9mIGEgZm9yLSVzIGxvb3AgY2FuJ3QgaGF2ZSBhbiBpbml0aWFsaXplcgAnYXJndW1lbnRzJyBpZGVudGlmaWVyIGlzIG5vdCBhbGxvd2VkIGluIGNsYXNzIGZpZWxkIGluaXRpYWxpemVyAGludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cyBmb3IgZ2V0dGVyIG9yIHNldHRlcgBpbnZhbGlkIHNldHRlcgBpbnZhbGlkIGdldHRlcgBmaWx0ZXIAbWlzc2luZyBmb3JtYWwgcGFyYW1ldGVyACJ1c2Ugc3RyaWN0IiBub3QgYWxsb3dlZCBpbiBmdW5jdGlvbiB3aXRoIGRlZmF1bHQgb3IgZGVzdHJ1Y3R1cmluZyBwYXJhbWV0ZXIAaW52YWxpZCBjaGFyYWN0ZXIAdW5leHBlY3RlZCBjaGFyYWN0ZXIAcHJpdmF0ZSBjbGFzcyBmaWVsZCBmb3JiaWRkZW4gYWZ0ZXIgc3VwZXIAaW52YWxpZCByZWRlZmluaXRpb24gb2YgbGV4aWNhbCBpZGVudGlmaWVyACdsZXQnIGlzIG5vdCBhIHZhbGlkIGxleGljYWwgaWRlbnRpZmllcgBpbnZhbGlkIHJlZGVmaW5pdGlvbiBvZiBnbG9iYWwgaWRlbnRpZmllcgB5aWVsZCBpcyBhIHJlc2VydmVkIGlkZW50aWZpZXIAJyVzJyBpcyBhIHJlc2VydmVkIGlkZW50aWZpZXIAb3RoZXIAYXRvbTFfaXNfaW50ZWdlciAmJiBhdG9tMl9pc19pbnRlZ2VyAGNhbm5vdCBjb252ZXJ0IHRvIGJpZ2ludDogbm90IGFuIGludGVnZXIAaXNJbnRlZ2VyAGlzU2FmZUludGVnZXIAYnVmZmVyAFNoYXJlZEFycmF5QnVmZmVyAGNhbm5vdCB1c2UgaWRlbnRpY2FsIEFycmF5QnVmZmVyAGNhbm5vdCBjb252ZXJ0IGJpZ2ludCB0byBudW1iZXIAY2Fubm90IGNvbnZlcnQgYmlnZmxvYXQgdG8gbnVtYmVyAGNhbm5vdCBjb252ZXJ0IHN5bWJvbCB0byBudW1iZXIAY2Fubm90IGNvbnZlcnQgYmlnZGVjaW1hbCB0byBudW1iZXIAbm90IGEgbnVtYmVyAGxpbmVOdW1iZXIAbWFsZm9ybWVkIHVuaWNvZGUgY2hhcgBjbGVhcgBzZXRZZWFyAGdldFllYXIAc2V0RnVsbFllYXIAZ2V0RnVsbFllYXIAc2V0VVRDRnVsbFllYXIAZ2V0VVRDRnVsbFllYXIAcSAhPSByAHVuZXhwZWN0ZWQgbGluZSB0ZXJtaW5hdG9yIGluIHJlZ2V4cAB1bmV4cGVjdGVkIGVuZCBvZiByZWdleHAAUmVnRXhwAHN1cABpbnZhbGlkIGdyb3VwAHBvcABjb250aW51ZSBtdXN0IGJlIGluc2lkZSBsb29wAGJmX2xvZ2ljX29wAG51bV9rZXlzX2NtcAB1c2Ugc3RyaXAAbWFwAGZsYXRNYXAAV2Vha01hcABleHBlY3RpbmcgJ3snIGFmdGVyIFxwAGxvZzFwAGRpdmlzaW9uIGJ5IHplcm8AdW5rbm93bgBpdGVyYXRvcl9jbG9zZV9yZXR1cm4AcHJvbWlzZSBzZWxmIHJlc29sdXRpb24Ab3V0IG9mIG1lbW9yeSBpbiByZWdleHAgZXhlY3V0aW9uAGRlc2NyaXB0aW9uAHByb3h5OiBkZWZpbmVQcm9wZXJ0eSBleGNlcHRpb24AanNfYXN5bmNfZ2VuZXJhdG9yX3Jlc29sdmVfZnVuY3Rpb24AanNfY3JlYXRlX2Z1bmN0aW9uAHNldC9hZGQgaXMgbm90IGEgZnVuY3Rpb24AcmV0dXJuIG5vdCBpbiBhIGZ1bmN0aW9uAEFzeW5jR2VuZXJhdG9yRnVuY3Rpb24AQXN5bmNGdW5jdGlvbgBpbnZhbGlkIG9wZXJhdGlvbgB1bnN1cHBvcnRlZCBvcGVyYXRpb24AYXdhaXQgaW4gZGVmYXVsdCBleHByZXNzaW9uAHlpZWxkIGluIGRlZmF1bHQgZXhwcmVzc2lvbgBpbnZhbGlkIGRlY2ltYWwgZXNjYXBlIGluIHJlZ3VsYXIgZXhwcmVzc2lvbgBiYWNrIHJlZmVyZW5jZSBvdXQgb2YgcmFuZ2UgaW4gcmVndWxhciBleHByZXNzaW9uAGludmFsaWQgZXNjYXBlIHNlcXVlbmNlIGluIHJlZ3VsYXIgZXhwcmVzc2lvbgBleHBlY3RlZCAnb2YnIG9yICdpbicgaW4gZm9yIGNvbnRyb2wgZXhwcmVzc2lvbgB0b28gY29tcGxpY2F0ZWQgZGVzdHJ1Y3R1cmluZyBleHByZXNzaW9uAGV4cGVjdGVkICd9JyBhZnRlciB0ZW1wbGF0ZSBleHByZXNzaW9uAHRvUHJlY2lzaW9uAGFzaW4Aam9pbgBtaW4AY29weVdpdGhpbgB0ZW1wbGF0ZSBsaXRlcmFsIGNhbm5vdCBhcHBlYXIgaW4gYW4gb3B0aW9uYWwgY2hhaW4AY2lyY3VsYXIgcHJvdG90eXBlIGNoYWluAGFzc2lnbgAheS0+c2lnbgBpc0Zyb3plbgBtYXJrX2NoaWxkcmVuAChwb3MgKyBsZW4pIDw9IGJjX2J1Zl9sZW4AdW5leHBlY3RlZCBlbGxpcHNpcyB0b2tlbgB0aGVuAHNldHRlciBpcyBmb3JiaWRkZW4AbnVsbCBvciB1bmRlZmluZWQgYXJlIGZvcmJpZGRlbgBhdGFuAG5hbgBub3QgYSBib29sZWFuAEJvb2xlYW4AZ2Nfc2NhbgBiYWQgbm9ybWFsaXphdGlvbiBmb3JtAEpTX05ld1N5bWJvbEZyb21BdG9tAGZyb20AcmFuZG9tAHRyaW0AdGRpdnJlbQBmZGl2cmVtAGVkaXZyZW0AY2RpdnJlbQBiZl9kaXZyZW0Ac3FydHJlbQBpbXVsAG5vdCBhIHN5bWJvbABTeW1ib2wAUmVnRXhwIGV4ZWMgbWV0aG9kIG11c3QgcmV0dXJuIGFuIG9iamVjdCBvciBudWxsAHBhcmVudCBwcm90b3R5cGUgbXVzdCBiZSBhbiBvYmplY3Qgb3IgbnVsbABjYW5ub3Qgc2V0IHByb3BlcnR5ICclcycgb2YgbnVsbABjYW5ub3QgcmVhZCBwcm9wZXJ0eSAnJXMnIG9mIG51bGwATnVsbABmaWxsAG5ldyBBcnJheUJ1ZmZlciBpcyB0b28gc21hbGwAVHlwZWRBcnJheSBsZW5ndGggaXMgdG9vIHNtYWxsAGNhbGwAZG90QWxsAG1hdGNoQWxsAHJlcGxhY2VBbGwAY2VpbAB1cGRhdGVfbGFiZWwAYmNfYnVmW3Bvc10gPT0gT1BfbGFiZWwAZXZhbABpbnZhbGlkIGJpZ2ludCBsaXRlcmFsAGludmFsaWQgbnVtYmVyIGxpdGVyYWwAbWFsZm9ybWVkIGVzY2FwZSBzZXF1ZW5jZSBpbiBzdHJpbmcgbGl0ZXJhbABiZl9leHBfaW50ZXJuYWwAYmZfbG9nX2ludGVybmFsAEpTX1NldFByb3BlcnR5SW50ZXJuYWwASlNfR2V0T3duUHJvcGVydHlOYW1lc0ludGVybmFsAF9fSlNfRXZhbEludGVybmFsAGJpZ2RlY2ltYWwAbnR0X2ZmdF9wYXJ0aWFsAHRvRXhwb25lbnRpYWwAc2VhbABnbG9iYWwAYmxpbmsAX19kYXRlX2Nsb2NrAHN0YWNrAGxyZV9leGVjX2JhY2t0cmFjawBzLT5pc193ZWFrAGJmX3Bvd191aQBzZXRNb250aABnZXRNb250aABzZXRVVENNb250aABnZXRVVENNb250aABpbnZhbGlkIGtleXdvcmQ6IHdpdGgAc3RhcnRzV2l0aABlbmRzV2l0aABwcm9wID09IEpTX0FUT01fbGVuZ3RoAGludmFsaWQgYXJyYXkgbGVuZ3RoAGludmFsaWQgYXJyYXkgYnVmZmVyIGxlbmd0aABpbnZhbGlkIGxlbmd0aABpbnZhbGlkIGJ5dGVMZW5ndGgAdXNlIG1hdGgATWF0aABwdXNoAGFjb3NoAEpTX1Jlc2l6ZUF0b21IYXNoAGFzaW5oAGF0YW5oAGJyZWFrIG11c3QgYmUgaW5zaWRlIGxvb3Agb3Igc3dpdGNoAG1hdGNoAGNhdGNoAHNlYXJjaABmb3JFYWNoAGJmX2xvZwBBcnJheSB0b28gbG9uZwBzdHJpbmcgdG9vIGxvbmcAQXJyYXkgbG9vIGxvbmcAc3Vic3RyaW5nAGNhbm5vdCBjb252ZXJ0IHN5bWJvbCB0byBzdHJpbmcAdW5leHBlY3RlZCBlbmQgb2Ygc3RyaW5nAG5vdCBhIHN0cmluZwBpbnZhbGlkIGNoYXJhY3RlciBpbiBhIEpTT04gc3RyaW5nAHRvU3RyaW5nAHRvRGF0ZVN0cmluZwB0b0xvY2FsZURhdGVTdHJpbmcAdG9UaW1lU3RyaW5nAHRvTG9jYWxlVGltZVN0cmluZwB0b0xvY2FsZVN0cmluZwB0b0dNVFN0cmluZwBKU1N0cmluZwB0b0lTT1N0cmluZwB0b1VUQ1N0cmluZwBkdXBsaWNhdGUgaW1wb3J0IGJpbmRpbmcAaW52YWxpZCBpbXBvcnQgYmluZGluZwBiaWcAcmVnZXhwIG11c3QgaGF2ZSB0aGUgJ2cnIGZsYWcAb2YAaW5mAGRpZmYgPT0gKGludDhfdClkaWZmAGRpZmYgPT0gKGludDE2X3QpZGlmZgBocmVmAGdjX2RlY3JlZgBmcmVlX3Zhcl9yZWYAb3B0aW1pemVfc2NvcGVfbWFrZV9nbG9iYWxfcmVmAHJlc2V0X3dlYWtfcmVmAGRlbGV0ZV93ZWFrX3JlZgBvcHRpbWl6ZV9zY29wZV9tYWtlX3JlZgBpbmRleE9mAGxhc3RJbmRleE9mAHZhbHVlT2YAc2V0UHJvdG90eXBlT2YAZ2V0UHJvdG90eXBlT2YAaXNQcm90b3R5cGVPZgAlLipmAGZvbnRzaXplAGJpbmFyeV9vYmplY3Rfc2l6ZQBzdHJfc2l6ZQBuZXdfc2l6ZSA8PSBzaC0+cHJvcF9zaXplAGRlc2NyIDwgcnQtPmF0b21fc2l6ZQBhdG9tIDwgcnQtPmF0b21fc2l6ZQBjb21wdXRlX3N0YWNrX3NpemUAb2JqX3NpemUAbiA8IGJ1Zl9zaXplAHNoYXBlX3NpemUAanNfZnVuY19wYzJsaW5lX3NpemUAanNfZnVuY19jb2RlX3NpemUAbWVtb3J5X3VzZWRfc2l6ZQBqc19mdW5jX3NpemUAbm9ybWFsaXplAGZyZWV6ZQByZXNvbHZlAHRvUHJpbWl0aXZlAHB1dF9sdmFsdWUAdW5rbm93biB1bmljb2RlIHByb3BlcnR5IHZhbHVlAHJlc3QgZWxlbWVudCBjYW5ub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUAaW52YWxpZCByZXQgdmFsdWUAX19KU19BdG9tVG9WYWx1ZQBfX3F1b3RlAGlzRmluaXRlAGRlbGV0ZQBjcmVhdGUAc2V0RGF0ZQBnZXREYXRlAHNldFVUQ0RhdGUAZ2V0VVRDRGF0ZQBJbnZhbGlkIERhdGUAcmV2ZXJzZQBwYXJzZQBwcm94eSBwcmV2ZW50RXh0ZW5zaW9ucyBoYW5kbGVyIHJldHVybmVkIGZhbHNlAFByb21pc2UAdG9Mb3dlckNhc2UAdG9Mb2NhbGVMb3dlckNhc2UAdG9VcHBlckNhc2UAdG9Mb2NhbGVVcHBlckNhc2UAaWdub3JlQ2FzZQBsb2NhbGVDb21wYXJlAHByb3h5OiBpbmNvbnNpc3RlbnQgcHJvdG90eXBlAHByb3h5OiBiYWQgcHJvdG90eXBlAG5vdCBhIHByb3RvdHlwZQBpbnZhbGlkIG9iamVjdCB0eXBlAHVuZXNjYXBlAG5vbmUAcmVzdCBlbGVtZW50IG11c3QgYmUgdGhlIGxhc3Qgb25lAG11bHRpbGluZQAgIHBjMmxpbmUAc29tZQBKU19GcmVlUnVudGltZQBKU1J1bnRpbWUAc2V0VGltZQBnZXRUaW1lAHNldF9vYmplY3RfbmFtZQBleHBlY3RpbmcgcHJvcGVydHkgbmFtZQB1bmtub3duIHVuaWNvZGUgcHJvcGVydHkgbmFtZQBpbnZhbGlkIHByb3BlcnR5IG5hbWUAZHVwbGljYXRlIF9fcHJvdG9fXyBwcm9wZXJ0eSBuYW1lAGludmFsaWQgcmVkZWZpbml0aW9uIG9mIHBhcmFtZXRlciBuYW1lAGV4cGVjdGluZyBncm91cCBuYW1lAGR1cGxpY2F0ZSBncm91cCBuYW1lAGludmFsaWQgZ3JvdXAgbmFtZQBkdXBsaWNhdGUgbGFiZWwgbmFtZQBpbnZhbGlkIGZpcnN0IGNoYXJhY3RlciBvZiBwcml2YXRlIG5hbWUAaW52YWxpZCBsZXhpY2FsIHZhcmlhYmxlIG5hbWUAaW52YWxpZCBtZXRob2QgbmFtZQBleHBlY3RpbmcgZmllbGQgbmFtZQBpbnZhbGlkIGZpZWxkIG5hbWUAY2xhc3Mgc3RhdGVtZW50IHJlcXVpcmVzIGEgbmFtZQBmaWxlTmFtZQBjb21waWxlAG9iamVjdCBpcyBub3QgZXh0ZW5zaWJsZQBwcm94eTogaW5jb25zaXN0ZW50IGlzRXh0ZW5zaWJsZQBjYW5ub3QgaGF2ZSBzZXR0ZXIvZ2V0dGVyIGFuZCB2YWx1ZSBvciB3cml0YWJsZQBwcm9wZXJ0eSBpcyBub3QgY29uZmlndXJhYmxlAHZhbHVlIGlzIG5vdCBpdGVyYWJsZQBwcm9wZXJ0eUlzRW51bWVyYWJsZQBtaXNzaW5nIGluaXRpYWxpemVyIGZvciBjb25zdCB2YXJpYWJsZQBsZXhpY2FsIHZhcmlhYmxlAGludmFsaWQgcmVkZWZpbml0aW9uIG9mIGEgdmFyaWFibGUAcmV2b2NhYmxlAHN0cmlrZQBtcF9kaXZub3JtX2xhcmdlAGludmFsaWQgY2xhc3MgcmFuZ2UAbWVzc2FnZQBhc3luY19mdW5jX2ZyZWUAaW52YWxpZCBsdmFsdWUgaW4gc3RyaWN0IG1vZGUAaW52YWxpZCB2YXJpYWJsZSBuYW1lIGluIHN0cmljdCBtb2RlAGNhbm5vdCBkZWxldGUgYSBkaXJlY3QgcmVmZXJlbmNlIGluIHN0cmljdCBtb2RlAG9jdGFsIGVzY2FwZSBzZXF1ZW5jZXMgYXJlIG5vdCBhbGxvd2VkIGluIHN0cmljdCBtb2RlAG9jdGFsIGxpdGVyYWxzIGFyZSBkZXByZWNhdGVkIGluIHN0cmljdCBtb2RlAHVuaWNvZGUAICBieXRlY29kZQBKU0Z1bmN0aW9uQnl0ZWNvZGUAc2tpcF9kZWFkX2NvZGUAaW52YWxpZCBhcmd1bWVudCBuYW1lIGluIHN0cmljdCBjb2RlAGludmFsaWQgZnVuY3Rpb24gbmFtZSBpbiBzdHJpY3QgY29kZQBpbnZhbGlkIHJlZGVmaW5pdGlvbiBvZiBnbG9iYWwgaWRlbnRpZmllciBpbiBtb2R1bGUgY29kZQBpbXBvcnQubWV0YSBvbmx5IHZhbGlkIGluIG1vZHVsZSBjb2RlAGZyb21DaGFyQ29kZQBpbnZhbGlkIGZvciBpbi9vZiBsZWZ0IGhhbmQtc2lkZQBpbnZhbGlkIGFzc2lnbm1lbnQgbGVmdC1oYW5kIHNpZGUAcmVkdWNlAHNvdXJjZQAndGhpcycgY2FuIGJlIGluaXRpYWxpemVkIG9ubHkgb25jZQBwcm9wZXJ0eSBjb25zdHJ1Y3RvciBhcHBlYXJzIG1vcmUgdGhhbiBvbmNlAGludmFsaWQgVVRGLTggc2VxdWVuY2UAY2lyY3VsYXIgcmVmZXJlbmNlAHNsaWNlAHNwbGljZQByYWNlAHJlcGxhY2UAJSsuKmUAdW5leHBlY3RlZCAnYXdhaXQnIGtleXdvcmQAdW5leHBlY3RlZCAneWllbGQnIGtleXdvcmQAbWFwX2RlY3JlZl9yZWNvcmQAaXRlcmF0b3IgZG9lcyBub3QgaGF2ZSBhIHRocm93IG1ldGhvZABvYmplY3QgbmVlZHMgdG9JU09TdHJpbmcgbWV0aG9kACdzdXBlcicgaXMgb25seSB2YWxpZCBpbiBhIG1ldGhvZABmcm91bmQAX19iZl9yb3VuZABicmVhay9jb250aW51ZSBsYWJlbCBub3QgZm91bmQAb3V0IG9mIGJvdW5kAGZpbmQAYmluZABpbnZhbGlkIGluZGV4IGZvciBhcHBlbmQAZXh0cmFuZW91cyBjaGFyYWN0ZXJzIGF0IHRoZSBlbmQAdW5leHBlY3RlZCBkYXRhIGF0IHRoZSBlbmQAdW5leHBlY3RlZCBlbmQAaW52YWxpZCBpbmNyZW1lbnQvZGVjcmVtZW50IG9wZXJhbmQAaW52YWxpZCAnaW5zdGFuY2VvZicgcmlnaHQgb3BlcmFuZABpbnZhbGlkICdpbicgb3BlcmFuZAB0cmltRW5kAHBhZEVuZABib2xkACVsbGQAZ2NfZGVjcmVmX2NoaWxkAHJlc29sdmVfc2NvcGVfcHJpdmF0ZV9maWVsZABjYW5ub3QgZGVsZXRlIGEgcHJpdmF0ZSBjbGFzcyBmaWVsZABleHBlY3RpbmcgPGJyYW5kPiBwcml2YXRlIGZpZWxkACVzIGlzIG5vdCBpbml0aWFsaXplZABmaXhlZAB0b0ZpeGVkAHNldF9vYmplY3RfbmFtZV9jb21wdXRlZAByZWdleCBub3Qgc3VwcG9ydGVkAGV2YWwgaXMgbm90IHN1cHBvcnRlZABSZWdFeHAgYXJlIG5vdCBzdXBwb3J0ZWQAaW50ZXJydXB0ZWQAJXMgb2JqZWN0IGV4cGVjdGVkAGlkZW50aWZpZXIgZXhwZWN0ZWQAYnl0ZWNvZGUgZnVuY3Rpb24gZXhwZWN0ZWQAc3RyaW5nIGV4cGVjdGVkAGZyb20gY2xhdXNlIGV4cGVjdGVkAGZ1bmN0aW9uIG5hbWUgZXhwZWN0ZWQAdmFyaWFibGUgbmFtZSBleHBlY3RlZABtZXRhIGV4cGVjdGVkAHJlamVjdGVkAG1lbW9yeSBhbGxvY2F0ZWQAbWVtb3J5IHVzZWQAZGVyaXZlZCBjbGFzcyBjb25zdHJ1Y3RvciBtdXN0IHJldHVybiBhbiBvYmplY3Qgb3IgdW5kZWZpbmVkAGNhbm5vdCBzZXQgcHJvcGVydHkgJyVzJyBvZiB1bmRlZmluZWQAY2Fubm90IHJlYWQgcHJvcGVydHkgJyVzJyBvZiB1bmRlZmluZWQAZmxhZ3MgbXVzdCBiZSB1bmRlZmluZWQAVW5kZWZpbmVkAHByaXZhdGUgY2xhc3MgZmllbGQgaXMgYWxyZWFkeSBkZWZpbmVkACclcycgaXMgbm90IGRlZmluZWQAZ3JvdXAgbmFtZSBub3QgZGVmaW5lZABvcGVyYXRvciAlczogbm8gZnVuY3Rpb24gZGVmaW5lZABhbGxTZXR0bGVkAGZ1bGZpbGxlZABjYW5ub3QgYmUgY2FsbGVkAGlzU2VhbGVkACFzaC0+aXNfaGFzaGVkAHZhcl9yZWYtPmlzX2RldGFjaGVkAEFycmF5QnVmZmVyIGlzIGRldGFjaGVkAGFkZAAlKzA3ZAAlMDRkACUwMmQlMDJkACUwMmQvJTAyZC8lMCpkACUuM3MgJS4zcyAlMDJkICUwKmQAOiVkAGludmFsaWQgdGhyb3cgdmFyIHR5cGUgJWQAc2MAanNfZGVmX21hbGxvYwB0cnVuYwBnYwBleGVjAGJmX2ludGVnZXJfdG9fcmFkaXhfcmVjAHF1aWNranMvcXVpY2tqcy5jAHF1aWNranMvbGlicmVnZXhwLmMAcXVpY2tqcy9saWJiZi5jAHF1aWNranMvbGlidW5pY29kZS5jAHN1YgBwcm9taXNlX3JlYWN0aW9uX2pvYgBqc19wcm9taXNlX3Jlc29sdmVfdGhlbmFibGVfam9iAHIgIT0gYSAmJiByICE9IGIAcSAhPSBhICYmIHEgIT0gYgByd2EAciAhPSBhAF9fbG9va3VwU2V0dGVyX18AX19kZWZpbmVTZXR0ZXJfXwBfX2xvb2t1cEdldHRlcl9fAF9fZGVmaW5lR2V0dGVyX18AX19wcm90b19fAFtTeW1ib2wuc3BsaXRdAFtTeW1ib2wuc3BlY2llc10AW1N5bWJvbC5pdGVyYXRvcl0AW1N5bWJvbC5hc3luY0l0ZXJhdG9yXQBbU3ltYm9sLm1hdGNoQWxsXQBbU3ltYm9sLm1hdGNoXQBbU3ltYm9sLnNlYXJjaF0AW1N5bWJvbC50b1N0cmluZ1RhZ10AW1N5bWJvbC50b1ByaW1pdGl2ZV0AW3Vuc3VwcG9ydGVkIHR5cGVdAFtmdW5jdGlvbiBieXRlY29kZV0AW1N5bWJvbC5oYXNJbnN0YW5jZV0AW1N5bWJvbC5yZXBsYWNlXQBbACUwMmQ6JTAyZDolMDJkLiUwM2RaAFBPU0lUSVZFX0lORklOSVRZAE5FR0FUSVZFX0lORklOSVRZAHAtPmNsYXNzX2lkID09IEpTX0NMQVNTX0FSUkFZAHN0YWNrX2xlbiA8IFBPUF9TVEFDS19MRU5fTUFYAC0lMDJkLSUwMmRUAEpTX0F0b21HZXRTdHJSVABvcGNvZGUgPCBSRU9QX0NPVU5UAEJZVEVTX1BFUl9FTEVNRU5UACUwMmQ6JTAyZDolMDJkIEdNVABKU19WQUxVRV9HRVRfVEFHKHNmLT5jdXJfZnVuYykgPT0gSlNfVEFHX09CSkVDVAB2YXJfa2luZCA9PSBKU19WQVJfUFJJVkFURV9TRVRURVIATUFYX1NBRkVfSU5URUdFUgBNSU5fU0FGRV9JTlRFR0VSAGFzVWludE4AYXNJbnROAGlzTmFOAERhdGUgdmFsdWUgaXMgTmFOAHRvSlNPTgBFUFNJTE9OAE5BTgAlMDJkOiUwMmQ6JTAyZCAlY00Acy0+bGFiZWxfc2xvdHNbbGFiZWxdLmZpcnN0X3JlbG9jID09IE5VTEwAbGFiZWxfc2xvdHNbaV0uZmlyc3RfcmVsb2MgPT0gTlVMTABwcnMgIT0gTlVMTABzZi0+Y3VyX3NwICE9IE5VTEwAc2YgIT0gTlVMTABtcjEgIT0gTlVMTAB2YXJfa2luZCAhPSBKU19WQVJfTk9STUFMAGItPmZ1bmNfa2luZCA9PSBKU19GVU5DX05PUk1BTABlbmNvZGVVUkkAZGVjb2RlVVJJAFBJAHNwZWNpYWwgPT0gUFVUX0xWQUxVRV9OT0tFRVAgfHwgc3BlY2lhbCA9PSBQVVRfTFZBTFVFX05PS0VFUF9ERVBUSABzLT5zdGF0ZSA9PSBKU19BU1lOQ19HRU5FUkFUT1JfU1RBVEVfRVhFQ1VUSU5HAHByZWMxICE9IEJGX1BSRUNfSU5GADAxMjM0NTY3ODlBQkNERUYAU0laRQBNQVhfVkFMVUUATUlOX1ZBTFVFAE5BTUUAZXZhbF90eXBlID09IEpTX0VWQUxfVFlQRV9HTE9CQUwgfHwgZXZhbF90eXBlID09IEpTX0VWQUxfVFlQRV9NT0RVTEUAcC0+Z2Nfb2JqX3R5cGUgPT0gSlNfR0NfT0JKX1RZUEVfSlNfT0JKRUNUIHx8IHAtPmdjX29ial90eXBlID09IEpTX0dDX09CSl9UWVBFX0ZVTkNUSU9OX0JZVEVDT0RFAExPRzJFAExPRzEwRQBzLT5zdGF0ZSA9PSBKU19BU1lOQ19HRU5FUkFUT1JfU1RBVEVfQVdBSVRJTkdfUkVUVVJOIHx8IHMtPnN0YXRlID09IEpTX0FTWU5DX0dFTkVSQVRPUl9TVEFURV9DT01QTEVURUQAVVRDADxpbnB1dD4APHNldD4APGFub255bW91cz4APGR1bXA+ADxudWxsPgBiaWdpbnQgb3BlcmFuZHMgYXJlIGZvcmJpZGRlbiBmb3IgPj4+ACZxdW90OwBzZXRVaW50OABnZXRVaW50OABzZXRJbnQ4AGdldEludDgAbWFsZm9ybWVkIFVURi04AHJhZGl4IG11c3QgYmUgYmV0d2VlbiAyIGFuZCAzNgBzZXRVaW50MTYAZ2V0VWludDE2AHNldEludDE2AGdldEludDE2AGFyZ2MgPT0gNQBzZXRCaWdVaW50NjQAZ2V0QmlnVWludDY0AHNldEJpZ0ludDY0AGdldEJpZ0ludDY0AHNldEZsb2F0NjQAZ2V0RmxvYXQ2NABhcmdjID09IDMAYXRhbjIAbG9nMgBmbG9vckxvZzIAU1FSVDFfMgBTUVJUMgBMTjIAY2x6MzIAc2V0VWludDMyAGdldFVpbnQzMgBzZXRJbnQzMgBnZXRJbnQzMgBzZXRGbG9hdDMyAGdldEZsb2F0MzIAc3RhY2tfbGVuID49IDIASlNfQXRvbUlzTnVtZXJpY0luZGV4MQBqc19mY3Z0MQBKU19Db21wYWN0QmlnSW50MQBleHBtMQByICE9IGExICYmIHIgIT0gYjEAbHMtPmFkZHIgPT0gLTEAbnEgPj0gMQBzdGFja19sZW4gPj0gMQBwLT5oZWFkZXIucmVmX2NvdW50ID09IDEAcC0+c2hhcGUtPmhlYWRlci5yZWZfY291bnQgPT0gMQBzdGFja19sZW4gPT0gMQBqc19mcmVlX3NoYXBlMABsb2cxMABMTjEwAHAtPnJlZl9jb3VudCA+IDAAdmFyX3JlZi0+aGVhZGVyLnJlZl9jb3VudCA+IDAAc3RhY2tfc2l6ZSA+IDAAY3Bvb2xfaWR4ID49IDAAcnQtPmF0b21fY291bnQgPj0gMABscy0+cmVmX2NvdW50ID49IDAAcy0+aXNfZXZhbCB8fCBzLT5jbG9zdXJlX3Zhcl9jb3VudCA9PSAwAHAtPnJlZl9jb3VudCA9PSAwAGN0eC0+aGVhZGVyLnJlZl9jb3VudCA9PSAwAHNoLT5oZWFkZXIucmVmX2NvdW50ID09IDAAcC0+bWFyayA9PSAwAChuMiAlIHN0cmlwX2xlbikgPT0gMAAocHItPnUuaW5pdC5yZWFsbV9hbmRfaWQgJiAzKSA9PSAwAChuZXdfaGFzaF9zaXplICYgKG5ld19oYXNoX3NpemUgLSAxKSkgPT0gMABpICE9IDAAc2l6ZSAhPSAwAF4kXC4qKz8oKVtde318LwA8LwAwLgBtaXNzaW5nIGJpbmRpbmcgcGF0dGVybi4uLgBiaWdpbnQgYXJndW1lbnQgd2l0aCB1bmFyeSArAGFzeW5jIGZ1bmN0aW9uICoACn0pAGxpc3RfZW1wdHkoJnJ0LT5nY19vYmpfbGlzdCkAaiA9PSAoc2gtPnByb3BfY291bnQgLSBzaC0+ZGVsZXRlZF9wcm9wX2NvdW50KQBKU19Jc1VuZGVmaW5lZChmdW5jX3JldCkAIV9fSlNfQXRvbUlzVGFnZ2VkSW50KGRlc2NyKQAhYXRvbV9pc19mcmVlKHApAChudWxsKQAgKG5hdGl2ZSkAanNfY2xhc3NfaGFzX2J5dGVjb2RlKHAtPmNsYXNzX2lkKQB1bmNvbnNpc3RlbnQgc3RhY2sgc2l6ZTogJWQgJWQgKHBjPSVkKQBieXRlY29kZSBidWZmZXIgb3ZlcmZsb3cgKG9wPSVkLCBwYz0lZCkAc3RhY2sgb3ZlcmZsb3cgKG9wPSVkLCBwYz0lZCkAc3RhY2sgdW5kZXJmbG93IChvcD0lZCwgcGM9JWQpAGludmFsaWQgb3Bjb2RlIChvcD0lZCwgcGM9JWQpACg/OikAbm8gZnVuY3Rpb24gZmlsZW5hbWUgZm9yIGltcG9ydCgpAC1fLiF+KicoKQAgYW5vbnltb3VzKABTeW1ib2woAGV4cGVjdGluZyAnfScAY2xhc3MgY29uc3RydWN0b3JzIG11c3QgYmUgaW52b2tlZCB3aXRoICduZXcnAGV4cGVjdGluZyAnYXMnAHVuZXhwZWN0ZWQgdG9rZW4gaW4gZXhwcmVzc2lvbjogJyUuKnMnAHVuZXhwZWN0ZWQgdG9rZW46ICclLipzJwByZWRlY2xhcmF0aW9uIG9mICclcycAZHVwbGljYXRlIGV4cG9ydGVkIG5hbWUgJyVzJwBjaXJjdWxhciByZWZlcmVuY2Ugd2hlbiBsb29raW5nIGZvciBleHBvcnQgJyVzJyBpbiBtb2R1bGUgJyVzJwBDb3VsZCBub3QgZmluZCBleHBvcnQg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AJYAAADBAAAAlwAAAJgAAADCAAAAlwAAAJgAAADDAAAAawAAAGwAAADEAAAAmQAAAJoAAADFAAAAmQAAAJoAAAAvAAAAmwAAAJwAAADGAAAAawAAAGwAAADHAAAAnQAAAJ4AAAAAAAAA7h8AAB8gAAAqIAAA4h8AABUgAAA5IAAA+B8AAAYgAABjb3B5V2l0aGluAGVudHJpZXMAZmlsbABmaW5kAGZpbmRJbmRleABmbGF0AGZsYXRNYXAAaW5jbHVkZXMAa2V5cwB2YWx1ZXMAAAAAAAEBAgIDAwIDAEGQpwEL3xBudWxsAGZhbHNlAHRydWUAaWYAZWxzZQByZXR1cm4AdmFyAHRoaXMAZGVsZXRlAHZvaWQAdHlwZW9mAG5ldwBpbgBpbnN0YW5jZW9mAGRvAHdoaWxlAGZvcgBicmVhawBjb250aW51ZQBzd2l0Y2gAY2FzZQBkZWZhdWx0AHRocm93AHRyeQBjYXRjaABmaW5hbGx5AGZ1bmN0aW9uAGRlYnVnZ2VyAHdpdGgAY2xhc3MAY29uc3QAZW51bQBleHBvcnQAZXh0ZW5kcwBpbXBvcnQAc3VwZXIAaW1wbGVtZW50cwBpbnRlcmZhY2UAbGV0AHBhY2thZ2UAcHJpdmF0ZQBwcm90ZWN0ZWQAcHVibGljAHN0YXRpYwB5aWVsZABhd2FpdAAAbGVuZ3RoAGZpbGVOYW1lAGxpbmVOdW1iZXIAbWVzc2FnZQBlcnJvcnMAc3RhY2sAbmFtZQB0b1N0cmluZwB0b0xvY2FsZVN0cmluZwB2YWx1ZU9mAGV2YWwAcHJvdG90eXBlAGNvbnN0cnVjdG9yAGNvbmZpZ3VyYWJsZQB3cml0YWJsZQBlbnVtZXJhYmxlAHZhbHVlAGdldABzZXQAb2YAX19wcm90b19fAHVuZGVmaW5lZABudW1iZXIAYm9vbGVhbgBzdHJpbmcAb2JqZWN0AHN5bWJvbABpbnRlZ2VyAHVua25vd24AYXJndW1lbnRzAGNhbGxlZQBjYWxsZXIAPGV2YWw+ADxyZXQ+ADx2YXI+ADxhcmdfdmFyPgA8d2l0aD4AbGFzdEluZGV4AHRhcmdldABpbmRleABpbnB1dABkZWZpbmVQcm9wZXJ0aWVzAGFwcGx5AGpvaW4AY29uY2F0AHNwbGl0AGNvbnN0cnVjdABnZXRQcm90b3R5cGVPZgBzZXRQcm90b3R5cGVPZgBpc0V4dGVuc2libGUAcHJldmVudEV4dGVuc2lvbnMAaGFzAGRlbGV0ZVByb3BlcnR5AGRlZmluZVByb3BlcnR5AGdldE93blByb3BlcnR5RGVzY3JpcHRvcgBvd25LZXlzAGFkZABkb25lAG5leHQAdmFsdWVzAHNvdXJjZQBmbGFncwBnbG9iYWwAdW5pY29kZQByYXcAbmV3LnRhcmdldAB0aGlzLmFjdGl2ZV9mdW5jADxob21lX29iamVjdD4APGNvbXB1dGVkX2ZpZWxkPgA8c3RhdGljX2NvbXB1dGVkX2ZpZWxkPgA8Y2xhc3NfZmllbGRzX2luaXQ+ADxicmFuZD4AI2NvbnN0cnVjdG9yAGFzAGZyb20AbWV0YQAqZGVmYXVsdCoAKgBNb2R1bGUAdGhlbgByZXNvbHZlAHJlamVjdABwcm9taXNlAHByb3h5AHJldm9rZQBhc3luYwBleGVjAGdyb3VwcwBzdGF0dXMAcmVhc29uAGdsb2JhbFRoaXMAYmlnaW50AGJpZ2Zsb2F0AGJpZ2RlY2ltYWwAcm91bmRpbmdNb2RlAG1heGltdW1TaWduaWZpY2FudERpZ2l0cwBtYXhpbXVtRnJhY3Rpb25EaWdpdHMAdG9KU09OAE9iamVjdABBcnJheQBFcnJvcgBOdW1iZXIAU3RyaW5nAEJvb2xlYW4AU3ltYm9sAEFyZ3VtZW50cwBNYXRoAEpTT04ARGF0ZQBGdW5jdGlvbgBHZW5lcmF0b3JGdW5jdGlvbgBGb3JJbkl0ZXJhdG9yAFJlZ0V4cABBcnJheUJ1ZmZlcgBTaGFyZWRBcnJheUJ1ZmZlcgBVaW50OENsYW1wZWRBcnJheQBJbnQ4QXJyYXkAVWludDhBcnJheQBJbnQxNkFycmF5AFVpbnQxNkFycmF5AEludDMyQXJyYXkAVWludDMyQXJyYXkAQmlnSW50NjRBcnJheQBCaWdVaW50NjRBcnJheQBGbG9hdDMyQXJyYXkARmxvYXQ2NEFycmF5AERhdGFWaWV3AEJpZ0ludABCaWdGbG9hdABCaWdGbG9hdEVudgBCaWdEZWNpbWFsAE9wZXJhdG9yU2V0AE9wZXJhdG9ycwBNYXAAU2V0AFdlYWtNYXAAV2Vha1NldABNYXAgSXRlcmF0b3IAU2V0IEl0ZXJhdG9yAEFycmF5IEl0ZXJhdG9yAFN0cmluZyBJdGVyYXRvcgBSZWdFeHAgU3RyaW5nIEl0ZXJhdG9yAEdlbmVyYXRvcgBQcm94eQBQcm9taXNlAFByb21pc2VSZXNvbHZlRnVuY3Rpb24AUHJvbWlzZVJlamVjdEZ1bmN0aW9uAEFzeW5jRnVuY3Rpb24AQXN5bmNGdW5jdGlvblJlc29sdmUAQXN5bmNGdW5jdGlvblJlamVjdABBc3luY0dlbmVyYXRvckZ1bmN0aW9uAEFzeW5jR2VuZXJhdG9yAEV2YWxFcnJvcgBSYW5nZUVycm9yAFJlZmVyZW5jZUVycm9yAFN5bnRheEVycm9yAFR5cGVFcnJvcgBVUklFcnJvcgBJbnRlcm5hbEVycm9yADxicmFuZD4AU3ltYm9sLnRvUHJpbWl0aXZlAFN5bWJvbC5pdGVyYXRvcgBTeW1ib2wubWF0Y2gAU3ltYm9sLm1hdGNoQWxsAFN5bWJvbC5yZXBsYWNlAFN5bWJvbC5zZWFyY2gAU3ltYm9sLnNwbGl0AFN5bWJvbC50b1N0cmluZ1RhZwBTeW1ib2wuaXNDb25jYXRTcHJlYWRhYmxlAFN5bWJvbC5oYXNJbnN0YW5jZQBTeW1ib2wuc3BlY2llcwBTeW1ib2wudW5zY29wYWJsZXMAU3ltYm9sLmFzeW5jSXRlcmF0b3IAU3ltYm9sLm9wZXJhdG9yU2V0AEGAuAELtQgBAAAABQABFAUAARUFAAEVBQABFwUAARcBAAEAAQABAAEAAQABAAEAAQABAAEAAQACAAEFAwABCgEBAAABAgEAAQMCAAEBAgABAgMAAQIEAAEDBgABAgMAAQMEAAEEBQABAwMAAQQEAAEFBQABAgIAAQQEAAEDAwABAwMAAQQEAAEFBQADAgENAwEBDQMBAA0DAgENAwIADQMAAQ0DAwEKAQEAAAEAAAABAQIAAQAAAAECAgABAgAAAQEAAAEBAAAGAAAYBQEBDwMCAQoBAgEAAQEBAAEBAQAFAAEXBQABFwUAARcFAQAXBQEAFwUCABcBAgMAAQMAAAYAABgGAAAYBgEAGAUBARcFAQIXBQIAFwECAQABAwAAAQMBAAECAQABAgIAAQMAAAEDAQABBAAABQIBFwUBARcBAgIAAQIBAAECAgABAwIAAQMCAAIDAwUGAgEYAgMBBQYCAhgGAwMYAwABEAMBABADAQEQAwABEQMBABEDAQERAwABEgMBABIDAQESAwAAEAMAARADAQAQAwEAEAMAARIDAQASAwEAEgMAABAFAQAWBQEAFgUAABYFAAEWBQAAFgEBAAABAQEAAQEBAAECAgAKAQAaCgIBGgoBABoKAQAaCgEAGgoBABoHAAIZBwACGQcAAhkFAAIXAQEBAAEBAwABAQMAAQEDAAIDBQUBAQEAAQECAAEDAAABBAQAAQQEAAIEBQUBAAAAAQECAAEBAgABAQIAAQEBAAEBAQABAQEAAQEBAAEBAQABAQIAAQECAAIAAAcCAAAHAgEABwEBAQABAQEAAQEBAAECAQAFAAEXAQIBAAECAQABAgEAAQIBAAECAQABAgEAAQIBAAECAQABAgEAAQIBAAECAQABAgEAAQIBAAECAQABAgEAAQIBAAECAQABAgEAAQIBAAECAQABAgEAAQIBAAEBAQABAgEAAQIBAAEAAAADAAAKAwAACgUAABYHAAEZBwABGQcBABkHAAEZCwACGwcAAhkHAAIZBwEBGQcBAhkHAQEZBQEBEwUAABMBAAEBAQABAQEAAQEBAAEBAQABAQEAAQEBAAEBAQABAQEAAQECAAEGAwABCwIAAQgCAAEIAQABAAIAAQcCAQAHAgEBBwEAAQIBAAECAQABAgEAAQIBAQACAQEAAgEBAAIBAQACAQEBAgEBAQIBAQECAQEBAgEAAQMBAAEDAQABAwEAAQMBAQADAQEAAwEBAAMBAQADAQEBAwEBAQMBAQEDAQEBAwEAAQQBAAEEAQABBAEAAQQBAQAEAQEABAEBAAQBAQAEAQEBBAEBAQQBAQEEAQEBBAEBAQACAQAJAgEACQIAAAkDAAAMAQEBDgEBAQ4BAQEOAQEBDgEBAQABAQEAAQEBAAEBAQCfAAAAoAAAAKEAAABuAGYAaQBuAGkAdAB5AA0AEAA0ADgAQcDAAQuVESsAAAAtAAAAKgAAAC8AAAAlAAAAKioAAHwAAAAmAAAAXgAAADw8AAA+PgAAPj4+AD09AAA8AAAAcG9zAG5lZwArKwAALS0AAH4AAAAAAAAAfTAAAAMAAAAAAAAAogAAAGscAAABAQAAowAAAAAAAADdNwAAAQEAAKQAAAAAAAAArisAAAECAQClAAAAAAAAAOsxAAABAgIApQAAAAAAAACLMgAAAQIEAKUAAAAAAAAAdCoAAAECCAClAAAAAAAAAKg2AAABAhAApQAAAAAAAAD7DgAAAQIgAKUAAAAAAAAAET4AAAMAAAABAAAAVQAAAG80AAADAAAAAgAAAKYAAABjEwAAAwAAAAEAAACnAAAA0i0AAAMAAAAAAAAAqAAAAA1AAAADAAAAAgAAAKkAAACIPwAAAwAAAAEAAACqAAAAdj8AAAMAAAABAAAAqwAAAJc/AAADAAAAAQAAAKwAAAAtPwAAAwAAAAIAAACtAAAAPD8AAAEBAACuAAAAAAAAAPUSAAADAAAAAAwAAK8AAACnPwAAAQMAAF0fAAAAAAAAh0EAAAMIAADwYQAAAwAAAHIxAAADAAAAAgAAALAAAAAfDwAAAwAAAAMAAACxAAAApz8AAAEDAACHQQAAAAAAAIQ1AAADAAAAAgAAALIAAABfFwAAAwAAAAIBAACzAAAAthcAAAMAAAABAQAAtAAAADceAAADAAAAAQEAALUAAAApMQAAAwAAAAEBAAC2AAAAJSQAAAMAAAAAAQAAtwAAAHgwAAABAgAAuAAAAAAAAAAiLQAAAwAAAAEBAAC5AAAAcRwAAAMABAAAAQAAugAAACUZAAADAAAAAAEAALoAAAByHQAAAwAIAAABAAC6AAAATT8AAAMJAAByHQAA/////6c/AAABAwAAIyUAAAAAAACePQAAAwABAAEBAACzAAAANx4AAAMAAQABAQAAtQAAACkxAAADAAEAAQEAALYAAAAlJAAAAwABAAABAAC3AAAAeDAAAAECAQC4AAAAAAAAACItAAADAAEAAQEAALkAAABxHAAAAwABAAABAAC6AAAAJRkAAAMJAABxHAAA/////00/AAADCQAAcRwAAP////9yHQAAAwAJAAABAAC6AAAApz8AAAEDAAC+FwAAAAAAAF8XAAADAAIAAgEAALMAAAC2FwAAAwACAAEBAAC0AAAANx4AAAMAAgABAQAAtQAAACkxAAADAAIAAQEAALYAAACnPwAAAQMAAB8lAAAAAAAAnj0AAAMAAwABAQAAswAAADceAAADAAMAAQEAALUAAAApMQAAAwADAAEBAAC2AAAApz8AAAEDAAC6FwAAAAAAAPUSAAADAAAAAAwAALsAAACnPwAAAQMAAFAfAAAAAAAA9RIAAAMAAQAADAAAuwAAAKc/AAABAwAAQx8AAAAAAAA8PwAAAQEAAK4AAAAAAAAAoigAAAMAAAACAAAAvAAAABUtAAADAAAAAQAAAL0AAADzDgAAAwAAAAEAAAC+AAAApz8AAAEDAACnMQAAAAAAAI4wAAADAAAAAQEAAL8AAADxFwAAAwABAAEBAAC/AAAAcCoAAAMAAAABAQAAwAAAADM9AAADAAEAAQEAAMAAAADEDgAAAwACAAEBAADAAAAAazgAAAMAAAABAAAAwQAAADw/AAABAQAArgAAAAAAAACnPwAAAQMAAFomAAAAAAAAXz8AAAMAAAAAAAAAwgAAAPUSAAADAAAAAQEAAMMAAABsJQAAAwABAAEBAADDAAAA6xAAAAMAAgABAQAAwwAAAPUSAAADAAAAAQEAAMQAAABsJQAAAwABAAEBAADEAAAA6xAAAAMAAgABAQAAxAAAAKc/AAABAwAAxh8AAAAAAACnPwAAAQMAAEMmAAAAAAAAYS8AAAMAAAAAAAAAxQAAANItAAADABMAAAEAAMYAAAC8PwAAAwAAAAEAAADHAAAASy4AAAMAAwAAAQAAxgAAACouAAADCQAASy4AAP////8/LgAAAwAjAAABAADGAAAA2y0AAAMAEQAAAQAAxgAAAPstAAADABIAAAEAAMYAAAAbLgAAAwAzAAABAADGAAAA6C0AAAMAMQAAAQAAxgAAAAguAAADADIAAAEAAMYAAAAaFwAAAwAAAAAAAADIAAAAxTIAAAMAAAAAAAAAxQAAADMkAAADAAEBAAEAAMkAAABHJAAAAwABAAABAADJAAAAYiQAAAMAAAAAAQAAyQAAAP8rAAADABEAAAEAAMkAAAAULAAAAwAQAAABAADJAAAAPzEAAAMAIQAAAQAAyQAAAFIxAAADACAAAAEAAMkAAACoGgAAAwAxAAABAADJAAAAvRoAAAMAMAAAAQAAyQAAAIMcAAADAEEAAAEAAMkAAACcHAAAAwBAAAABAADJAAAA8B0AAAMAUQAAAQAAyQAAAAkeAAADAFAAAAEAAMkAAACvHQAAAwBhAAABAADJAAAA0h0AAAMAYAAAAQAAyQAAAN0PAAADAHEAAAEAAMkAAADkDwAAAwBwAAABAADJAAAAvTIAAAMAAAABAAAAygAAAJ8dAAADAHEGAQEAAMsAAAC/HQAAAwBwBgEBAADLAAAA5R0AAAMAcQUCAQAAywAAAPsdAAADAHAFAgEAAMsAAAB4HAAAAwBxBAMBAADLAAAAjhwAAAMAcAQDAQAAywAAAJ8aAAADAHEDBAEAAMsAAACxGgAAAwBwAwQBAADLAAAANzEAAAMAMQIBAQAAywAAAEcxAAADADACAQEAAMsAAAD2KwAAAwAxAQIBAADLAAAACCwAAAMAMAECAQAAywAAACskAAADAAAAAQAAAMwAAAA7JAAAAwAxAAMBAADLAAAAUyQAAAMAMAADAQAAywAAAIVBAAADAAAAAQAAAM0AAABTdW5Nb25UdWVXZWRUaHVGcmlTYXQAQeDRAQskSmFuRmViTWFyQXByTWF5SnVuSnVsQXVnU2VwT2N0Tm92RGVjAEGQ0gEL5g4fAAAAHAAAAB8AAAAeAAAAHwAAAB4AAAAfAAAAHwAAAB4AAAAfAAAAHgAAAB8AAAD4EAAAAwAAAAAAAADOAAAAcjEAAAMAAAABAAAAzwAAAE5EAAADAAAABwAAANAAAACam5ydnqChoq2ur5+fAAAA0i0AAAMAAAAAAAAA0QAAAGEvAAADAAAAAAAAANIAAACnPwAAAQMAAIgWAAAAAAAAXkEAAAMAAAACAQAA0wAAAGZBAAADAAEAAgEAANMAAABIEQAAAwABAAIBAADUAAAATREAAAMAAgACAQAA1AAAAFcRAAADAAMAAgEAANQAAABSEQAAAwAGAAIBAADUAAAAPykAAAMAEQACAQAA1AAAAEcpAAADABIAAgEAANQAAABXKQAAAwATAAIBAADUAAAATykAAAMAFgACAQAA1AAAAJETAAADAAAAAQEAANUAAABpKQAAAwABAAEBAADVAAAAhUUAAAMAAAABAQAA1gAAAPMMAAADAAEAAQEAANYAAADSLQAAAwAAAAAAAADXAAAAYTQAAAMDAAA8IAAAAAAAALo1AAADAwAATE8AAAAAAAAwMQAAAwAAAAIAAADYAAAAeC8AAAMAAAABAQAA2QAAAGkvAAADAAAAAgAAANoAAABADgAAAwAAAAMBAADbAAAAYR0AAAMAAAACAAAA3AAAAMUcAAADAAAAAQAAAN0AAAD+GwAAAwAAAAEAAADeAAAAJRkAAAMAAAABAQAA3wAAAHEcAAADAAEAAQEAAN8AAAByHQAAAwACAAEBAADfAAAApDQAAAMAAAABAQAA4AAAAKcbAAADAAAAAQEAAOEAAACzHgAAAwAAAAIBAADiAAAAyRoAAAMAAAABAAAA4wAAACwcAAADAAAAAgAAAOQAAABHKAAAAwAAAAIAAADlAAAAqSsAAAMAAAABAQAA5gAAAIcwAAADAAEAAQEAAOYAAABZPQAAAwAAAAEBAADnAAAAVygAAAMAAQABAQAA5wAAAJQaAAADAAAAAQAAAOgAAAB6HQAAAwAAAAEAAADpAAAA0i0AAAMAAAAAAAAA6gAAABsuAAADAAAAAAAAAOsAAABhLwAAAwAAAAAAAADsAAAA+g0AAAMAAAABAAAA7QAAAIcvAAADAAAAAQAAAO4AAAAUNQAAAwAAAAEAAADvAAAAIz8AAAEBAADwAAAA8QAAABI/AAADAAAAAgEAAPIAAADwPgAAAwABAAIBAADyAAAAAT8AAAMAAAABAQAA8wAAAN8+AAADAAEAAQEAAPMAAABvKgAAAwAAAAEAAAD0AAAAyA4AAAMAAAACAQAA9QAAAHE5AAADAAAAAQAAAPYAAADSLQAAAwAAAAAAAAD3AAAA+D8AAAMAAAABAAAA+AAAAGY0AAABAQAA+QAAAAAAAAADJAAAAQEAAPoAAAAAAAAATT8AAAMAAAAAAAAAwgAAAAAZAAADAAAAAQAAAPsAAAC+DgAAAwAAAAEBAAD8AAAAnzIAAAMAAQABAQAA/AAAACItAAADAAIAAQEAAPwAAAATJQAAAwADAAEBAAD8AAAAUiEAAAMABAABAQAA/AAAANY3AAADAAAAAQEAAP0AAADbFgAAAwABAAEBAAD9AAAALioAAAMAAAABAAAA/gAAAGw5AAADAAAAAQEAAP8AAABDEAAAAwABAAEBAAD/AAAATS8AAAMAAAABAAAAAAEAAFUvAAADAAAAAQAAAAEBAACWHQAAAwAAAAEAAAACAQAA5icAAAMAAAABAQAAAwEAANItAAADAAAAAAAAAAQBAAAbLgAAAwABAAABAAADAQAAzyQAAAMAAAAAAQAABQEAAMIsAAADAAAAAQEAAAYBAADpFgAAAwABAAABAAAFAQAA5xYAAAMAAQABAQAABgEAAGoxAAADAAAAAAAAAAcBAACWEwAAAwAAAAEAAAAIAQAAXjgAAAMAAAACAQAACQEAAGQ4AAADAAEAAgEAAAkBAADvJwAAAwAAAAIAAAAKAQAAFyUAAAMAAQABAQAACwEAAOkYAAADAAAAAAEAAAsBAABxHAAAAwABAAABAAA9AAAATT8AAAMJAABxHAAA/////yUZAAADAAAAAAEAAD0AAAByHQAAAwACAAABAAA9AAAAyg8AAAMAAAABAAAADAEAAC4pAAADAAAAAQAAAA0BAACpLgAAAwAAAAAAAAAOAQAAPD8AAAEBAACuAAAAAAAAAPUSAAADAAAAAAwAAD4AAACnPwAAAQMAADQfAAAAAAAAjxYAAAMAAAACAAAADwEAAN4YAAADAAAAAQAAABABAABtQQAAAwAAAAEAAAARAQAAIDEAAAMAAAABAAAAEgEAAHFCAAADAAAAAQEAABMBAABCFgAAAwABAAEBAAATAQAAZ0IAAAMAAAABAQAAFAEAAC8WAAADAAEAAQEAABQBAABdMgAAAwAAAAEAAAAVAQAAWzIAAAMAAAABAAAAFgEAAHUOAAAABgAAAAAAAAAA8H+BQQAAAAYAAAAAAAAAAPh/rDwAAAAHAEGA4QELVbsrAAADAAAAAAAAABcBAABBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OUAqXystLi8AQeDhAQuWA5srAAADAAAAAQAAABgBAADbOgAAAwAAAAEAAAAZAQAA1ScAAAMAAAABAAAAGgEAANItAAADAAAAAQEAABsBAAAbLgAAAwABAAABAAAbAQAAYS8AAAMAAAAAAAAAHAEAAI8WAAADCQAAjxYAAAAAAADeGAAAAwkAAN4YAAAAAAAAbUEAAAMAAAABAAAAHQEAACAxAAADAAAAAQAAAB4BAAAeIwAAAwAAAAEAAAAfAQAAKCMAAAMAAAABAAAAIAEAABtDAAAABgAA////////738lQwAAAAYAAAEAAAAAAAAAgUEAAAAGAAAAAAAAAAD4f0dAAAAABgAAAAAAAAAA8P81QAAAAAYAAAAAAAAAAPB/jEEAAAAGAAAAAAAAAACwPDxBAAAABgAA////////P0NNQQAAAAYAAP///////z/D0i0AAAMAAAAAAAAAIQEAAGEvAAADAAAAAAAAACIBAACGNwAAAwAAAAEAAAAjAQAAqBUAAAMAAAABAAAAJAEAAEQRAAADAAAAAQAAACUBAACaLAAAAQQAQYDlAQviBhoZAAADAAAAAQAAACYBAAATGQAAAwAAAAEAAAAnAQAAABkAAAMAAAABAAAAKAEAAAcZAAADAAAAAQAAACkBAABNLwAAAwAAAAEBAAAqAQAAVS8AAAMAAQABAQAAKgEAAJYdAAADAAAAAQEAACsBAABBLAAAAwACAAEBAAArAQAANiwAAAMAAQABAQAAKwEAAA8tAAADANIAAQEAACwBAAB7KgAAAwDTAAEBAAAsAQAAGy0AAAMA1QABAQAALAEAALcWAAADAAAAAgAAAC0BAABfLQAAAwAAAAIAAAAuAQAAmB4AAAMAAAACAAAALwEAAF44AAADAAAAAgAAADABAAD5GAAAAwAAAAEAAAAxAQAAcDgAAAMAAAACAQAAMgEAAIQqAAADAAEAAgEAADIBAAA+OgAAAwABAAEBAAAzAQAAqhMAAAMAAAABAQAAMwEAADopAAADAAMAAAEAADQBAAA2OgAAAwACAAABAAA0AQAA0RYAAAMJAAA2OgAA/////6ATAAADAAEAAAEAADQBAADvFgAAAwkAAKATAAD/////0i0AAAMAAAAAAAAANQEAAGEvAAADAAAAAAAAADUBAAAYMQAAAwAAAAEAAAA2AQAA9jEAAAMAAAABAAAANwEAAK8xAAADAAEAAAEAADgBAADNMQAAAwAAAAABAAA4AQAAuzEAAAMAAQAAAQAAOAEAANkxAAADAAAAAAEAADgBAABNPwAAAwAFAAABAAA9AAAAUiAAAAMAAAABAQAAOQEAAIcuAAADAAEAAAEAADkBAAC1KwAAAwACAAABAAA5AQAARToAAAMAAwAAAQAAOQEAANU6AAADAAQAAAEAADkBAABIIAAAAwAFAAEBAAA5AQAAmi8AAAMABgABAQAAOQEAABceAAADAAcAAAEAADkBAAC2KwAAAwAIAAEBAAA5AQAAaSoAAAMACQAAAQAAOQEAAI41AAADAAoAAAEAADkBAAB5PgAAAwALAAABAAA5AQAAvSQAAAMADAAAAQAAOQEAAN0+AABhNAAAhy4AAAAAAAC1KwAAAAAAANI+AAAAAAAAEhMAAAAAAACQFQAATCAAAJAVAAB4MAAA9CsAAAAAAADdPgAA2y4AAGkqAAAAAAAAjjUAAAAAAAB5PgAAAAAAAL0kAEHw6wELsRL1EgAAAwAAAAAMAAA6AQAApz8AAAEDAABkHwAAAAAAAL0sAAADCAAAIHYAACwAAADrJwAAAwAAAAIBAAA7AQAAfRAAAAMAAQACAQAAOwEAAB8eAAADAAAAAQYAADwBAABCIAAAAwAAAAEGAAA9AQAAjyoAAAMAAAABBgAAPgEAADo5AAADAAAAAQYAAD8BAACREwAAAwAAAAEGAABAAQAAFBsAAAMAAAABBgAAQQEAAOEnAAADAAAAAQYAAEIBAADbKAAAAwAAAAEGAABDAQAAekUAAAMAAAACBwAARAEAABUbAAADAAAAAQYAAEUBAACyJAAAAwAAAAEGAABGAQAALS0AAAMAAAABBgAARwEAAPQQAAADAAAAAgcAAEgBAADiJwAAAwAAAAEGAABJAQAA3CgAAAMAAAABBgAASgEAAAg+AAADAAAAAQYAAEsBAABSKAAAAwAAAAEGAABMAQAAyCwAAAMAAAABBgAATQEAAOAsAAADAAAAAQYAAE4BAADmLAAAAwAAAAEGAABPAQAAxywAAAMAAAABBgAAUAEAAN8sAAADAAAAAQYAAFEBAADlLAAAAwAAAAEGAABSAQAAJEYAAAMAAAABBgAAUwEAAD4lAAADAAAAAQYAAFQBAACARQAAAwAAAAEGAABVAQAAukYAAAMAAAABBgAAVgEAAJsTAAADAAAAAQYAAFcBAADREwAAAwAAAAIAAABYAQAAMykAAAMAAAAAAAAAWQEAAC45AAADAAAAAQYAAFoBAABxKQAAAwAAAAIAAABbAQAAoUUAAAMAAAABAAAAXAEAAKc/AAABAwAAvSwAAAAAAADlQwAAAAYAAGlXFIsKvwVAwEYAAAAGAAAWVbW7sWsCQJ1FAAAABgAA7zn6/kIu5j/aQwAAAAYAAP6CK2VHFfc/4EMAAAAGAAAO5SYVe8vbP3tCAAAABgAAGC1EVPshCUCPRQAAAAYAAM07f2aeoOY/l0UAAAAGAADNO39mnqD2P+kXAAADCAAA8HgAAA4AAADIDgAAAwAAAAMAAABdAQAAwhcAAAMAAAACAAAAXgEAAEAOAAADAAEAAwEAANsAAAAdDgAAAwAAAAIAAABfAQAAthcAAAMAAAACAAAAYAEAALMeAAADAAEAAgEAAOIAAAB4LwAAAwABAAEBAADZAAAANx4AAAMAAAACAAAAYQEAAKQ0AAADAAEAAQEAAOAAAABaGQAAAwAAAAEAAABiAQAApxsAAAMAAQABAQAA4QAAAF8XAAADAAAAAwAAAGMBAABpLwAAAwAAAAIAAABkAQAApz8AAAEDAADpFwAAAAAAANItAAADAAAAAAAAAGUBAABhLwAAAwAAAAAAAABmAQAAvD8AAAMAAAABAAAAZgEAAKc/AAABAwAAgykAAAAAAACtJQAAAQEAAGcBAAAAAAAAWSAAAAMAAAABAAAAaAEAAF0gAAADAAAAAQAAAGkBAAD1EgAAAwAAAAEMAABqAQAAbCUAAAMAAQABDAAAagEAAOsQAAADAAIAAQwAAGoBAACnPwAAAQMAAMsfAAAAAAAApz8AAAEDAABIJgAAAAAAAKksAAABAhMAawEAAAAAAABeOAAAAwATAAIBAABsAQAApz8AAAEDAABkIwAAAAAAADQRAAADAAAAAQAAAG0BAAA8PwAAAQEAAK4AAAAAAAAAqSwAAAECFABrAQAAAAAAAF44AAADABQAAgEAAGwBAACnPwAAAQMAAD0jAAAAAAAAPD8AAAEBAACuAAAAAAAAAJosAAABAQAAbgEAAAAAAAA2IwAAAQIAAG8BAAAAAAAAqSwAAAECAABwAQAAAAAAAA8XAAABAgAAcQEAAAAAAABfFwAAAwAAAAEAAAByAQAAcRwAAAMAAQAAAQAAcwEAAE0/AAADCQAAcRwAAP////8lGQAAAwAAAAABAABzAQAAch0AAAMAAgAAAQAAcwEAAKc/AAABAQAAdAEAAAAAAADvJwAAAwAAAAIAAAB1AQAAvg4AAAMACAABAQAA/AAAAJ8yAAADAAkAAQEAAPwAAAAiLQAAAwAKAAEBAAD8AAAAEyUAAAMACwABAQAA/AAAAFIhAAADAAwAAQEAAPwAAADWNwAAAwAIAAEBAAD9AAAA2xYAAAMACQABAQAA/QAAAC4qAAADAAAAAQAAAHYBAABsOQAAAwAAAAEBAAB3AQAAQxAAAAMAAQABAQAAdwEAAGoxAAADAAAAAAAAAHgBAABeOAAAAwAAAAIAAAB5AQAAKQ8AAAMAAAACAAAAegEAAJYTAAADAAAAAQAAAHsBAADmJwAAAwAAAAEBAAB8AQAAGy4AAAMAAQAAAQAAfAEAAE0vAAADAAAAAQEAAH0BAABVLwAAAwABAAEBAAB9AQAAlh0AAAMA//8BAQAAfQEAAC4pAAADAAAAAQAAAH4BAACpLgAAAwAAAAAAAAB/AQAAPD8AAAEBAACuAAAAAAAAADYjAAABAgEAbwEAAAAAAACpLAAAAQIBAHABAAAAAAAADxcAAAECAQBxAQAAAAAAAMFEAAADABYAAQEAAIABAACwRAAAAwAXAAEBAACAAQAAFUUAAAMAGAABAQAAgAEAAAJFAAADABkAAQEAAIABAADERQAAAwAaAAEBAACAAQAAsUUAAAMAGwABAQAAgAEAAE5FAAADABwAAQEAAIABAAA1RQAAAwAdAAEBAACAAQAA2EUAAAMAHgABAQAAgAEAAGVFAAADAB8AAQEAAIABAAC5RAAAAwAWAAIBAACBAQAAp0QAAAMAFwACAQAAgQEAAAxFAAADABgAAgEAAIEBAAD4RAAAAwAZAAIBAACBAQAAu0UAAAMAGgACAQAAgQEAAKdFAAADABsAAgEAAIEBAABCRQAAAwAcAAIBAACBAQAAKEUAAAMAHQACAQAAgQEAAM1FAAADAB4AAgEAAIEBAABaRQAAAwAfAAIBAACBAQAApz8AAAEDAAA7EQAAAAAAACQAAAAhAAAAIgAAAAcAAAAFAAAAIQAAACEAAAAhAAAAIQAAACEAAAAhAAAABAAAAAYAAAAhAAAAIQAAACEAAAAhAAAAIQAAAAQAAAABAAAAAgAAAAEAAAAEAAAAAQAAAAEAAAAIAAAAEAAAAAEAAAAgAEGs/gELIQIAAAAAAAAAAQAAAAEAAAABAAAADwAAAA4AAAARAAAAEABB+P4BCzECAAAAAwAAAAQAAAAAAAAAAQAAAAUAAAAJAAAACgAAAAsAAAANAAAADQAAAA0AAAANAEG0/wELBQwAAAAMAEHE/wELCQcAAAAIAAAABgBB2P8BC34EAAAALQAAAC0AAABUAAAAOgAAADoAAAAuAAAAfkgAAMRMAAB4SAAAggEAAIMBAACCAQAAhAEAAIUBAACGAQAAhwEAAIgBAACJAQAAigEAAIsBAACMAQAAjQEAAIwBAACOAQAAjwEAAJABAACRAQAAkgEAAJMBAACUAQAAlQEAQeCAAgsqCgAJAA4AIAAhAKAAoQCAFoEWACALICggKiAvIDAgXyBgIAAwATD//gD/AEGUgQILLRAAAAD+//+H/v//BwAAAAAQAP8D/v//h/7//we8gAAAYIAAANCAAAABADAAOgBB0IECCxEEADAAOgBBAFsAXwBgAGEAewBB8IECC8QLAQMFAQEBAQUFBQECAgMFBQEBAQICAwMFBQEFAREAAAAwmiAAAJowAHOBWgAwF2AAMAdsALOBbwAAF3AAAAd8AACBfwBAMIAAwwGYAJCBmABABpkAQJCcALSBpABALqUAMAG8AECGvABwgb8AAAHAADCBwABABMEAMAHDAECCwwAwgsQAQILFADABxwAwgccAMAHIAECCyAAwgckAMAHKAACBygAwAcsAMIHLAEACzAAAAc0AMAHOADCBzgAAAc8AMIHPAEAG0AAwAdMAQILTADCB1ABAAtYAMAHXAECC1wAwgtgAQITZADCB2wBAAtwAQALeAACB3wBQA+IAUIPjAFAD5QBAkOYAAIHuAEAS7wC0AfgAUIP4AEAC+gAwAfsAMIH7AEAo/AAwARABQBIRATEBHQFAgh0BMIEeATEBHwEBgh8BQIIgATCBIQEwASIBMIEiAUAKIwEBASgBAYEoAQEBKQEAgSkBAAEqAQACKwEAgSwBAIEtAQEBLgEAATABAYEwAQCBMQEBgTIBAQEzAQABNAEAgTQBAQE1AQGBNQEBATYBAIE3AQGBOAEAATkBAIE6AQGBPgEAAUABAQFBAQCBQQEBgUMBAAFEAQCBRAEAAkUBAAFGAQABSQEBgU4BAQFPAXOBogFABLgBQAK7AQCDvQEwgb8BMAHDATADxAEwAcYBMALHAdAByAEwkcgBMInRAQAB1gEAg9YB0wHYAQCR2AFzAeEBAInhAQAB5gEAguYBMIHnAXMB6AFzgegBc4HqAXMB6wEAgesBQBjsAXMB+AFzgfgBAAH5AQCB+QGgAfoBc4H6AUCC+wEwgfwBQAL9ATCD/gEwEAACMCAIAgAgGAIAECgCQCIwAkA2RQIwAWACQI5gAgCBZwJAYGgCMKaYAgCmsAK1gcMCMSZQCDGBYwgxgWYIACtoCACDfggRUNAJEAb4CSAG/Al0AUAOdIFADnQBQQ50gUEOdAFCDnSBQg50AUMOgIFDDoABRA4wK0gOMINeDgGBvA4Bgb4OAQHHDkB+AA9AGD8PtQFLD7aBSw+2AUwPtoFMD7cBTQ+AgU0PMAFPD0BgUA8ACIAPMAiEDwAGiA8wBowPAAiQDzAIlA8ACJgPMAicDwAGoA8wBqQPsAGoDwCBqA/T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iaCCsQARDAiAqCSBQOs4CYlgTyOAQuCPj48Rl4JAv4mkgEK8gEDhgECUhEEkiUVWEAyDpxOAQKSBQjwfiUFwgUCYikCugrSOnomOg6yKtIkqo42AiSGrgIuCr407gIvRiyhAn4uEiSu2CDEJgoiAiQkyhEC/kYiJGNCTi4lA1DGImoHRkI6J0IyHidKOg4lA8Y5ApInFKAkYAIGLifYxMoCbiacwH4CIiq2PQZQ4h4+Jt5WAjfkqAAgwB4mvIAgniUFIg2BLaIlAhYS6hpiJQ/QAtjPQgIqBYEyqgVTFIi85hp2DQJOCRYixQf+2g7E4jYCVII5FTzCQDgEEQQSGiIlBoY1F1YbsNIlSlYlsBQVA7wBBoKcCC6MS+gYAhAkA8AoAcAwA9A0AShAgGhggdBsg3SAADKgAWqogGv8ArQ4BOBIhwRUh5Rkhqh0hjNFBSuEh8AEOAAAAAEFkbGFtLEFkbG0AQWhvbSxBaG9tAEFuYXRvbGlhbl9IaWVyb2dseXBocyxIbHV3AEFyYWJpYyxBcmFiAEFybWVuaWFuLEFybW4AQXZlc3RhbixBdnN0AEJhbGluZXNlLEJhbGkAQmFtdW0sQmFtdQBCYXNzYV9WYWgsQmFzcwBCYXRhayxCYXRrAEJlbmdhbGksQmVuZwBCaGFpa3N1a2ksQmhrcwBCb3BvbW9mbyxCb3BvAEJyYWhtaSxCcmFoAEJyYWlsbGUsQnJhaQBCdWdpbmVzZSxCdWdpAEJ1aGlkLEJ1aGQAQ2FuYWRpYW5fQWJvcmlnaW5hbCxDYW5zAENhcmlhbixDYXJpAENhdWNhc2lhbl9BbGJhbmlhbixBZ2hiAENoYWttYSxDYWttAENoYW0sQ2hhbQBDaGVyb2tlZSxDaGVyAENob3Jhc21pYW4sQ2hycwBDb21tb24sWnl5eQBDb3B0aWMsQ29wdCxRYWFjAEN1bmVpZm9ybSxYc3V4AEN5cHJpb3QsQ3BydABDeXJpbGxpYyxDeXJsAERlc2VyZXQsRHNydABEZXZhbmFnYXJpLERldmEARGl2ZXNfQWt1cnUsRGlhawBEb2dyYSxEb2dyAER1cGxveWFuLER1cGwARWd5cHRpYW5fSGllcm9nbHlwaHMsRWd5cABFbGJhc2FuLEVsYmEARWx5bWFpYyxFbHltAEV0aGlvcGljLEV0aGkAR2VvcmdpYW4sR2VvcgBHbGFnb2xpdGljLEdsYWcAR290aGljLEdvdGgAR3JhbnRoYSxHcmFuAEdyZWVrLEdyZWsAR3VqYXJhdGksR3VqcgBHdW5qYWxhX0dvbmRpLEdvbmcAR3VybXVraGksR3VydQBIYW4sSGFuaQBIYW5ndWwsSGFuZwBIYW5pZmlfUm9oaW5neWEsUm9oZwBIYW51bm9vLEhhbm8ASGF0cmFuLEhhdHIASGVicmV3LEhlYnIASGlyYWdhbmEsSGlyYQBJbXBlcmlhbF9BcmFtYWljLEFybWkASW5oZXJpdGVkLFppbmgsUWFhaQBJbnNjcmlwdGlvbmFsX1BhaGxhdmksUGhsaQBJbnNjcmlwdGlvbmFsX1BhcnRoaWFuLFBydGkASmF2YW5lc2UsSmF2YQBLYWl0aGksS3RoaQBLYW5uYWRhLEtuZGEAS2F0YWthbmEsS2FuYQBLYXlhaF9MaSxLYWxpAEtoYXJvc2h0aGksS2hhcgBLaG1lcixLaG1yAEtob2praSxLaG9qAEtoaXRhbl9TbWFsbF9TY3JpcHQsS2l0cwBLaHVkYXdhZGksU2luZABMYW8sTGFvbwBMYXRpbixMYXRuAExlcGNoYSxMZXBjAExpbWJ1LExpbWIATGluZWFyX0EsTGluYQBMaW5lYXJfQixMaW5iAExpc3UsTGlzdQBMeWNpYW4sTHljaQBMeWRpYW4sTHlkaQBNYWthc2FyLE1ha2EATWFoYWphbmksTWFoagBNYWxheWFsYW0sTWx5bQBNYW5kYWljLE1hbmQATWFuaWNoYWVhbixNYW5pAE1hcmNoZW4sTWFyYwBNYXNhcmFtX0dvbmRpLEdvbm0ATWVkZWZhaWRyaW4sTWVkZgBNZWV0ZWlfTWF5ZWssTXRlaQBNZW5kZV9LaWtha3VpLE1lbmQATWVyb2l0aWNfQ3Vyc2l2ZSxNZXJjAE1lcm9pdGljX0hpZXJvZ2x5cGhzLE1lcm8ATWlhbyxQbHJkAE1vZGksTW9kaQBNb25nb2xpYW4sTW9uZwBNcm8sTXJvbwBNdWx0YW5pLE11bHQATXlhbm1hcixNeW1yAE5hYmF0YWVhbixOYmF0AE5hbmRpbmFnYXJpLE5hbmQATmV3X1RhaV9MdWUsVGFsdQBOZXdhLE5ld2EATmtvLE5rb28ATnVzaHUsTnNodQBOeWlha2VuZ19QdWFjaHVlX0htb25nLEhtbnAAT2doYW0sT2dhbQBPbF9DaGlraSxPbGNrAE9sZF9IdW5nYXJpYW4sSHVuZwBPbGRfSXRhbGljLEl0YWwAT2xkX05vcnRoX0FyYWJpYW4sTmFyYgBPbGRfUGVybWljLFBlcm0AT2xkX1BlcnNpYW4sWHBlbwBPbGRfU29nZGlhbixTb2dvAE9sZF9Tb3V0aF9BcmFiaWFuLFNhcmIAT2xkX1R1cmtpYyxPcmtoAE9yaXlhLE9yeWEAT3NhZ2UsT3NnZQBPc21hbnlhLE9zbWEAUGFoYXdoX0htb25nLEhtbmcAUGFsbXlyZW5lLFBhbG0AUGF1X0Npbl9IYXUsUGF1YwBQaGFnc19QYSxQaGFnAFBob2VuaWNpYW4sUGhueABQc2FsdGVyX1BhaGxhdmksUGhscABSZWphbmcsUmpuZwBSdW5pYyxSdW5yAFNhbWFyaXRhbixTYW1yAFNhdXJhc2h0cmEsU2F1cgBTaGFyYWRhLFNocmQAU2hhdmlhbixTaGF3AFNpZGRoYW0sU2lkZABTaWduV3JpdGluZyxTZ253AFNpbmhhbGEsU2luaABTb2dkaWFuLFNvZ2QAU29yYV9Tb21wZW5nLFNvcmEAU295b21ibyxTb3lvAFN1bmRhbmVzZSxTdW5kAFN5bG90aV9OYWdyaSxTeWxvAFN5cmlhYyxTeXJjAFRhZ2Fsb2csVGdsZwBUYWdiYW53YSxUYWdiAFRhaV9MZSxUYWxlAFRhaV9UaGFtLExhbmEAVGFpX1ZpZXQsVGF2dABUYWtyaSxUYWtyAFRhbWlsLFRhbWwAVGFuZ3V0LFRhbmcAVGVsdWd1LFRlbHUAVGhhYW5hLFRoYWEAVGhhaSxUaGFpAFRpYmV0YW4sVGlidABUaWZpbmFnaCxUZm5nAFRpcmh1dGEsVGlyaABVZ2FyaXRpYyxVZ2FyAFZhaSxWYWlpAFdhbmNobyxXY2hvAFdhcmFuZ19DaXRpLFdhcmEAWWV6aWRpLFllemkAWWksWWlpaQBaYW5hYmF6YXJfU3F1YXJlLFphbmIAQdC5AguxFMAZmUWFGZlFrhmARY4ZgEWEGZZFgBmeRYAZ4WBFphmERYQZgQ2TGeAPN4MrgBmCKwGDK4AZgCsDgCuAGYArgBmCKwCAKwCT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ayxNb2RpZmllcl9TeW1ib2wAU28sT3RoZXJfU3ltYm9sAFBjLENvbm5lY3Rvcl9QdW5jdHVhdGlvbgBQZCxEYXNoX1B1bmN0dWF0aW9uAFBzLE9wZW5fUHVuY3R1YXRpb24AUGUsQ2xvc2VfUHVuY3R1YXRpb24AUGksSW5pdGlhbF9QdW5jdHVhdGlvbgBQZixGaW5hbF9QdW5jdHVhdGlvbgBQbyxPdGhlcl9QdW5jdHVhdGlvbgBacyxTcGFjZV9TZXBhcmF0b3IAWmwsTGluZV9TZXBhcmF0b3IAWnAsUGFyYWdyYXBoX1NlcGFyYXRvcgBDYyxDb250cm9sLGNudHJsAENmLEZvcm1hdABDcyxTdXJyb2dhdGUAQ28sUHJpdmF0ZV9Vc2UATEMsQ2FzZWRfTGV0dGVyAEwsTGV0dGVyAE0sTWFyayxDb21iaW5pbmdfTWFyawBOLE51bWJlcgBTLFN5bWJvbABQLFB1bmN0dWF0aW9uLHB1bmN0AFosU2VwYXJhdG9yAEMsT3RoZXIAQdDZAguwCA4AAAA+AAAAwAEAAAAOAAAA8AAAAAB/AAAAgAMBAAA8QVNDSUlfSGV4X0RpZ2l0LEFIZXgAQmlkaV9Db250cm9sLEJpZGlfQwBEYXNoAERlcHJlY2F0ZWQsRGVwAERpYWNyaXRpYyxEaWEARXh0ZW5kZXIsRXh0AEhleF9EaWdpdCxIZXgASURTX0JpbmFyeV9PcGVyYXRvcixJRFNCAElEU19UcmluYXJ5X09wZXJhdG9yLElEU1QASWRlb2dyYXBoaWMsSWRlbwBKb2luX0NvbnRyb2wsSm9pbl9DAExvZ2ljYWxfT3JkZXJfRXhjZXB0aW9uLExPRQBOb25jaGFyYWN0ZXJfQ29kZV9Qb2ludCxOQ2hhcgBQYXR0ZXJuX1N5bnRheCxQYXRfU3luAFBhdHRlcm5fV2hpdGVfU3BhY2UsUGF0X1dTAFF1b3RhdGlvbl9NYXJrLFFNYXJrAFJhZGljYWwAUmVnaW9uYWxfSW5kaWNhdG9yLFJJAFNlbnRlbmNlX1Rlcm1pbmFsLFNUZXJtAFNvZnRfRG90dGVkLFNEAFRlcm1pbmFsX1B1bmN0dWF0aW9uLFRlcm0AVW5pZmllZF9JZGVvZ3JhcGgsVUlkZW8AVmFyaWF0aW9uX1NlbGVjdG9yLFZTAFdoaXRlX1NwYWNlLHNwYWNlAEJpZGlfTWlycm9yZWQsQmlkaV9NAEVtb2ppAEVtb2ppX0NvbXBvbmVudCxFQ29tcABFbW9qaV9Nb2RpZmllcixFTW9kAEVtb2ppX01vZGlmaWVyX0Jhc2UsRUJhc2UARW1vamlfUHJlc2VudGF0aW9uLEVQcmVzAEV4dGVuZGVkX1BpY3RvZ3JhcGhpYyxFeHRQaWN0AERlZmF1bHRfSWdub3JhYmxlX0NvZGVfUG9pbnQsREkASURfU3RhcnQsSURTAENhc2VfSWdub3JhYmxlLENJAEFTQ0lJAEFscGhhYmV0aWMsQWxwaGEAQW55AEFzc2lnbmVkAENhc2VkAENoYW5nZXNfV2hlbl9DYXNlZm9sZGVkLENXQ0YAQ2hhbmdlc19XaGVuX0Nhc2VtYXBwZWQsQ1dDTQBDaGFuZ2VzX1doZW5fTG93ZXJjYXNlZCxDV0wAQ2hhbmdlc19XaGVuX05GS0NfQ2FzZWZvbGRlZCxDV0tDRgBDaGFuZ2VzX1doZW5fVGl0bGVjYXNlZCxDV1QAQ2hhbmdlc19XaGVuX1VwcGVyY2FzZWQsQ1dVAEdyYXBoZW1lX0Jhc2UsR3JfQmFzZQBHcmFwaGVtZV9FeHRlbmQsR3JfRXh0AElEX0NvbnRpbnVlLElEQwBMb3dlcmNhc2UsTG93ZXIATWF0aABVcHBlcmNhc2UsVXBwZXIAWElEX0NvbnRpbnVlLFhJREMAWElEX1N0YXJ0LFhJRFMAQZDiAgu0IIEAKACXACoAgYAqAJfAKwAVgSwAlwAtAIFALQCXAC4AFUEuAJkBLwAWIDAAQghAAEKKRABCBEoAlgBMABeBTABCAk0AQkNOAC/BTwBCw1AAv0BSAEIDUwBCCVUAQghaAJYAXgBCQ14AgcBfAEIBaABCwWsAhQFxABfDcQBESHMARIN3AEKDeQC+AnsAl0F8AEIBfQBEBH4AQg6AAEKBhwBEh4kAgwSsABcDtgCDArgAFALQAJYA0QCAAN0Al4DeAICA3wCXAOEAPkHhAIDA4QC+BOIAroPqAK6C8gCtAfQALsH0AANB9QADA/wAgUD+AD4CAAG+wAEBvgEDAb5ABgG+QA4BPgIUAb7AFQG+ARcBRIEdAURBMAFEAjQBRIE1AUSDNgFEgzgBRIY6AUQBPgGFwGEB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SHpUSHq8AxMhbQATIWQAEyFrABMhZgBtbgBtvANtbQBtYwBtawBtYwAKCk8ACk9tALIAYwAICk8KClAAClBtALMAawBtALMAbQAVInMAbQAVInMAsgBQYWtQYU1QYUdQYXJhZHJhZNFzcgBhAGQAFSJzALIAcABzbgBzvANzbQBzcABWbgBWvANWbQBWawBWTQBWcABXbgBXvANXbQBXawBXTQBXawCpA00AqQNhLm0uQnFjY2NkQ9FrZ0NvLmRCR3loYUhQaW5LS0tNa3RsbWxubG9nbHhtYm1pbG1vbFBIcC5tLlBQTVBSc3JTdldiVtFtQdFtMQDlZTEAMADlZTIAMADlZTMAMADlZWdhbEoETAQmAVMBJ6c3q2sCUqtIjPRmyo7IjNFuMk7lU5yfnJ9RWdGRh1VIWfZhaXaFfz+Guof4iI+QAmobbdlw3nM9hGqR8ZmCTnVTBGsbci2GHp5QXetvzYVkicli2IEfiMpeF2dqbfxyzpCGT7dR3lLEZNNqEHLndgGABoZchu+NMpdvm/qdjHh/eaB9yYMEk3+e1orfWARfYHx+gGJyynjCjPeW2FhiXBNq2m0Pby99N35LltJSi4DcUcxRHHq+ffGDdZaAi89iAmr+ijlO51sSYIdzcHUXU/t4v0+pXw1OzGx4ZSJ9w1NeWAF3SYSqirprsI+IbP5i5YKgY2V1rk5pUclRgWjnfG+C0orPkfVSQlRzWexexWX+byp5rZVqmpeezp6bUsZmd2tij3RekGEAYppkI29JcYl0ynn0fW+AJo/uhCOQSpMXUqNSvVTIcMKIqorJXvVfe2Ouaz58dXPkTvlW51u6XRxgsnNpdJp/RoA0kvaWSJcYmItPrnm0kbiW4WCGTtpQ7ls/XJllAmrOcUJ2/IR8kI2fiGYulolSe2fzZ0FtnG4JdFl1a3gQfV6YbVEuYniWK1AZXeptKo+LX0RhF2iHc4aWKVIPVGVcE2ZOZ6ho5WwGdOJ1eX/PiOGIzJHilj9Tum4dVNBxmHT6haOWV5yfnpdny23ogct6IHuSfMBymXBYi8BONoM6UgdSpl7TYtZ8hVsebbRmO49MiE2Wi4nTXkBRwFUAAAAAWlgAAHRmAAAAAN5RKnPKdjx5XnlleY95Vpe+fL1/AAAShgAA+IoAAAAAOJD9kO+Y/JgombSd3pC3lq5P51BNUclS5FJR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";
+        if (!R.startsWith(Q)) {
+            var fa = R;
+            R = a.locateFile ? a.locateFile(fa, x) : x + fa;
+        }
+        function ha(b) { try {
+            if (b == R && E)
+                return new Uint8Array(E);
+            var c = C(b);
+            if (c)
+                return c;
+            if (A)
+                return A(b);
+            throw "both async and sync fetching of the wasm failed";
+        }
+        catch (d) {
+            F(d);
+        } }
+        function ia(b) { if (!E && (u || v)) {
+            if ("function" == typeof fetch && !b.startsWith("file://"))
+                return fetch(b, { credentials: "same-origin" }).then(function (c) { if (!c.ok)
+                    throw "failed to load wasm binary file at '" + b + "'"; return c.arrayBuffer(); }).catch(function () { return ha(b); });
+            if (z)
+                return new Promise(function (c, d) { z(b, function (e) { c(new Uint8Array(e)); }, d); });
+        } return Promise.resolve().then(function () { return ha(b); }); }
+        function ja(b, c, d) { return ia(b).then(function (e) { return WebAssembly.instantiate(e, c); }).then(function (e) { return e; }).then(d, function (e) { D("failed to asynchronously prepare wasm: " + e); F(e); }); }
+        function ka(b, c) { var d = R; return E || "function" != typeof WebAssembly.instantiateStreaming || d.startsWith(Q) || d.startsWith("file://") || w || "function" != typeof fetch ? ja(d, b, c) : fetch(d, { credentials: "same-origin" }).then(function (e) { return WebAssembly.instantiateStreaming(e, b).then(c, function (f) { D("wasm streaming compile failed: " + f); D("falling back to ArrayBuffer instantiation"); return ja(d, b, c); }); }); }
+        function S(b) { for (; 0 < b.length;)
+            b.shift()(a); }
+        var la = "undefined" != typeof TextDecoder ? new TextDecoder("utf8") : void 0;
+        function na(b, c, d) { var e = c + d; for (d = c; b[d] && !(d >= e);)
+            ++d; if (16 < d - c && b.buffer && la)
+            return la.decode(b.subarray(c, d)); for (e = ""; c < d;) {
+            var f = b[c++];
+            if (f & 128) {
+                var g = b[c++] & 63;
+                if (192 == (f & 224))
+                    e += String.fromCharCode((f & 31) << 6 | g);
+                else {
+                    var h = b[c++] & 63;
+                    f = 224 == (f & 240) ? (f & 15) << 12 | g << 6 | h : (f & 7) << 18 | g << 12 | h << 6 | b[c++] & 63;
+                    65536 > f ? e += String.fromCharCode(f) : (f -= 65536, e += String.fromCharCode(55296 | f >> 10, 56320 | f & 1023));
+                }
+            }
+            else
+                e += String.fromCharCode(f);
+        } return e; }
+        function T(b, c) { return b ? na(J, b, c) : ""; }
+        var oa = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335], pa = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];
+        function U(b) { for (var c = 0, d = 0; d < b.length; ++d) {
+            var e = b.charCodeAt(d);
+            127 >= e ? c++ : 2047 >= e ? c += 2 : 55296 <= e && 57343 >= e ? (c += 4, ++d) : c += 3;
+        } return c; }
+        function V(b, c, d) { var e = J; if (!(0 < d))
+            return 0; var f = c; d = c + d - 1; for (var g = 0; g < b.length; ++g) {
+            var h = b.charCodeAt(g);
+            if (55296 <= h && 57343 >= h) {
+                var k = b.charCodeAt(++g);
+                h = 65536 + ((h & 1023) << 10) | k & 1023;
+            }
+            if (127 >= h) {
+                if (c >= d)
+                    break;
+                e[c++] = h;
+            }
+            else {
+                if (2047 >= h) {
+                    if (c + 1 >= d)
+                        break;
+                    e[c++] = 192 | h >> 6;
+                }
+                else {
+                    if (65535 >= h) {
+                        if (c + 2 >= d)
+                            break;
+                        e[c++] = 224 | h >> 12;
+                    }
+                    else {
+                        if (c + 3 >= d)
+                            break;
+                        e[c++] = 240 | h >> 18;
+                        e[c++] = 128 | h >> 12 & 63;
+                    }
+                    e[c++] = 128 | h >> 6 & 63;
+                }
+                e[c++] = 128 | h & 63;
+            }
+        } e[c] = 0; return c - f; }
+        function qa(b) { var c = U(b) + 1, d = ra(c); d && V(b, d, c); return d; }
+        var W = {};
+        function sa() { if (!X) {
+            var b = { USER: "web_user", LOGNAME: "web_user", PATH: "/", PWD: "/", HOME: "/home/web_user", LANG: ("object" == typeof navigator && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8", _: t || "./this.program" }, c;
+            for (c in W)
+                void 0 === W[c] ? delete b[c] : b[c] = W[c];
+            var d = [];
+            for (c in b)
+                d.push(c + "=" + b[c]);
+            X = d;
+        } return X; }
+        var X, ta = [null, [], []];
+        function ua(b, c, d, e) { var f = { string: l => { var q = 0; if (null !== l && void 0 !== l && 0 !== l) {
+                q = U(l) + 1;
+                var ma = Y(q);
+                V(l, ma, q);
+                q = ma;
+            } return q; }, array: l => { var q = Y(l.length); I.set(l, q); return q; } }; b = a["_" + b]; var g = [], h = 0; if (e)
+            for (var k = 0; k < e.length; k++) {
+                var r = f[d[k]];
+                r ? (0 === h && (h = va()), g[k] = r(e[k])) : g[k] = e[k];
+            } d = b.apply(null, g); return d = function (l) { 0 !== h && wa(h); return "string" === c ? T(l) : "boolean" === c ? !!l : l; }(d); }
+        var xa = "function" == typeof atob ? atob : function (b) {
+            var c = "", d = 0;
+            b = b.replace(/[^A-Za-z0-9\+\/=]/g, "");
+            do {
+                var e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(d++));
+                var f = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(d++));
+                var g = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(d++));
+                var h = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(d++));
+                e = e << 2 | f >> 4;
+                f = (f & 15) << 4 | g >> 2;
+                var k = (g & 3) << 6 | h;
+                c += String.fromCharCode(e);
+                64 !== g && (c += String.fromCharCode(f));
+                64 !== h && (c += String.fromCharCode(k));
+            } while (d < b.length);
+            return c;
+        };
+        function C(b) { if (b.startsWith(Q)) {
+            b = b.slice(Q.length);
+            if ("boolean" == typeof w && w) {
+                var c = Buffer.from(b, "base64");
+                c = new Uint8Array(c.buffer, c.byteOffset, c.byteLength);
+            }
+            else
+                try {
+                    var d = xa(b), e = new Uint8Array(d.length);
+                    for (b = 0; b < d.length; ++b)
+                        e[b] = d.charCodeAt(b);
+                    c = e;
+                }
+                catch (f) {
+                    throw Error("Converting base64 string to bytes failed.");
+                }
+            return c;
+        } }
+        var ya = { a: function (b, c, d, e) { F("Assertion failed: " + T(b) + ", at: " + [c ? T(c) : "unknown filename", d, e ? T(e) : "unknown function"]); }, l: function (b, c) {
+                b = new Date(1E3 * (L[b >> 2] + 4294967296 * K[b + 4 >> 2]));
+                K[c >> 2] = b.getSeconds();
+                K[c + 4 >> 2] = b.getMinutes();
+                K[c + 8 >> 2] = b.getHours();
+                K[c + 12 >> 2] = b.getDate();
+                K[c + 16 >> 2] = b.getMonth();
+                K[c + 20 >> 2] = b.getFullYear() - 1900;
+                K[c + 24 >> 2] = b.getDay();
+                var d = b.getFullYear();
+                K[c + 28 >> 2] = (0 !== d % 4 || 0 === d % 100 && 0 !== d % 400 ? pa : oa)[b.getMonth()] + b.getDate() - 1 | 0;
+                K[c + 36 >> 2] = -(60 * b.getTimezoneOffset());
+                d = (new Date(b.getFullYear(), 6, 1)).getTimezoneOffset();
+                var e = (new Date(b.getFullYear(), 0, 1)).getTimezoneOffset();
+                K[c + 32 >> 2] = (d != e && b.getTimezoneOffset() == Math.min(e, d)) | 0;
+            }, k: function (b, c, d) { function e(r) { return (r = r.toTimeString().match(/\(([A-Za-z ]+)\)$/)) ? r[1] : "GMT"; } var f = (new Date).getFullYear(), g = new Date(f, 0, 1), h = new Date(f, 6, 1); f = g.getTimezoneOffset(); var k = h.getTimezoneOffset(); L[b >> 2] = 60 * Math.max(f, k); K[c >> 2] = Number(f != k); b = e(g); c = e(h); b = qa(b); c = qa(c); k < f ? (L[d >> 2] = b, L[d + 4 >> 2] = c) : (L[d >> 2] = c, L[d + 4 >> 2] = b); }, b: function () { F(""); },
+            m: function () { return Date.now(); }, j: function (b) { var c = J.length; b >>>= 0; if (2147483648 < b)
+                return !1; for (var d = 1; 4 >= d; d *= 2) {
+                var e = c * (1 + .2 / d);
+                e = Math.min(e, b + 100663296);
+                var f = Math, g = f.min;
+                e = Math.max(b, e);
+                e += (65536 - e % 65536) % 65536;
+                a: {
+                    var h = G.buffer;
+                    try {
+                        G.grow(g.call(f, 2147483648, e) - h.byteLength + 65535 >>> 16);
+                        M();
+                        var k = 1;
+                        break a;
+                    }
+                    catch (r) { }
+                    k = void 0;
+                }
+                if (k)
+                    return !0;
+            } return !1; }, e: function (b, c) {
+                var d = 0;
+                sa().forEach(function (e, f) {
+                    var g = c + d;
+                    f = L[b + 4 * f >> 2] = g;
+                    for (g = 0; g < e.length; ++g)
+                        I[f++ >> 0] = e.charCodeAt(g);
+                    I[f >> 0] = 0;
+                    d += e.length +
+                        1;
+                });
+                return 0;
+            }, f: function (b, c) { var d = sa(); L[b >> 2] = d.length; var e = 0; d.forEach(function (f) { e += f.length + 1; }); L[c >> 2] = e; return 0; }, d: function () { return 52; }, i: function () { return 70; }, c: function (b, c, d, e) { for (var f = 0, g = 0; g < d; g++) {
+                var h = L[c >> 2], k = L[c + 4 >> 2];
+                c += 8;
+                for (var r = 0; r < k; r++) {
+                    var l = J[h + r], q = ta[b];
+                    0 === l || 10 === l ? ((1 === b ? aa : D)(na(q, 0)), q.length = 0) : q.push(l);
+                }
+                f += k;
+            } L[e >> 2] = f; return 0; }, o: function (b, c, d, e, f) { return a.callbacks.callFunction(void 0, b, c, d, e, f); }, n: function (b) {
+                return a.callbacks.shouldInterrupt(void 0, b);
+            }, h: function (b, c, d) { d = T(d); return a.callbacks.loadModuleSource(void 0, b, c, d); }, g: function (b, c, d, e) { d = T(d); e = T(e); return a.callbacks.normalizeModule(void 0, b, c, d, e); } };
+        (function () { function b(d) { d = d.exports; a.asm = d; G = a.asm.p; M(); ca.unshift(a.asm.q); N--; a.monitorRunDependencies && a.monitorRunDependencies(N); if (0 == N && (null !== O && (clearInterval(O), O = null), P)) {
+            var e = P;
+            P = null;
+            e();
+        } return d; } var c = { a: ya }; N++; a.monitorRunDependencies && a.monitorRunDependencies(N); if (a.instantiateWasm)
+            try {
+                return a.instantiateWasm(c, b);
+            }
+            catch (d) {
+                D("Module.instantiateWasm callback failed with error: " + d), n(d);
+            } ka(c, function (d) { b(d.instance); }).catch(n); return {}; })();
+        var ra = a._malloc = function () { return (ra = a._malloc = a.asm.r).apply(null, arguments); };
+        a._QTS_Throw = function () { return (a._QTS_Throw = a.asm.s).apply(null, arguments); };
+        a._QTS_NewError = function () { return (a._QTS_NewError = a.asm.t).apply(null, arguments); };
+        a._QTS_RuntimeSetMemoryLimit = function () { return (a._QTS_RuntimeSetMemoryLimit = a.asm.u).apply(null, arguments); };
+        a._QTS_RuntimeComputeMemoryUsage = function () { return (a._QTS_RuntimeComputeMemoryUsage = a.asm.v).apply(null, arguments); };
+        a._QTS_RuntimeDumpMemoryUsage = function () { return (a._QTS_RuntimeDumpMemoryUsage = a.asm.w).apply(null, arguments); };
+        a._QTS_RecoverableLeakCheck = function () { return (a._QTS_RecoverableLeakCheck = a.asm.x).apply(null, arguments); };
+        a._QTS_BuildIsSanitizeLeak = function () { return (a._QTS_BuildIsSanitizeLeak = a.asm.y).apply(null, arguments); };
+        a._QTS_RuntimeSetMaxStackSize = function () { return (a._QTS_RuntimeSetMaxStackSize = a.asm.z).apply(null, arguments); };
+        a._QTS_GetUndefined = function () { return (a._QTS_GetUndefined = a.asm.A).apply(null, arguments); };
+        a._QTS_GetNull = function () { return (a._QTS_GetNull = a.asm.B).apply(null, arguments); };
+        a._QTS_GetFalse = function () { return (a._QTS_GetFalse = a.asm.C).apply(null, arguments); };
+        a._QTS_GetTrue = function () { return (a._QTS_GetTrue = a.asm.D).apply(null, arguments); };
+        a._QTS_NewRuntime = function () { return (a._QTS_NewRuntime = a.asm.E).apply(null, arguments); };
+        a._QTS_FreeRuntime = function () { return (a._QTS_FreeRuntime = a.asm.F).apply(null, arguments); };
+        a._QTS_NewContext = function () { return (a._QTS_NewContext = a.asm.G).apply(null, arguments); };
+        a._QTS_FreeContext = function () { return (a._QTS_FreeContext = a.asm.H).apply(null, arguments); };
+        a._QTS_FreeValuePointer = function () { return (a._QTS_FreeValuePointer = a.asm.I).apply(null, arguments); };
+        a._free = function () { return (a._free = a.asm.J).apply(null, arguments); };
+        a._QTS_FreeValuePointerRuntime = function () { return (a._QTS_FreeValuePointerRuntime = a.asm.K).apply(null, arguments); };
+        a._QTS_FreeVoidPointer = function () { return (a._QTS_FreeVoidPointer = a.asm.L).apply(null, arguments); };
+        a._QTS_FreeCString = function () { return (a._QTS_FreeCString = a.asm.M).apply(null, arguments); };
+        a._QTS_DupValuePointer = function () { return (a._QTS_DupValuePointer = a.asm.N).apply(null, arguments); };
+        a._QTS_NewObject = function () { return (a._QTS_NewObject = a.asm.O).apply(null, arguments); };
+        a._QTS_NewObjectProto = function () { return (a._QTS_NewObjectProto = a.asm.P).apply(null, arguments); };
+        a._QTS_NewArray = function () { return (a._QTS_NewArray = a.asm.Q).apply(null, arguments); };
+        a._QTS_NewFloat64 = function () { return (a._QTS_NewFloat64 = a.asm.R).apply(null, arguments); };
+        a._QTS_GetFloat64 = function () { return (a._QTS_GetFloat64 = a.asm.S).apply(null, arguments); };
+        a._QTS_NewString = function () { return (a._QTS_NewString = a.asm.T).apply(null, arguments); };
+        a._QTS_GetString = function () { return (a._QTS_GetString = a.asm.U).apply(null, arguments); };
+        a._QTS_NewSymbol = function () { return (a._QTS_NewSymbol = a.asm.V).apply(null, arguments); };
+        a._QTS_GetSymbolDescriptionOrKey = function () { return (a._QTS_GetSymbolDescriptionOrKey = a.asm.W).apply(null, arguments); };
+        a._QTS_IsGlobalSymbol = function () { return (a._QTS_IsGlobalSymbol = a.asm.X).apply(null, arguments); };
+        a._QTS_IsJobPending = function () { return (a._QTS_IsJobPending = a.asm.Y).apply(null, arguments); };
+        a._QTS_ExecutePendingJob = function () { return (a._QTS_ExecutePendingJob = a.asm.Z).apply(null, arguments); };
+        a._QTS_GetProp = function () { return (a._QTS_GetProp = a.asm._).apply(null, arguments); };
+        a._QTS_SetProp = function () { return (a._QTS_SetProp = a.asm.$).apply(null, arguments); };
+        a._QTS_DefineProp = function () { return (a._QTS_DefineProp = a.asm.aa).apply(null, arguments); };
+        a._QTS_Call = function () { return (a._QTS_Call = a.asm.ba).apply(null, arguments); };
+        a._QTS_ResolveException = function () { return (a._QTS_ResolveException = a.asm.ca).apply(null, arguments); };
+        a._QTS_Dump = function () { return (a._QTS_Dump = a.asm.da).apply(null, arguments); };
+        a._QTS_Eval = function () { return (a._QTS_Eval = a.asm.ea).apply(null, arguments); };
+        a._QTS_Typeof = function () { return (a._QTS_Typeof = a.asm.fa).apply(null, arguments); };
+        a._QTS_GetGlobalObject = function () { return (a._QTS_GetGlobalObject = a.asm.ga).apply(null, arguments); };
+        a._QTS_NewPromiseCapability = function () { return (a._QTS_NewPromiseCapability = a.asm.ha).apply(null, arguments); };
+        a._QTS_TestStringArg = function () { return (a._QTS_TestStringArg = a.asm.ia).apply(null, arguments); };
+        a._QTS_BuildIsDebug = function () { return (a._QTS_BuildIsDebug = a.asm.ja).apply(null, arguments); };
+        a._QTS_BuildIsAsyncify = function () { return (a._QTS_BuildIsAsyncify = a.asm.ka).apply(null, arguments); };
+        a._QTS_NewFunction = function () { return (a._QTS_NewFunction = a.asm.la).apply(null, arguments); };
+        a._QTS_ArgvGetJSValueConstPointer = function () { return (a._QTS_ArgvGetJSValueConstPointer = a.asm.ma).apply(null, arguments); };
+        a._QTS_RuntimeEnableInterruptHandler = function () { return (a._QTS_RuntimeEnableInterruptHandler = a.asm.na).apply(null, arguments); };
+        a._QTS_RuntimeDisableInterruptHandler = function () { return (a._QTS_RuntimeDisableInterruptHandler = a.asm.oa).apply(null, arguments); };
+        a._QTS_RuntimeEnableModuleLoader = function () { return (a._QTS_RuntimeEnableModuleLoader = a.asm.pa).apply(null, arguments); };
+        a._QTS_RuntimeDisableModuleLoader = function () { return (a._QTS_RuntimeDisableModuleLoader = a.asm.qa).apply(null, arguments); };
+        function va() { return (va = a.asm.sa).apply(null, arguments); }
+        function wa() { return (wa = a.asm.ta).apply(null, arguments); }
+        function Y() { return (Y = a.asm.ua).apply(null, arguments); }
+        a.___start_em_js = 74916;
+        a.___stop_em_js = 75818;
+        a.cwrap = function (b, c, d, e) { var f = !d || d.every(g => "number" === g || "boolean" === g); return "string" !== c && f && !e ? a["_" + b] : function () { return ua(b, c, d, arguments); }; };
+        a.UTF8ToString = T;
+        a.stringToUTF8 = function (b, c, d) { return V(b, c, d); };
+        a.lengthBytesUTF8 = U;
+        var Z;
+        P = function za() { Z || Aa(); Z || (P = za); };
+        function Aa() { function b() { if (!Z && (Z = !0, a.calledRun = !0, !H)) {
+            S(ca);
+            m(a);
+            if (a.onRuntimeInitialized)
+                a.onRuntimeInitialized();
+            if (a.postRun)
+                for ("function" == typeof a.postRun && (a.postRun = [a.postRun]); a.postRun.length;) {
+                    var c = a.postRun.shift();
+                    da.unshift(c);
+                }
+            S(da);
+        } } if (!(0 < N)) {
+            if (a.preRun)
+                for ("function" == typeof a.preRun && (a.preRun = [a.preRun]); a.preRun.length;)
+                    ea();
+            S(ba);
+            0 < N || (a.setStatus ? (a.setStatus("Running..."), setTimeout(function () { setTimeout(function () { a.setStatus(""); }, 1); b(); }, 1)) : b());
+        } }
+        if (a.preInit)
+            for ("function" == typeof a.preInit && (a.preInit = [a.preInit]); 0 < a.preInit.length;)
+                a.preInit.pop()();
+        Aa();
+        return QuickJSRaw.ready;
+    });
+})();
+if (typeof exports === 'object' && typeof module === 'object')
+    module.exports = QuickJSRaw;
+else if (typeof define === 'function' && define['amd'])
+    define([], function () { return QuickJSRaw; });
+else if (typeof exports === 'object')
+    exports["QuickJSRaw"] = QuickJSRaw;
+//# sourceMappingURL=emscripten-module.WASM_RELEASE_SYNC.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_SYNC.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_SYNC.js.map
new file mode 100644
index 0000000..4dc43c0
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/generated/emscripten-module.WASM_RELEASE_SYNC.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"emscripten-module.WASM_RELEASE_SYNC.js","sourceRoot":"","sources":["../../ts/generated/emscripten-module.WASM_RELEASE_SYNC.js"],"names":[],"mappings":"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","sourcesContent":["\nvar QuickJSRaw = (() => {\n  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n  if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;\n  return (\nfunction(QuickJSRaw = {})  {\n\nvar a;a||(a=typeof QuickJSRaw !== 'undefined' ? QuickJSRaw : {});var m,n;a.ready=new Promise(function(b,c){m=b;n=c});var p=Object.assign({},a),t=\"./this.program\",u=\"object\"==typeof window,v=\"function\"==typeof importScripts,w=\"object\"==typeof process&&\"object\"==typeof process.versions&&\"string\"==typeof process.versions.node,x=\"\",y,z,A;\nif(w){var fs=require(\"fs\"),B=require(\"path\");x=v?B.dirname(x)+\"/\":__dirname+\"/\";y=(b,c)=>{var d=C(b);if(d)return c?d:d.toString();b=b.startsWith(\"file://\")?new URL(b):B.normalize(b);return fs.readFileSync(b,c?void 0:\"utf8\")};A=b=>{b=y(b,!0);b.buffer||(b=new Uint8Array(b));return b};z=(b,c,d)=>{var e=C(b);e&&c(e);b=b.startsWith(\"file://\")?new URL(b):B.normalize(b);fs.readFile(b,function(f,g){f?d(f):c(g.buffer)})};!a.thisProgram&&1<process.argv.length&&(t=process.argv[1].replace(/\\\\/g,\"/\"));process.argv.slice(2);\na.inspect=function(){return\"[Emscripten Module object]\"}}else if(u||v)v?x=self.location.href:\"undefined\"!=typeof document&&document.currentScript&&(x=document.currentScript.src),_scriptDir&&(x=_scriptDir),0!==x.indexOf(\"blob:\")?x=x.substr(0,x.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1):x=\"\",y=b=>{try{var c=new XMLHttpRequest;c.open(\"GET\",b,!1);c.send(null);return c.responseText}catch(f){if(b=C(b)){c=[];for(var d=0;d<b.length;d++){var e=b[d];255<e&&(e&=255);c.push(String.fromCharCode(e))}return c.join(\"\")}throw f;\n}},v&&(A=b=>{try{var c=new XMLHttpRequest;c.open(\"GET\",b,!1);c.responseType=\"arraybuffer\";c.send(null);return new Uint8Array(c.response)}catch(d){if(b=C(b))return b;throw d;}}),z=(b,c,d)=>{var e=new XMLHttpRequest;e.open(\"GET\",b,!0);e.responseType=\"arraybuffer\";e.onload=()=>{if(200==e.status||0==e.status&&e.response)c(e.response);else{var f=C(b);f?c(f.buffer):d()}};e.onerror=d;e.send(null)};var aa=a.print||console.log.bind(console),D=a.printErr||console.warn.bind(console);Object.assign(a,p);p=null;\na.thisProgram&&(t=a.thisProgram);var E;a.wasmBinary&&(E=a.wasmBinary);var noExitRuntime=a.noExitRuntime||!0;\"object\"!=typeof WebAssembly&&F(\"no native wasm support detected\");var G,H=!1,I,J,K,L;function M(){var b=G.buffer;a.HEAP8=I=new Int8Array(b);a.HEAP16=new Int16Array(b);a.HEAP32=K=new Int32Array(b);a.HEAPU8=J=new Uint8Array(b);a.HEAPU16=new Uint16Array(b);a.HEAPU32=L=new Uint32Array(b);a.HEAPF32=new Float32Array(b);a.HEAPF64=new Float64Array(b)}var ba=[],ca=[],da=[];\nfunction ea(){var b=a.preRun.shift();ba.unshift(b)}var N=0,O=null,P=null;function F(b){if(a.onAbort)a.onAbort(b);b=\"Aborted(\"+b+\")\";D(b);H=!0;b=new WebAssembly.RuntimeError(b+\". Build with -sASSERTIONS for more info.\");n(b);throw b;}var Q=\"data:application/octet-stream;base64,\",R;R=\"data:application/octet-stream;base64,AGFzbQEAAAAB9QZxYAJ/fwBgA39/fwF/YAR/fn9/AX5gAn9/AX9gAX8Bf2AFf35/f38BfmADf39/AGAEf39/fwF/YAJ/fgF+YAF/AGAFf39/f38Bf2ABfAF8YAJ/fgBgAn9/AX5gAn9+AX9gA39/fgF/YAN/fn8BfmADf35/AGAGf35/f39/AX5gBn9/f39/fwF/YAR/f39/AGADf35/AX9gBn9+fn9/fwF+YAR/f35/AX9gA39+fgF+YAN/f38BfmAFf39/fn4Bf2AEf39/fgF/YAR/f35+AX9gBX9+fn5+AGABfwF+YAN/fn4Bf2AEf39/fwF+YAd/f39/f39/AX9gBX9/f39/AX5gAnx8AXxgAAF/YAV/f39/fwBgBX9+f35/AX9gBX9+fn9/AX5gAX4Bf2AEf35+fwBgB39+f35+fn8Bf2AIf39/f39/f38Bf2AFf35+fn8Bf2AGf35/fn5/AX9gBH9+f34BfmAEf35/fwBgBH9+f34AYAZ/f39/f38BfmAEf35+fwF/YAl/f39/f39/f38Bf2AEf35+fwF+YAR/fn9/AX9gA39+fgBgA35/fwF/YAV/fn5/fwBgA39/fgF+YAd/fn9/f39/AX5gAABgA39/fgBgBH9+f34Bf2AFf39+f38Bf2AEf35+fgF/YAd/f39/f39/AGACfH8BfGABfAF/YAN8fH8BfGACf38BfGAEf39+fwBgBH9+fn4BfmABfgF+YAJ/fAF/YAZ/fH9/f38Bf2AAAXxgBX9+f35/AX5gBn9/fn5+fgF/YAJ+fwBgAn98AGAEf39+fwF+YAV/f39/fgF+YAd/fn5+f39/AX5gBH5+fn4Bf2AHf39/f39/fgF+YAp/f39/f39/f39/AX9gB39/fn5/f38Bf2AFf3x/f38BfmACfn8Bf2AGfH9/f39/AGAFf35/f38AYAV/f35/fwBgBn9+fn5+fwF/YAV/f35+fwF/YAZ/fn9/f38Bf2ADf3x/AX9gBX9+f39/AX9gBX9/fn5+AX5gBX9+fn5+AX9gBn9/fn5/fwF/YAd/f39+fn5/AX9gBH9/f34BfmACfH8Bf2AGf39/f39/AGAIf39/f39/f38AYAN/fnwBfmAAAX5gAnx8AX9gAn5+AXxgAX8BfGADfn5+AX9gA39/fABgCH9+fn5+f35+AX5gCX9/f39/f39/fwACWw8B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rgitCKcIqAimCKUIpAj0B44JjQmKCYgJjAnwB/EH7gfrB+QH4gfhB9MHwQeaB/EEvAmbCZoJmQmYCZcJlgmVCZQJkwmSCZEJiwntCOwInQicCJsImgiZCKAFmAiXCJYIlQiUCJMIkQiQCI8IjgiNCIwIiwiKCIkIiAiHCIYI6QOFCOkDhAiDCIIIgQieCKEIoAifCKII2QP/B/4HkQeQB5kHmAeWB5UHlAeTB5IH4AffB94H6QPdB6AF3AfbB9oH2AerCKoIqQj/BooHiQeIB4cHhgeFB4QHgweCB4EHgAfoB4sHjweOB5sHpAehB6MHogefB54HnQecB6UH5wfmB+UH/gHsB+kH7QfvB/IH9QbPBPQG8wbyBvEGyATwBu8G9wbRBPYG9gf1B/sH+gf5B/gH/QeoCeMGpwnmBqYJpQmkCaMJ4QbfBsYEogmhCaAJsQafCZ4JnQmwBrIJsQmwCa8JrgmtCawJqwmqCbgJnQO3CbYJtQm0CbMJxgnJB8gHxQnECcMJwgnWA8EJwAn3BPgEvwm+CbsJugm5CckJyAnHCdAJzwm9BLwEzgnNCcwJywnKCbQG1AnTCdIJ0Qm4BrcGtga1BroGuQa9BrwGuwbSBtEG0AbPBs4GzQbMBssGygbJBsgGxwbGBsUGxAbDBsEGwAa/Br4G0wbcBoAJ+gj7CNsGgwmECYEJnQT+CPkI6wPMAtoG9QjxCO8I2Qb4CPQI8AiCCf8I/QiXAqcD1gnyCPwI2AbXBtYG1QbUBugG5wblBuQG4gbgBt4G3QbrBuoG6QbtBuwG7gapB6cHpgfPB4EF1weABc4HzQfMB8sHxwfGB8UHxAfDB8IHwAe/B9IH0AfWB9QHtAezB7EHsAevB64HrQesB6sHqge+B70HvAe7B7oHuQe4B7cHtge1B4cJhQmGCdgD8wgK15YXyAk1AQF/AkAgAUIgiKdBdUkNACABpyICIAIoAgAiAkEBazYCACACQQFKDQAgACgCECABEJYECwtNAQJ/IAAoAkAiAkGAAmohAyACKAKcAiAAKAIERwRAIANBwgEQESADIAAoAgQQHSACIAAoAgQ2ApwCCyACIAIoAoQCNgKYAiADIAEQEQsmAQF/IwBBEGsiAiQAIAIgAToADyAAIAJBD2pBARByIAJBEGokAAv/FwIGfwJ+IwBBEGsiAiQAAn8CQCAAKAIA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NwMgIABBgH82AhAMAwsgACACQQxqIAJBCGogBkEAEOoEIgFFDQAgACABNgIgIAIoAgghBSAAQQA2AiggACAFNgIkAkAgAUElSQ0AIAFBLU0EQCAAKAJAIgMtAG5BAXENASABQS1HDQMgAy8BbCIGQQFxDQEgBkGA/gNxQYAGRw0DIAMoAmQNAyADKAIEIgNFDQMgAy0AbEEBcQ0BDAMLIAFBLkcNAiAAKAJEDQAgACgCQCIDLwFsIgZBAnENACAGQYD+A3FBgAZHDQIgAygCZA0CIAMoAgQiA0UNAiADLQBsQQJxRQ0CCyAFBEAgAEGDfzYCECAAQQE2AigMAwsgBCABQdQAazYCAAwCCyAEQap/NgIADAULIARBg382AgALIAAgAigCDDYCOEEADAQLIABBATYCMCAAIANBAWo2AggLIAIoAgwhAQwACwALQX8LIQEgAkEQaiQAIAELFQAgAUHeAU4EQCAAKAIQIAEQ6AULC7oHAgZ/AX4jAEEgayIHJABCgICAgOAAIQsCQAJAAkACQAJAAkACQAJAAkACQCABQiCIpyIGQQFqDggDBQUAAQUFCQILIAAgAkGH1AAQjwEMBgsgACACQff4ABCPAQwFCyAGQXlGDQEMAgsgAachBgwCCyABpyEGIAJBAEgEQCACQf////8HcSIFIAYpAgQiC6dB/////wdxTw0BIAZBEGohAiAAAn8gC0KAgICACINQRQRAIAIgBUEBdGovAQAMAQsgAiAFai0AAAtB//8DcRCfAyELDAULIAJBMEcNACAGKQIEQv////8HgyELDAQLIAAgARCNBKciBkUNAgsgAkH/////B3EhCQNAIAYoAhAiBUEwaiEKIAUgBSgCGCACcUF/c0ECdGooAgAhBQJAA0AgBUUNASACIAogBUEBa0EDdCIFaiIIKAIERwRAIAgoAgBB////H3EhBQwBCwsgBigCFCAFaiEFAkACQAJAAkAgCCgCAEEedkEBaw4DAAECAwsgBSgCACICRQ0GIAIgAigCAEEBajYCACAAIAKtQoCAgIBwhCADQQBBABAvIQsMBwsgBSgCACgCECkDACILQoCAgIBwg0KAgICAwABRBEAgACACENkBDAULIAtCIIinQXVJDQYgC6ciACAAKAIAQQFqNgIADAYLIAAgBiACIAUgCBDIAkUNAgwDCyAFKQMAIgtCIIinQXVJDQQgC6ciACAAKAIAQQFqNgIADAQLAkAgBi0ABSIFQQRxRQ0AIAVBCHEEQCACQQBIBEAgBigCKCAJSwRAIAAgBq1CgICAgHCEIAkQsAEhCwwHCyAGLwEGQSBrQf//A3FB9f8DTw0FDAILIAYvAQZBFWtB//8DcUEKSw0BIAAgAhCeAyIFRQ0BQoCAgIDgAEKAgICAMCAFQQBIGyELDAULIAAoAhAoAkQgBi8BBkEYbGooAhQiBUUNACAFKAIUIggEQCAGIAYoAgBBAWo2AgAgACAGrUKAgICAcIQiASACIAMgCBEuACELIAAgARAPDAULIAUoAgAiBUUNACAGIAYoAgBBAWo2AgAgACAHIAatQoCAgIBwhCIBIAIgBREXACEFIAAgARAPIAVBAEgNAiAFRQ0AIActAABBEHEEQCAAIAcpAxgQDyAAIAcpAxAgA0EAQQAQLyELDAULIAcpAwghCwwECyAGKAIQKAIsIgYNAAtCgICAgDAhCyAERQ0CIAAgAhDHAgtCgICAgOAAIQsMAQtCgICAgDAhCwsgB0EgaiQAIAsLDQAgACABIAJBBBDOAgtfAQN/IwBBEGsiBCQAIAAoAgAhAyAEIAI2AgwgA0EDIAEgAkEAEPAFIAMgAygCECkDgAEgACgCDCAAKAIIIAAoAkAiAQR/IAEoAmhBAEdBAXQFQQALEMoCIARBEGokAAsMACAAQYACaiABECoLKwAgAUHeAU4EQCAAKAIQKAI4IAFBAnRqKAIAIgAgACgCAEEBajYCAAsgAQspACAAIAEgAiADQoCAgIAwQoCAgIAwIARBgM4AchBtIQIgACADEA8gAgsZACAAKAIAIAEQGCEBIABBQGsoAgAgARA5Cy0BAX8CQCAAKAIAIgFFDQAgACgCECIARQ0AIAEoAgAgAEEAIAEoAgQRAQAaCwtcAQF/IABBQGsoAgAiAxDmAkUEQEF/DwsgAkEASARAIAMQMiECCyAAIAFB/wFxEBAgAEFAayIAKAIAIAIQOSAAKAIAKAKkAiACQRRsaiIAIAAoAgBBAWo2AgAgAgsmAQF/IwBBEGsiAiQAIAIgATYCDCAAIAJBDGpBBBByIAJBEGokAAs5ACABQQBOBEAgAEG2ARAQIABBQGsiACgCACABEDkgACgCACIAKAKkAiABQRRsaiAAKAKEAjYCBAsLMwEBfyACBEAgACEDA0AgAyABLQAAOgAAIANBAWohAyABQQFqIQEgAkEBayICDQALCyAACxgBAX4gASkDACEDIAEgAjcDACAAIAMQDwsXACAAIAEgAkKAgICAMCADIARBAhDYAQvABQICfgZ/IwBB4ABrIgkkACADQQAgA0EAShshCwNAIAogC0ZFBEAgACACIApBBHRqIgMoAgAQtAUhBiADLQAEIQdCgICAgDAhBAJAAkACQAJAAkACQAJAAkACQAJAIAMtAAUOCgECAgUHAwQIBQAGCyAAIAMoAggQtAUhCAJ+AkACQAJAIAMoAgxBAWoOAwIAAQkLIAAgACkDwAEiBCAIIARBABAUDAILIAAgACgCKCkDECIEIAggBEEAEBQMAQsgACABIAggAUEAEBQLIQQgACAIEBMgBkHQAUYEQEEBIQcMCAsgBkHZAUcNB0EAIQcMBwsCQCAGQdABRgRAQQEhBwwBCyAGQdkBRw0AQQAhBwsgACABIAZBAiADIAcQlQMaDAcLQoCAgIAwIQUgAygCCARAIAkgAygCADYCECAJQSBqIghBwABBzDwgCUEQahBOGiAAIAMoAgggCEEAQQpBCCADLQAFQQJGGyADLgEGEIIBIQULIAMoAgwEQCAJIAMoAgA2AgAgCUEgaiIIQcAAQcU8IAkQThogACADKAIMIAhBAUELQQkgAy0ABUECRhsgAy4BBhCCASEECyAAIAEgBkKAgICAMCAFIAQgB0GAOnIQbRogACAFEA8gACAEEA8MBgsgAykDCCIEQoCAgIAIfEL/////D1gEQCAEQv////8PgyEEDAULQoCAgIDAfiAEub0iBEKAgICAwIGA/P8AfSAEQv///////////wCDQoCAgICAgID4/wBWGyEEDAQLQoCAgIDAfiADKQMIIgRCgICAgMCBgPz/AH0gBEL///////////8Ag0KAgICAgICA+P8AVhshBAwDCyAAIAEgBkECIAMgBxCVAxoMAwsQAQALIAM1AgghBAsgACABIAYgBCAHEBkaCyAAIAYQEyAKQQFqIQoMAQsLIAlB4ABqJAALMgEBfwJAIAFCIIinQXVJDQAgAaciAiACKAIAIgJBAWs2AgAgAkEBSg0AIAAgARCWBAsLCwAgAEGAMUEAEBULogICAn4BfwJAAkACQAJAAkACQAJAAkACQAJAAkBBByABQiCIpyIEIARBB2tBbkkbQQtqDhMEAgMIBgAAAAAAAQUHAAAAAAEFAAsgAEGVMEEAEBVCgICAgOAADwsgBEF1SQ0IIAGnIgAgACgCAEEBajYCAAwICyAAQSEQdiECDAYLIABBIhB2IQIMBQsgAEEkEHYhAgwECyAAQQQQdiECDAMLIAAgAEEFEHYiAkEwIAGnKQIEQv////8Hg0EAEBkaDAILIABBBhB2IQIMAQsgAEEHEHYhAgtCgICAgOAAIQMgAkKAgICAcINCgICAgOAAUgR+IARBdU8EQCABpyIEIAQoAgBBAWo2AgALIAAgAiABENsBIAIFQoCAgIDgAAsPCyABC9kBAgJ/AX5BfyECAkACQAJAAkACQAJAAkACQCABQiCIpyIDQQtqDhIHBwcFAgUFBQUFBAABAQEFBQYFCyABp0EARw8LIAGnDwsgAacpAgQhBCAAIAEQDyAEQv////8Hg0IAUg8LAAsgAacsAAUhAiAAIAEQDyACQQBODwsgA0EHa0FtTQRAIAFCgICAgMCBgPz/AHxC////////////AINCAX1CgICAgICAgPj/AFQPCyAAIAEQD0EBIQILIAIPCyABpygCDCECIAAgARAPIAJB/////wdqQX5JC6gEAQt/IAAoAgAhBSMAQRBrIgggAjYCDEF/IQkCQANAAkAgCCACIgNBBGoiAjYCDCADKAIAIgdBf0YNACAAKAIEIQoDQCABIgQgCk4NAyAEIAQgBWoiDC0AACIGQQJ0Ig1BgLgBai0AAGoiASAKSg0DIAZBwgFGBEAgDCgAASEJDAELCyAGIAdHBEAgBiAHQf8BcUYgBiAHQQh2Qf8BcUZyIAYgB0EQdkH/AXFGckUgB0EYdiAGR3EgBkUgB0GAAklycg0DIAAgBjYCEAsgBEEBaiEEAkACQAJAAkACQAJAAkACQCANQYO4AWotAABBBWsOGAAJAAkJAQkJAQkJAQEBAgICAgQFBgcJAwkLIAQgBWotAAAhBCAIIANBCGoiAjYCDCADKAIEIgNBf0YEQCAAIAQ2AhQMCQsgAyAERg0IDAkLIAQgBWovAAAhBCAIIANBCGoiAjYCDCADKAIEIgNBf0YEQCAAIAQ2AhQMCAsgAyAERg0HDAgLIAAgBCAFaigAADYCGAwGCyAAIAQgBWoiAygAADYCGCAAIAMvAAQ2AhwMBQsgACAEIAVqKAAANgIgDAQLIAAgBCAFaiIDKAAANgIgIAAgAy0ABDYCHAwDCyAAIAQgBWoiAygAADYCICAAIAMvAAQ2AhwMAgsgACAEIAVqIgMoAAA2AiAgACADKAAENgIYIAAgAy0ACDYCHAwBCwsgACAJNgIMIAAgATYCCEEBIQsLIAsLCwAgACABQQAQjgQLJAEBfyAAKAIQIgJBEGogASACKAIAEQMAIgFFBEAgABB8CyABCyYBAX8jAEEQayICJAAgAiABOwEOIAAgAkEOakECEHIgAkEQaiQACykBAX8gAgRAIAAhAwNAIAMgAToAACADQQFqIQMgAkEBayICDQALCyAACz8BAX8jAEEQayICJAACfyABIAAoAhBHBEAgAiABNgIAIABBoJgBIAIQFkF/DAELIAAQEgshACACQRBqJAAgAAsLACAAIAFBARDmBQvDCgIFfw9+IwBB4ABrIgUkACAEQv///////z+DIQwgAiAEhUKAgICAgICAgIB/gyEKIAJC////////P4MiDUIgiCEOIARCMIinQf//AXEhBwJAAkAgAkIwiKdB//8BcSIJQf//AWtBgoB+TwRAIAdB//8Ba0GBgH5LDQELIAFQIAJC////////////AIMiC0KAgICAgIDA//8AVCALQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQoMAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhCiADIQEMAgsgASALQoCAgICAgMD//wCFhFAEQCACIAOEUARAQoCAgICAgOD//wAhCkIAIQEMAwsgCkKAgICAgIDA//8AhCEKQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAIAEgC4QhAkIAIQEgAlAEQEKAgICAgIDg//8AIQoMAwsgCkKAgICAgIDA//8AhCEKDAILIAEgC4RQBEBCACEBDAILIAIgA4RQBEBCACEBDAILIAtC////////P1gEQCAFQdAAaiABIA0gASANIA1QIgYbeSAGQQZ0rXynIgZBD2sQZ0EQIAZrIQYgBSkDWCINQiCIIQ4gBSkDUCEBCyACQv///////z9WDQAgBUFAayADIAwgAyAMIAxQIggbeSAIQQZ0rXynIghBD2sQZyAGIAhrQRBqIQYgBSkDSCEMIAUpA0AhAwsgA0IPhiILQoCA/v8PgyICIAFCIIgiBH4iECALQiCIIhMgAUL/////D4MiAX58Ig9CIIYiESABIAJ+fCILIBFUrSACIA1C/////w+DIg1+IhUgBCATfnwiESAMQg+GIhIgA0IxiIRC/////w+DIgMgAX58IhQgDyAQVK1CIIYgD0IgiIR8Ig8gAiAOQoCABIQiDH4iFiANIBN+fCIOIBJCIIhCgICAgAiEIgIgAX58IhAgAyAEfnwiEkIghnwiF3whASAHIAlqIAZqQf//AGshBgJAIAIgBH4iGCAMIBN+fCIEIBhUrSAEIAQgAyANfnwiBFatfCACIAx+fCAEIAQgESAVVK0gESAUVq18fCIEVq18IAMgDH4iAyACIA1+fCICIANUrUIghiACQiCIhHwgBCACQiCGfCICIARUrXwgAiACIBAgElatIA4gFlStIA4gEFatfHxCIIYgEkIgiIR8IgJWrXwgAiACIA8gFFStIA8gF1atfHwiAlatfCIEQoCAgICAgMAAg1BFBEAgBkEBaiEGDAELIAtCP4ghAyAEQgGGIAJCP4iEIQQgAkIBhiABQj+IhCECIAtCAYYhCyADIAFCAYaEIQELIAZB//8BTgRAIApCgICAgICAwP//AIQhCkIAIQEMAQsCfiAGQQBMBEBBASAGayIHQf8ATQRAIAVBMGogCyABIAZB/wBqIgYQZyAFQSBqIAIgBCAGEGcgBUEQaiALIAEgBxCOAiAFIAIgBCAHEI4CIAUpAzAgBSkDOIRCAFKtIAUpAyAgBSkDEISEIQsgBSkDKCAFKQMYhCEBIAUpAwAhAiAFKQMIDAILQgAhAQwCCyAEQv///////z+DIAatQjCGhAsgCoQhCiALUCABQgBZIAFCgICAgICAgICAf1EbRQRAIAogAkIBfCIBUK18IQoMAQsgCyABQoCAgICAgICAgH+FhFBFBEAgAiEBDAELIAogAiACQgGDfCIBIAJUrXwhCgsgACABNwMAIAAgCjcDCCAFQeAAaiQACyEAIAAgASACQoCAgIAwIAMgBEECENgBIQIgACABEA8gAgumAQEEfyAAQQA2AgQgAVAEQCAAQYCAgIB4NgIIIABBABBBGkEADwsCQCABQv////8PWARAIABBARBBDQEgACgCECABIAGnZyICrYY+AgAgAEEgIAJrNgIIQQAPCyAAQQIQQQ0AIAAoAhAiAyABpyIEIAFCIIinIgVnIgJ0NgIAIAMgBSACdCAEQSAgAmt2cjYCBCAAQcAAIAJrNgIIQQAPCyAAEDVBIAt/AgJ/AX4gAUIgiKciAyABpyICQQBIckUEQCACQYCAgIB4cg8LIANBeEYEQCAAIAAoAhAgAhDBAhAYDwsgACABEIMEIgFCgICAgHCDIgRCgICAgOAAUQRAQQAPCyAEQoCAgICAf1EEQCAAKAIQIAEQjQIPCyAAKAIQIAGnEPwDCwkAIABBfxDIAwtqAQJ/AkAgACgC2AIiA0UNACAAKALgAiIEIAAoAtwCTg0AIAAoAugCIAFLDQAgACgC5AIgAkYNACADIARBA3RqIgMgAjYCBCADIAE2AgAgACABNgLoAiAAIARBAWo2AuACIAAgAjYC5AILCxAAIAAgACgCKCkDCEEBEEkLGQAgAEEAEEEaIABCgICAgPD/////ADcCBAuDAgIDfwF+QoCAgIDgACEEIAAoAhQEfkKAgICA4AAFIAAoAgQhASAAKAIIIgJFBEAgACgCACgCECICQRBqIAEgAigCBBEAACAAQQA2AgQgACgCAEEvEC0PCyAAKAIMIAJKBEAgACgCACgCECIDQRBqIAEgAiAAKAIQIgF0IAFrQRFqIAMoAggRAQAiAUUEQCAAKAIEIQELIAAgATYCBAsgASAAKAIQIgIEfyACBSABIAAoAghqQQA6ABAgACgCEAtBH3StIAEpAgRC/////3eDhCIENwIEIAEgBEKAgICAeIMgADUCCEL/////B4OENwIEIABBADYCBCABrUKAgICAkH+ECwsUAQF+IAAgARAoIQIgACABEA8gAgtLAQJ/IAFCgICAgHBaBH8gAaciAy8BBiICQQ1GBEBBAQ8LIAJBMEYEQCADKAIgLQAQDwsgACgCECgCRCACQRhsaigCEEEARwVBAAsLDAAgAEGAAmogARAdCywBAX8jAEEQayIDJAAgAyACNgIMIABB3ABqQYABIAEgAhDLAhogA0EQaiQAC2kBAn8CfyAAKAIIIgIgACgCDE4EQEF/IAAgAkEBaiABELcCDQEaIAAoAgghAgsgACACQQFqNgIIIAAoAgRBEGohAwJAIAAoAhAEQCADIAJBAXRqIAE7AQAMAQsgAiADaiABOgAAC0EACws1ACAAIAJBMCACQQAQFCICQoCAgIBwg0KAgICA4ABRBEAgAUIANwMAQX8PCyAAIAEgAhCjAQsNACAAIAEgAkEAEIoDCx8BAX8gACgCJCIBIAEoAgBBAWo2AgAgACABQQIQ7wULaQEDfwJAIAAiAUEDcQRAA0AgAS0AAEUNAiABQQFqIgFBA3ENAAsLA0AgASICQQRqIQEgAigCACIDQX9zIANBgYKECGtxQYCBgoR4cUUNAAsDQCACIgFBAWohAiABLQAADQALCyABIABrCx8AIAAgASAAIAIQqgEiAiADQYCAARDQARogACACEBMLTwEBfwJ/QQAgACgCDCABRg0AGiAAKAIAIgIoAgAgACgCECABQQJ0IAIoAgQRAQAhAiABBEBBfyACRQ0BGgsgACABNgIMIAAgAjYCEEEACwsoAQF/IAJCIIinQXVPBEAgAqciAyADKAIAQQFqNgIACyAAIAEgAhBuC7IEAQh/IwBBIGsiByQAIAEgAiABKAIMIAIoAgxJIgYbIggoAgQgAiABIAYbIgkoAgRzIQoCQAJAIAgoAgwiAkUEQAJAIAkoAggiAUH/////B0cEQCAIKAIIIgJB/////wdHDQELIAAQNUEAIQIMAwsgAUH+////B0cgAkH+////B0dxRQRAAkAgAUH+////B0YEQCACQYCAgIB4Rg0BDAQLIAFBgICAgHhHIAJB/v///wdHcg0DCyAAEDVBASECDAMLIAAgChCJAUEAIQIMAgsgCSgCDCIGIQUgAiEBIARBB3FBBkYEQCACIANBIWpBBXYiBSACIAVIGyEBIAYgBSAFIAZKGyEFCyAIKAIQIAJBAnRqIAFBAnRrIQsgCSgCECAGQQJ0aiAFQQJ0ayEMAn8CQAJAAkAgAUHkAE8EQEEAIQYgACgCACAAIAwgBSALIAEgACAJRiIBQQJyIAEgACAIRhsQnwYNAQwDCwJ/AkAgACAJRg0AQQAhBiAAIAhGDQAgAAwBCyAAKAIAIQIgB0IANwIYIAdCgICAgICAgICAfzcCECAHIAI2AgwgACEGIAdBDGoLIgIgASAFahBBRQ0BIAIhAAsgABA1QSAMAgsgAigCECAMIAUgCyABEJ4GIAIhAAsgACAKNgIEIAAgCCgCCCAJKAIIajYCCCAAIAMgBBCzAgshAiAAIAdBDGpHDQEgBiAHQQxqEKAGDAELIAAgChCMAUEAIQILIAdBIGokACACC0gAIAAgAUcEQCAAIAEoAgwQQQRAIAAQNUEgDwsgACABKAIENgIEIAAgASgCCDYCCCAAKAIQIAEoAhAgASgCDEECdBAfGgtBAAsRACAAIAEgAiADQYCAARDQAQsNACAAIAEgAkEGEM4CCwoAIAAgAUEBEEkLHQAgACABKQMQEA8gACABKQMYEA8gACABKQMIEA8LpgEBA38gACgCECIDKALUASABp0EAIAFC/////29WGyIEQYGA3PF5bEH//6OOBmsiBUEgIAMoAsgBa3ZBAnRqIQMCQAJAA0AgAygCACIDBEACQCADKAIUIAVHDQAgAygCLCAERw0AIAMoAiBFDQMLIANBKGohAwwBCwsgACAEQQIQxQQiAw0BQoCAgIDgAA8LIAMgAygCAEEBajYCAAsgACADIAIQ7wULJgEBfwJAIAAoAhBBg39HDQAgACgCICABRw0AIAAoAiRFIQILIAILOAEBfwJAAkAgAUKAgICAcFQNACABpyIDLwEGIAJHDQAgAygCICIDDQELIAAgAhCGA0EAIQMLIAMLlQUCA38BfgJAAkACQAJAAkACQANAIAIoAhAiBEEwaiEFIAQgBCgCGCADcUF/c0ECdGooAgAhBANAIARFDQQgAyAFIARBAWtBA3QiBmoiBCgCBEcEQCAEKAIAQf///x9xIQQMAQsLIAIoAhQgBmohBSAEKAIAIQYgAUUNASABQoCAgIAwNwMYIAFCgICAgDA3AxAgAUKAgICAMDcDCCABIAZBGnZBB3EiBjYCAAJAAkACQAJAIAQoAgBBHnZBAWsOAwABAgMLIAEgBkEQcjYCACAFKAIAIgAEQCAAIAAoAgBBAWo2AgAgASAArUKAgICAcIQ3AxALIAUoAgQiAEUNCSAAIAAoAgBBAWo2AgAgASAArUKAgICAcIQ3AxhBAQ8LIAUoAgAoAhApAwAiB0KAgICAcINCgICAgMAAUQ0EIAdCIIinQXVPBEAgB6ciACAAKAIAQQFqNgIACyABIAc3AwgMCAsgACACIAMgBSAEEMgCRQ0BDAYLCyAFKQMAIgdCIIinQXVPBEAgB6ciACAAKAIAQQFqNgIACyABIAc3AwgMBQtBASEEIAZBgICAgHxxQYCAgIB4Rw0CIAUoAgAoAhA1AgRCIIZCgICAgMAAUg0CCyAAIAMQ2QEMAgtBACEEIAItAAUiBUEEcUUNACAFQQhxBEAgA0EATg0BIANB/////wdxIgMgAigCKCIFSSEEIAFFIAMgBU9yDQEgAUKAgICAMDcDGCABQoCAgIAwNwMQIAFBBzYCACABIAAgAq1CgICAgHCEIAMQsAE3AwgMAwsgACgCECgCRCACLwEGQRhsaigCFCIFRQ0AIAUoAgAiBUUNACAAIAEgAq1CgICAgHCEIAMgBREXACEECyAEDwtBfw8LQQELoQQBAn8CQAJAIAFCgICAgHBUIAJC/////w9Wcg0AIAKnIgQgAaciAygCKE8NAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAy8BBkECaw4eAAsLCwsLAAsLCwsLCwsLCwsLCwIBAgMEBQYHCAkKCwsgAygCJCAEQQN0aikDACIBQiCIp0F1SQ0LIAGnIgAgACgCAEEBajYCACABDwsgAygCJCAEajAAAEL/////D4MPCyADKAIkIARqMQAADwsgAygCJCAEQQF0ajIBAEL/////D4MPCyADKAIkIARBAXRqMwEADwsgAygCJCAEQQJ0ajUCAA8LIAMoAiQgBEECdGooAgAiAEEATgRAIACtDwtCgICAgMB+IAC4vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbDwsgACADKAIkIARBA3RqKQMAEIcCDwsgACADKAIkIARBA3RqKQMAEPsDDwtCgICAgMB+IAMoAiQgBEECdGoqAgC7vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbDwtCgICAgMB+IAMoAiQgBEEDdGopAwAiAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGw8LIAAgAhAxIQMgACACEA8gA0UEQEKAgICA4AAPCyAAIAEgAyABQQAQFCEBIAAgAxATCyABCyoBAX8jAEEQayIEJAAgBCADNgIMIAAgASACIAMQywIhACAEQRBqJAAgAAuMAQECfyABKAJ8IgRBgIAETgRAIABBjTpBABBGQX8PC0F/IQMgACABQfQAakEQIAFB+ABqIARBAWoQeAR/QX8FIAEgASgCfCIDQQFqNgJ8IAEoAnQgA0EEdGoiA0IANwIAIANCADcCCCADIAAgAhAYNgIA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AwsNACAAIAEgARA/EJMCC20BAX8jAEGAAmsiBSQAIARBgMAEcSACIANMckUEQCAFIAFB/wFxIAIgA2siA0GAAiADQYACSSIBGxArGiABRQRAA0AgACAFQYACEFsgA0GAAmsiA0H/AUsNAAsLIAAgBSADEFsLIAVBgAJqJAALDAAgAEGAAmogARARC74BAgF+AX8CQAJAIAFCgICAgHCDQoCAgIAwUQRAIAAoAiggAkEDdGopAwAiA0IgiKdBdEsNAQwCCyAAIAFBOyABQQAQFCIDQoCAgIBwg0KAgICA4ABRBEAgAw8LIANC/////29WDQEgACADEA8gACABEIADIgRFBEBCgICAgOAADwsgBCgCKCACQQN0aikDACIDQiCIp0F1SQ0BCyADpyIEIAQoAgBBAWo2AgALIAAgAyACEEkhASAAIAMQDyABC3UBAX4gACABIAR+IAIgA358IANCIIgiAiABQiCIIgR+fCADQv////8PgyIDIAFC/////w+DIgF+IgVCIIggAyAEfnwiA0IgiHwgASACfiADQv////8Pg3wiAUIgiHw3AwggACAFQv////8PgyABQiCGhDcDAAtQAQF+AkAgA0HAAHEEQCABIANBQGqthiECQgAhAQwBCyADRQ0AIAIgA60iBIYgAUHAACADa62IhCECIAEgBIYhAQsgACABNwMAIAAgAjcDCAtVAQN/IAEgAkEFdSIESwRAIAAgBEECdGooAgAhAwsgAkEfcSICBH8gASAEQQFqIgRLBH8gACAEQQJ0aigCAAVBAAtBAXQgAkEfc3QgAyACdnIFIAMLC2QAAkACQCABQQBIDQAgACgCrAIgAUwNACAAKAKkAiABQRRsaiIAIAAoAgAgAmoiADYCACAAQQBIDQEgAA8LQYUpQa78AEHIqAFBlNUAEAAAC0GmjgFBrvwAQcuoAUGU1QAQAAALYAAgACABIAJCgICAgAh8Qv////8PWAR+IAJC/////w+DBUKAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLIANBh4ABEL0BCwwAIABBhvsAQQAQFQsLACAAIAFBARDBBQvSEAIMfwF+IwBBEGsiCiQAAkACQCABQv////9vWARAIAAQJAwBCyAGQYAwcSIORSAGIAZBCHYiEHEgEEF/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A6ciAiACKAIAQQFqNgIACyAAIAkgAyAGEMsFIQILIAZBggRxQYAERgRAIAogCSgCECIGQTBqNgIMQX8hByAAIAkgCkEMaiAGKAIwQRp2QT1xEJEDDQULIAIhBwwECyAMBEAgACAIKQMAEA8gA0IgiKdBdU8EQCADpyICIAIoAgBBAWo2AgALIAggAzcDAAsgBkGABHFFDQBBfyEHIAAgCSAKQQxqIAooAgwoAgBBGnZBPXEgBkECcXIQkQMNAwtBf0EBIAAgCSAKQQxqIBBBBXEiAEF/cyAKKAIMKAIAQRp2cSAAIAZxchCRAxshBwwCCyAAIAZB4ekAEG8hBwwBC0F/IQcLIApBEGokACAHC/8BAgJ/AXwjAEEQayIEJAACQCACQiCIpyIDQQJNBEAgASACp7c5AwBBACEADAELIANBB2tBbU0EQCABIAJCgICAgMCBgPz/AHw3AwBBACEADAELAn8gACACEI0BIgJCgICAgHCDQoCAgIDgAFEEQEQAAAAAAAD4fyEFQX8MAQsCfAJAAkBBByACQiCIpyIDIANBB2tBbkkbIgNBCmpBAk8EQCADQQdGDQIgAw0BIAKntwwDCyACp0EEaiAEQQhqELUFIAAgAhAPIAQrAwghBUEADAMLEAEACyACQoCAgIDAgYD8/wB8vwshBUEACyEAIAEgBTkDAAsgBEEQaiQAIAALXQECfyMAQRBrIgMkAAJAIAFBgIABcUUEQCABQYCAAnFFDQEgACgCECgCjAEiAUUNASABLQAoQQFxRQ0BCyADQQA2AgwgAEEEIAJBABCSBEF/IQQLIANBEGokACAEC8YJAgR/BX4jAEHwAGsiBiQAIARC////////////AIMhCQJAAkAgAVAiBSACQv///////////wCDIgpCgICAgICAwP//AH1CgICAgICAwICAf1QgClAbRQRAIANCAFIgCUKAgICAgIDA//8AfSILQoCAgICAgMCAgH9WIAtCgICAgICAwICAf1EbDQELIAUgCkKAgICAgIDA//8AVCAKQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQQgASEDDAILIANQIAlCgICAgICAwP//AFQgCUKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCEEDAILIAEgCkKAgICAgIDA//8AhYRQBEBCgICAgICA4P//ACAC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IAAgAaciAkEAIAIoAgRB/////wdxEFEhAiAAKAIAIAEQDyACC7UCAQd/IwBBEGsiBSQAAkAgAEFAaygCACIBRQRADAELAkAgAQJ/IAEoAsgBIgQgASgCxAEiAkgEQCABKALMASEDIAQMAQsgBEEBaiIDIAJBA2xBAm0iAiACIANIGyIGQQN0IQIgACgCACEDAkAgASgCzAEiByABQdABakYEQCADQQAgAiAFQQxqEKgBIgNFDQMgAyABKALMASABKALIAUEDdBAfGgwBCyADIAcgAiAFQQxqEKgBIgNFDQILIAUoAgwhAiABIAM2AswBIAEgAkEDdiAGajYCxAEgASgCyAELQQFqNgLIASADIARBA3RqIgIgASgCvAE2AgAgAiABKALAATYCBCAAQbQBEBAgAEFAaygCACAEQf//A3EQFyABIAQ2ArwBDAELQX8hBAsgBUEQaiQAIAQLoQECA38BfiMAIQYCQCACQoCAgIBwVA0AIAKnIgUvAQZBMEcNACAFKAIgIQQLAn8gBiAAKAIQKAJ4SQRAIAAQ6QFBAAwBCyAELQARBEAgABC2AkEADAELQQAgACAEKQMIIgIgAyACQQAQFCIHQoCAgIBwgyICQoCAgIDgAFENABogAUKAgICAMCAHIAJCgICAgCBRGzcDACAECyEFIAYkACAFCxYAIAAgASACIAMgBCAFIAApAzAQ8QELKQEBfyMAQRBrIgIkACACIAA2AgwgAkEMaiABEJMEIQAgAkEQaiQAIAALngICA38BfiACIAEpAgQiB6dB/////wdxIANHckUEQCABIAEoAgBBAWo2AgAgAa1CgICAgJB/hA8LIAFBEGohBSAHQoCAgIAIg1AgAyACayIEQQBMckUEQCADIAIgAiADSBshBkEAIQMgAiEBA0AgASAGRkUEQCAFIAFBAXRqLwEAIANyIQMgAUEBaiEBDAELCyADQf//A3FBgAJPBEAgACAFIAJBAXRqIAQQ7gMPC0EAIQEgACAEQQAQ6gEiAEUEQEKAgICA4AAPCyAAQRBqIQMDQCABIARGRQRAIAEgA2ogBSABIAJqQQF0ai0AADoAACABQQFqIQEMAQsLIAMgBGpBADoAACAArUKAgICAkH+EDwsgACACIAVqIAQQhAMLugEBAn8CQAJAIAJC/////wdYBEAgACABIAKnQYCAgIB4chBx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IANBCGogAhDiA0UEQEEAIQQgASADKQMIIgJCgICAgICAgBBaBH4gAEGAIEEAEFBBfyEEQgAFIAILNwMACyADQRBqJAAgBAsRACAAIAEgASACIANBAhCKBAtTAQF/IAAoAhAiBEEQaiABIAIgBCgCCBEBACIBIAJFckUEQCAAEHwgAQ8LIAMEQCADIAEgACgCECgCDBEEACIAIAJrIgJBACAAIAJPGzYCAAsgAQvAAQAgAAJ/IAEoAggiAEH+////B04EQEEAIAJBAXENARpB/////wcgAEH+////B0cNARogASgCBEH/////B2oMAQtBACAAQQBMDQAaIABBH00EQEEAIAEoAhAgASgCDEECdGpBBGsoAgBBICAAa3YiAmsgAiABKAIEGwwBCyACQQFxRQRAQYCAgIB4Qf////8HIAEoAgQbDAELQQAgASgCECABKAIMIgIgAkEFdCAAaxBoIgJrIAIgASgCBBsLNgIACw0AIAAgASABED8QhQML+QECA34CfyMAQRBrIgUkAAJ+IAG9IgNC////////////AIMiAkKAgICAgICACH1C/////////+//AFgEQCACQjyGIQQgAkIEiEKAgICAgICAgDx8DAELIAJCgICAgICAgPj/AFoEQCADQjyGIQQgA0IEiEKAgICAgIDA//8AhAwBCyACUARAQgAMAQsgBSACQgAgA6dnQSBqIAJCIIinZyACQoCAgIAQVBsiBkExahBnIAUpAwAhBCAFKQMIQoCAgICAgMAAhUGM+AAgBmutQjCGhAshAiAAIAQ3AwAgACACIANCgICAgICAgICAf4OENwMIIAVBEGokAAu2AQEBfyMAQRBrIgMkAAJAAkAgAkEASARAIAEgAkH/////B3E2AgBBASECDAELIAAoAhAiACgCLCACTQ0BAn8CQCAAKAI4IAJBAnRqKAIAIgApAgRCgICAgICAgIBAg0KAgICAgICAgMAAUg0AIANBDGogABC9BUUNAEEBIAMoAgwiAEF/Rw0BGgtBACEAQQALIQIgASAANgIACyADQRBqJAAgAg8LQe/fAEGu/ABBvxhBryAQAAAL1QECAn8DfgJ/IAJFBEBCgICAgDAhBUEADAELIAAoAhAiAykDgAEhBSADQoCAgIAgNwOAAUF/CyEDAkAgACABQQYgAUEAEBQiB0KAgICAcIMiBkKA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BUEgahBGQX8MAQsCQCABKAIEIARODQAgASAENgIEIARB//8DSA0AIAUgAjYCBCAFIAM2AgAgAEGjkwEgBRBGQX8MAQsgASgCCCACQQF0aiIDLwEAIgZB//8DRwRAQQAgBCAGRg0BGiAFIAI2AhggBSAENgIUIAUgBjYCECAAQdSSASAFQRBqEEZBfwwBCyADIAQ7AQBBfyAAIAFBDGpBBCABQRRqIAEoAhBBAWoQeA0AGiABIAEoAhAiAEEBajYCECABKAIMIABBAnRqIAI2AgBBAAshAyAFQTBqJAAgAwsTACAAIAEgAiADIARBAEEAEPgBCzkAIABB/wBNBEAgAEEDdkH8////AXFBoIECaigCACAAdkEBcQ8LIABBfnFBjMAARiAAENIEQQBHcgtmAQF/An9BACAAKAIIIgIgAU8NABpBfyAAKAIMDQAaIAAoAhQgACgCACACQQNsQQF2IgIgASABIAJJGyIBIAAoAhARAQAiAkUEQCAAQQE2AgxBfw8LIAAgATYCCCAAIAI2AgBBAAsLrAECAX8BfiAAKQIEIgSnQf////8HcSEDAkACQCAEQoCAgIAIg1BFBEAgAiADIAIgA0obIQMgAEEQaiEAA0AgAiADRg0CIAAgAkEBdGovAQAgAUYNAyACQQFqIQIMAAsACyABQf8BSw0AIAIgAyACIANKGyEDIABBEGohACABQf8BcSEBA0AgAiADRg0BIAAgAmotAAAgAUYNAiACQQFqIQIMAAsAC0F/IQILIAILpgEBAX8jAEEQayIDJAAgAyACNwMIAkAgACABQYYBIAFBABAUIgJCgICAgHCDQoCAgIDgAFENACAAIAIQOARAIAAgAiABQQEgA0EIahAvIgJC/////29WIAJCgICAgLB/g0KAgICAIFFyDQEgACACEA8gAEGK0wBBABAVQoCAgIDgACECDAELIAAgAhAPIAAgASADIANBCGoQ8QQhAgsgA0EQaiQAIAILowECA38BfiAAQRBqIQIgASgCACIEQQFqIQMCQCAAKQIEIgVCgICAgAiDUEUEQCACIARBAXRqLwEAIgBBgPgDcUGAsANHIAMgBadB/////wdxTnINASACIANBAXRqLwEAIgJBgPgDcUGAuANHDQEgAEEKdEGA+D9xIAJB/wdxckGAgARqIQAgBEECaiEDDAELIAIgBGotAAAh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OCAaKAIkIRQgCCAVQQ9qQfD//wFxayIXJAAgBSEVIAYEQCAHIAQgByAEIAdIGyIIQQAgCEEAShsiCGsiFUEAIAcgFU8bIREDQAJAIAggCUYEQANAIAggEUYNAiAXIAhBA3RqQoCAgIAwNwMAIAhBAWohCAwACwALIAUgCUEDdCIVaikDACIBQiCIp0F1TwRAIAGnIgogCigCAEEBajYCAAsgFSAXaiABNwMAIBFBAWohESAJQQFqIQkMAQsLIA4gBzYCVCAXIRULIA4gFTYCQCAOIBcgBkEDdGoiETYCREEAIQgDQCAIIAtHBEAgESAIQQN0akKAgICAMDcDACAIQQFqIQgMAQsLIBMoAhQhCiAOIBYoAowBNgIwIBYgDkEwaiISNgKMASATKAIwIQYgESALQQN0aiIIIRwLQQAMAQtBAQshBwNAAkACQAJAAkAgB0UEQCAEQQN0IScgA0KAgICAcIMhMyARQQhqIR0gEUEQaiEeIBFBGGohHyAVQQhqISAgFUEQaiEhIBVBGGohIiASQRhqISggBkHIAWohGyAcQRhqISkgBkHAAWohGSACQiCIpyIkQX5xISogA0IgiKchKyAErSEyIAOnISUgDkEwaiEsIA5B6ABqISYgCCEHAkADQAJAIApBAWohDUIBIS5CgICAgDAhAQJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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ajYCAAsgCCABNwMIIAhBCGspAwAiAUIgiKdBdU8EQCABpyIHIAcoAgBBAWo2AgALIAggATcDECAIQRhqIQcM2wELIAggCEEIayIHKQMANwMAIAhBEGspAwAiAUIgiKdBdU8EQCABpyIKIAooAgBBAWo2AgALIAcgATcDACAIQQhqIQcM2gELIAggCEEIayIHKQMAIgE3AwAgByAIQRBrIgcpAwA3AwAgAUIgiKdBdU8EQCABpyIKIAooAgBBAWo2AgALIAcgATcDACAIQQhqIQcM2QELIAggCEEIayIHKQMAIgE3AwAgCEEQayIKKQMAIS0gCiAIQRhrIgopAwA3AwAgByAtNwMAIAFCIIinQXVPBEAgAaciByAHKAIAQQFqNgIACyAKIAE3AwAgCEEIaiEHDNgBCyAIIAhBCGsiBykDACIBNwMAIAhBEGsiCikDACEtIAogCEEYayIKKQMANwMAIAcgLTcDACAKIAhBIGsiBykDADcDACABQiCIp0F1TwRAIAGnIgogCigCAEEBajYCAAsgByABNwMAIAhBCGohBwzXAQsgCEEQayIHKQMAIQEgByAIQRhrIgcpAwA3AwAgByABNwMADNABCyAIQRhrIgcpAwAhASAHIAhBEGsiBykDADcDACAIQQhrIgopAwAhLSAKIAE3AwAgByAtNwMADM8BCyAIQSBrIgcpAwAhASAHIAhBGGsiBykDADcDACAIQRBrIgopAwAhLSAKIAhBCGsiCikDADcDACAHIC03AwAgCiABNwMADM4BCyAIQShrIgcpAwAhASAHIAhBIGsiBykDADcDACAIQRhrIgopAwAhLSAKIAhBEGsiCikDADcDACAHIC03AwAgCiAIQQhrIgcpAwA3AwAgByABNwMADM0BCyAIQQhrIgcpAwAhASAHIAhBEGsiBykDADcDACAIQRhrIgopAwAhLSAKIAE3AwAgByAtNwMADMwBCyAIQRBrIgcpAwAhASAHIAhBGGsiBykDADcDACAIQSBrIgopAwAhLSAKIAE3AwAgByAtNwMADMsBCyAIQRBrIgcpAwAhASAHIAhBGGsiBykDADcDACAIQSBrIgopAwAhLSAKIAhBKGsiCikDADcDACAHIC03AwAgCiABNwMADMoBCyAIQQhrIgcpAwAhASAHIAhBEGsiBykDADcDACAHIAE3AwAMyQEL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ayIHKQMAIgFC/////z9YBEAgAacMAQsgBiABECYLBH8gCQUgDSgAACAJakEEawshDSAGEHtFDXUMJwsgCkECaiEJAn8gCEEIayIHKQMAIgFC/////z9YBEAgAacMAQsgBiABECYLBH8gDSwAACAJakEBawUgCQshDSAGEHtFDXQMJgsgCkECaiEJAn8gCEEIayIHKQMAIgFC/////z9YBEAgAacMAQsgBiABECYLBH8gCQUgDSwAACAJakEBawshDSAGEHtFDXMMJQsgCCANIAooAAFqIBMoAhRrrUKAgICA0ACENwMAIApBBWohDSAIQQhqIQcMcgsgCigAASEHIAggCiATKAIUa0EFaq03AwAgByANaiENIAhBCGohBwxxCwJAIAhBCGsiBykDACIBQv////8PVg0AIAGnIgkgEygCGE8NACATKAIUIAlqIQ0McQsgBkH14QBBABBGDHQLIAhBCGsiDykDACItQiCIpyIHQQFqIglBBE1BAEEBIAl0QRlxG0UEQCAGIC0Q3AUhLQsCQCAGQRgQKSIJBEAgBkKAgICAIEEREEkiLkKAgICAcINCgICAgOAAUg0BIAYoAhAiB0EQaiAJIAcoAgQRAAALIC0hLgxlCyAJQQA2AhAgCSAtNwMAIAlBADYCCCAupyAJNgIgIAdBfnFBAkYNZSAtIgFCIIinIgdBdU8EQCAtpyILIAsoAgBBAWo2AgALA0AgBiABEIwCIgFCgICAgHCDIi9CgICAgCBSBEAgL0KAgICA4ABRDWYgBiAOQeAAaiAOQYABaiABp0EREI4BDWUgBiAOKAJgIA4oAoABIgsQWiALBEAgBiABEA8gB0F1SQ1lIC2nIgcgBygCAEEBajYCAAxlCyAGEHtFDQEMZQsLAkACQCAtpyIMLQAFQQhxRQ0AQQAhByAMKAIQIgsoAiAiEEEAIBBBAEobIRAgC0EwaiELA0AgByAQRg0CIAstAANBEHENASALQQhqIQsgB0EBaiEHDAALAAsgBiAOQeAAaiAOQYABaiAMQREQjgENZUEAIQcgDigCYCEKIA4oAoABIQkDQCAHIAlHBEAgBiAuIAogB0EDdGooAgRCgICAgCBBABDQARogB0EBaiEHDAELCyAGIAogCRBaDGYLIAlBATYCCCAJIAwoAig2AgwMZQtCgYCAgBAhLgJAIAhBCGspAwAi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/wB8v6G9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhs3AwAMSAsCfCAIQQhrIgcpAwAiLUIgiKciDCAIQRBrIgspAwAiLkIgiKciD3JFBEAgLcQgLsR+IgFCgICAgAh8QoCAgIAQWgRAIBItAChBBHFBACABQoCAgICAgIAQfUKBgICAgICAYFQbDQUgAbkMAgtEAAAAAAAAAIAgLSAuhEKAgICACINQIAFCAFJyRQ0BGiALIAFC/////w+DNwMADEkLIA9BB2tBbUsgDEEHa0FtS3INAyASLQAoQQRxDQMgLkKAgICAwIGA/P8AfL8gLUKAgICAwIGA/P8AfL+iCyE0IAtCgICAgMB+IDS9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhs3AwAMRwsgCEEIayIHKQMAIgEgCEEQayILKQMAIi2EQv////8PVg0BIBItAChBBHENASALAn4gLae3IAGnt6MiNL0iAQJ/IDSZRAAAAAAAAOBBYwRAIDSqDAELQYCAgIB4CyIIt71RBEAgCK0MAQtCgICAgMB+IAFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsLNwMADEYLIAhBCGsiBykDACIBIAhBEGsiCykDACIthEL/////D1YNACAtpyIMQQBIDQAgAaciD0EATA0AIAsgDCAPcK03AwAMRQsjAEEgayIHJAACfwJAAkACQAJAAn4CQAJAAkACQAJAAkACQEEHIAhBEGsiCykDACIBQiCIpyIMIAxBB2tBbkkbIgxBB0dBByAIQQhrIiMpAwAiLkIgiKciDyAPQQdrQW5JGyIPQQdHckUEQCAHIC5CgICAgMCBgPz/AHw3AwggByABQoCAgIDAgYD8/wB8NwMQDAELAkAgDEF/RiAPQX5xQQJHcUUgDEF+cUECRiAPQX9HcnENACAGIAdBGGogASAuIAlBAUEAEIUCIgxFDQAgBiABEA8gBiAuEA8gDEEASA0MIAsgBykDGDcDAAwJCyAGIAEQbCIBQoCAgIBwg0KAgICA4ABRDQogBiAuEGwiLkKAgICAcINCgICAgOAAUQRAIAYgARAPDAwLQQcgAUIgiKciDCAMQQdrQW5JGyIMQQcgLkIgiKciDyAPQQdrQW5JGyIPckUEQCAupyEMIAGnIQ8CQAJAAkACQAJAAkAgCUGaAWsOBgABAgkFAwQLIC7EIAHEfiEtAkAgBigCECIQKAKMASIYRQ0AIBgtAChBBHFFDQAgLUKAgICAgICAEH1CgYCAgICAgGBUDQgLQgAhASAtQgBSDQogDCAPckEATg0LIAtCgICAgMD+/wM3AwAMDgsgBigCECIQKAKMASIYBEAgGC0AKEEEcQ0HCyALQoCAgIDAfiAPtyAMt6O9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhs3AwAMDQsgDEEASiAPQQBOcUUEQCALAn4gD7cgDLcQjgMiNL0iAQJ/IDSZRAAAAAAAAOBBYwRAIDSqDAELQYCAgIB4CyIJt71RBEAgCa0MAQtCgICAgMB+IAFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsLNwMADA0LIA8gDHCtIS0MCAsgBigCECIQKAKMASIYBEAgGC0AKEEEcQ0FCyAPtyE0IAsCfgJ8IAy3IjW9QoCAgICAgID4/wCDQoCAgICAgID4/wBRBEBEAAAAAAAA+H8gNJlEAAAAAAAA8D9hDQEaCyA0IDUQjwMLIjS9IgECfyA0mUQAAAAAAADgQWMEQCA0qgwBC0GAgICAeAsiCbe9UQRAIAmtDAELQoCAgIDAfiABQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbCzcDAAwLCyAJQbIBRg0FDAQLIAHEIC7EfSEtDAULIAxBdUcgD0F1R3FFBEAgBiAJIAsgASAuIAYoAhAoAtgCERoADQwMCQsgDEF3RyAPQXdHcUUEQCAGIAkgCyABIC4gBigCECgCvAIRGgBFDQkMDAsgDEF2RyAPQXZHcUUEQCAGKAIQIRAMAgsgBiAHQRBqIAEQbg0KIAYgB0EIaiAuEG4NCwsCQCAGKAIQIhAoAowBIgxFDQAgDC0AKEEEcUUNACAHKwMQEL0CRQ0AIAcrAwgQvQINAQsCQAJAAkACQAJAAkACQCAJQZoBaw4GAAECCAUEAwsgBysDECAHKwMIoiE0DAULIAcrAxAgBysDCKMhNAwECyAHKwMQIAcrAwgQjgMhNAwDCyAJQbIBRw0EIAcrAxAgBysDCJkiNRCOAyI0RAAAAAAAAAAAY0UNAiA1IDSgITQMAgsgBysDECE1IAcrAwgiNr1CgICAgICAgPj/AINCgICAgICAgPj/AFEEQEQAAAAAAAD4fyE0IDWZRAAAAAAAAPA/YQ0CCyA1IDYQjwMhNAwBCyAHKwMQIAcrAwihITQLIAtCgICAgMB+IDS9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhs3AwAMBwsgBiAJIAsgASAuIBAoAqACERoARQ0GDAkLEAEACyAMRQ0FIAHEIC7EIgGBIi1CAFkNACAMQQBIBEAgLSABfSEtDAELIAEgLXwhLQsgLUKAgICACHxC/////w9WDQEgLSEBCyABQv////8PgwwBC0KAgICAwH4gLbm9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsLIQEgCyABNwMAC0EADAMLIAZBAhCEAgwBCyAGIC4QDwsgC0KAgICAMDcDACAjQoCAgIAwNwMAQX8LIQkgB0EgaiQAIAkNSCAIQQhrIQcMRAsgCEEEaygCACIHRSAHQQdrQW5Jcg09IAghByAGIAhBjQEQ5gFFDUMMRwsCQAJ8IAhBCGsiBykDACIBQiCIpyIJRQRARAAAAAAAAACAIAGnIgpFDQEaRAAAAAAAAOBBIApBgICAgHhGDQEaIAdCACABfUL/////D4M3AwAMPwsgCUEHa0FtSw0BIAFCgICAgMD+/wN9vwshNCAHQoCAgIDAfiA0vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbNwMADD0LIAghByAGIAhBjAEQ5gFFDUIMRgsgCEEIayIHKQMAIgFC/////w9WIAFC/////w+DQv////8HUXJFBEAgByABQgF8Qv////8PgzcDAAw8CyAIIQcgBiAIQY8BEOYBRQ1BDEULIAhBCGsiBykDACIBQv////8PViABQv////8Pg0KAgICACFFyRQRAIAcgAUIBfUL/////D4M3AwAMOwsgCCEHIAYgCEGOARDmAUUNQAxECyAGIAhBCGsiBykDABBsIgFCgICAgHCDQoCAgIDgAFEEQCAHQoCAgIAwNwMADEQLIAcgATcDACABQiCIp0F1TwRAIAGnIgcgBygCAEEBajYCAAsgCCABNwMAIAYgCEEIaiIHIAlBAmsQ5gFFDT8MQwsgCkECaiENIBEgCi0AAUEDdGoiBykDACIBQv////8PViABQv////8Pg0L/////B1FyRQRAIAcgAUIBfEL/////D4M3AwAMOQsgAUIgiKdBdU8EQCABpyIJIAkoAgBBAWo2AgALIA4gATcDYCAGICZBjwEQ5gENQiAGIAcgDikDYBAgDDgLIApBAmohDSARIAotAAFBA3RqIgcpAwAiAUL/////D1YgAUL/////D4NCgICAgAhRckUEQCAHIAFCAX1C/////w+DNwMADDgLIAFCIIinQXVPBEAgAaciCSAJKAIAQQFqNgIACyAOIAE3A2AgBiAmQY4BEOYBDUEgBiAHIA4pA2AQIAw3CyAIQQhrIgcpAwAiAUL/////D1gEQCAHIAFC/////w+FNwMADDcLIAghByMAQRBrIgkkAAJ/AkACQAJAIAhBCGsiCykDACIBQoCAgIBwVA0AIAYgCUEIaiABQZUBEMIFIgxBAEgNASAMRQ0AIAYgARAPIAsgCSkDCDcDAAwCCwJAIAYgARBsIgFCgICAgHCDIi1CgICAgOAAUQ0AIAYoAhAiDCgCjAEiDwR/IA8tAChBBHFBAnYFQQALRSAtQoCAgIDgflJxRQRAIAYgC0GVASABIAwoApwCERsADQEMAwsgBiAJQQRqIAEQmAENACALIAk1AgRC/////w+FNwMADAILIAtCgICAgDA3AwALQX8MAQtBAAshCyAJQRBqJAAgC0UNPAxACwJAAkACQCAIQQhrIgcpAwAiASAIQRBrIgspAwAiLYRC/////w9WDQAgAachCSASLQAoQQRxRQ0BIAlBH0sNACAtIAGGQoCAgIAIfEKAgICAEFQNAgsgBiAIQaABEMMCRQ09DEELIAlBH3EhCQsgCyAtpyAJdK03AwAMOwsgCEEIayIHKQMAIgEgCEEQayIJKQMAIi2EQv////8PWARAIAkCfiAtpyABp3YiCEEATgRAIAitDAELQoCAgIDAfiAIuL0iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGws3AwAMOwsjAEEQayIJJAAgCEEIayIMKQMAIS0CfwJAAkAgBiAIQRBrIgspAwAQbCIBQoCAgIBwgyIuQoCAgIDgAFEEQCAGIC0QDwwBCyAGIC0QbCItQoCAgIBw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gICAgOAAIQEgACACKQMAEOgBIgZCgICAgHCDQoCAgIDgAFEEQCAAIAUQDwwGCyAAIAYQDyAGpyAFp0YNBAsgACAFEA8gAEGE5ABBABAVC0KAgICA4AAhAQwDCyACKAIQKAIsIgBFBEBCgICAgCAhAQwDCyAAIAAoAgBBAWo2AgAgAK1CgICAgHCEIQEMAgsgACABEI0EIgFCIIinQXVJDQEgAaciACAAKAIAQQFqNgIADAELIAUhAQsgA0EQaiQAIAELCwAgAEGNIkEAEEYLGgAgACgCECABIAIQ7wQiAUUEQCAAEHwLIAELgAEBAn8CQAJAIAFFDQAgASgCACICQQBMDQEgASACQQFrIgI2AgAgAg0AIAEtAAVBAXEEQCAAIAEpAxgQIwsgASgCCCICIAEoAgwiAzYCBCADIAI2AgAgAUIANwIIIABBEGogASAAKAIEEQAACw8LQdaNAUGu/ABB9ChB6t0AEAAACxIAIAFB3gFOBEAgACABEOgFCwvbAQIBfwJ+QQEhBAJAIABCAFIgAUL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFEbDQAgAkIAUiADQv///////////wCDIgZCgICAgICAwP//AFYgBkKAgICAgIDA//8AURsNACAAIAKEIAUgBoSEUARAQQAPCyABIAODQgBZBEBBfyEEIAAgAlQgASADUyABIANRGw0BIAAgAoUgASADhYRCAFIPC0F/IQQgACACViABIANVIAEgA1EbDQAgACAChSABIAOFhEIAUiEECyAECy0BAX9BASEBAkACQAJAIABBDWsOBAIBAQIACyAAQTRGDQELIABBOEYhAQsgAQsfACAAIAEgACACEKoBIgIgAyAEEBkhBCAAIAIQEyAEC0QBAX9BfyEDIAAgACgCBCACahDGAQR/QX8FIAAoAgAgAWoiAyACaiADIAAoAgQgAWsQnAEgACAAKAIEIAJqNgIEQQALC44BAQF/IAAgBkEMEEkiBkKAgICAcINCgICAgOAAUgRAIAAgACgCAEEBajYCACAGpyIHIAU7ASogByAEOgApIAcgAzoAKCAHIAE2AiQgByAANgIgIAcgBy0ABUHvAXEgBEECa0EESUEEdHI6AAUgACAGIAAgAkHMngEgAhsQqgEiASADEJYDIAAgARATCyAGCykBAX9B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IAAgD0ElEEsiCEUNACAAIANB3QEgA0EAEBQiDkKAgICAcIMiDUKAgICA4ABRDQAgDUKAgICAMFEEQCAAIA8QD0EADAILIAAgDkElEEsiC0UNAAJAIAgoAgRFDQAgCygCBEUNACAAIA8QDyAAIA4QD0EADAILIAQQ9wMhBwJ/IAgoAgAiCiALKAIAIgxGBEAgCCAHQQJ0aigCCAwBCyAKIAxLBEAgCEHUAGogDCAHELgFDAELIAtB3ABqIAogBxC4BQsiCkUEQCAJIAdBAnRBwMABajYCACAAQZL6ACAJEBUMAQsCQCAIKAIEBEACfiAFBEAgACACELkCDAELIAAgAiAGEJACCyICQoCAgIBwg0KAgICA4ABSDQEMAgsgAkIgiKdBdUkNACACpyIIIAgoAgBBAWo2AgALAkAgCygCBARAAn4gBQRAIAAgAxC5AgwBCyAAIAMgBhCQAgsiA0KAgICAcINCgICAgOAAUg0BIAAgAhAPDAILIANCIIinQXVJDQAgA6ciBSAFKAIAQQFqNgIACyAKIAooAgBBAWo2AgAgCSACIAMgBEF+cUGkAUYgB0ENRnEiBRs3AxggCSADIAIgBRs3AxAgACAKrUKAgICAcIRCgICAgDBBAiAJQRBqEC8hDSAAIAIQDyAAIAMQDyANQoCAgIBwgyICQoCAgIDgAFENAAJ+IAdBDEYEQCAAIA0QJiAEQaoBRketQoCAgIAQhAwBCyANIAdBDUcNABpCgICAgBAgAkKAgICAMFENABogACANECYgBEF9cUGkAUZHrUKAgICAEIQLIQMgACAPEA8gACAOEA8gASADNwMAQQEMAQsgACAPEA8gACAOEA8gAUKAgICAMDcDAEF/CyEHIAlBIGokACAHC2MCAX8BfiMAQRBrIgIkACAAAn4gAUUEQEIADAELIAIgAa1CACABZyIBQdEAahBnIAIpAwhCgICAgICAwACFQZ6AASABa61CMIZ8IQMgAikDAAs3AwAgACADNwMIIAJBEGokAAvHAQIBfgF/AkAgACgCECgCjAEiA0UgAUL/////////D3xC/v///////x9Wcg0AIAMoAihBBHFFDQAgAUKAgICACHxC/////w9YBEAgAUL/////D4MPC0KAgICAwH4gAbm9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA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ACAAIAEQiANBH3YLvgEBB38gACgCDCIFIQMCQANAIAMiBEUNASAAKAIQIgkgBEEBayIDQQJ0aiIGKAIARQ0ACyAAIAAoAgggBCAFa0EFdGo2AgggBigCAGciBwRAQSAgB2shBUEAIQMDQCADIARGRQRAIAkgA0ECdGoiBiAIIAV2IAYoAgAiCCAHdHI2AgAgA0EBaiEDDAELCyAAIAAoAgggB2s2AggLIAAgASACIARBABCqAw8LIABBgICAgHg2AgggAEEAEEEaQQALTgIBfwF+An4jACICIAAoAhAoAnhJBEAgABDpAUKAgICA4AAMAQsgACABrSABKQMAQoCAgIAwIAEoAgggASgCIEEEENgBCyEDIAIkACADCwwAIABB+swAQQAQFQsLACAAQcMaQQAQFQvVAQEDfyMAQRBrIgUkAEF/IQMCQCAAKAIUDQACQAJAIAFBgICAgAROBEAgACgCAEHA2gBBABBGDAELIAEgACgCDEEDbEECbSIEIAEgBEobIQEgACgCECIEIAJBgAJIckUEQCAAIAEQ9QMhAwwDCyAAKAIAIAAoAgQgASAEdCAEa0ERaiAFQQxqEKgBIgINAQsgABCDAwwBCyAFKAIMIQMgACACNgIEIABB/////wMgAyAAKAIQdiABaiIAIABB/////wNOGzYCDEEAIQMLIAVBEGokACADCxEAIAAgASACIAMgBEEAELcFCyYBAX8gAUIgiKdBdU8EQCABpyICIAIoAgBBAWo2AgALIAAgARBsCycBAX8gAUIAUwRAIABCACABfRAwIQIgAEEBNgIEIAIPCyAAIAEQMAvsAQEBfwJAAkACQAJAAkACQAJAQQcgAkIgiKciAyADQQdrQW5JGyIDDggAAAAEBAQEAQMLIAAoAtgBIQAgAUIANwIMIAFCgICAgICAgICAfzcCBCABIAA2AgAgASACxBC6Ag0BDAQLIAAoAtgBIQAgAUIANwIMIAFCgICAgICAgICAfzcCBCABIAA2AgAgASACQoCAgIDAgYD8/wB8vxC6BUUNAwsgARAbQQAPCyADQQpqQQJJDQILIAAoAtgBIQAgAUIANwIMIAFCgICAgICAgICAfzcCBCABIAA2AgAgARA1CyABDwsgAqdBBGoL5AEBBH8jAEEQayICJAAgACACQQhqIAEQ5QEhAyAAIAEQDwJAIANFBEBC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IAMoAgAgAygCBHEMBAsgAygCACADKAIEcgwDCyADKAIAIAMoAgRzDAILEAEACyADKAIEIAMoAgB0C603AwAMAQsgAUKAgICAMDcDACAGQoCAgIAwNwMAQX8MAQtBAAshACADQRBqJAAgAAuGBQIHfwJ+AkAgAUKAgICAcINCgICAgJB/UgRAQoCAgIDgACEKIAAgARA3IgFCgICAgHCDQoCAgIDgAFENAQsCQCACQoCAgIBwg0KAgICAkH9RDQBCgICAgOAAIQogACACEDciAkKAgICAcINCgICAgOAAUg0AIAEhAgwBCwJAIAKnIgUpAgQiCkL/////B4NQDQAgAaciAykCBCELAkAgAygCAEEBRyAKIAuFQoCAgIAIg0IAUnINACADIAAoAhAoAgwRBAAgBSkCBCIKpyIEQf////8HcSIHIAMpAgQiC6ciBkH/////B3EiCGogBEEfdnQgBkEfdiIJQRFzakkNACAFQRBqIQYgA0EQaiEEIAkEQCAEIAhBAXRqIAYgB0EBdBAfGiADIAMpAgQiCiAFKQIEfEL/////B4MgCkKAgICAeIOENwIEDAILIAQgCGogBiAHEB8aIAMgAykCBCIKIAUpAgR8Qv////8HgyILIApCgICAgHiDhDcCBCAEIAunakEAOgAADAELAn4CQAJAIAunQf////8HcSAKp0H/////B3FqIgdBgICAgARPBEAgAEHA2gBBABBGDAELIAAgByAKIAuEpyIGQR92EOoBIggNAQtCgICAgOAADAELIAhBEGohBAJAIAZBAE4EQCAEIANBEGogAygCBEH/////B3EQHyIEIAMoAgRB/////wdxaiAFQRBqIAUoAgRB/////wdxEB8aIAQgB2pBADoAAAwBCyAEIAMgAygCBEH/////B3EQwwUgBCADKAIEQQF0aiAFIAUoAgRB/////wdxEMMFCyAIrUKAgICAkH+ECyEKIAAgARAPDAELIAEhCgsgACACEA8gCgtAACAAAn8CfyADBEAgASgCJCACQQN0akEEagwBC0EAIAEoAiAiA0UNARogAyABLwEoIAJqQQR0agsoAgALENkBCw0AIAAgASACQQIQzgILNQEBfyMAQdAAayICJAAgAiAAKAIQIAJBEGogARCQATYCACAAQef5ACACEMYCIAJB0ABqJAALowECAX8BfiMAQRBr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AiAAKAIQQf0ARw0ACyAAEPMBC0F/QQAgABASGyEBCyABC2gAIAAgASACEE8iAEEATgRAIAEoAnQgAEEEdGoiAiACKAIMQYd/cSADQQN0QfgAcXI2AgwgAiABKAK8ASIDNgIEIAIgASgCwAE2AgggASgCzAEgA0EDdGogADYCBCABIAA2AsABCyAAC20BAX8gACABQfwBakEQIAFB+AFqIAEoAvQBQQFqEHhFBEAgASABKAL0ASIDQQFqNgL0ASABKAL8ASADQQR0aiIDQX82AgAgAyADLQAEQfgBcToABCADIAEoArwBNgIIIAMgACACEBg2AgwLIAMLxgMBBH8gAEFAayIFKAIAQbACaiEDA0BBACECAkADQCADKAIAIgNFDQEgAygCHARAIAFFBEAgAEEGEBALIABBhAEQEEGDASECIAAgBSgCAC0AbEEDRgR/IABBDhAQIABBDhAQIABBwgAQECAAQQYQGiAAQREQECAAQbABEBAgAEHqAEF/EBwhASAAQSQQECAFKAIAQQAQFyAAQYEBEBAgAEGLARAQIABB6wBBfxAcIQQgACABEB4gAEEOEBAgACAEEB5BDgVBgwELEBBBfSECQQEhAQsgAygCECACaiECIAMoAhRBf0YNAAtBD0EOIAEbIQQDQCACBEAgACAEEBAgAkEBayECDAELCyABRQRAIABBBhAQCyAAQe0AIAMoAhQQHBpBASEBDAELCwJAIABBQGsoAgAiAigCYARAAkAgAUUEQEF/IQIMAQsgAEEqEBAgAEHpAEF/EBwhAiAAQQ4QEAsgAEG4ARAQIABBCBAaIABBQGsoAgBBABAXIAAgAhAeQSghAgwBCyACLQBsIgMEQCABRQRAIABBBhAQQS4hAgwCC0EuIQIgA0EDRw0BIABBiwEQEAwBC0EoQSkgARshAgsgACACEBALXQECfwJAAkAgACgCmAIiAUEASA0AIAAoAoACIAFqLQAAIgBBI2siAUENTUEAQQEgAXRB5fAAcRsNAQJAIABB6wBrDgQCAQECAAsgAEHsAWtBAkkNAQtBASECCyACCy8AIAAgASACIAMQ4wIiAEEATgRAIAEoAnQgAEEEdGoiASABKAIMQQNyNgIMCyAACy4AIABBDBApIgAEQCAAIAM2AgggACACNgIEIAAgASgCEDYCACABIAA2AhALIAALawEBfwJA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CyAAKAIQIgJBEGogAyACKAIEEQAAQQAhAgNAIAEoAvwBIQMgAiABKAL0AU5FBEAgACADIAJBBHRqKAIMEBMgAkEBaiECDAELCyAAKAIQIgJBEGogAyACKAIEEQAAQQAhAgNAIAEoAsgCIQMgAiABKALAAk5FBEAgACADIAJBA3RqKAIEEBMgAkEBaiECDAELCyAAKAIQIgJBEGogAyACKAIEEQAAIAEoAswBIgIgAUHQAWpHBEAgACgCECIDQRBqIAIgAygCBBEAAAsgACABKALsAhATIAFB9AJqEPYBIAAoAhAiAkEQaiABKAKMAyACKAIEEQAAIAEoAgQEQCABKAIYIgIgASgCHCIDNgIEIAMgAjYCACABQgA3AhgLIAAoAhAiAEEQaiABIAAoAgQRAAALggEBAn8gACABQRBqEM8FAkAgASgCICICBEAgASgCPCIDRQ0BA0AgAiADT0UEQCAAIAIpAwAQIyACQQhqIQIgASgCPCEDDAELCyAAQRBqIAEoAiAgACgCBBEAAAsgACABKQMYECMgACABKQMAECMPC0GEhAFBrvwAQYmUAUHC6wAQAAALaAEBfgJAAkAgABA0IgNCgICAgHCDQoCAgIDgAFEEQCABIQMMAQsgACADQcAAIAFBBxAZQQBIDQAgACADQekAIAJBAEetQoCAgIAQhEEHEBlBAE4NAQsgACADEA9CgICAgOAAIQMLIAMLjAEBAn8CQANAIAFCgICAgHBUDQECQAJAAkACQAJAAkAgAaciAi8BBiIDQQxrDgUFAQMHAQALIANBMEYNASADQTRrDgUABgYGAAYLIAIoAiAoAjAPCyACKAIgIgJFDQQgAi0AEUUNASAAELYCQQAPCyACKAIgIQILIAIpAwAhAQwBCwsgAigCICEACyAACyIAIAAgAkEBahApIgAEQCAAIAEgAhAfIAJqQQA6AAALIAALjQMCA34EfwJAIAEoAggiBkH+////B04EQEEBIQcgAkEBcQ0BQv///////////wAhAyAGQf7///8HRw0BIAE0AgRC////////////AHwhAwwBCyAGQQBMBEAMAQsgBkE/TQRAIAEoAhAiCSABKAIMIgJBAnRqQQRrKAIAIQhCACAGQSBNBH4gCEEgIAZrdq0FIAJBAk8EfiACQQJ0IAlqQQhrNQIABUIACyAIrUIghoRBwAAg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LQAFQf4BcToABSABIAs3A0ALIAtCIIinQXVPBEAgC6ciACAAKAIAQQFqNgIACyALIQwLIANBIGokACAMC4kEAgR+An8CQAJAIAG9IgRCAYYiA1ANACABvSECIAC9IgVCNIinQf8PcSIGQf8PRg0AIAJC////////////AINCgYCAgICAgPj/AFQNAQsgACABoiIAIACjDwsgAyAFQgGGIgJaBEAgAEQAAAAAAAAAAKIgACACIANRGw8LIARCNIinQf8PcSEHAn4gBkUEQEEAIQYgBUIMhiICQgBZBEADQCAGQQFrIQYgAkIBhiICQgBZDQALCyAFQQEgBmuthgwBCyAFQv////////8Hg0KAgICAgICACIQLIQICfiAHRQRAQQAhByAEQgyGIgNCAFkEQANAIAdBAWshByADQgGGIgNCAFkNAAsLIARBASAHa62GDAELIARC/////////weDQoCAgICAgIAIhAshBCAGIAdKBEADQAJAIAIgBH0iA0IAUw0AIAMiAkIAUg0AIABEAAAAAAAAAACiDwsgAkIBhiECIAZBAWsiBiAHSg0ACyAHIQYLAkAgAiAEfSIDQgBTDQAgAyICQgBSDQAgAEQAAAAAAAAAAKIPCwJAIAJC/////////wdWBEAgAiEDDAELA0AgBkEBayEGIAJCgICAgICAgARUIQcgAkIBhiIDIQIgBw0ACwsgBUKAgICAgICAgIB/gyADQoCAgICAgIAIfSAGrUI0hoQgA0EBIAZrrYggBkEAShuEvwvoDwMHfAh/An5EAAAAAAAA8D8hAwJAAkACQCABvSIRQiCIpyIPQf////8HcSIJIBGnIgxyRQ0AIAC9IhJCIIinIQogEqciEEUgCkGAgMD/A0ZxDQAgCkH/////B3EiC0GAgMD/B0sgC0GAgMD/B0YgEEEAR3FyIAlBgIDA/wdLckUgDEUgCUGAgMD/B0dycUUEQCAAIAGgDwsCQAJAAkACQAJAAn9BACASQgBZDQAaQQIgCUH///+ZBEsNABpBACAJQYCAwP8DSQ0AGiAJQRR2IQ0gCUGAgICKBEkNAUEAIAxBswggDWsiDnYiDSAOdCAMRw0AGkECIA1BAXFrCyEOIAwNAiAJQYCAwP8HRw0BIAtBgIDA/wNrIBByRQ0FIAtBgIDA/wNJDQMgAUQAAAAAAAAAACARQgBZGw8L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A38jAEFAaiIGJAACQCAEIANrIghBAUYEQAJAIANFBEAgAUIDEDAaDAELIAEgA60QMBogAUEBNgIECyACIANBAXRBAXKtEDAaIAIgAigCCEECajYCCCAAIAEQRBoMAQsgACgCACEHIAAgASACIAMgCEEBdiADaiIDQQEQoAQgBkIANwI4IAZCgICAgICAgICAfzcCMCAGIAc2AiwgBkIANwIkIAZCgICAgICAgICAfzcCHCAGIAc2AhggBkIANwIQIAZCgICAgICAgICAfzcCCCAGIAc2AgQgBkEsaiIHIAZBGGogBkEEaiIIIAMgBCAFEKAEIAAgACAIQf////8DQQEQQxogByAHIAFB/////wNBARBDGiAAIAAgB0H/////A0EBEMsBGiAFBEAgASABIAZBGGpB/////wNBARBDGgsgAiACIAZBBGoiAEH/////A0EBEEMaIAZBLGoQGyAGQRhqEBsgABAbCyAGQUBrJAALzgUCB38DfiMAQTBrIggkAAJ/AkACQAJAAkACQCADDgMAAQIDC0HcjAFB1PwAQbUaQZb8ABAAAAsgASACKAIQIAIoAgwiACAAQQV0IAIoAghrEGg2AgAMAgsgAigCECIDIAIoAgwiACAAQQV0IAIoAghrIgJBIGoQaK1CIIYgAyAAIAIQaK2EIQ8gBkGAlOvcA0YEQCABIA9CgJTr3AOAIhA+AgQgASAQQoDslKMMfiAPfD4CAAwCCyABIA8gBq0iEIAiET4CBCABIA8gECARfn0+AgAMAQsgAigCACEKIAhCADcCKCAIQoCAgICAgICAgH83AiAgCCAKNgIcIAhCADcCFCAIQoCAgICAgICAgH83AgwgCCAKNgIIIAMgBUEBdCAEQQFqIgt2QQFqQQF2IgprIQwgACAEQQF0QQFyQRRsaiENQQAhAyAAIARBKGxqIgQoAgxFBEAgBCAGIApB/////wNBARD8AiAIQQhqIglCARAwciANIAkgBCAKQQFqIAdsQQJqQQAQlQFyIQkLAkACQCAIQRxqIg4gAiANIAcgDGxBABBDIAlyIA5BARDRAXIgCEEIaiIJIA4gBEH/////A0EBEENyIAkgAiAJQf////8DQQEQ5AFyQSBxDQADQAJAIAgoAgxFDQAgCCgCFEUNACAIQQhqIgIgAiAEQf////8DQQEQywENAiADQQFrIQMM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3gQBCX8jAEEQayIGJAAgACAAKQOAARAjIABBEGohAyAAQaABaiEEIAAoAqQBIQEDQCABIARGRQRAIAEoAgQhBUEAIQIDQCACIAEoAhBORQRAIAAgASACQQN0aikDGBAjIAJBAWohAgwBCwsgAyABIAAoAgQRAAAgBSEBDAELCyAAIAQ2AqQBIAAgAEGgAWo2AqABIAAQogUgACgCVCAAQdAAakYEQEEAIQIDQAJAIAAoAkQhASACIAAoAkBODQAgASACQRhsaiIBKAIABEAgACABKAIEEOwBCyACQQFqIQIMAQsLIAMgASAAKAIEEQAAIAAoApACIgQEQEEAIQEDQEEAIQUgAUEFRkUEQANAQQAhAiAFQQJGRQRAA0AgAkEURwRAIAQgAUGgAWxqIAVB0ABsaiACQQJ0akGoDWoiBygCACIIBEAgBCgCACIJKAIAIAhBACAJKAIEEQEAGiAHQQA2AgALIAJBAWohAgwBCwsgBUEBaiEFDAELCyABQQFqIQEMAQsLIAAoAtgBIARBACAAKALcAREBABogAEEANgKQAgsgAEHgAWoQoQUgAEH4AWoQoQVBACECA0ACQCAAKAI4IQEgAiAAKAIsTg0AIAEgAkECdGooAgAiAUEBcUUEQCADIAEgACgCBBEAAAsgAkEBaiECDAELCyADIAEgACgCBBEAACADIAAoAjQgACgCBBEAACADIAAoAtQBIAAoAgQRAAAgBiADKQIINwMIIAYgAykCADcDACAGIAAgACgCBBEAACAGQRBqJAAPC0GNkQFBrvwAQb8PQaTlABAAAAtDAQJ/IAAoAogBIQJBfyEDAkADQCACQQBMDQEgACgCgAEgAkEBayICQQR0aigCACABRw0ACyACQYCAgIACciEDCyADC8YBAgR/AX4jAEEQayIDJAAgACABEC0iB0KAgICAcINCgICAgOAAUgRAAkAgACADQQxqIAcQ5QEiBkUEQAwBCwJAIAAgAhA/IgEgAygCDGpBAWoQKSIERQRAQQAhBAwBCyAEIAYgAygCDBAfIgUgAygCDGogAiABEB8aIAUgAygCDCABampBADoAACAAIAUgAygCDCABahCFAyEEIAAoAhAiAUEQaiAFIAEoAgQRAAALIAAgBhBUCyAAIAcQDwsgA0EQaiQAIAQLvwEBAX8gASADai0AAEE8RgRAIAAgBEH/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BEAgCygCJCIEIAJBA3RqIAQgAadBA3QQnAFBAAwBCyABpwshDUEAIQQgAkEAIAJBAEobIQIDQCACIARHBEAgAyAEQQN0aikDACIBQiCIp0F1TwRAIAGnIg4gDigCAEEBajYCAAsgCygCJCAEIA1qQQN0aiABNwMAIARBAWohBAwBCwsgCyAFPgIoIAsoAhQgBUL/////D4M3AwAgBUKAgICACHwhAQwBCyAAIAxBCGogBhA8DQEgDCkDCCIBIAKsIgh8IgVCgICAgICAgBBZBEAgAEHQ2gBBABAVDAILAkAgBEUgAkEATHJFBEBCACEHIAAgBiAIQgAgAUF/EPQCDQMMAQsgASEHCyACQQAgAkEAShutIQlCACEBA0AgASAJUgRAIAMgAadBA3RqKQMAIghCIIinQXVPBEAgCKciAiACKAIAQQFqNgIACyABIAd8IQogAUIBfCEBIAAgBiAKIAgQhgFBAE4NAQwDCwsgACAGQTAgBUKAgICACHwiAUL/////D1gEfiAFQv////8PgwVCgICAgMB+IAW5vSIHQoCAgIDAgYD8/wB9IAdC////////////AINCgICAgICAgPj/AFYbCxBFQQBIDQELIAAgBhAPIAVC/////w+DIAFC/////w9YDQEaQoCAgIDAfiAFub0iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwwBCyAAIAYQD0KAgICA4AALIQEgDEEQaiQAIAEL0gMCB38DfiMAQSBrIgQkACAEQQA2AgwgBEEANgIIAkACQCAEIAAoAhAoAnhJBEAgABDpAQwBCyAAIAEgAiABQQAQFCILQoCAgIBwg0KAgICA4ABRBEAgCyEBDAILAkACQCALQoCAgIBwVA0AIAAgCxDKASIKQQBIDQECQCAKBEAgACAEQQxqIAsQ1gFFDQEMAwsgACAEQQhqIARBDGogC6dBERCOASEJIAQoAgghBSAJQQBIDQILIAQoAgwhCANAIAcgCEYNAQJAIAoEQCAAIAcQqQUiBkUNBAwBCyAAIAUgB0EDdGooAgQQGCEGCwJ/AkAgACALIAYgAxD5BCINQoCAgIBwgyIMQoCAgIAwUgRAIAxCgICAgOAAUg0BIAAgBhATDAULIAAgCyAGQQAQ1QEMAQsgACALIAYgDUEHEBkLIQkgACAGEBMgB0EBaiEHIAlBAE4NAAsMAQsgACAFIAgQWkEAIQUgACACEFwiDEKAgICAcINCgICAgOAAUQ0AIAQgCzcDGCAEIAw3AxAgACADIAFBAiAEQRBqECEhASAAIAwQDyAAIAsQDwwCCyAAIAUgBCgCDBBaIAAgCxAPC0KAgICA4AAhAQsgBEEgaiQAIAELPwEBfyABQQAgAUEAShshAQNAAkAgASADRgRAQX8hAwwBCyAAIANBA3RqKAIEIAJGDQAgA0EBaiEDDAELCyADC/8EAgJ/BH4CQCACQv////9vWARAIAAQJAwBCwJAIAAgAkE9EHEEf0KAgICAMCEFQoCAgIAwIQZCgICAgDAhCCAAIAJBPSACQQAQFCIHQoCAgIBwg0KAgICA4ABRDQFBgQJBgAIgACAHECYbBUEACyEDIAAgAkE+EHEEQEKAgICAMCEFQoCAgIAwIQZCgICAgDAhCCAAIAJBPiACQQAQFCIHQoCAgIBwg0KAgICA4ABRDQFBggRBgAQgACAHECYbIANyIQMLIAAgAkE/EHEEQEKAgICAMCEFQoCAgIAwIQZCgICAgDAhCCAAIAJBPyACQQAQFCIHQoCAgIBwg0KAgICA4ABRDQFBhAhBgAggACAHECYbIANyIQMLQoCAgIAwIQYCQCAAIAJBwAAQcUUEQEKAgICAMCEIDAELQoCAgIAwIQUgACACQcAAIAJBABAUIghCgICAgHCDQoCAgIDgAFEEQAwCCyADQYDAAHIhAwsCQAJAIAAgAkHBABBxRQ0AQoCAgIAwIQUgA0GAEHIhAyAAIAJBwQAgAkEAEBQiBkKAgICAcIMiB0KAgICAMFENAEHDwgAhBCAHQoCAgIDgAFENASAAIAYQOEUNAQsCQCAAIAJBwgAQcUUEQEKAgICAMCEFDAELIANBgCByIQMgACACQcIAIAJBABAUIgVCgICAgHCDIgJCgICAgDBRDQBBtMIAIQQgAkKAgICA4ABRDQEgACAFEDhFDQELIANBgDBxBEBBsekAIQQgA0GAxABxDQELIAEgBTcDGCABIAY3AxAgASAINwMIIAEgAzYCAEEADwsgACAEQQAQFQsgACAIEA8gACAGEA8gACAFEA8LQX8LwgEBAn8gAigCBEUEQCACKAIYIgMgAigCHCIENgIEIAQgAzYCACACQgA3AhgCQCABKAIABEAgAhCfBQwBCyAAIAIpAyAQIwsgACACKQMoECMgAiACKAIAQQFrIgM2AgACQCADRQRAIAIoAhAiAyACKAIUIgQ2AgQgBCADNgIAIAJCADcCECAAQRBqIAIgACgCBBEAAAwBCyACQoCAgIAwNwMoIAJCgICAgDA3AyAgAkEBNgIECyABIAEoAgxBAWs2AgwLC5UBAQN+IAG9IgJC////////////AIMhAyAAvSIEQv///////////wCDQoGAgICAgID4/wBaBEAgA0KBgICAgICA+P8AVA8LAn9BfyADQoCAgICAgID4/wBWIAAgAWNyDQAaQQEgACABZA0AGkEAIABEAAAAAAAAAABiDQAaIARCAFMEQCACQj+Hp0F/cw8LIAJCP4inCwswACABQoCAgIAQhEKAgICAcINCgICAgDBRBEAgACABEDcPCyAAIAFBOEEAQQAQrQILKQEBfyACQiCIp0F1TwRAIAKnIgMgAygCAEEBajYCAAsgACABIAIQxQULUgIBfwF+QoCAgIDgACEEIAAgASACEJMBIgMEfiADKAIgIgMoAgwoAiAtAAQEQCACRQRAQgAPCyAAEGtCgICAgOAADwsgAzUCEAVCgICAgOAACws4ACAAIAEgAhCTASIARQRAQoCAgIDgAA8LIAAoAiAoAgwiACAAKAIAQQFqNgIAIACtQoCAgIBwhAtRAgF+AX8gACAAKQOQAUEDEEkiAkKAgICAcINCgICAgOAAUgRAIAFCIIinQXVPBEAgAaciAyADKAIAQQFqNgIACyAAIAJBNCABQQMQGRoLIAILlQEBA38jAEEQayIEJAAgBCACNwMIIAEoAgAiBSABKAIEIgY2AgQgBiAFNgIAIAFCADcCACAAIAAgAUEgaiADQQN0aikDAEKAgICAMEEBIARBCGoQIRAPIAAgASkDEBAPIAAgASkDGBAPIAAgASkDIBAPIAAgASkDKBAPIAAoAhAiAEEQaiABIAAoAgQRAAAgBEEQaiQAC40BAQN/IwBBEGsiBCQAIAQgATcDCCADQQF0IQZBACEDA0ACQAJAIANBAkYNACAAQcwAQQEgAyAGakEBIARBCGoQzwEiAUKAgICAcINCgICAgOAAUg0BQX8hBSADQQFHDQAgACACKQMAEA8LIARBEGokACAFDwsgAiADQQN0aiABNwMAIANBAWohAwwACwALyAYC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IARuDAILIARBACABQQJPGyADbAwBCyAAQX9zQR92IQQgAUECayEBIAQCfiACBEAgA60iBiABQQN0IgFB5KEEajUCAH5CIIggAUHgoQRqNQIAIAZ+fEIfiAwBCyABQQJ0QYCkBGo1AgAgA61+Qh2IC6dqCyIBayABIABBAEgbC0gBAn8jAEEQayICJABBfyEDAkAgACACQQxqIAEQugENACACKAIMIgNBJWtBXEsNACAAQdmJAUEAEFBBfyEDCyACQRBqJAAgAwt1AQF/AkAgAUKAgICAcINCgICAgOB+UQRADAELAkAgAUKAgICAcFQNACABpyICLwEGQSFHDQAgAikDICIBQoCAgIBwg0KAgICA4H5SDQAMAQsgAEGiLEEAEBVCgICAgOAADwsgAaciACAAKAIAQQFqNgIAIAELrgICAXwBfwJAA0ACQAJAAkACQAJAQQcgAkIgiKciBCAEQQdrQW5JG0EJag4RAgMDAwMDAwMDAAAAAAMDBAEDCyABIALENwMADAULIAJCgICAgMCBgPz/AHwiAkL///////////8Ag0KBgICAgICA+P8AWgRAIAFCADcDAAwFCyACvyIDRAAAAAAAAODDYwRAIAFCgICAgICAgICAfzcDAAwFCyADRAAAAAAAAOBDZARAIAFC////////////ADcDAAwFCyABAn4gA5lEAAAAAAAA4ENjBEAgA7AMAQtCgICAgICAgICAfws3AwAMBAsgASACp0EEakEAEIIDGiAAIAIQDwwDCyAAIAIQjQEiAkKAgICAcINCgICAgOAAUg0BCwsgAUIANwMAQX8PC0EAC7ECAQJ/IwBBIGsiBCQAAkACQAJAIAIoAgxFBEACQAJAAkACQCACKAIIQf7///8Haw4CAQACCyAAEDUMAgsgAigCBA0DCyAAIAIQRBoLQQAhAiABRQ0DIAFCABAwGgwDCyACKAIERQ0BCyAAEDVBASECIAFFDQEgAUIAEDAaDAELIAAgAiACKAIIQQFqQQJtQQEQkQYgAEEBENEBGiABIgNFBEAgACgCACEDIARCADcCGCAEQoCAgICAgICAgH83AhAgBCADNgIMIARBDGohAwsgAyAAIABB/////wNBARBDGiADIAMoAgRBAXM2AgQgAyADIAJB/////wNBARDLARpBICECIAMoAghB/////wdHBEAgAygCDEEAR0EEdCECCyABDQAgAxAbCyAEQSBqJAAgAgsMACAAIAEQiANBAEwLDQAgACABIAJBAhDjAwvRDAEIfyMAQYABayIFJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCDARAIAIoAgwNAQsgAigCCEGAgICAeEYEQCAAQgEQMBoMCwsgASgCCEH/////B0YNCSAAQgEQMBoCQCABIAAQ0wEiAyAEQYCABHFFckUEQCACKAIIQf7///8HTg0LDAELIAMNAgsgASgCBEUNCiACKAIIQf////8HRg0JDAoLIAAoAgAhByAFQgA3AjwgBUKAgICAgICAgIB/NwI0IAUgBzYCMCAFQTBqIAEQRBogAhCxAiEKIAQhCCABKAIEBEAgCkEASARAIAAQNSAFQTBqEBtBASEGDAwLIAUgBSgCNEEBczYCNCAKRSIMIARBBnFBAkZxIARzIQgLIABCARAwGiAFQTBqIAAQggINBCAFQgA3AiggBUKAgICAgICAgIB/NwIgIAUgBzYCHCAFQgA3AhQgBUKAgICAgICAgIB/NwIMIAUgBzYCCCAFQRxqIgEgBUEwaiIJQSBBAhCfBCAFQQhqIgYgCUEgQQMQnwQgASABIAJBICACKAIEQQJzEEMaIAYgBiACQSAgAigCBEEDcxBDGkEAIQYCQCAFKAIQQQBMDQAgBUIANwJkIAVCgICAgICAgICAfzcCXCAFIAc2AlggBUIANwJQIAVCgICAgICAgICAfzcCSCAFIAc2AkQgBUHEAGoiCUEgQQMQ0wIgBUIANwJ4IAVCgICAgICAgICAfzcCcCAFIAUoAlg2AmwgBUHsAGoiB0GAgICAAkEBQRwgCEEFdkE/cSIBa3QgAUE/RhsiAawQMBogBUHYAGoiCyAJIAdBIEEDEEMaIAcQGyALIAVBHGoQsgIEQCAFQdgAahAbIAVBxABqEBsgAEEAIAMgCBCrBCEGDAELIAVBxABqIgdBIEECENMCIAVB2ABqIgkgB0EBIAEgA0EBayAIQRx0QR91cWoiAWusQSBBAhDUAiAFQQhqIAkQsgIEQCAFQdgAahAbIAVBxABqEBsgCEEHcUEDRgRAIABCARAwGiAAQQMgAWs2AghBGCEGDAILIABBABCJAUEYIQYMAQsgBUHEAGoQGyAFQdgAahAbCyAFQRxqEBsgBUEIahAbIAYNBCAEQQdxIQYgCkEATg0CIAZBBkYNA0EAIQcgACgCACEJIAVBMGoQsQIhAQJAQQAgCmsiBEEgTwRAIAFFDQEMBQsgAUF/IAR0QX9zcQ0EIAEgBHUhBwsgBSgCQCAFKAI8IgsgASAFKAI4ayALQQV0ahBoQQdxQQFHDQMgBUIANwJ4IAVCgICAgICAgICAfzcCcCAFIAk2AmwgBUHsAGogBUEwahBEGiAFIAUoAnQgAWs2AnRBACEBA0AgASAERg0CIAEEQCAFQewAaiAAEEQaCyABQQFqIQEgAEEAIAVB7ABqEJEFRQ0ACwwDCyACKAIIQf7///8Haw4CBgcFCyAAIAAoAgggB2o2AgggBUEwaiAAEEQaIAUgAigCEDYCfCAFIAIoAgw2AnggBSACKAIENgJwIAUgAigCCCAKazYCdCAFQewAaiECCyAFKAI4IgEgBUEwahCxAmsiBEEBRgRAIAVBMGoiBCACIAFBAWusQSBBARDUAiAFQQRqIARBABCpASAAQgEQMBogACAFKAIEIAMgCBDMASEGDAILIANB/////wNGBEAgBUHYAGogAkEAEKkBIAIoAgQNAyAFKAJYIgFB/////wFMBEAgACAFQTBqIAFB/////wNBARCiBCEGDAMLIAVBMGoQGyAAQQBB/////wMgCBCrBCEGDAgLIAIoAghBIE4EQCAGQQZGDQEgAigCBA0BIAAgAiAEQQFrrEEgQQEQ1AIgBUEEaiAAQQAQqQEgBSgCBCADSw0BCyAAIAVBMGogAyAIQcgAIAIQngQhBgwBCyAAIAVBMGogAyAIQckAIAIQngQhBgsgBUEwahAbIAAgDDYCBAwFC0HO0ABB1PwAQaElQfEhEAAACyABKAIEIAIQsQJFcSEDIAIoAgQgASgCCEGAgICAeEZGBEAgACADEIwBQQIhBiACKAIERQ0DDAQLIAAgAxCJAQwCCyACKAIEIANBAEpGBEAgAEEAEIkBDAILIABBABCMAQwBCyAAEDULQQAhBgsgBUGAAWokACAGC1MBAn8jAEEgayIEJAAgACgCACEFIARCADcCGCAEQoCAgICAgICAgH83AhAgBCAFNgIMIARBDGoiBSAAIAEgAiADEOQDIQAgBRAbIARBIGokACAAC4gCAgJ/AX4jAEEQayIEJAACQAJAIAFCgICAgHCDQoCAgIDgflINACABpyEDAkAgAkUNACAEQQhqIANBBGpBABCCAw0AIAQpAwgiBUKBgICAgICAcFMgBUL/////////D1VyDQAgACABEA8gBUKAgICACHxC/////w9YBEAgBUL/////D4MhAQwCC0KAgICAwH4gBbm9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhshAQwBCyADKAIMQYCAgIB4Rw0AIAMoAghFDQAgAygCAEEBRw0BIANBADYCCAsgBEEQaiQAIAEPC0HjjAFBrvwAQbHgAEGSjAEQAAALQAEDf0EBIABB3qgEai0AACIBIAFBAU0bIQNBASECIAAhAQNAIAIgA0ZFBEAgAkEBaiECIAAgAWwhAQwBCwsgAQu2FQMJfwx+AnwjAEFAaiICJAAgAkEAQcAAECshBCABQQBB0AEQKyICIAA1AhA3AxggAiAANQIUNwMAIAA1AhghCyACQgI3AyAgAiALNwMIIAIgACgCQEEDdEHwAmqtNwMQIABBzABqIQEgAEHIAGohCANAIAEoAgAiBSAIRkUEQCAFKAIQIQEgAiACKQMgQgJ8NwMgIAIgAikDECAAKAJAQQN0QYgCaq18NwMQIAIgAikDwAEgBTMBCHw3A8ABIAIgAikDyAEgBTQCDHw3A8gBAkAgAUUNACABLQAQDQAgASgCGCEDIAIgAikDaEIBfDcDaCACIAIpA3AgA0ECdCABKAIcQQN0akE0aq18NwNwCyAFQeQBaiEBIAVB4AFqIQkDQCAJIAEoAgAiA0cEQCACIAIpAyAiDUIBfCIMNwMgIAIgAikDEELwAHwiCzcDECADKAIIBEAgAiANQgJ8Igw3AyAgAiALIAMoAgxBA3StfCILNwMQCwJAIAMoAhRFDQAgAiAMQgF8NwMgIAIgCyADKAIYIgZBFGytfDcDEEEAIQEDQCABIAZODQECQCADKAIUIAFBFGxqIgcoAggNACAHKAIERQ0AIAIgAikDIEIBfDcDICAHKAIEKQMYIAQQnQEgAygCGCEGCyABQQFqIQEMAAsACyADKAIgBEAgAiACKQMgQgF8NwMgIAIgAikDECADKAIkQQJ0rXw3AxALIAMoAiwEQCACIAIpAyBCAXw3AyAgAiACKQMQIAMoAjBBDGytfDcDEAsgAykDOCAEEJ0BIAMpA0AgBBCdASADQQRqIQEMAQsLIAVBBGohAQwBCwsgAEHUAGohASAAQdAAaiEIA0AgASgCACIDIAhGRQRAAkACQAJAIANBBGstAABBD3EOAgEAAgsgAygCGAR/IAMvASIgAy8BIGpBBHRBQGsFQcAACyEGIAMoAiwEQEEAIQEgAygCMCIHIQUDQCABIAVORQRAIAMoAiwgAUEDdGopAwAgBBCdASABQQFqIQEgAygCMCEFDAELCyAHQQN0IAZqIQYLIAMoAhwEQCADKAI0QQN0IAZqIQYLAkAgAy8ACSIFQYAgcQ0AIAMoAgxFDQAgBCAEKQMoIAM0AhB8NwMoCwJ/QQAgBUGACHFFDQAaAn8gAygCTEUEQCAGQRhqIQZBAAwBCyAGIAMoAkBqQRlqIQZBAQsiASADKAJEIgVFDQAaIAQgBCkDMEIBfDcDMCAEIAQpAzggBax8NwM4IAFBAWoLIQEgBCAEKQMYQgF8NwMYIAQgBCsDICAGt6A5AyAgBCAEKwMAIAG3oDkDAAwBCyADKAIIIQcgAiACKQNIQgF8NwNIAkAgAygCDEUNACACIAIpAyBCAXw3AyAgAiACKQNgIAcoAhxBA3StfDcDYCACIAIpA1ggBygCICIGrHw3A1ggB0EwaiEBQQAhBQNAIAUgBk4NAQJAIAEoAgRFDQAgASgCAEH/////A0sNACADKAIMIAVBA3RqKQMAIAQQnQEgBygCICEGCyAFQQFqIQUgAUEIaiEBDAALAAsgBy0AEEUEQCAHKAIYIQEgAiACKQNoQgF8NwNoIAIgAikDcCABQQJ0IAcoAhxBA3RqQTRqrXw3A3ALAkACQAJAAkACQAJAAkACQAJAAkAgA0ECay8BAEECaw4jAAkBAQEBAAkBCQIDBAUJBwYICAkJCQkJCQkJCQkJCQEBCQEJCyACIAIpA6gBQgF8NwOoASADQQNrLQAAQQhxRQ0JIAIgAikDsAFCAXw3A7ABIAMoAhxFDQkgAiACKQMgQgF8NwMgIAIgAikDECADKAIgQQN0rXw3AxAgAiACKQO4ASADNQIgfDcDuAFBACEBA0AgASADKAIgTw0KIAMoAhwgAUEDdGopAwAgBBCdASABQQFqIQEMAAsACyADKQMYIAQQnQEMCAsgAiACKQOgAUIBfDcDoAEMBwsgAygCHCIJRQ0GIAMoAhghByACIAIpAyBCAXw3AyAgAiACKQOAASAHKAI8IgZBAnStfDcDgAFBACEBA0AgASAGTg0HAkAgCSABQQJ0aigCACIFRQ0AIAICfkQAAAAAAADwPyAFKAIAtyIXoyACKQMguaAiGJlEAAAAAAAA4ENjBEAgGLAMAQtCgICAgICAgICAfws3AyAgAgJ+RAAAAAAAAEBAIBejIAIpA4ABuaAiF5lEAAAAAAAA4ENjBEAgF7AMAQtCgICAgICAgICAfws3A4ABIAUoAhAiCiAFQRhqRw0AIAopAwAgBBCdASAHKAI8IQYLIAFBAWohAQwACwALIAMoAhghBkEAIQEDQCABIAYoAhAiBU5FBEAgBiABQQN0aikDGCAEEJ0BIAFBAWohAQwBCwsgAiACKQMgQgF8NwMgIAIgAikDECAFQQN0QRhqrXw3AxAMBQsgAygCGCIGRQ0EQQAhAQNAIAEgBi0ABSIFT0UEQCAGIAFBA3RqKQMIIAQQnQEgAUEBaiEBDAELCyACIAIpAyBCAXw3AyAgAiACKQMQIAWtQgOGfEIIfDcDEAwECyADKAIYIAQQtwQgAygCHCAEELcEDAMLIAMoAhgiAUUNAiABKQMAIAQQnQEgAiACKQMgQgF8NwMgIAIgAikDEEIYfDcDEAwCCyADKAIYIgFFDQEgAiACKQMgIgtCAXw3AyAgAiACKQMQQhx8Igw3AxAgASgCCEUNASACIAtCAnw3AyAgAiAMIAE0AgB8NwMQDAELIAMoAhhFDQAgAiACKQMgQgF8NwMgCyADQQRqIQEMAQsLIAIgAikDUCACKQNIIg5CMH58Ig83A1AgAiACKQMQIAAoAswBIgFBAnStfCIQNwMQQQAhBSABQQAgAUEAShshAyACKQMgIQsDQCADIAVGRQRAIAAoAtQBIAVBAnRqIQEDQCABKAIAIgEEQCABKAIYIQYgAiACKQNoQgF8NwNoIAIgAikDcCAGQQJ0IAEoAhxBA3RqQTRqrXw3A3AgAUEoaiEBDAELCyAFQQFqIQUMAQsLIAIgC0IDfCIRNwMgIAIgACgCKCIGrDcDKCACIAAoAiwiAyAAKAIkakECdK0iCzcDMEEAIQEgA0EAIANBAEobIQUDQCABIAVHBEAgACgCOCABQQJ0aigCACIDQQFxRQRAIAIgCyADKAIEIgNBH3UgA0H/////B3EgA0EfdnRqQRFqrXwiCzcDMAsgAUEBaiEBDAELCyACAn4gBCsDCBCxAyIXmUQAAAAAAADgQ2MEQCAXsAwBC0KAgICAgICAgIB/CyIMNwM4IAICfiAEKwMQELEDIheZRAAAAAAAAOBDYwRAIBewDAELQoCAgICAgICAgH8LIg03A0AgAiAEKQMYIhI3A3ggAgJ+IAQrAyAQsQMiF5lEAAAAAAAA4ENjBEAgF7AMAQtCgICAgICAgICAfwsiEzcDgAEgAiAEKQMoIhQ3A4gBIAIgBCkDMCIVNwOQASACIAQpAzgiFjcDmAEgBCsDACEXIAIgAikDcCACKQNgIBYgFCAPIBB8IA18IBN8fHwgC3x8fDcDECACAn4gFxCxAyAGt6AgDLmgIA65oCACKQNouaAgErmgIBW5oCARuaAiF5lEAAAAAAAA4ENjBEAgF7AMAQtCgICAgICAgICAfws3AyAgBEFAayQAC1ABAn8DQCABLAAAIgQEQCAEIAAsAAAiA0EgaiADIANBwQBrQRpJG0cEQEEADwUgAUEBaiEBIABBAWohAAwCCwALCyACBEAgAiAANgIAC0EBC70HAgp/AX4jAEHgAGsiAyQAQoCAgIDgACENAkAgACADQQxqIAEQuwEiBkUNACAGKAIEIgwhBSAGKAIIIgRBgICAgHhGBEAgBkEANgIEQQAhBQsgBigCACEKIANCADcDUCADQgA3A0ggAyAKNgJcIANBxQA2AlgCfwJAAkAgBEH/////B0YEQCADQcgAakGBgwEQ+wIMAQsgBQRAIANByABqQS0QESAGKAIIIQQLIARB/v///wdGBEAgA0HIAGpB9RwQ+wIMAQtBACEFIANCADcCQCADQoCAgICAgICAgH83AjggAyAKNgI0IAIgAkEBayIIcUUEQEEgIAhna0EAIAJBAk8bIQULAkACQAJAAkAgBQRAIANBNGogBhBEDQEgA0E0akEAQREQzgFBIHENASADKAI8IgQgBUEBa0EAIARBAE4baiAFbSEFIARBgICAgHhGBEAgA0HIAGpBqJABEPsCDAULQQAhBCAFQQBKDQIgA0HIAGpBvZABEPsCQQAgBWshAgNAIAIgBEYNBSADQcgAakEwEBEgBEEBaiEEDAALAAsgAyAGKAIQNgIwIAMgBigCDCIFNgIsIANBADYCJCADIAQ2AiggBEEAIARBAEobIAJBARCNBUEBaiEIAkAgBQRAIAggAkEAEI0FIQVBECEEA0AgA0E0aiILIAJBACAEIAVqIglBAWoiB0HgDxD8AiALIAsgA0EgaiAHQeAPEENyIgdBIHENAyAHQRBxRQ0CIANBNGogAygCPEEBIAkQ4QMNAiAEQQJtIARqIQQMAAsACyADQTRqIANBIGoQRA0BDAMLIANBNGpBARDRAUEgcUUNAgsgA0E0ahAbDAQLIANByABqIANBNGogAiAFIAUQjAUMAQsgAygCTCEFIANByABqIANBNGogAiAIIAgQjAUgAygCTCIJIAVBAWoiAiACIAlJG0EBayEIIAMoAkghByAFIQQDQAJAIAkgBCICQQFqIgRNBEAgCCECDAELIAIgB2otAABBMEcNACAEIAdqLQAAQS5HDQELCyACIAVNDQAgBSAHaiACIAdqIAkgAmsQnAEgAyAFIAJrIAlqNgJMCyADQTRqEBsLIANByABqQQAQESADKAJUDQAgAygCSAwBC0EAIAMoAkgiAkUNABogCigCACACQQAgCigCBBEBABpBAAshBCAGIAw2AgQgACAGIANBDGoQXiAERQRAIAAQfAwBCyAAIAQQYiENIAAoAtgBIgAoAgAgBEEAIAAoAgQRAQAaCyADQeAAaiQAIA0Lw3UCEn8BfiMAQaAGayIDJAAgASgCyAEiBEEAIARBAEobIQYDQCACIAZGRQRAIAEoAswBIAJBA3RqQX82AgQgAkEBaiECDAELCyABKAI8BEAgASgCzAFBfjYCDAtBACECIAEoAnwiBkEAIAZBAEobIQYCfgJAAkADQCACIAZGBEACQEECIQJBAiAEIARBAkwbIQgDQAJAIAIgCEYEQEEAIQIDQCACIAZGDQICQCABKAJ0IAJBBHRqIgQoAghBAE4NACAEKAIEIghBAkgNACAEIAEoAswBIgQgBCAIQQN0aigCAEEDdGooAgQ2AggLIAJBAWohAgwACwALIAEoAswBIgcgAkEDdGoiBCgCBEEASARAIAQgByAEKAIAQQN0aigCBDYCBAsgAkEBaiECDAELCwJAIAEoAkRFDQACQCABKAIgDQAgAS0AbkEBcQ0AIAEgACABQdIAEE82ApABIAEoAjxFDQAgASAAIAFB0wAQTzYClAELAkAgASgCTCIIRQ0AIAEoAqgBQQBIBEAgASAAIAEQygM2AqgBCyABKAKsAUEASARAIAEgACAB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KAIAEB0gAkHAABARIAIgACAJKAIMEBgQHSACIBEQEQsgACAJKAIMEBMgBEEBaiEEDAALAAtBhSlBrvwAQYzyAUH7ORAAAAtBmoIBQa78AEHY6wFB3/QAEAAAC0GuhAFBrvwAQZvrAUHf9AAQAAALA0AgAiAOTkUEQCADQYAGaiACIA1qIgQgBC0AAEECdEGAuAFqLQAAIgQQciACIARqIQIMAQsLIAwQ9gEgDCADKQOQBjcCECAMIAMpA4gGNwIIIAwgAykDgAY3AgAMDAsgDBD2ASAMIAMpA5AGNwIQIAwgAykDiAY3AgggDCADKQOABjcCAAJAIAEoAowCDQAgASgCpAIhDSADIAEoAvACNgKYBiADIAEoAoACIgk2AtwFIAMgASgChAIiCzYC4AUgACgCECECIANCADcDiAYgA0IANwOABiADIAI2ApQGIANBOzYCkAYgASgC0AIiAgRAIAEgASgCACACQQR0EF8iAjYCzAIgAkUNDQsCQCABKALcAiICRQ0AIAEtAG5BAnENACABIAEoAgAgAkEDdBBfIgI2AtgCIAJFDQ0gAUEANgLoAiABIAEoAvACNgLkAgsgASgCtAFBAE4EQCADQYAGaiICQQwQESACQQQQESACQdkAIAEoArQBEF0LIAEoArABQQBOBEAgA0GABmoiAkEMEBEgAkECEBEgAkHZACABKAKwARBdCyABKAKsAUEATgRAIANBgAZqIgJBDBARIAJBAxARIAJB2QAgASgCrAEQXQsCQCABKAKoAUEASA0AIAEoAmAEQCADQYAGaiICQeEAEBEgAiABLwGoARAqDAELIANBgAZqIgJBCBARIAJB2QAgASgCqAEQXQsgASgCmAFBAE4EQEEAIQIgAS0AbkEBcUUEQCABKAI4QQBHIQILIANBgAZqIgRBDBARIAQgAhARIAEoApwBIgJBAE4EQCADQYAGakHaACACEF0LIANBgAZqQdkAIAEoApgBEF0LIAEoAqABQQBOBEAgA0GABmoiAkEMEBEgAkECEBEgAkHZACABKAKgARBdCyABKAKQAUEATgRAIANBgAZqIgJBDBARIAJBBRARIAJB2QAgASgCkAEQXQsgASgClAFBAE4EQCADQYAGaiICQQwQESACQQUQESACQdkAIAEoApQBEF0LQQAhAgJAA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAiALTgRAQQAhAiABKAKsAiIEQQAgBEEAShshBANAIAIgBEYNAiACQRRsIQYgAkEBaiECIAYgDWooAhBFDQALQdWDAUGu/ABB/foBQZQ4EAAACyACIAIgCWoiBi0AACIFQQJ0QYC4AWotAAAiB2ohBAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgBUHYAGsOIBASGhESGhESGhoaGhoaGhoaBAQBAwIaGgwMBQUFBQUFAAsCQCAFQQFrDhUJCgoLGg0HGggIGhoaBhoaDxoaGg4ACyAFQSJrIghBH0sNGEEBIAh0IgpBwOEBcQ0SIApBBXFFBEAgCEEfRw0ZIAYoAAFBMEcNGiABIAMoAoQGIAMoApgGEDMgA0GABmpB6QEQESAEIQIMIwsgBi8AASECIANCqICAgHA3A1AgA0HcBWogBCADQdAAahAnBEACQCADKALoBSIEQQBIBEAgAygCmAYhBAwBCyADIAQ2ApgGCyABIAMoAoQGIAQQMyADQYAGaiAFQQFqIAIQXSABIAkgCyADKALkBSADQZgGahCkAiECDCMLIAEgAygChAYgAygCmAYQMyADQYAGaiAFIAIQXSAEIQIMIgsgBigAASEFIAQhBgwWCyAGKAABIQdB7QAhBQwUCyAGKAABIQdB7AAhBQwTCyABIAYoAAEgA0GcBmpBABDHAyEHIAMoAtwFIAMoAuAFIAQgBxDGAwRAIAEgB0F/EGkaIANBgAZqQQ4QESAEIQIMHwsgA0LrgICAcDcDYCADQdwFaiAEIANB4ABqECdFDRIgAygC6AUhCCADKALcBSADKALgBSADKALkBSIGIAcQxgNFDRIgCEEATgRAIAMgCDYCmAYLIAEgB0F/EGkaIAVBA3MhBSADKAL0BSEHDBwLIAYtAAkhCCAGKAABIQcgASAGKAAFIANBnAZqQQAQxwMiAkEASA0PIAIgASgCrAJODQ8gASADKAKEBiADKAKYBhAzIAEgASgC1AIiBkEBajYC1AIgASgCzAIgBkEEdGoiBkEENgIEIAYgBTYCACADKAKEBiEKIAYgAjYCDCAGIApBBWo2AgggA0GABmoiBiAFEBEgBiAHEB0gBiANIAJBFGxqIgIoAgwgAygChAZrEB0gAigCDEF/RgRAIAAgAiADKAKEBkEEa0EEEOgCRQ0dCyADQYAGaiAIEBEgBCECDB0LIANCqYCAgHA3A3AgA0HcBWogBCADQfAAahAnRQ0TIAQhAiADKALoBSIEQQBIDRwgAyAENgKYBgwcCyADQquBgIBwNwOgASADQdwFaiAEIANBoAFqECcEQAJAIAMoAugFIgJBAEgEQCADKAKYBiECDAELIAMgAjYCmAYLIAEgAygChAYgAhAzIANBgAZqQfMBEBEMGAsgA0F/NgKYASADQqyBgICQzRo3A5ABIANB3AVqIAQgA0GQAWoQJ0UNAAJAIAMoAugFIgVBAEgEQCADKAKYBiEFDAELIAMgBTYCmAYLIAEgAygChAYgBRAzIANBgAZqQfMBEBEgAygC7AVBA3MhBQwYCyADQunUgYBwNwOAASADQdwFaiAEIANBgAFqECdFDREgBUEKRiEKDA0LAkAgBigAASIGQYCAgIB4ckGAgICAeEYNACADQoyBgIBwNwPgASADQdwFaiAEIANB4AFqECdFDQAgAygC6AUiAkEATgRAIAMgAjYCmAYLIANCjoCAgHA3A9ABIANB3AVqIAMoAuQFIANB0AFqECcEQCADKALoBSICQQBIDRcgAyACNgKYBgwXCyABIAMoAoQGIAMoApgGEDMgA0GABmpBACAGaxDFAwwWCyADQo6AgIBwNwPAASADQdwFaiAEIANBwAFqECcEQCADKALoBSICQQBIDRYgAyACNgKYBgwWCyADQunUgYBwNwOwASADQdwFaiAEIANBsAFqECcEQCAGQQBHIQoMDQsgASADKAKEBiADKAKYBhAzIANBgAZqIAYQxQMgBCECDBkLIAYoAAEiAkH/AUoNDyABIAMoAoQGIAMoApgGEDMgA0GABmoiBiAFQcMAa0H/AXEQESAGIAJB/wFxEBEgBCECDBgLIAYoAAEhAiADQo6AgIBwNwPwASADQdwFaiAEIANB8AFqECcEQCAAIAIQEyADKALoBSICQQBIDRQgAyACNgKYBgwUCyACQS9HDQ4gASADKAKEBiADKAKYBhAzIANBgAZqQcEBEBEgBCECDBcLIANCyYCAgHA3A6gCIANC2Lb5gnA3A6ACIANB3AVqIAQiAiADQaACahAnDRYgA0F/NgKYAiADQoGEkICQCTcDkAIgA0HcBWogAiADQZACahAnDRYgA0F/NgKIAiADQoaOqMiQCTcDgAIgA0HcBWogAiADQYACahAnDRYMDQsgA0KOgICAcDcD8AIgA0HcBWogBCADQfACahAnBEAgAygC6AUiAkEASA0SIAMgAjYCmAYMEgsgA0KogICAcDcD4AIgA0HcBWogBCADQeACahAnBEACQCADKALoBSICQQBIBEAgAygCmAYhAgwBCyADIAI2ApgGCyABIAMoAoQGIAIQMyADQYAGakEpEBEMEgsgA0Lp1IGAcDcD0AJBACEKIANB3AVqIAQgA0HQAmoQJw0IIANCq4GAgHA3A8ACIANB3AVqIAQgA0HAAmoQJwRAAkAgAygC6AUiAkEASARAIAMoApgGIQIMAQsgAyACNgKYBgsgASADKAKEBiACEDMgA0GABmpB8gEQEQwSCyADQX82ArgCIANCrIGAgJDNGjcDsAIgA0HcBWogBCADQbACahAnRQ0MAkAgAygC6AUiBUEASARAIAMoApgGIQUMAQsgAyAFNgKYBgsgASADKAKEBiAFEDMgA0GABmpB8gEQESADKALsBUEDcyEFDBILIANBfzYCiAMgA0LD9oCA4AE3A4ADIANB3AVqIAQgA0GAA2oQJ0UNCwJAIAMoAugFIgJBAEgEQCADKAKYBiECDAELIAMgAjYCmAYLIAEgAygChAYgAhAzIANBgAZqIgIgAy0A7AUQESACIAMoAvwFEB0MEAsgA0F/NgK4AyADQtm4/YJwNwOwAyADQdwFaiAEIANBsANqECdFDQogAygC6AUiAkEATgRAIAMgAjYCmAYLIANCjoCAgHA3A6ADIAMoAuwFIgVBAWohBgJAIANB3AVqIAMoAuQFIgIgA0GgA2oQJwR/IAMoAugFIgJBAE4EQCADIAI2ApgGCyADIAMoAvAFNgKUA0F/IQQgA0F/NgKYAyADIAVBAWs2ApADIANB3AVqIAMoAuQFIgIgA0GQA2oQJ0UNASADKALkBSECIAMoAugFBUF/CyEEIAYhBQsgASADKAKEBiADKAKYBhAzIANBgAZqIAUgAygC8AUQXSAEQQBIDRMgAyAENgKYBgwTCyAGLwABIgJB/wFLDQkgA0KOgICAcDcCzAQgAyACNgLIBCADQpCjgoCQCzcDwAQCQCADQdwFaiAEIANBwARqECdFBEAgA0KOgICAcDcDsAQgAyACNgKsBCADQdkANgKoBCADQo6fgoCQAjcDoAQgA0HcBWogBCADQaAEahAnRQ0BCwJAIAMoAugFIgVBAEgEQCADKAKYBiEFDAELIAMgBTYCmAYLIAEgAygChAYgBRAzIANBgAZqIgZBkwFBkwFBkgEgAygC7AUiBEGRAUYbIARBjwFGGxARIAYgAkH/AXEQEQwPCyADQo6AgIBwNwKUBCADIAI2ApAEIANCkYCAgJALNwOIBCADQoSAgIDQEzcDgAQgA0HcBWogBCADQYAEahAnBEACQCADKALoBSIFQQBIBEAgAygCmAYhBQwBCyADIAU2ApgGCyABIAMoAoQGIAUQMwJAIAMoAvwFQS9GBEAgA0GABmpBwQEQEQwBCyADQYAGaiIEQQQQESAEIAMoAvwFEB0LIANBgAZqIgRBlAEQESAEIAJB/wFxEBEMDwsgA0KOgICAcDcC9AMgAyACNgLwAyADQpGAgICQCzcD6AMgA0KBgICA0BM3A+ADIANB3AVqIAQgA0HgA2oQJwRAAkAgAygC6AUiBUEASARAIAMoApgGIQUMAQsgAyAFNgKYBgsgASADKAKEBiAFEDMgA0GABmoiBCADKAL0BRDFAyAEQZQBEBEgBCACQf8BcRARDA8LIANCjoCAgHA3A9gDIAMgAjYC1AMgA0HZADYC0AMgA0KdgYCAkAI3A8gDIANC2Lb5gnA3A8ADIANB3AVqIAQgA0HAA2oQJwRAAkAgAygC6AUiBUEASARAIAMoApgGIQUMAQsgAyAFNgKYBgsgASADKAKEBiAFEDMgA0GABmoiBCADKALsBSADKALwBRBdIARBlAEQESAEIAJB/wFxEBEMDwsgASADKAKEBiADKAKYBhAzIANBgAZqQdgAIAIQXSAEIQIMEgsgBi8AASECIAEgAygChAYgAygCmAYQMyADQYAGaiAFIAIQXSAEIQIMEQsgAyAGLwABIgI2AuQEIANBfzYC6AQgAyAFQQFrNgLgBCADQdwFaiAEIANB4ARqECcEQAJAIAMoAugFIgRBAEgEQCADKAKYBiEEDAELIAMgBDYCmAYLIAEgAygChAYgBBAzIANBgAZqIAVBAWogAhBdDA0LIAEgAygChAYgAygCmAYQMyADQYAGaiAFIAIQXSAEIQIMEAsgASAJIAsgBCADQZgGahCkAiEEDAYLIAEoAtQCIQsgASgCzAIhBkEAIQpBACEJA0ACQCAKIAtIBEBBAyEIIAYoAgAiAkHpAGtBA08EQCACQe0BRw0CQQEhCAsCQCABKAKkAiAGKAIMQRRsaigCDCAGKAIIIgVrIgRBgH9IIAQgCEH/AGpKckUEQCAGQQE2AgQgAkHtAUYEQEHsASECIAZB7AE2AgAMAgsgBiACQYEBaiICNgIADAELIAJB6wBHIARBgIACakH//wNLcg0CIAZC7YGAgCA3AgBBAiEIQe0BIQILIAUgAygCgAZqQQFrIAI6AAAgBigCBCICIAMoAoAGIAVqaiIEIAQgCGogAygChAYgBSAIaiACamsQnAEgAyADKAKEBiAIazYChAZBACEEIAEoAqwCIgJBACACQQBKGyEHIAEoAqQCIQIDQCAEIAdGBEAgASgC1AIhCyAGIQcgCiEEA0ACQCALIARBAWoiBEwEQEEAIQIgASgC4AIiBEEAIARBAEobIQQDQCACIARGDQIgBSABKALYAiACQQN0aiIHKAIAIg1JBEAgByANIAhrNgIACyACQQFqIQIMAAsACyAHIgJBEGohByACKAIYIg0gBUwNASACIA0gCGs2AhgMAQsLIAlBAWohCQwDCyAFIAIoAgwiC0gEQCACIAsgCGs2AgwLIAJBFGohAiAEQQFqIQQMAAsACwJAIAlFDQAgASgCzAIhAkEAIQUDQCAFIAtODQEgASgCpAIgAigCDEEUbGooAgwgAigCCCIEayEGAkACQAJAAkAgAigCBEEBaw4EAAEDAgMLIAMoAoAGIARqIAY6AAAgASgC1AIhCwwCCyADKAKABiAEaiAGOwAADAELIAMoAoAGIARqIAY2AAALIAJBEGohAiAFQQFqIQUMAAsACyAAKAIQIgJBEGogASgCzAIgAigCBBEAACABQQA2AswCIAAoAhAiAkEQaiABKAKkAiACKAIEEQAAIAFBADYCpAICQCABLQBuQQJxDQAgASgC2AJFDQAgASgCACgCECECIAFCADcC9AIgAUIANwL8AiABIAI2AogDIAFBOzYChAMgAUH0AmohBSABKALwAiEHQQAhAkEAIQgDQCACIAEoAuACTg0BAkAgASgC2AIgAkEDdGoiBigCBCIEQQBIIAQgB0ZyDQAgBigCACIGIAhrIgpBAEgNAAJAIAQgB2siCEEBaiIHQQRLIApBMktyRQRAIAUgByAKQQVsakEBakH/AXEQEQwBCyAFQQAQESAFIAoQ5gQgBSAIQQF0IAhBH3VzEOYECyAGIQggBCEHCyACQQFqIQIMAAsACyAAKAIQIgJBEGogASgC2AIgAigCBBEAACABQQA2AtgCIAwQ9gEgDCADKQOQBjcCECAMIAMpA4gGNwIIIAwgAykDgAY3AgAgAUEBNgKgAiABKAKMAg0SIAEoAoACIQcgAyABKAKEAiIENgLcBSADIAAgBEEBdBApIgY2AuQFIAZFDR5BACECIARBACAEQQBKGyEEA0AgAiAERkUEQCAGIAJBAXRqQf//AzsBACACQQFqIQIMAQsLIANBADYC8AUgA0IANwLoBSADQQA2AuAFAkAgACADQdwFakEAQQBBABDDAQ0AA0ACQAJAAkAgAygC7AUiAkEASgRAIAMgAkEBayICNgLsBSAHIAMoAugFIAJBAnRqKAIAIgRqIggtAAAiAkEKakH/AXFBC0kEQEHgkwEhBQwECyAEIAJBD2ogAiACQbMBSxsiBkECdCIKQYC4AWotAABqIgkgAygC3AVKBEBB+5IBIQUMBAsgAygC5AUgBEEBdGovAQAhDCAKQYG4AWotAAAhBQJAIAZBIWsiC0EQS0EBIAt0Qb+ABHFFckUEQCAILwABIAVqIQUMAQsgBkH9AWtBA0sNACACIAVqQe4BayEFCyAFIAxKBEBBwZMBIQUMBAsCQCAKQYK4AWotAAAgBWsgDGoiBiADKALgBUwNACADIAY2AuAFIAZB/v8DTA0AQaOTASEFDAQLAkACQAJAAkACQAJAAkAgAkHpAGsODwICAQIDCwkJCQQGBAUFBQALIAJBI2siBUENSw0HQQEgBXRB5fAAcQ0KDAcLIAQgCCgAAWpBAWohCQwHCyAAIANB3AVqIAQgCCgAAWpBAWogAiAGEMMBRQ0GDAkLIAAgA0HcBWogBCAIKAABakEBaiACIAZBAWoQwwFFDQUMCAsgACADQdwFaiAEIAgoAAVqQQVqIAIgBkEBahDDAUUNBAwHCyAAIANB3AVqIAQgCCgABWpBBWogAiAGQQJqEMMBRQ0DDAYLIAAgA0HcBWogBCAIKAAFakEFaiACIAZBAWsQwwENBQwCCyAAKAIQIgJBEGogAygC5AUgAigCBBEAACAAKAIQIgJBEGogAygC6AUgAigCBBEAAEHAAEHYACABLQBuQQJxIgQbIgggASgCuAJBA3RqIQIgAygC4AUhCiAAAn8gBARAIAIgASgCREUNARoLIAEoAnwgASgCiAFqQQR0IAJqCyIHIAEoAsACQQN0aiIEIAEoAoQCahBfIgZFDSMgBkEBNgIAIAYgBCAGaiIENgIUIAYgASgChAIiBTYCGCAEIAEoAoACIAUQHxogACgCECIEQRBqIAEoAoACIAQoAgQRAAAgAUEANgKAAiAGIAEoAnA2AhwgASgCfCIEIAEoAogBIgVqQQBKBEACQAJAIAEtAG5BAnFFDQAgASgCRA0AQQAhBQNAIAQgBUwEQEEAIQUDQCABKAKIASAFTARAQQAhBQNAIAUgASgCwAJODQYgACAFQQN0IgIgASgCyAJqKAIEEBMgASgCyAIgAmpBADYCBCAFQQFqIQUMAAsABSAAIAEoAoABIAVBBHRqKAIAEBMgBUEBaiEFDAELAAsABSAAIAEoAnQgBUEEdGooAgAQEyAFQQFqIQUgASgCfCEEDAELAAsACyAGIAIgBmoiAjYCICACIAEoAoABIAVBBHQQHxogBigCICABKAKIAUEEdGogASgCdCABKAJ8QQR0EB8aCyAGIAEoAnw7ASogBiABKAKIATsBKCAGIAEoAowBOwEsIAAoAhAiAkEQaiABKAKAASACKAIEEQAAIAAoAhAiAkEQaiABKAJ0IAIoAgQRAAALIAYgASgCuAIiAjYCOCACBEAgBiAGIAhqIgQ2AjQgBCABKAK0AiACQQN0EB8aCyAAKAIQIgJBEGogASgCtAIgAigCBBEAACABQQA2ArQCIAYgCjsBLgJAIAEtAG5BAnEEQCAAIAEoAuwCEBMgAUH0AmoQ9gEMAQsgBiAGLwARQYAIcjsAESAGIAEoAuwCNgJAIAYgASgC8AI2AkQgBiAAIAEoAvQCIAEoAvgCEIkCIgI2AlAgAkUEQCAGIAEoAvQCNgJQCyAGIAEoAvgCNgJMIAYgASgCjAM2AlQgBiABKAKQAzYCSAsgASgCzAEiAiABQdABakcEQCAAKAIQIgRBEGogAiAEKAIEEQAACyAGIAEoAsACIgI2AjwgAgRAIAYgBiAHaiIENgIkIAQgASgCyAIgAkEDdBAfGgsgACgCECICQRBqIAEoAsgCIAIoAgQRAAAgAUEANgLIAiAGIAYvABFBfnEgAS8BNEEBcXIiAjsAESAGIAEvAThBAXRBAnEgAkF9cXIiAjsAESAGIAEtAG46ABAgBiABLwFgQQJ0QQRxIAJBe3FyIgI7ABEgBiACQU9xIAEvAWxBBHRBMHFyIgI7ABFBCCEFIAYgASgCtAFBAEgEfyABKAK4AUEAR0EDdAVBCAsgAkF3cXIiAjsAESAGIAEvAVBBBnRBwABxIAJBv39xciICOwARIAYgAkH/fnEgAS8BVEEHdEGAAXFyIgI7ABEgBiACQf99cSABLwFYQQh0QYACcXIiAjsAESAGIAJB/3txIAEvAVxBCXRBgARxciICOwARIAYgAkH/7wNxIAEvAWhBC3RBgBBxcjsAESAAIAAoAgBBAWo2AgAgBiAANgIwIAAoAhAhAiAGQQE6AAQgAigCUCIEIAZBCGoiCDYCBCAGIAJB0ABqNgIMIAYgBDYCCCACIAg2AlAgASgCBARAIAEoAhgiAiABKAIcIgQ2AgQgBCACNgIAIAFCADcCGAsgACgCECIAQRBqIAEgACgCBBEAACAGrUKAgICAYIQMJAsCQAJAAkAgAkHqAWsOBAICAQADCyAEIAguAAFqQQFqIQkMAgsgBEEBaiIEIAQgB2osAABqIQkMAQsgACADQdwFaiAEQQFqIgQgBCAHaiwAAGogAiAGEMMBDQMLIAAgA0HcBWogCSACIAYQwwFFDQEMAgsLIAMgBDYC1AUgAyACNgLQBSAAIAUgA0HQBWoQRgsgACgCECICQRBqIAMoAuQFIAIoAgQRAAAgACgCECICQRBqIAMoAugFIAIoAgQRAAAMHgsgBkEQaiEGIApBAWohCgwACwALQYUpQa78AEGs9wFBlDgQAAALIAMoAugFIgRBAE4EQCADIAQ2ApgGCyADKAL0BSEFIAMoAuQFIQYgAygC7AVB6QBrIApGDQEgASAFQX8QaRogBiECDAwLIAQhBgwJCyADQX82AtgFIAEgBSADQZwGaiADQdgFahDHAyEHIAMoAtwFIAMoAuAFIAYgBxDGAwRAIAEgB0F/EGkaIAYhAgwLCyADKAKcBiIEQShrIghBB0tBASAIdEGDAXFFckUEQCABIAdBfxBpGiABIAMoAoQGIAMoApgGEDMgA0GABmogBEH/AXEQESABIAkgCyAGIANBmAZqEKQCIQIMCwtB6wAhBQwICwJAIAVBkAFrQQJPBEAgBUGXAUYNASAFQbYBRwRAIAVBwgFHDQMgAyAGKAABNgKYBiAEIQIMDAsgBigAASICQQBIDQMgAiABKAKsAk4NAyANIAJBFGxqIggoAgxBf0cNBCAIIAMoAoQGNgIMIAgoAhAhBwNAIAciAgRAIAgoAgwgAigCBCIFayEGIAIoAgAhBwJAAkACQAJAIAIoAghBAWsOBAIBAwADCyADKAKABiAFaiAGNgAADAILIAZBgIACakGAgARPDQkgAygCgAYgBWogBjsAAAwBCyAGQYABakGAAk8NCSADKAKABiAFaiAGOgAACyAAKAIQIgZBEGogAiAGKAIEEQAADAELCyAIQQA2AhAgBCECDAsLIANCjoCAgHA3A6gFIANC2bj9gnA3A6AFIANB3AVqIAQgA0GgBWoQJwRAIAMoAugFIgJBAE4EQCADIAI2ApgGCyADIAMoAvAFIgY2ApQFIANBfzYCmAUgAyADKALsBSIEQQFrNgKQBSADQdwFaiADKALkBSICIANBkAVqECcEQCADKALoBSICQQBOBEAgAyACNgKYBgsgBEEBaiEEIAMoAuQFIQILIAEgAygChAYgAygCmAYQMyADQYAGaiIHIAVBAmtB/wFxEBEgByAEIAYQXQwLCyADQo6AgIBwNwOIBSADQpiAgICw6A43A4AFIANB3AVqIAQgA0GABWoQJwRAAkAgAygC6AUiAkEASARAIAMoApgGIQIMAQsgAyACNgKYBgsgASADKAKEBiACEDMgA0GABmoiAiAFQQJrQf8BcRARIAIgAy0A7AUQESACIAMoAvwFEB0MBwsgA0KOgICAcDcD+AQgA0KZgICAkAk3A/AEIANB3AVqIAQgA0HwBGoQJ0UNAQJAIAMoAugFIgJBAEgEQCADKAKYBiECDAELIAMgAjYCmAYLIAEgAygChAYgAhAzIANBgAZqIgIgBUECa0H/AXEQESACQckAEBEMBgsgA0F/NgLIBSADQoSAgICwlevUqn83A8AFIANB3AVqIAQgA0HABWoQJ0UNACADKALoBSIIQQBOBEAgAyAINgKYBgsgAygC7AUhCCADKAL8BSIFQcUARgR/QfQBBSAFQRtHDQFB9QELIQogCEF9cUGpAUYEQCABIAMoAoQGIAMoApgGEDMgA0GABmogChARIAAgAygC/AUQEwwGCyADQumAgIBwNwOwBSADQdwFaiADKALkBSADQbAFahAnRQ0A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DAELIAEgAzYCACACIAY2AgBBACEECyAHQRBqJAAgBAvCAwEJfyABKAIIIgZBACAGQQBKGyEFAkACQANAIAQgBUYNASAEQQJ0IQcgBEEBaiEEIAcgASgCAGooAgAgAkcNAAtBACEFDAELQX8hBSAAIAFBBCABQQRqIAZBAWoQeA0AIAEgASgCCCIEQQFqNgIIIAEoAgAgBEECdGogAjYCACABQRBqIQkgAUEMaiEHQQAhBQNAAkAgAigCICAFTARAQQAhBUEAIQQDQCAEIAIoAixODQQgBEECdCEDIARBAWohBCAAIAEgAigCECADIAIoAihqKAIAQQN0aigCBEEBEK8FRQ0ACwwBCwJAIANBACACKAIcIAVBFGxqIgYoAhAiCkEWRhsNAEEAIQQgASgCFCIIQQAgCEEAShshCwJAAkADQCAEIAtGDQEgCiAHKAIAIARBDGxqIgwoAgBHBEAgBEEBaiEEDAELCyAEQQBODQELIAAgB0EMIAkgCEEBahB4DQIgASABKAIUIgRBAWo2AhQgASgCDCAEQQxsaiIEIAYoAhA2AgACQCADRQRAIAYoAghFDQELIARBADYCCAwCCyAEIAY2AggMAQsgDEEANgIICyAFQQFqIQUMAQsLQX8PCyAFC2gCAn8BfiAAQRBqIQIgACkCBCIEp0H/////B3EhAwJAIARCgICAgAiDUEUEQEEAIQADQCAAIANGDQIgAiAAQQF0ai8BACABQYcCbGohASAAQQFqIQAMAAsACyACIAMgARCyBSEBCyABCxIAIAAgASACIANBgIABENABGgssAQF/A0AgASADRkUEQCAAIANqLQAAIAJBhwJsaiECIANBAWohAwwBCwsgAgvOAQIDfwF+IAEgAkEBELIFIgNB/////wNxIQUgACgCNCAAKAIkQQFrIANxQQJ0aiEDA0AgAygCACIERQRAQQAPCwJAIAAoAjggBEECdGooAgAiAykCBCIGQiCIp0H/////A3EgBUcgBkKAgICAgICAgECDQoCAgICAgICAwABSciAGp0H/////B3EgAkcgBkKAgICACINCAFJycg0AIANBEGogASACEGENACAEQd4BTgRAIAMgAygCAEEBajYCAAsgBA8LIANBDGohAwwACwALfwEEfyABLQAAQdsARgRAIAFBAWoiAxA/QQFrIQIgACgCECgCOCEEQdABIQEDQCABQd4BRwRAAkAgBCABQQJ0aigCACIFKAIEQf////8HcSACRw0AIAVBEGogAyACEGENACAAIAEQGA8LIAFBAWohAQwBCwsQAQALIAAgARCqAQusAgMCfwJ+AXwjAEEgayICJABEAAAAAAAA+H8hBiAAKAIIQf////8HRwRAIAAoAgAhAyACQgA3AhggAkKAgICAgICAgIB/NwIQIAIgAzYCDCACQQxqIAAQRBoCfiACKAIUIgBB/f///wdMBEAgAkEMakE1QcgEEM4BGiACKAIUIQALQoCAgICAgID4/wAgAEH+////B0YNABogAEGAgICAeEYEQEIADAELIAIoAhwhAwJ+IAIoAhhBAkYEQCADKQIADAELIAM1AgBCIIYLIQQgAEGCeEwEQCAEQY54IABrrYghBEIADAELIARCC4hC/////////weDIQQgAEH+B2qtQjSGCyEFIAQgBYQgAjUCEEI/hoS/IQYgAkEMahAbCyABIAY5AwAgAkEgaiQACw4AIABCgICAgPB+EIAGC+4PAwt/A34BfCMAQUBqIhAkAEHfAEGAAiAEQSBxGyEJIARBgANxIQsCQAJAAkACfwJAAkACQAJAAkACQAJAAkACQCABLQAAIgZBK2sOAwEDAAMLQQEhDiABQQFqIQEMAQsgAUEBaiEBCyAEQYAIcUUNASABLQAAIQYLIAZB/wFxQTBHDQACQAJAAkAgAS0AASIHQfgARwRAIAdB7wBGDQIgB0HYAEcNAQsgA0FvcQ0FIAFBAmohB0EQIQMMCQsgAyAHQc8AR3INAQwFCyADRQ0EDAMLAkACQCAHQeIARwRAIANFIAdBwgBGcQ0BIAMgB0Ewa0H/AXFBCUtyDQQgBEEQcQ0CDAcLIAMNBAsgBEEEcUUNBUECIQMgAUECaiEHDAcLIAFBAWohB0EBIQYDQCABIAZqIQMgBkEBaiEGIAMtAAAiCEH4AXFBMEYNAAtBCCEDQYACIQlBASEKIAhB/gFxQThGDQQMBgsgBEEBcSALQYACckGAAkdyDQAgAUEIaiEHQfUcIQYgASEIA0AgBkH9HEcEQCAILQAAIAYtAABHDQIgBkEBaiEGIAhBAWohCAwBCwsgC0GAAkYEQCAAELYFIhFCgICAgHCDQoCAgIDgAFEEQEKAgICA4AAhEQwJCyARp0EEaiAOEIwBDAgLRAAAAAAAAPD/RAAAAAAAAPB/IA4bIhS9IhECfyAUmUQAAAAAAADgQWMEQCAUqgwBC0GAgICAeAsiBre9UQRAIAatIREMCAtCgICAgMB+IBFCgICAgMCBgPz/AH0gEUL///////////8Ag0KAgICAgICA+P8AVhshEQwHCyABIgcgA0UNAxoMBQsgASEHDAQLIARBBHFFDQAgAUECaiEHQQghAwwCCyABCyEHQQohAwwBC0KAgICAwH4hESAHLQAAEJYBIANPDQELQQAhBiADQQpHIQwgByEBA0ACQCAGIAdqIg0tAAAiCMAhDyAIEJYBIANOBEAgCSAPRw0BAkAgDCAGQQFHcg0AIA1BAWstAABBMEcNAEEBIQYMAgsgDS0AARCWASADTg0BCyAHIAZBAWoiBmohAQwBCwtBACEMAkACQCAEQQFxDQACQCAIQS5HDQAgDS0AASEIIAZFBEAgCBCWASADTg0BCyANQQFqIQFCgICAgMB+IREgCSAIwEYNAgNAAkAgCEH/AXEQlgEgA0gEQCABLQABIQgMAQtBASEMIAkgCMBHDQIgAS0AASIIEJYBIANODQILIAFBAWohAQwACwALIAEgB00NAAJAIAEtAAAiBkHlAEcEQCADQQpGIAZBxQBGcQ0BIAZBIHJB8ABHIANBEEtyDQJBASADdEGEggRxDQEMAgsgA0EKRw0BC0EBIQwgAUEBaiEGAkACQAJAIAEtAAFBK2sOAwACAQILIAFBAmohBgwBCyABQQJqIQYLIAYtAABBOmtBdkkNACAGIQEDQCABIgZBAWohASAGLQABIgjAIQ0gCEE6a0F1Sw0AIAkgDUcNASAGLQACQTprQXVLDQALCyABIAdGBEBCgICAgMB+IREMAQsgECEJAkAgASAHayINQQJqIg9BwQBPBEAgACgCECIGQRBqIA8gBigCABEDACIJRQ0BC0EAIQZBACEIIA4EQCAJQS06AABBASEICyANQQAgDUEAShshDgNAIAYgDkZFBEAgBiAHai0AACINQd8ARwRAIAggCWogDToAACAIQQFqIQgLIAZBAWohBgwBCwsgCCAJakEAOgAAAn4CQAJAIARBwABxBEACQAJAAkACQCABLQAAQewAaw4DAQIAAwsgAUEBaiEBQYABIQsMBQsgAUEBaiEBQYACIQsMBAsgAUEBaiEBQYADIQsM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IAFBEGohAgJ/IAdCgICAgAiDUCIFRQRAIAIvAQAMAQsgAi0AAAsiAUEwayIDQQlLDQACfwJAIAFBMEcEQEEBIQEDQCABIARGDQICfyAFRQRAIAIgAUEBdGovAQAMAQsgASACai0AAAtBMGsiBkEJSw0EIAFBAWohASAGrSADrUIKfnwiB6chAyAHQoCAgIAQVA0ACwwDC0EAIgMgBEEBRw0BGgsgACADNgIAQQELDwtBAAupAgIDfwF+AkAgACACEDhFDQAgAqciBC8BBkEORgRAIAAgASAEKAIgKQMAENAFDwsgAUKAgICAcFQNAAJAIAAgAkE7IAJBABAUIgJC/////29YBEBBfyEDIAJCgICAgHCDQoCAgIDgAFENASAAQcYwQQAQFQwBCyABpyEEIAKnIQUCQANAAkAgBCgCECgCLCIDRQRAQQAhAyAELwEGQTBHDQQgBCAEKAIAQQFqNgIAIAStQoCAgIBwhCEBA0AgACABEIwCIgFCgICAgHCDIgZCgICAgCBRDQRBfyEDIAZCgICAgOAAUQ0FIAGnIAVGBEAgACABEA8MAwsgABB7RQ0ACyAAIAEQDwwECyADIgQgBUcNAQsLQQEhAwwBC0EAIQMLIAAgAhAPCyADC9IDAgJ+An8jAEEgayIEJAACQCABQv///////////wCDIgNCgICAgICAwIA8fSADQoCAgICAgMD/wwB9VARAIAFCBIYgAEI8iIQhAyAAQv//////////D4MiAEKBgICAgICAgAhaBEAgA0KBgICAgICAgMAAfCECDAILIANCgICAgICAgIBAfSECIABCgICAgICAgIAIUg0BIAIgA0IBg3whAgwBCyAAUCADQoCAgICAgMD//wBUIANCgICAgICAwP//AFEbRQRAIAFCBIYgAEI8iIRC/////////wODQoCAgICAgID8/wCEIQIMAQtCgICAgICAgPj/ACECIANC////////v//DAFYNAEIAIQIgA0IwiKciBUGR9wBJDQAgBEEQaiAAIAFC////////P4NCgICAgICAwACEIgIgBUGB9wBrEGcgBCAAIAJBgfgAIAVrEI4CIAQpAwhCBIYgBCkDACIAQjyIhCECIAQpAxAgBCkDGIRCAFKtIABC//////////8Pg4QiAEKBgICAgICAgAhaBEAgAkIBfCECDAELIABCgICA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cINCgICAgJB/UXFFBEAgAEGN9wBBABAVDAELIAAgAUESEGUiAUKAgICAcINCgICAgOAAUQ0AIAGnIgQgAz4CJCAEIAI+AiAgACABQdUAQgBBAhAZGiABDwsgACADEA8gACACEA9CgICAgOAACw0AIAAgAUHOlQEQ/wMLZwEBfwJAIAFBAE4EQCAAKAIQIgIoAiwgAU0NASACKAI4IAFBAnRqKAIAIgEgASgCAEEBajYCACAAIAFBBBCABA8LQfKRAUGu/ABBzhdBmdIAEAAAC0HZ3wBBrvwAQc8XQZnSABAAAAtEAQF/IABB+AFqIQIgAEH0AWohAAN/IAAgAigCACICRgRAQQAPCyABIAJBBGsoAgBGBH8gAkEIawUgAkEEaiECDAELCwtSAgJ/AX4CQCAAKAIQKAKMASIBRQ0AIAEpAwgiA0KAgICAcFQNACADpyIBLwEGEO4BRQ0AIAEoAiAiAS0AEkEEcUUNACAAIAEoAkAQGCECCyACC6oPAgV/D34jAEHQAmsiBSQAIARC////////P4MhCyACQv///////z+DIQogAiAEhUKAgICAgICAgIB/gyENIARCMIinQf//AXEhCAJAAkAgAkIwiKdB//8BcSIJQf//AWtBgoB+TwRAIAhB//8Ba0GBgH5LDQELIAFQIAJC////////////AIMiDEKAgICAgIDA//8AVCAMQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQ0MAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhDSADIQEMAgsgASAMQoCAgICAgMD//wCFhFAEQCADIAJCgICAgICAwP//AIWEUARAQgAhAUKAgICAgIDg//8AIQ0MAwsgDUKAgICAgIDA//8AhCENQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAQgAhAQwCCyABIAyEUARAQoCAgICAgOD//wAgDSACIAOEUBshDUIAIQEMAgsgAiADhFAEQCANQoCAgICAgMD//wCEIQ1CACEBDAILIAxC////////P1gEQCAFQcACaiABIAogASAKIApQIgYbeSAGQQZ0rXynIgZBD2sQZ0EQIAZrIQYgBSkDyAIhCiAFKQPAAiEBCyACQv///////z9WDQAgBUGwAmogAyALIAMgCyALUCIHG3kgB0EGdK18pyIHQQ9rEGcgBiAHakEQayEGIAUpA7gCIQsgBSkDsAIhAwsgBUGgAmogC0KAgICAgIDAAIQiEkIPhiADQjGIhCICQgBCgICAgLDmvIL1ACACfSIEQgAQZiAFQZACakIAIAUpA6gCfUIAIARCABBmIAVBgAJqIAUpA5gCQgGGIAUpA5ACQj+IhCIEQgAgAkIAEGYgBUHwAWogBEIAQgAgBSkDiAJ9QgAQZiAFQeABaiAFKQP4AUIBhiAFKQPwAUI/iIQiBEIAIAJCABBmIAVB0AFqIARCAEIAIAUpA+gBfUIAEGYgBUHAAWogBSkD2AFCAYYgBSkD0AFCP4iEIgRCACACQgAQZiAFQbABaiAEQgBCACAFKQPIAX1CABBmIAVBoAFqIAJCACAFKQO4AUIBhiAFKQOwAUI/iIRCAX0iAkIAEGYgBUGQAWogA0IPhkIAIAJCABBmIAVB8ABqIAJCAEIAIAUpA6gBIAUpA6ABIgwgBSkDmAF8IgQgDFStfCAEQgFWrXx9QgAQZiAFQYABakIBIAR9QgAgAkIAEGYgBiAJIAhraiEGAn8gBSkDcCITQgGGIg4gBSkDiAEiD0IBhiAFKQOAAUI/iIR8IhBC5+wAfSIUQiCIIgIgCkKAgICAgIDAAIQiFUIBhiIWQiCIIgR+IhEgAUIBhiIMQiCIIgsgECAUVq0gDiAQVq0gBSkDeEIBhiATQj+IhCAPQj+IfHx8QgF9IhNCIIgiEH58Ig4gEVStIA4gDiATQv////8PgyITIAFCP4giFyAKQgGGhEL/////D4MiCn58Ig5WrXwgBCAQfnwgBCATfiIRIAogEH58Ig8gEVStQiCGIA9CIIiEfCAOIA4gD0IghnwiDlatfCAOIA4gFEL/////D4MiFCAKfiIRIAIgC358Ig8gEVStIA8gDyATIAxC/v///w+DIhF+fCIPVq18fCIOVq18IA4gBCAUfiIYIBAgEX58IgQgAiAKfnwiCiALIBN+fCIQQiCIIAogEFatIAQgGFStIAQgClatfHxCIIaEfCIEIA5UrXwgBCAPIAIgEX4iAiALIBR+fCILQiCIIAIgC1atQiCGhHwiAiAPVK0gAiAQQiCGfCACVK18fCICIARUrXwiBEL/////////AFgEQCAWIBeEIRUgBUHQAGogAiAEIAMgEhBmIAFCMYYgBSkDWH0gBSkDUCIBQgBSrX0hCkIAIAF9IQsgBkH+/wBqDAELIAVB4ABqIARCP4YgAkIBiIQiAiAEQgGIIgQgAyASEGYgAUIwhiAFKQNofSAFKQNgIgxCAFKtfSEKQgAgDH0hCyABIQwgBkH//wBqCyIGQf//AU4EQCANQoCAgICAgMD//wCEIQ1CACEBDAELAn4gBkEASgRAIApCAYYgC0I/iIQhCiAEQv///////z+DIAatQjCGhCEMIAtCAYYMAQsgBkGPf0wEQEIAIQEMAgsgBUFAayACIARBASAGaxCOAiAFQTBqIAwgFSAGQfAAahBnIAVBIGogAyASIAUpA0AiAiAFKQNIIgwQZiAFKQM4IAUpAyhCAYYgBSkDICIBQj+IhH0gBSkDMCIEIAFCAYYiAVStfSEKIAQgAX0LIQQgBUEQaiADIBJCA0IAEGYgBSADIBJCBUIAEGYgDCACIAIgAyACQgGDIgEgBHwiA1QgCiABIANWrXwiASASViABIBJRG618IgJWrXwiBCACIAIgBEKAgICAgIDA//8AVCADIAUpAxBWIAEgBSkDGCIEViABIARRG3GtfCICVq18IgQgAiAEQoCAgICAgMD//wBUIAMgBSkDAFYgASAFKQMIIgNWIAEgA1Ebca18IgEgAlStfCANhCENCyAAIAE3AwAgACANNwMIIAVB0AJqJAALyDIDEX8HfgF8IwBBEGsiECQAIwBBoAFrIg8kACAPIAA2AjwgDyAANgIUIA9BfzYCGCAPQRBqIgIQmgQjAEEwayIOJAADQAJ/IAIoAgQiACACKAJoRwRAIAIgAEEBajYCBCAALQAADAELIAIQVQsiBRCOBg0AC0EBIQMCQAJAIAVBK2sOAwABAAELQX9BASAFQS1GGyEDIAIoAgQiACACKAJoRwRAIAIgAEEBajYCBCAALQAAIQUMAQsgAhBVIQULAkACQAJAA0AgBkHsHGosAAAgBUEgckYEQAJAIAZBBksNACACKAIEIgAgAigCaEcEQCACIABBAWo2AgQgAC0AACEFDAELIAIQVSEFCyAGQQFqIgZBCEcNAQwCCwsgBkEDRwRAIAZBCEYNASAGQQRJDQIgBkEIRg0BCyACKQNwIhJCAFkEQCACIAIoAgRBAWs2AgQLIAZBBEkNACASQgBTIQADQCAARQRAIAIgAigCBEEBazYCBAsgBkEBayIGQQNLDQALC0IAIRIjAEEQayIFJAACfiADskMAAIB/lLwiA0H/////B3EiAEGAgIAEa0H////3B00EQCAArUIZhkKAgICAgICAwD98DAELIAOtQhmGQoCAgICAgMD//wCEIABBgICA/AdPDQAaQgAgAEUNABogBSAArUIAIABnIgBB0QBqEGcgBSkDACESIAUpAwhCgICAgICAwACFQYn/ACAAa61CMIaECyETIA4gEjcDACAOIBMgA0GAgICAeHGtQiCGhDcDCCAFQRBqJAAgDikDCCESIA4pAwAhEwwBCwJAAkAgBg0AQQAhBgNAIAZB4NEAaiwAACAFQSByRw0BAkAgBkEBSw0AIAIoAgQiACACKAJoRwRAIAIgAEEBajYCBCAALQAAIQUMAQsgAhBVIQULIAZBAWoiBkEDRw0ACwwBCwJAAkAgBg4EAAEBAgELAkAgBUEwRw0AAn8gAigCBCIAIAIoAmhHBEAgAiAAQQFqNgIEIAAtAAAMAQsgAhBVC0FfcUHYAEYEQCADIQBBACEDIwBBsANrIgQkAAJ/AkAgAigCBCIFIAIoAmhHBEAgAiAFQQFqNgIEIAUtAAAhAwwBC0EADAELQQELIQYDQAJAAkACQAJAAn4CQAJAAn8gBkUEQCACEFUMAQsgA0EwRwRAQoCAgICAgMD/PyETIANBLkYNA0IADAQLIAIoAgQiBSACKAJoRg0BQQEhCyACIAVBAWo2AgQgBS0AAAshA0EBIQYMBwtBASELDAQLAn8gAigCBCIDIAIoAmhHBEAgAiADQQFqNgIEIAMtAAAMAQsgAhBVCyIDQTBGDQFBASEMQgALIRYMAQsDQCAVQgF9IRVBASEMAn8gAigCBCIDIAIoAmhHBEAgAiADQQFqNgIEIAMtAAAMAQsgAhBVCyIDQTBGDQALQQEhCwsDQCADQSByIQoCQAJAIANBMGsiBUEKSQ0AIANBLkYgCkHhAGtBBklyRQRAIAMhBgwFC0EuIQYgA0EuRw0AIAwNBEEBIQwgEiEVDAELIApB1wBrIAUgA0E5ShshAwJAIBJCB1cEQCADIAdBBHRqIQcMAQsgEkIcWARAIARBMGogAxB5IARBIGogFyATQgBCgICAgICAwP0/EC4gBEEQaiAEKQMwIAQpAzggBCkDICIXIAQpAygiExAuIAQgBCkDECAEKQMYIBQgFhBwIAQpAwghFiAEKQMAIRQMAQsgA0UgCHINACAEQdAAaiAXIBNCAEKAgICAgICA/z8QLiAEQUBrIAQpA1AgBCkDWCAUIBYQcCAEKQNIIRZBASEIIAQpA0AhFAsgEkIBfCESQQEhCwsgAigCBCIDIAIoAmhHBH8gAiADQQFqNgIEIAMtAAAFIAIQVQshAwwACwALQQAhBgwBCwsCfiALRQRAAkAgAikDcEIAUw0AIAIgAigCBCIDQQJrNgIEIAxFDQAgAiADQQNrNgIECyAEQeAAaiAAt0QAAAAAAAAAAKIQqwEgBCkDYCEUIAQpA2gMAQsgEkIHVwRAIBIhEwNAIAdBBHQhByATQgF8IhNCCFINAAsLAkACQAJAIAZBX3FB0ABGBEAgAhCHBiITQoCAgICAgICAgH9SDQMgAikDcEIAWQ0BDAILQgAhEyACKQNwQgBTDQILIAIgAigCBEEBazYCBAtCACETCyAHRQRAIARB8ABqIAC3RAAAAAAAAAAAohCrASAEKQNwIRQgBCkDeAwBCyAVIBIgDBtCAoYgE3xCIH0iEkKzCFkEQEGg1ARBxAA2AgAgBEGgAWogABB5IARBkAFqIAQpA6ABIAQpA6gBQn9C////////v///ABAuIARBgAFqIAQpA5ABIAQpA5gBQn9C////////v///ABAuIAQpA4ABIRQgBCkDiAEMAQsgEkLsdVkEQCAHQQBOBEADQCAEQaADaiAUIBZCAEKAgICAgIDA/79/EHAgFCAWQoCAgICAgID/PxDpBSEDIARBkANqIBQgFiAEKQOgAyAUIANBAE4iAxsgBCkDqAMgFiADGxBwIBJCAX0hEiAEKQOYAyEWIAQpA5ADIRQgB0EBdCADciIHQQBODQALCwJ+QTUgEkLSCHwiE6ciA0EAIANBAEobIBNCNVkbIgNB8QBPBEAgBEGAA2ogABB5IAQpA4gDIRUgBCkDgAMhF0IADAELIARB4AJqRAAAAAAAAPA/QZABIANrENoBEKsBIARB0AJqIAAQeSAEQfACaiAEKQPgAiAEKQPoAiAEKQPQAiIXIAQpA9gCIhUQiQYgBCkD+AIhGCAEKQPwAgshEyAEQcACaiAHIAdBAXFFIBQgFkIAQgAQ7QFBAEcgA0EgSXFxIgBqEIYCIARBsAJqIBcgFSAEKQPAAiAEKQPIAhAuIARBkAJqIAQpA7ACIAQpA7gCIBMgGBBwIARBoAJqIBcgFUIAIBQgABtCACAWIAAbEC4gBEGAAmogBCkDoAIgBCkDqAIgBCkDkAIgBCkDmAIQcCAEQfABaiAEKQOAAiAEKQOIAiATIBgQggQgBCkD8AEiFSAEKQP4ASITQgBCABDtAUUEQEGg1ARBxAA2AgALIARB4AFqIBUgEyASpxCIBiAEKQPgASEUIAQpA+gBDAELQaDUBEHEADYCACAEQdABaiAAEHkgBEHAAWogBCkD0AEgBCkD2AFCAEKAgICAgIDAABAuIARBsAFqIAQpA8ABIAQpA8gBQgBCgICAgICAwAAQLiAEKQOwASEUIAQpA7gBCyESIA4gFDcDECAOIBI3AxggBEGwA2okACAOKQMYIRIgDikDECETDAQLIAIpA3BCAFMNACACIAIoAgRBAWs2AgQLIAUhACADIQZBACEDIwBBkMYAayIBJAACQAJ/A0AgAEEwRwRAAkAgAEEuRw0EIAIoAgQiACACKAJoRg0AIAIgAEEBajYCBCAALQAADAMLBSACKAIEIgAgAigCaEcEf0EBIQMgAiAAQQFqNgIEIAAtAAAFQQEhAyACEFULIQAMAQsLIAIQVQshAEEBIQggAEEwRw0AA0AgEkIBfSESAn8gAigCBCIAIAIoAmhHBEAgAiAAQQFqNgIEIAAtAAAMAQsgAhBVCyIAQTBGDQALQQEhAwsgAUEANgKQBiAOAn4CQAJAAkAgAEEuRiIFIABBMGsiDUEJTXIEQANAAkAgBUEBcQRAIAhFBEAgEyESQQEhCAwCCyADRSEFDAQLIBNCAXwhEyAHQfwPTARAIAsgE6cgAEEwRhshCyABQZAGaiAHQQJ0aiIDIAoEfyAAIAMoAgBBCmxqQTBrBSANCzYCAEEBIQNBACAKQQFqIgAgAEEJRiIAGyEKIAAgB2ohBwwBCyAAQTBGDQAgASABKAKARkEBcjYCgEZB3I8BIQsLAn8gAigCBCIAIAIoAmhHBEAgAiAAQQFqNgIEIAAtAAAMAQsgAhBVCyIAQS5GIgUgAEEwayINQQpJcg0ACwsgEiATIAgbIRIgA0UgAEFfcUHFAEdyRQRAAkAgAhCHBiIUQoCAgICAgICAgH9SDQBCACEUIAIpA3BCAFMNACACIAIoAgRBAWs2AgQLIBIgFHwhEgwDCyADRSEFIABBAEgNAQsgAikDcEIAUw0AIAIgAigCBEEBazYCBAsgBUUNAEGg1ARBHDYCACACEJoEQgAhE0IADAELIAEoApAGIgBFBEAgASAGt0QAAAAAAAAAAKIQqwEgASkDACETIAEpAwgMAQsgEiATUiATQglVckUEQCABQTBqIAYQeSABQSBqIAAQhgIgAUEQaiABKQMwIAEpAzggASkDICABKQMoEC4gASkDECETIAEpAxgMAQsgEkKaBFkEQEGg1ARBxAA2AgAgAUHgAGogBhB5IAFB0ABqIAEpA2AgASkDaEJ/Qv///////7///wAQLiABQUBrIAEpA1AgASkDWEJ/Qv///////7///wAQLiABKQNAIRMgASkDSAwBCyASQut1VwRAQaDUBEHEADYCACABQZABaiAGEHkgAUGAAWogASkDkAEgASkDmAFCAEKAgICAgIDAABAuIAFB8ABqIAEpA4ABIAEpA4gBQgBCgICAgICAwAAQLiABKQNwIRMgASkDeAwBCyAKBEAgCkEITARAIAFBkAZqIAdBAnRqIgAoAgAhCQNAIAlBCmwhCSAKQQFqIgpBCUcNAAsgACAJNgIACyAHQQFqIQcLAkAgCyASpyIISiALQQhKciAIQRFKcg0AIAhBCUYEQCABQcABaiAGEHkgAUGwAWogASgCkAYQhgIgAUGgAWogASkDwAEgASkDyAEgASkDsAEgASkDuAEQLiABKQOgASETIAEpA6gBDAILIAhBCEwEQCABQZACaiAGEHkgAUGAAmogASgCkAYQhgIgAUHwAWogASkDkAIgASkDmAIgASkDgAIgASkDiAIQLiABQeABakEAIAhrQQJ0QeDBBGooAgAQeSABQdABaiABKQPwASABKQP4ASABKQPgASABKQPoARDjBSABKQPQASETIAEpA9gBDAILIAhBEU5BACABKAKQBiIAIAhBfWxB0ABqdhsNACABQeACaiAGEHkgAUHQAmogABCGAiABQcACaiABKQPgAiABKQPoAiABKQPQAiABKQPYAhAuIAFBsAJqIAhBAnRBmMEEaigCABB5IAFBoAJqIAEpA8ACIAEpA8gCIAEpA7ACIAEpA7gCEC4gASkDoAIhEyABKQOoAgwBCwNAIAFBkAZqIAciAEEBayIHQQJ0aigCAEUNAAsCQCAI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AAEiAjoAASAAQQFqIQAgAUEBaiEBIAINAAsLC/UBAgF/AX4jAEHQAGsiAyQAAkACfiABQQBIBEAgAyABQf////8HcTYCACADQRBqIgFBwABB3CIgAxBOGiAAIAEQYgwBCyAAKAIQIgAoAiwgAU0NAQJAAkAgACgCOCIAIAFBAnRqKAIAIgEpAgQiBEKAgICAgICAgECDQoCAgICAgICAwABRDQAgAkUNASAEp0GAgICAeEcNACAAKAK8ASEBCyABIAEoAgBBAWo2AgAgAa1CgICAgJB/hAwBCyABIAEoAgBBAWo2AgAgAa1CgICAgIB/hAshBCADQdAAaiQAIAQPC0Hv3wBBrvwAQZgYQYfiABAAAAvrAgECfyAAIAEoAgQQEwNAIAEoAhAhAyACIAEoAhRORQRAIAAgAyACQQN0aigCABATIAJBAWohAgwBCwsgACgCECICQRBqIAMgAigCBBEAAEEAIQIDQAJAIAEoAhwhAyACIAEoAiBODQAgAyACQRRsaiIDKAIIRQRAIAAoAhAgAygCBBDrAQsgACADKAIQEBMgACADKAIMEBMgAkEBaiECDAELCyAAKAIQIgJBEGogAyACKAIEEQAAIAAoAhAiAkEQaiABKAIoIAIoAgQRAABBACECA0AgASgCNCEDIAIgASgCOE5FBEAgACADIAJBDGxqKAIEEBMgAkEBaiECDAELCyAAKAIQIgJBEGogAyACKAIEEQAAIAAgASkDQBAPIAAgASkDSBAPIAAgASkDYBAPIAAgASkDaBAPIAEoAggiAiABKAIMIgM2AgQgAyACNgIAIAFCADcCCCAAKAIQIgBBEGogASAAKAIEEQAACzABAX8gACgCOCABQQJ0aigCACIBIAEoAgAiAkEBazYCACACQQFMBEAgACABEKIDCwvAAQIBfwJ+QX8hAwJAIABCAFIgAUL///////////8AgyIEQoCAgICAgMD//wBWIARCgICAgICAwP//AFEbDQAgAkL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFJxDQAgACAEIAWEhFAEQEEADwsgASACg0IAWQRAIAEgAlIgASACU3ENASAAIAEgAoWEQgBSDwsgAEIAUiABIAJVIAEgAlEbDQAgACABIAKFhEIAUiEDCyADCwoAIABBfHEQpAMLZQEEfwNA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sgEhAyAAIAIQDyAAIAAgA0HdwAAQsgEiAiADQQEgARAhIQQgACACEA8gACADEA8gBAsMACAAIAEpAwAQswELygYCBH8DfiMAQYABayIFJAACQAJAAkAgAyAEQgBCABDtAUUNAAJ/IARC////////P4MhCgJ/IARCMIinQf//AXEiBkH//wFHBEBBBCAGDQEaQQJBAyADIAqEUBsMAgsgAyAKhFALCyEGIAJCMIinIghB//8BcSIHQf//AUYNACAGDQELIAVBEGogASACIAMgBBAuIAUgBSkDECICIAUpAxgiASACIAEQ4wUgBSkDCCECIAUpAwAhBAwBCyABIAJC////////////AIMiCiADIARC////////////AIMiCRDtAUEATARAIAEgCiADIAkQ7QEEQCABIQQMAgsgBUHwAGogASACQgBCABAuIAUpA3ghAiAFKQNwIQQMAQsgBEIwiKdB//8BcSEGIAcEfiABBSAFQeAAaiABIApCAEKAgICAgIDAu8AAEC4gBSkDaCIKQjCIp0H4AGshByAFKQNgCyEEIAZFBEAgBUHQAGogAyAJQgBCgICAgICAwLvAABAuIAUpA1giCUIwiKdB+ABrIQYgBSkDUCEDCyAJQv///////z+DQoCAgICAgMAAhCELIApC////////P4NCgICAgICAwACEIQogBiAHSARAA0ACfiAKIAt9IAMgBFatfSIJQgBZBEAgCSAEIAN9IgSEUARAIAVBIGogASACQgBCABAuIAUpAyghAiAFKQMgIQQMBQsgCUIBhiAEQj+IhAwBCyAKQgGGIARCP4iECyEKIARCAYYhBCAHQQFrIgcgBkoNAAsgBiEHCwJAIAogC30gAyAEVq19IglCAFMEQCAKIQkMAQsgCSAEIAN9IgSEQgBSDQAgBUEwaiABIAJCAEIAEC4gBSkDOCECIAUpAzAhBAwBCyAJQv///////z9YBEADQCAEQj+IIQEgB0EBayEHIARCAYYhBCABIAlCAYaEIglCgICAgICAwABUDQALCyAIQYCAAnEhBiAHQQBMBEAgBUFAayAEIAlC////////P4MgB0H4AGogBnKtQjCGhEIAQoCAgICAgMDDPxAuIAUpA0ghAiAFKQNAIQQMAQsgCUL///////8/gyAGIAdyrUIwhoQhAgsgACAENwMAIAAgAjcDCCAF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QCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAAALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC14BBH8gACgCACECA0AgAiwAACIDENECBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFQX8LIQEMAQsLIAEL3BICEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRICQAJAAkACQANAIAEhDCAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCAMIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAHIQkDQCAJLQABQSVHBEAgCSEBDAILIAdBAWohByAJLQACIQogCUECaiIBIQkgCkElRg0ACwsgByAMayIHIA5B/////wdzIhhKDQcgAARAIAAgDCAHEFsLIAcNBiAIIAE2AkwgAUEBaiEHQX8hDwJAIAEsAAEiChDRAkUNACABLQACQSRHDQAgAUEDaiEHIApBMGshD0EBIRMLIAggBzYCTEEAIQ0CQCAHLAAAIglBIGsiAUEfSwRAIAchCgwBCyAHIQpBASABdCIBQYnRBHFFDQADQCAIIAdBAWoiCjYCTCABIA1yIQ0gBywAASIJQSBrIgFBIE8NASAKIQdBASABdCIBQYnRBHENAAsLAkAgCUEqRgRAAn8CQCAKLAABIgEQ0QJFDQAgCi0AAkEkRw0AIAFBAnQgBGpBwAFrQQo2AgAgCkEDaiEJQQEhEyAKLAABQQN0IANqQYADaygCAAwBCyATDQYgCkEBaiEJIABFBEAgCCAJNgJMQQAhE0EAIRAM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IAgoAgRBAWsiBzYCBCAEIAlqQRBqIQQgBw0JIAAgACgCMEEBazYCMAwJCyAHCyEFIARBAWohBAwACwALIANBACAEQQFGGw0EQQAhCSADDQAgBEECRg0DCyAAIAU2AjAMAAsACyAJDwsgASAIQRBqIAAoAgxBA3QQHxoLIAgoAgghBSAIKAIMIQQgAiAIIAAoAgxBA3RqQRBqIAgtAAEiA0ECdBAfGiAAIAAoAjBBAWs2AjAMAAsAC4sCAQd/IAFBAnRBwP4DaigCACICIAFBAXRBkIAEai8BAGohCEEAIQECQANAIAIgCE8NASACQQFqIQYCQAJAIAItAAAiBEE/TQRAIAMgBEEDdmpBAWohAiABBEAgACADIAIQfg0DCyABQQFzIQEgBEEHcSACakEBaiEFDAELAn8gAyAEakH/AGsgBMBBAEgNABogBi0AACEFIARB3wBNBEAgAkECaiEGIAMgBEEIdGogBWpB//8AawwBCyACQQNqIQYgAi0AAiADIARBEHRqIAVBCHRqakH///8CawshBSADIQILIAEEQCAAIAIgBRB+DQELIAFBAXMhASAGIQIgBSEDDAELC0F/IQcLIAcLOABBsNQCIAEQrwQiAUEASARAQX4PCyAAIAFBHU0Ef0IBIAGthqcFIAFBAnRB2NgCaigCAAsQoQYLNQEBfyMAQRBrIgMkACADIAE2AgggAyACQQFqNgIMIAAgA0EIakECELEEIQAgA0EQaiQAIAALlwIBA38gASgCACICQf7/B08EQCAAQYY7QQAQOkF/DwsCQCACQQFNBEAgAEECQX8QuAEaDAELIAEoAgggAkECdGoiBEEEaygCACIDQX9GBEAgBEEIaygCACEDCyACQQF2IQIgA0H//wNNBEAgAEEVIAIQsgRBACECA0AgAiABKAIATg0CIAAgAkECdCIDIAEoAghqLwEAECogAEF/IAEoAgggA0EEcmooAgBBAWsiAyADQX5GG0H//wNxECogAkECaiECDAALAAsgAEEWIAIQsgRBACECA0AgAiABKAIATg0BIAAgAkECdCIDIAEoAghqKAIAEB0gACABKAIIIANBBHJqKAIAQQFrEB0gAkECaiECDAALAAtBAAsmAQF/IAAoAjgiAUEASARAIAAgACAAQTxqQQAQqwYiATYCOAsgAQvgAgEFfyMAQZABayIEJAAg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IgMgAkohBEKAgICAECEBIAMhAiAERQ0BDAILIAYoAgwgBWsiAyECC0KAgICAECEBIANBAEggAiADSHINAANAIAkgByADQQAgBRCzA0UEQEKBgICAECEBDAILIAIgA0chBCADQQFqIQMgBA0ACwsgACAKEA8gACALEA8LIAZBEGokACABC7ADAwd/AXwBfiMAQRBrIgUkAAJAIAAgARBZIgFCgICAgHCDQoCAgIDgAFENAAJAAkAgACADKQMAECgiDUKAgICAcINCgICAgOAAUQ0AIA2nIgkoAgRB/////wdxIQYgAaciCigCBEH/////B3EhBwJAIAQEQCAFIAcgBmsiCzYCDEF/IQhBACEEIAJBAkgNASAAIAUgAykDCBBCDQIgBSsDACIMvUL///////////8Ag0KAgICAgICA+P8AVg0BIAxEAAAAAAAAAABlBEAgBUEANgIMDAILIAwgC7djRQ0BIAUCfyAMmUQAAAAAAADgQWMEQCAMqgwBC0GAgICAeAs2AgwMAQsgBUEANgIMIAJBAk4EQCAAIAVBDGogAykDCCAHQQAQVw0CCyAHIAZrIQRBASEIC0F/IQIgBiAHSw0BIAQgBSgCDCIDayAIbEEASA0BA0AgCiAJIANBACAGELMDRQRAIAMhAgwDCyADIARGDQIgAyAIaiEDDAALAAsgACABEA8gACANEA9CgICAgOAAIQEMAQsgACABEA8gACANEA8gAq0hAQsgBUEQaiQAIAELkwECAX4BfyMAQRBrIgIkAEKAgICA4AAhBAJAIAAgARBZIgFCgICAgHCDQoCAgIDgAFEEQCABIQQMAQsCQCAAIAJBDGogAykDABC6AQ0AQoCAgIAwIQQgAigCDCIDQQBIDQAgAyABpyIFKAIEQf////8HcU8NACAFIAJBDGoQyQGtIQQLIAAgARAPCyACQRBqJAAgBAtpAgJ/AX4gACABEFkhAQNAIAIgBEwgAUKAgICAcINCgICAgOAAUXJFBEAgAyAEQQN0aikDACIGQiCIp0F1TwRAIAanIgUgBSgCAEEBajYCAAsgBEEBaiEEIAAgASAGEMQCIQEMAQsLIAELyAECAX4BfyMAQRBrIgIkAEKAgICA4AAhBAJAIAAgARBZIgFCgICAgHCDQoCAgIDgAFEEQCABIQQMAQsCQCAAIAJBDGogAykDABC6AQ0AAkAgAigCDCIDQQBOBEAgAyABpyIFKQIEIgSnQf////8HcUkNAQsgAEEvEC0hBAwBCyAFQRBqIQUgAAJ/IARCgICAgAiDUEUEQCAFIANBAXRqLwEADAELIAMgBWotAAALQf//A3EQnwMhBAsgACABEA8LIAJBEGokACAEC7gBAgJ+AX8jAEEQayICJABCgICAgOAAIQQCQCAAIAEQWSIBQoCAgIBwg0KAgICA4ABRBEAgASEEDAELAkAgACACQQxqIAMpAwAQugENAEKAgICAwH4hBCACKAIMIgNBAEgNACADIAGnIgYpAgQiBadB/////wdxTw0AIAZBEGohBiAFQoCAgIAIg1BFBEAgBiADQQF0ajMBACEEDAELIAMgBmoxAAAhBAsgACABEA8LIAJBEGokACAEC+MBAgF+An8jAEEQayICJAACQCAAIAFBLRBLIgNFBEAgBEEANgIAQoCAgIDgACEBDAELQoCAgIAwIQECQCADKQMAIgZCgICAgHCDQoCAgIAwUgRAIAIgAygCDCIFNgIMIAUgBqciBygCBEH/////B3FJDQEgACAGEA8gA0KAgICAMDcDAAsgBEEBNgIADAELIAcgAkEMahDJASEIIAMgAigCDDYCDCAEQQA2AgAgCEH//wNNBEAgACAIQf//A3EQnwMhAQwBCyAAIAcgBUEBdGpBEGpBAhDuAyEBCyACQRBqJAAgAQs3ACMAQRBrIgIkACAAIAJBDGogAykDABB3IQAgAigCDCEDIAJBEGokAEKAgICA4AAgA2etIAAbC04AIwBBEGsiAiQAQoCAgIDgACEBAkAgACACQQxqIAMpAwAQdw0AIAAgAkEIaiADKQMIEHcNACACKAIIIAIoAgxsrSEBCyACQRBqJAAgAQsGACAAtrsLfwAgACAAKQPQASIBQgyIIAGFIgFCGYYgAYUiAUIbiCABhSIBNwPQAUKAgICAwH4gAUKdurP7lJL9oiV+QgyIQoCAgICAgID4P4S/RAAAAAAAAPC/oL0iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwujBAMDfAV/A34jAEEQayIIJAAgCEIANwMIAkACQCACQQBMDQBCgICAgOAAIQEgACAIQQhqIAMpAwAQQg0BQQEhCSAIKwMIIQQgAkEBRwRAA0AgAiAJRg0CIAAgCCADIAlBA3RqKQMAEEINAyAJQQFqIQkgCCsDACEFIwBBIGsiByQAIAS9Qv///////////wCDIg0gBb1C////////////AIMiDCAMIA1WGyIOvyEEAkAgDkI0iKciCkH/D0YNACANIAwgDCANVBsiDL8hBQJAIA5QDQAgDEI0iKciC0H/D0YNACALIAprQcEATgRAIAUgBKAhBAwCCwJ8IAtB/gtPBEAgBEQAAAAAAAAwFKIhBCAFRAAAAAAAADAUoiEFRAAAAAAAALBrDAELRAAAAAAAAPA/IApBvARLDQAaIAREAAAAAAAAsGuiIQQgBUQAAAAAAACwa6IhBUQAAAAAAAAwFAshBiAHQRhqIAdBEGogBRCKBiAHQQhqIAcgBBCKBiAGIAcrAwAgBysDEKAgBysDCKAgBysDGKCfoiEEDAELIAUhBAsgB0EgaiQADAALAAsgBJkhBAsgBL0iAQJ/IASZRAAAAAAAAOBBYwRAIASqDAELQYCAgIB4CyIAt71RBEAgAK0hAQwBC0KAgICAwH4gAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGyEBCyAIQRBqJAAgAQtOACAAIABEAAAAAAAA8L9EAAAAAAAA8D8gAEQAAAAAAAAAAGMbIAC9Qv///////////wCDQoCAgICAgID4/wBWGyAARAAAAAAAAAAAYRsLQwACfCABvUKAgICAgICA+P8Ag0KAgICAgICA+P8AUQRARAAAAAAAAPh/IACZRAAAAAAAAPA/YQ0BGgsgACABEI8DCwuDAQICfgF/IAC9IgFCNIinQf8PcSIDQf4HTQRAIAFCgICAgICAgICAf4MhAiADQf4HRyABQoCAgICAgIDwv39RckUEQCACQoCAgICAgID4P4S/DwsgAr8PCyADQbIITQR8IAFCP4cgAXxCAUGzCCADa62GIgFCAYh8QgAgAX2DvwUgAAsLggUDAnwFfwF+IwBBEGsiCSQAAn5CgICAgMD+//v/AEKAgICAwP7/eyAEGyACRQ0AGgJ8IAMpAwAiAUL/////D1gEQEEBIAIgAkEBTBshCiABpyEIQQEhBwNAIAcgCkcEQCAItyADIAdBA3RqKQMAIgFCgICAgBBaDQMaIAggAaciCyAIIAtKGyAIIAsgCCALSBsgBBshCCAHQQFqIQcMAQsLIAitDAILQoCAgIDgACAAIAlBCGogARBCDQEaQQEhByAJKwMICyEFIAcgAiACIAdIGyECA0AgAiAHRwRAQoCAgIDgACAAIAkgAyAHQQN0aikDABBCDQIaAkAgBb0iDEL///////////8Ag0KAgICAgICA+P8AVg0AIAkrAwAiBr0iAUL///////////8Ag0KAgICAgICA+P8AVgRAIAYhBQwBCyAFRAAAAAAAAAAAYSAGRAAAAAAAAAAAYXEhCiAEBEAgCgRAIAEgDIO/IQUMAgsgBSAFIAalIAa9Qv///////////wCDQoCAgICAgID4/wBWGyAGIAW9Qv///////////wCDQoCAgICAgID4/wBYGyEFDAELIAoEQCABIAyEvyEFDAELIAUgBSAGpCAGvUL///////////8Ag0KAgICAgICA+P8AVhsgBiAFvUL///////////8Ag0KAgICAgICA+P8AWBshBQsgB0EBaiEHDAELCyAFvSIBAn8gBZlEAAAAAAAA4EFjBEAgBaoMAQtBgICAgHgLIgC3vVEEQCAArQwBC0KAgICAwH4gAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwshASAJQRBqJAAgAQstAEKAgICA4AAgACADKQMAIAMpAwhBABCLAiIAQQBHrUKAgICAEIQgAEEASBsLoAEBA34gAykDACIFIQQgAkEETgRAIAMpAxghBAsgBUL/////b1gEQCAAECRCgICAgOAADwsgAykDECEBQoCAgIDgACEGAkAgACADKQMIEDEiAkUNACABQiCIp0F1TwRAIAGnIgMgAygCAEEBajYCAAsgACAFIAIgASAEQQAQhgQhAyAAIAIQEyADQQBIDQAgA0EAR61CgICAgBCEIQYLIAYLjwEAAkACQCADKQMAIgFC/////29YBEAgBARAIAAQJAwDCyABQiCIp0F1SQ0BIAGnIgAgACgCAEEBajYCACABDwsgACABELYDIgJBAEgNASAEBEAgAkEAR61CgICAgBCEDwsgAkUEQCAAQfjiAEEAEBUMAgsgAaciACAAKAIAQQFqNgIACyABDwtCgICAgOAACyoAIAMpAwAiAUL/////b1gEQCAAECRCgICAgOAADwsgACABQQNBABCqAgtPAAJAAkAgAykDACIBQv////9vWARAIARFBEBCgICAgBAPCyAAECQMAQsgACABEJkBIgBBAE4NAQtCgICAgOAADwsgAEEAR61CgICAgBCEC2MBAX4gAykDACIEQv////9vWARAIAAQJEKAgICA4AAPC0KAgICA4AAhAQJAIAAgAykDCBAxIgJFDQAgACAEIAIQcSEDIAAgAhATIANBAEgNACADQQBHrUKAgICAEIQhAQsgAQs2ACADKQMAIgFCIIinIgJBf0YgBEUgAkF+cUECR3FyRQRAIAAQJEKAgICA4AAPCyAAIAEQ6AELYwECfgJAAkAgAykDACIBQv////9vWARAIAAQJAwBCyADKQMIIQUgASEEIAJBA04EQCADKQMQIQQLIAAgBRAxIgINAQtCgICAgOAADwsgACABIAIgBEEAEBQhASAAIAIQEyABC2YBAX4gAykDACIEQv////9vWARAIAAQJEKAgICA4AAPC0KAgICA4AAhAQJAIAAgAykDCBAxIgJFDQAgACAEIAJBABDVASEDIAAgAhATIANBAEgNACADQQBHrUKAgICAEIQhAQsgAQuLAQECfiADKQMAIgFC/////29YBEAgABAkQoCAgIDgAA8LIAMpAxAhBkKAgICA4AAhBQJAIAAgAykDCBAxIgJFDQAgACABIAIgBiAERUEOdBDHBCEDIAAgAhATIANBAEgNACAEBEAgA0EAR61CgICAgBCEDwsgAaciACAAKAIAQQFqNgIAIAEhBQsgBQuaAQIBfwJ+IwBBEGsiBCQAIAMpAwghBSADKQMAIgYhAQJAAkACQAJAIAJBA0gNACADKQMQIgFCgICAgHBaBEAgAactAAVBEHENAQsgAEGiPkEAEBUMAQsgACAEQQxqIAUQiQQiAg0BC0KAgICA4AAhAQwBCyAAIAYgASAEKAIMIgMgAhCQAyEBIAAgAiADEJsDCyAEQRBqJAAgAQsVACAAIAMpAwAgAyADQQhqQQIQnQMLVgIBfgF/IAAgARC0AyIBQoCAgIBwg0KAgICA4ABRBEAgAQ8LQoCAgIAwIQIgAaciAygCBEGAgICAeEcEQCAAIAAoAhAgAxDBAhAtIQILIAAgARAPIAILCQAgACABELQDC1sBAX4jAEEQayICJAAgAiAAIAEQtAMiATcDCAJAIAFCgICAgHCDQoCAgIDgAFEEQCABIQQMAQsgAEKAgICAMEEBIAJB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IQMCQAJAAkAgAkHGAGsOBgIDAQMDAgALIAJBFkcNAgtBECEDCyAAIAEgAxCQAg8LIABBtitBABAVC0KAgICA4AALlgEBAXwjAEEQayICJAACfkKAgICA4AAgACACQQhqIAEQmwINABogAisDCCIEvSIBAn8gBJlEAAAAAAAA4EFjBEAgBKoMAQtBgICAgHgLIgC3vVEEQCAArQwBC0KAgICAwH4gAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwshASACQRBqJAAgAQvsAgIDfwF8IwBB0ABrIgQkACAEQRBqQQBBOBArGiAEQoCAgICAgID4PzcDIEKAgICAwH4hAQJAIAJFDQBBByACIAJBB04bIgJBACACQQBKGyECA0AgAiAFRwRAIAAgBEEIaiADIAVBA3QiBmopAwAQQgRAQoCAgIDgACEBDAMLIAQrAwgiB71CgICAgICAgPj/AINCgICAgICAgPj/AFENAiAEQRBqIAZqIAedOQMAAkAgBQ0AIAQrAxAiB0QAAAAAAAAAAGZFIAdEAAAAAAAAWUBjRXINACAEIAdEAAAAAACwnUCgOQMQCyAFQQFqIQUMAQsLIARBEGpBABDgAiIHvSIBAn8gB5lEAAAAAAAA4EFjBEAgB6oMAQtBgICAgHgLIgW3vVEEQCAFrSEBDAELQoCAgIDAfiABQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbIQELIARB0ABqJAAgAQtWABDQBCIBQoCAgIAIfEL/////D1gEQCABQv////8Pgw8LQoCAgIDAfiABub0iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwsIAEKAgICAMAuqHQIGfwR+IwBB0ABrIgYkAAJAAkAgAEEQaiIDQYgCIAAoAgARAwAiAUUNACABQQVqQQBBgwIQKxogAUEFOgAEIAFBATYCACAAKAJQIgQgAUEIaiIFNgIEIAEgAEHQAGo2AgwgASAENgIIIAAgBTYCUCABIAMgACgCQEEDdCAAKAIAEQMAIgQ2AiggBEUEQCADIAEgACgCBBEAAAwBCyABIAA2AhAgACgCSCIDIAFBFGoiBTYCBCABIABByABqNgIYIAEgAzYCFCAAIAU2AkggAULxgICAgDk3AtwB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aiAAIAFB1QAgAUEAEBQQowENACAAIAVB1QACfiACKQMIIgFCgICAgAh8Qv////8PWARAIAFC/////w+DDAELQoCAgIDAfiABub0iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwsQRUEASA0AQoCAgIDgACEIIABBLhB2IgFCgICAgHCDQoCAgIDgAFENACAAQSAQKSIDRQRAIAEhCAwBCyADIAk3AwggAyAFNwMAIAMgBKciCkHnAEEAEMcBQX9zQR92NgIQIApB9QBBABDHASEKIANBADYCGCADIApBf3NBH3Y2AhQgAUKAgICAcFoEQCABpyADNgIgCyAAIAYQDyAAIAQQDyABIQcMAQsgACAJEA8gACAGEA8gACAEEA8gACAFEA8gACAIEA8LIAJBIGokACAHC74EAgd+An8jAEEQayICJAACQCABQv////9vWARAIAAQJEKAgICA4AAhBgwBC0KAgICA4AAhBkKAgICAMCEFAkAgAAJ+AkAgACADKQMAECgiB0KAgICAcINCgICAgOAAUQ0AIAAgACABQe4AIAFBABAUECYiA0EASA0AIANFBEAgACABIAcQyAEhBgwDCyAAIAAgAUHvACABQQAQFBAmIgtBAEgNACAAIAFB1QBCABBFQQBIDQBCgICAgOAAIAAQPiIIQoCAgIBwg0KAgICA4ABRDQEaIAenIQwCQANAIAAgBRAPIAAgASAHEMgBIgVCgICAgHCDIgRCgICAgCBRDQECQCAEQoCAgIDgAFENAAJ/IAAgACAFQgAQTRA3IgRCgICAgHCDIgpCgICAgJB/UgRAQQAgCkKAgICA4ABSDQEaDAILIASnKAIEQf////8HcUULIQMgACAIIAkgBBCGAUEASA0AIAlCAXwhCSADRQ0BIAAgAkEIaiAAIAFB1QAgAUEAEBQQowFBAEgNACAAIAFB1QACfiAMIAIpAwggCxDxAiIEQoCAgIAIfEL/////D1gEQCAEQv////8PgwwBC0KAgICAwH4gBLm9IgRCgICAgMCBgPz/AH0gBEL///////////8Ag0KAgICAgICA+P8AVhsLEEVBAE4NAQsLIAgMAgsgCacEQCAIIQYMAwsgACAIEA9CgICAgCAhBgwCC0KAgICAMAsQDwsgACAFEA8gACAHEA8LIAJBEGokACAG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/////w+DEGpBAEgNDSADRQRAIAkgCSgCAEEBajYCAAsgACABIAZBAWqtIBQQakEASA0NIA5CgICAgDBSBEAgEUIgiKdBdU8EQCARpyICIAIoAgBBAWo2AgALIAAgASAGQQJqrSAREGpBAEgNDgsgBCABNwNYIARCgICAgDA3A1AgACATEA8gACAAIBkgBCAEQdAAakEAEJ0DEDchEwwBC0KAgICAMCEVIA5CgICAgDBSBEAgACARECUiFUKAgICAcINCgICAgOAAUQ0NCyAEIBc3A3ggBCAVNwNwIAQgATcDaCAEIBQ3A1ggBCAPNwNQIAQgEkL/////D4M3A2AgACATEA8gACAEQdAAahDtBCETIAAgFRAPCyATQoCAgIBwg0KAgICA4ABRDQsgB6wgElcEQCAEQThqIgIgCSAHIBKnEFEaIAIgExCHARogD6cpAgRC/////weDIBJ8pyEHCyAFQQFqIQUMAQsLIARBOGoiAiAJIAcgCSgCBEH/////B3EQURogAhA2IRAMCgsgACAPEA9CgICAgDAhEwJAAn8CQCAAIAAgEkIAEE0QNyIPQoCAgIBwgyIOQoCAgICQf1IEQCAOQoCAgIDgAFINASAOIRAMAwsgD6coAgRB/////wdxDQAgACAEQdAAaiAAIAFB1QAgAUEAEBQQowFBAEgNAiAAIAFB1QACfiAJIAQpA1AgDRDxAiIOQoCAgIAIfEL/////D1gEQCAOQv////8PgwwBC0KAgICAwH4gDrm9Ig5CgICAgMCBgPz/AH0gDkL///////////8Ag0KAgICAgICA+P8AVhsLEEUiAkEATg0AIAJBHnZBAnEMAQtBAAtFDQELCwwCCwwGC0KAgICAMCETC0KAgICAMCEBDAQLIARB0ABqIAsgCCALKAIEQf////8HcRBRDQAgACASEA8gACgCECICQRBqIAMgAigCBBEAACAEQdAAahA2IRAMAQsgACASEA8gACgCECICQRBqIAMgAigCBBEAACAEKAJQKAIQIgJBEGogBCgCVCACKAIEEQAAC0KAgICAMCERC0KAgICAMCETQoCAgIAwIQFCgICAgDAhDwsgBCgCOCgCECICQRBqIAQoAjwgAigCBBEAAAsgBBDuBCAAIBcQDyAAIA8QDyAAIAEQDyAAIBMQDyAAIBEQDyAAIBQQDwsgBEGQAWokACAQC6IBACMAQSBrIgIkAAJ+AkAgAUL/////b1gEQCAAECQMAQsgACACQQhqIgNBABA9GiADQS8QOxoCQCADIAAgAUHsACABQQAQFBB/DQAgAkEIaiIDQS8QOxogAyAAIAFB7QAgAUEAEBQQfw0AIAJBCGoQNgwCCyACKAIIKAIQIgBBEGogAigCDCAAKAIEEQAAC0KAgICA4AALIQEgAkEgaiQAIAELTgECfkKAgICA4AAhBCAAIAEgAykDABDIASIBQoCAgIBwgyIFQoCAgIDgAFIEfiAAIAEQDyAFQoCAgIAgUq1CgICAgBCEBUKAgICA4AALC/gCAgN+AX8CQAJAIAAgARDwAiICRQ0AIAMpAwghBgJAAkACQCADKQMAIgRCgICAgHBUDQAgBKciAy8BBkESRw0AIAZCgICAgHCDQoCAgIAwUgRAIABBnvkAQQAQFUKAgICA4AAPCyADKAIgIgcgBygCAEEBajYCACADKAIkIgMgAygCAEEBajYCACAHrUKAgICAkH+EIQQgA61CgICAgJB/hCEFDAELQoCAgIAwIQUCfiAEQoCAgIBwg0KAgICAMFEEQCAAQS8QLQwBCyAAIAQQKAsiBEKAgICAcINCgICAgOAAUQ0BIAAgBCAGEJgEIgVCgICAgHCDQoCAgIDgAFENAQsgACACNQIAQoCAgICQf4QQDyAAIAI1AgRCgICAgJB/hBAPIAIgBT4CBCACIAQ+AgAgACABQdUAQgAQRUEASA0BIAFCIIinQXVJDQIgAaciACAAKAIAQQFqNgIADAILIAAgBBAPIAAgBRAPC0KAgICA4AAPCyABC2oBAX8gAUL/////b1gEQCAAECRCgICAgOAADwsCfiABpyIDLwEGQRJHBEBCgICAgDAgACABIAAoAigpA5ABEFINARogAEESEIYDQoCAgIDgAA8LIAMoAiQtABAgAnFBAEetQoCAgIAQhAsLvQQBCX8jAEEgayIHJAACQAJAAkACQAJAIAFC/////29YBEAgABAkDAELIAAgASAAKAIoKQOQARBSDQIgACABEPACIgINAQtCgICAgOAAIQEMAwsgAigCACIIKAIEIgJB/////wdxIgMNAQsgAEH+kwEQYiEBDAELIAAgB0EIaiADIAJBH3YQigMaIAhBEGohBiAIKAIEQf////8HcSEJQQAhAANAAkACQCAAIAlIBEAgAEEBaiECQX8hBQJAAn8CQAJAAkACQAJAAkACQAJ/IAgpAgRCgICAgAiDIgFQIgpFBEAgBiAAQQF0ai8BAAwBCyAAIAZqLQAACyIDQdsAaw4DAwECAAsgAiEAAkAgA0EKaw4EBAsLBQALIANBL0cNByAERQ0FQQEhBEEvIQMMBwtB3AAhAyACIAlODQYgAEECaiEAIApFBEAgBiACQQF0ai8BACEFDAoLIAIgBmotAAAhBQwJC0EAIQRB3QAhAwwFC0HbACEDIAQgAiAJTnINBiAAQQJqIQAgAVAEQEHdAEF/IAIgBmotAABB3QBGIgQbIQUgACACIAQbIQBBASEEDAgLQQEhBEHdAEF/IAYgAkEBdGovAQBB3QBGIgobIQUgACACIAobIQAMBwtB7gAMAgtB8gAMAQtBACEEQS8LIQVB3AAhAwsgAiEADAILIAdBCGoQNiEBDAMLIAIhAEEBIQQLIAdBCGogAxCLARogBUEASA0AIAdBCGogBRCLARoMAAsACyAHQSBqJAAgAQvWAgIDfwF+IwBBEGsiBCQAAkAgAUL/////b1gEQCAAECRCgICAgOAAIQUMAQtCgICAgOAAIQUgACAAIAFB7gAgAUEAEBQQJiICQQBIDQAgAgR/IARB5wA6AAggBEEJagUgBEEIagshAiAAIAAgAUHr4wAQsgEQJiIDQQBIDQAgAwRAIAJB6QA6AAAgAkEBaiECCyAAIAAgAUGL5QAQsgEQJiIDQQBIDQAgAwRAIAJB7QA6AAAgAkEBaiECCyAAIAAgAUH01AAQsgEQJiIDQQBIDQAgAwRAIAJB8wA6AAAgAkEBaiECCyAAIAAgAUHvACABQQAQFBAmIgNBAEgNACADBEAgAkH1ADoAACACQQFqIQILIAAgACABQfsdELIBECYiA0EASA0AIAAgBEEIaiIAIAMEfyACQfkAOgAAIAJBAWoFIAILIABrEJMCIQULIARBEGokACAFC6UDAQR+IwBBEGsiAyQAIAQCfwJAAkACQAJAIAAgAUEuEEsiAkUEQEKAgICAMCEBDAELIAIoAhgEQEKAgICAMCEBQQEMBQsgACACKQMAIgggAikDCCIGEMgBIgFCgICAgHCDIgdCgICAgOAAUg0BC0KAgICAMCEHDAELIAdCgICAgCBRBEAgAkEBNgIYQoCAgIAwIQFBAQwDCyACKAIQBEAgACAAIAFCABBNEDciB0KAgICAcIMiCUKAgICA4ABRDQECQCAJQoCAgICQf1INACAHpygCBEH/////B3ENACAAIANBCGogACAIQdUAIAhBABAUEKMBQQBIDQIgACAIQdUAAn4gBqcgAykDCCACKAIUEPECIgZCgICAgAh8Qv////8PWARAIAZC/////w+DDAELQoCAgIDAfiAGub0iBkKAgICAwIGA/P8AfSAGQv///////////wCDQoCAgICAgID4/wBWGwsQRUEASA0CCyAAIAcQDwwCCyACQQE2AhgMAQsgACABEA8gACAHEA9CgICAgOAAIQELQQALNgIAIANBEGokACABCw4AIAAQtQJCgICAgOAACwkAQoCAgIDAfgsWACAAIAMpAwAgAykDCCADKQMQEJQEC9EBAgN+An8jAEEQayIHJAACQCAAIAdBDGogAykDABDlASIIRQRAQoCAgIDgACEEDAELIAAgCCAHKAIMQdKIARD1BSEBIAAgCBBUAkAgAkECSCABQoCAgIBwg0KAgICA4ABRcg0AIAAgAykDCCIGEDhFDQBCgICAgOAAIQQCQCAAEDQiBUKAgICAcINCgICAgOAAUQRAIAEhBQwBCyAAIAVBLyABQQcQGUEASA0AIAAgBUEvIAYQ+QQhBAsgACAFEA8MAQsgASEECyAHQRBqJAAgBAsNACAAIAEgAkEwEP0FCwsAIAAgAUEwEP4FC7QDAgN/An4jAEHQAGsiBiQAQX8hBwJAIAAgBkHIAGogAUHCABCBASIIRQ0AIAYpA0giAUKAgICAcINCgICAgDBRBEAgCCkDACEBIANCIIinQXVPBEAgA6ciByAHKAIAQQFqNgIACyAAIAEgAiADIAQgBRCGBCEHDAELIAAgAhBcIglCgICAgHCDQoCAgIDgAFEEQCAAIAEQDwwBCyAIKQMAIQogBiAENwM4IAYgAzcDMCAGIAk3AyggBiAKNwMgIAAgASAIKQMIQQQgBkEgahAvIQEgACAJEA8gAUKAgICAcINCgICAgOAAUQ0AAkACQCAAIAEQJiIHBEAgACAGIAgoAgAgAhBMIgJBAEgNASACRQ0DAkAgBigCACICQRNxRQRAIAAgBikDCCADEFJFDQEMBAsgAkERcUEQRw0DIAY1AhxCIIZCgICAgDBSDQMLIAAgBhBI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gICAwH4gALi9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsLOQEBfkKAgICAwH4gASkDACICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCzsBAX5CgICAgMB+IAEqAgC7vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCwwAIAAgASkDABD7AwsMACAAIAEpAwAQhwILSQEBfiABKAIAIgBBAE4EQCAArQ8LQoCAgIDAfiAAuL0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsHACABNQIACwcAIAEzAQALDgAgATIBAEL/////D4MLCQAgABC1AkF/Cw4AIAEwAABC/////w+DCwcAIAExAAALDwAgACsDACABKwMAEP0ECxEAIAAqAgC7IAEqAgC7EP0ECxkBAn4gASkDACIDIAApAwAiBFQgAyAEVmsLGQECfiABKQMAIgMgACkDACIEUyADIARVawsXACABKAIAIgEgACgCACIASSAAIAFJawsXACABKAIAIgEgACgCACIASCAAIAFIawsNACAALwEAIAEvAQBrCw0AIAAuAQAgAS4BAGsLDQAgACwAACABLAAAawsNACAALQAAIAEtAABrC8wNBAd/AXwBfgF9IwBBIGsiBiQAQoCAgIDgACENAkAgACABEJIBIgpBAEgNAEF/IQUCQAJAAkAgCkUNAEEBIQgCQAJAIARBAUYEQEF/IQggBiAKQQFrIgU2AhwgAkECSA0BIAAgBkEIaiADKQMIEEINBiAGKwMIIgy9Qv///////////wCDQoGAgICAgID4/wBaBEAgBkEANgIcDAILIAxEAAAAAAAAAABmBEAgDCAFt2NFDQIgBgJ/IAyZRAAAAAAAAOBBYwRAIAyqDAELQYCAgIB4CzYCHAwCC0F/IQUgDCAKt6AiDEQAAAAAAAAAAGMNBCAGAn8gDJlEAAAAAAAA4EFjBEAgDKoMAQtBgICAgHgLNgIcDAELIAZBADYCHCACQQJIBEAgCiECDAILIAAgBkEcaiADKQMIIAoiAiACEFcNBQwBC0F/IQILIAGnIgkoAiAoAgwoAiAtAAQEQEF/IQUgBEF/Rw0CQX9BACADNQIEQiCGQoCA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IA1CgICAgDBBBCAFQRBqECEhCiAAIAsQDyAAIA8QDyAFQoCAgIAwNwM4IApCgICAgHCDQoCAgIDgAFENASAAIAkQDyAKIQkLIAhCAXwhCAwBCwsgBSAJNwMwIAUpAzghCwsgACAFKQMwEA8gACALEA9CgICAgOAAIQkLIAAgARAPIAVBQGskACAJC6wIAgN/CX4jAEEwayIFJABCgICAgDAhCSAFQoCAgIAwNwMoAkACQAJAAkAgBEEIcSIHBEAgAUIgiKdBdU8EQCABpyIGIAYoAgBBAWo2AgALIAUgACABEJIBIgasNwMIIAZBAE4NAQwCCyAAIAVBCGogACABECUiARA8DQELIAMpAwAhD0KAgICAMCEOIAJBAk4EQCADKQMIIQ4LIAAgDxBgDQACQAJAAkACQAJAAkACQCAEDg0FAAYBAgYGBgUABgMEBgtCgICAgBAhCQwFCyAAIAECfiAFKQMIIghCgICAgAh8Qv////8PWARAIAhC/////w+DDAELQoCAgIDAfiAIub0iCEKAgICAwIGA/P8AfSAIQv///////////wCDQoCAgICAgID4/wBWGwsQqwIiCUKAgICAcINCgICAgOAAUg0EDAULIAAgAUIAEKsCIglCgICAgHCDQoCAgIDgAFINAwwECyAFIAE3AxAgBSAFNQIINwMYIABBAiAFQRBqEPYCIglCgICAgHCDQoCAgIDgAFINAgwDCyAAED4iCUKAgICAcINCgICAgOAAUg0BQoCAgIDgACEJDAILQoGAgIAQIQkLQgAhCCAFKQMIIgpCACAKQgBVGyEQA0AgCCAQUgRAAkACQCAHBEAgBSAAIAEgCBBzIgo3AyggCkKAgICAcINCgICAgOAAUg0BDAULIAAgASAIIAVBKGoQhQEiAkEASA0EIAJFDQELIAghCiAIQoCAgIAIWgRAQoCAgIDAfiAIub0iCkKAgICAwIGA/P8AfSAKQv///////////wCDQoCAgICAgID4/wBWGyEKCyAKQoCAgIBwg0KAgICA4ABRDQMgBSABNwMgIAUgCjcDGCAFIAUpAygiDTcDECAAIA8gDkEDIAVBEGoQISELIAAgChAPIAtCgICAgHCDQoCAgIDgAFENAwJAAkACQAJAAkACQAJAIAQODQABBQIEBQUFAAEFAwQFCyAAIAsQJg0FQoCAgIAQIQgM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AUL///////////8Ag0KAgICAgICA+P8AVhshBQwCCxABAAsgAjAAAEL/////D4MhBQsgB0EQaiQAIAULUgIBfwF+QoCAgIDgACEEIAAgASACEJMBIgMEfiADKAIgIgMoAgwoAiAtAAQEQCACRQRAQgAPCyAAEGtCgICAgOAADwsgAzUCFAVCgICAgOAACwvXAQEDfwJAIAFCgICAgHBUDQAgAaciAy8BBkE5Rw0AIAMoAiAiBEUNACAEQcwAaiEDIARByABqIQUDQCAFIAMoAgAiA0cEQCADKQMQIgFCgICAgGBaBEAgACABpyACEQAACyADKQMYIgFCgICAgGBaBEAgACABpyACEQAACyADKQMgIgFCgICAgGBaBEAgACABpyACEQAACyADKQMoIgFCgICAgGBaBEAgACABpyACEQAACyADQQRqIQMMAQsLIAQoAgRBfnFBBEYNACAAIARBCGogAhDvAwsLBgBB4MYECzABAX8CQCABQoCAgIBwVA0AIAGnIgIvAQZBOUcNACACKAIgIgJFDQAgACACEIcFCwsNACAAIAEgAkE3EP0FCwsAIAAgAUE3EP4FCxYBAX8gAacoAiAiAgRAIAAgAhCIBQsLMQEBfyABpygCICICBEAgACACKAIIEKMFIAAgAikDABAjIABBEGogAiAAKAIEEQAACwvcAQEEfwJAIAFCgICAgHBUDQAgAaciBC8BBkExRw0AIAQoAiAiBkUNAEEAIQQDQCAEQQJGRQRAIAYgBEEDdGoiBUEIaiEDIAVBBGohBQNAIAUgAygCACIDRwRAIAMpAwgiAUKAgICAYFoEQCAAIAGnIAIRAAALIAMpAxAiAUKAgICAYFoEQCAAIAGnIAIRAAALIAMpAxgiAUKAgICAYFoEQCAAIAGnIAIRAAALIANBBGohAwwBCwsgBEEBaiEEDAELCyAGKQMYIgFCgICAgGBUDQAgACABpyACEQAACwuMAQEFfwJAIAFCgICAgHBUDQAgAaciAi8BBkExRw0AIAIoAiAiBEUNAANAIANBAkZFBEAgBCADQQN0aiICQQRqIQUgAigCCCECA0AgAiAFRkUEQCACKAIEIQYgACACEK4CIAYhAgwBCwsgA0EBaiEDDAELCyAAIAQpAxgQIyAAQRBqIAQgACgCBBEAAAsLJQAgBSkDACIBQiCIp0F1TwRAIAGn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IAMpAwAQpgENACAAEJcBIgVCgICAgHCDQoCAgIDgAFENACAAIAJBFGogAykDCBC7ASIGRQRAIAAgBRAPDAELIAAoAtgBIQMgAkIANwIMIAJCgICAgICAgICAfzcCBCACIAM2AgAgAkIBEDAaIAIgAikDKCIBpyIHQf////8DQQEQzAEaIAIgAkJ/Qf////8DQQEQdRogBadBBGoiAyAGIAIQkwUaAkAgBEUgAVByDQAgAkIBEDAaIAIgB0EBa0H/////A0EBEMwBGiADIAIQ0wFBAEgNACACQgEQMBogAiAHQf////8DQQEQzAEaIAMgAyACQf////8DQQEQ5AEaCyACEBsgACAGIAJBFGoQXiAAIAUQzQEhAQsgAkEwaiQAIAEL6hMCAn4BfyMAQdABayIEJAAgACAEEJgFIAEgARA0IgNBqi0CfiAEKQMIIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQCABIANB3+AAAn4gBCkDECICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQboqAn4gBCkDGCICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQagqAn4gBCkDICICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQfooAn4gBCkDKCICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQfrfAAJ+IAQpAzAiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAEgA0HYKAJ+IAQpAzgiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAEgA0G23wACfiAEKQNAIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQCABIANBzSkCfiAEKQNIIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQCABIANBl+AAAn4gBCkDUCICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQeIoAn4gBCkDWCICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQc/fAAJ+IAQpA2AiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAEgA0GGKgJ+IAQpA2giAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAEgA0Gt4AACfiAEKQNwIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQCABIANBxyoCfiAEKQN4IgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQCABIANB8OAAAn4gBCkDgAEiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAEgA0HN4AACfiAEKQOIASICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQZIqAn4gBCkDkAEiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAEgA0G44AACfiAEKQOYASICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQdUqAn4gBCkDoAEiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAEgA0HvJwJ+IAQpA6gBIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQCABIANB6icCfiAEKQOwASICQoCAgIAIfEL/////D1gEQCACQv////8PgwwBC0KAgICAwH4gArm9IgJCgICAgMCBgPz/AH0gAkL///////////8Ag0KAgICAgICA+P8AVhsLEEAgASADQeszAn4gBCkDuAEiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAEgA0H7JwJ+IAQpA8ABIgJCgICAgAh8Qv////8PWARAIAJC/////w+DDAELQoCAgIDAfiACub0iAkKAgICAwIGA/P8AfSACQv///////////wCDQoCAgICAgID4/wBWGwsQQCABIANBo98AAn4gBCkDyAEiAkKAgICACHxC/////w9YBEAgAkL/////D4MMAQtCgICAgMB+IAK5vSICQoCAgIDAgYD8/wB9IAJC////////////AINCgICAgICAgPj/AFYbCxBAIAMQUyEAIARB0AFqJAAgAAufAgEDfiABQv////9vWARAIAAQJEKAgICA4AAPC0KAgICA4AAhBQJ+IAAgAUE2IAFBABAUIgRCgICAgHCDQoCAgIAwUQRAIABBlAEQLQwBCyAAIAQQNwsiBEKAgICAcIMiBkKAgICA4ABSBH4CfiAAIAFBMyABQQAQFCIBQoCAgIBwg0KAgICAMFEEQCAAQS8QLQwBCyAAIAEQNwsiAUKAgICAcIMiBUKAgICA4ABRBEAgACAEEA9CgICAgOAADwsCQCAGQoCAgICQf1EEQCAEpygCBEH/////B3FFDQELIAVCgICAgJB/UQRAIAGnKAIEQf////8HcUUNAQsgAEHMngEgBEH4mQEQvgEhBAsgACAEIAEQxAIFQoCAgIDgAAsLXwEBfwJAIAFFBEAgAkUNASAAIAIQ2QMPCyACRQRAIAAgACgCAEEBazYCACAAIAAoAgRBCGs2AgQgARCbAQwBCyAAKAIIIAAoAgQgAmpPBH8gASACEPMFBUEACw8LQQALJgAgAQRAIAAgACgCAEEBazYCACAAIAAoAgRBCGs2AgQgARCbAQsLCQAgACABNgIYCygBAX8CQCABpygCICIDRQ0AIAMoAgBBBEYNACAAIANBCGogAhDvAwsLPwEBfwJAIAFCgICAgHBUDQAgAaciAi8BBkEvRw0AIAIoAiAiAkUNACAAIAIQ7AMgAEEQaiACIAAoAgQRAAALC0cBAX8CQCABpygCICIDRQ0AIAMpAwAiAUKAgICAYFoEQCAAIAGnIAIRAAALIAMpAwgiAUKAgICAYFQNACAAIAGnIAIRAAALCzABAX8gAacoAiAiAgRAIAAgAikDABAjIAAgAikDCBAjIABBEGogAiAAKAIEEQAACwsnAQF/IAGnKAIgIgIEQCAAIAIpAwAQIyAAQRBqIAIgACgCBBEAAAsLWgECfyABpygCICICBEACQCACKQMAIgFCgICAgHBUDQAgAactAAVBAnENACACKAIMIgNFDQAgACADEOoDIAIpAwAhAQsg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ACIGRQ0AIAYtAAVBAXFFDQAgACAGIAIRAAALIANBAWohAwwACwALIAAgBCACEQAACwt8AQN/IAGnIgIoAigiAwRAIAAgA61CgICAgHCEECMLIAIoAiAiAwRAIAIoAiQiBARAQQAhAgNAIAIgAygCPE5FBEAgACAEIAJBAnRqKAIAEOsBIAJBAWohAgwBCwsgAEEQaiAEIAAoAgQRAAALIAAgA61CgICAgGCEECMLCxIAIAGnKAIgIgAEQCAAEKQDCwseACABpykDICIBQoCAgIBgWgRAIAAgAacgAhEAAAsLGQAgACABpyIAKQMgECMgAEKAgICAMDcDIAtEAQJ/IAGnIQQDQCAEKAIoIANLBEAgBCgCJCADQQN0aikDACIBQoCAgIBgWgRAIAAgAacgAhEAAAsgA0EBaiEDDAELCwtGAQN/IAGnIQMDQCADKAIkIQQgAiADKAIoT0UEQCAAIAQgAkEDdGopAwAQIyACQQFqIQIMAQsLIABBEGogBCAAKAIEEQAAC2kBAn8jAEEQayIHJAACfwJAIAGnIggtAAVBCHFFDQAgACAHQQxqIAIQrAFFDQAgBygCDCAIKAIoTw0AQX8gACAIEJIDDQEaCyAAIAEgAiADIAQgBSAGQYCACHIQbQshACAHQRBqJAAgAAuBAgIDfwF+AkACQCACQQBODQAgAacpAyAiCkKAgICAcINCgICAgJB/Ug0AIAJB/////wdxIgggCqciBykCBCIKp0H/////B3FPDQACQEEEIAYQkwNFDQBBASECIAZBgMAAcUUNAiADQoCAgIBwg0KAgICAkH9SDQAgA6ciCSkCBCIBQv////8Hg0IBUg0AIAdBEGohBwJ/IApCgICAgAiDUEUEQCAHIAhBAXRqLwEADAELIAcgCGotAAALAn8gAUKAgICACINQRQRAIAkvARAMAQsgCS0AEAtGDQILIAAgBkHh6QAQbw8LIAAgASACIAMgBCAFIAZBgIAIchBtIQILIAILRgACfwJAIAJBAE4NACABpykDICIBQoCAgIBwg0KAgICAkH9SDQBBACACQf////8HcSABpygCBEH/////B3FJDQEaC0EBCwuzAQECfwJAIANBAE4NACACpykDICICQoCAgIBwg0KAgICAkH9SDQAgA0H/////B3EiAyACpyIEKQIEIgKnQf////8HcU8NAEEBIQUgAUUNACAEQRBqIQQCfyACQoCAgIAIg1BFBEAgBCADQQF0ai8BAAwBCyADIARqLQAACyEDIAFBBDYCACAAIANB//8DcRCfAyECIAFCgICAgDA3AxggAUKAgICAMDcDECABIAI3AwgLIAULWwECfyABpygCECIAQTBqIQMgACAAKAIYIAJxQX9zQQJ0aigCACEAA0ACQCAARQ0AIAMgAEEBa0EDdGoiBCgCBCACRg0AIAQoAgBB////H3EhAAwBCwsgAEEARws1AQF+IAEpAwAiAkIgiKdBdU8EQCACpyIBIAEoAgBBAWo2AgALIAAgAhCKAUKAgICA4AAQUwuOAQECfyABKAIAIgJBAEoEQCABIAJBAWsiAjYCAAJAIAINACABLQAEQfABcUEQRw0AIAEoAggiAiABKAIMIgM2AgQgAyACNgIAIAFBADYCCCAAKAJgIgIgAUEIaiIDNgIEIAEgAEHgAGo2AgwgASACNgIIIAAgAzYCYAsPC0HFjQFBrvwAQbAsQc/0ABAAAAtvAQJ/IAEgASgCACICQQFqNgIAIAJFBEAgASgCCCICIAEoAgwiAzYCBCADIAI2AgAgAUEANgIIIAAoAlAiAiABQQhqIgM2AgQgASAAQdAAajYCDCABIAI2AgggACADNgJQIAEgAS0ABEEPcToABAsLDwAgASABKAIAQQFqNgIAC4gBAgF+AX9BACECQoCAgIAwIQEDQAJAIAJBAkcEfiAFIAJBA3QiBGoiBzUCBEIghkKAgICAMFENASAAQawuQQAQFUKAgICA4AAFQoCAgIAwCw8LIAMgBGopAwAiBkIgiKdBdU8EQCAGpyIEIAQoAgBBAWo2AgALIAcgBjcDACACQQFqIQIMAAsAC1wBAn4gAiAAKAIAEC0hA0EAIQAgA0KAgICAcINCgICAgOAAUSACIAEoAgAQLSIEQoCAgIBwg0KAgICA4ABRckUEQCADpyAEpxCDAiEACyACIAMQDyACIAQQDyAAC2sBAX4CQAJAAkACQAJAIAMtAAUiAQ4EAwICAAELIAAgAygCCBDKBA8LIAFBCEYNAgsQAQALIAAgAygCDCADKAIAIAMtAAggAy0ACSADLgEGEIIBDwsgACAAEDQiBCADKAIIIAMoAgwQIiAECwkAIAAgAxCNAwtTAQF+IAAQNCIEQoCAgIBwg0KAgICA4ABSBEAgASABKAIAQQFqNgIAIAAgBEE8IAGtQoCAgIBwhEEDEBlBAE4EQCAEDwsgACAEEA8LQoCAgIDgAAsDAAELagEBfyMAQRBrIgMkACABKAIEIQEgAiADQQxqIAAoAgQQrAFBACACIANBCGogARCsARtFBEBB0MUAQa78AEGDOkH8yQAQAAALIAMoAgghACADKAIMIQEgA0EQaiQAQX8gACABRyAAIAFLGwvaAwICfgF/IwBBIGsiBSQAAkACQCAAIAFBLBBLIgJFDQBCgICAgDAhAQJAIAIpAwAiBkKAgICAcINCgICAgDBSBEACfwJAIAanIgMvAQZBFWtB//8DcUEKTQRAIAMoAiAoAgwoAiAtAARFDQEgABBrDAULIAAgBUEcaiAGENYBDQQgBUEcagwBCyADQShqCyEIIAIoAgwiAyAIKAIASQ0BIAAgAikDABAPIAJCgICAgDA3AwALIARBATYCAAwCCyACIANBAWo2AgwgBEEANgIAIAIoAghFBEAgA0EATgRAIAOtIQEMAwtCgICAgMB+IAO4vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbIQEMAgtCgICAgOAAIQEgACACKQMAIAMQsAEiBkKAgICAcINCgICAgOAAUQ0BIAIoAghBAUYEQCAGIQEMAgsgBSAGNwMIIAUgA0EATgR+IAOtBUKAgICAwH4gA7i9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsLIgc3AwAgAEECIAUQiQMhASAAIAYQDyAAIAcQDwwBCyAEQQA2AgBCgICAgOAAIQELIAVBIGokACABCxAAIwAgAGtBcHEiACQAIAALBgAgACQACwQAIwAL7gICBH8CfiMAQRBrIgMkAAJAAkAgAikDECIHQoCAgIBwg0KAgICAkH9SBEAgAEGDlAFBABAVDAELIAIpAxghCCAAIAcQswEiBEUEQEEAIQQMAQsgACAIELMBIgZFDQACQCAAIAQgBhDJBSIBRQ0AIAAgARD+A0EASARAIABBARCPBAwBCyABIAEoAgBBAWo2AgAgACABrUKAgICAUIQgACkDwAFBAEEAEMgFIgdCgICAgHCDQoCAgIDgAFENACAAIAcQDyABIQULIAAgBhBUIAVFDQAgAyAAIAUQjQMiBzcD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ACEEIANCADcCaCADQoCAgICAgICAgH83AmAgAyAENgJcIANB3ABqIgUgARBEGiADQgA3AlQgA0KAgICAgICAgIB/NwJMIAMgBDYCSCADKAJkIQYgA0EANgJkIANByABqIgFCqtWq1QoQMBogA0EANgJQIAUgARCyAgRAIAMgAygCZEEBajYCZCAGQQFrIQYLIANByABqEBsgAkEBakEBdhCVBiEFIANCADcCVCADQoCAgICAgICAgH83AkwgAyAENgJIIANCADcCQCADQoCAgICAgICAgH83AjggAyAENgI0IANB3ABqIgEgAUJ/Qf////8DQQAQdRogBUEAIAVBAEobIQkgAiAFaiACIAVBAXRuQQFqIgpBAXRqQSBqIQJBACEBA0AgASAJRkUEQCADQcgAaiIHIANB3ABqIghCASACQQAQdRogA0E0aiILIAcgAkEGEJEGIAcgC0IBIAJBABB1GiAIIAggByACQQAQlQEaIAFBAWohAQwBCwsgA0IANwIsIANCgICAgICAgICAfzcCJCADIAQ2AiAgA0IANwIYIANCgICAgICAgICAfzcCECADIAQ2AgwgA0EgaiIBIANB3ABqIgRCAiACQQAQdRogASAEIAEgAkEAEJUBGiADQQxqIAEgASACQQAQQxogAEIAEDAaIAqsIQwDQCAMQgBXRQRAIANByABqIgFCARAwGiADQTRqIgQgDKdBAXRBAXKsEDAaIAEgASAEIAJBABCVARogACAAIAEgAkEAEMsBGiAAIAAgA0EMaiACQQAQQxogDEIBfSEMDAELCyAAIABCASACQQAQdRogACAAIANBIGoiASACQQAQQxogARAbIANBDGoQGyADQTRqEBsgA0HIAGoQGyAAIAVBAWpB/////wNBARDMARogA0HcAGoiASACQQYQ0wIgASABIAasIAJBABDUAiAAIAAgASACQQAQywEaIAEQGyADQfAAaiQAQRAPC0HY/QBB1PwAQdciQajWABAAAAsRACAAIAEgAiADIARBABCWBgsRACAAIAEgAiADIARBARCWBgvYAwEHfyACKAIEIAEoAgRzIQcCQAJAAkACQAJAAkACQCABKAIIIgZB/f///wdMBEAgAigCCCIFQf3///8HSg0BIAZBgICAgHhHDQYgBUGAgICAeEYNBAwHCyAGQf////8HRg0BIAIoAggh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gICAMEEBENQFDQIgACABEA8LIAJBAWohAgwACwALIAAgBBAPIAAgARAPQoCAgIDgAAsYACAAIAMpAwAgAykDCBBSrUKAgICAEIQL4gICA34DfyMAQSBrIgIkAEKAgICA4AAhBCAAIAMpAwAQJSIFQoCAgIBwg0KAgICA4ABSBEBCgICAgDAhAQJAAkAgACACQRxqIAJBGGogBadBAxCOAQ0AQoCAgIDgACEBIAAQNCIEQoCAgIBwg0KAgICA4ABRDQAgAigCHCEHIAIoAhghCEEAIQMDQCADIAhHBEACQAJAIAAgByADQQN0aiIJKAIEEFwiAUKAgICAcINCgICAgOAAUQ0AIAIgATcDCCACIAU3AwAgACAEIAAgAkEAEMYEIQYgACABEA8gBkKAgICAcIMiAUKAgICAMFENASABQoCAgIDgAFENACAAIAQgCSgCBCAGQYeAARAZQQBODQELIAQhAQwDCyADQQFqIQMMAQsLIAAgByAIEFogBSEBDAELIAAgAigCHCACKAIYEFogACAFEA9CgICAgOAAIQQLIAAgARAPCyACQSBqJAAgBAsQACAAIAMpAwBBESAEEKoCCxAAIAAgAykDAEECQQAQqgILEAAgACADKQMAQQFBABCqAgtHAQF+QoCAgIDgACEEIAAgAykDACIBIAMpAwgQrgYEfkKAgICA4AAFIAFCIIinQXVPBEAgAaciACAAKAIAQQFqNgIACyABCwtBACAAIAMpAwAiASADKQMIQQEQiwJBAEgEQEKAgICA4AAPCyABQiCIp0F1TwRAIAGnIgAgACgCAEEBajYCAAsgAQuJAQEBfiADKQMAIgFC/////29WIAFCgICAgHCDQoCAgIAgUXJFBEAgAEG35ABBABAVQoCAgIDgAA8LAkAgACABEEciAUKAgICAcINCgICAgOAAUgRAIAMpAwgiBEKAgICAcINCgICAgDBRDQEgACABIAQQrgZFDQEgACABEA8LQoCAgIDgAA8LIAELpQQCBX8CfiMAQSBrIgUkACAAIAVBCGoiBkEAED0aIAZBKBA7GiAEQX5xQQJGBEAgBUEIakHxmQEQiAEaCyAFQQhqQbrMABCIARogBEF9cUEBRgRAIAVBCGpBKhA7GgsgBUEIakGvlAEQiAEaQQAhBiACQQFrIgdBACAHQQBKGyEIAkACQAJAA0AgBiAIRwRAIAYEQCAFQQhqQSwQOxoLIAZBA3QhCSAGQQFqIQYgBUEIaiADIAlqKQMAEIcBRQ0BDAILCyAFQQhqQYaaARCIARogAkEASgRAIAVBCGogAyAHQQN0aikDABCHAQ0BCyAFQQhqIgJBiZEBEIgBGkKAgICAMCELIAIQNiIKQoCAgIBwg0KAgICA4ABRDQEgACAAKQPAASAKQQNBfxCcAyELIAAgChAPIAtCgICAgHCDQoCAgIDgAFENASABQoCAgIBwg0KAgICAMFENAiAAIAFBOyABQQAQFCIKQoCAgIBwg0KAgICA4ABRDQECQCAKQv////9vVg0AIAAgChAPIAAgARCAAyICRQ0CIAIoAiggBEEBdEGuwAFqLwEAQQN0aikDACIKQiCIp0F1SQ0AIAqnIgIgAigCAEEBajYCAAsgACALIApBARCLAiECIAAgChAPIAJBAE4NAgwBCyAFKAIIKAIQIgJBEGogBSgCDCACKAIEEQAAQoCAgIAwIQsLIAAgCxAPQoCAgIDgACELCyAFQSBqJAAgCwuAAgICfgF/IwBBIGsiByQAQoCAgIDgACEFAkACQCAAIAEQJSIBQoCAgIBwg0KAgICA4ABRDQAgACADKQMAEDEiA0UNAANAIAAgByABpyADEEwiAkEASA0CIAIEQEKAgICAMCEFAkAgBy0AAEEQcUUNACAHQRhBECAEG2opAwAiBUIgiKdBdUkNACAFpyICIAIoAgBBAWo2AgALIAAgBxBIDAMLIAAgARCMAiIBQoCAgIBwgyIGQoCAgIAgUgRAIAZCgICAgOAAUQRAIAYhBQwECyAAEHtFDQEMAwsLQoCAgIAwIQUMAQtBACEDCyAAIAMQEyAAIAEQDyAHQSBqJAAgBQuxAQEDfiADKQMIIQUgAykDACEGQoCAgIDgACEHAkAgACABECUiAUKAgICAcINCgICAgOAAUgR+IAAgBRBgDQEgACAGEDEiAkUNASAAIAEgAkKAgICAMEKAgICAMCAFIAQbIAVCgICAgDAgBBtBhaoBQYWaASAEGxBtIQMgACABEA8gACACEBNCgICAgOAAQoCAgIAwIANBAEgbBUKAgICA4AALDwsgACABEA9CgICAgOAAC3IBAX5CgICAgDAhAyABQoCAgIAQhEKAgICAcINCgICAgDBRBEAgABAkQoCAgIDgAA8LIAJCgICAgHCDQoCAgIAgUiACQv////9vWHEEfkKAgICAMAVCgICAgOAAQoCAgIAwIAAgASACQQEQiwJBAEgbCwsyAQF+IAAgARAlIgFCgICAgHCDQoCAgIDgAFEEQCABDwsgACABEOgBIQIgACABEA8gAgugAQIBfgF/IwBBIGsiAiQAQoCAgIDgACEEAkACQCAAIAEQJSIBQoCAgIBwg0KAgICA4ABRDQAgACADKQMAEDEiA0UNACAAIAIgAacgAxBMIgVBAEgNASAFRQRAQoCAgIAQIQQMAgsgAjUCACEEIAAgAhBIIARCAohCAYNCgICAgBCEIQQMAQtBACEDCyAAIAMQEyAAIAEQDyACQSBqJAAgBAvBAQECfgJAAn5CgICAgBAgAykDACIEQoCAgIBwVA0AGkKAgICA4AAgACABECUiAUKAgICAcINCgICAgOAAUQ0AGiAEpyICIAIoAgBBAWo2AgAgAachAgNAIAAgBBCMAiIEQoCAgIBwgyIFQoCAgIDgAFIEQCACIASnRiAFQoCAgIAgUXINAyAAEHtFDQELCyAAIAQQDyAAIAEQD0KAgICA4AALDwsgACAEEA8gACABEA8gBUKAgICAIFKtQoCAgIAQhAt6AQF+IAAgAykDABAxIgJFBEBCgICAgOAADwtCgICAgOAAIQQgACABECUiAUKAgICAcINCgICAgOAAUQRAIAAgAhATIAEPCyAAQQAgAacgAhBMIQMgACACEBMgACABEA9CgICAgOAAIANBAEetQoCAgIAQhCADQQBIGwsIACAAIAEQJQsPACAAIAFBN0EAQQAQrAILLQEBfkKAgICAMCECAkAgARCjAyIARQ0AIAAtABJBBHFFDQAgADUCRCECCyACCzMCAX4Bf0KAgICAMCECAkAgARCjAyIDRQ0AIAMtABJBBHFFDQAgACADKAJAEC0hAgsgAgsoAEKAgICA4AAgACADKQMAIAEQvgUiAEEAR61CgICAgBCEIABBAEgbC7cBAgF+An9CgICAgOAAIQQgACABEGAEfkKAgICA4AAFQcqZASECAkAgAaciAy8BBhDuAUUNAAJAIAMoAiAiAy8AESIFQYAIcUUNACADKAJUIgZFDQAgACAGIAMoAkgQkwIPCyAFQQR2QQNxQQFrIgNBAksNACADQQJ0QfT/AWooAgAhAgsgACACIAAgAUE2IAFBABAUIgFCgICAgHCDQoCAgIAwUQR+IABBLxAtBSABC0G+GRC+AQsL6QUDA34GfwN8AkACfkKAgICA4AAgACABEGANABpCgICAgOAAIAAgACkDMEEOEEkiBUKAgICAcINCgICAgOAAUQ0AGiAFpyIKIAFCgICAgHBaBH8gAactAAVBEHEFQQALIAotAAVB7wFxcjoABSAAQQEgAiACQQFMGyILQQFrIghBA3RBGGoQKSIHRQ0BIAFCIIinQXVPBEAgAaciAiACKAIAQQFqNgIACyAHIAE3AwAgAykDACIEQiCIp0F1TwRAIASnIgIgAigCAEEBajYCAAsgByAINgIQIAcgBDcDCEEAIQIDQCACIAhHBEAgAyACQQFqIglBA3RqKQMAIgRCIIinQXVPBEAgBKciDCAMKAIAQQFqNgIACyAHIAJBA3RqIAQ3AxggCSECDAELCyAKIAc2AiAgAUL/////b1gEQCAAECQMAgsgAEEAIAGnQTAQTCICQQBIDQFCACEEAkAgAkUNACAAIAFBMCABQQAQFCIGQoCAgIBwg0KAgICA4ABRDQIgBkL/////D1gEQCAGpyICIAhrQQAgAiALThutIQQMAQsgBkIgiKdBB2tBbU0EQAJAIAZCgICAgMCBgPz/AHwiBEL///////////8Ag0KAgICAgICA+P8AVg0AIAS/nSIOIAi3Ig9lDQAgDiAPoSENCyANvSIEAn8gDZlEAAAAAAAA4EFjBEAgDaoMAQtBgICAgHgLIgK3vVEEQCACrSEEDAILQoCAgIDAfiAEQoCAgIDAgYD8/wB9IARC////////////AINCgICAgICAgPj/AFYbIQQMAQsgACAGEA8LIAAgBUEwIARBARAZGiAAQdSZASAAIAFBNiABQQAQFCIEQoCAgIBwgyIBQoCAgICQf1IEfiABQoCAgIDgAFENAiAAIAQQDyAAQS8QLQUgBAtBzJ4BEL4BIgFCgICAgHCDQoCAgIDgAFENASAAIAVBNiABQQEQGRogBQsPCyAAIAUQD0KAgICA4AALMAAgAkEATARAIAAgAUKAgICAMEEAQQAQIQ8LIAAgASADKQMAIAJBAWsgA0EIahAhC6MCAgF/BH4jAEEQayIFJABCgICAgDAhBgJAAkAgACAFQQhqIAAgARAlIgkQPA0AIAVBATYCBAJAIAQEQCAD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gDBSBEAgB0KAgICA4ABRDQcgACABECYMAQsgACAFEMoBCyICQQBIDQUgAkUNACAAIAkgBRA8DQUgCSkDACIHIAR8Qv////////8PVQ0EQgAhASAHQgAgB0IAVRshBwNAIAEgB1ENAiAAIAUgASAJQQhqEIUBIgJBAEgNBiACBEAgACAGIAQgCSkDCBBqQQBIDQcLIARCAXwhBCABQgF8IQEMAAsACyAEQv7///////8PVQ0DIAVCIIinQXVPBEAgBaciAiACKAIAQQFqNgIACyAAIAYgBCAFEGpBAEgNBCAEQgF8IQQLIApBAWohCgwBCwsgACAGQTAgBEKAgICACHxC/////w9YBH4gBEL/////D4MFQoCAgIDAfiAEub0iAUKAgICAwIGA/P8AfSABQv///////////wCDQoCAgICAgID4/wBWGwsQRUEASA0BDAILIABB0NoAQQAQFQsgACAGEA9CgICAgOAAIQYLIAAgCBAPIAlBEGokACAGC7ECAgR+An8jAEEQayIIJABCgICAgOAAIQUCQAJ+AkAgAUKAgICAcFQNACABpy0ABUEQcUUNACAIIAKtNwMIIAAgAUEBIAhBCGoQpwEMAQsgABA+CyIEQoCAgIBwg0KAgICA4ABRDQAgAkEAIAJBAEobrSEHQgAhAQJAA0AgASAHUgRAIAMgAadBA3RqKQMAIgZCIIinQXVPBEAgBqciCSAJKAIAQQFqNgIACyAAIAQgASAGQYCAARDSASEJIAFCAXwhASAJQQBODQEMAgsLIAAgBEEwIAJBAE4EfiACrQVCgICAgMB+IAK4vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbCxBFQQBIDQAgBCEFDAELIAAgBBAPCyAIQRBqJAAgBQu6CQICfwh+IwBBMGsiBCQAIAMpAwAhBiAEQoCAgIAwNwMYQQEhBQJAAkACfiACQQJIBEBCgICAgDAhDEKAgICAMAwBC0KAgICAMCADKQMIIgxCgICAgHCDQoCAgIAwUQ0AGkKAgICAMCEKQoCAgIAwIQlCgICAgDAhCEKAgICAMCELIAAgDBBgDQFBACEFQoCAgIAwIAJBA0kNABogAykDEAshDQJAAkACQAJAIAAgBkHRASAGQQAQFCIHQoCAgIBwgyIIQoCAgIAwUgRAAkACQCAIQoCAgIDgAFEEQEKAgICAMCEKQoCAgIAwIQlCgICAgDAhCAwBCyAAIAcQDwJ+AkAgAUKAgICAcFQNACABpy0ABUEQcUUNACAAIAFBAEEAEKcBDAELIAAQPgsiCEKAgICAcINCgICAgOAAUQRAQoCAgIAwIQpCgICAgDAhCQwBCyAGQiCIp0F1TwRAIAanIgIgAigCAEEBajYCAAsgBCAGNwMQIAAgBEEQakEIckEAEJkDIQIgBCkDGCEKIAQpAxAhCSACRQ0BC0KAgICAMCELDAYLQgAhBwNAIAAgCSAKIARBCGoQrgEiBkKAgICAcINCgICAgOAAUQ0CIAQoAggEQEKAgICAMCELDAYLAkAgBQRAIAYhAQwBCyAEIAY3AyAgBCAHQv////8PgzcDKCAAIAwgDUECIARBIGoQISEBIAAgBhAPIAFCgICAgHCDQoCAgIDgAFENAwsgACAIIAcgARBqQQBIDQIgB0IBfCEHDAALAAsgACAGECUiC0KAgICAcINCgICAgOAAUQ0CIAAgBEEIaiALEDxBAEgNAiAEAn4gBCkDCCIGQoCAgIAIfEL/////D1gEQCAGQv////8PgwwBC0KAgICAwH4gBrm9IgdCgICAgMCBgPz/AH0gB0L///////////8Ag0KAgICAgICA+P8AVhsLIgc3AyACfgJAIAFCgICAgHBUDQAgAactAAVBEHFFDQAgACABQQEgBEEgahCnAQwBCyAAQoCAgIAwQQEgBEEgahCuAwshCCAAIAcQDyAIQoCAgIBwg0KAgICA4ABRBEBCgICAgDAhCgwCC0IAIQcgBkIAIAZCAFUbIQkDQCAHIAlRBEBCgICAgDAhCkKAgICAMCEJDAULQoCAgIAwIQogACALIAcQcyIGQoCAgIBwg0KAgICA4ABRDQICQCAFBEAgBiEBDAELIAQgBjcDICAEIAdC/////w+DNwMoIAAgDCANQQIgBEEgahAhIQEgACAGEA8gAUKAgICAcINCgICAgOAAUQ0DCyAAIAggByABEGpBAEgNAiAHQgF8IQcMAAsAC0KAgICAMCELIAlCgICAgHCDQoCAgIAwUQ0DIAAgCUEBEK0BGgwDC0KAgICAMCEJDAILQoCAgIAwIQpCgICAgDAhCUKAgICAMCEIDAELIAAgCEEwIAenIgJBAE4EfiAHQv////8PgwVCgICAgMB+IAK4vSIBQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbCxBFQQBODQELIAAgCBAPQoCAgIDgACEICyAAIAsQDyAAIAkQDyAAIAoQDyAEQTBqJAAgCAsmAEKAgICA4AAgACADKQMAEMoBIgBBAEetQoCAgIAQhCAAQQBIGwuAAQAjAEEQayIAJAAgABCjBAJ+IAA0AgggACkDAELAhD1+fCIBQoCAgIAIfEL/////D1gEQCABQv////8PgwwBC0KAgICAwH4gAbm9IgFCgICAgMCBgPz/AH0gAUL///////////8Ag0KAgICAgICA+P8AVhsLIQEgAEEQaiQAIAELxwIBBX8jAEEgayIEJAAgACADKQMAECgiAUKAgICAcINCgICAgOAAUgRAIAAgBEEIakEAED0aIAGnIgVBEGohBiAFKAIEQf////8HcSEHQQAhAwNAIAMgB05FBEACQAJ/IAUpAgRCgICAgAiDUCIIRQRAIAYgA0EBdGovAQAMAQsgAyAGai0AAAsiAkElRw0AAkAgA0EGaiAHSg0AIANBAWohAgJ/IAhFBEAgBiACQQF0ai8BAAwBCyACIAZqLQAAC0H1AEcNACAFIANBAmpBBBC4BCICQQBIDQAgA0EFaiEDDAELQSUhAiADQQNqIAdKDQAgBSADQQFqQQIQuAQiAkElIAJBAE4iCBshAiADQQJqIAMgCBshAwsgBEEIaiACEIsBGiADQQFqIQMMAQsLIAAgARAPIARBCGoQNiEBCyAEQSBqJAAgAQvkAQEEfyMAQSBrIgIkACAAIAMpAwAQKCIBQoCAgIBwg0KAgICA4ABSBEAgACACQQhqIAGnIgUoAgRB/////wdxED0aIAVBEGohBiAFKAIEQf////8HcSEHQQAhAwNAIAMgB0ZFBEACQAJAAkAgBS0AB0GAAXFFBEAgAyAGai0AACEEDAELIAYgA0EBdGovAQAiBEH/AUsNAQtBkOEBIARBxQAQ+wFFDQAgAkEIaiAEEIsBGgwBCyACQQhqIAQQmgILIANBAWohAwwBCwsgACABEA8gAkEIahA2IQELIAJBIGokACABC84EAgZ/AX4jAEEgayIGJAACQCAAIAMpAwAQKCIBQoCAgIBwg0KAgICA4ABRDQAgACAGQQhqIAGnIgkoAgRB/////wdxED0aIAlBEGohCEEAIQICQANAIAkpAgQiC6dB/////wdxIgogAkoEQCACQQFqIQUCQAJAIAtCgICAgAiDIgtQBEAgAiAIai0AACEDDAELIAggAkEBdGovAQAiA0H/AUsNAQsCQCADQTBrQQpJIANB3/8DcUHBAGtBGklyDQBBpZQBIANBCRD7AQ0AIAQNASADELIGRQ0BCyAGQQhqIAMQiwEaIAUhAgwCCwJ/An8CQCADQYD4A3EiB0GAsANHBEAgB0GAuANHDQFBv8MAIQcMBgtB5MAAIQcgBSAKTg0FAn8gC1BFBEAgCCAFQQF0ai8BAAwBCyAFIAhqLQAACyIFQYDAA2tBgHhJDQUgBkEIaiAFQf8HcSADQQp0QYD4P3FyQYCABGoiA0ESdkHwAXIQmgIgA0EMdkE/cUGAAXIhByACQQJqDAELIANB/wBNBEAgBkEIaiADEJoCIAUhAgwECyADQf8PTQRAIAUhAiADQQZ2QcABcgwCCyADQQx2QeABciEHIAULIQIgBkEIaiAHEJoCIANBBnZBP3FBgAFyCyEHIAZBCGoiBSAHEJoCIAUgA0E/cUGAAXIQmgIMAQsLIAAgARAPIAZBCGoQNiEBDAELIAAgBxC5BCAAIAEQDyAGKAIIKAIQIgBBEGogBigCDCAAKAIEEQAAQoCAgIDgACEBCyAGQSBqJAAgAQuVBAIGfwF+IwBBIGsiBSQAAkAgACADKQMAECgiAUKAgICAcINCgICAgOAAUQ0AIAAgBUEIakEAED0aIAGnIghBEGohCUEAIQIDQAJAAkACQCAIKQIEIgunQf////8HcSACSgRAAn8gC0KAgICACINQRQRAIAkgAkEBdGovAQAMAQsgAiAJai0AAAsiA0ElRgRAIAAgCCACELMGIgNBAEgNAyACQQNqIQYgA0H/AE0EQCAEBEAgBiECDAYLQSUgAyADELIGIgcbIQMgAkEBaiAGIAcbIQIMBQsCfyADQWBxQcABRgRAIANBH3EhA0GAASEHQQEMAQsgA0FwcUHgAUYEQCADQQ9xIQNBgBAhB0ECDAELIANBeHFB8AFHBEBBASEHQQAhA0EADAELIANBB3EhA0GAgAQhB0EDCyECA0AgAkEATA0DIAAgCCAGELMGIgpBAEgNBCAGQQNqIQYgCkHAAXFBgAFHBEBBACEDDAQFIAJBAWshAiAKQT9xIANBBnRyIQMMAQsACwALIAJBAWohAgwDCyAAIAEQDyAFQQhqEDYhAQwECyAGIQIgAyAHSCADQf//wwBKckUgA0GAcHFBgLADR3ENASAAQcmJARC5BAsgACABEA8gBSgCCCgCECIAQRBqIAUoAgwgACgCBBEAAEKAgICA4AAhAQwCCyAFQQhqIAMQuQEaDAALAAsgBUEgaiQAIAELNwAgACADKQMAELMBIgJFBEBCgICAgOAADwsgACACEIECIAJqQQBBCkEAELgCIQEgACACEFQgAQuHAQEBfyMAQRBrIgIkAAJAIAAgAykDABCzASIERQRAQoCAgIDgACEBDAELAn5CgICAgOAAIAAgAkEMaiADKQMIEHcNABogAigCDCIDBEBCgICAgMB+IANBJWtBXUkNARoLIAAgBBCBAiAEakEAIANBgQgQuAILIQEgACAEEFQLIAJBEGokACABCwkAIAAgARDdAgujAQIBfgF/IwBBEGsiAiQAAn4gACABEN0CIgVCgICAgHCDQoCAgIDgAFEEQCAFDAELQQohBgJAAkAgBA0AIAMpAwAiAUKAgICAcINCgICAgDBRDQAgACABEI4FIgZBAEgNAQtCgICAgOAAIAAgAkEIaiAFEG4NARogACACKwMIIAZBAEEAEI8CDAELIAAgBRAPQoCAgIDgAAshASACQRBqJAAgAQuMAgIBfgF8IwBBEGsiAiQAQoCAgIDgACEEAkAgACABEN0CIgFCgICAgHCDQoCAgIDgAFEEQCABIQQMAQsgACACIAEQbg0AAkACQCADKQMAIgFCgICAgHCDQoCAgIAwUQRAIAIpAwAhAQwBCyAAIAJBDGogARC6AQ0CIAIrAwAiBb0iAUKAgICAgICA+P8Ag0KAgICAgICA+P8AUg0BCyAAQoCAgIDAfiABQoCAgIDAgYD8/wB9IAFC////////////AINCgICAgICAgPj/AFYbEDchBAwBCyACKAIMIgNB5QBrQZt/TQRAIABBijRBABBQDAELIAAgBUEKIANBARCPAiEECyACQRBqJAAgBAvYAQIBfgF8IwBBEGsiAiQAQoCAgIDgACEEAkAgACABEN0CIgFCgICAgHCDQoCAgIDgAFEEQCABIQQMAQsgACACIAEQbg0AIAAgAkEMaiADKQMAELoBDQAgAigCDCIDQeUATwRAIABBijRB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LUiv7z8IIKpBvMOOPCdaYe4buu8/Muupw5QrhDyXums3K8XvP+6F0TGpZIo8QEVuW3bQ7z/t4zvkujeOvBS+nK392+8/nc2RTTuJdzzYkJ6BwefvP4nMYEHBBVM88XGPK8Lz7z8AAAAAAADwPwAAAAAAAPg/AAAAAAAAAAAG0M9D6/1MPgBBmxkL54UBQAO44j8oKXt9ACgpe3N1cGVyKC4uLmFyZ3VtZW50cyk7fQAoKSB7CiAgICBbbmF0aXZlIGNvZGVdCn0AY2Fubm90IG1peCA/PyB3aXRoICYmIG9yIHx8AGN0egBwcm94eTogcHJvcGVydHkgbm90IHByZXNlbnQgaW4gdGFyZ2V0IHdlcmUgcmV0dXJuZWQgYnkgbm9uIGV4dGVuc2libGUgcHJveHkAcmV2b2tlZCBwcm94eQBQcm94eQBhZGRfcHJvcGVydHkAcHJveHk6IGNhbm5vdCBzZXQgcHJvcGVydHkAbm8gc2V0dGVyIGZvciBwcm9wZXJ0eQB2YWx1ZSBoYXMgbm8gcHJvcGVydHkAY291bGQgbm90IGRlbGV0ZSBwcm9wZXJ0eQBwcm94eTogZHVwbGljYXRlIHByb3BlcnR5AEpTX0RlZmluZUF1dG9Jbml0UHJvcGVydHkAaGFzT3duUHJvcGVydHkAcHJveHk6IGluY29uc2lzdGVudCBkZWxldGVQcm9wZXJ0eQBwcm94eTogaW5jb25zaXN0ZW50IGRlZmluZVByb3BlcnR5AEpTX0RlZmluZVByb3BlcnR5ACFtci0+ZW1wdHkAaW5maW5pdHkASW5maW5pdHkAb3V0IG9mIG1lbW9yeQB1bmtub3duIHVuaWNvZGUgZ2VuZXJhbCBjYXRlZ29yeQBHZW5lcmFsX0NhdGVnb3J5AGV2ZXJ5AGFueQBhcHBseQAnJXMnIGlzIHJlYWQtb25seQBleHBlY3RpbmcgY2F0Y2ggb3IgZmluYWxseQBzdGlja3kAYmlnaW50IGFyZSBmb3JiaWRkZW4gaW4gSlNPTi5zdHJpbmdpZnkAc3ViYXJyYXkAZW1wdHkgYXJyYXkAbm9uIGludGVnZXIgaW5kZXggaW4gdHlwZWQgYXJyYXkAbmVnYXRpdmUgaW5kZXggaW4gdHlwZWQgYXJyYXkAb3V0LW9mLWJvdW5kIGluZGV4IGluIHR5cGVkIGFycmF5AGNhbm5vdCBjcmVhdGUgbnVtZXJpYyBpbmRleCBpbiB0eXBlZCBhcnJheQBpc0FycmF5AFR5cGVkQXJyYXkAZ2V0RGF5AGdldFVUQ0RheQBqc19nZXRfYXRvbV9pbmRleABpbnZhbGlkIGFycmF5IGluZGV4AG91dC1vZi1ib3VuZCBudW1lcmljIGluZGV4AEpTX0F0b21Jc0FycmF5SW5kZXgAZmluZEluZGV4AGludmFsaWQgZXhwb3J0IHN5bnRheABpbnZhbGlkIGFzc2lnbm1lbnQgc3ludGF4AG1heABcdSUwNHgAaW52YWxpZCBvcGNvZGU6IHBjPSV1IG9wY29kZT0weCUwMngALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABsaW5lIHRlcm1pbmF0b3Igbm90IGFsbG93ZWQgYWZ0ZXIgdGhyb3cAYmZfcG93AG5vdwBpbnRlZ2VyIG92ZXJmbG93AHN0YWNrIG92ZXJmbG93AG11c3QgYmUgY2FsbGVkIHdpdGggbmV3AGlzVmlldwBEYXRhVmlldwByYXcAdGRpdgBmZGl2AGVkaXYAY2RpdgAldQBjbGFzcyBkZWNsYXJhdGlvbnMgY2FuJ3QgYXBwZWFyIGluIHNpbmdsZS1zdGF0ZW1lbnQgY29udGV4dABmdW5jdGlvbiBkZWNsYXJhdGlvbnMgY2FuJ3QgYXBwZWFyIGluIHNpbmdsZS1zdGF0ZW1lbnQgY29udGV4dABsZXhpY2FsIGRlY2xhcmF0aW9ucyBjYW4ndCBhcHBlYXIgaW4gc2luZ2xlLXN0YXRlbWVudCBjb250ZXh0AGR1cGxpY2F0ZSBhcmd1bWVudCBuYW1lcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQAZHVwbGljYXRlIHBhcmFtZXRlciBuYW1lcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQAaW1wb3J0Lm1ldGEgbm90IHN1cHBvcnRlZCBpbiB0aGlzIGNvbnRleHQASlNfRnJlZUNvbnRleHQASlNDb250ZXh0AGpzX21hcF9pdGVyYXRvcl9uZXh0AGpzX2FzeW5jX2dlbmVyYXRvcl9yZXN1bWVfbmV4dAB1bmV4cGVjdGVkIGVuZCBvZiBpbnB1dAB0dABleHBvcnRlZCB2YXJpYWJsZSAnJXMnIGRvZXMgbm90IGV4aXN0AHByaXZhdGUgY2xhc3MgZmllbGQgJyVzJyBkb2VzIG5vdCBleGlzdAB0ZXN0AGFzc2lnbm1lbnQgcmVzdCBwcm9wZXJ0eSBtdXN0IGJlIGxhc3QAYmZfc3FydABzb3J0AGNicnQAdHJpbVN0YXJ0AHBhZFN0YXJ0AHVua25vd24gdW5pY29kZSBzY3JpcHQAU2NyaXB0AGh5cG90AGZyZWVfemVyb19yZWZjb3VudABmYXN0X2FycmF5X2NvdW50AGJpbmFyeV9vYmplY3RfY291bnQAc3RyX2luZGV4ID09IG51bV9rZXlzX2NvdW50ICsgc3RyX2tleXNfY291bnQAbnVtX2luZGV4ID09IG51bV9rZXlzX2NvdW50AHN0cl9jb3VudABwcm9wX2NvdW50AHN5bV9pbmRleCA9PSBhdG9tX2NvdW50AGxhYmVsID49IDAgJiYgbGFiZWwgPCBzLT5sYWJlbF9jb3VudABsYWIxID49IDAgJiYgbGFiMSA8IHMtPmxhYmVsX2NvdW50AG9ial9jb3VudAB2YWwgPCBzLT5jYXB0dXJlX2NvdW50AHZhbDIgPCBzLT5jYXB0dXJlX2NvdW50AHNoYXBlX2NvdW50AGpzX2Z1bmNfcGMybGluZV9jb3VudABtZW1vcnlfdXNlZF9jb3VudABtYWxsb2NfY291bnQAanNfZnVuY19jb3VudABjX2Z1bmNfY291bnQAaW52YWxpZCByZXBlYXQgY291bnQAaW52YWxpZCByZXBldGl0aW9uIGNvdW50AGZvbnQAaW52YWxpZCBjb2RlIHBvaW50AGZyb21Db2RlUG9pbnQAaW52YWxpZCBoaW50AGNhbm5vdCBjb252ZXJ0IE5hTiBvciBJbmZpbml0eSB0byBiaWdpbnQAY2Fubm90IGNvbnZlcnQgdG8gYmlnaW50AGJvdGggb3BlcmFuZHMgbXVzdCBiZSBiaWdpbnQAbm90IGEgYmlnaW50AGVuY29kZVVSSUNvbXBvbmVudABkZWNvZGVVUklDb21wb25lbnQAdW5leHBlY3RlZCBlbmQgb2YgY29tbWVudABpbnZhbGlkIHN3aXRjaCBzdGF0ZW1lbnQAQmlnSW50AHBhcnNlSW50AGR1cGxpY2F0ZSBkZWZhdWx0AG1hbGxvY19saW1pdABzcGxpdABleHBlY3RpbmcgaGV4IGRpZ2l0AHRyaW1SaWdodAByZWR1Y2VSaWdodAB1bnNoaWZ0AHRyaW1MZWZ0AGludmFsaWQgb2Zmc2V0AGludmFsaWQgYnl0ZU9mZnNldABnZXRUaW1lem9uZU9mZnNldAByZXNvbHZpbmcgZnVuY3Rpb24gYWxyZWFkeSBzZXQAcHJveHk6IGluY29uc2lzdGVudCBzZXQAZmluZF9qdW1wX3RhcmdldABleHBlY3RpbmcgdGFyZ2V0AGludmFsaWQgZGVzdHJ1Y3R1cmluZyB0YXJnZXQAcHJveHk6IGluY29uc2lzdGVudCBnZXQAV2Vha1NldABjb25zdHJ1Y3QASlNfRnJlZUF0b21TdHJ1Y3QAdXNlIHN0cmljdABSZWZsZWN0AHJlamVjdABub3QgYW4gQXN5bmNHZW5lcmF0b3Igb2JqZWN0AGNhbm5vdCBjb252ZXJ0IHRvIG9iamVjdABpbnZhbGlkIGJyYW5kIG9uIG9iamVjdABvcGVyYW5kICdwcm90b3R5cGUnIHByb3BlcnR5IGlzIG5vdCBhbiBvYmplY3QAcmVjZWl2ZXIgaXMgbm90IGFuIG9iamVjdABpdGVyYXRvciBtdXN0IHJldHVybiBhbiBvYmplY3QAbm90IGEgRGF0ZSBvYmplY3QAbm90IGEgb2JqZWN0AEpTT2JqZWN0AGJpZ2Zsb2F0AHBhcnNlRmxvYXQAZmxhdABub3RoaW5nIHRvIHJlcGVhdABjb25jYXQAY29kZVBvaW50QXQAY2hhckF0AGNoYXJDb2RlQXQAa2V5cwBwcm94eTogdGFyZ2V0IHByb3BlcnR5IG11c3QgYmUgcHJlc2VudCBpbiBwcm94eSBvd25LZXlzACAgZmFzdCBhcnJheXMAZXhwb3J0ICclcycgaW4gbW9kdWxlICclcycgaXMgYW1iaWd1b3VzAHByaXZhdGUgY2xhc3MgZmllbGQgJyVzJyBhbHJlYWR5IGV4aXN0cwB0b28gbWFueSBhcmd1bWVudHMAVG9vIG1hbnkgY2FsbCBhcmd1bWVudHMAZmFzdF9hcnJheV9lbGVtZW50cwAgIGVsZW1lbnRzAGludmFsaWQgbnVtYmVyIG9mIGRpZ2l0cwBiaW5hcnkgb2JqZWN0cwBpbnZhbGlkIHByb3BlcnR5IGFjY2VzcwBqc19vcF9kZWZpbmVfY2xhc3MAZmQtPmJ5dGVfY29kZS5idWZbZGVmaW5lX2NsYXNzX3Bvc10gPT0gT1BfZGVmaW5lX2NsYXNzAF9fZ2V0Q2xhc3MAc2V0SG91cnMAZ2V0SG91cnMAc2V0VVRDSG91cnMAZ2V0VVRDSG91cnMAZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycwB0b28gbWFueSBpbWJyaWNhdGVkIHF1YW50aWZpZXJzAHVuaWNvZGVfcHJvcF9vcHMAYWNvcwBmb3IgYXdhaXQgaXMgb25seSB2YWxpZCBpbiBhc3luY2hyb25vdXMgZnVuY3Rpb25zAG5ldy50YXJnZXQgb25seSBhbGxvd2VkIHdpdGhpbiBmdW5jdGlvbnMAYnl0ZWNvZGUgZnVuY3Rpb25zAEMgZnVuY3Rpb25zAHByb3h5OiBpbmNvbnNpc3RlbnQgcHJldmVudEV4dGVuc2lvbnMAU2NyaXB0X0V4dGVuc2lvbnMAYXRvbXMAcHJveHk6IHByb3BlcnRpZXMgbXVzdCBiZSBzdHJpbmdzIG9yIHN5bWJvbHMAZ2V0T3duUHJvcGVydHlTeW1ib2xzAHJlc29sdmVfbGFiZWxzAEpTX0V2YWxUaGlzAHN0cmluZ3MAaW52YWxpZCBkZXNjcmlwdG9yIGZsYWdzAGludmFsaWQgcmVndWxhciBleHByZXNzaW9uIGZsYWdzAHZhbHVlcwBzZXRNaW51dGVzAGdldE1pbnV0ZXMAc2V0VVRDTWludXRlcwBnZXRVVENNaW51dGVzAHRvbyBtYW55IGNhcHR1cmVzACAgc2hhcGVzAGdldE93blByb3BlcnR5TmFtZXMAZ2NfZnJlZV9jeWNsZXMAYWRkX2V2YWxfdmFyaWFibGVzAHJlc29sdmVfdmFyaWFibGVzAHRvbyBtYW55IGxvY2FsIHZhcmlhYmxlcwB0b28gbWFueSBjbG9zdXJlIHZhcmlhYmxlcwBjb21wYWN0X3Byb3BlcnRpZXMAICBwcm9wZXJ0aWVzAGRlZmluZVByb3BlcnRpZXMAZW50cmllcwBmcm9tRW50cmllcwB0b28gbWFueSByYW5nZXMAaW5jbHVkZXMAc2V0TWlsbGlzZWNvbmRzAGdldE1pbGxpc2Vjb25kcwBzZXRVVENNaWxsaXNlY29uZHMAZ2V0VVRDTWlsbGlzZWNvbmRzAHNldFNlY29uZHMAZ2V0U2Vjb25kcwBzZXRVVENTZWNvbmRzAGdldFVUQ1NlY29uZHMAaXRhbGljcwBhYnMAcHJveHk6IGluY29uc2lzdGVudCBoYXMAJS4qcwAgKCVzAHNldCAlcwBnZXQgJXMAICAgIGF0ICVzAG5vIG92ZXJsb2FkZWQgb3BlcmF0b3IgJXMAbm90IGEgJXMAdW5zdXBwb3J0ZWQga2V5d29yZDogJXMAc3Vic3RyAHByb3h5OiBpbmNvbnNpc3RlbnQgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yAHN1cGVyKCkgaXMgb25seSB2YWxpZCBpbiBhIGRlcml2ZWQgY2xhc3MgY29uc3RydWN0b3IAcGFyZW50IGNsYXNzIG11c3QgYmUgY29uc3RydWN0b3IAbm90IGEgY29uc3RydWN0b3IAQXJyYXkgSXRlcmF0b3IAU2V0IEl0ZXJhdG9yAE1hcCBJdGVyYXRvcgBSZWdFeHAgU3RyaW5nIEl0ZXJhdG9yAG5vdCBhbiBBc3luYy1mcm9tLVN5bmMgSXRlcmF0b3IAY2Fubm90IGludm9rZSBhIHJ1bm5pbmcgZ2VuZXJhdG9yAG5vdCBhIGdlbmVyYXRvcgBBc3luY0dlbmVyYXRvcgBzeW50YXggZXJyb3IAU3ludGF4RXJyb3IARXZhbEVycm9yAEludGVybmFsRXJyb3IAQWdncmVnYXRlRXJyb3IAVHlwZUVycm9yAFJhbmdlRXJyb3IAUmVmZXJlbmNlRXJyb3IAVVJJRXJyb3IAZmxvb3IAZm9udGNvbG9yAGFuY2hvcgBmb3IAa2V5Rm9yAGV4cGVjdGluZyBzdXJyb2dhdGUgcGFpcgBhIGRlY2xhcmF0aW9uIGluIHRoZSBoZWFkIG9mIGEgZm9yLSVzIGxvb3AgY2FuJ3QgaGF2ZSBhbiBpbml0aWFsaXplcgAnYXJndW1lbnRzJyBpZGVudGlmaWVyIGlzIG5vdCBhbGxvd2VkIGluIGNsYXNzIGZpZWxkIGluaXRpYWxpemVyAGludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50cyBmb3IgZ2V0dGVyIG9yIHNldHRlcgBpbnZhbGlkIHNldHRlcgBpbnZhbGlkIGdldHRlcgBmaWx0ZXIAbWlzc2luZyBmb3JtYWwgcGFyYW1ldGVyACJ1c2Ugc3RyaWN0IiBub3QgYWxsb3dlZCBpbiBmdW5jdGlvbiB3aXRoIGRlZmF1bHQgb3IgZGVzdHJ1Y3R1cmluZyBwYXJhbWV0ZXIAaW52YWxpZCBjaGFyYWN0ZXIAdW5leHBlY3RlZCBjaGFyYWN0ZXIAcHJpdmF0ZSBjbGFzcyBmaWVsZCBmb3JiaWRkZW4gYWZ0ZXIgc3VwZXIAaW52YWxpZCByZWRlZmluaXRpb24gb2YgbGV4aWNhbCBpZGVudGlmaWVyACdsZXQnIGlzIG5vdCBhIHZhbGlkIGxleGljYWwgaWRlbnRpZmllcgBpbnZhbGlkIHJlZGVmaW5pdGlvbiBvZiBnbG9iYWwgaWRlbnRpZmllcgB5aWVsZCBpcyBhIHJlc2VydmVkIGlkZW50aWZpZXIAJyVzJyBpcyBhIHJlc2VydmVkIGlkZW50aWZpZXIAb3RoZXIAYXRvbTFfaXNfaW50ZWdlciAmJiBhdG9tMl9pc19pbnRlZ2VyAGNhbm5vdCBjb252ZXJ0IHRvIGJpZ2ludDogbm90IGFuIGludGVnZXIAaXNJbnRlZ2VyAGlzU2FmZUludGVnZXIAYnVmZmVyAFNoYXJlZEFycmF5QnVmZmVyAGNhbm5vdCB1c2UgaWRlbnRpY2FsIEFycmF5QnVmZmVyAGNhbm5vdCBjb252ZXJ0IGJpZ2ludCB0byBudW1iZXIAY2Fubm90IGNvbnZlcnQgYmlnZmxvYXQgdG8gbnVtYmVyAGNhbm5vdCBjb252ZXJ0IHN5bWJvbCB0byBudW1iZXIAY2Fubm90IGNvbnZlcnQgYmlnZGVjaW1hbCB0byBudW1iZXIAbm90IGEgbnVtYmVyAGxpbmVOdW1iZXIAbWFsZm9ybWVkIHVuaWNvZGUgY2hhcgBjbGVhcgBzZXRZZWFyAGdldFllYXIAc2V0RnVsbFllYXIAZ2V0RnVsbFllYXIAc2V0VVRDRnVsbFllYXIAZ2V0VVRDRnVsbFllYXIAcSAhPSByAHVuZXhwZWN0ZWQgbGluZSB0ZXJtaW5hdG9yIGluIHJlZ2V4cAB1bmV4cGVjdGVkIGVuZCBvZiByZWdleHAAUmVnRXhwAHN1cABpbnZhbGlkIGdyb3VwAHBvcABjb250aW51ZSBtdXN0IGJlIGluc2lkZSBsb29wAGJmX2xvZ2ljX29wAG51bV9rZXlzX2NtcAB1c2Ugc3RyaXAAbWFwAGZsYXRNYXAAV2Vha01hcABleHBlY3RpbmcgJ3snIGFmdGVyIFxwAGxvZzFwAGRpdmlzaW9uIGJ5IHplcm8AdW5rbm93bgBpdGVyYXRvcl9jbG9zZV9yZXR1cm4AcHJvbWlzZSBzZWxmIHJlc29sdXRpb24Ab3V0IG9mIG1lbW9yeSBpbiByZWdleHAgZXhlY3V0aW9uAGRlc2NyaXB0aW9uAHByb3h5OiBkZWZpbmVQcm9wZXJ0eSBleGNlcHRpb24AanNfYXN5bmNfZ2VuZXJhdG9yX3Jlc29sdmVfZnVuY3Rpb24AanNfY3JlYXRlX2Z1bmN0aW9uAHNldC9hZGQgaXMgbm90IGEgZnVuY3Rpb24AcmV0dXJuIG5vdCBpbiBhIGZ1bmN0aW9uAEFzeW5jR2VuZXJhdG9yRnVuY3Rpb24AQXN5bmNGdW5jdGlvbgBpbnZhbGlkIG9wZXJhdGlvbgB1bnN1cHBvcnRlZCBvcGVyYXRpb24AYXdhaXQgaW4gZGVmYXVsdCBleHByZXNzaW9uAHlpZWxkIGluIGRlZmF1bHQgZXhwcmVzc2lvbgBpbnZhbGlkIGRlY2ltYWwgZXNjYXBlIGluIHJlZ3VsYXIgZXhwcmVzc2lvbgBiYWNrIHJlZmVyZW5jZSBvdXQgb2YgcmFuZ2UgaW4gcmVndWxhciBleHByZXNzaW9uAGludmFsaWQgZXNjYXBlIHNlcXVlbmNlIGluIHJlZ3VsYXIgZXhwcmVzc2lvbgBleHBlY3RlZCAnb2YnIG9yICdpbicgaW4gZm9yIGNvbnRyb2wgZXhwcmVzc2lvbgB0b28gY29tcGxpY2F0ZWQgZGVzdHJ1Y3R1cmluZyBleHByZXNzaW9uAGV4cGVjdGVkICd9JyBhZnRlciB0ZW1wbGF0ZSBleHByZXNzaW9uAHRvUHJlY2lzaW9uAGFzaW4Aam9pbgBtaW4AY29weVdpdGhpbgB0ZW1wbGF0ZSBsaXRlcmFsIGNhbm5vdCBhcHBlYXIgaW4gYW4gb3B0aW9uYWwgY2hhaW4AY2lyY3VsYXIgcHJvdG90eXBlIGNoYWluAGFzc2lnbgAheS0+c2lnbgBpc0Zyb3plbgBtYXJrX2NoaWxkcmVuAChwb3MgKyBsZW4pIDw9IGJjX2J1Zl9sZW4AdW5leHBlY3RlZCBlbGxpcHNpcyB0b2tlbgB0aGVuAHNldHRlciBpcyBmb3JiaWRkZW4AbnVsbCBvciB1bmRlZmluZWQgYXJlIGZvcmJpZGRlbgBhdGFuAG5hbgBub3QgYSBib29sZWFuAEJvb2xlYW4AZ2Nfc2NhbgBiYWQgbm9ybWFsaXphdGlvbiBmb3JtAEpTX05ld1N5bWJvbEZyb21BdG9tAGZyb20AcmFuZG9tAHRyaW0AdGRpdnJlbQBmZGl2cmVtAGVkaXZyZW0AY2RpdnJlbQBiZl9kaXZyZW0Ac3FydHJlbQBpbXVsAG5vdCBhIHN5bWJvbABTeW1ib2wAUmVnRXhwIGV4ZWMgbWV0aG9kIG11c3QgcmV0dXJuIGFuIG9iamVjdCBvciBudWxsAHBhcmVudCBwcm90b3R5cGUgbXVzdCBiZSBhbiBvYmplY3Qgb3IgbnVsbABjYW5ub3Qgc2V0IHByb3BlcnR5ICclcycgb2YgbnVsbABjYW5ub3QgcmVhZCBwcm9wZXJ0eSAnJXMnIG9mIG51bGwATnVsbABmaWxsAG5ldyBBcnJheUJ1ZmZlciBpcyB0b28gc21hbGwAVHlwZWRBcnJheSBsZW5ndGggaXMgdG9vIHNtYWxsAGNhbGwAZG90QWxsAG1hdGNoQWxsAHJlcGxhY2VBbGwAY2VpbAB1cGRhdGVfbGFiZWwAYmNfYnVmW3Bvc10gPT0gT1BfbGFiZWwAZXZhbABpbnZhbGlkIGJpZ2ludCBsaXRlcmFsAGludmFsaWQgbnVtYmVyIGxpdGVyYWwAbWFsZm9ybWVkIGVzY2FwZSBzZXF1ZW5jZSBpbiBzdHJpbmcgbGl0ZXJhbABiZl9leHBfaW50ZXJuYWwAYmZfbG9nX2ludGVybmFsAEpTX1NldFByb3BlcnR5SW50ZXJuYWwASlNfR2V0T3duUHJvcGVydHlOYW1lc0ludGVybmFsAF9fSlNfRXZhbEludGVybmFsAGJpZ2RlY2ltYWwAbnR0X2ZmdF9wYXJ0aWFsAHRvRXhwb25lbnRpYWwAc2VhbABnbG9iYWwAYmxpbmsAX19kYXRlX2Nsb2NrAHN0YWNrAGxyZV9leGVjX2JhY2t0cmFjawBzLT5pc193ZWFrAGJmX3Bvd191aQBzZXRNb250aABnZXRNb250aABzZXRVVENNb250aABnZXRVVENNb250aABpbnZhbGlkIGtleXdvcmQ6IHdpdGgAc3RhcnRzV2l0aABlbmRzV2l0aABwcm9wID09IEpTX0FUT01fbGVuZ3RoAGludmFsaWQgYXJyYXkgbGVuZ3RoAGludmFsaWQgYXJyYXkgYnVmZmVyIGxlbmd0aABpbnZhbGlkIGxlbmd0aABpbnZhbGlkIGJ5dGVMZW5ndGgAdXNlIG1hdGgATWF0aABwdXNoAGFjb3NoAEpTX1Jlc2l6ZUF0b21IYXNoAGFzaW5oAGF0YW5oAGJyZWFrIG11c3QgYmUgaW5zaWRlIGxvb3Agb3Igc3dpdGNoAG1hdGNoAGNhdGNoAHNlYXJjaABmb3JFYWNoAGJmX2xvZwBBcnJheSB0b28gbG9uZwBzdHJpbmcgdG9vIGxvbmcAQXJyYXkgbG9vIGxvbmcAc3Vic3RyaW5nAGNhbm5vdCBjb252ZXJ0IHN5bWJvbCB0byBzdHJpbmcAdW5leHBlY3RlZCBlbmQgb2Ygc3RyaW5nAG5vdCBhIHN0cmluZwBpbnZhbGlkIGNoYXJhY3RlciBpbiBhIEpTT04gc3RyaW5nAHRvU3RyaW5nAHRvRGF0ZVN0cmluZwB0b0xvY2FsZURhdGVTdHJpbmcAdG9UaW1lU3RyaW5nAHRvTG9jYWxlVGltZVN0cmluZwB0b0xvY2FsZVN0cmluZwB0b0dNVFN0cmluZwBKU1N0cmluZwB0b0lTT1N0cmluZwB0b1VUQ1N0cmluZwBkdXBsaWNhdGUgaW1wb3J0IGJpbmRpbmcAaW52YWxpZCBpbXBvcnQgYmluZGluZwBiaWcAcmVnZXhwIG11c3QgaGF2ZSB0aGUgJ2cnIGZsYWcAb2YAaW5mAGRpZmYgPT0gKGludDhfdClkaWZmAGRpZmYgPT0gKGludDE2X3QpZGlmZgBocmVmAGdjX2RlY3JlZgBmcmVlX3Zhcl9yZWYAb3B0aW1pemVfc2NvcGVfbWFrZV9nbG9iYWxfcmVmAHJlc2V0X3dlYWtfcmVmAGRlbGV0ZV93ZWFrX3JlZgBvcHRpbWl6ZV9zY29wZV9tYWtlX3JlZgBpbmRleE9mAGxhc3RJbmRleE9mAHZhbHVlT2YAc2V0UHJvdG90eXBlT2YAZ2V0UHJvdG90eXBlT2YAaXNQcm90b3R5cGVPZgAlLipmAGZvbnRzaXplAGJpbmFyeV9vYmplY3Rfc2l6ZQBzdHJfc2l6ZQBuZXdfc2l6ZSA8PSBzaC0+cHJvcF9zaXplAGRlc2NyIDwgcnQtPmF0b21fc2l6ZQBhdG9tIDwgcnQtPmF0b21fc2l6ZQBjb21wdXRlX3N0YWNrX3NpemUAb2JqX3NpemUAbiA8IGJ1Zl9zaXplAHNoYXBlX3NpemUAanNfZnVuY19wYzJsaW5lX3NpemUAanNfZnVuY19jb2RlX3NpemUAbWVtb3J5X3VzZWRfc2l6ZQBqc19mdW5jX3NpemUAbm9ybWFsaXplAGZyZWV6ZQByZXNvbHZlAHRvUHJpbWl0aXZlAHB1dF9sdmFsdWUAdW5rbm93biB1bmljb2RlIHByb3BlcnR5IHZhbHVlAHJlc3QgZWxlbWVudCBjYW5ub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUAaW52YWxpZCByZXQgdmFsdWUAX19KU19BdG9tVG9WYWx1ZQBfX3F1b3RlAGlzRmluaXRlAGRlbGV0ZQBjcmVhdGUAc2V0RGF0ZQBnZXREYXRlAHNldFVUQ0RhdGUAZ2V0VVRDRGF0ZQBJbnZhbGlkIERhdGUAcmV2ZXJzZQBwYXJzZQBwcm94eSBwcmV2ZW50RXh0ZW5zaW9ucyBoYW5kbGVyIHJldHVybmVkIGZhbHNlAFByb21pc2UAdG9Mb3dlckNhc2UAdG9Mb2NhbGVMb3dlckNhc2UAdG9VcHBlckNhc2UAdG9Mb2NhbGVVcHBlckNhc2UAaWdub3JlQ2FzZQBsb2NhbGVDb21wYXJlAHByb3h5OiBpbmNvbnNpc3RlbnQgcHJvdG90eXBlAHByb3h5OiBiYWQgcHJvdG90eXBlAG5vdCBhIHByb3RvdHlwZQBpbnZhbGlkIG9iamVjdCB0eXBlAHVuZXNjYXBlAG5vbmUAcmVzdCBlbGVtZW50IG11c3QgYmUgdGhlIGxhc3Qgb25lAG11bHRpbGluZQAgIHBjMmxpbmUAc29tZQBKU19GcmVlUnVudGltZQBKU1J1bnRpbWUAc2V0VGltZQBnZXRUaW1lAHNldF9vYmplY3RfbmFtZQBleHBlY3RpbmcgcHJvcGVydHkgbmFtZQB1bmtub3duIHVuaWNvZGUgcHJvcGVydHkgbmFtZQBpbnZhbGlkIHByb3BlcnR5IG5hbWUAZHVwbGljYXRlIF9fcHJvdG9fXyBwcm9wZXJ0eSBuYW1lAGludmFsaWQgcmVkZWZpbml0aW9uIG9mIHBhcmFtZXRlciBuYW1lAGV4cGVjdGluZyBncm91cCBuYW1lAGR1cGxpY2F0ZSBncm91cCBuYW1lAGludmFsaWQgZ3JvdXAgbmFtZQBkdXBsaWNhdGUgbGFiZWwgbmFtZQBpbnZhbGlkIGZpcnN0IGNoYXJhY3RlciBvZiBwcml2YXRlIG5hbWUAaW52YWxpZCBsZXhpY2FsIHZhcmlhYmxlIG5hbWUAaW52YWxpZCBtZXRob2QgbmFtZQBleHBlY3RpbmcgZmllbGQgbmFtZQBpbnZhbGlkIGZpZWxkIG5hbWUAY2xhc3Mgc3RhdGVtZW50IHJlcXVpcmVzIGEgbmFtZQBmaWxlTmFtZQBjb21waWxlAG9iamVjdCBpcyBub3QgZXh0ZW5zaWJsZQBwcm94eTogaW5jb25zaXN0ZW50IGlzRXh0ZW5zaWJsZQBjYW5ub3QgaGF2ZSBzZXR0ZXIvZ2V0dGVyIGFuZCB2YWx1ZSBvciB3cml0YWJsZQBwcm9wZXJ0eSBpcyBub3QgY29uZmlndXJhYmxlAHZhbHVlIGlzIG5vdCBpdGVyYWJsZQBwcm9wZXJ0eUlzRW51bWVyYWJsZQBtaXNzaW5nIGluaXRpYWxpemVyIGZvciBjb25zdCB2YXJpYWJsZQBsZXhpY2FsIHZhcmlhYmxlAGludmFsaWQgcmVkZWZpbml0aW9uIG9mIGEgdmFyaWFibGUAcmV2b2NhYmxlAHN0cmlrZQBtcF9kaXZub3JtX2xhcmdlAGludmFsaWQgY2xhc3MgcmFuZ2UAbWVzc2FnZQBhc3luY19mdW5jX2ZyZWUAaW52YWxpZCBsdmFsdWUgaW4gc3RyaWN0IG1vZGUAaW52YWxpZCB2YXJpYWJsZSBuYW1lIGluIHN0cmljdCBtb2RlAGNhbm5vdCBkZWxldGUgYSBkaXJlY3QgcmVmZXJlbmNlIGluIHN0cmljdCBtb2RlAG9jdGFsIGVzY2FwZSBzZXF1ZW5jZXMgYXJlIG5vdCBhbGxvd2VkIGluIHN0cmljdCBtb2RlAG9jdGFsIGxpdGVyYWxzIGFyZSBkZXByZWNhdGVkIGluIHN0cmljdCBtb2RlAHVuaWNvZGUAICBieXRlY29kZQBKU0Z1bmN0aW9uQnl0ZWNvZGUAc2tpcF9kZWFkX2NvZGUAaW52YWxpZCBhcmd1bWVudCBuYW1lIGluIHN0cmljdCBjb2RlAGludmFsaWQgZnVuY3Rpb24gbmFtZSBpbiBzdHJpY3QgY29kZQBpbnZhbGlkIHJlZGVmaW5pdGlvbiBvZiBnbG9iYWwgaWRlbnRpZmllciBpbiBtb2R1bGUgY29kZQBpbXBvcnQubWV0YSBvbmx5IHZhbGlkIGluIG1vZHVsZSBjb2RlAGZyb21DaGFyQ29kZQBpbnZhbGlkIGZvciBpbi9vZiBsZWZ0IGhhbmQtc2lkZQBpbnZhbGlkIGFzc2lnbm1lbnQgbGVmdC1oYW5kIHNpZGUAcmVkdWNlAHNvdXJjZQAndGhpcycgY2FuIGJlIGluaXRpYWxpemVkIG9ubHkgb25jZQBwcm9wZXJ0eSBjb25zdHJ1Y3RvciBhcHBlYXJzIG1vcmUgdGhhbiBvbmNlAGludmFsaWQgVVRGLTggc2VxdWVuY2UAY2lyY3VsYXIgcmVmZXJlbmNlAHNsaWNlAHNwbGljZQByYWNlAHJlcGxhY2UAJSsuKmUAdW5leHBlY3RlZCAnYXdhaXQnIGtleXdvcmQAdW5leHBlY3RlZCAneWllbGQnIGtleXdvcmQAbWFwX2RlY3JlZl9yZWNvcmQAaXRlcmF0b3IgZG9lcyBub3QgaGF2ZSBhIHRocm93IG1ldGhvZABvYmplY3QgbmVlZHMgdG9JU09TdHJpbmcgbWV0aG9kACdzdXBlcicgaXMgb25seSB2YWxpZCBpbiBhIG1ldGhvZABmcm91bmQAX19iZl9yb3VuZABicmVhay9jb250aW51ZSBsYWJlbCBub3QgZm91bmQAb3V0IG9mIGJvdW5kAGZpbmQAYmluZABpbnZhbGlkIGluZGV4IGZvciBhcHBlbmQAZXh0cmFuZW91cyBjaGFyYWN0ZXJzIGF0IHRoZSBlbmQAdW5leHBlY3RlZCBkYXRhIGF0IHRoZSBlbmQAdW5leHBlY3RlZCBlbmQAaW52YWxpZCBpbmNyZW1lbnQvZGVjcmVtZW50IG9wZXJhbmQAaW52YWxpZCAnaW5zdGFuY2VvZicgcmlnaHQgb3BlcmFuZABpbnZhbGlkICdpbicgb3BlcmFuZAB0cmltRW5kAHBhZEVuZABib2xkACVsbGQAZ2NfZGVjcmVmX2NoaWxkAHJlc29sdmVfc2NvcGVfcHJpdmF0ZV9maWVsZABjYW5ub3QgZGVsZXRlIGEgcHJpdmF0ZSBjbGFzcyBmaWVsZABleHBlY3RpbmcgPGJyYW5kPiBwcml2YXRlIGZpZWxkACVzIGlzIG5vdCBpbml0aWFsaXplZABmaXhlZAB0b0ZpeGVkAHNldF9vYmplY3RfbmFtZV9jb21wdXRlZAByZWdleCBub3Qgc3VwcG9ydGVkAGV2YWwgaXMgbm90IHN1cHBvcnRlZABSZWdFeHAgYXJlIG5vdCBzdXBwb3J0ZWQAaW50ZXJydXB0ZWQAJXMgb2JqZWN0IGV4cGVjdGVkAGlkZW50aWZpZXIgZXhwZWN0ZWQAYnl0ZWNvZGUgZnVuY3Rpb24gZXhwZWN0ZWQAc3RyaW5nIGV4cGVjdGVkAGZyb20gY2xhdXNlIGV4cGVjdGVkAGZ1bmN0aW9uIG5hbWUgZXhwZWN0ZWQAdmFyaWFibGUgbmFtZSBleHBlY3RlZABtZXRhIGV4cGVjdGVkAHJlamVjdGVkAG1lbW9yeSBhbGxvY2F0ZWQAbWVtb3J5IHVzZWQAZGVyaXZlZCBjbGFzcyBjb25zdHJ1Y3RvciBtdXN0IHJldHVybiBhbiBvYmplY3Qgb3IgdW5kZWZpbmVkAGNhbm5vdCBzZXQgcHJvcGVydHkgJyVzJyBvZiB1bmRlZmluZWQAY2Fubm90IHJlYWQgcHJvcGVydHkgJyVzJyBvZiB1bmRlZmluZWQAZmxhZ3MgbXVzdCBiZSB1bmRlZmluZWQAVW5kZWZpbmVkAHByaXZhdGUgY2xhc3MgZmllbGQgaXMgYWxyZWFkeSBkZWZpbmVkACclcycgaXMgbm90IGRlZmluZWQAZ3JvdXAgbmFtZSBub3QgZGVmaW5lZABvcGVyYXRvciAlczogbm8gZnVuY3Rpb24gZGVmaW5lZABhbGxTZXR0bGVkAGZ1bGZpbGxlZABjYW5ub3QgYmUgY2FsbGVkAGlzU2VhbGVkACFzaC0+aXNfaGFzaGVkAHZhcl9yZWYtPmlzX2RldGFjaGVkAEFycmF5QnVmZmVyIGlzIGRldGFjaGVkAGFkZAAlKzA3ZAAlMDRkACUwMmQlMDJkACUwMmQvJTAyZC8lMCpkACUuM3MgJS4zcyAlMDJkICUwKmQAOiVkAGludmFsaWQgdGhyb3cgdmFyIHR5cGUgJWQAc2MAanNfZGVmX21hbGxvYwB0cnVuYwBnYwBleGVjAGJmX2ludGVnZXJfdG9fcmFkaXhfcmVjAHF1aWNranMvcXVpY2tqcy5jAHF1aWNranMvbGlicmVnZXhwLmMAcXVpY2tqcy9saWJiZi5jAHF1aWNranMvbGlidW5pY29kZS5jAHN1YgBwcm9taXNlX3JlYWN0aW9uX2pvYgBqc19wcm9taXNlX3Jlc29sdmVfdGhlbmFibGVfam9iAHIgIT0gYSAmJiByICE9IGIAcSAhPSBhICYmIHEgIT0gYgByd2EAciAhPSBhAF9fbG9va3VwU2V0dGVyX18AX19kZWZpbmVTZXR0ZXJfXwBfX2xvb2t1cEdldHRlcl9fAF9fZGVmaW5lR2V0dGVyX18AX19wcm90b19fAFtTeW1ib2wuc3BsaXRdAFtTeW1ib2wuc3BlY2llc10AW1N5bWJvbC5pdGVyYXRvcl0AW1N5bWJvbC5hc3luY0l0ZXJhdG9yXQBbU3ltYm9sLm1hdGNoQWxsXQBbU3ltYm9sLm1hdGNoXQBbU3ltYm9sLnNlYXJjaF0AW1N5bWJvbC50b1N0cmluZ1RhZ10AW1N5bWJvbC50b1ByaW1pdGl2ZV0AW3Vuc3VwcG9ydGVkIHR5cGVdAFtmdW5jdGlvbiBieXRlY29kZV0AW1N5bWJvbC5oYXNJbnN0YW5jZV0AW1N5bWJvbC5yZXBsYWNlXQBbACUwMmQ6JTAyZDolMDJkLiUwM2RaAFBPU0lUSVZFX0lORklOSVRZAE5FR0FUSVZFX0lORklOSVRZAHAtPmNsYXNzX2lkID09IEpTX0NMQVNTX0FSUkFZAHN0YWNrX2xlbiA8IFBPUF9TVEFDS19MRU5fTUFYAC0lMDJkLSUwMmRUAEpTX0F0b21HZXRTdHJSVABvcGNvZGUgPCBSRU9QX0NPVU5UAEJZVEVTX1BFUl9FTEVNRU5UACUwMmQ6JTAyZDolMDJkIEdNVABKU19WQUxVRV9HRVRfVEFHKHNmLT5jdXJfZnVuYykgPT0gSlNfVEFHX09CSkVDVAB2YXJfa2luZCA9PSBKU19WQVJfUFJJVkFURV9TRVRURVIATUFYX1NBRkVfSU5URUdFUgBNSU5fU0FGRV9JTlRFR0VSAGFzVWludE4AYXNJbnROAGlzTmFOAERhdGUgdmFsdWUgaXMgTmFOAHRvSlNPTgBFUFNJTE9OAE5BTgAlMDJkOiUwMmQ6JTAyZCAlY00Acy0+bGFiZWxfc2xvdHNbbGFiZWxdLmZpcnN0X3JlbG9jID09IE5VTEwAbGFiZWxfc2xvdHNbaV0uZmlyc3RfcmVsb2MgPT0gTlVMTABwcnMgIT0gTlVMTABzZi0+Y3VyX3NwICE9IE5VTEwAc2YgIT0gTlVMTABtcjEgIT0gTlVMTAB2YXJfa2luZCAhPSBKU19WQVJfTk9STUFMAGItPmZ1bmNfa2luZCA9PSBKU19GVU5DX05PUk1BTABlbmNvZGVVUkkAZGVjb2RlVVJJAFBJAHNwZWNpYWwgPT0gUFVUX0xWQUxVRV9OT0tFRVAgfHwgc3BlY2lhbCA9PSBQVVRfTFZBTFVFX05PS0VFUF9ERVBUSABzLT5zdGF0ZSA9PSBKU19BU1lOQ19HRU5FUkFUT1JfU1RBVEVfRVhFQ1VUSU5HAHByZWMxICE9IEJGX1BSRUNfSU5GADAxMjM0NTY3ODlBQkNERUYAU0laRQBNQVhfVkFMVUUATUlOX1ZBTFVFAE5BTUUAZXZhbF90eXBlID09IEpTX0VWQUxfVFlQRV9HTE9CQUwgfHwgZXZhbF90eXBlID09IEpTX0VWQUxfVFlQRV9NT0RVTEUAcC0+Z2Nfb2JqX3R5cGUgPT0gSlNfR0NfT0JKX1RZUEVfSlNfT0JKRUNUIHx8IHAtPmdjX29ial90eXBlID09IEpTX0dDX09CSl9UWVBFX0ZVTkNUSU9OX0JZVEVDT0RFAExPRzJFAExPRzEwRQBzLT5zdGF0ZSA9PSBKU19BU1lOQ19HRU5FUkFUT1JfU1RBVEVfQVdBSVRJTkdfUkVUVVJOIHx8IHMtPnN0YXRlID09IEpTX0FTWU5DX0dFTkVSQVRPUl9TVEFURV9DT01QTEVURUQAVVRDADxpbnB1dD4APHNldD4APGFub255bW91cz4APGR1bXA+ADxudWxsPgBiaWdpbnQgb3BlcmFuZHMgYXJlIGZvcmJpZGRlbiBmb3IgPj4+ACZxdW90OwBzZXRVaW50OABnZXRVaW50OABzZXRJbnQ4AGdldEludDgAbWFsZm9ybWVkIFVURi04AHJhZGl4IG11c3QgYmUgYmV0d2VlbiAyIGFuZCAzNgBzZXRVaW50MTYAZ2V0VWludDE2AHNldEludDE2AGdldEludDE2AGFyZ2MgPT0gNQBzZXRCaWdVaW50NjQAZ2V0QmlnVWludDY0AHNldEJpZ0ludDY0AGdldEJpZ0ludDY0AHNldEZsb2F0NjQAZ2V0RmxvYXQ2NABhcmdjID09IDMAYXRhbjIAbG9nMgBmbG9vckxvZzIAU1FSVDFfMgBTUVJUMgBMTjIAY2x6MzIAc2V0VWludDMyAGdldFVpbnQzMgBzZXRJbnQzMgBnZXRJbnQzMgBzZXRGbG9hdDMyAGdldEZsb2F0MzIAc3RhY2tfbGVuID49IDIASlNfQXRvbUlzTnVtZXJpY0luZGV4MQBqc19mY3Z0MQBKU19Db21wYWN0QmlnSW50MQBleHBtMQByICE9IGExICYmIHIgIT0gYjEAbHMtPmFkZHIgPT0gLTEAbnEgPj0gMQBzdGFja19sZW4gPj0gMQBwLT5oZWFkZXIucmVmX2NvdW50ID09IDEAcC0+c2hhcGUtPmhlYWRlci5yZWZfY291bnQgPT0gMQBzdGFja19sZW4gPT0gMQBqc19mcmVlX3NoYXBlMABsb2cxMABMTjEwAHAtPnJlZl9jb3VudCA+IDAAdmFyX3JlZi0+aGVhZGVyLnJlZl9jb3VudCA+IDAAc3RhY2tfc2l6ZSA+IDAAY3Bvb2xfaWR4ID49IDAAcnQtPmF0b21fY291bnQgPj0gMABscy0+cmVmX2NvdW50ID49IDAAcy0+aXNfZXZhbCB8fCBzLT5jbG9zdXJlX3Zhcl9jb3VudCA9PSAwAHAtPnJlZl9jb3VudCA9PSAwAGN0eC0+aGVhZGVyLnJlZl9jb3VudCA9PSAwAHNoLT5oZWFkZXIucmVmX2NvdW50ID09IDAAcC0+bWFyayA9PSAwAChuMiAlIHN0cmlwX2xlbikgPT0gMAAocHItPnUuaW5pdC5yZWFsbV9hbmRfaWQgJiAzKSA9PSAwAChuZXdfaGFzaF9zaXplICYgKG5ld19oYXNoX3NpemUgLSAxKSkgPT0gMABpICE9IDAAc2l6ZSAhPSAwAF4kXC4qKz8oKVtde318LwA8LwAwLgBtaXNzaW5nIGJpbmRpbmcgcGF0dGVybi4uLgBiaWdpbnQgYXJndW1lbnQgd2l0aCB1bmFyeSArAGFzeW5jIGZ1bmN0aW9uICoACn0pAGxpc3RfZW1wdHkoJnJ0LT5nY19vYmpfbGlzdCkAaiA9PSAoc2gtPnByb3BfY291bnQgLSBzaC0+ZGVsZXRlZF9wcm9wX2NvdW50KQBKU19Jc1VuZGVmaW5lZChmdW5jX3JldCkAIV9fSlNfQXRvbUlzVGFnZ2VkSW50KGRlc2NyKQAhYXRvbV9pc19mcmVlKHApAChudWxsKQAgKG5hdGl2ZSkAanNfY2xhc3NfaGFzX2J5dGVjb2RlKHAtPmNsYXNzX2lkKQB1bmNvbnNpc3RlbnQgc3RhY2sgc2l6ZTogJWQgJWQgKHBjPSVkKQBieXRlY29kZSBidWZmZXIgb3ZlcmZsb3cgKG9wPSVkLCBwYz0lZCkAc3RhY2sgb3ZlcmZsb3cgKG9wPSVkLCBwYz0lZCkAc3RhY2sgdW5kZXJmbG93IChvcD0lZCwgcGM9JWQpAGludmFsaWQgb3Bjb2RlIChvcD0lZCwgcGM9JWQpACg/OikAbm8gZnVuY3Rpb24gZmlsZW5hbWUgZm9yIGltcG9ydCgpAC1fLiF+KicoKQAgYW5vbnltb3VzKABTeW1ib2woAGV4cGVjdGluZyAnfScAY2xhc3MgY29uc3RydWN0b3JzIG11c3QgYmUgaW52b2tlZCB3aXRoICduZXcnAGV4cGVjdGluZyAnYXMnAHVuZXhwZWN0ZWQgdG9rZW4gaW4gZXhwcmVzc2lvbjogJyUuKnMnAHVuZXhwZWN0ZWQgdG9rZW46ICclLipzJwByZWRlY2xhcmF0aW9uIG9mICclcycAZHVwbGljYXRlIGV4cG9ydGVkIG5hbWUgJyVzJwBjaXJjdWxhciByZWZlcmVuY2Ugd2hlbiBsb29raW5nIGZvciBleHBvcnQgJyVzJyBpbiBtb2R1bGUgJyVzJwBDb3VsZCBub3QgZmluZCBleHBvcnQg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AJYAAADBAAAAlwAAAJgAAADCAAAAlwAAAJgAAADDAAAAawAAAGwAAADEAAAAmQAAAJoAAADFAAAAmQAAAJoAAAAvAAAAmwAAAJwAAADGAAAAawAAAGwAAADHAAAAnQAAAJ4AAAAAAAAA7h8AAB8gAAAqIAAA4h8AABUgAAA5IAAA+B8AAAYgAABjb3B5V2l0aGluAGVudHJpZXMAZmlsbABmaW5kAGZpbmRJbmRleABmbGF0AGZsYXRNYXAAaW5jbHVkZXMAa2V5cwB2YWx1ZXMAAAAAAAEBAgIDAwIDAEGQpwEL3xBudWxsAGZhbHNlAHRydWUAaWYAZWxzZQByZXR1cm4AdmFyAHRoaXMAZGVsZXRlAHZvaWQAdHlwZW9mAG5ldwBpbgBpbnN0YW5jZW9mAGRvAHdoaWxlAGZvcgBicmVhawBjb250aW51ZQBzd2l0Y2gAY2FzZQBkZWZhdWx0AHRocm93AHRyeQBjYXRjaABmaW5hbGx5AGZ1bmN0aW9uAGRlYnVnZ2VyAHdpdGgAY2xhc3MAY29uc3QAZW51bQBleHBvcnQAZXh0ZW5kcwBpbXBvcnQAc3VwZXIAaW1wbGVtZW50cwBpbnRlcmZhY2UAbGV0AHBhY2thZ2UAcHJpdmF0ZQBwcm90ZWN0ZWQAcHVibGljAHN0YXRpYwB5aWVsZABhd2FpdAAAbGVuZ3RoAGZpbGVOYW1lAGxpbmVOdW1iZXIAbWVzc2FnZQBlcnJvcnMAc3RhY2sAbmFtZQB0b1N0cmluZwB0b0xvY2FsZVN0cmluZwB2YWx1ZU9mAGV2YWwAcHJvdG90eXBlAGNvbnN0cnVjdG9yAGNvbmZpZ3VyYWJsZQB3cml0YWJsZQBlbnVtZXJhYmxlAHZhbHVlAGdldABzZXQAb2YAX19wcm90b19fAHVuZGVmaW5lZABudW1iZXIAYm9vbGVhbgBzdHJpbmcAb2JqZWN0AHN5bWJvbABpbnRlZ2VyAHVua25vd24AYXJndW1lbnRzAGNhbGxlZQBjYWxsZXIAPGV2YWw+ADxyZXQ+ADx2YXI+ADxhcmdfdmFyPgA8d2l0aD4AbGFzdEluZGV4AHRhcmdldABpbmRleABpbnB1dABkZWZpbmVQcm9wZXJ0aWVzAGFwcGx5AGpvaW4AY29uY2F0AHNwbGl0AGNvbnN0cnVjdABnZXRQcm90b3R5cGVPZgBzZXRQcm90b3R5cGVPZgBpc0V4dGVuc2libGUAcHJldmVudEV4dGVuc2lvbnMAaGFzAGRlbGV0ZVByb3BlcnR5AGRlZmluZVByb3BlcnR5AGdldE93blByb3BlcnR5RGVzY3JpcHRvcgBvd25LZXlzAGFkZABkb25lAG5leHQAdmFsdWVzAHNvdXJjZQBmbGFncwBnbG9iYWwAdW5pY29kZQByYXcAbmV3LnRhcmdldAB0aGlzLmFjdGl2ZV9mdW5jADxob21lX29iamVjdD4APGNvbXB1dGVkX2ZpZWxkPgA8c3RhdGljX2NvbXB1dGVkX2ZpZWxkPgA8Y2xhc3NfZmllbGRzX2luaXQ+ADxicmFuZD4AI2NvbnN0cnVjdG9yAGFzAGZyb20AbWV0YQAqZGVmYXVsdCoAKgBNb2R1bGUAdGhlbgByZXNvbHZlAHJlamVjdABwcm9taXNlAHByb3h5AHJldm9rZQBhc3luYwBleGVjAGdyb3VwcwBzdGF0dXMAcmVhc29uAGdsb2JhbFRoaXMAYmlnaW50AGJpZ2Zsb2F0AGJpZ2RlY2ltYWwAcm91bmRpbmdNb2RlAG1heGltdW1TaWduaWZpY2FudERpZ2l0cwBtYXhpbXVtRnJhY3Rpb25EaWdpdHMAdG9KU09OAE9iamVjdABBcnJheQBFcnJvcgBOdW1iZXIAU3RyaW5nAEJvb2xlYW4AU3ltYm9sAEFyZ3VtZW50cwBNYXRoAEpTT04ARGF0ZQBGdW5jdGlvbgBHZW5lcmF0b3JGdW5jdGlvbgBGb3JJbkl0ZXJhdG9yAFJlZ0V4cABBcnJheUJ1ZmZlcgBTaGFyZWRBcnJheUJ1ZmZlcgBVaW50OENsYW1wZWRBcnJheQBJbnQ4QXJyYXkAVWludDhBcnJheQBJbnQxNkFycmF5AFVpbnQxNkFycmF5AEludDMyQXJyYXkAVWludDMyQXJyYXkAQmlnSW50NjRBcnJheQBCaWdVaW50NjRBcnJheQBGbG9hdDMyQXJyYXkARmxvYXQ2NEFycmF5AERhdGFWaWV3AEJpZ0ludABCaWdGbG9hdABCaWdGbG9hdEVudgBCaWdEZWNpbWFsAE9wZXJhdG9yU2V0AE9wZXJhdG9ycwBNYXAAU2V0AFdlYWtNYXAAV2Vha1NldABNYXAgSXRlcmF0b3IAU2V0IEl0ZXJhdG9yAEFycmF5IEl0ZXJhdG9yAFN0cmluZyBJdGVyYXRvcgBSZWdFeHAgU3RyaW5nIEl0ZXJhdG9yAEdlbmVyYXRvcgBQcm94eQBQcm9taXNlAFByb21pc2VSZXNvbHZlRnVuY3Rpb24AUHJvbWlzZVJlamVjdEZ1bmN0aW9uAEFzeW5jRnVuY3Rpb24AQXN5bmNGdW5jdGlvblJlc29sdmUAQXN5bmNGdW5jdGlvblJlamVjdABBc3luY0dlbmVyYXRvckZ1bmN0aW9uAEFzeW5jR2VuZXJhdG9yAEV2YWxFcnJvcgBSYW5nZUVycm9yAFJlZmVyZW5jZUVycm9yAFN5bnRheEVycm9yAFR5cGVFcnJvcgBVUklFcnJvcgBJbnRlcm5hbEVycm9yADxicmFuZD4AU3ltYm9sLnRvUHJpbWl0aXZlAFN5bWJvbC5pdGVyYXRvcgBTeW1ib2wubWF0Y2gAU3ltYm9sLm1hdGNoQWxsAFN5bWJvbC5yZXBsYWNlAFN5bWJvbC5zZWFyY2gAU3ltYm9sLnNwbGl0AFN5bWJvbC50b1N0cmluZ1RhZwBTeW1ib2wuaXNDb25jYXRTcHJlYWRhYmxlAFN5bWJvbC5oYXNJbnN0YW5jZQBTeW1ib2wuc3BlY2llcwBTeW1ib2wudW5zY29wYWJsZXMAU3ltYm9sLmFzeW5jSXRlcmF0b3IAU3ltYm9sLm9wZXJhdG9yU2V0AEGAuAELtQgBAAAABQABFAUAARUFAAEVBQABFwUAARcBAAEAAQABAAEAAQABAAEAAQABAAEAAQACAAEFAwABCgEBAAABAgEAAQMCAAEBAgABAgMAAQIEAAEDBgABAgMAAQMEAAEEBQABAwMAAQQEAAEFBQABAgIAAQQEAAEDAwABAwMAAQQEAAEFBQADAgENAwEBDQMBAA0DAgENAwIADQMAAQ0DAwEKAQEAAAEAAAABAQIAAQAAAAECAgABAgAAAQEAAAEBAAAGAAAYBQEBDwMCAQoBAgEAAQEBAAEBAQAFAAEXBQABFwUAARcFAQAXBQEAFwUCABcBAgMAAQMAAAYAABgGAAAYBgEAGAUBARcFAQIXBQIAFwECAQABAwAAAQMBAAECAQABAgIAAQMAAAEDAQABBAAABQIBFwUBARcBAgIAAQIB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AAABADAAOgBB0IECCxEEADAAOgBBAFsAXwBgAGEAewBB8IECC8QLAQMFAQEBAQUFBQECAgMFBQEBAQICAwMFBQEFAREAAAAwmiAAAJowAHOBWgAwF2AAMAdsALOBbwAAF3AAAAd8AACBfwBAMIAAwwGYAJCBmABABpkAQJCcALSBpABALqUAMAG8AECGvABwgb8AAAHAADCBwABABMEAMAHDAECCwwAwgsQAQILFADABxwAwgccAMAHIAECCyAAwgckAMAHKAACBygAwAcsAMIHLAEACzAAAAc0AMAHOADCBzgAAAc8AMIHPAEAG0AAwAdMAQILTADCB1ABAAtYAMAHXAECC1wAwgtgAQITZADCB2wBAAtwAQALeAACB3wBQA+IAUIPjAFAD5QBAkOYAAIHuAEAS7wC0AfgAUIP4AEAC+gAwAfsAMIH7AEAo/AAwARABQBIRATEBHQFAgh0BMIEeATEBHwEBgh8BQIIgATCBIQEwASIBMIEiAUAKIwEBASgBAYEoAQEBKQEAgSkBAAEqAQACKwEAgSwBAIEtAQEBLgEAATABAYEwAQCBMQEBgTIBAQEzAQABNAEAgTQBAQE1AQGBNQEBATYBAIE3AQGBOAEAATkBAIE6AQGBPgEAAUABAQFBAQCBQQEBgUMBAAFEAQCBRAEAAkUBAAFGAQABSQEBgU4BAQFPAXOBogFABLgBQAK7AQCDvQEwgb8BMAHDATADxAEwAcYBMALHAdAByAEwkcgBMInRAQAB1gEAg9YB0wHYAQCR2AFzAeEBAInhAQAB5gEAguYBMIHnAXMB6AFzgegBc4HqAXMB6wEAgesBQBjsAXMB+AFzgfgBAAH5AQCB+QGgAfoBc4H6AUCC+wEwgfwBQAL9ATCD/gEwEAACMCAIAgAgGAIAECgCQCIwAkA2RQIwAWACQI5gAgCBZwJAYGgCMKaYAgCmsAK1gcMCMSZQCDGBYwgxgWYIACtoCACDfggRUNAJEAb4CSAG/Al0AUAOdIFADnQBQQ50gUEOdAFCDnSBQg50AUMOgIFDDoABRA4wK0gOMINeDgGBvA4Bgb4OAQHHDkB+AA9AGD8PtQFLD7aBSw+2AUwPtoFMD7cBTQ+AgU0PMAFPD0BgUA8ACIAPMAiEDwAGiA8wBowPAAiQDzAIlA8ACJgPMAicDwAGoA8wBqQPsAGoDwCBqA/T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iaCCsQARDAiAqCSBQOs4CYlgTyOAQuCPj48Rl4JAv4mkgEK8gEDhgECUhEEkiUVWEAyDpxOAQKSBQjwfiUFwgUCYikCugrSOnomOg6yKtIkqo42AiSGrgIuCr407gIvRiyhAn4uEiSu2CDEJgoiAiQkyhEC/kYiJGNCTi4lA1DGImoHRkI6J0IyHidKOg4lA8Y5ApInFKAkYAIGLifYxMoCbiacwH4CIiq2PQZQ4h4+Jt5WAjfkqAAgwB4mvIAgniUFIg2BLaIlAhYS6hpiJQ/QAtjPQgIqBYEyqgVTFIi85hp2DQJOCRYixQf+2g7E4jYCVII5FTzCQDgEEQQSGiIlBoY1F1YbsNIlSlYlsBQVA7wBBoKcCC6MS+gYAhAkA8AoAcAwA9A0AShAgGhggdBsg3SAADKgAWqogGv8ArQ4BOBIhwRUh5Rkhqh0hjNFBSuEh8AEOAAAAAEFkbGFtLEFkbG0AQWhvbSxBaG9tAEFuYXRvbGlhbl9IaWVyb2dseXBocyxIbHV3AEFyYWJpYyxBcmFiAEFybWVuaWFuLEFybW4AQXZlc3RhbixBdnN0AEJhbGluZXNlLEJhbGkAQmFtdW0sQmFtdQBCYXNzYV9WYWgsQmFzcwBCYXRhayxCYXRrAEJlbmdhbGksQmVuZwBCaGFpa3N1a2ksQmhrcwBCb3BvbW9mbyxCb3BvAEJyYWhtaSxCcmFoAEJyYWlsbGUsQnJhaQBCdWdpbmVzZSxCdWdpAEJ1aGlkLEJ1aGQAQ2FuYWRpYW5fQWJvcmlnaW5hbCxDYW5zAENhcmlhbixDYXJpAENhdWNhc2lhbl9BbGJhbmlhbixBZ2hiAENoYWttYSxDYWttAENoYW0sQ2hhbQBDaGVyb2tlZSxDaGVyAENob3Jhc21pYW4sQ2hycwBDb21tb24sWnl5eQBDb3B0aWMsQ29wdCxRYWFjAEN1bmVpZm9ybSxYc3V4AEN5cHJpb3QsQ3BydABDeXJpbGxpYyxDeXJsAERlc2VyZXQsRHNydABEZXZhbmFnYXJpLERldmEARGl2ZXNfQWt1cnUsRGlhawBEb2dyYSxEb2dyAER1cGxveWFuLER1cGwARWd5cHRpYW5fSGllcm9nbHlwaHMsRWd5cABFbGJhc2FuLEVsYmEARWx5bWFpYyxFbHltAEV0aGlvcGljLEV0aGkAR2VvcmdpYW4sR2VvcgBHbGFnb2xpdGljLEdsYWcAR290aGljLEdvdGgAR3JhbnRoYSxHcmFuAEdyZWVrLEdyZWsAR3VqYXJhdGksR3VqcgBHdW5qYWxhX0dvbmRpLEdvbmcAR3VybXVraGksR3VydQBIYW4sSGFuaQBIYW5ndWwsSGFuZwBIYW5pZmlfUm9oaW5neWEsUm9oZwBIYW51bm9vLEhhbm8ASGF0cmFuLEhhdHIASGVicmV3LEhlYnIASGlyYWdhbmEsSGlyYQBJbXBlcmlhbF9BcmFtYWljLEFybWkASW5oZXJpdGVkLFppbmgsUWFhaQBJbnNjcmlwdGlvbmFsX1BhaGxhdmksUGhsaQBJbnNjcmlwdGlvbmFsX1BhcnRoaWFuLFBydGkASmF2YW5lc2UsSmF2YQBLYWl0aGksS3RoaQBLYW5uYWRhLEtuZGEAS2F0YWthbmEsS2FuYQBLYXlhaF9MaSxLYWxpAEtoYXJvc2h0aGksS2hhcgBLaG1lcixLaG1yAEtob2praSxLaG9qAEtoaXRhbl9TbWFsbF9TY3JpcHQsS2l0cwBLaHVkYXdhZGksU2luZABMYW8sTGFvbwBMYXRpbixMYXRuAExlcGNoYSxMZXBjAExpbWJ1LExpbWIATGluZWFyX0EsTGluYQBMaW5lYXJfQixMaW5iAExpc3UsTGlzdQBMeWNpYW4sTHljaQBMeWRpYW4sTHlkaQBNYWthc2FyLE1ha2EATWFoYWphbmksTWFoagBNYWxheWFsYW0sTWx5bQBNYW5kYWljLE1hbmQATWFuaWNoYWVhbixNYW5pAE1hcmNoZW4sTWFyYwBNYXNhcmFtX0dvbmRpLEdvbm0ATWVkZWZhaWRyaW4sTWVkZgBNZWV0ZWlfTWF5ZWssTXRlaQBNZW5kZV9LaWtha3VpLE1lbmQATWVyb2l0aWNfQ3Vyc2l2ZSxNZXJjAE1lcm9pdGljX0hpZXJvZ2x5cGhzLE1lcm8ATWlhbyxQbHJkAE1vZGksTW9kaQBNb25nb2xpYW4sTW9uZwBNcm8sTXJvbwBNdWx0YW5pLE11bHQATXlhbm1hcixNeW1yAE5hYmF0YWVhbixOYmF0AE5hbmRpbmFnYXJpLE5hbmQATmV3X1RhaV9MdWUsVGFsdQBOZXdhLE5ld2EATmtvLE5rb28ATnVzaHUsTnNodQBOeWlha2VuZ19QdWFjaHVlX0htb25nLEhtbnAAT2doYW0sT2dhbQBPbF9DaGlraSxPbGNrAE9sZF9IdW5nYXJpYW4sSHVuZwBPbGRfSXRhbGljLEl0YWwAT2xkX05vcnRoX0FyYWJpYW4sTmFyYgBPbGRfUGVybWljLFBlcm0AT2xkX1BlcnNpYW4sWHBlbwBPbGRfU29nZGlhbixTb2dvAE9sZF9Tb3V0aF9BcmFiaWFuLFNhcmIAT2xkX1R1cmtpYyxPcmtoAE9yaXlhLE9yeWEAT3NhZ2UsT3NnZQBPc21hbnlhLE9zbWEAUGFoYXdoX0htb25nLEhtbmcAUGFsbXlyZW5lLFBhbG0AUGF1X0Npbl9IYXUsUGF1YwBQaGFnc19QYSxQaGFnAFBob2VuaWNpYW4sUGhueABQc2FsdGVyX1BhaGxhdmksUGhscABSZWphbmcsUmpuZwBSdW5pYyxSdW5yAFNhbWFyaXRhbixTYW1yAFNhdXJhc2h0cmEsU2F1cgBTaGFyYWRhLFNocmQAU2hhdmlhbixTaGF3AFNpZGRoYW0sU2lkZABTaWduV3JpdGluZyxTZ253AFNpbmhhbGEsU2luaABTb2dkaWFuLFNvZ2QAU29yYV9Tb21wZW5nLFNvcmEAU295b21ibyxTb3lvAFN1bmRhbmVzZSxTdW5kAFN5bG90aV9OYWdyaSxTeWxvAFN5cmlhYyxTeXJjAFRhZ2Fsb2csVGdsZwBUYWdiYW53YSxUYWdiAFRhaV9MZSxUYWxlAFRhaV9UaGFtLExhbmEAVGFpX1ZpZXQsVGF2dABUYWtyaSxUYWtyAFRhbWlsLFRhbWwAVGFuZ3V0LFRhbmcAVGVsdWd1LFRlbHUAVGhhYW5hLFRoYWEAVGhhaSxUaGFpAFRpYmV0YW4sVGlidABUaWZpbmFnaCxUZm5nAFRpcmh1dGEsVGlyaABVZ2FyaXRpYyxVZ2FyAFZhaSxWYWlpAFdhbmNobyxXY2hvAFdhcmFuZ19DaXRpLFdhcmEAWWV6aWRpLFllemkAWWksWWlpaQBaYW5hYmF6YXJfU3F1YXJlLFphbmIAQdC5AguxFMAZmUWFGZlFrhmARY4ZgEWEGZZFgBmeRYAZ4WBFphmERYQZgQ2TGeAPN4MrgBmCKwGDK4AZgCsDgCuAGYArgBmCKwCAKwCTKwC+K40ajyvgJB2BN+BIHQClBQGxBQGCBQC2NAeaNAOFNAqEBIAZhQSAGY0EgBmABACABIAZnwSAGYkEijeZBIA34AsEgBmhBI2HALuHAYKHrwSxkQ26YwGCY617AY57AJtQAYBQAIqHNJQEAJEECo4EgBmcBNAfgzeOH4EZmR+DCwCHCwGBCwGVCwCGCwCACwKDCwGICwGBCwGDCweACwOBCwCECwGYCwGCLgCFLgOBLgGVLgCGLgCBLgCBLgCBLgGALgCELgOBLgGCLgKALgaDLgCALgaQLgmCLACILACCLACVLACGLACBLACELAGJLACCLACCLAGALA6DLAGLLAaGLACCcACHcAGBcAGVcACGcACBcACEcAGIcAGBcAGCcAaCcAOBcACEcAGRcAmBjgCFjgKCjgCDjgKBjgCAjgCBjgKBjgKCjgKLjgOEjgKCjgCDjgGAjgWAjg2UjgSMkACCkACWkACPkAKHkACCkACDkAaBkACCkASDkAGJkAaIkIw8AII8AJY8AIk8AIQ8AYg8AII8AIM8BoE8BoA8AIM8AYk8AIE8DIxPAIJPALJPAIJPAIVPA49PAZlPAIKBAJGBApeBAIiBAICBAYaBAoCBA4WBAICBAIeBBYmBAYKBC7mSA4AZm5IkgUQAgEQAhEQAl0QAgEQAlkQBhEQAgEQAhUQBiUQBg0Qfx5MAo5MDppMAo5MAjpMAhpODGYGTJOA/XqUnAIAnBIAnAaongBmDJ+CfMMgmAIMmAYYmAIAmAIMmAagmAIMmAaAmAIMmAYYmAIAmAIMmAY4mALgmAIMmAcImAZ8mApkmBdUXAYUXAeIfEpxmAsp6ghmKegaMiACGiAqUMoEZCJMRC4yJAIKJAIGJC91AAYlABYlABYFbgRmAW4AZiFsAiVsF2FsGqlsExRIJnkcAi0cDi0cDgEcCi0edigGEigqrYQOZYQWKYQKBYZ9AmxABgRC+iwCciwGKiwWJiwWNiwGQNz7LBwOsBwK/hbMKB4MKt0YCjkYCgkavZ4gdBqonAYInh4UHgjeAGYw3gBmGN4MZgDeFGYA3ghmBN4AZBKVFhCuAHbBFhCuDRYQrjEWAHcVFgCu5NwCEN+CfRZUrAYUrAaUrAYUrAYcrAIArAIArAIArAJ4rAbQrAI4rAI0rAYUrAJIrAYIrAIgrAIsZgTfWGQCKGYBFAYoZgEWOGQCMRQKfGQ+gNw6lGYArghmBRYUZgEWaGYBFkBmoRYIZA+I2GRiKGRTjPxngnw/iExkBnxkA4AgZrigArigAn0XgExoEhhqlJwCAJwSAJwG3lAaBlA2AlJYmCIYmAIYmAIYmAIYmAIYmAIYmAIYmAIYmAJ8d0hksmS8A2C8L4HUvGYsZA4QZgC+AGYAvmBmIL4M3gTCHGYMvgxkA1TUBgTeBGYI1gBnZPYEZgj0Eqg0A3TAAjxmfDaMZC489njAAvxmeMNAZrj2AGdc94EcZ8AlfL78Z8EGcLwLkLJsCtpsIr0rgy5cT3x3XCAehGeAFRYIZtEUBiEUpikWshgKJGQW3dgfFfAeLfAWfH60+gBmAPqN5CoB5nDACzToAgBmJOgOBOp5eALYWCI0WAYkWAYMWn17CjBeEjJZVCYUmAYUmAYUmCIYmAIYmAKpFgBmIRYArg0WBGQPPF61VAYlVBfAbQzALljADsDBwEKPhDS8B4AkvJYZFC4QFBJk0AIQ0AIA0AIE0AIE0AIk04BEEEOEKBIEZD78EAbUEJ40EAY83iRkFjTeBHaIZAJIZAIMZA4QEAOAmBAGAGQCfGZlFhRmZRYoZiT2AGaw9gRmeMAKFMAGFMAGFMAGCMAKGGQCGGQmEGQGLSQCZSQCSSQCBSQCOSQGNSSHgGkkEghkDrBkCiBnOKwCMGQKAKy6sGYA3YCGcSwKwEw6AN5oZA6NpCIJpmikEqmsEnZYAgJajbAONbCnPHq9+nXIBiXIFo3EDo3EDpyQHsxQKgBRgL+DWSAiVSAmHSGA3hRwBgBwAqxwAgRwCgBwBgByVNgCINp90nl8HiF8vkjMAgTMEhDObdwKAd5lMBIBMP59Yl1cDk1cBrVeDPwCBPwSHPwCCPwCcPwGCPwOJPwaIPwafbp9qH6ZRA4tRCLUGAoYGlTkBhzmSOASHOJF4BoN4C4Z4T8hvNrJoDLJoBoVopzEHiTFgxZ4EAKmaAIKaAYGaTadtB6mCVZsYE5YlCM0OA50ODoAOwTsKgDsBmIMGiYMFtBUAkRUHpk4I330Ak4EKkUEAq0FAhl0AgF0Ag10Ajl0Ail0FukMEiUMFgyoAhyoBgSoBlSoAhioAgSoAhCoAgDeIKgGBKgGCKgGAKgWAKgSGKgGGKgKEKmAq22IAhGIdx5UHiZVgRbV/AaV/IcRaColaBYxbEriNBomNNZoCAY4CA48CYF+7IWAD0pkLgJmGIAGAIAGHIACBIACdIACBIAGLIAiJIEWHYAGtYAGKYBrHnAfShBy4dWCmiAwArAwAjQwJnAwCn1IBlVIAjVJIhlMAgVMAq1MCgFMAgVMAiFMHiVMFhS0AgS0ApC0AgS0AhS0GiS1g1ZhNYFaASg6xjgyAjuM5G2AF4A4bAIQbCuBjG2pb484jAIgjb2bh5gNwEVjh2AgGnlwAiVwDgVxfnQkBhQkJxXMJiXMAhnMAlHMEknNiT9pUYATKWQO4WQaQWT+Aj4BkgRmAQgqBLw3wB5ePB+Kfj+F1QimIj3ASloA94L01MII1EIM9B+ErZGij4AoiBIwiAogiBokiAYMigxlwAvvglRkJphkBvRmCN5AZhzeBGYY3nRmDN7oZFsUrYDmTGQvWGQiYGWAm1BkAxhkAgRkBgBkBgRkBgxkAixkAgBkAhhkAwBkAgxkBhxkAhhkAmxkAgxkAhBkAgBkChhkA4PMZAeDDGQGxGeIrgA6EgACOgGTvhigAkCgBhigAgSgAhChgdKxlAo1lAYllA4FlYQ+5mASAmGSf4GRWAY9WKMsBA4kBA4EBYrDDGUu8GWBhgwQAmgQAgQQAgAQBgAQAiQQAgwQAgAQAgAQFgAQDgAQAgAQAgAQAggQAgQQAgAQBgAQAgAQAgAQAgAQAgAQAgQQAgAQBgwQAhgQAgwQAgwQAgAQAiQQAkAQEggQAhAQAkAQzgQRgrasZA+ADGQuOGQGOGQCOGQCkGQngTRk3mRmANYEZDKsZA4gZBoEZDYUZYDnjdxkHjBkCjBkC4BMZC9gZBosZE4sZA7cZB4kZBacZB50ZAYEZTeAYGQDRGQDgJhkLjRkBhBkCghkEhhkImBkGhhkIghkMhhko4DIZALYZJIkZY6Xwln0vIe/ULwrgfS8B8AYhLw3wDNAva77hvS9lgfAC6i963FWAGR3fGWAf4I83AEGQzgILsguCwQAAASsBAAABKxwADAFFgJIAAAIdawACHSgBAh1FAAIdKIEDAAAFBDGHkZoNAAAFBDGHkZoAAwSHkQEAAAUEMYeRmh8AAAgBBFBReDGChwkACgIEhwkACQMEkZoFAAACBIdiAAACBDGB+wAADQsfKiwuPEVPcH2OkJUADAsfKiwuPEVPcI6QlRAAABQLHyEtUyosLjxOT2BwQ4GGjY6QlQAVCx8hLVMqLC48R05PYHBDgYaNjpCVCQQfITtOdQAJAwsVhnUACQIuXXUACQIsQYB1AA0CKo6AcQAJAjxggs8ACQMVXoqAMAAAAidFhbgAAQQRMomIgEoAAQJbdgAAAAJbdoRJAAAECx8qPAABHwAECx8qPAACHyoAAR8BAgsfAAIffQACCx8AAh99AAYfPE9wjpAAAR8BAh99AQEfAAIffQACCx8GAR8AAh9gAAILHwEBHwACCx8DAR8ACAsfKjxgcJCVAAIfKgADHyo8AQILHwABCwECHyoAAWCARAABASs1AAACHYeBtQAAAkVbgD8AAAMfKkWM0QAAAh0ogTwAAQYNMC81PZsABQ0wLzU9AQAAAS8AAAkGDTAvNT2bAAAABQ0wLzU9BwYNMC81PZsDBQ0wLzU9CQADAg0vAQAABQ0wLzU9BAI1PQAAAAUNMC81PQMAAQMvNT0BAS9YAAMCNT0CAAACNT1ZAAAGDTAvNT2bAAI1PYASAA8BLx8AIwEvOwAnAS83ADABLw4ACwEvMgAAAS9XABgBLwkABAEvXwAeAS/AMe8AAAIdKIAPAAcCL0WApwACDh8hLC5BPDtOT1pgQ42VAg0fISwuQTw7TlpgQ42VAwsfISwuQTtOWkONlYA2AAACCx8AAAACH445AAADPkVegB8AAAIQOsAToQAAAgSRCQAAAgSRRgABBQ0wLzU9gJkABAYNMC81PZsJAAACNT0sAAECNT2A3wACAhxJAwAsAxxISQIACAIcSYEfABsCBBqPhAAAAiqOAAAAAiqONgABAiqOjBIAAQIqjgAAAAIqjsBcSwADASKWOwARAS+eXQABAS/OzS0AAENuLFVuYXNzaWduZWQATHUsVXBwZXJjYXNlX0xldHRlcgBMbCxMb3dlcmNhc2VfTGV0dGVyAEx0LFRpdGxlY2FzZV9MZXR0ZXIATG0sTW9kaWZpZXJfTGV0dGVyAExvLE90aGVyX0xldHRlcgBNbixOb25zcGFjaW5nX01hcmsATWMsU3BhY2luZ19NYXJrAE1lLEVuY2xvc2luZ19NYXJrAE5kLERlY2ltYWxfTnVtYmVyLGRpZ2l0AE5sLExldHRlcl9OdW1iZXIATm8sT3RoZXJfTnVtYmVyAFNtLE1hdGhfU3ltYm9sAFNjLEN1cnJlbmN5X1N5bWJvbABTayxNb2RpZmllcl9TeW1ib2wAU28sT3RoZXJfU3ltYm9sAFBjLENvbm5lY3Rvcl9QdW5jdHVhdGlvbgBQZCxEYXNoX1B1bmN0dWF0aW9uAFBzLE9wZW5fUHVuY3R1YXRpb24AUGUsQ2xvc2VfUHVuY3R1YXRpb24AUGksSW5pdGlhbF9QdW5jdHVhdGlvbgBQZixGaW5hbF9QdW5jdHVhdGlvbgBQbyxPdGhlcl9QdW5jdHVhdGlvbgBacyxTcGFjZV9TZXBhcmF0b3IAWmwsTGluZV9TZXBhcmF0b3IAWnAsUGFyYWdyYXBoX1NlcGFyYXRvcgBDYyxDb250cm9sLGNudHJsAENmLEZvcm1hdABDcyxTdXJyb2dhdGUAQ28sUHJpdmF0ZV9Vc2UATEMsQ2FzZWRfTGV0dGVyAEwsTGV0dGVyAE0sTWFyayxDb21iaW5pbmdfTWFyawBOLE51bWJlcgBTLFN5bWJvbABQLFB1bmN0dWF0aW9uLHB1bmN0AFosU2VwYXJhdG9yAEMsT3RoZXIAQdDZAguwCA4AAAA+AAAAwAEAAAAOAAAA8AAAAAB/AAAAgAMBAAA8QVNDSUlfSGV4X0RpZ2l0LEFIZXgAQmlkaV9Db250cm9sLEJpZGlfQwBEYXNoAERlcHJlY2F0ZWQsRGVwAERpYWNyaXRpYyxEaWEARXh0ZW5kZXIsRXh0AEhleF9EaWdpdCxIZXgASURTX0JpbmFyeV9PcGVyYXRvcixJRFNCAElEU19UcmluYXJ5X09wZXJhdG9yLElEU1QASWRlb2dyYXBoaWMsSWRlbwBKb2luX0NvbnRyb2wsSm9pbl9DAExvZ2ljYWxfT3JkZXJfRXhjZXB0aW9uLExPRQBOb25jaGFyYWN0ZXJfQ29kZV9Qb2ludCxOQ2hhcgBQYXR0ZXJuX1N5bnRheCxQYXRfU3luAFBhdHRlcm5fV2hpdGVfU3BhY2UsUGF0X1dTAFF1b3RhdGlvbl9NYXJrLFFNYXJrAFJhZGljYWwAUmVnaW9uYWxfSW5kaWNhdG9yLFJJAFNlbnRlbmNlX1Rlcm1pbmFsLFNUZXJtAFNvZnRfRG90dGVkLFNEAFRlcm1pbmFsX1B1bmN0dWF0aW9uLFRlcm0AVW5pZmllZF9JZGVvZ3JhcGgsVUlkZW8AVmFyaWF0aW9uX1NlbGVjdG9yLFZTAFdoaXRlX1NwYWNlLHNwYWNlAEJpZGlfTWlycm9yZWQsQmlkaV9NAEVtb2ppAEVtb2ppX0NvbXBvbmVudCxFQ29tcABFbW9qaV9Nb2RpZmllcixFTW9kAEVtb2ppX01vZGlmaWVyX0Jhc2UsRUJhc2UARW1vamlfUHJlc2VudGF0aW9uLEVQcmVzAEV4dGVuZGVkX1BpY3RvZ3JhcGhpYyxFeHRQaWN0AERlZmF1bHRfSWdub3JhYmxlX0NvZGVfUG9pbnQsREkASURfU3RhcnQsSURTAENhc2VfSWdub3JhYmxlLENJAEFTQ0lJAEFscGhhYmV0aWMsQWxwaGEAQW55AEFzc2lnbmVkAENhc2VkAENoYW5nZXNfV2hlbl9DYXNlZm9sZGVkLENXQ0YAQ2hhbmdlc19XaGVuX0Nhc2VtYXBwZWQsQ1dDTQBDaGFuZ2VzX1doZW5fTG93ZXJjYXNlZCxDV0wAQ2hhbmdlc19XaGVuX05GS0NfQ2FzZWZvbGRlZCxDV0tDRgBDaGFuZ2VzX1doZW5fVGl0bGVjYXNlZCxDV1QAQ2hhbmdlc19XaGVuX1VwcGVyY2FzZWQsQ1dVAEdyYXBoZW1lX0Jhc2UsR3JfQmFzZQBHcmFwaGVtZV9FeHRlbmQsR3JfRXh0AElEX0NvbnRpbnVlLElEQwBMb3dlcmNhc2UsTG93ZXIATWF0aABVcHBlcmNhc2UsVXBwZXIAWElEX0NvbnRpbnVlLFhJREMAWElEX1N0YXJ0LFhJRFMAQZDiAgu0IIEAKACXACoAgYAqAJfAKwAVgSwAlwAtAIFALQCXAC4AFUEuAJkBLwAWIDAAQghAAEKKRABCBEoAlgBMABeBTABCAk0AQkNOAC/BTwBCw1AAv0BSAEIDUwBCCVUAQghaAJYAXgBCQ14AgcBfAEIBaABCwWsAhQFxABfDcQBESHMARIN3AEKDeQC+AnsAl0F8AEIBfQBEBH4AQg6AAEKBhwBEh4kAgwSsABcDtgCDArgAFALQAJYA0QCAAN0Al4DeAICA3wCXAOEAPkHhAIDA4QC+BOIAroPqAK6C8gCtAfQALsH0AANB9QADA/wAgUD+AD4CAAG+wAEBvgEDAb5ABgG+QA4BPgIUAb7AFQG+ARcBRIEdAURBMAFEAjQBRIE1AUSDNgFEgzgBRIY6AUQBPgGFwGEB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SHpUSHq8AxMhbQATIWQAEyFrABMhZgBtbgBtvANtbQBtYwBtawBtYwAKCk8ACk9tALIAYwAICk8KClAAClBtALMAawBtALMAbQAVInMAbQAVInMAsgBQYWtQYU1QYUdQYXJhZHJhZNFzcgBhAGQAFSJzALIAcABzbgBzvANzbQBzcABWbgBWvANWbQBWawBWTQBWcABXbgBXvANXbQBXawBXTQBXawCpA00AqQNhLm0uQnFjY2NkQ9FrZ0NvLmRCR3loYUhQaW5LS0tNa3RsbWxubG9nbHhtYm1pbG1vbFBIcC5tLlBQTVBSc3JTdldiVtFtQdFtMQDlZTEAMADlZTIAMADlZTMAMADlZWdhbEoETAQmAVMBJ6c3q2sCUqtIjPRmyo7IjNFuMk7lU5yfnJ9RWdGRh1VIWfZhaXaFfz+Guof4iI+QAmobbdlw3nM9hGqR8ZmCTnVTBGsbci2GHp5QXetvzYVkicli2IEfiMpeF2dqbfxyzpCGT7dR3lLEZNNqEHLndgGABoZchu+NMpdvm/qdjHh/eaB9yYMEk3+e1orfWARfYHx+gGJyynjCjPeW2FhiXBNq2m0Pby99N35LltJSi4DcUcxRHHq+ffGDdZaAi89iAmr+ijlO51sSYIdzcHUXU/t4v0+pXw1OzGx4ZSJ9w1NeWAF3SYSqirprsI+IbP5i5YKgY2V1rk5pUclRgWjnfG+C0orPkfVSQlRzWexexWX+byp5rZVqmpeezp6bUsZmd2tij3RekGEAYppkI29JcYl0ynn0fW+AJo/uhCOQSpMXUqNSvVTIcMKIqorJXvVfe2Ouaz58dXPkTvlW51u6XRxgsnNpdJp/RoA0kvaWSJcYmItPrnm0kbiW4WCGTtpQ7ls/XJllAmrOcUJ2/IR8kI2fiGYulolSe2fzZ0FtnG4JdFl1a3gQfV6YbVEuYniWK1AZXeptKo+LX0RhF2iHc4aWKVIPVGVcE2ZOZ6ho5WwGdOJ1eX/PiOGIzJHilj9Tum4dVNBxmHT6haOWV5yfnpdny23ogct6IHuSfMBymXBYi8BONoM6UgdSpl7TYtZ8hVsebbRmO49MiE2Wi4nTXkBRwFUAAAAAWlgAAHRmAAAAAN5RKnPKdjx5XnlleY95Vpe+fL1/AAAShgAA+IoAAAAAOJD9kO+Y/JgombSd3pC3lq5P51BNUclS5FJRU51VBlZoVkBYqFhkXG5clGBoYY5h8mFPZeJlkWaFaHdtGm4ib25xK3IidJF4PnlJeUh5UHlWeV15jXmOeUB6gXrAe/R9CX5BfnJ/BYDtgXmCeYJXhBCJlokBizmL04wIjbaPOJDjlv+XO5h1YO5CGIICJk61UWhRgE9FUYBRx1L6Up1VVVWZVeJVWlizWERZVFliWihb0l7ZXmlfrV/YYE5hCGGOYWBh8mE0YsRjHGRSZFZldGYXZxtnVmd5a7prQW3bbstuIm8ecG5xp3c1cq9yKnNxdAZ1O3Uddh92ynbbdvR2SndAd8x4sXrAe3t8W330fT5/BYBSg++DeYdBiYaJlom/iviKy4oBi/6K7Yo5i4qLCI04j3KQmZF2knyW45ZWl9uX/5cLmDuYEpucn0ooRCjVM507GEA5QElS0FzTfkOfjp8qoAJmZmZpZmxmZmlmZmx/AXRzAHRlBQ8RDwAPBhkRDwjZBbQFAAAAAPIFtwXQBRIAAwQLDA0YGukFwQXpBcIFSfvBBUn7wgXQBbcF0AW4BdAFvAXYBbwF3gW8BeAFvAXjBbwFuQUtAy4DLwMwAzEDHAAYBiIGKwbQBdwFcQYAAAoKCgoNDQ0NDw8PDwkJCQkODg4OCAgICDMzMzM1NTU1ExMTExISEhIVFRUVFhYWFhwcGxsdHRcXJycgIDg4ODg+Pj4+QkJCQkBAQEBJSUpKSkpPT1BQUFBNTU1NYWFiYkkGZGRkZH5+fX1/fy6Cgnx8gICHh4eHAAAmBgABAAEArwCvACIAIgChAKEAoACgAKIAogCqAKoAqgAjACMAI8wGAAAAACYGAAYABwAfACMAJAIGAgcCCAIfAiMCJAQGBAcECAQfBCMEJAUGBR8FIwUkBgcGHwcGBx8IBggHCB8NBg0HDQgNHw8HDx8QBhAHEAgQHxEHER8SHxMGEx8UBhQfGwYbBxsIGx8bIxskHAccHxwjHCQdAR0GHQcdCB0eHR8dIx0kHgYeBx4IHh8eIx4kHwYfBx8IHx8fIx8kIAYgByAIIB8gIyAkIQYhHyEjISQkBiQHJAgkHyQjJCQKSgtKI0ogAEwGUQZRBv8AHyYGAAsADAAfACAAIwAkAgsCDAIfAiACIwIkBAsEDAQfJgYEIAQjBCQFCwUMBR8FIAUjBSQbIxskHCMcJB0BHR4dHx0jHSQeHx4jHiQfAR8fIAsgDCAfICAgIyAkI0okCyQMJB8kICQjJCQABgAHAAgAHwAhAgYCBwIIAh8CIQQGBAcECAQfBCEFHwYHBh8HBgcfCAYIHw0GDQcNCA0fDwcPCA8fEAYQBxAIEB8RBxIfEwYTHxQGFB8bBhsHGwgbHxwHHB8dBh0HHQgdHh0fHgYeBx4IHh8eIR8GHwcfCB8fIAYgByAIIB8gISEGIR8hSiQGJAckCCQfJCEAHwAhAh8CIQQfBCEFHwUhDR8NIQ4fDiEdHh0fHh8gHyAhJB8kIUAGTgZRBicGECIQIxIiEiMTIhMjDCIMIw0iDSMGIgYjBSIFIwciByMOIg4jDyIPIw0FDQYNBw0eDQoMCg4KDwoQIhAjEiISIxMiEyMMIgwjDSINIwYiBiMFIgUjByIHIw4iDiMPIg8jDQUNBg0HDR4NCgwKDgoPCg0FDQYNBw0eDCANIBAeDAUMBgwHDQUNBg0HEB4RHgAkACQqBgACGwADAgADAgADGwAEGwAbAgAbAwAbBAIbAwIbAwMbIAMbHwkDAgkCAwkCHwkbAwkbAwkbAgkbGwkbGwsDAwsDAwsbGwoDGwoDGwoCIAobBAobBAobGwobGwwDHwwEGwwEGw0bAw0bAw0bGw0bIA8CGw8bGw8bGw8bHxAbGxAbIBAbHxcEGxcEGxgbAxgbGxoDGxoDIBoDHxoCAhoCAhoEGxoEGxobAxobAxsDAhsDGxsDIBsCAxsCGxsEAhsEGygGHQQGHx0EHx0dHgUdHgUhHgQdHgQdHgQhHh0iHh0hIh0dIh0dAAYiAgQiAgQhAgYiAgYhAh0iAh0hBB0iBAUhBB0hCwYhDQUiDAUiDgUiHAQiHB0iIgUiIgQiIh0iHR0iGh0iHgUiGh0FHAUdER0iGx0iHgQFHQYiHAQdGx0dHAQdHgQFBAUiBQQiHQQiGR0iAAUiGx0dEQQdDR0dCwYiHgQiNQYAD50ND50nBgAdHSAAHAEKHgYeCA4dEh4KDCEdEh0jICEMHR41BgAPFCcGDh0i/wAdHSD/Eh0jIP8hDB0eJwYFHf8FHQAdICcGCqUAHSwAATACMDoAOwAhAD8AFjAXMCYgEyASAQBfXygpe30IMAwNCAkCAwABBAUGB1sAXQA+ID4gPiA+IF8AXwBfACwAATAuAAAAOwA6AD8AIQAUICgAKQB7AH0AFDAVMCMmKistPD49AFwkJUBABv8LAAv/DCAATQZABv8OAA7/DwAP/xAAEP8RABH/EgASIQYAAQECAgMDBAQFBQUFBgYHBwcHCAgJCQkJCgoKCgsLCwsMDAwMDQ0NDQ4ODw8QEBEREhISEhMTExMUFBQUFRUVFRYWFhYXFxcXGBgYGBkZGRkgICAgISEhISIiIiIjIyMjJCQkJCUlJSUmJiYmJycoKCkpKSkiBiIAIgAiASIBIgMiAyIFIgUhAIUpATABCwwA+vGgoqSmqOLk5sL7oaOlp6mqrK6wsrS2uLq8vsDDxcfJysvMzc7R1Nfa3d7f4OHj5efo6err7O7ymJkxMU8xVTFbMWExogCjAKwArwCmAKUAqSAAAAIlkCGRIZIhkyGgJcslmRC6EAAAAACbELoQBQWlELoQBTERJxEyEScRVUcTPhNHE1cTVbkUuhS5FLAUAAAAALkUvRRVULgVrxW5Fa8VVTUZMBkFV9Fl0VjRZdFf0W7RX9Fv0V/RcNFf0XHRX9Fy0VVVVQW50WXRutFl0bvRbtG80W7Ru9Fv0bzRb9FVVVVBAGEAQQBhAGkAQQBhAEEAQ0QAAEcAAEpLAABOT1BRAFNUVVZXWFlaYWJjZABmaABwAEEAYQBBQgBERUZHSgBTAGEAQUIAREVGRwBJSktMTQBPUwBhAEEAYQBBAGEAQQBhAEEAYQBBAGEAQQBhADEBNwKRA6MDsQPRAyQAHwQgBZEDowOxA9EDJAAfBCAFkQOjA7ED0QMkAB8EIAWRA6MDsQPRAyQAHwQgBZEDowOxA9EDJAAfBCAFCwwwADAAMAAwADAAJwYAAQUIKgYeCAMNIBkaGxwJDxcLGAcKAAEEBgwOEESQd0UoBiwGAABHBjMGFxAREhMABg4CDzQGKgYrBi4GAAA2BgAAOgYtBgAASgYAAEQGAABGBjMGOQYAADUGQgYAADQGAAAAAC4GAAA2BgAAOgYAALoGAABvBgAAKAYsBgAARwYAAAAALQY3BkoGQwYAAEUGRgYzBjkGQQY1BkIGAAA0BioGKwYuBgAANgY4BjoGbgYAAKEGJwYAAQUIICELBhAjKgYaGxwJDxcLGAcKAAEEBgwOECgGLAYvBgAASAYyBi0GNwZKBioGGhscCQ8XCxgHCgABBAYMDhAwLjAALAAoAEEAKQAUMFMAFTBDUkNEV1pBAEhWTVZTRFNTUFBWV0NNQ01ETVJESkswMABoaEtiV1vMU8cwjE4aWeOJKVmkTiBmIXGZZU1SjF+NUbBlHVJCfR91qYzwWDlUFG+VYlVjAE4JTkqQ5l0tTvNTB2NwjVNigXl6eghUgG4JZwhnM3VyUrZVTZEUMBUwLGcJToxOiVu5cFNi13bdUldll1/vUzAAOE4FAAkiAWBPrk+7TwJQelCZUOdQz1CeNDoGTVFUUWRRd1EcBbk0Z1GNUUsFl1GkUcxOrFG1Ud+R9VEDUt80O1JGUnJSd1IVNQIAIICAAAgAAMdSAAIdMz4/UIKKk6y2uLi4LApwcMpT31NjC+tT8VMGVJ5UOFRIVGhUolT2VBBVU1VjVYRVhFWZVatVs1XCVRZXBlYXV1FWdFYHUu5Yzlf0Vw1Yi1cyWDFYrFjkFPJY91gGWRpZIlliWagW6hbsWRtaJ1rYWWZa7jb8NghbPls+W8gZw1vYW+db81sYG/9bBlxTXyJcgTdgXG5cwFyNXOQdQ13mHW5da118XeFd4l0vOP1dKF49XmleYjiDIXw4sF6zXrZeyl6So/5eMSMxIwGCIl8iX8c4uDLaYWJfa1/jOJpfzV/XX/lfgWA6ORw5lGDUJsdgAgIAAAAAAAAACAAKAAACCACACAAACIAogAIAAAJIYQAEBgQyRmpcZ5aqrsjTXWIAVHfzDCs9Y/xiaGODY+Rj8SsiZMVjqWMuOmlkfmSdZHdkbDpPZWxlCjDjZfhmSWYZO5FmCDvkOpJRlVEAZ5xmrYDZQxdnG2chZ15nU2fDM0k7+meFZ1JohWhtNI5oH2gUaZ07QmmjaeppqGqjNttqGDwha6c4VGtOPHJrn2u6a7trjToLHfo6Tmy8PL9szWxnbBZtPm13bUFtaW14bYVtHj00bS9ubm4zPctux27RPvltbm9eP44/xm85cB5wG3CWPUpwfXB3cK1wJQVFcWNCnHGrQyhyNXJQcghGgHKVcjVHAiAAACAAAAAACIAAAAICgIoAACAACAoAgIiAIBRIenOLc6w+pXO4Prg+R3RcdHF0hXTKdBs/JHU2TD51kkxwdZ8hEHahT7hPRFD8PwhA9HbzUPJQGVEzUR53H3cfd0p3OUCLd0ZAlkAdVE54jHjMeONAJlZWeZpWxVaPeet5L0FAekp6T3p8Wadap1ruegJCq1vGe8l7J0KAXNJ8oELofON8AH2GX2N9AUPHfQJ+RX40QyhiR2JZQ9lien8+Y5V/+n8FgNpkI2VggKhlcIBfM9VDsoADgQtEPoG1WqdntWeTM5wzAYIEgp6Pa0SRgouCnYKzUrGCs4K9guaCPGvlgh2DY4OtgyODvYPng1eEU4PKg8yD3IM2bGttAgAAICIqoAoAIIAoAKggIAACgCICiggAqgAAAAIAACjVbCtF8YTzhBaFynNkhSxvXUVhRbFv0nBrRVCGXIZnhmmGqYaIhg6H4oZ5hyiHa4eGh9dF4YcBiPlFYIhjiGd214jeiDVG+oi7NK54Znm+RsdGoIrtioqLVYyofKuMwYwbjXeNL38ECMuNvI3wjd4I1I44j9KF7YWUkPGQEZEuhxuROJLXktiSfJL5kxWU+ouLlZVJt5V3jeZJw5ayXSOXRZEakm5KdkrglwqUskqWlAuYC5gpmLaV4pgzSymZp5nCmf6ZzkswmxKbQJz9nM5M7Uxnnc6g+EwFoQ6ikaK7nlZN+Z7+ngWfD58WnzufAKYCiKAAAAAAgAAoAAiggKCAAICAAAqIgACAACAqAIAARCAVIgBBsMoDC1FNAwCXBSDGBQDnBgBFBwDiCABTCQDNCyA4DgBzDyBdEyBgGiCqGwD0HAD+HSB/LSDwpgCyqgD+AQGrDgFzESFwEwG4FgGaGgGfvAEi4AFL6QEAQZDLAwvTBrLP1ADoA9wA6ADYBNwBygPcAcoK3AQBA9zHAPDAAtzCAdyAwgPcwADoAdzAQekA6kHpAOoA6cyw4sSw2ADcwwDcwgDeANzFBdzBANzBAN4A5MBJCkMTgAAXgEEYgMAA3IAAErAXx0Ier0cbwQHcxADcwQDcjwAjsDTGgcMA3MCBwYAA3MEA3KIAJJ3AANzBANzBAtzAAdzAANzCANzAANzAANzAANzBsG/GANzAiADcl8OAyIDCgMSqAtywRgDczYAA3MEA3MEA3MIC3EIbwgDcwQHcxLALAAePAAmCwADcwbA2AAePAAmvwLAMAAePAAmwPQAHjwAJsD0AB48ACbBOAAmwTgAJhgBUAFuwNAAHjwAJsDwBCY8ACbBLAAmwPAFnAAmMA2uwOwF2AAmMA3qwGwHcmgDcgADcgADYsAZBgYAAhIQDgoEAgoDBAAmAwbANANywPwAHgAEJsCEA3LKewrODAAmeAAmwbAAJicCwmgDksF4A3sAA3LCqwADcsBYACZPHgQDcr8QF3MEA3IAB3LBCAAeOAAmlwADcxrAFAQmwCQAHigEJsBIAB7BnwkEABNzBA9zAQQAFAYMA3IXAgsGwlcEA3MYA3MEA6gDWANwAyuQA6AHkANyAwADpANzAANyyn8EBAcMCAcGDwIIBAcAA3MABAQPcwLgDzcKwXAAJsC/fsfkA2gDkAOgA3gHgsDgBCLhto8CDyZ/BsB/BsOMACaQACbBmAAma0bAIAtykAAmwLgAHiwAJsL7AgMEA3IHBhMGAwLADAAmwxQAJuEb/ABqy0MYG3MGznADcsLEA3LBkxLZhANyAwKfAAAEA3IMACbB0wADcsgzDsVLBsGgB3MIA3MAD3LDEAAmwBwAJsAgACQAHsBTCrwEJsA0AB7AbAAmIAAewOQAJAAewgQAHAAmwHwEHjwAJl8aCxLCcAAmCAAeWwLAyAAkAB7DKAAkAB7BNAAmwRQAJAAewQgAJsNwACQAHsNEBCYMAB7BrAAmwIgAJkQAJsCAACbF0AAmw0QAHgAEJsCAACbhFJwQBsArGtIgBBrhEewABuAyVAdgCAYIA4gTYhwfcgcQB3J3DsGPCuAWKxoDQgcaAwYDEsNTGsYTDta8G3LA8xQAHAEHw0QML4g4BSsBJAkqAAoECggKDAsACwgIACoQCQiSFAsAHgAmCCUAkgCLEAoIihCKGIsYCyALKAswChwKKIs4CjCKQIpIijiKIAokCigKCJAADAgMEA4sCgCQIA4QJhglYJAIKBgOYIpoiniIACQoDoCIMAw4DQAgQAxIDoiKmIsAJpCKoIqoijAKNAo4CQANCA0QDgAOPAo4kwgeICYoJkCRGA6wiAASwIkIIsiICBLQiQAREBLYiQgTCIsAixCLGIsgiQAnABJECyiLEBMwiwgTQIs4ikgKTApQClQJABUIFCAqWApQkRAXEB4wJjgnABpIkRAgIIwojgAUMI4QFkAmSCQ4jggUSI4YFiAUUI4wFFiOYCYoFHiOQBSAjmgmOBSQjIiOZApoCmwLABcIFxAWcAqwkxgXIBcYHlAmWCQAHqiQmI8oFKiMoI0AjQiNEI0YjzAVKI0gjTCNOI1AjuCSdAs4FviQMClIjAAa8JLokQAZUI0IGRAZWI1gjoAKhAqICowLBAsMCAQqkAkMkpQLBB4EJgwlBJIEixQKDIoUihyLHAskCywLNAqcCiyLPAo0ikSKTIo8iqAKpAqoCgyQBAwMDBQOrAoEkCQOFCYcJWSQDCgcDmSKbIp8iAQkLA6EiDQMPA0EIEQMTA6MipyLBCaUiqSKrIoAjrAKtAq4CQQNDA0UDrwKPJMMHiQmLCZEkRwOtIgEEhAixIkMIsyIDBLUiQQRFBLciQwTDIsEixSLHIskiQQnBBLECyyLFBM0iwwTRIs8isgKzArQCtQJBBUMFCQq2ApUkRQXFB40JjwnBBpMkRQgJIwsjgQUNI4UFkQmTCQ8jgwUTI4cFiQUVI40FFyOZCYsFHyOBI5EFISObCY8FJSMjI7kCugK7AsEFwwXFBbwCrSTHBckFxweVCZcJAQerJCcjywUrIykjQSNDI0UjRyPNBUsjSSOCI00jTyNRI7kkvQLPBb8kDQpTI78CvSSDI7skQQZVI0MGRQZXI1kjATGADAAuRiREJEokSCQACEIJRAkECIgihiSEJIokiCSuIpgkliScJJokACMGCgIjBApGCc4HygfIB8wHRyRFJEskSSQBCEMJRQkFCIkihySFJIskiSSvIpkklySdJJskASMHCgMjBQpHCc8HywfJB80HUCROJFQkUiRRJE8kVSRTJJQiliKVIpciBCMGIwUjByMYIxkjGiMbIywjLSMuIy8jACSiJKAkpiSkJKgkoyShJKckpSSpJLAkriS0JLIktiSxJK8ktSSzJLckggiACIEIAggDCJwinSIKCgsKgwhAC4osgQyJLIgsQCVBJQAtBy4ADUAmQSaALgENyCbJJgAvhC8CDYMvgi9ADdgm2SaGMQQNQCdBJwAxhjAGDYUwhDBBDUAoADIHDU8oUCiAMoQsAy5XKEINgSyALMAkwSSGLIMswChDDcAlwSVAKUQNwCbBJgUuAi7AKUUNBS8EL4AN0CbRJoAvQCqCDeAm4SaAMIEwwCqDDQQwAzCBDcAnwSeCMEArhA1HKEgohDGBMQYvCA2BLwUwRg2DMIIxAA4BDkAPgBGCEQMPAA/AEQEPQBECEgQSgQ9AEsAPQhKAD0QShBKCD4YSiBKKEsASghKBEYMRQxBAEMERQRBBEQMSBRLBEEESABBDEsAQRRKFEsIQhxKJEosSwRKDEoAQABEBEQASARKAEoESQBNBE0MTQhNEE8ITABTAE0AUgBTAFEAVQRVAFwAXQRfAFwAYAhgBGEAYgBgAGcAYwRgBGUAZQhlBGYAZwBnCGcEZgBzAHMAdgB8AIAIgBCAGIAggQCCAIIIgwCDBIAAhuCK5IhAjESMcIx0jTCRWJE0kVySMJI0kniSfJAAlAiUEJcArASUDJQUlwSvCK8MrxCvFK8YrxyuAJYIlhCXIK4ElgyWFJckryivLK8wrzSvOK88rACYCJgEmAyaAJoImgSaDJsImxCbGJgAswybFJscmASwCLAMsBCwFLAYsByzKJswmziYILMsmzSbPJgksCiwLLAwsDSwOLA8s0ibUJtYm0ybVJtcm2ibcJt4m2ybdJt8mACcCJwEnAyeAJ4IngSeDJwAoAigEKAEoAygFKEIoRChGKEkoSyhNKEAsSihMKE4oQSxCLEMsRCxFLEYsRyxRKFMoVShILFIoVChWKEksSixLLEwsTSxOLE8sgiwBLoAxhywBLwIvAy8GLoUxADABMAIwQEZBRoBGwEbCRsFGAEdAR4BHwEfCRwBJQEmASYJJAErCSQNKBEpASkFKgEqBSsBKwUrAS8FLAEsBS0BLQUvCS8NLgEuBS4JLg0sATAFMAkwDTABWQFRCVERURlRIVEpUTFROVFBUUlRUVFZUgFSCVIRUwFTBVABVAVVAVUFVgFWBVcBVwVWAVsBYAFcCVwRXBlcIVwpXDFcOVxBXElcUVxZXQFdCV0RXgFeBV8BXwVcAWAFYQFhBWIBYgVgAWQFZAlkDWUBZgI6CjsCOAI8Bj0CPQY+Bj4CPg4/Aj8GPAJAAQeDgAwumH/oYF1YNVhITFgwWETbpAjZMNuESEhYTDhAO4hISDBMM+hkXFm0PFg4PBRQMGw8ODwwrDgI2DgsFFUsW4Q8MweIQDOIA/zAC/wgC/ye/IiECX18hImECIQJBQiECIQKffwJfXyECXz8CBT8iZQEDAgEDAgEDAv8IAv8KAgEDAl8hAv8yoiECISJfQQL/AOI8BeIT5Apu5ATuBoTOBA4E7gnmaH8EDj8gBEIWAWAuARZBAAEAIQLhCQDhAeIbPwJBQv8QYj8MXz8C4SviKP8aD4Yo/y//BgL/WADhHiAEtuIhFhEgLw0A5iURBhYmFiYWBuAA5RNgZTbgA7tMNg02L+YDFhsANuUYBOUC5g3pAnYlBuVbFgXGGw+mJCYPZiXpAkUvBfYGABsFBuUW5hMg5VHmAwXgBukC5RnmASQPVgQgBi3lDmYE5gEERgSGIPYHAOURRiAWAOUD4C3lDQDlCuAD5gcb5hgH5S4GBwYFR+YAZwYnBcblAiY26QIWBOUHBicA5QAgJSDlDgDFAAVAZSAGBUdmICcgJwYF4AAHYCUARSYg6QIlLasPDQUWBiAmBwClYCUg5Q4AxQAlACUAJSAGAEcmYCYgRkAGwGUABcDpAiZFBhbgAiYHAOUBAEUA5Q4AxQAlAIUgBgVHhgAmBwAnBiAF4AclJiDpAhYNwAWmAAYnAOUAICUg5Q4AxQAlAIUgBgUHBgdmICcgJwbAJgdgJQBFJiDpAg8Fq+ACBgUApUBFAGVAJQAFACVAJUBFQOUEYCcGJ0BHAEcGIAWgB+AG6QJLrw0PgAZHBuUAAEUA5Q8A5QhABUZnAEYAZsAmAEWAJSYg6QLAFssPBQYnFuUAAEUA5Q8A5QIAhSAGBQcGhwAGJwAnJsAnwAUAJSYg6QIAJeAFJiflAQBFAOUhJgVHZgBHAEcGBQ9gRQfLRSYg6QLrAQ+lAAYnAOUKQOUQAOUBAAUgxUAGYEdGAAYA5wCg6QIgJxbgBOUoBiXGYA2lBOYAFukCNuAdJQAFAIUA5RAABQDlAgYl5gEFIIUABACmIOkCIGXgGAVP9gcPFk8mr+kC6wIPBg8GDwYSExITJ+UAAOUcYOYGB4YWJoXmAwDmHADvAAavAC+WbzbgHeUjJ2YHpgcmJyYF6QK2pScmZUYFRyXHRWblBQYnJqcGBQfpAkcGL+EeAAGAASDiIxYEQuWAwQBlIMUABQBlIOUhAGUg5RkAZSDFAAUAZSDlBwDlMQBlIOU7IEb2AesMQOUI7wKg4U4goiAR5YHkDxblCRflEhITQOVDVkrlAMDlBQBlRuAD5QpGNuAB5Qom4ATlBQBFACbgBOUsJgfG5wAGJ+YDVgRWDQUGIOkCoOsCoLYRdkYbAOkCoOUbBOUtwIUm5RoGBYDlPuAC5RcARmcmR2AnBqdGYA9ANukC5RYgheAD5SRg5RKg6QILQO8a5Q8mJwYgNuUtBwYHxgAGBwYn5gCn5gIgBukCoOkCoNYEtiDmBggm4DdmB+UnBgeGBwaHBifFYOkC1u8C5gHvAUAmB+UWB2YnJgdGJekC5SQGByZHBgdGJ+AAduUc5wDmACcmQJbpAkBF6QLlFqQ24gHA4SMgQfYA4ABGFuYFB8ZlBqUGJQcmBYDiJOQ34gUE4hrkHeYyAIb/gA7iAP9a4gDhAKIgoSDiAOEA4gDhAKIgoSDiAAABAAEAAQA/wuEA4gYg4gDjAOIA4wDiAOMAggAiYQMOAk5CACJhA05iICJhAE7iAIFOIEIAImEDLgD3A5uxNhQVEjQVEhT2ABgZmxf2ARQVdjBWDBIT9gMMFhD2AhebAPsCCwQgq0wSEwTrAkwSEwDkBUDtGOAI5gVoBkjmBOAHLwFvAS8CQSJBAg8BLwyBrwEPAQ8BD2EPAmECZQIvIiGMP0IPDC8CD+sI6hs/agsvYIyPLG8MLwwvDM8M7xcsLwwPDO8X7ICE7wASExIT7wwszxIT70kM7xbsEe8grO894BHvA+AN6zTvRusO74AvDO8BDO8u7ADvZwzvgHASExITEhMSExITEhMSE+sW7ySMEhPsFxITEhMSExITEhPsCO+AeOx7EhMSExITEhMSExITEhMSExITEhMSE+w3EhMSE+wYEhPsgHrvKOwNL6zvHyDvGADvYeEnAOInAF8hIt9BAj8CP4IkQQL/WgKvf0Y/gHYLNuIeAAKAAiDlMMAEFuAGBuUP4AHFAMUAxQDFAMUAxQDFAMUA5hg2FBUUFVYUFRYUFfYBETYRFhQVNhQVEhMSExITEhOWBPYCMXYRFhL2BS8W4CXvEgDvUeAE74BO4BLvBGAXVg8EBQoSExITEhMSExITLxITEhMSExITERIzD+oBZicRhC9KBAUWLwDlTiAmLiQFEeVSFkQFgOUjAOVWAC9r7wLlGO8c4ATlCO8XAOsC7xbrAA/rB+8Y6wLvH+sH74C45Zk47zjlwBF1QOUNBOWD70DvL+AB5SCkNuWAhARW5QjpAiXgDP8mBQZIFuYCFgT/FCQm5T7qAia24ADuD+QBLv8GIv82BOIAn/8CBC5/BX8i/w1hAoEC/wIgX0ECP+AiPwUkAsUGRQZlBuUPJyYHbwZAqy8ND6DlLHbgACflKucIJuAANukCoOYKpVYFFiUG6QLlFOYANuUP5gMn4AMW5RVARgflJwYnZicmR/YFAATpAmA2hQYE5QHpAoUA5SGmJyYnJuABRQblAAYHIOkCIHblCASlTwUHBgflKgYFRiUmhSYFBgXgECUENuUDByYnNgUkBwbgAqUgpSCl4AHFAMUA4iMOZOIBBC5g4kjlGycGJwYnFgcGIOkCoOWrHOAE5Q9g5Slg/Id4/Zh45YDmIOVi4B7C4ASCgAUG5QIM5QUAhQAFACUAJQDlZO4I4AnlgOMTEuAI5Tgg5S7gIOUEDQ8g5gjWEhMWoOYIFjEwEhMSExITEhMSExITEhMSEzYSE3ZQVgB2ERITEhMSE1YMEUwAFg02YIUA5X8gGwBWDVYSExYMFhE26QI2TDbhEhIWEw4QDuISEgwTDBITFhITNuUCBOUlJOUXQKUgpSClIEVALQwODy0AD2wv4AJbLyDlBADlEgDlCwAlAOUHIOUG4Brlc4BWYOslQO8B6i1r7wkrTwDvBUAP4CfvJQbgeuUVQOUp4AcG6xNg5Rhr4AHlDArlAAqA5R6GgOUWABblHGDlABaK4CLhIOIg5UYg6QKg4Rxg4hxg5SDgAOUs4AMW4IAI5YCv4AHlDuAC5QDggBClIAUA5SQAJUAFIOUPABbrAOUPL8vlF+AA6wHgKOULACWAi+UOq0AW5RKAFuA45TBgKyXrCCDrJgVGACaAZmUARQDlFSBGYAbrAcD2AcDlFSsW5RVL4BjlAA/lFCZgi9bgAeUuQNblDiDrAOULgOsA5QrAduAEy+BI5UHgL+Er4AXiK8Cr5Rxm4ADpAuCAnusXAOUiACYRICXgRuUV6wIF4ADlDuYDa5bgTuUNy+AM5Q/gAQcGB+Ut5gfWYOsM6QLgB0YH5SVHZicmNht24AMbIOURwOkCoEblHIYH5gAA6QJ2BScF4ADlGwY2BeABJgflKEfmASdldmYWBwbpAgUWBVYA6wzgA+UKAOURR0YnBgcmtgbgOcUABQBlAOUHAOUCFqDlJwZH5gCA6QKgJicA5QAgJSDlDgDFACUAhQAmBScGZyAnIEcgBaAHgIUnIMZAhuCAA+UtR+YAJ0YHBmWW6QI2ABYGReAW5ShHpgcGZyYHJiUWBeAA6QLggB7lJ0dmIGcmByb2D2Um4BrlKEfmACcGByZWBeAD6QKg9gXgC+UjBgcGJ6YHBgXA6QLgLuUTIEYnZgeGYOkCK1YP4IA45SRH5gEHJhbgXOEY4hjpAusB4ATlACAFIOUAACUA5RCnACcgJgcGBQcFBwZW4AHpAuA+5QAg5R9HZiAmZwYFFgUH4BMF5gLlIKYHBWb2AAbgAAWmJ0blJuYFByZWBZbgFeUx4IB/5QEA5R0HxgCmBwYFluAC6QLrC0A25RYg5g4AB8YHJgcm4EHFACUA5R6mQAYAJgDGBQbgAOkCoKUAJQDlGIcAJgAnBgcGBcDpAuCAruULJic24IAvBeAH6w3vAG3vCeAFFuWDEuBe6mcAluAD5YA84Io05YOnAPsB4I8/5YG/4KEx5YGxwOUXAOkCYDbgWOUWIIYW4ALlKMaWb2QWD+AC6QIAywDlDYDlC+CCKOEY4hjrD3bgXeVDYAYF5y/AZuQF4DgkFgQG4AMn4Abll3DgAOWETuAi5QHgom/lgJfgKUXgCWXgAOWBBOCIfOVjgOUFQOUBwOUCIA8mFnvgktTvgG7gAu8fIO80J0ZPp/sA5gAvxu8WZu8z4A/vOkYP4IAS6wzgBO9P4AHrEeB/4RLiEuESwgDiCuES4hIBACEgASAhIGEA4QBiAAIAwgDiA+ES4hIhAGEg4QAAwQDiEiEAYQCBAAFAwQDiEuES4hLhEuIS4RLiEuES4hLhEuIS4RLiFCDhEQziEQyi4REM4hEMouERDOIRDKLhEQziEQyi4REM4hEMoj8g6SrvgXjmL2/mKu8ABu8GBi+W4AeGAOYH4ITIxgDmCSDGACYAhuCATeUlQMbEIOkCYAUP4IDo5SRm6QKADeCEeOWAPSDrAcbgIeEa4hrGBGDpAmA24IKJ6zMPSw1r4ETrJQ/rB+CAOmUA5RMAJQAFIAUA5QIAZQAFAAWgBWAFAAUABQBFACUABSAFAAUABQAFAAUAJQAFIGUAxQBlAGUABQDlAgDlCYBFAIUA5QngLCzggIbvJGDvXOAE7wcg7wcA7wcA7x3gAusF74AZ4DDvFeAF7yRg7wHAL+AGr+CAEu+Ac47vglDgAO8FQO8FQO9s4ATvUcDvBOAM7wRg7zDgAO8CoO8g4ADvFiAv4EbvcQDvSgDvf+AE7wYgj0BPgM/gAe8RwM/gAU/gBc/gIe+ACwDvL+Ad6QLgg37lwGZW4Brlj63gA+WAViDllfrgBuWcqeCLl+WBluCFWuWSw+DKrC4b4Bb7WOB45oBo4MC9iP3Av3Yg/cC/diAAAPUrAAB6FAAA/AUAAAAAAACAAAEAoAABAHABAQAQAwEAQwMBAGADAQCwAwEA0AMBANsDAQDwAwEAIJEAABAEAQAwBAEAUAQBAHAEAQCgBAEAWQYBAF4GAQBwBgEAsAYBANAGAQBACAEAmQgBAKUIAQCqCAEAsAgBAPIIAQD2CAEAEAkBAGAJAQCaCQEAsAkBAM8JAQDYCQEA4AkBAKAKAQDwCgEA8AsBABoMAQAwDAEAUAwBAAANAQDwDQEADA4BABAOAQBgDgEA8A4BAJAPAQCQjAAAgIkAQZCABAtkHADIAJsBMwAPAEEAIAALAAwAEQByAh8AFwAWACEAuQEFAAoANQAXAGYBWQAMAAUABABCAAQADwBHADoACwAfAAkABAC8AEcA8QAqAAwAFgCrAO4AHAAEAEIAkACcADMAFQS0AgBBgIEEC9IFrID+gETbgFJ6gEgIgU4EgELigGDNZoBAqIDWgAAAAADdgENwEYCZCYFcH4CagoqAn4OXgY2BwIwYERyRAwGJABQoEQkCBRMkyiEYCAgAIQsLkQkABgApQSGDQKcIgJeAkIBBvIGLiCQhCRSNAAGFl4G4AICcg4iBQVWBnolBkpW+g5+BYNRiAAOAQNIAgGDUwNSAxgEICQuAiwAGgMADDwaAmwMEABaAQVOBmICYgJ6AmICegJiAnoCYgJ6AmAeBsVX/GJoBAAiAiQMAACgYAAACAQAIAAAAAAEACwYDAwCAiYCQIgSAkAAAAAAAAAAAQ0SAQmmNAAEBAMeKr4wGj4DkMxkLgKKAnY/liuQKiAIDQKaLFoWTtQmOASKJgZyCuTEJgYmAiYGcgrkjCQuAnQqAioK5OBCBlIGVE4K5MQmBiIGJgZ2AuiIQgomAp4O5MBAXgYqBnIK5MBAXgYqBm4O5MBCCiYCJgZyCyigAh5GBvAGGkYDiASiBj4BAopCKioCj7YsAC5YbEBEyg4yLAImDRnOBnYGdgZ2BwZJAu4GhgPWLg4hA3YS4iYGTyYG+hK+Ou4KdiAm4irGSQa+NRsCzSPWfYHhzh6GBQWEHgJaE14GxjwC4gKWEm4usg6+LpIDCjYsHgayCsQARDICrJIBA7IdgTzKASFaERoUQDINDE4NBgoFBUoK0jbuArIjGgqOLkYG4gq+MjYHbiAgoQJ+JloO5MQmBiYCJgUDQjALpkUDsMYacgdGOAOmK5o1BAIxA9igJCgCAQI0xK4Cbiakgg5GKrY1BljiG0pWAjfkqAAgQAoDBIAiDQVuDYFBXALYz3IFgTKuAYCNgMJAOAQRJG4BH55mFmYWZAAAAAABAqYCOgEH0iDGdhN+As4BZsL6MgKGkQrCAjICPjEDSj0NPmUeRgWB6HYFA0YBAhoFDYYNgIV+PQ0WZYcxfmYWZhZkAQeCGBAtBSb2Al4BBZYCXgOWAl4BA6YCRgeaAl4D2gI6ATVSARNWAUCCBYM9tgVOdgJeAQVeAi4BA8IBDf4BguDMHhGwurN8AQbCHBAs3Q06ATg6BRlKBSK6AUP2AYM46gM6IbQAGAJ3f/0DvTg9YhIFIkICUgE9rgUC2gELOgE/giEZngABB8IcECxFF/4VA1oCwgEHRgGEH2YCOgABBkIgECzdDeYBKt4D+gGAh5oFgy8CFQZWB8wAAAAAAAACAQR6BAEN5gGAtH4Fgy8CFQZWB8wAAAAAAAACAAEHQiAQLFkHDCAiBpIFO3KoKToc/P4eLgI6AroAAQfCIBAshQN6Az4CXgEQ8gFkRgEDkPz+HiREFAhGAqRGAYNsHhouEAEGgiQQLhQRAnwYAAQABEhCCn4DPAYCLB4D7AQGApYBAu4ieKYTaCIGJgKMEAgQIgMmCnIBBk4BAk4DXg0Leh/sIgNIBgKERgED8gULUgP6Ap4GtgLWAiAMDA4CLgIgAJoCQgIgDAwOAi4BBQYDhgUZSgdSDRRwQioCRgJuMgKGkQNmAQNUAAAAAAAABPz+HiREEACkEEoCIEoCIEREECI8AIIsSKggLAAeCjAaSgZqAjIqA1hgQigEMCgAQEQIGBRyFj4+PiIBAoQiBQPeBQTTVmZpFIIDmguSAQZ6BQPCAQS6A0oCLQNWpgLQAgt8JgN6AsN2Cjd+egKeHroBBf2Bym4FA0YBAhoFDYYOIgGBNlUENCACBiQAACYLDgemlhoskAJcEAAEBgOugQWqRv4G1p4yCmZWUgYuAkgMaAIBAhgiAn5lAgxUNDQoWBoCIYLymg1S5ho2Hv4VCPtSAxgEICQuAiwAGgMADDwaAmwMEABaAQVOBQSOBsVX/GJoBAAiAiQMAACgYAAACAQAIAAAAAAEACwYDAwCAiYCQIgSAkEJDioSegJ+ZgqKA7oKMq4OIMUmdiWD8BUIdawXhT/+viTWZhUYbgFnwgZmEtoMAAAAAAAAAAKyARVuAsoBOQIBEBIBICIW8gKaAjoBBhYBMAwGAnguAQdqAkoDugGDNj4GkgImAQKiAT56AAEGwjQQLF0FIgEUogEkCAIBIKIFIxIVCuIFt3NWAAEHQjQQL5gLdAIDGBQMBgUH2QJ4HJZALgIiBQPyEQNCAtpCAmgABAECFO4FAhQsKgsKa2oq5iqGBQMibvICPAoObgMmAj4DtgI+A7YCPgK6Cu4CPBoD2gP6A7YCPgOyBj4D7gPsogOqAjITKgZoAAAOBwRCBvYDvAIGnC4SYMICJgULAgkRoioiAQVqCQTg5gK+N9YCOgKWItYFAiYG/hdGYGCgKsb7Yi6QigkG8AIKKgoyCjIKMgUzvgkE8gEH5heiD3oBgdXGAiwiAm4HRgY2h5YLsgUDJgJqRuIOjgN6Ai4CjgECUgsCDsoDjhIiC/4FgTy+AQwCPQQ0AgK6ArIHCgEL7gEgDgUI6hUIdikFngfeBvYDLgIiC54FAsYHQgI+AlzKEQMwCgPqBQPqB/YD1gfKAQQyBQQELgECbgNKAkYDQgEGkgEEBAIHQgGBNV4S6hkRXkM+BYGF0Ei85hp2DT4GGQbSDRd+G7BCCAEHAkAQLxQFAtoBCF4FDbYBBuIBDWYBC74D+gElCgLeAQmKAQY2Aw4BTiICqhOaB3IJgbxWARfWAQ8GAlYBAiIDrgJSBYFR6gFPrgEJngkTOgGBQqIFEmwiAYHFXgUgFgq+JNZmFYP6oiTWZhWAv7wmHYC/xgQAAYDAFgZiIjYJDxFm/v2BR/GBZAkFtgelgdQmAmlf3h0TVqYhgJGZBi2BNA2Cm3aFQNIpA3YFWgY1dMEweQh1F4VNKYCALgU4/hPqESu8RgGCQ+QkAgQBBkJIEC0dg/c+fQg2BYP/9gWD//YFg//2BYP/9gWD//YFg//2BYP/9gWD//YFg//2BYP/9gWD//YFg//2BYP/9gWD//YFg//2BYP/9gQBB4JIEC0WgjomGmRiAmYOhMAAIAAsDAoCWgJ6AXxeXh46BkoCJQTBCz0CfQnWdRGtB//9BgBOYjoBgzQyBQQSBiISRgOOAX4eBl4EAQbCTBAu3AqEDgECCgI6AX1uHmIFOBoBByIOMgmDOIINAvAOA2YFgLn+ZgNiLQNVh8eWZAAAAAKCAi4CPgEVIgECTgUCzgKqCQPWAvAACgUEkgUbjgUMVA4FDBIBAxYFAywSAQTmBQWGDQK0JgUDagcCBQ7uBiIJN44CMgEHEgGB0+4BBDYFA4gKAQX2B1YHegECXgUCSgkCPgUD4gGBSZQKBQKiAi4CPgMCASvOBRPyEQOyB9IP+gkCADYCPgdcIgeuAQaCBQXQMjuiBQPiCQgQAgED6gdaBQaOBQrOBYEt0gUCEgMCBioBDUoBgTgWAXeeAAAAAAOiBQMOAQRiAnYCzgJOAQT+A4QCAWQiAsoCMAoBAg4BAnIBBpIBA1YFLMYBhp6SBsYGxgbGBsYGxgbGBsYGxgbGBsYGxgbGBAEHwlQQL8QGggIkAgIoKgEM9B4BCAIC4gMeAjQGBQLOAqooAQOqBtY6egEEEgUTzgUCrA4VBNoFDFIdDBID7gsaBQJwSgKYZgUE5gUFhg0CtCIJA2oS9gUO7gYiCTeOAjAOAiQCBQbCBYHT6gUEMgkDihEF9gdWB3oBAloJAkoL+gI+BQPiAYFJjEINAqICJAICKCoDAAYBEOYCvgESFgEDGgEE1gUCXhcOF2INDt4RA7Ibvg/6CQIANgI+B14TrgEGggouBQWUajuiBQPiCQgQAgED6gdYLgUGdgqyAQoSBRXaEYEX4gUCEgMCCiYBDUYFgTgWAXeaDAEHwlwQLNmAz/1m/v2BR/GBaEAgAgYkAAAmCYQXVYKbdoVA0ikDdgVaBjV0wVB5TSlgKgmDl8Y9tAu9A7wBBsJgECxaIhJGA44CZgFXegEl+ipwMgK6AT5+AAEHQmAQLggSngZEAgJsAgJwAgKyAjoBOfYNHXIFJm4GJgbWBjYFAsIBAvxoqAgoYGAADiCCAkSOICAA5ngsgiAmSIYghC5eBjzuTDoFEPI3JARgIFBwSjUGSlQ2AjTg1EBwBDBgCCYkpgYuSAwgACAMhKpeBigsYCQuqD4CnIAAUIhgUAED/gEICGgiBjQmJQd2JD2DOPCyBQKGBkQCAmwCAnAAACIFg13aAuIC4gLiAuIAAAAAAAKIFBInuA4BfjICLgEDXgJWA2YWOgUFugYuAQKWAmIoaQMaAQOaBiYCIgLkYhIgBAQkDAQAJAgIPFAAEi4oJAAiAkQGBkSgACgwBC4GKDAkECACBkwwoGQMBASgBAAAFAgWAiYGOAQMAAxCAioGvgoiAjYCNgEFzgUHOgpKBsgOARNmAi4BCWACAYb1pgEDJgECfgYuBjQGJypkBloCTAYiUgUCtoYHvCQKB0gqAQQaAvooolzEPiwEZA4GMCQeBiASCixcRAAMFAgXVr8UnCj0QARCBiUDii0EfroCJgLGA0YCy7yIUhoiYNoiCjIYAAKIFBIlf0oBA1IBg3SqAYPPVmUH6hEWvg2wGa99h8/qEYCYcgEDagI+DYcx2gLsRAYL0CYqUkhAaAjAAl4BAyAuAlAOBQK0ShNKAj4KIgIqAQj4BBz2AiIkKt4C8CAiAkBCMAEHgnAQL+QRgIxmBQMwaAYBCCIGUgbGLqoCSgIwHgZAMDwSAlAYIAwEGA4GbgKIAAxCAvIKXgI2AQ1qBsgOAYcStgEDJgEC9AYnKmQCXgJMBIIKUgUCtoIuIgMWAlYuqHIuQEILGAIBAuoG+jBiXkYCZgYyA1dSvxSgSCpIOiEDii0EfroCJgLGA0YCy7yIUhoiYNoiCjIZAqAOAX4yAi4BA14CVgNmFjoFBboGLgN6AxYCYihpAxoBA5oGJgIiAuRgoi4DxifWBigAAKBAoiYGOAQMAAxCAioSsgoiAjYCNgEFzgUHOgpKBsgOARNmAi4BCWACAYb1lQP+Mgp6Au4WLgY0BiZG4mo6JgJMBiAOIQbGEQT2HQQmv//OL1KqLg7eHiYWnh53Ri66AiYBBuED/Q/0AAAAAQKyAQqCAQsuAS0GBRlKB1INH+4SZhLCPUPOAYMyaj0DugECfgM6IYLymg1TOh2wuhE//Hw8HAwEAAAAAAAAAAIAAAAAACAAAAAABAAAAIAAAAAAEAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAAEAAAABAAAAAQAAAAEAAAABQAAAAUAQeOhBAuVAoAAAAAAYE7CUKf01NQAAABAAAAAANJoIDfK5R4KjWSEMXo+Fbh1MpgtxGlTnaqqqiqrqqqqMCdhKFR6amqhJogm5v3zPoMTACVEp8i6Bme0IwnHwILxKZci7T3Isv1/niErV62liDvDIKspfNoAAAAgAAAAAH61UB+zhFisxiyyHm/ipooY4SEesqpdDCHNnR3kNJhDeEwkHWUNejaJBbQcDD4XrFvZSxwNK9eoaNfqG0zO+JhpNJAb5XIPBT9DOxsVb7AudW/rGjj8RpzrOKAaF/07DmIwWRpWjI2zw/QVGuailSvcMNYZ+d59zJmZmRmamZmZgOxfGTGUYIp77igZ+SJPC89q9BgY4waMRjLCGD2fCtwAQYOkBAvOASBHA7gyAAAAQCY8TUpHA7hS/dnVWQAAAGCOBnBlJjxNavCps25HA7hyjgBqdv3Z1XltPwV9AAAAgN9+zIKOBnCFrgXvhyY8TYpF3Y2M8KmzjgEFwZBHA7iSTHialI4AapbWCSiY/dnVmY+UdJttPwWds8aIngAAAKA3rWuh337MoiMWI6SOBnClAAAAAAEAAAAKAAAAZAAAAOgDAAAQJwAAoIYBAEBCDwCAlpgAAOH1BQDKmjsAAAAAAAAAAJQAAAB3AAAAWQAAADsAAAAdAEHgpQQLowOAAIAAgQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACQAJEAkgCTAJQAlQCWAJYAlwCYAJkAmgCbAJsAnACdAJ4AnwCgAKAAoQCiAKMAowCkAKUApgCnAKcAqACpAKoAqgCrAKwArQCtAK4ArwCwALAAsQCyALIAswC0ALUAtQC2ALcAtwC4ALkAuQC6ALsAuwC8AL0AvQC+AL8AwADAAMEAwQDCAMMAwwDEAMUAxQDGAMcAxwDIAMkAyQDKAMsAywDMAMwAzQDOAM4AzwDQANAA0QDRANIA0wDTANQA1ADVANYA1gDXANcA2ADZANkA2gDaANsA2wDcAN0A3QDeAN4A3wDgAOAA4QDhAOIA4gDjAOMA5ADlAOUA5gDmAOcA5wDoAOgA6QDqAOoA6wDrAOwA7ADtAO0A7gDuAO8A8ADwAPEA8QDyAPIA8wDzAPQA9AD1APUA9gD2APcA9wD4APgA+QD5APoA+gD7APsA/AD8AP0A/QD+AP4A/wAgFBANDAsKCgkJCAgICAgHBwcHBwcHBgYGBgYGBgYGBgYGBgBBkKkECxQBALAyAQBwMwEA0DYBADA3AQBQPgBBsKkEC8ABMV9SMjc76wWf2m4kAVnyNWhXLwIauh4FDuF7EOB01RzmBjgFmL/WLAAAAAAAAAAAmlVJBKlsuh5GjsEuCxZgCAcTMg0gEfULOClmDz6rMgn47kAvBQl2LgAAAAAAAAAAT7thBWes3T8YLURU+yHpP5v2gdILc+8/GC1EVPsh+T/iZS8ifyt6PAdcFDMmpoE8vcvweogHcDwHXBQzJqaRPBgtRFT7Iek/GC1EVPsh6b/SITN/fNkCQNIhM3982QLAAEH/qgQL6BWAGC1EVPshCUAYLURU+yEJwAMAAAAEAAAABAAAAAYAAACD+aIARE5uAPwpFQDRVycA3TT1AGLbwAA8mZUAQZBDAGNR/gC73qsAt2HFADpuJADSTUIASQbgAAnqLgAcktEA6x3+ACmxHADoPqcA9TWCAES7LgCc6YQAtCZwAEF+XwDWkTkAU4M5AJz0OQCLX4QAKPm9APgfOwDe/5cAD5gFABEv7wAKWosAbR9tAM9+NgAJyycARk+3AJ5mPwAt6l8Auid1AOXrxwA9e/EA9zkHAJJSigD7a+oAH7FfAAhdjQAwA1YAe/xGAPCrawAgvM8ANvSaAOOpHQBeYZEACBvmAIWZZQCgFF8AjUBoAIDY/wAnc00ABgYxAMpWFQDJqHMAe+JgAGuMwAAZxEcAzWfDAAno3ABZgyoAi3bEAKYclgBEr90AGVfRAKU+BQAFB/8AM34/AMIy6ACYT94Au30yACY9wwAea+8An/heADUfOgB/8soA8YcdAHyQIQBqJHwA1W76ADAtdwAVO0MAtRTGAMMZnQCtxMIALE1BAAwAXQCGfUYA43EtAJvGmgAzYgAAtNJ8ALSnlwA3VdUA1z72AKMQGABNdvwAZJ0qAHDXqwBjfPgAerBXABcV5wDASVYAO9bZAKeEOAAkI8sA1op3AFpUIwAAH7kA8QobABnO3wCfMf8AZh5qAJlXYQCs+0cAfn/YACJltwAy6IkA5r9gAO/EzQBsNgkAXT/UABbe1wBYO94A3puSANIiKAAohugA4lhNAMbKMgAI4xYA4H3LABfAUADzHacAGOBbAC4TNACDEmIAg0gBAPWOWwCtsH8AHunyAEhKQwAQZ9MAqt3YAK5fQgBqYc4ACiikANOZtAAGpvIAXHd/AKPCgwBhPIgAinN4AK+MWgBv170ALaZjAPS/ywCNge8AJsFnAFXKRQDK2TYAKKjSAMJhjQASyXcABCYUABJGmwDEWcQAyMVEAE2ykQAAF/MA1EOtAClJ5QD91RAAAL78AB6UzABwzu4AEz71AOzxgACz58MAx/goAJMFlADBcT4ALgmzAAtF8wCIEpwAqyB7AC61nwBHksIAezIvAAxVbQByp5AAa+cfADHLlgB5FkoAQXniAPTfiQDolJcA4uaEAJkxlwCI7WsAX182ALv9DgBImrQAZ6RsAHFyQgCNXTIAnxW4ALzlCQCNMSUA93Q5ADAFHAANDAEASwhoACzuWABHqpAAdOcCAL3WJAD3faYAbkhyAJ8W7wCOlKYAtJH2ANFTUQDPCvIAIJgzAPVLfgCyY2gA3T5fAEBdAwCFiX8AVVIpADdkwABt2BAAMkgyAFtMdQBOcdQARVRuAAsJwQAq9WkAFGbVACcHnQBdBFAAtDvbAOp2xQCH+RcASWt9AB0nugCWaSkAxsysAK0UVACQ4moAiNmJACxyUAAEpL4AdweUAPMwcAAA/CcA6nGoAGbCSQBk4D0Al92DAKM/lwBDlP0ADYaMADFB3gCSOZ0A3XCMABe35wAI3zsAFTcrAFyAoABagJMAEBGSAA/o2ABsgK8A2/9LADiQDwBZGHYAYqUVAGHLuwDHibkAEEC9ANLyBABJdScA67b2ANsiuwAKFKoAiSYvAGSDdgAJOzMADpQaAFE6qgAdo8IAr+2uAFwmEgBtwk0ALXqcAMBWlwADP4MACfD2ACtAjABtMZkAObQHAAwgFQDYw1sA9ZLEAMatSwBOyqUApzfNAOapNgCrkpQA3UJoABlj3gB2jO8AaItSAPzbNwCuoasA3xUxAACuoQAM+9oAZE1mAO0FtwApZTAAV1a/AEf/OgBq+bkAdb7zACiT3wCrgDAAZoz2AATLFQD6IgYA2eQdAD2zpABXG48ANs0JAE5C6QATvqQAMyO1APCqGgBPZagA0sGlAAs/DwBbeM0AI/l2AHuLBACJF3IAxqZTAG9u4gDv6wAAm0pYAMTatwCqZroAds/PANECHQCx8S0AjJnBAMOtdwCGSNoA912gAMaA9ACs8C8A3eyaAD9cvADQ3m0AkMcfACrbtgCjJToAAK+aAK1TkwC2VwQAKS20AEuAfgDaB6cAdqoOAHtZoQAWEioA3LctAPrl/QCJ2/4Aib79AOR2bAAGqfwAPoBwAIVuFQD9h/8AKD4HAGFnMwAqGIYATb3qALPnrwCPbW4AlWc5ADG/WwCE10gAMN8WAMctQwAlYTUAyXDOADDLuAC/bP0ApACiAAVs5ABa3aAAIW9HAGIS0gC5XIQAcGFJAGtW4ACZUgEAUFU3AB7VtwAz8cQAE25fAF0w5ACFLqkAHbLDAKEyNgAIt6QA6rHUABb3IQCPaeQAJ/93AAwDgACNQC0AT82gACClmQCzotMAL10KALT5QgAR2ssAfb7QAJvbwQCrF70AyqKBAAhqXAAuVRcAJwBVAH8U8ADhB4YAFAtkAJZBjQCHvt4A2v0qAGsltgB7iTQABfP+ALm/ngBoak8ASiqoAE/EWgAt+LwA11qYAPTHlQANTY0AIDqmAKRXXwAUP7EAgDiVAMwgAQBx3YYAyd62AL9g9QBNZREAAQdrAIywrACywNAAUVVIAB77DgCVcsMAowY7AMBANQAG3HsA4EXMAE4p+gDWysgA6PNBAHxk3gCbZNgA2b4xAKSXwwB3WNQAaePFAPDaEwC6OjwARhhGAFV1XwDSvfUAbpLGAKwuXQAORO0AHD5CAGHEhwAp/ekA59bzACJ8ygBvkTUACODFAP/XjQBuauIAsP3GAJMIwQB8XXQAa62yAM1unQA+cnsAxhFqAPfPqQApc98Atcm6ALcAUQDisg0AdLokAOV9YAB02IoADRUsAIEYDAB+ZpQAASkWAJ96dgD9/b4AVkXvANl+NgDs2RMAi7q5AMSX/AAxqCcA8W7DAJTFNgDYqFYAtKi1AM/MDgASiS0Ab1c0ACxWiQCZzuMA1iC5AGteqgA+KpwAEV/MAP0LSgDh9PsAjjttAOKGLADp1IQA/LSpAO/u0QAuNckALzlhADghRAAb2cgAgfwKAPtKagAvHNgAU7SEAE6ZjABUIswAKlXcAMDG1gALGZYAGnC4AGmVZAAmWmAAP1LuAH8RDwD0tREA/Mv1ADS8LQA0vO4A6F3MAN1eYABnjpsAkjPvAMkXuABhWJsA4Ve8AFGDxgDYPhAA3XFIAC0c3QCvGKEAISxGAFnz1wDZepgAnlTAAE+G+gBWBvwA5XmuAIkiNgA4rSIAZ5PcAFXoqgCCJjgAyuebAFENpACZM7EAqdcOAGkFSABlsvAAf4inAIhMlwD50TYAIZKzAHuCSgCYzyEAQJ/cANxHVQDhdDoAZ+tCAP6d3wBe1F8Ae2ekALqsegBV9qIAK4gjAEG6VQBZbggAISqGADlHgwCJ4+YA5Z7UAEn7QAD/VukAHA/KAMVZigCU+isA08HFAA/FzwDbWq4AR8WGAIVDYgAhhjsALHmUABBhhwAqTHsAgCwaAEO/EgCIJpAAeDyJAKjE5ADl23sAxDrCACb06gD3Z4oADZK/AGWjKwA9k7EAvXwLAKRR3AAn3WMAaeHdAJqUGQCoKZUAaM4oAAnttABEnyAATpjKAHCCYwB+fCMAD7kyAKf1jgAUVucAIfEIALWdKgBvfk0ApRlRALX5qwCC39YAlt1hABY2AgDEOp8Ag6KhAHLtbQA5jXoAgripAGsyXABGJ1sAADTtANIAdwD89FUAAVlNAOBxgABB88AEC64BQPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNdF0ngBXnb0qgHBSD///PicKAAAAZAAAAOgDAAAQJwAAoIYBAEBCDwCAlpgAAOH1BRkACgAZGRkAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAGQARChkZGQMKBwABAAkLGAAACQYLAAALAAYZAAAAGRkZAEGxwgQLIQ4AAAAAAAAAABkACg0ZGRkADQAAAgAJDgAAAAkADgAADgBB68IECwEMAEH3wgQLFRMAAAAAEwAAAAAJDAAAAAAADAAADABBpcMECwEQAEGxwwQLFQ8AAAAEDwAAAAAJEAAAAAAAEAAAEABB38MECwESAEHrwwQLHhEAAAAAEQAAAAAJEgAAAAAAEgAAEgAAGgAAABoaGgBBosQECw4aAAAAGhoaAAAAAAAACQBB08QECwEUAEHfxAQLFRcAAAAAFwAAAAAJFAAAAAAAFAAAFABBjcUECwEWAEGZxQQLJxUAAAAAFQAAAAAJFgAAAAAAFgAAFgAAMDEyMzQ1Njc4OUFCQ0RFRgBB5MUECwE6AEGMxgQLCP//////////AEHQxgQLAxAvUQBB3MYECx0DAAAAAAAAAAIAAAAAAAAAAQAAAAEAAAABAAAABQBBhMcECwKWAQBBnMcECwuXAQAAmAEAAOwqAQBBtMcECwECAEHExwQLCP//////////AEGIyAQLCXgjAQAAAAAABQBBnMgECwKZAQBBtMgECw6XAQAAmgEAAPgqAQAABABBzMgECwEBAEHcyAQLBf////8KAEGgyQQLAxAkAQ==\";if(!R.startsWith(Q)){var fa=R;R=a.locateFile?a.locateFile(fa,x):x+fa}\nfunction ha(b){try{if(b==R&&E)return new Uint8Array(E);var c=C(b);if(c)return c;if(A)return A(b);throw\"both async and sync fetching of the wasm failed\";}catch(d){F(d)}}\nfunction ia(b){if(!E&&(u||v)){if(\"function\"==typeof fetch&&!b.startsWith(\"file://\"))return fetch(b,{credentials:\"same-origin\"}).then(function(c){if(!c.ok)throw\"failed to load wasm binary file at '\"+b+\"'\";return c.arrayBuffer()}).catch(function(){return ha(b)});if(z)return new Promise(function(c,d){z(b,function(e){c(new Uint8Array(e))},d)})}return Promise.resolve().then(function(){return ha(b)})}\nfunction ja(b,c,d){return ia(b).then(function(e){return WebAssembly.instantiate(e,c)}).then(function(e){return e}).then(d,function(e){D(\"failed to asynchronously prepare wasm: \"+e);F(e)})}\nfunction ka(b,c){var d=R;return E||\"function\"!=typeof WebAssembly.instantiateStreaming||d.startsWith(Q)||d.startsWith(\"file://\")||w||\"function\"!=typeof fetch?ja(d,b,c):fetch(d,{credentials:\"same-origin\"}).then(function(e){return WebAssembly.instantiateStreaming(e,b).then(c,function(f){D(\"wasm streaming compile failed: \"+f);D(\"falling back to ArrayBuffer instantiation\");return ja(d,b,c)})})}function S(b){for(;0<b.length;)b.shift()(a)}var la=\"undefined\"!=typeof TextDecoder?new TextDecoder(\"utf8\"):void 0;\nfunction na(b,c,d){var e=c+d;for(d=c;b[d]&&!(d>=e);)++d;if(16<d-c&&b.buffer&&la)return la.decode(b.subarray(c,d));for(e=\"\";c<d;){var f=b[c++];if(f&128){var g=b[c++]&63;if(192==(f&224))e+=String.fromCharCode((f&31)<<6|g);else{var h=b[c++]&63;f=224==(f&240)?(f&15)<<12|g<<6|h:(f&7)<<18|g<<12|h<<6|b[c++]&63;65536>f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}function T(b,c){return b?na(J,b,c):\"\"}\nvar oa=[0,31,60,91,121,152,182,213,244,274,305,335],pa=[0,31,59,90,120,151,181,212,243,273,304,334];function U(b){for(var c=0,d=0;d<b.length;++d){var e=b.charCodeAt(d);127>=e?c++:2047>=e?c+=2:55296<=e&&57343>=e?(c+=4,++d):c+=3}return c}\nfunction V(b,c,d){var e=J;if(!(0<d))return 0;var f=c;d=c+d-1;for(var g=0;g<b.length;++g){var h=b.charCodeAt(g);if(55296<=h&&57343>=h){var k=b.charCodeAt(++g);h=65536+((h&1023)<<10)|k&1023}if(127>=h){if(c>=d)break;e[c++]=h}else{if(2047>=h){if(c+1>=d)break;e[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;e[c++]=224|h>>12}else{if(c+3>=d)break;e[c++]=240|h>>18;e[c++]=128|h>>12&63}e[c++]=128|h>>6&63}e[c++]=128|h&63}}e[c]=0;return c-f}function qa(b){var c=U(b)+1,d=ra(c);d&&V(b,d,c);return d}var W={};\nfunction sa(){if(!X){var b={USER:\"web_user\",LOGNAME:\"web_user\",PATH:\"/\",PWD:\"/\",HOME:\"/home/web_user\",LANG:(\"object\"==typeof navigator&&navigator.languages&&navigator.languages[0]||\"C\").replace(\"-\",\"_\")+\".UTF-8\",_:t||\"./this.program\"},c;for(c in W)void 0===W[c]?delete b[c]:b[c]=W[c];var d=[];for(c in b)d.push(c+\"=\"+b[c]);X=d}return X}var X,ta=[null,[],[]];\nfunction ua(b,c,d,e){var f={string:l=>{var q=0;if(null!==l&&void 0!==l&&0!==l){q=U(l)+1;var ma=Y(q);V(l,ma,q);q=ma}return q},array:l=>{var q=Y(l.length);I.set(l,q);return q}};b=a[\"_\"+b];var g=[],h=0;if(e)for(var k=0;k<e.length;k++){var r=f[d[k]];r?(0===h&&(h=va()),g[k]=r(e[k])):g[k]=e[k]}d=b.apply(null,g);return d=function(l){0!==h&&wa(h);return\"string\"===c?T(l):\"boolean\"===c?!!l:l}(d)}\nvar xa=\"function\"==typeof atob?atob:function(b){var c=\"\",d=0;b=b.replace(/[^A-Za-z0-9\\+\\/=]/g,\"\");do{var e=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(b.charAt(d++));var f=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(b.charAt(d++));var g=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(b.charAt(d++));var h=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(b.charAt(d++));e=e<<2|f>>4;\nf=(f&15)<<4|g>>2;var k=(g&3)<<6|h;c+=String.fromCharCode(e);64!==g&&(c+=String.fromCharCode(f));64!==h&&(c+=String.fromCharCode(k))}while(d<b.length);return c};function C(b){if(b.startsWith(Q)){b=b.slice(Q.length);if(\"boolean\"==typeof w&&w){var c=Buffer.from(b,\"base64\");c=new Uint8Array(c.buffer,c.byteOffset,c.byteLength)}else try{var d=xa(b),e=new Uint8Array(d.length);for(b=0;b<d.length;++b)e[b]=d.charCodeAt(b);c=e}catch(f){throw Error(\"Converting base64 string to bytes failed.\");}return c}}\nvar ya={a:function(b,c,d,e){F(\"Assertion failed: \"+T(b)+\", at: \"+[c?T(c):\"unknown filename\",d,e?T(e):\"unknown function\"])},l:function(b,c){b=new Date(1E3*(L[b>>2]+4294967296*K[b+4>>2]));K[c>>2]=b.getSeconds();K[c+4>>2]=b.getMinutes();K[c+8>>2]=b.getHours();K[c+12>>2]=b.getDate();K[c+16>>2]=b.getMonth();K[c+20>>2]=b.getFullYear()-1900;K[c+24>>2]=b.getDay();var d=b.getFullYear();K[c+28>>2]=(0!==d%4||0===d%100&&0!==d%400?pa:oa)[b.getMonth()]+b.getDate()-1|0;K[c+36>>2]=-(60*b.getTimezoneOffset());d=(new Date(b.getFullYear(),\n6,1)).getTimezoneOffset();var e=(new Date(b.getFullYear(),0,1)).getTimezoneOffset();K[c+32>>2]=(d!=e&&b.getTimezoneOffset()==Math.min(e,d))|0},k:function(b,c,d){function e(r){return(r=r.toTimeString().match(/\\(([A-Za-z ]+)\\)$/))?r[1]:\"GMT\"}var f=(new Date).getFullYear(),g=new Date(f,0,1),h=new Date(f,6,1);f=g.getTimezoneOffset();var k=h.getTimezoneOffset();L[b>>2]=60*Math.max(f,k);K[c>>2]=Number(f!=k);b=e(g);c=e(h);b=qa(b);c=qa(c);k<f?(L[d>>2]=b,L[d+4>>2]=c):(L[d>>2]=c,L[d+4>>2]=b)},b:function(){F(\"\")},\nm:function(){return Date.now()},j:function(b){var c=J.length;b>>>=0;if(2147483648<b)return!1;for(var d=1;4>=d;d*=2){var e=c*(1+.2/d);e=Math.min(e,b+100663296);var f=Math,g=f.min;e=Math.max(b,e);e+=(65536-e%65536)%65536;a:{var h=G.buffer;try{G.grow(g.call(f,2147483648,e)-h.byteLength+65535>>>16);M();var k=1;break a}catch(r){}k=void 0}if(k)return!0}return!1},e:function(b,c){var d=0;sa().forEach(function(e,f){var g=c+d;f=L[b+4*f>>2]=g;for(g=0;g<e.length;++g)I[f++>>0]=e.charCodeAt(g);I[f>>0]=0;d+=e.length+\n1});return 0},f:function(b,c){var d=sa();L[b>>2]=d.length;var e=0;d.forEach(function(f){e+=f.length+1});L[c>>2]=e;return 0},d:function(){return 52},i:function(){return 70},c:function(b,c,d,e){for(var f=0,g=0;g<d;g++){var h=L[c>>2],k=L[c+4>>2];c+=8;for(var r=0;r<k;r++){var l=J[h+r],q=ta[b];0===l||10===l?((1===b?aa:D)(na(q,0)),q.length=0):q.push(l)}f+=k}L[e>>2]=f;return 0},o:function(b,c,d,e,f){return a.callbacks.callFunction(void 0,b,c,d,e,f)},n:function(b){return a.callbacks.shouldInterrupt(void 0,\nb)},h:function(b,c,d){d=T(d);return a.callbacks.loadModuleSource(void 0,b,c,d)},g:function(b,c,d,e){d=T(d);e=T(e);return a.callbacks.normalizeModule(void 0,b,c,d,e)}};\n(function(){function b(d){d=d.exports;a.asm=d;G=a.asm.p;M();ca.unshift(a.asm.q);N--;a.monitorRunDependencies&&a.monitorRunDependencies(N);if(0==N&&(null!==O&&(clearInterval(O),O=null),P)){var e=P;P=null;e()}return d}var c={a:ya};N++;a.monitorRunDependencies&&a.monitorRunDependencies(N);if(a.instantiateWasm)try{return a.instantiateWasm(c,b)}catch(d){D(\"Module.instantiateWasm callback failed with error: \"+d),n(d)}ka(c,function(d){b(d.instance)}).catch(n);return{}})();\nvar ra=a._malloc=function(){return(ra=a._malloc=a.asm.r).apply(null,arguments)};a._QTS_Throw=function(){return(a._QTS_Throw=a.asm.s).apply(null,arguments)};a._QTS_NewError=function(){return(a._QTS_NewError=a.asm.t).apply(null,arguments)};a._QTS_RuntimeSetMemoryLimit=function(){return(a._QTS_RuntimeSetMemoryLimit=a.asm.u).apply(null,arguments)};a._QTS_RuntimeComputeMemoryUsage=function(){return(a._QTS_RuntimeComputeMemoryUsage=a.asm.v).apply(null,arguments)};\na._QTS_RuntimeDumpMemoryUsage=function(){return(a._QTS_RuntimeDumpMemoryUsage=a.asm.w).apply(null,arguments)};a._QTS_RecoverableLeakCheck=function(){return(a._QTS_RecoverableLeakCheck=a.asm.x).apply(null,arguments)};a._QTS_BuildIsSanitizeLeak=function(){return(a._QTS_BuildIsSanitizeLeak=a.asm.y).apply(null,arguments)};a._QTS_RuntimeSetMaxStackSize=function(){return(a._QTS_RuntimeSetMaxStackSize=a.asm.z).apply(null,arguments)};\na._QTS_GetUndefined=function(){return(a._QTS_GetUndefined=a.asm.A).apply(null,arguments)};a._QTS_GetNull=function(){return(a._QTS_GetNull=a.asm.B).apply(null,arguments)};a._QTS_GetFalse=function(){return(a._QTS_GetFalse=a.asm.C).apply(null,arguments)};a._QTS_GetTrue=function(){return(a._QTS_GetTrue=a.asm.D).apply(null,arguments)};a._QTS_NewRuntime=function(){return(a._QTS_NewRuntime=a.asm.E).apply(null,arguments)};a._QTS_FreeRuntime=function(){return(a._QTS_FreeRuntime=a.asm.F).apply(null,arguments)};\na._QTS_NewContext=function(){return(a._QTS_NewContext=a.asm.G).apply(null,arguments)};a._QTS_FreeContext=function(){return(a._QTS_FreeContext=a.asm.H).apply(null,arguments)};a._QTS_FreeValuePointer=function(){return(a._QTS_FreeValuePointer=a.asm.I).apply(null,arguments)};a._free=function(){return(a._free=a.asm.J).apply(null,arguments)};a._QTS_FreeValuePointerRuntime=function(){return(a._QTS_FreeValuePointerRuntime=a.asm.K).apply(null,arguments)};\na._QTS_FreeVoidPointer=function(){return(a._QTS_FreeVoidPointer=a.asm.L).apply(null,arguments)};a._QTS_FreeCString=function(){return(a._QTS_FreeCString=a.asm.M).apply(null,arguments)};a._QTS_DupValuePointer=function(){return(a._QTS_DupValuePointer=a.asm.N).apply(null,arguments)};a._QTS_NewObject=function(){return(a._QTS_NewObject=a.asm.O).apply(null,arguments)};a._QTS_NewObjectProto=function(){return(a._QTS_NewObjectProto=a.asm.P).apply(null,arguments)};\na._QTS_NewArray=function(){return(a._QTS_NewArray=a.asm.Q).apply(null,arguments)};a._QTS_NewFloat64=function(){return(a._QTS_NewFloat64=a.asm.R).apply(null,arguments)};a._QTS_GetFloat64=function(){return(a._QTS_GetFloat64=a.asm.S).apply(null,arguments)};a._QTS_NewString=function(){return(a._QTS_NewString=a.asm.T).apply(null,arguments)};a._QTS_GetString=function(){return(a._QTS_GetString=a.asm.U).apply(null,arguments)};a._QTS_NewSymbol=function(){return(a._QTS_NewSymbol=a.asm.V).apply(null,arguments)};\na._QTS_GetSymbolDescriptionOrKey=function(){return(a._QTS_GetSymbolDescriptionOrKey=a.asm.W).apply(null,arguments)};a._QTS_IsGlobalSymbol=function(){return(a._QTS_IsGlobalSymbol=a.asm.X).apply(null,arguments)};a._QTS_IsJobPending=function(){return(a._QTS_IsJobPending=a.asm.Y).apply(null,arguments)};a._QTS_ExecutePendingJob=function(){return(a._QTS_ExecutePendingJob=a.asm.Z).apply(null,arguments)};a._QTS_GetProp=function(){return(a._QTS_GetProp=a.asm._).apply(null,arguments)};\na._QTS_SetProp=function(){return(a._QTS_SetProp=a.asm.$).apply(null,arguments)};a._QTS_DefineProp=function(){return(a._QTS_DefineProp=a.asm.aa).apply(null,arguments)};a._QTS_Call=function(){return(a._QTS_Call=a.asm.ba).apply(null,arguments)};a._QTS_ResolveException=function(){return(a._QTS_ResolveException=a.asm.ca).apply(null,arguments)};a._QTS_Dump=function(){return(a._QTS_Dump=a.asm.da).apply(null,arguments)};a._QTS_Eval=function(){return(a._QTS_Eval=a.asm.ea).apply(null,arguments)};\na._QTS_Typeof=function(){return(a._QTS_Typeof=a.asm.fa).apply(null,arguments)};a._QTS_GetGlobalObject=function(){return(a._QTS_GetGlobalObject=a.asm.ga).apply(null,arguments)};a._QTS_NewPromiseCapability=function(){return(a._QTS_NewPromiseCapability=a.asm.ha).apply(null,arguments)};a._QTS_TestStringArg=function(){return(a._QTS_TestStringArg=a.asm.ia).apply(null,arguments)};a._QTS_BuildIsDebug=function(){return(a._QTS_BuildIsDebug=a.asm.ja).apply(null,arguments)};\na._QTS_BuildIsAsyncify=function(){return(a._QTS_BuildIsAsyncify=a.asm.ka).apply(null,arguments)};a._QTS_NewFunction=function(){return(a._QTS_NewFunction=a.asm.la).apply(null,arguments)};a._QTS_ArgvGetJSValueConstPointer=function(){return(a._QTS_ArgvGetJSValueConstPointer=a.asm.ma).apply(null,arguments)};a._QTS_RuntimeEnableInterruptHandler=function(){return(a._QTS_RuntimeEnableInterruptHandler=a.asm.na).apply(null,arguments)};\na._QTS_RuntimeDisableInterruptHandler=function(){return(a._QTS_RuntimeDisableInterruptHandler=a.asm.oa).apply(null,arguments)};a._QTS_RuntimeEnableModuleLoader=function(){return(a._QTS_RuntimeEnableModuleLoader=a.asm.pa).apply(null,arguments)};a._QTS_RuntimeDisableModuleLoader=function(){return(a._QTS_RuntimeDisableModuleLoader=a.asm.qa).apply(null,arguments)};function va(){return(va=a.asm.sa).apply(null,arguments)}function wa(){return(wa=a.asm.ta).apply(null,arguments)}\nfunction Y(){return(Y=a.asm.ua).apply(null,arguments)}a.___start_em_js=74916;a.___stop_em_js=75818;a.cwrap=function(b,c,d,e){var f=!d||d.every(g=>\"number\"===g||\"boolean\"===g);return\"string\"!==c&&f&&!e?a[\"_\"+b]:function(){return ua(b,c,d,arguments)}};a.UTF8ToString=T;a.stringToUTF8=function(b,c,d){return V(b,c,d)};a.lengthBytesUTF8=U;var Z;P=function za(){Z||Aa();Z||(P=za)};\nfunction Aa(){function b(){if(!Z&&(Z=!0,a.calledRun=!0,!H)){S(ca);m(a);if(a.onRuntimeInitialized)a.onRuntimeInitialized();if(a.postRun)for(\"function\"==typeof a.postRun&&(a.postRun=[a.postRun]);a.postRun.length;){var c=a.postRun.shift();da.unshift(c)}S(da)}}if(!(0<N)){if(a.preRun)for(\"function\"==typeof a.preRun&&(a.preRun=[a.preRun]);a.preRun.length;)ea();S(ba);0<N||(a.setStatus?(a.setStatus(\"Running...\"),setTimeout(function(){setTimeout(function(){a.setStatus(\"\")},1);b()},1)):b())}}\nif(a.preInit)for(\"function\"==typeof a.preInit&&(a.preInit=[a.preInit]);0<a.preInit.length;)a.preInit.pop()();Aa();\n\n\n  return QuickJSRaw.ready\n}\n\n);\n})();\nif (typeof exports === 'object' && typeof module === 'object')\n  module.exports = QuickJSRaw;\nelse if (typeof define === 'function' && define['amd'])\n  define([], function() { return QuickJSRaw; });\nelse if (typeof exports === 'object')\n  exports[\"QuickJSRaw\"] = QuickJSRaw;\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_SYNC.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_SYNC.d.ts
new file mode 100644
index 0000000..52ef5dd
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_SYNC.d.ts
@@ -0,0 +1,67 @@
+import { QuickJSEmscriptenModule } from "../emscripten-types";
+import { JSRuntimePointer, JSContextPointer, JSContextPointerPointer, JSValuePointer, JSValueConstPointer, JSValuePointerPointer, JSValueConstPointerPointer, BorrowedHeapCharPointer, OwnedHeapCharPointer, JSBorrowedCharPointer, JSVoidPointer, EvalFlags, EvalDetectModule } from "../types-ffi";
+/**
+ * Low-level FFI bindings to QuickJS's Emscripten module.
+ * See instead [[QuickJSContext]], the public Javascript interface exposed by this
+ * library.
+ *
+ * @unstable The FFI interface is considered private and may change.
+ */
+export declare class QuickJSFFI {
+    private module;
+    constructor(module: QuickJSEmscriptenModule);
+    /** Set at compile time. */
+    readonly DEBUG = false;
+    QTS_Throw: (ctx: JSContextPointer, error: JSValuePointer | JSValueConstPointer) => JSValuePointer;
+    QTS_NewError: (ctx: JSContextPointer) => JSValuePointer;
+    QTS_RuntimeSetMemoryLimit: (rt: JSRuntimePointer, limit: number) => void;
+    QTS_RuntimeComputeMemoryUsage: (rt: JSRuntimePointer, ctx: JSContextPointer) => JSValuePointer;
+    QTS_RuntimeDumpMemoryUsage: (rt: JSRuntimePointer) => OwnedHeapCharPointer;
+    QTS_RecoverableLeakCheck: () => number;
+    QTS_BuildIsSanitizeLeak: () => number;
+    QTS_RuntimeSetMaxStackSize: (rt: JSRuntimePointer, stack_size: number) => void;
+    QTS_GetUndefined: () => JSValueConstPointer;
+    QTS_GetNull: () => JSValueConstPointer;
+    QTS_GetFalse: () => JSValueConstPointer;
+    QTS_GetTrue: () => JSValueConstPointer;
+    QTS_NewRuntime: () => JSRuntimePointer;
+    QTS_FreeRuntime: (rt: JSRuntimePointer) => void;
+    QTS_NewContext: (rt: JSRuntimePointer) => JSContextPointer;
+    QTS_FreeContext: (ctx: JSContextPointer) => void;
+    QTS_FreeValuePointer: (ctx: JSContextPointer, value: JSValuePointer) => void;
+    QTS_FreeValuePointerRuntime: (rt: JSRuntimePointer, value: JSValuePointer) => void;
+    QTS_FreeVoidPointer: (ctx: JSContextPointer, ptr: JSVoidPointer) => void;
+    QTS_FreeCString: (ctx: JSContextPointer, str: JSBorrowedCharPointer) => void;
+    QTS_DupValuePointer: (ctx: JSContextPointer, val: JSValuePointer | JSValueConstPointer) => JSValuePointer;
+    QTS_NewObject: (ctx: JSContextPointer) => JSValuePointer;
+    QTS_NewObjectProto: (ctx: JSContextPointer, proto: JSValuePointer | JSValueConstPointer) => JSValuePointer;
+    QTS_NewArray: (ctx: JSContextPointer) => JSValuePointer;
+    QTS_NewFloat64: (ctx: JSContextPointer, num: number) => JSValuePointer;
+    QTS_GetFloat64: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => number;
+    QTS_NewString: (ctx: JSContextPointer, string: BorrowedHeapCharPointer) => JSValuePointer;
+    QTS_GetString: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer;
+    QTS_NewSymbol: (ctx: JSContextPointer, description: BorrowedHeapCharPointer, isGlobal: number) => JSValuePointer;
+    QTS_GetSymbolDescriptionOrKey: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer;
+    QTS_IsGlobalSymbol: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => number;
+    QTS_IsJobPending: (rt: JSRuntimePointer) => number;
+    QTS_ExecutePendingJob: (rt: JSRuntimePointer, maxJobsToExecute: number, lastJobContext: JSContextPointerPointer) => JSValuePointer;
+    QTS_GetProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer) => JSValuePointer;
+    QTS_SetProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer, prop_value: JSValuePointer | JSValueConstPointer) => void;
+    QTS_DefineProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer, prop_value: JSValuePointer | JSValueConstPointer, get: JSValuePointer | JSValueConstPointer, set: JSValuePointer | JSValueConstPointer, configurable: boolean, enumerable: boolean, has_value: boolean) => void;
+    QTS_Call: (ctx: JSContextPointer, func_obj: JSValuePointer | JSValueConstPointer, this_obj: JSValuePointer | JSValueConstPointer, argc: number, argv_ptrs: JSValueConstPointerPointer) => JSValuePointer;
+    QTS_ResolveException: (ctx: JSContextPointer, maybe_exception: JSValuePointer) => JSValuePointer;
+    QTS_Dump: (ctx: JSContextPointer, obj: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer;
+    QTS_Eval: (ctx: JSContextPointer, js_code: BorrowedHeapCharPointer, filename: string, detectModule: EvalDetectModule, evalFlags: EvalFlags) => JSValuePointer;
+    QTS_Typeof: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => OwnedHeapCharPointer;
+    QTS_GetGlobalObject: (ctx: JSContextPointer) => JSValuePointer;
+    QTS_NewPromiseCapability: (ctx: JSContextPointer, resolve_funcs_out: JSValuePointerPointer) => JSValuePointer;
+    QTS_TestStringArg: (string: string) => void;
+    QTS_BuildIsDebug: () => number;
+    QTS_BuildIsAsyncify: () => number;
+    QTS_NewFunction: (ctx: JSContextPointer, func_id: number, name: string) => JSValuePointer;
+    QTS_ArgvGetJSValueConstPointer: (argv: JSValuePointer | JSValueConstPointer, index: number) => JSValueConstPointer;
+    QTS_RuntimeEnableInterruptHandler: (rt: JSRuntimePointer) => void;
+    QTS_RuntimeDisableInterruptHandler: (rt: JSRuntimePointer) => void;
+    QTS_RuntimeEnableModuleLoader: (rt: JSRuntimePointer, use_custom_normalize: number) => void;
+    QTS_RuntimeDisableModuleLoader: (rt: JSRuntimePointer) => void;
+}
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_SYNC.js b/node_modules/@tootallnate/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_SYNC.js
new file mode 100644
index 0000000..107c43e
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_SYNC.js
@@ -0,0 +1,71 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.QuickJSFFI = void 0;
+/**
+ * Low-level FFI bindings to QuickJS's Emscripten module.
+ * See instead [[QuickJSContext]], the public Javascript interface exposed by this
+ * library.
+ *
+ * @unstable The FFI interface is considered private and may change.
+ */
+class QuickJSFFI {
+    constructor(module) {
+        this.module = module;
+        /** Set at compile time. */
+        this.DEBUG = false;
+        this.QTS_Throw = this.module.cwrap("QTS_Throw", "number", ["number", "number"]);
+        this.QTS_NewError = this.module.cwrap("QTS_NewError", "number", ["number"]);
+        this.QTS_RuntimeSetMemoryLimit = this.module.cwrap("QTS_RuntimeSetMemoryLimit", null, ["number", "number"]);
+        this.QTS_RuntimeComputeMemoryUsage = this.module.cwrap("QTS_RuntimeComputeMemoryUsage", "number", ["number", "number"]);
+        this.QTS_RuntimeDumpMemoryUsage = this.module.cwrap("QTS_RuntimeDumpMemoryUsage", "number", ["number"]);
+        this.QTS_RecoverableLeakCheck = this.module.cwrap("QTS_RecoverableLeakCheck", "number", []);
+        this.QTS_BuildIsSanitizeLeak = this.module.cwrap("QTS_BuildIsSanitizeLeak", "number", []);
+        this.QTS_RuntimeSetMaxStackSize = this.module.cwrap("QTS_RuntimeSetMaxStackSize", null, ["number", "number"]);
+        this.QTS_GetUndefined = this.module.cwrap("QTS_GetUndefined", "number", []);
+        this.QTS_GetNull = this.module.cwrap("QTS_GetNull", "number", []);
+        this.QTS_GetFalse = this.module.cwrap("QTS_GetFalse", "number", []);
+        this.QTS_GetTrue = this.module.cwrap("QTS_GetTrue", "number", []);
+        this.QTS_NewRuntime = this.module.cwrap("QTS_NewRuntime", "number", []);
+        this.QTS_FreeRuntime = this.module.cwrap("QTS_FreeRuntime", null, ["number"]);
+        this.QTS_NewContext = this.module.cwrap("QTS_NewContext", "number", ["number"]);
+        this.QTS_FreeContext = this.module.cwrap("QTS_FreeContext", null, ["number"]);
+        this.QTS_FreeValuePointer = this.module.cwrap("QTS_FreeValuePointer", null, ["number", "number"]);
+        this.QTS_FreeValuePointerRuntime = this.module.cwrap("QTS_FreeValuePointerRuntime", null, ["number", "number"]);
+        this.QTS_FreeVoidPointer = this.module.cwrap("QTS_FreeVoidPointer", null, ["number", "number"]);
+        this.QTS_FreeCString = this.module.cwrap("QTS_FreeCString", null, ["number", "number"]);
+        this.QTS_DupValuePointer = this.module.cwrap("QTS_DupValuePointer", "number", ["number", "number"]);
+        this.QTS_NewObject = this.module.cwrap("QTS_NewObject", "number", ["number"]);
+        this.QTS_NewObjectProto = this.module.cwrap("QTS_NewObjectProto", "number", ["number", "number"]);
+        this.QTS_NewArray = this.module.cwrap("QTS_NewArray", "number", ["number"]);
+        this.QTS_NewFloat64 = this.module.cwrap("QTS_NewFloat64", "number", ["number", "number"]);
+        this.QTS_GetFloat64 = this.module.cwrap("QTS_GetFloat64", "number", ["number", "number"]);
+        this.QTS_NewString = this.module.cwrap("QTS_NewString", "number", ["number", "number"]);
+        this.QTS_GetString = this.module.cwrap("QTS_GetString", "number", ["number", "number"]);
+        this.QTS_NewSymbol = this.module.cwrap("QTS_NewSymbol", "number", ["number", "number", "number"]);
+        this.QTS_GetSymbolDescriptionOrKey = this.module.cwrap("QTS_GetSymbolDescriptionOrKey", "number", ["number", "number"]);
+        this.QTS_IsGlobalSymbol = this.module.cwrap("QTS_IsGlobalSymbol", "number", ["number", "number"]);
+        this.QTS_IsJobPending = this.module.cwrap("QTS_IsJobPending", "number", ["number"]);
+        this.QTS_ExecutePendingJob = this.module.cwrap("QTS_ExecutePendingJob", "number", ["number", "number", "number"]);
+        this.QTS_GetProp = this.module.cwrap("QTS_GetProp", "number", ["number", "number", "number"]);
+        this.QTS_SetProp = this.module.cwrap("QTS_SetProp", null, ["number", "number", "number", "number"]);
+        this.QTS_DefineProp = this.module.cwrap("QTS_DefineProp", null, ["number", "number", "number", "number", "number", "number", "boolean", "boolean", "boolean"]);
+        this.QTS_Call = this.module.cwrap("QTS_Call", "number", ["number", "number", "number", "number", "number"]);
+        this.QTS_ResolveException = this.module.cwrap("QTS_ResolveException", "number", ["number", "number"]);
+        this.QTS_Dump = this.module.cwrap("QTS_Dump", "number", ["number", "number"]);
+        this.QTS_Eval = this.module.cwrap("QTS_Eval", "number", ["number", "number", "string", "number", "number"]);
+        this.QTS_Typeof = this.module.cwrap("QTS_Typeof", "number", ["number", "number"]);
+        this.QTS_GetGlobalObject = this.module.cwrap("QTS_GetGlobalObject", "number", ["number"]);
+        this.QTS_NewPromiseCapability = this.module.cwrap("QTS_NewPromiseCapability", "number", ["number", "number"]);
+        this.QTS_TestStringArg = this.module.cwrap("QTS_TestStringArg", null, ["string"]);
+        this.QTS_BuildIsDebug = this.module.cwrap("QTS_BuildIsDebug", "number", []);
+        this.QTS_BuildIsAsyncify = this.module.cwrap("QTS_BuildIsAsyncify", "number", []);
+        this.QTS_NewFunction = this.module.cwrap("QTS_NewFunction", "number", ["number", "number", "string"]);
+        this.QTS_ArgvGetJSValueConstPointer = this.module.cwrap("QTS_ArgvGetJSValueConstPointer", "number", ["number", "number"]);
+        this.QTS_RuntimeEnableInterruptHandler = this.module.cwrap("QTS_RuntimeEnableInterruptHandler", null, ["number"]);
+        this.QTS_RuntimeDisableInterruptHandler = this.module.cwrap("QTS_RuntimeDisableInterruptHandler", null, ["number"]);
+        this.QTS_RuntimeEnableModuleLoader = this.module.cwrap("QTS_RuntimeEnableModuleLoader", null, ["number", "number"]);
+        this.QTS_RuntimeDisableModuleLoader = this.module.cwrap("QTS_RuntimeDisableModuleLoader", null, ["number"]);
+    }
+}
+exports.QuickJSFFI = QuickJSFFI;
+//# sourceMappingURL=ffi.WASM_RELEASE_SYNC.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_SYNC.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_SYNC.js.map
new file mode 100644
index 0000000..5fcf567
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/generated/ffi.WASM_RELEASE_SYNC.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"ffi.WASM_RELEASE_SYNC.js","sourceRoot":"","sources":["../../ts/generated/ffi.WASM_RELEASE_SYNC.ts"],"names":[],"mappings":"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","sourcesContent":["// This file generated by \"generate.ts ffi\" in the root of the repo.\nimport { QuickJSEmscriptenModule } from \"../emscripten-types\"\nimport { JSRuntimePointer, JSContextPointer, JSContextPointerPointer, JSModuleDefPointer, JSValuePointer, JSValueConstPointer, JSValuePointerPointer, JSValueConstPointerPointer, QTS_C_To_HostCallbackFuncPointer, QTS_C_To_HostInterruptFuncPointer, QTS_C_To_HostLoadModuleFuncPointer, BorrowedHeapCharPointer, OwnedHeapCharPointer, JSBorrowedCharPointer, JSVoidPointer, EvalFlags, EvalDetectModule } from \"../types-ffi\"\n\n/**\n * Low-level FFI bindings to QuickJS's Emscripten module.\n * See instead [[QuickJSContext]], the public Javascript interface exposed by this\n * library.\n *\n * @unstable The FFI interface is considered private and may change.\n */\nexport class QuickJSFFI {\n  constructor(private module: QuickJSEmscriptenModule) {}\n  /** Set at compile time. */\n  readonly DEBUG = false\n\n  QTS_Throw: (ctx: JSContextPointer, error: JSValuePointer | JSValueConstPointer) => JSValuePointer =\n    this.module.cwrap(\"QTS_Throw\", \"number\", [\"number\",\"number\"])\n\n  QTS_NewError: (ctx: JSContextPointer) => JSValuePointer =\n    this.module.cwrap(\"QTS_NewError\", \"number\", [\"number\"])\n\n  QTS_RuntimeSetMemoryLimit: (rt: JSRuntimePointer, limit: number) => void =\n    this.module.cwrap(\"QTS_RuntimeSetMemoryLimit\", null, [\"number\",\"number\"])\n\n  QTS_RuntimeComputeMemoryUsage: (rt: JSRuntimePointer, ctx: JSContextPointer) => JSValuePointer =\n    this.module.cwrap(\"QTS_RuntimeComputeMemoryUsage\", \"number\", [\"number\",\"number\"])\n\n  QTS_RuntimeDumpMemoryUsage: (rt: JSRuntimePointer) => OwnedHeapCharPointer =\n    this.module.cwrap(\"QTS_RuntimeDumpMemoryUsage\", \"number\", [\"number\"])\n\n  QTS_RecoverableLeakCheck: () => number =\n    this.module.cwrap(\"QTS_RecoverableLeakCheck\", \"number\", [])\n\n  QTS_BuildIsSanitizeLeak: () => number =\n    this.module.cwrap(\"QTS_BuildIsSanitizeLeak\", \"number\", [])\n\n  QTS_RuntimeSetMaxStackSize: (rt: JSRuntimePointer, stack_size: number) => void =\n    this.module.cwrap(\"QTS_RuntimeSetMaxStackSize\", null, [\"number\",\"number\"])\n\n  QTS_GetUndefined: () => JSValueConstPointer =\n    this.module.cwrap(\"QTS_GetUndefined\", \"number\", [])\n\n  QTS_GetNull: () => JSValueConstPointer =\n    this.module.cwrap(\"QTS_GetNull\", \"number\", [])\n\n  QTS_GetFalse: () => JSValueConstPointer =\n    this.module.cwrap(\"QTS_GetFalse\", \"number\", [])\n\n  QTS_GetTrue: () => JSValueConstPointer =\n    this.module.cwrap(\"QTS_GetTrue\", \"number\", [])\n\n  QTS_NewRuntime: () => JSRuntimePointer =\n    this.module.cwrap(\"QTS_NewRuntime\", \"number\", [])\n\n  QTS_FreeRuntime: (rt: JSRuntimePointer) => void =\n    this.module.cwrap(\"QTS_FreeRuntime\", null, [\"number\"])\n\n  QTS_NewContext: (rt: JSRuntimePointer) => JSContextPointer =\n    this.module.cwrap(\"QTS_NewContext\", \"number\", [\"number\"])\n\n  QTS_FreeContext: (ctx: JSContextPointer) => void =\n    this.module.cwrap(\"QTS_FreeContext\", null, [\"number\"])\n\n  QTS_FreeValuePointer: (ctx: JSContextPointer, value: JSValuePointer) => void =\n    this.module.cwrap(\"QTS_FreeValuePointer\", null, [\"number\",\"number\"])\n\n  QTS_FreeValuePointerRuntime: (rt: JSRuntimePointer, value: JSValuePointer) => void =\n    this.module.cwrap(\"QTS_FreeValuePointerRuntime\", null, [\"number\",\"number\"])\n\n  QTS_FreeVoidPointer: (ctx: JSContextPointer, ptr: JSVoidPointer) => void =\n    this.module.cwrap(\"QTS_FreeVoidPointer\", null, [\"number\",\"number\"])\n\n  QTS_FreeCString: (ctx: JSContextPointer, str: JSBorrowedCharPointer) => void =\n    this.module.cwrap(\"QTS_FreeCString\", null, [\"number\",\"number\"])\n\n  QTS_DupValuePointer: (ctx: JSContextPointer, val: JSValuePointer | JSValueConstPointer) => JSValuePointer =\n    this.module.cwrap(\"QTS_DupValuePointer\", \"number\", [\"number\",\"number\"])\n\n  QTS_NewObject: (ctx: JSContextPointer) => JSValuePointer =\n    this.module.cwrap(\"QTS_NewObject\", \"number\", [\"number\"])\n\n  QTS_NewObjectProto: (ctx: JSContextPointer, proto: JSValuePointer | JSValueConstPointer) => JSValuePointer =\n    this.module.cwrap(\"QTS_NewObjectProto\", \"number\", [\"number\",\"number\"])\n\n  QTS_NewArray: (ctx: JSContextPointer) => JSValuePointer =\n    this.module.cwrap(\"QTS_NewArray\", \"number\", [\"number\"])\n\n  QTS_NewFloat64: (ctx: JSContextPointer, num: number) => JSValuePointer =\n    this.module.cwrap(\"QTS_NewFloat64\", \"number\", [\"number\",\"number\"])\n\n  QTS_GetFloat64: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => number =\n    this.module.cwrap(\"QTS_GetFloat64\", \"number\", [\"number\",\"number\"])\n\n  QTS_NewString: (ctx: JSContextPointer, string: BorrowedHeapCharPointer) => JSValuePointer =\n    this.module.cwrap(\"QTS_NewString\", \"number\", [\"number\",\"number\"])\n\n  QTS_GetString: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer =\n    this.module.cwrap(\"QTS_GetString\", \"number\", [\"number\",\"number\"])\n\n  QTS_NewSymbol: (ctx: JSContextPointer, description: BorrowedHeapCharPointer, isGlobal: number) => JSValuePointer =\n    this.module.cwrap(\"QTS_NewSymbol\", \"number\", [\"number\",\"number\",\"number\"])\n\n  QTS_GetSymbolDescriptionOrKey: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer =\n    this.module.cwrap(\"QTS_GetSymbolDescriptionOrKey\", \"number\", [\"number\",\"number\"])\n\n  QTS_IsGlobalSymbol: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => number =\n    this.module.cwrap(\"QTS_IsGlobalSymbol\", \"number\", [\"number\",\"number\"])\n\n  QTS_IsJobPending: (rt: JSRuntimePointer) => number =\n    this.module.cwrap(\"QTS_IsJobPending\", \"number\", [\"number\"])\n\n  QTS_ExecutePendingJob: (rt: JSRuntimePointer, maxJobsToExecute: number, lastJobContext: JSContextPointerPointer) => JSValuePointer =\n    this.module.cwrap(\"QTS_ExecutePendingJob\", \"number\", [\"number\",\"number\",\"number\"])\n\n  QTS_GetProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer) => JSValuePointer =\n    this.module.cwrap(\"QTS_GetProp\", \"number\", [\"number\",\"number\",\"number\"])\n\n  QTS_SetProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer, prop_value: JSValuePointer | JSValueConstPointer) => void =\n    this.module.cwrap(\"QTS_SetProp\", null, [\"number\",\"number\",\"number\",\"number\"])\n\n  QTS_DefineProp: (ctx: JSContextPointer, this_val: JSValuePointer | JSValueConstPointer, prop_name: JSValuePointer | JSValueConstPointer, prop_value: JSValuePointer | JSValueConstPointer, get: JSValuePointer | JSValueConstPointer, set: JSValuePointer | JSValueConstPointer, configurable: boolean, enumerable: boolean, has_value: boolean) => void =\n    this.module.cwrap(\"QTS_DefineProp\", null, [\"number\",\"number\",\"number\",\"number\",\"number\",\"number\",\"boolean\",\"boolean\",\"boolean\"])\n\n  QTS_Call: (ctx: JSContextPointer, func_obj: JSValuePointer | JSValueConstPointer, this_obj: JSValuePointer | JSValueConstPointer, argc: number, argv_ptrs: JSValueConstPointerPointer) => JSValuePointer =\n    this.module.cwrap(\"QTS_Call\", \"number\", [\"number\",\"number\",\"number\",\"number\",\"number\"])\n\n  QTS_ResolveException: (ctx: JSContextPointer, maybe_exception: JSValuePointer) => JSValuePointer =\n    this.module.cwrap(\"QTS_ResolveException\", \"number\", [\"number\",\"number\"])\n\n  QTS_Dump: (ctx: JSContextPointer, obj: JSValuePointer | JSValueConstPointer) => JSBorrowedCharPointer =\n    this.module.cwrap(\"QTS_Dump\", \"number\", [\"number\",\"number\"])\n\n  QTS_Eval: (ctx: JSContextPointer, js_code: BorrowedHeapCharPointer, filename: string, detectModule: EvalDetectModule, evalFlags: EvalFlags) => JSValuePointer =\n    this.module.cwrap(\"QTS_Eval\", \"number\", [\"number\",\"number\",\"string\",\"number\",\"number\"])\n\n  QTS_Typeof: (ctx: JSContextPointer, value: JSValuePointer | JSValueConstPointer) => OwnedHeapCharPointer =\n    this.module.cwrap(\"QTS_Typeof\", \"number\", [\"number\",\"number\"])\n\n  QTS_GetGlobalObject: (ctx: JSContextPointer) => JSValuePointer =\n    this.module.cwrap(\"QTS_GetGlobalObject\", \"number\", [\"number\"])\n\n  QTS_NewPromiseCapability: (ctx: JSContextPointer, resolve_funcs_out: JSValuePointerPointer) => JSValuePointer =\n    this.module.cwrap(\"QTS_NewPromiseCapability\", \"number\", [\"number\",\"number\"])\n\n  QTS_TestStringArg: (string: string) => void =\n    this.module.cwrap(\"QTS_TestStringArg\", null, [\"string\"])\n\n  QTS_BuildIsDebug: () => number =\n    this.module.cwrap(\"QTS_BuildIsDebug\", \"number\", [])\n\n  QTS_BuildIsAsyncify: () => number =\n    this.module.cwrap(\"QTS_BuildIsAsyncify\", \"number\", [])\n\n  QTS_NewFunction: (ctx: JSContextPointer, func_id: number, name: string) => JSValuePointer =\n    this.module.cwrap(\"QTS_NewFunction\", \"number\", [\"number\",\"number\",\"string\"])\n\n  QTS_ArgvGetJSValueConstPointer: (argv: JSValuePointer | JSValueConstPointer, index: number) => JSValueConstPointer =\n    this.module.cwrap(\"QTS_ArgvGetJSValueConstPointer\", \"number\", [\"number\",\"number\"])\n\n  QTS_RuntimeEnableInterruptHandler: (rt: JSRuntimePointer) => void =\n    this.module.cwrap(\"QTS_RuntimeEnableInterruptHandler\", null, [\"number\"])\n\n  QTS_RuntimeDisableInterruptHandler: (rt: JSRuntimePointer) => void =\n    this.module.cwrap(\"QTS_RuntimeDisableInterruptHandler\", null, [\"number\"])\n\n  QTS_RuntimeEnableModuleLoader: (rt: JSRuntimePointer, use_custom_normalize: number) => void =\n    this.module.cwrap(\"QTS_RuntimeEnableModuleLoader\", null, [\"number\",\"number\"])\n\n  QTS_RuntimeDisableModuleLoader: (rt: JSRuntimePointer) => void =\n    this.module.cwrap(\"QTS_RuntimeDisableModuleLoader\", null, [\"number\"])\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/index.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/index.d.ts
new file mode 100644
index 0000000..3134e11
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/index.d.ts
@@ -0,0 +1,75 @@
+import type { QuickJSWASMModule } from "./module";
+import type { QuickJSRuntime, InterruptHandler } from "./runtime";
+import type { QuickJSContext } from "./context";
+export type { QuickJSWASMModule, QuickJSContext, QuickJSRuntime };
+import type { QuickJSAsyncWASMModule } from "./module-asyncify";
+import type { QuickJSAsyncRuntime } from "./runtime-asyncify";
+import type { QuickJSAsyncContext, AsyncFunctionImplementation } from "./context-asyncify";
+import { AsyncRuntimeOptions, ContextOptions } from "./types";
+export type { QuickJSAsyncContext, QuickJSAsyncRuntime, QuickJSAsyncWASMModule, AsyncFunctionImplementation, };
+import { newQuickJSWASMModule, newQuickJSAsyncWASMModule, DEBUG_ASYNC, DEBUG_SYNC, RELEASE_ASYNC, RELEASE_SYNC, SyncBuildVariant, AsyncBuildVariant } from "./variants";
+export { newQuickJSWASMModule, newQuickJSAsyncWASMModule, DEBUG_ASYNC, DEBUG_SYNC, RELEASE_ASYNC, RELEASE_SYNC, SyncBuildVariant, AsyncBuildVariant, };
+export * from "./vm-interface";
+export * from "./lifetime";
+/** Collects the informative errors this library may throw. */
+export * as errors from "./errors";
+export * from "./deferred-promise";
+export * from "./module-test";
+export type { StaticJSValue, JSValueConst, JSValue, QuickJSHandle, ContextOptions, ContextEvalOptions, RuntimeOptions, AsyncRuntimeOptions, RuntimeOptionsBase, JSModuleLoader, JSModuleLoadResult, JSModuleLoaderAsync, JSModuleLoadSuccess, JSModuleLoadFailure, JSModuleNormalizer, JSModuleNormalizerAsync, JSModuleNormalizeResult, JSModuleNormalizeFailure, JSModuleNormalizeSuccess, } from "./types";
+export type { ModuleEvalOptions } from "./module";
+export type { InterruptHandler, ExecutePendingJobsResult } from "./runtime";
+export type { QuickJSPropertyKey } from "./context";
+/**
+ * Get a shared singleton {@link QuickJSWASMModule}. Use this to evaluate code
+ * or create Javascript environments.
+ *
+ * This is the top-level entrypoint for the quickjs-emscripten library.
+ *
+ * If you need strictest possible isolation guarantees, you may create a
+ * separate {@link QuickJSWASMModule} via {@link newQuickJSWASMModule}.
+ *
+ * To work with the asyncified version of this library, see these functions:
+ *
+ * - {@link newAsyncRuntime}.
+ * - {@link newAsyncContext}.
+ * - {@link newQuickJSAsyncWASMModule}.
+ */
+export declare function getQuickJS(): Promise<QuickJSWASMModule>;
+/**
+ * Provides synchronous access to the shared {@link QuickJSWASMModule} instance returned by {@link getQuickJS}, as long as
+ * least once.
+ * @throws If called before `getQuickJS` resolves.
+ */
+export declare function getQuickJSSync(): QuickJSWASMModule;
+/**
+ * Create a new [[QuickJSAsyncRuntime]] in a separate WebAssembly module.
+ *
+ * Each runtime is isolated in a separate WebAssembly module, so that errors in
+ * one runtime cannot contaminate another runtime, and each runtime can execute
+ * an asynchronous action without conflicts.
+ *
+ * Note that there is a hard limit on the number of WebAssembly modules in older
+ * versions of v8:
+ * https://bugs.chromium.org/p/v8/issues/detail?id=12076
+ */
+export declare function newAsyncRuntime(options?: AsyncRuntimeOptions): Promise<QuickJSAsyncRuntime>;
+/**
+ * Create a new [[QuickJSAsyncContext]] (with an associated runtime) in an
+ * separate WebAssembly module.
+ *
+ * Each context is isolated in a separate WebAssembly module, so that errors in
+ * one runtime cannot contaminate another runtime, and each runtime can execute
+ * an asynchronous action without conflicts.
+ *
+ * Note that there is a hard limit on the number of WebAssembly modules in older
+ * versions of v8:
+ * https://bugs.chromium.org/p/v8/issues/detail?id=12076
+ */
+export declare function newAsyncContext(options?: ContextOptions): Promise<QuickJSAsyncContext>;
+/**
+ * Returns an interrupt handler that interrupts Javascript execution after a deadline time.
+ *
+ * @param deadline - Interrupt execution if it's still running after this time.
+ *   Number values are compared against `Date.now()`
+ */
+export declare function shouldInterruptAfterDeadline(deadline: Date | number): InterruptHandler;
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/index.js b/node_modules/@tootallnate/quickjs-emscripten/dist/index.js
new file mode 100644
index 0000000..6ae3f50
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/index.js
@@ -0,0 +1,128 @@
+"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __exportStar = (this && this.__exportStar) || function(m, exports) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
+};
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.shouldInterruptAfterDeadline = exports.newAsyncContext = exports.newAsyncRuntime = exports.getQuickJSSync = exports.getQuickJS = exports.errors = exports.RELEASE_SYNC = exports.RELEASE_ASYNC = exports.DEBUG_SYNC = exports.DEBUG_ASYNC = exports.newQuickJSAsyncWASMModule = exports.newQuickJSWASMModule = void 0;
+// Build variants
+const variants_1 = require("./variants");
+Object.defineProperty(exports, "newQuickJSWASMModule", { enumerable: true, get: function () { return variants_1.newQuickJSWASMModule; } });
+Object.defineProperty(exports, "newQuickJSAsyncWASMModule", { enumerable: true, get: function () { return variants_1.newQuickJSAsyncWASMModule; } });
+Object.defineProperty(exports, "DEBUG_ASYNC", { enumerable: true, get: function () { return variants_1.DEBUG_ASYNC; } });
+Object.defineProperty(exports, "DEBUG_SYNC", { enumerable: true, get: function () { return variants_1.DEBUG_SYNC; } });
+Object.defineProperty(exports, "RELEASE_ASYNC", { enumerable: true, get: function () { return variants_1.RELEASE_ASYNC; } });
+Object.defineProperty(exports, "RELEASE_SYNC", { enumerable: true, get: function () { return variants_1.RELEASE_SYNC; } });
+// Export helpers
+__exportStar(require("./vm-interface"), exports);
+__exportStar(require("./lifetime"), exports);
+/** Collects the informative errors this library may throw. */
+exports.errors = __importStar(require("./errors"));
+__exportStar(require("./deferred-promise"), exports);
+__exportStar(require("./module-test"), exports);
+let singleton = undefined;
+let singletonPromise = undefined;
+/**
+ * Get a shared singleton {@link QuickJSWASMModule}. Use this to evaluate code
+ * or create Javascript environments.
+ *
+ * This is the top-level entrypoint for the quickjs-emscripten library.
+ *
+ * If you need strictest possible isolation guarantees, you may create a
+ * separate {@link QuickJSWASMModule} via {@link newQuickJSWASMModule}.
+ *
+ * To work with the asyncified version of this library, see these functions:
+ *
+ * - {@link newAsyncRuntime}.
+ * - {@link newAsyncContext}.
+ * - {@link newQuickJSAsyncWASMModule}.
+ */
+async function getQuickJS() {
+    singletonPromise ?? (singletonPromise = (0, variants_1.newQuickJSWASMModule)().then((instance) => {
+        singleton = instance;
+        return instance;
+    }));
+    return await singletonPromise;
+}
+exports.getQuickJS = getQuickJS;
+/**
+ * Provides synchronous access to the shared {@link QuickJSWASMModule} instance returned by {@link getQuickJS}, as long as
+ * least once.
+ * @throws If called before `getQuickJS` resolves.
+ */
+function getQuickJSSync() {
+    if (!singleton) {
+        throw new Error("QuickJS not initialized. Await getQuickJS() at least once.");
+    }
+    return singleton;
+}
+exports.getQuickJSSync = getQuickJSSync;
+/**
+ * Create a new [[QuickJSAsyncRuntime]] in a separate WebAssembly module.
+ *
+ * Each runtime is isolated in a separate WebAssembly module, so that errors in
+ * one runtime cannot contaminate another runtime, and each runtime can execute
+ * an asynchronous action without conflicts.
+ *
+ * Note that there is a hard limit on the number of WebAssembly modules in older
+ * versions of v8:
+ * https://bugs.chromium.org/p/v8/issues/detail?id=12076
+ */
+async function newAsyncRuntime(options) {
+    const module = await (0, variants_1.newQuickJSAsyncWASMModule)();
+    return module.newRuntime(options);
+}
+exports.newAsyncRuntime = newAsyncRuntime;
+/**
+ * Create a new [[QuickJSAsyncContext]] (with an associated runtime) in an
+ * separate WebAssembly module.
+ *
+ * Each context is isolated in a separate WebAssembly module, so that errors in
+ * one runtime cannot contaminate another runtime, and each runtime can execute
+ * an asynchronous action without conflicts.
+ *
+ * Note that there is a hard limit on the number of WebAssembly modules in older
+ * versions of v8:
+ * https://bugs.chromium.org/p/v8/issues/detail?id=12076
+ */
+async function newAsyncContext(options) {
+    const module = await (0, variants_1.newQuickJSAsyncWASMModule)();
+    return module.newContext(options);
+}
+exports.newAsyncContext = newAsyncContext;
+/**
+ * Returns an interrupt handler that interrupts Javascript execution after a deadline time.
+ *
+ * @param deadline - Interrupt execution if it's still running after this time.
+ *   Number values are compared against `Date.now()`
+ */
+function shouldInterruptAfterDeadline(deadline) {
+    const deadlineAsNumber = typeof deadline === "number" ? deadline : deadline.getTime();
+    return function () {
+        return Date.now() > deadlineAsNumber;
+    };
+}
+exports.shouldInterruptAfterDeadline = shouldInterruptAfterDeadline;
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/index.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/index.js.map
new file mode 100644
index 0000000..6a70928
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,iBAAiB;AACjB,yCASmB;AAEjB,qGAVA,+BAAoB,OAUA;AACpB,0GAVA,oCAAyB,OAUA;AACzB,4FAVA,sBAAW,OAUA;AACX,2FAVA,qBAAU,OAUA;AACV,8FAVA,wBAAa,OAUA;AACb,6FAVA,uBAAY,OAUA;AAKd,iBAAiB;AACjB,iDAA8B;AAC9B,6CAA0B;AAC1B,8DAA8D;AAC9D,mDAAkC;AAClC,qDAAkC;AAClC,gDAA6B;AA0B7B,IAAI,SAAS,GAAkC,SAAS,CAAA;AACxD,IAAI,gBAAgB,GAA2C,SAAS,CAAA;AAExE;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,UAAU;IAC9B,gBAAgB,KAAhB,gBAAgB,GAAK,IAAA,+BAAoB,GAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC5D,SAAS,GAAG,QAAQ,CAAA;QACpB,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAC,EAAA;IACF,OAAO,MAAM,gBAAgB,CAAA;AAC/B,CAAC;AAND,gCAMC;AAED;;;;GAIG;AACH,SAAgB,cAAc;IAC5B,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;KAC9E;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AALD,wCAKC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,eAAe,CAAC,OAA6B;IACjE,MAAM,MAAM,GAAG,MAAM,IAAA,oCAAyB,GAAE,CAAA;IAChD,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC;AAHD,0CAGC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,eAAe,CAAC,OAAwB;IAC5D,MAAM,MAAM,GAAG,MAAM,IAAA,oCAAyB,GAAE,CAAA;IAChD,OAAO,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;AACnC,CAAC;AAHD,0CAGC;AAED;;;;;GAKG;AACH,SAAgB,4BAA4B,CAAC,QAAuB;IAClE,MAAM,gBAAgB,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;IAErF,OAAO;QACL,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAA;IACtC,CAAC,CAAA;AACH,CAAC;AAND,oEAMC","sourcesContent":["// Sync classes\nimport type { QuickJSWASMModule } from \"./module\"\nimport type { QuickJSRuntime, InterruptHandler } from \"./runtime\"\nimport type { QuickJSContext } from \"./context\"\nexport type { QuickJSWASMModule, QuickJSContext, QuickJSRuntime }\n\n// Async classes\nimport type { QuickJSAsyncWASMModule } from \"./module-asyncify\"\nimport type { QuickJSAsyncRuntime } from \"./runtime-asyncify\"\nimport type { QuickJSAsyncContext, AsyncFunctionImplementation } from \"./context-asyncify\"\nimport { AsyncRuntimeOptions, ContextOptions } from \"./types\"\nexport type {\n  QuickJSAsyncContext,\n  QuickJSAsyncRuntime,\n  QuickJSAsyncWASMModule,\n  AsyncFunctionImplementation,\n}\n\n// Build variants\nimport {\n  newQuickJSWASMModule,\n  newQuickJSAsyncWASMModule,\n  DEBUG_ASYNC,\n  DEBUG_SYNC,\n  RELEASE_ASYNC,\n  RELEASE_SYNC,\n  SyncBuildVariant,\n  AsyncBuildVariant,\n} from \"./variants\"\nexport {\n  newQuickJSWASMModule,\n  newQuickJSAsyncWASMModule,\n  DEBUG_ASYNC,\n  DEBUG_SYNC,\n  RELEASE_ASYNC,\n  RELEASE_SYNC,\n  SyncBuildVariant,\n  AsyncBuildVariant,\n}\n\n// Export helpers\nexport * from \"./vm-interface\"\nexport * from \"./lifetime\"\n/** Collects the informative errors this library may throw. */\nexport * as errors from \"./errors\"\nexport * from \"./deferred-promise\"\nexport * from \"./module-test\"\nexport type {\n  StaticJSValue,\n  JSValueConst,\n  JSValue,\n  QuickJSHandle,\n  ContextOptions,\n  ContextEvalOptions,\n  RuntimeOptions,\n  AsyncRuntimeOptions,\n  RuntimeOptionsBase,\n  JSModuleLoader,\n  JSModuleLoadResult,\n  JSModuleLoaderAsync,\n  JSModuleLoadSuccess,\n  JSModuleLoadFailure,\n  JSModuleNormalizer,\n  JSModuleNormalizerAsync,\n  JSModuleNormalizeResult,\n  JSModuleNormalizeFailure,\n  JSModuleNormalizeSuccess,\n} from \"./types\"\nexport type { ModuleEvalOptions } from \"./module\"\nexport type { InterruptHandler, ExecutePendingJobsResult } from \"./runtime\"\nexport type { QuickJSPropertyKey } from \"./context\"\n\nlet singleton: QuickJSWASMModule | undefined = undefined\nlet singletonPromise: Promise<QuickJSWASMModule> | undefined = undefined\n\n/**\n * Get a shared singleton {@link QuickJSWASMModule}. Use this to evaluate code\n * or create Javascript environments.\n *\n * This is the top-level entrypoint for the quickjs-emscripten library.\n *\n * If you need strictest possible isolation guarantees, you may create a\n * separate {@link QuickJSWASMModule} via {@link newQuickJSWASMModule}.\n *\n * To work with the asyncified version of this library, see these functions:\n *\n * - {@link newAsyncRuntime}.\n * - {@link newAsyncContext}.\n * - {@link newQuickJSAsyncWASMModule}.\n */\nexport async function getQuickJS(): Promise<QuickJSWASMModule> {\n  singletonPromise ??= newQuickJSWASMModule().then((instance) => {\n    singleton = instance\n    return instance\n  })\n  return await singletonPromise\n}\n\n/**\n * Provides synchronous access to the shared {@link QuickJSWASMModule} instance returned by {@link getQuickJS}, as long as\n * least once.\n * @throws If called before `getQuickJS` resolves.\n */\nexport function getQuickJSSync(): QuickJSWASMModule {\n  if (!singleton) {\n    throw new Error(\"QuickJS not initialized. Await getQuickJS() at least once.\")\n  }\n  return singleton\n}\n\n/**\n * Create a new [[QuickJSAsyncRuntime]] in a separate WebAssembly module.\n *\n * Each runtime is isolated in a separate WebAssembly module, so that errors in\n * one runtime cannot contaminate another runtime, and each runtime can execute\n * an asynchronous action without conflicts.\n *\n * Note that there is a hard limit on the number of WebAssembly modules in older\n * versions of v8:\n * https://bugs.chromium.org/p/v8/issues/detail?id=12076\n */\nexport async function newAsyncRuntime(options?: AsyncRuntimeOptions): Promise<QuickJSAsyncRuntime> {\n  const module = await newQuickJSAsyncWASMModule()\n  return module.newRuntime(options)\n}\n\n/**\n * Create a new [[QuickJSAsyncContext]] (with an associated runtime) in an\n * separate WebAssembly module.\n *\n * Each context is isolated in a separate WebAssembly module, so that errors in\n * one runtime cannot contaminate another runtime, and each runtime can execute\n * an asynchronous action without conflicts.\n *\n * Note that there is a hard limit on the number of WebAssembly modules in older\n * versions of v8:\n * https://bugs.chromium.org/p/v8/issues/detail?id=12076\n */\nexport async function newAsyncContext(options?: ContextOptions): Promise<QuickJSAsyncContext> {\n  const module = await newQuickJSAsyncWASMModule()\n  return module.newContext(options)\n}\n\n/**\n * Returns an interrupt handler that interrupts Javascript execution after a deadline time.\n *\n * @param deadline - Interrupt execution if it's still running after this time.\n *   Number values are compared against `Date.now()`\n */\nexport function shouldInterruptAfterDeadline(deadline: Date | number): InterruptHandler {\n  const deadlineAsNumber = typeof deadline === \"number\" ? deadline : deadline.getTime()\n\n  return function () {\n    return Date.now() > deadlineAsNumber\n  }\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/lifetime.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/lifetime.d.ts
new file mode 100644
index 0000000..939e9f9
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/lifetime.d.ts
@@ -0,0 +1,115 @@
+import { MaybeAsyncBlock } from "./asyncify-helpers";
+import type { QuickJSHandle } from "./types";
+/**
+ * An object that can be disposed.
+ * [[Lifetime]] is the canonical implementation of Disposable.
+ * Use [[Scope]] to manage cleaning up multiple disposables.
+ */
+export interface Disposable {
+    /**
+     * Dispose of the underlying resources used by this object.
+     */
+    dispose(): void;
+    /**
+     * @returns true if the object is alive
+     * @returns false after the object has been [[dispose]]d
+     */
+    alive: boolean;
+}
+/**
+ * A lifetime prevents access to a value after the lifetime has been
+ * [[dispose]]ed.
+ *
+ * Typically, quickjs-emscripten uses Lifetimes to protect C memory pointers.
+ */
+export declare class Lifetime<T, TCopy = never, Owner = never> implements Disposable {
+    protected readonly _value: T;
+    protected readonly copier?: ((value: T | TCopy) => TCopy) | undefined;
+    protected readonly disposer?: ((value: T | TCopy) => void) | undefined;
+    protected readonly _owner?: Owner | undefined;
+    protected _alive: boolean;
+    protected _constructorStack: string | undefined;
+    /**
+     * When the Lifetime is disposed, it will call `disposer(_value)`. Use the
+     * disposer function to implement whatever cleanup needs to happen at the end
+     * of `value`'s lifetime.
+     *
+     * `_owner` is not used or controlled by the lifetime. It's just metadata for
+     * the creator.
+     */
+    constructor(_value: T, copier?: ((value: T | TCopy) => TCopy) | undefined, disposer?: ((value: T | TCopy) => void) | undefined, _owner?: Owner | undefined);
+    get alive(): boolean;
+    /**
+     * The value this Lifetime protects. You must never retain the value - it
+     * may become invalid, leading to memory errors.
+     *
+     * @throws If the lifetime has been [[dispose]]d already.
+     */
+    get value(): T;
+    get owner(): Owner | undefined;
+    get dupable(): boolean;
+    /**
+     * Create a new handle pointing to the same [[value]].
+     */
+    dup(): Lifetime<TCopy, TCopy, Owner>;
+    /**
+     * Call `map` with this lifetime, then dispose the lifetime.
+     * @return the result of `map(this)`.
+     */
+    consume<O>(map: (lifetime: this) => O): O;
+    consume<O>(map: (lifetime: QuickJSHandle) => O): O;
+    /**
+     * Dispose of [[value]] and perform cleanup.
+     */
+    dispose(): void;
+    private assertAlive;
+}
+/**
+ * A Lifetime that lives forever. Used for constants.
+ */
+export declare class StaticLifetime<T, Owner = never> extends Lifetime<T, T, Owner> {
+    constructor(value: T, owner?: Owner);
+    get dupable(): boolean;
+    dup(): this;
+    dispose(): void;
+}
+/**
+ * A Lifetime that does not own its `value`. A WeakLifetime never calls its
+ * `disposer` function, but can be `dup`ed to produce regular lifetimes that
+ * do.
+ *
+ * Used for function arguments.
+ */
+export declare class WeakLifetime<T, TCopy = never, Owner = never> extends Lifetime<T, TCopy, Owner> {
+    constructor(value: T, copier?: (value: T | TCopy) => TCopy, disposer?: (value: TCopy) => void, owner?: Owner);
+    dispose(): void;
+}
+/**
+ * Scope helps reduce the burden of manually tracking and disposing of
+ * Lifetimes. See [[withScope]]. and [[withScopeAsync]].
+ */
+export declare class Scope implements Disposable {
+    /**
+     * Run `block` with a new Scope instance that will be disposed after the block returns.
+     * Inside `block`, call `scope.manage` on each lifetime you create to have the lifetime
+     * automatically disposed after the block returns.
+     *
+     * @warning Do not use with async functions. Instead, use [[withScopeAsync]].
+     */
+    static withScope<R>(block: (scope: Scope) => R): R;
+    static withScopeMaybeAsync<Return, This, Yielded>(_this: This, block: MaybeAsyncBlock<Return, This, Yielded, [Scope]>): Return | Promise<Return>;
+    /**
+     * Run `block` with a new Scope instance that will be disposed after the
+     * block's returned promise settles. Inside `block`, call `scope.manage` on each
+     * lifetime you create to have the lifetime automatically disposed after the
+     * block returns.
+     */
+    static withScopeAsync<R>(block: (scope: Scope) => Promise<R>): Promise<R>;
+    private _disposables;
+    /**
+     * Track `lifetime` so that it is disposed when this scope is disposed.
+     */
+    manage<T extends Disposable>(lifetime: T): T;
+    get alive(): boolean;
+    dispose(): void;
+}
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/lifetime.js b/node_modules/@tootallnate/quickjs-emscripten/dist/lifetime.js
new file mode 100644
index 0000000..061c8e4
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/lifetime.js
@@ -0,0 +1,227 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Scope = exports.WeakLifetime = exports.StaticLifetime = exports.Lifetime = void 0;
+const asyncify_helpers_1 = require("./asyncify-helpers");
+const debug_1 = require("./debug");
+const errors_1 = require("./errors");
+/**
+ * A lifetime prevents access to a value after the lifetime has been
+ * [[dispose]]ed.
+ *
+ * Typically, quickjs-emscripten uses Lifetimes to protect C memory pointers.
+ */
+class Lifetime {
+    /**
+     * When the Lifetime is disposed, it will call `disposer(_value)`. Use the
+     * disposer function to implement whatever cleanup needs to happen at the end
+     * of `value`'s lifetime.
+     *
+     * `_owner` is not used or controlled by the lifetime. It's just metadata for
+     * the creator.
+     */
+    constructor(_value, copier, disposer, _owner) {
+        this._value = _value;
+        this.copier = copier;
+        this.disposer = disposer;
+        this._owner = _owner;
+        this._alive = true;
+        this._constructorStack = debug_1.QTS_DEBUG ? new Error("Lifetime constructed").stack : undefined;
+    }
+    get alive() {
+        return this._alive;
+    }
+    /**
+     * The value this Lifetime protects. You must never retain the value - it
+     * may become invalid, leading to memory errors.
+     *
+     * @throws If the lifetime has been [[dispose]]d already.
+     */
+    get value() {
+        this.assertAlive();
+        return this._value;
+    }
+    get owner() {
+        return this._owner;
+    }
+    get dupable() {
+        return !!this.copier;
+    }
+    /**
+     * Create a new handle pointing to the same [[value]].
+     */
+    dup() {
+        this.assertAlive();
+        if (!this.copier) {
+            throw new Error("Non-dupable lifetime");
+        }
+        return new Lifetime(this.copier(this._value), this.copier, this.disposer, this._owner);
+    }
+    consume(map) {
+        this.assertAlive();
+        const result = map(this);
+        this.dispose();
+        return result;
+    }
+    /**
+     * Dispose of [[value]] and perform cleanup.
+     */
+    dispose() {
+        this.assertAlive();
+        if (this.disposer) {
+            this.disposer(this._value);
+        }
+        this._alive = false;
+    }
+    assertAlive() {
+        if (!this.alive) {
+            if (this._constructorStack) {
+                throw new errors_1.QuickJSUseAfterFree(`Lifetime not alive\n${this._constructorStack}\nLifetime used`);
+            }
+            throw new errors_1.QuickJSUseAfterFree("Lifetime not alive");
+        }
+    }
+}
+exports.Lifetime = Lifetime;
+/**
+ * A Lifetime that lives forever. Used for constants.
+ */
+class StaticLifetime extends Lifetime {
+    constructor(value, owner) {
+        super(value, undefined, undefined, owner);
+    }
+    // Static lifetime doesn't need a copier to be copiable
+    get dupable() {
+        return true;
+    }
+    // Copy returns the same instance.
+    dup() {
+        return this;
+    }
+    // Dispose does nothing.
+    dispose() { }
+}
+exports.StaticLifetime = StaticLifetime;
+/**
+ * A Lifetime that does not own its `value`. A WeakLifetime never calls its
+ * `disposer` function, but can be `dup`ed to produce regular lifetimes that
+ * do.
+ *
+ * Used for function arguments.
+ */
+class WeakLifetime extends Lifetime {
+    constructor(value, copier, disposer, owner) {
+        // We don't care if the disposer doesn't support freeing T
+        super(value, copier, disposer, owner);
+    }
+    dispose() {
+        this._alive = false;
+    }
+}
+exports.WeakLifetime = WeakLifetime;
+function scopeFinally(scope, blockError) {
+    // console.log('scopeFinally', scope, blockError)
+    let disposeError;
+    try {
+        scope.dispose();
+    }
+    catch (error) {
+        disposeError = error;
+    }
+    if (blockError && disposeError) {
+        Object.assign(blockError, {
+            message: `${blockError.message}\n Then, failed to dispose scope: ${disposeError.message}`,
+            disposeError,
+        });
+        throw blockError;
+    }
+    if (blockError || disposeError) {
+        throw blockError || disposeError;
+    }
+}
+/**
+ * Scope helps reduce the burden of manually tracking and disposing of
+ * Lifetimes. See [[withScope]]. and [[withScopeAsync]].
+ */
+class Scope {
+    constructor() {
+        this._disposables = new Lifetime(new Set());
+    }
+    /**
+     * Run `block` with a new Scope instance that will be disposed after the block returns.
+     * Inside `block`, call `scope.manage` on each lifetime you create to have the lifetime
+     * automatically disposed after the block returns.
+     *
+     * @warning Do not use with async functions. Instead, use [[withScopeAsync]].
+     */
+    static withScope(block) {
+        const scope = new Scope();
+        let blockError;
+        try {
+            return block(scope);
+        }
+        catch (error) {
+            blockError = error;
+            throw error;
+        }
+        finally {
+            scopeFinally(scope, blockError);
+        }
+    }
+    static withScopeMaybeAsync(_this, block) {
+        return (0, asyncify_helpers_1.maybeAsync)(undefined, function* (awaited) {
+            const scope = new Scope();
+            let blockError;
+            try {
+                return yield* awaited.of(block.call(_this, awaited, scope));
+            }
+            catch (error) {
+                blockError = error;
+                throw error;
+            }
+            finally {
+                scopeFinally(scope, blockError);
+            }
+        });
+    }
+    /**
+     * Run `block` with a new Scope instance that will be disposed after the
+     * block's returned promise settles. Inside `block`, call `scope.manage` on each
+     * lifetime you create to have the lifetime automatically disposed after the
+     * block returns.
+     */
+    static async withScopeAsync(block) {
+        const scope = new Scope();
+        let blockError;
+        try {
+            return await block(scope);
+        }
+        catch (error) {
+            blockError = error;
+            throw error;
+        }
+        finally {
+            scopeFinally(scope, blockError);
+        }
+    }
+    /**
+     * Track `lifetime` so that it is disposed when this scope is disposed.
+     */
+    manage(lifetime) {
+        this._disposables.value.add(lifetime);
+        return lifetime;
+    }
+    get alive() {
+        return this._disposables.alive;
+    }
+    dispose() {
+        const lifetimes = Array.from(this._disposables.value.values()).reverse();
+        for (const lifetime of lifetimes) {
+            if (lifetime.alive) {
+                lifetime.dispose();
+            }
+        }
+        this._disposables.dispose();
+    }
+}
+exports.Scope = Scope;
+//# sourceMappingURL=lifetime.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/lifetime.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/lifetime.js.map
new file mode 100644
index 0000000..7dedbd2
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/lifetime.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"lifetime.js","sourceRoot":"","sources":["../ts/lifetime.ts"],"names":[],"mappings":"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","sourcesContent":["import { maybeAsync, MaybeAsyncBlock } from \"./asyncify-helpers\"\nimport { QTS_DEBUG } from \"./debug\"\nimport { QuickJSUseAfterFree } from \"./errors\"\nimport type { QuickJSHandle } from \"./types\"\n\n/**\n * An object that can be disposed.\n * [[Lifetime]] is the canonical implementation of Disposable.\n * Use [[Scope]] to manage cleaning up multiple disposables.\n */\nexport interface Disposable {\n  /**\n   * Dispose of the underlying resources used by this object.\n   */\n  dispose(): void\n\n  /**\n   * @returns true if the object is alive\n   * @returns false after the object has been [[dispose]]d\n   */\n  alive: boolean\n}\n\n/**\n * A lifetime prevents access to a value after the lifetime has been\n * [[dispose]]ed.\n *\n * Typically, quickjs-emscripten uses Lifetimes to protect C memory pointers.\n */\nexport class Lifetime<T, TCopy = never, Owner = never> implements Disposable {\n  protected _alive: boolean = true\n  protected _constructorStack = QTS_DEBUG ? new Error(\"Lifetime constructed\").stack : undefined\n\n  /**\n   * When the Lifetime is disposed, it will call `disposer(_value)`. Use the\n   * disposer function to implement whatever cleanup needs to happen at the end\n   * of `value`'s lifetime.\n   *\n   * `_owner` is not used or controlled by the lifetime. It's just metadata for\n   * the creator.\n   */\n  constructor(\n    protected readonly _value: T,\n    protected readonly copier?: (value: T | TCopy) => TCopy,\n    protected readonly disposer?: (value: T | TCopy) => void,\n    protected readonly _owner?: Owner\n  ) {}\n\n  get alive() {\n    return this._alive\n  }\n\n  /**\n   * The value this Lifetime protects. You must never retain the value - it\n   * may become invalid, leading to memory errors.\n   *\n   * @throws If the lifetime has been [[dispose]]d already.\n   */\n  get value() {\n    this.assertAlive()\n    return this._value\n  }\n\n  get owner() {\n    return this._owner\n  }\n\n  get dupable() {\n    return !!this.copier\n  }\n\n  /**\n   * Create a new handle pointing to the same [[value]].\n   */\n  dup() {\n    this.assertAlive()\n    if (!this.copier) {\n      throw new Error(\"Non-dupable lifetime\")\n    }\n    return new Lifetime<TCopy, TCopy, Owner>(\n      this.copier(this._value),\n      this.copier,\n      this.disposer,\n      this._owner\n    )\n  }\n\n  /**\n   * Call `map` with this lifetime, then dispose the lifetime.\n   * @return the result of `map(this)`.\n   */\n  consume<O>(map: (lifetime: this) => O): O\n  // A specific type definition is needed for our common use-case\n  // https://github.com/microsoft/TypeScript/issues/30271\n  consume<O>(map: (lifetime: QuickJSHandle) => O): O\n  consume<O>(map: (lifetime: any) => O): O {\n    this.assertAlive()\n    const result = map(this)\n    this.dispose()\n    return result\n  }\n\n  /**\n   * Dispose of [[value]] and perform cleanup.\n   */\n  dispose() {\n    this.assertAlive()\n    if (this.disposer) {\n      this.disposer(this._value)\n    }\n    this._alive = false\n  }\n\n  private assertAlive() {\n    if (!this.alive) {\n      if (this._constructorStack) {\n        throw new QuickJSUseAfterFree(\n          `Lifetime not alive\\n${this._constructorStack}\\nLifetime used`\n        )\n      }\n      throw new QuickJSUseAfterFree(\"Lifetime not alive\")\n    }\n  }\n}\n\n/**\n * A Lifetime that lives forever. Used for constants.\n */\nexport class StaticLifetime<T, Owner = never> extends Lifetime<T, T, Owner> {\n  constructor(value: T, owner?: Owner) {\n    super(value, undefined, undefined, owner)\n  }\n\n  // Static lifetime doesn't need a copier to be copiable\n  get dupable() {\n    return true\n  }\n\n  // Copy returns the same instance.\n  dup() {\n    return this\n  }\n\n  // Dispose does nothing.\n  dispose() {}\n}\n\n/**\n * A Lifetime that does not own its `value`. A WeakLifetime never calls its\n * `disposer` function, but can be `dup`ed to produce regular lifetimes that\n * do.\n *\n * Used for function arguments.\n */\nexport class WeakLifetime<T, TCopy = never, Owner = never> extends Lifetime<T, TCopy, Owner> {\n  constructor(\n    value: T,\n    copier?: (value: T | TCopy) => TCopy,\n    disposer?: (value: TCopy) => void,\n    owner?: Owner\n  ) {\n    // We don't care if the disposer doesn't support freeing T\n    super(value, copier, disposer as (value: T | TCopy) => void, owner)\n  }\n\n  dispose() {\n    this._alive = false\n  }\n}\n\nfunction scopeFinally(scope: Scope, blockError: Error | undefined) {\n  // console.log('scopeFinally', scope, blockError)\n  let disposeError: Error | undefined\n  try {\n    scope.dispose()\n  } catch (error) {\n    disposeError = error as any\n  }\n\n  if (blockError && disposeError) {\n    Object.assign(blockError, {\n      message: `${blockError.message}\\n Then, failed to dispose scope: ${disposeError.message}`,\n      disposeError,\n    })\n    throw blockError\n  }\n\n  if (blockError || disposeError) {\n    throw blockError || disposeError\n  }\n}\n\n/**\n * Scope helps reduce the burden of manually tracking and disposing of\n * Lifetimes. See [[withScope]]. and [[withScopeAsync]].\n */\nexport class Scope implements Disposable {\n  /**\n   * Run `block` with a new Scope instance that will be disposed after the block returns.\n   * Inside `block`, call `scope.manage` on each lifetime you create to have the lifetime\n   * automatically disposed after the block returns.\n   *\n   * @warning Do not use with async functions. Instead, use [[withScopeAsync]].\n   */\n  static withScope<R>(block: (scope: Scope) => R): R {\n    const scope = new Scope()\n    let blockError: Error | undefined\n    try {\n      return block(scope)\n    } catch (error) {\n      blockError = error as any\n      throw error\n    } finally {\n      scopeFinally(scope, blockError)\n    }\n  }\n\n  static withScopeMaybeAsync<Return, This, Yielded>(\n    _this: This,\n    block: MaybeAsyncBlock<Return, This, Yielded, [Scope]>\n  ): Return | Promise<Return> {\n    return maybeAsync(undefined, function* (awaited) {\n      const scope = new Scope()\n      let blockError: Error | undefined\n      try {\n        return yield* awaited.of(block.call(_this, awaited, scope))\n      } catch (error) {\n        blockError = error as any\n        throw error\n      } finally {\n        scopeFinally(scope, blockError)\n      }\n    })\n  }\n\n  /**\n   * Run `block` with a new Scope instance that will be disposed after the\n   * block's returned promise settles. Inside `block`, call `scope.manage` on each\n   * lifetime you create to have the lifetime automatically disposed after the\n   * block returns.\n   */\n  static async withScopeAsync<R>(block: (scope: Scope) => Promise<R>): Promise<R> {\n    const scope = new Scope()\n    let blockError: Error | undefined\n    try {\n      return await block(scope)\n    } catch (error) {\n      blockError = error as any\n      throw error\n    } finally {\n      scopeFinally(scope, blockError)\n    }\n  }\n\n  private _disposables: Lifetime<Set<Disposable>> = new Lifetime(new Set())\n\n  /**\n   * Track `lifetime` so that it is disposed when this scope is disposed.\n   */\n  manage<T extends Disposable>(lifetime: T): T {\n    this._disposables.value.add(lifetime)\n    return lifetime\n  }\n\n  get alive() {\n    return this._disposables.alive\n  }\n\n  dispose() {\n    const lifetimes = Array.from(this._disposables.value.values()).reverse()\n    for (const lifetime of lifetimes) {\n      if (lifetime.alive) {\n        lifetime.dispose()\n      }\n    }\n    this._disposables.dispose()\n  }\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/memory.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/memory.d.ts
new file mode 100644
index 0000000..156073b
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/memory.d.ts
@@ -0,0 +1,18 @@
+import { EitherModule } from "./emscripten-types";
+import { OwnedHeapCharPointer, JSContextPointerPointer, JSValueConstPointerPointer, JSValuePointerPointer } from "./types-ffi";
+import { Lifetime } from "./lifetime";
+import { QuickJSHandle } from "./types";
+/**
+ * @private
+ */
+export declare class ModuleMemory {
+    module: EitherModule;
+    constructor(module: EitherModule);
+    toPointerArray(handleArray: QuickJSHandle[]): Lifetime<JSValueConstPointerPointer>;
+    newMutablePointerArray<T extends JSContextPointerPointer | JSValuePointerPointer>(length: number): Lifetime<{
+        typedArray: Int32Array;
+        ptr: T;
+    }>;
+    newHeapCharPointer(string: string): Lifetime<OwnedHeapCharPointer>;
+    consumeHeapCharPointer(ptr: OwnedHeapCharPointer): string;
+}
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/memory.js b/node_modules/@tootallnate/quickjs-emscripten/dist/memory.js
new file mode 100644
index 0000000..de165e1
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/memory.js
@@ -0,0 +1,41 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.ModuleMemory = void 0;
+const lifetime_1 = require("./lifetime");
+/**
+ * @private
+ */
+class ModuleMemory {
+    constructor(module) {
+        this.module = module;
+    }
+    toPointerArray(handleArray) {
+        const typedArray = new Int32Array(handleArray.map((handle) => handle.value));
+        const numBytes = typedArray.length * typedArray.BYTES_PER_ELEMENT;
+        const ptr = this.module._malloc(numBytes);
+        var heapBytes = new Uint8Array(this.module.HEAPU8.buffer, ptr, numBytes);
+        heapBytes.set(new Uint8Array(typedArray.buffer));
+        return new lifetime_1.Lifetime(ptr, undefined, (ptr) => this.module._free(ptr));
+    }
+    newMutablePointerArray(length) {
+        const zeros = new Int32Array(new Array(length).fill(0));
+        const numBytes = zeros.length * zeros.BYTES_PER_ELEMENT;
+        const ptr = this.module._malloc(numBytes);
+        const typedArray = new Int32Array(this.module.HEAPU8.buffer, ptr, length);
+        typedArray.set(zeros);
+        return new lifetime_1.Lifetime({ typedArray, ptr }, undefined, (value) => this.module._free(value.ptr));
+    }
+    newHeapCharPointer(string) {
+        const numBytes = this.module.lengthBytesUTF8(string) + 1;
+        const ptr = this.module._malloc(numBytes);
+        this.module.stringToUTF8(string, ptr, numBytes);
+        return new lifetime_1.Lifetime(ptr, undefined, (value) => this.module._free(value));
+    }
+    consumeHeapCharPointer(ptr) {
+        const str = this.module.UTF8ToString(ptr);
+        this.module._free(ptr);
+        return str;
+    }
+}
+exports.ModuleMemory = ModuleMemory;
+//# sourceMappingURL=memory.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/memory.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/memory.js.map
new file mode 100644
index 0000000..6b68abf
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/memory.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"memory.js","sourceRoot":"","sources":["../ts/memory.ts"],"names":[],"mappings":";;;AAOA,yCAAqC;AAGrC;;GAEG;AACH,MAAa,YAAY;IACvB,YAAmB,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE3C,cAAc,CAAC,WAA4B;QACzC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAC5E,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,GAAG,UAAU,CAAC,iBAAiB,CAAA;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAA+B,CAAA;QACvE,IAAI,SAAS,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;QACxE,SAAS,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA;QAChD,OAAO,IAAI,mBAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IACtE,CAAC;IAED,sBAAsB,CACpB,MAAc;QAEd,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QACvD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,iBAAiB,CAAA;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAM,CAAA;QAC9C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAA;QACzE,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACrB,OAAO,IAAI,mBAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IAC9F,CAAC;IAED,kBAAkB,CAAC,MAAc;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACxD,MAAM,GAAG,GAAyB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAyB,CAAA;QACvF,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAA;QAC/C,OAAO,IAAI,mBAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;IAC1E,CAAC;IAED,sBAAsB,CAAC,GAAyB;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACzC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACtB,OAAO,GAAG,CAAA;IACZ,CAAC;CACF;AAnCD,oCAmCC","sourcesContent":["import { EitherModule } from \"./emscripten-types\"\nimport {\n  OwnedHeapCharPointer,\n  JSContextPointerPointer,\n  JSValueConstPointerPointer,\n  JSValuePointerPointer,\n} from \"./types-ffi\"\nimport { Lifetime } from \"./lifetime\"\nimport { EitherFFI, QuickJSHandle } from \"./types\"\n\n/**\n * @private\n */\nexport class ModuleMemory {\n  constructor(public module: EitherModule) {}\n\n  toPointerArray(handleArray: QuickJSHandle[]): Lifetime<JSValueConstPointerPointer> {\n    const typedArray = new Int32Array(handleArray.map((handle) => handle.value))\n    const numBytes = typedArray.length * typedArray.BYTES_PER_ELEMENT\n    const ptr = this.module._malloc(numBytes) as JSValueConstPointerPointer\n    var heapBytes = new Uint8Array(this.module.HEAPU8.buffer, ptr, numBytes)\n    heapBytes.set(new Uint8Array(typedArray.buffer))\n    return new Lifetime(ptr, undefined, (ptr) => this.module._free(ptr))\n  }\n\n  newMutablePointerArray<T extends JSContextPointerPointer | JSValuePointerPointer>(\n    length: number\n  ): Lifetime<{ typedArray: Int32Array; ptr: T }> {\n    const zeros = new Int32Array(new Array(length).fill(0))\n    const numBytes = zeros.length * zeros.BYTES_PER_ELEMENT\n    const ptr = this.module._malloc(numBytes) as T\n    const typedArray = new Int32Array(this.module.HEAPU8.buffer, ptr, length)\n    typedArray.set(zeros)\n    return new Lifetime({ typedArray, ptr }, undefined, (value) => this.module._free(value.ptr))\n  }\n\n  newHeapCharPointer(string: string): Lifetime<OwnedHeapCharPointer> {\n    const numBytes = this.module.lengthBytesUTF8(string) + 1\n    const ptr: OwnedHeapCharPointer = this.module._malloc(numBytes) as OwnedHeapCharPointer\n    this.module.stringToUTF8(string, ptr, numBytes)\n    return new Lifetime(ptr, undefined, (value) => this.module._free(value))\n  }\n\n  consumeHeapCharPointer(ptr: OwnedHeapCharPointer): string {\n    const str = this.module.UTF8ToString(ptr)\n    this.module._free(ptr)\n    return str\n  }\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/module-asyncify.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/module-asyncify.d.ts
new file mode 100644
index 0000000..3797d87
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/module-asyncify.d.ts
@@ -0,0 +1,53 @@
+import { QuickJSAsyncContext } from "./context-asyncify";
+import { QuickJSAsyncEmscriptenModule } from "./emscripten-types";
+import { QuickJSAsyncFFI } from "./variants";
+import { ModuleEvalOptions, QuickJSWASMModule } from "./module";
+import { QuickJSAsyncRuntime } from "./runtime-asyncify";
+import { AsyncRuntimeOptions, ContextOptions } from "./types";
+/**
+ * Asyncified version of [[QuickJSWASMModule]].
+ *
+ * Due to limitations of Emscripten's ASYNCIFY process, only a single async
+ * function call can happen at a time across the entire WebAssembly module.
+ *
+ * That means that all runtimes, contexts, functions, etc created inside this
+ * WebAssembly are limited to a single concurrent async action.
+ * **Multiple concurrent async actions is an error.**
+ *
+ * To allow for multiple concurrent async actions, you must create multiple WebAssembly
+ * modules.
+ */
+export declare class QuickJSAsyncWASMModule extends QuickJSWASMModule {
+    /** @private */
+    protected ffi: QuickJSAsyncFFI;
+    /** @private */
+    protected module: QuickJSAsyncEmscriptenModule;
+    /** @private */
+    constructor(module: QuickJSAsyncEmscriptenModule, ffi: QuickJSAsyncFFI);
+    /**
+     * Create a new async runtime inside this WebAssembly module. All runtimes inside a
+     * module are limited to a single async call at a time. For multiple
+     * concurrent async actions, create multiple WebAssembly modules.
+     */
+    newRuntime(options?: AsyncRuntimeOptions): QuickJSAsyncRuntime;
+    /**
+     * A simplified API to create a new [[QuickJSRuntime]] and a
+     * [[QuickJSContext]] inside that runtime at the same time. The runtime will
+     * be disposed when the context is disposed.
+     */
+    newContext(options?: ContextOptions): QuickJSAsyncContext;
+    /** Synchronous evalCode is not supported. */
+    evalCode(): never;
+    /**
+     * One-off evaluate code without needing to create a [[QuickJSRuntimeAsync]] or
+     * [[QuickJSContextSync]] explicitly.
+     *
+     * This version allows for asynchronous Ecmascript module loading.
+     *
+     * Note that only a single async action can occur at a time inside the entire WebAssembly module.
+     * **Multiple concurrent async actions is an error.**
+     *
+     * See the documentation for [[QuickJSWASMModule.evalCode]] for more details.
+     */
+    evalCodeAsync(code: string, options: ModuleEvalOptions): Promise<unknown>;
+}
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/module-asyncify.js b/node_modules/@tootallnate/quickjs-emscripten/dist/module-asyncify.js
new file mode 100644
index 0000000..16a5735
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/module-asyncify.js
@@ -0,0 +1,97 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.QuickJSAsyncWASMModule = void 0;
+const errors_1 = require("./errors");
+const lifetime_1 = require("./lifetime");
+const module_1 = require("./module");
+const runtime_asyncify_1 = require("./runtime-asyncify");
+/**
+ * Asyncified version of [[QuickJSWASMModule]].
+ *
+ * Due to limitations of Emscripten's ASYNCIFY process, only a single async
+ * function call can happen at a time across the entire WebAssembly module.
+ *
+ * That means that all runtimes, contexts, functions, etc created inside this
+ * WebAssembly are limited to a single concurrent async action.
+ * **Multiple concurrent async actions is an error.**
+ *
+ * To allow for multiple concurrent async actions, you must create multiple WebAssembly
+ * modules.
+ */
+class QuickJSAsyncWASMModule extends module_1.QuickJSWASMModule {
+    /** @private */
+    constructor(module, ffi) {
+        super(module, ffi);
+        this.ffi = ffi;
+        this.module = module;
+    }
+    /**
+     * Create a new async runtime inside this WebAssembly module. All runtimes inside a
+     * module are limited to a single async call at a time. For multiple
+     * concurrent async actions, create multiple WebAssembly modules.
+     */
+    newRuntime(options = {}) {
+        const rt = new lifetime_1.Lifetime(this.ffi.QTS_NewRuntime(), undefined, (rt_ptr) => {
+            this.callbacks.deleteRuntime(rt_ptr);
+            this.ffi.QTS_FreeRuntime(rt_ptr);
+        });
+        const runtime = new runtime_asyncify_1.QuickJSAsyncRuntime({
+            module: this.module,
+            ffi: this.ffi,
+            rt,
+            callbacks: this.callbacks,
+        });
+        (0, module_1.applyBaseRuntimeOptions)(runtime, options);
+        if (options.moduleLoader) {
+            runtime.setModuleLoader(options.moduleLoader);
+        }
+        return runtime;
+    }
+    /**
+     * A simplified API to create a new [[QuickJSRuntime]] and a
+     * [[QuickJSContext]] inside that runtime at the same time. The runtime will
+     * be disposed when the context is disposed.
+     */
+    newContext(options = {}) {
+        const runtime = this.newRuntime();
+        const lifetimes = options.ownedLifetimes ? options.ownedLifetimes.concat([runtime]) : [runtime];
+        const context = runtime.newContext({ ...options, ownedLifetimes: lifetimes });
+        runtime.context = context;
+        return context;
+    }
+    /** Synchronous evalCode is not supported. */
+    evalCode() {
+        throw new errors_1.QuickJSNotImplemented("QuickJSWASMModuleAsyncify.evalCode: use evalCodeAsync instead");
+    }
+    /**
+     * One-off evaluate code without needing to create a [[QuickJSRuntimeAsync]] or
+     * [[QuickJSContextSync]] explicitly.
+     *
+     * This version allows for asynchronous Ecmascript module loading.
+     *
+     * Note that only a single async action can occur at a time inside the entire WebAssembly module.
+     * **Multiple concurrent async actions is an error.**
+     *
+     * See the documentation for [[QuickJSWASMModule.evalCode]] for more details.
+     */
+    evalCodeAsync(code, options) {
+        // TODO: we should really figure out generator for the Promise monad...
+        return lifetime_1.Scope.withScopeAsync(async (scope) => {
+            const vm = scope.manage(this.newContext());
+            (0, module_1.applyModuleEvalRuntimeOptions)(vm.runtime, options);
+            const result = await vm.evalCodeAsync(code, "eval.js");
+            if (options.memoryLimitBytes !== undefined) {
+                // Remove memory limit so we can dump the result without exceeding it.
+                vm.runtime.setMemoryLimit(-1);
+            }
+            if (result.error) {
+                const error = vm.dump(scope.manage(result.error));
+                throw error;
+            }
+            const value = vm.dump(scope.manage(result.value));
+            return value;
+        });
+    }
+}
+exports.QuickJSAsyncWASMModule = QuickJSAsyncWASMModule;
+//# sourceMappingURL=module-asyncify.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/module-asyncify.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/module-asyncify.js.map
new file mode 100644
index 0000000..54ec0f1
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/module-asyncify.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"module-asyncify.js","sourceRoot":"","sources":["../ts/module-asyncify.ts"],"names":[],"mappings":"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","sourcesContent":["import { QuickJSAsyncContext } from \"./context-asyncify\"\nimport { QuickJSAsyncEmscriptenModule } from \"./emscripten-types\"\nimport { QuickJSNotImplemented } from \"./errors\"\nimport { QuickJSAsyncFFI } from \"./variants\"\nimport { Lifetime, Scope } from \"./lifetime\"\nimport {\n  applyBaseRuntimeOptions,\n  applyModuleEvalRuntimeOptions,\n  ModuleEvalOptions,\n  QuickJSWASMModule,\n} from \"./module\"\nimport { QuickJSAsyncRuntime } from \"./runtime-asyncify\"\nimport { AsyncRuntimeOptions, ContextOptions, RuntimeOptions } from \"./types\"\n\n/**\n * Asyncified version of [[QuickJSWASMModule]].\n *\n * Due to limitations of Emscripten's ASYNCIFY process, only a single async\n * function call can happen at a time across the entire WebAssembly module.\n *\n * That means that all runtimes, contexts, functions, etc created inside this\n * WebAssembly are limited to a single concurrent async action.\n * **Multiple concurrent async actions is an error.**\n *\n * To allow for multiple concurrent async actions, you must create multiple WebAssembly\n * modules.\n */\nexport class QuickJSAsyncWASMModule extends QuickJSWASMModule {\n  /** @private */\n  protected ffi: QuickJSAsyncFFI\n  /** @private */\n  protected module: QuickJSAsyncEmscriptenModule\n\n  /** @private */\n  constructor(module: QuickJSAsyncEmscriptenModule, ffi: QuickJSAsyncFFI) {\n    super(module, ffi)\n    this.ffi = ffi\n    this.module = module\n  }\n\n  /**\n   * Create a new async runtime inside this WebAssembly module. All runtimes inside a\n   * module are limited to a single async call at a time. For multiple\n   * concurrent async actions, create multiple WebAssembly modules.\n   */\n  override newRuntime(options: AsyncRuntimeOptions = {}): QuickJSAsyncRuntime {\n    const rt = new Lifetime(this.ffi.QTS_NewRuntime(), undefined, (rt_ptr) => {\n      this.callbacks.deleteRuntime(rt_ptr)\n      this.ffi.QTS_FreeRuntime(rt_ptr)\n    })\n    const runtime = new QuickJSAsyncRuntime({\n      module: this.module,\n      ffi: this.ffi,\n      rt,\n      callbacks: this.callbacks,\n    })\n\n    applyBaseRuntimeOptions(runtime, options)\n\n    if (options.moduleLoader) {\n      runtime.setModuleLoader(options.moduleLoader)\n    }\n\n    return runtime\n  }\n\n  /**\n   * A simplified API to create a new [[QuickJSRuntime]] and a\n   * [[QuickJSContext]] inside that runtime at the same time. The runtime will\n   * be disposed when the context is disposed.\n   */\n  override newContext(options: ContextOptions = {}): QuickJSAsyncContext {\n    const runtime = this.newRuntime()\n    const lifetimes = options.ownedLifetimes ? options.ownedLifetimes.concat([runtime]) : [runtime]\n    const context = runtime.newContext({ ...options, ownedLifetimes: lifetimes })\n    runtime.context = context\n    return context\n  }\n\n  /** Synchronous evalCode is not supported. */\n  override evalCode(): never {\n    throw new QuickJSNotImplemented(\"QuickJSWASMModuleAsyncify.evalCode: use evalCodeAsync instead\")\n  }\n\n  /**\n   * One-off evaluate code without needing to create a [[QuickJSRuntimeAsync]] or\n   * [[QuickJSContextSync]] explicitly.\n   *\n   * This version allows for asynchronous Ecmascript module loading.\n   *\n   * Note that only a single async action can occur at a time inside the entire WebAssembly module.\n   * **Multiple concurrent async actions is an error.**\n   *\n   * See the documentation for [[QuickJSWASMModule.evalCode]] for more details.\n   */\n  evalCodeAsync(code: string, options: ModuleEvalOptions): Promise<unknown> {\n    // TODO: we should really figure out generator for the Promise monad...\n    return Scope.withScopeAsync(async (scope) => {\n      const vm = scope.manage(this.newContext())\n      applyModuleEvalRuntimeOptions(vm.runtime, options)\n      const result = await vm.evalCodeAsync(code, \"eval.js\")\n\n      if (options.memoryLimitBytes !== undefined) {\n        // Remove memory limit so we can dump the result without exceeding it.\n        vm.runtime.setMemoryLimit(-1)\n      }\n\n      if (result.error) {\n        const error = vm.dump(scope.manage(result.error))\n        throw error\n      }\n\n      const value = vm.dump(scope.manage(result.value))\n      return value\n    })\n  }\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/module-test.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/module-test.d.ts
new file mode 100644
index 0000000..c71f0b0
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/module-test.d.ts
@@ -0,0 +1,27 @@
+import type { QuickJSContext } from "./context";
+import type { ModuleEvalOptions, QuickJSWASMModule } from "./module";
+import type { QuickJSRuntime } from "./runtime";
+import type { ContextOptions, RuntimeOptions } from "./types";
+/**
+ * A test wrapper of [[QuickJSWASMModule]] that keeps a reference to each
+ * context or runtime created.
+ *
+ * Call [[disposeAll]] to reset these sets and calls `dispose` on any left alive
+ * (which may throw an error).
+ *
+ * Call [[assertNoMemoryAllocated]] at the end of a test, when you expect that you've
+ * freed all the memory you've ever allocated.
+ */
+export declare class TestQuickJSWASMModule implements Pick<QuickJSWASMModule, keyof QuickJSWASMModule> {
+    private parent;
+    contexts: Set<QuickJSContext>;
+    runtimes: Set<QuickJSRuntime>;
+    constructor(parent: QuickJSWASMModule);
+    newRuntime(options?: RuntimeOptions): QuickJSRuntime;
+    newContext(options?: ContextOptions): QuickJSContext;
+    evalCode(code: string, options?: ModuleEvalOptions): unknown;
+    disposeAll(): void;
+    assertNoMemoryAllocated(): void;
+    /** @private */
+    getFFI(): any;
+}
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/module-test.js b/node_modules/@tootallnate/quickjs-emscripten/dist/module-test.js
new file mode 100644
index 0000000..c6794a7
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/module-test.js
@@ -0,0 +1,77 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.TestQuickJSWASMModule = void 0;
+const errors_1 = require("./errors");
+const lifetime_1 = require("./lifetime");
+/**
+ * A test wrapper of [[QuickJSWASMModule]] that keeps a reference to each
+ * context or runtime created.
+ *
+ * Call [[disposeAll]] to reset these sets and calls `dispose` on any left alive
+ * (which may throw an error).
+ *
+ * Call [[assertNoMemoryAllocated]] at the end of a test, when you expect that you've
+ * freed all the memory you've ever allocated.
+ */
+class TestQuickJSWASMModule {
+    constructor(parent) {
+        this.parent = parent;
+        this.contexts = new Set();
+        this.runtimes = new Set();
+    }
+    newRuntime(options) {
+        const runtime = this.parent.newRuntime({
+            ...options,
+            ownedLifetimes: [
+                new lifetime_1.Lifetime(undefined, undefined, () => this.runtimes.delete(runtime)),
+                ...(options?.ownedLifetimes ?? []),
+            ],
+        });
+        this.runtimes.add(runtime);
+        return runtime;
+    }
+    newContext(options) {
+        const context = this.parent.newContext({
+            ...options,
+            ownedLifetimes: [
+                new lifetime_1.Lifetime(undefined, undefined, () => this.contexts.delete(context)),
+                ...(options?.ownedLifetimes ?? []),
+            ],
+        });
+        this.contexts.add(context);
+        return context;
+    }
+    evalCode(code, options) {
+        return this.parent.evalCode(code, options);
+    }
+    disposeAll() {
+        const allDisposables = [...this.contexts, ...this.runtimes];
+        this.runtimes.clear();
+        this.contexts.clear();
+        allDisposables.forEach((d) => {
+            if (d.alive) {
+                d.dispose();
+            }
+        });
+    }
+    assertNoMemoryAllocated() {
+        const leaksDetected = this.getFFI().QTS_RecoverableLeakCheck();
+        if (leaksDetected) {
+            // Note: this is currently only available when building from source
+            // with debug builds.
+            throw new errors_1.QuickJSMemoryLeakDetected("Leak sanitizer detected un-freed memory");
+        }
+        if (this.contexts.size > 0) {
+            throw new errors_1.QuickJSMemoryLeakDetected(`${this.contexts.size} contexts leaked`);
+        }
+        if (this.runtimes.size > 0) {
+            throw new errors_1.QuickJSMemoryLeakDetected(`${this.runtimes.size} runtimes leaked`);
+        }
+    }
+    /** @private */
+    getFFI() {
+        return this.parent.getFFI();
+    }
+}
+exports.TestQuickJSWASMModule = TestQuickJSWASMModule;
+//# sourceMappingURL=module-test.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/module-test.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/module-test.js.map
new file mode 100644
index 0000000..0fc53ff
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/module-test.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"module-test.js","sourceRoot":"","sources":["../ts/module-test.ts"],"names":[],"mappings":";;;AAIA,qCAAoD;AACpD,yCAAqC;AAErC;;;;;;;;;GASG;AACH,MAAa,qBAAqB;IAGhC,YAAoB,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;QAF7C,aAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;QACpC,aAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;IACY,CAAC;IAEjD,UAAU,CAAC,OAAwB;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YACrC,GAAG,OAAO;YACV,cAAc,EAAE;gBACd,IAAI,mBAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvE,GAAG,CAAC,OAAO,EAAE,cAAc,IAAI,EAAE,CAAC;aACnC;SACF,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC1B,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,UAAU,CAAC,OAAwB;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YACrC,GAAG,OAAO;YACV,cAAc,EAAE;gBACd,IAAI,mBAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvE,GAAG,CAAC,OAAO,EAAE,cAAc,IAAI,EAAE,CAAC;aACnC;SACF,CAAC,CAAA;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC1B,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,QAAQ,CAAC,IAAY,EAAE,OAA2B;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAC5C,CAAC;IAED,UAAU;QACR,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC3D,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACrB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAA;QACrB,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3B,IAAI,CAAC,CAAC,KAAK,EAAE;gBACX,CAAC,CAAC,OAAO,EAAE,CAAA;aACZ;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,uBAAuB;QACrB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,wBAAwB,EAAE,CAAA;QAC9D,IAAI,aAAa,EAAE;YACjB,mEAAmE;YACnE,qBAAqB;YACrB,MAAM,IAAI,kCAAyB,CAAC,yCAAyC,CAAC,CAAA;SAC/E;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE;YAC1B,MAAM,IAAI,kCAAyB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,CAAA;SAC7E;QAED,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE;YAC1B,MAAM,IAAI,kCAAyB,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,CAAA;SAC7E;IACH,CAAC;IAED,eAAe;IACf,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAA;IAC7B,CAAC;CACF;AAjED,sDAiEC","sourcesContent":["import type { QuickJSContext } from \"./context\"\nimport type { ModuleEvalOptions, QuickJSWASMModule } from \"./module\"\nimport type { QuickJSRuntime } from \"./runtime\"\nimport type { ContextOptions, RuntimeOptions } from \"./types\"\nimport { QuickJSMemoryLeakDetected } from \"./errors\"\nimport { Lifetime } from \"./lifetime\"\n\n/**\n * A test wrapper of [[QuickJSWASMModule]] that keeps a reference to each\n * context or runtime created.\n *\n * Call [[disposeAll]] to reset these sets and calls `dispose` on any left alive\n * (which may throw an error).\n *\n * Call [[assertNoMemoryAllocated]] at the end of a test, when you expect that you've\n * freed all the memory you've ever allocated.\n */\nexport class TestQuickJSWASMModule implements Pick<QuickJSWASMModule, keyof QuickJSWASMModule> {\n  contexts = new Set<QuickJSContext>()\n  runtimes = new Set<QuickJSRuntime>()\n  constructor(private parent: QuickJSWASMModule) {}\n\n  newRuntime(options?: RuntimeOptions): QuickJSRuntime {\n    const runtime = this.parent.newRuntime({\n      ...options,\n      ownedLifetimes: [\n        new Lifetime(undefined, undefined, () => this.runtimes.delete(runtime)),\n        ...(options?.ownedLifetimes ?? []),\n      ],\n    })\n    this.runtimes.add(runtime)\n    return runtime\n  }\n\n  newContext(options?: ContextOptions): QuickJSContext {\n    const context = this.parent.newContext({\n      ...options,\n      ownedLifetimes: [\n        new Lifetime(undefined, undefined, () => this.contexts.delete(context)),\n        ...(options?.ownedLifetimes ?? []),\n      ],\n    })\n    this.contexts.add(context)\n    return context\n  }\n\n  evalCode(code: string, options?: ModuleEvalOptions): unknown {\n    return this.parent.evalCode(code, options)\n  }\n\n  disposeAll() {\n    const allDisposables = [...this.contexts, ...this.runtimes]\n    this.runtimes.clear()\n    this.contexts.clear()\n    allDisposables.forEach((d) => {\n      if (d.alive) {\n        d.dispose()\n      }\n    })\n  }\n\n  assertNoMemoryAllocated() {\n    const leaksDetected = this.getFFI().QTS_RecoverableLeakCheck()\n    if (leaksDetected) {\n      // Note: this is currently only available when building from source\n      // with debug builds.\n      throw new QuickJSMemoryLeakDetected(\"Leak sanitizer detected un-freed memory\")\n    }\n\n    if (this.contexts.size > 0) {\n      throw new QuickJSMemoryLeakDetected(`${this.contexts.size} contexts leaked`)\n    }\n\n    if (this.runtimes.size > 0) {\n      throw new QuickJSMemoryLeakDetected(`${this.runtimes.size} runtimes leaked`)\n    }\n  }\n\n  /** @private */\n  getFFI() {\n    return this.parent.getFFI()\n  }\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/module.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/module.d.ts
new file mode 100644
index 0000000..0279ef4
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/module.d.ts
@@ -0,0 +1,152 @@
+import { QuickJSContext } from "./context";
+import { Asyncify, AsyncifySleepResult, EitherModule, EmscriptenModuleCallbacks } from "./emscripten-types";
+import { JSContextPointer, JSRuntimePointer } from "./types-ffi";
+import { InterruptHandler, QuickJSRuntime } from "./runtime";
+import { ContextOptions, EitherFFI, JSModuleLoader, RuntimeOptions, RuntimeOptionsBase } from "./types";
+type EmscriptenCallback<BaseArgs extends any[], Result> = (...args: [Asyncify | undefined, ...BaseArgs]) => Result | AsyncifySleepResult<Result>;
+type MaybeAsyncEmscriptenCallback<T extends EmscriptenCallback<any, any>> = T extends EmscriptenCallback<infer Args, infer Result> ? (...args: Args) => Result | Promise<Result> : never;
+type MaybeAsyncEmscriptenCallbacks = {
+    [K in keyof EmscriptenModuleCallbacks]: MaybeAsyncEmscriptenCallback<EmscriptenModuleCallbacks[K]>;
+};
+/**
+ * @private
+ */
+export interface ContextCallbacks {
+    callFunction: MaybeAsyncEmscriptenCallbacks["callFunction"];
+}
+/**
+ * @private
+ */
+export interface RuntimeCallbacks {
+    shouldInterrupt: MaybeAsyncEmscriptenCallbacks["shouldInterrupt"];
+    loadModuleSource: MaybeAsyncEmscriptenCallbacks["loadModuleSource"];
+    normalizeModule: MaybeAsyncEmscriptenCallbacks["normalizeModule"];
+}
+/**
+ * Options for [[QuickJSWASMModule.evalCode]].
+ */
+export interface ModuleEvalOptions {
+    /**
+     * Interrupt evaluation if `shouldInterrupt` returns `true`.
+     * See [[shouldInterruptAfterDeadline]].
+     */
+    shouldInterrupt?: InterruptHandler;
+    /**
+     * Memory limit, in bytes, of WebAssembly heap memory used by the QuickJS VM.
+     */
+    memoryLimitBytes?: number;
+    /**
+     * Stack size limit for this vm, in bytes
+     * To remove the limit, set to `0`.
+     */
+    maxStackSizeBytes?: number;
+    /**
+     * Module loader for any `import` statements or expressions.
+     */
+    moduleLoader?: JSModuleLoader;
+}
+/**
+ * We use static functions per module to dispatch runtime or context calls from
+ * C to the host.  This class manages the indirection from a specific runtime or
+ * context pointer to the appropriate callback handler.
+ *
+ * @private
+ */
+export declare class QuickJSModuleCallbacks {
+    private module;
+    private contextCallbacks;
+    private runtimeCallbacks;
+    constructor(module: EitherModule);
+    setRuntimeCallbacks(rt: JSRuntimePointer, callbacks: RuntimeCallbacks): void;
+    deleteRuntime(rt: JSRuntimePointer): void;
+    setContextCallbacks(ctx: JSContextPointer, callbacks: ContextCallbacks): void;
+    deleteContext(ctx: JSContextPointer): void;
+    private suspendedCount;
+    private suspended;
+    private handleAsyncify;
+    private cToHostCallbacks;
+}
+/**
+ * Process RuntimeOptions and apply them to a QuickJSRuntime.
+ * @private
+ */
+export declare function applyBaseRuntimeOptions(runtime: QuickJSRuntime, options: RuntimeOptionsBase): void;
+/**
+ * Process ModuleEvalOptions and apply them to a QuickJSRuntime.
+ * @private
+ */
+export declare function applyModuleEvalRuntimeOptions<T extends QuickJSRuntime>(runtime: T, options: ModuleEvalOptions): void;
+/**
+ * This class presents a Javascript interface to QuickJS, a Javascript interpreter
+ * that supports EcmaScript 2020 (ES2020).
+ *
+ * It wraps a single WebAssembly module containing the QuickJS library and
+ * associated helper C code. WebAssembly modules are completely isolated from
+ * each other by the host's WebAssembly runtime. Separate WebAssembly modules
+ * have the most isolation guarantees possible with this library.
+ *
+ * The simplest way to start running code is {@link evalCode}. This shortcut
+ * method will evaluate Javascript safely and return the result as a native
+ * Javascript value.
+ *
+ * For more control over the execution environment, or to interact with values
+ * inside QuickJS, create a context with {@link newContext} or a runtime with
+ * {@link newRuntime}.
+ */
+export declare class QuickJSWASMModule {
+    /** @private */
+    protected ffi: EitherFFI;
+    /** @private */
+    protected callbacks: QuickJSModuleCallbacks;
+    /** @private */
+    protected module: EitherModule;
+    /** @private */
+    constructor(module: EitherModule, ffi: EitherFFI);
+    /**
+     * Create a runtime.
+     * Use the runtime to set limits on CPU and memory usage and configure module
+     * loading for one or more [[QuickJSContext]]s inside the runtime.
+     */
+    newRuntime(options?: RuntimeOptions): QuickJSRuntime;
+    /**
+     * A simplified API to create a new [[QuickJSRuntime]] and a
+     * [[QuickJSContext]] inside that runtime at the same time. The runtime will
+     * be disposed when the context is disposed.
+     */
+    newContext(options?: ContextOptions): QuickJSContext;
+    /**
+     * One-off evaluate code without needing to create a [[QuickJSRuntime]] or
+     * [[QuickJSContext]] explicitly.
+     *
+     * To protect against infinite loops, use the `shouldInterrupt` option. The
+     * [[shouldInterruptAfterDeadline]] function will create a time-based deadline.
+     *
+     * If you need more control over how the code executes, create a
+     * [[QuickJSRuntime]] (with [[newRuntime]]) or a [[QuickJSContext]] (with
+     * [[newContext]] or [[QuickJSRuntime.newContext]]), and use its
+     * [[QuickJSContext.evalCode]] method.
+     *
+     * Asynchronous callbacks may not run during the first call to `evalCode`. If
+     * you need to work with async code inside QuickJS, create a runtime and use
+     * [[QuickJSRuntime.executePendingJobs]].
+     *
+     * @returns The result is coerced to a native Javascript value using JSON
+     * serialization, so properties and values unsupported by JSON will be dropped.
+     *
+     * @throws If `code` throws during evaluation, the exception will be
+     * converted into a native Javascript value and thrown.
+     *
+     * @throws if `options.shouldInterrupt` interrupted execution, will throw a Error
+     * with name `"InternalError"` and  message `"interrupted"`.
+     */
+    evalCode(code: string, options?: ModuleEvalOptions): unknown;
+    /**
+     * Get a low-level interface to the QuickJS functions in this WebAssembly
+     * module.
+     * @experimental
+     * @unstable No warranty is provided with this API. It could change at any time.
+     * @private
+     */
+    getFFI(): EitherFFI;
+}
+export {};
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/module.js b/node_modules/@tootallnate/quickjs-emscripten/dist/module.js
new file mode 100644
index 0000000..1336c77
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/module.js
@@ -0,0 +1,302 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.QuickJSWASMModule = exports.applyModuleEvalRuntimeOptions = exports.applyBaseRuntimeOptions = exports.QuickJSModuleCallbacks = void 0;
+const debug_1 = require("./debug");
+const errors_1 = require("./errors");
+const lifetime_1 = require("./lifetime");
+const runtime_1 = require("./runtime");
+const types_1 = require("./types");
+class QuickJSEmscriptenModuleCallbacks {
+    constructor(args) {
+        this.callFunction = args.callFunction;
+        this.shouldInterrupt = args.shouldInterrupt;
+        this.loadModuleSource = args.loadModuleSource;
+        this.normalizeModule = args.normalizeModule;
+    }
+}
+/**
+ * We use static functions per module to dispatch runtime or context calls from
+ * C to the host.  This class manages the indirection from a specific runtime or
+ * context pointer to the appropriate callback handler.
+ *
+ * @private
+ */
+class QuickJSModuleCallbacks {
+    constructor(module) {
+        this.contextCallbacks = new Map();
+        this.runtimeCallbacks = new Map();
+        this.suspendedCount = 0;
+        this.cToHostCallbacks = new QuickJSEmscriptenModuleCallbacks({
+            callFunction: (asyncify, ctx, this_ptr, argc, argv, fn_id) => this.handleAsyncify(asyncify, () => {
+                try {
+                    const vm = this.contextCallbacks.get(ctx);
+                    if (!vm) {
+                        throw new Error(`QuickJSContext(ctx = ${ctx}) not found for C function call "${fn_id}"`);
+                    }
+                    return vm.callFunction(ctx, this_ptr, argc, argv, fn_id);
+                }
+                catch (error) {
+                    console.error("[C to host error: returning null]", error);
+                    return 0;
+                }
+            }),
+            shouldInterrupt: (asyncify, rt) => this.handleAsyncify(asyncify, () => {
+                try {
+                    const vm = this.runtimeCallbacks.get(rt);
+                    if (!vm) {
+                        throw new Error(`QuickJSRuntime(rt = ${rt}) not found for C interrupt`);
+                    }
+                    return vm.shouldInterrupt(rt);
+                }
+                catch (error) {
+                    console.error("[C to host interrupt: returning error]", error);
+                    return 1;
+                }
+            }),
+            loadModuleSource: (asyncify, rt, ctx, moduleName) => this.handleAsyncify(asyncify, () => {
+                try {
+                    const runtimeCallbacks = this.runtimeCallbacks.get(rt);
+                    if (!runtimeCallbacks) {
+                        throw new Error(`QuickJSRuntime(rt = ${rt}) not found for C module loader`);
+                    }
+                    const loadModule = runtimeCallbacks.loadModuleSource;
+                    if (!loadModule) {
+                        throw new Error(`QuickJSRuntime(rt = ${rt}) does not support module loading`);
+                    }
+                    return loadModule(rt, ctx, moduleName);
+                }
+                catch (error) {
+                    console.error("[C to host module loader error: returning null]", error);
+                    return 0;
+                }
+            }),
+            normalizeModule: (asyncify, rt, ctx, moduleBaseName, moduleName) => this.handleAsyncify(asyncify, () => {
+                try {
+                    const runtimeCallbacks = this.runtimeCallbacks.get(rt);
+                    if (!runtimeCallbacks) {
+                        throw new Error(`QuickJSRuntime(rt = ${rt}) not found for C module loader`);
+                    }
+                    const normalizeModule = runtimeCallbacks.normalizeModule;
+                    if (!normalizeModule) {
+                        throw new Error(`QuickJSRuntime(rt = ${rt}) does not support module loading`);
+                    }
+                    return normalizeModule(rt, ctx, moduleBaseName, moduleName);
+                }
+                catch (error) {
+                    console.error("[C to host module loader error: returning null]", error);
+                    return 0;
+                }
+            }),
+        });
+        this.module = module;
+        this.module.callbacks = this.cToHostCallbacks;
+    }
+    setRuntimeCallbacks(rt, callbacks) {
+        this.runtimeCallbacks.set(rt, callbacks);
+    }
+    deleteRuntime(rt) {
+        this.runtimeCallbacks.delete(rt);
+    }
+    setContextCallbacks(ctx, callbacks) {
+        this.contextCallbacks.set(ctx, callbacks);
+    }
+    deleteContext(ctx) {
+        this.contextCallbacks.delete(ctx);
+    }
+    handleAsyncify(asyncify, fn) {
+        if (asyncify) {
+            // We must always call asyncify.handleSync around our function.
+            // This allows asyncify to resume suspended execution on the second call.
+            // Asyncify internally can detect sync behavior, and avoid suspending.
+            return asyncify.handleSleep((done) => {
+                try {
+                    const result = fn();
+                    if (!(result instanceof Promise)) {
+                        (0, debug_1.debugLog)("asyncify.handleSleep: not suspending:", result);
+                        done(result);
+                        return;
+                    }
+                    // Is promise, we intend to suspend.
+                    if (this.suspended) {
+                        throw new errors_1.QuickJSAsyncifyError(`Already suspended at: ${this.suspended.stack}\nAttempted to suspend at:`);
+                    }
+                    else {
+                        this.suspended = new errors_1.QuickJSAsyncifySuspended(`(${this.suspendedCount++})`);
+                        (0, debug_1.debugLog)("asyncify.handleSleep: suspending:", this.suspended);
+                    }
+                    result.then((resolvedResult) => {
+                        this.suspended = undefined;
+                        (0, debug_1.debugLog)("asyncify.handleSleep: resolved:", resolvedResult);
+                        done(resolvedResult);
+                    }, (error) => {
+                        (0, debug_1.debugLog)("asyncify.handleSleep: rejected:", error);
+                        console.error("QuickJS: cannot handle error in suspended function", error);
+                        this.suspended = undefined;
+                    });
+                }
+                catch (error) {
+                    (0, debug_1.debugLog)("asyncify.handleSleep: error:", error);
+                    this.suspended = undefined;
+                    throw error;
+                }
+            });
+        }
+        // No asyncify - we should never return a promise.
+        const value = fn();
+        if (value instanceof Promise) {
+            throw new Error("Promise return value not supported in non-asyncify context.");
+        }
+        return value;
+    }
+}
+exports.QuickJSModuleCallbacks = QuickJSModuleCallbacks;
+/**
+ * Process RuntimeOptions and apply them to a QuickJSRuntime.
+ * @private
+ */
+function applyBaseRuntimeOptions(runtime, options) {
+    if (options.interruptHandler) {
+        runtime.setInterruptHandler(options.interruptHandler);
+    }
+    if (options.maxStackSizeBytes !== undefined) {
+        runtime.setMaxStackSize(options.maxStackSizeBytes);
+    }
+    if (options.memoryLimitBytes !== undefined) {
+        runtime.setMemoryLimit(options.memoryLimitBytes);
+    }
+}
+exports.applyBaseRuntimeOptions = applyBaseRuntimeOptions;
+/**
+ * Process ModuleEvalOptions and apply them to a QuickJSRuntime.
+ * @private
+ */
+function applyModuleEvalRuntimeOptions(runtime, options) {
+    if (options.moduleLoader) {
+        runtime.setModuleLoader(options.moduleLoader);
+    }
+    if (options.shouldInterrupt) {
+        runtime.setInterruptHandler(options.shouldInterrupt);
+    }
+    if (options.memoryLimitBytes !== undefined) {
+        runtime.setMemoryLimit(options.memoryLimitBytes);
+    }
+    if (options.maxStackSizeBytes !== undefined) {
+        runtime.setMaxStackSize(options.maxStackSizeBytes);
+    }
+}
+exports.applyModuleEvalRuntimeOptions = applyModuleEvalRuntimeOptions;
+/**
+ * This class presents a Javascript interface to QuickJS, a Javascript interpreter
+ * that supports EcmaScript 2020 (ES2020).
+ *
+ * It wraps a single WebAssembly module containing the QuickJS library and
+ * associated helper C code. WebAssembly modules are completely isolated from
+ * each other by the host's WebAssembly runtime. Separate WebAssembly modules
+ * have the most isolation guarantees possible with this library.
+ *
+ * The simplest way to start running code is {@link evalCode}. This shortcut
+ * method will evaluate Javascript safely and return the result as a native
+ * Javascript value.
+ *
+ * For more control over the execution environment, or to interact with values
+ * inside QuickJS, create a context with {@link newContext} or a runtime with
+ * {@link newRuntime}.
+ */
+class QuickJSWASMModule {
+    /** @private */
+    constructor(module, ffi) {
+        this.module = module;
+        this.ffi = ffi;
+        this.callbacks = new QuickJSModuleCallbacks(module);
+    }
+    /**
+     * Create a runtime.
+     * Use the runtime to set limits on CPU and memory usage and configure module
+     * loading for one or more [[QuickJSContext]]s inside the runtime.
+     */
+    newRuntime(options = {}) {
+        const rt = new lifetime_1.Lifetime(this.ffi.QTS_NewRuntime(), undefined, (rt_ptr) => {
+            this.callbacks.deleteRuntime(rt_ptr);
+            this.ffi.QTS_FreeRuntime(rt_ptr);
+        });
+        const runtime = new runtime_1.QuickJSRuntime({
+            module: this.module,
+            callbacks: this.callbacks,
+            ffi: this.ffi,
+            rt,
+        });
+        applyBaseRuntimeOptions(runtime, options);
+        if (options.moduleLoader) {
+            runtime.setModuleLoader(options.moduleLoader);
+        }
+        return runtime;
+    }
+    /**
+     * A simplified API to create a new [[QuickJSRuntime]] and a
+     * [[QuickJSContext]] inside that runtime at the same time. The runtime will
+     * be disposed when the context is disposed.
+     */
+    newContext(options = {}) {
+        const runtime = this.newRuntime();
+        const context = runtime.newContext({
+            ...options,
+            ownedLifetimes: (0, types_1.concat)(runtime, options.ownedLifetimes),
+        });
+        runtime.context = context;
+        return context;
+    }
+    /**
+     * One-off evaluate code without needing to create a [[QuickJSRuntime]] or
+     * [[QuickJSContext]] explicitly.
+     *
+     * To protect against infinite loops, use the `shouldInterrupt` option. The
+     * [[shouldInterruptAfterDeadline]] function will create a time-based deadline.
+     *
+     * If you need more control over how the code executes, create a
+     * [[QuickJSRuntime]] (with [[newRuntime]]) or a [[QuickJSContext]] (with
+     * [[newContext]] or [[QuickJSRuntime.newContext]]), and use its
+     * [[QuickJSContext.evalCode]] method.
+     *
+     * Asynchronous callbacks may not run during the first call to `evalCode`. If
+     * you need to work with async code inside QuickJS, create a runtime and use
+     * [[QuickJSRuntime.executePendingJobs]].
+     *
+     * @returns The result is coerced to a native Javascript value using JSON
+     * serialization, so properties and values unsupported by JSON will be dropped.
+     *
+     * @throws If `code` throws during evaluation, the exception will be
+     * converted into a native Javascript value and thrown.
+     *
+     * @throws if `options.shouldInterrupt` interrupted execution, will throw a Error
+     * with name `"InternalError"` and  message `"interrupted"`.
+     */
+    evalCode(code, options = {}) {
+        return lifetime_1.Scope.withScope((scope) => {
+            const vm = scope.manage(this.newContext());
+            applyModuleEvalRuntimeOptions(vm.runtime, options);
+            const result = vm.evalCode(code, "eval.js");
+            if (options.memoryLimitBytes !== undefined) {
+                // Remove memory limit so we can dump the result without exceeding it.
+                vm.runtime.setMemoryLimit(-1);
+            }
+            if (result.error) {
+                const error = vm.dump(scope.manage(result.error));
+                throw error;
+            }
+            const value = vm.dump(scope.manage(result.value));
+            return value;
+        });
+    }
+    /**
+     * Get a low-level interface to the QuickJS functions in this WebAssembly
+     * module.
+     * @experimental
+     * @unstable No warranty is provided with this API. It could change at any time.
+     * @private
+     */
+    getFFI() {
+        return this.ffi;
+    }
+}
+exports.QuickJSWASMModule = QuickJSWASMModule;
+//# sourceMappingURL=module.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/module.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/module.js.map
new file mode 100644
index 0000000..e562d12
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/module.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"module.js","sourceRoot":"","sources":["../ts/module.ts"],"names":[],"mappings":"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","sourcesContent":["import { QuickJSContext } from \"./context\"\nimport { debugLog } from \"./debug\"\nimport {\n  Asyncify,\n  AsyncifySleepResult,\n  EitherModule,\n  EmscriptenModuleCallbacks,\n} from \"./emscripten-types\"\nimport { QuickJSAsyncifyError, QuickJSAsyncifySuspended } from \"./errors\"\nimport {\n  BorrowedHeapCharPointer,\n  JSContextPointer,\n  JSRuntimePointer,\n  JSValuePointer,\n} from \"./types-ffi\"\nimport { Lifetime, Scope } from \"./lifetime\"\nimport { InterruptHandler, QuickJSRuntime } from \"./runtime\"\nimport {\n  AsyncRuntimeOptions,\n  concat,\n  ContextOptions,\n  EitherFFI,\n  JSModuleLoader,\n  RuntimeOptions,\n  RuntimeOptionsBase,\n} from \"./types\"\n\ntype EmscriptenCallback<BaseArgs extends any[], Result> = (\n  ...args: [Asyncify | undefined, ...BaseArgs]\n) => Result | AsyncifySleepResult<Result>\ntype MaybeAsyncEmscriptenCallback<T extends EmscriptenCallback<any, any>> =\n  T extends EmscriptenCallback<infer Args, infer Result>\n    ? (...args: Args) => Result | Promise<Result>\n    : never\ntype MaybeAsyncEmscriptenCallbacks = {\n  [K in keyof EmscriptenModuleCallbacks]: MaybeAsyncEmscriptenCallback<EmscriptenModuleCallbacks[K]>\n}\n\n/**\n * @private\n */\nexport interface ContextCallbacks {\n  callFunction: MaybeAsyncEmscriptenCallbacks[\"callFunction\"]\n}\n\n/**\n * @private\n */\nexport interface RuntimeCallbacks {\n  shouldInterrupt: MaybeAsyncEmscriptenCallbacks[\"shouldInterrupt\"]\n  loadModuleSource: MaybeAsyncEmscriptenCallbacks[\"loadModuleSource\"]\n  normalizeModule: MaybeAsyncEmscriptenCallbacks[\"normalizeModule\"]\n}\n\nclass QuickJSEmscriptenModuleCallbacks implements EmscriptenModuleCallbacks {\n  public callFunction: EmscriptenModuleCallbacks[\"callFunction\"]\n  public shouldInterrupt: EmscriptenModuleCallbacks[\"shouldInterrupt\"]\n  public loadModuleSource: EmscriptenModuleCallbacks[\"loadModuleSource\"]\n  public normalizeModule: EmscriptenModuleCallbacks[\"normalizeModule\"]\n  constructor(args: EmscriptenModuleCallbacks) {\n    this.callFunction = args.callFunction\n    this.shouldInterrupt = args.shouldInterrupt\n    this.loadModuleSource = args.loadModuleSource\n    this.normalizeModule = args.normalizeModule\n  }\n}\n\n/**\n * Options for [[QuickJSWASMModule.evalCode]].\n */\nexport interface ModuleEvalOptions {\n  /**\n   * Interrupt evaluation if `shouldInterrupt` returns `true`.\n   * See [[shouldInterruptAfterDeadline]].\n   */\n  shouldInterrupt?: InterruptHandler\n\n  /**\n   * Memory limit, in bytes, of WebAssembly heap memory used by the QuickJS VM.\n   */\n  memoryLimitBytes?: number\n\n  /**\n   * Stack size limit for this vm, in bytes\n   * To remove the limit, set to `0`.\n   */\n  maxStackSizeBytes?: number\n\n  /**\n   * Module loader for any `import` statements or expressions.\n   */\n  moduleLoader?: JSModuleLoader\n}\n\n/**\n * We use static functions per module to dispatch runtime or context calls from\n * C to the host.  This class manages the indirection from a specific runtime or\n * context pointer to the appropriate callback handler.\n *\n * @private\n */\nexport class QuickJSModuleCallbacks {\n  private module: EitherModule\n  private contextCallbacks = new Map<JSContextPointer, ContextCallbacks>()\n  private runtimeCallbacks = new Map<JSRuntimePointer, RuntimeCallbacks>()\n\n  constructor(module: EitherModule) {\n    this.module = module\n    this.module.callbacks = this.cToHostCallbacks\n  }\n\n  setRuntimeCallbacks(rt: JSRuntimePointer, callbacks: RuntimeCallbacks) {\n    this.runtimeCallbacks.set(rt, callbacks)\n  }\n\n  deleteRuntime(rt: JSRuntimePointer) {\n    this.runtimeCallbacks.delete(rt)\n  }\n\n  setContextCallbacks(ctx: JSContextPointer, callbacks: ContextCallbacks) {\n    this.contextCallbacks.set(ctx, callbacks)\n  }\n\n  deleteContext(ctx: JSContextPointer) {\n    this.contextCallbacks.delete(ctx)\n  }\n\n  private suspendedCount = 0\n  private suspended: QuickJSAsyncifySuspended | undefined\n\n  private handleAsyncify<T>(\n    asyncify: Asyncify | undefined,\n    fn: () => T | Promise<T>\n  ): T | AsyncifySleepResult<T> {\n    if (asyncify) {\n      // We must always call asyncify.handleSync around our function.\n      // This allows asyncify to resume suspended execution on the second call.\n      // Asyncify internally can detect sync behavior, and avoid suspending.\n      return asyncify.handleSleep((done) => {\n        try {\n          const result = fn()\n          if (!(result instanceof Promise)) {\n            debugLog(\"asyncify.handleSleep: not suspending:\", result)\n            done(result)\n            return\n          }\n\n          // Is promise, we intend to suspend.\n          if (this.suspended) {\n            throw new QuickJSAsyncifyError(\n              `Already suspended at: ${this.suspended.stack}\\nAttempted to suspend at:`\n            )\n          } else {\n            this.suspended = new QuickJSAsyncifySuspended(`(${this.suspendedCount++})`)\n            debugLog(\"asyncify.handleSleep: suspending:\", this.suspended)\n          }\n\n          result.then(\n            (resolvedResult) => {\n              this.suspended = undefined\n              debugLog(\"asyncify.handleSleep: resolved:\", resolvedResult)\n              done(resolvedResult)\n            },\n            (error) => {\n              debugLog(\"asyncify.handleSleep: rejected:\", error)\n              console.error(\"QuickJS: cannot handle error in suspended function\", error)\n              this.suspended = undefined\n            }\n          )\n        } catch (error) {\n          debugLog(\"asyncify.handleSleep: error:\", error)\n          this.suspended = undefined\n          throw error\n        }\n      })\n    }\n\n    // No asyncify - we should never return a promise.\n    const value = fn()\n    if (value instanceof Promise) {\n      throw new Error(\"Promise return value not supported in non-asyncify context.\")\n    }\n    return value\n  }\n\n  private cToHostCallbacks = new QuickJSEmscriptenModuleCallbacks({\n    callFunction: (asyncify, ctx, this_ptr, argc, argv, fn_id) =>\n      this.handleAsyncify(asyncify, () => {\n        try {\n          const vm = this.contextCallbacks.get(ctx)\n          if (!vm) {\n            throw new Error(`QuickJSContext(ctx = ${ctx}) not found for C function call \"${fn_id}\"`)\n          }\n          return vm.callFunction(ctx, this_ptr, argc, argv, fn_id)\n        } catch (error) {\n          console.error(\"[C to host error: returning null]\", error)\n          return 0 as JSValuePointer\n        }\n      }),\n\n    shouldInterrupt: (asyncify, rt) =>\n      this.handleAsyncify(asyncify, () => {\n        try {\n          const vm = this.runtimeCallbacks.get(rt)\n          if (!vm) {\n            throw new Error(`QuickJSRuntime(rt = ${rt}) not found for C interrupt`)\n          }\n          return vm.shouldInterrupt(rt)\n        } catch (error) {\n          console.error(\"[C to host interrupt: returning error]\", error)\n          return 1\n        }\n      }),\n\n    loadModuleSource: (asyncify, rt, ctx, moduleName) =>\n      this.handleAsyncify(asyncify, () => {\n        try {\n          const runtimeCallbacks = this.runtimeCallbacks.get(rt)\n          if (!runtimeCallbacks) {\n            throw new Error(`QuickJSRuntime(rt = ${rt}) not found for C module loader`)\n          }\n\n          const loadModule = runtimeCallbacks.loadModuleSource\n          if (!loadModule) {\n            throw new Error(`QuickJSRuntime(rt = ${rt}) does not support module loading`)\n          }\n          return loadModule(rt, ctx, moduleName)\n        } catch (error) {\n          console.error(\"[C to host module loader error: returning null]\", error)\n          return 0 as BorrowedHeapCharPointer\n        }\n      }),\n\n    normalizeModule: (asyncify, rt, ctx, moduleBaseName, moduleName) =>\n      this.handleAsyncify(asyncify, () => {\n        try {\n          const runtimeCallbacks = this.runtimeCallbacks.get(rt)\n          if (!runtimeCallbacks) {\n            throw new Error(`QuickJSRuntime(rt = ${rt}) not found for C module loader`)\n          }\n\n          const normalizeModule = runtimeCallbacks.normalizeModule\n          if (!normalizeModule) {\n            throw new Error(`QuickJSRuntime(rt = ${rt}) does not support module loading`)\n          }\n          return normalizeModule(rt, ctx, moduleBaseName, moduleName)\n        } catch (error) {\n          console.error(\"[C to host module loader error: returning null]\", error)\n          return 0 as BorrowedHeapCharPointer\n        }\n      }),\n  })\n}\n\n/**\n * Process RuntimeOptions and apply them to a QuickJSRuntime.\n * @private\n */\nexport function applyBaseRuntimeOptions(\n  runtime: QuickJSRuntime,\n  options: RuntimeOptionsBase\n): void {\n  if (options.interruptHandler) {\n    runtime.setInterruptHandler(options.interruptHandler)\n  }\n\n  if (options.maxStackSizeBytes !== undefined) {\n    runtime.setMaxStackSize(options.maxStackSizeBytes)\n  }\n\n  if (options.memoryLimitBytes !== undefined) {\n    runtime.setMemoryLimit(options.memoryLimitBytes)\n  }\n}\n\n/**\n * Process ModuleEvalOptions and apply them to a QuickJSRuntime.\n * @private\n */\nexport function applyModuleEvalRuntimeOptions<T extends QuickJSRuntime>(\n  runtime: T,\n  options: ModuleEvalOptions\n) {\n  if (options.moduleLoader) {\n    runtime.setModuleLoader(options.moduleLoader)\n  }\n\n  if (options.shouldInterrupt) {\n    runtime.setInterruptHandler(options.shouldInterrupt)\n  }\n\n  if (options.memoryLimitBytes !== undefined) {\n    runtime.setMemoryLimit(options.memoryLimitBytes)\n  }\n\n  if (options.maxStackSizeBytes !== undefined) {\n    runtime.setMaxStackSize(options.maxStackSizeBytes)\n  }\n}\n\n/**\n * This class presents a Javascript interface to QuickJS, a Javascript interpreter\n * that supports EcmaScript 2020 (ES2020).\n *\n * It wraps a single WebAssembly module containing the QuickJS library and\n * associated helper C code. WebAssembly modules are completely isolated from\n * each other by the host's WebAssembly runtime. Separate WebAssembly modules\n * have the most isolation guarantees possible with this library.\n *\n * The simplest way to start running code is {@link evalCode}. This shortcut\n * method will evaluate Javascript safely and return the result as a native\n * Javascript value.\n *\n * For more control over the execution environment, or to interact with values\n * inside QuickJS, create a context with {@link newContext} or a runtime with\n * {@link newRuntime}.\n */\nexport class QuickJSWASMModule {\n  /** @private */\n  protected ffi: EitherFFI\n  /** @private */\n  protected callbacks: QuickJSModuleCallbacks\n  /** @private */\n  protected module: EitherModule\n\n  /** @private */\n  constructor(module: EitherModule, ffi: EitherFFI) {\n    this.module = module\n    this.ffi = ffi\n    this.callbacks = new QuickJSModuleCallbacks(module)\n  }\n\n  /**\n   * Create a runtime.\n   * Use the runtime to set limits on CPU and memory usage and configure module\n   * loading for one or more [[QuickJSContext]]s inside the runtime.\n   */\n  newRuntime(options: RuntimeOptions = {}): QuickJSRuntime {\n    const rt = new Lifetime(this.ffi.QTS_NewRuntime(), undefined, (rt_ptr) => {\n      this.callbacks.deleteRuntime(rt_ptr)\n      this.ffi.QTS_FreeRuntime(rt_ptr)\n    })\n\n    const runtime = new QuickJSRuntime({\n      module: this.module,\n      callbacks: this.callbacks,\n      ffi: this.ffi,\n      rt,\n    })\n\n    applyBaseRuntimeOptions(runtime, options)\n\n    if (options.moduleLoader) {\n      runtime.setModuleLoader(options.moduleLoader)\n    }\n\n    return runtime\n  }\n\n  /**\n   * A simplified API to create a new [[QuickJSRuntime]] and a\n   * [[QuickJSContext]] inside that runtime at the same time. The runtime will\n   * be disposed when the context is disposed.\n   */\n  newContext(options: ContextOptions = {}): QuickJSContext {\n    const runtime = this.newRuntime()\n    const context = runtime.newContext({\n      ...options,\n      ownedLifetimes: concat(runtime, options.ownedLifetimes),\n    })\n    runtime.context = context\n    return context\n  }\n\n  /**\n   * One-off evaluate code without needing to create a [[QuickJSRuntime]] or\n   * [[QuickJSContext]] explicitly.\n   *\n   * To protect against infinite loops, use the `shouldInterrupt` option. The\n   * [[shouldInterruptAfterDeadline]] function will create a time-based deadline.\n   *\n   * If you need more control over how the code executes, create a\n   * [[QuickJSRuntime]] (with [[newRuntime]]) or a [[QuickJSContext]] (with\n   * [[newContext]] or [[QuickJSRuntime.newContext]]), and use its\n   * [[QuickJSContext.evalCode]] method.\n   *\n   * Asynchronous callbacks may not run during the first call to `evalCode`. If\n   * you need to work with async code inside QuickJS, create a runtime and use\n   * [[QuickJSRuntime.executePendingJobs]].\n   *\n   * @returns The result is coerced to a native Javascript value using JSON\n   * serialization, so properties and values unsupported by JSON will be dropped.\n   *\n   * @throws If `code` throws during evaluation, the exception will be\n   * converted into a native Javascript value and thrown.\n   *\n   * @throws if `options.shouldInterrupt` interrupted execution, will throw a Error\n   * with name `\"InternalError\"` and  message `\"interrupted\"`.\n   */\n  evalCode(code: string, options: ModuleEvalOptions = {}): unknown {\n    return Scope.withScope((scope) => {\n      const vm = scope.manage(this.newContext())\n\n      applyModuleEvalRuntimeOptions(vm.runtime, options)\n      const result = vm.evalCode(code, \"eval.js\")\n\n      if (options.memoryLimitBytes !== undefined) {\n        // Remove memory limit so we can dump the result without exceeding it.\n        vm.runtime.setMemoryLimit(-1)\n      }\n\n      if (result.error) {\n        const error = vm.dump(scope.manage(result.error))\n        throw error\n      }\n\n      const value = vm.dump(scope.manage(result.value))\n      return value\n    })\n  }\n\n  /**\n   * Get a low-level interface to the QuickJS functions in this WebAssembly\n   * module.\n   * @experimental\n   * @unstable No warranty is provided with this API. It could change at any time.\n   * @private\n   */\n  getFFI(): EitherFFI {\n    return this.ffi\n  }\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/runtime-asyncify.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/runtime-asyncify.d.ts
new file mode 100644
index 0000000..fe4bd28
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/runtime-asyncify.d.ts
@@ -0,0 +1,38 @@
+import { Lifetime } from ".";
+import { QuickJSAsyncContext } from "./context-asyncify";
+import { QuickJSAsyncEmscriptenModule } from "./emscripten-types";
+import { QuickJSAsyncFFI } from "./variants";
+import { JSContextPointer, JSRuntimePointer } from "./types-ffi";
+import { QuickJSModuleCallbacks } from "./module";
+import { QuickJSRuntime } from "./runtime";
+import { ContextOptions, JSModuleLoaderAsync, JSModuleNormalizerAsync } from "./types";
+export declare class QuickJSAsyncRuntime extends QuickJSRuntime {
+    context: QuickJSAsyncContext | undefined;
+    /** @private */
+    protected module: QuickJSAsyncEmscriptenModule;
+    /** @private */
+    protected ffi: QuickJSAsyncFFI;
+    /** @private */
+    protected rt: Lifetime<JSRuntimePointer>;
+    /** @private */
+    protected callbacks: QuickJSModuleCallbacks;
+    /** @private */
+    protected contextMap: Map<JSContextPointer, QuickJSAsyncContext>;
+    /** @private */
+    constructor(args: {
+        module: QuickJSAsyncEmscriptenModule;
+        ffi: QuickJSAsyncFFI;
+        rt: Lifetime<JSRuntimePointer>;
+        callbacks: QuickJSModuleCallbacks;
+    });
+    newContext(options?: ContextOptions): QuickJSAsyncContext;
+    setModuleLoader(moduleLoader: JSModuleLoaderAsync, moduleNormalizer?: JSModuleNormalizerAsync): void;
+    /**
+     * Set the max stack size for this runtime in bytes.
+     * To remove the limit, set to `0`.
+     *
+     * Setting this limit also adjusts the global `ASYNCIFY_STACK_SIZE` for the entire {@link QuickJSAsyncWASMModule}.
+     * See the [pull request](https://github.com/justjake/quickjs-emscripten/pull/114) for more details.
+     */
+    setMaxStackSize(stackSize: number): void;
+}
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/runtime-asyncify.js b/node_modules/@tootallnate/quickjs-emscripten/dist/runtime-asyncify.js
new file mode 100644
index 0000000..d88ebc5
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/runtime-asyncify.js
@@ -0,0 +1,49 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.QuickJSAsyncRuntime = void 0;
+const _1 = require(".");
+const context_asyncify_1 = require("./context-asyncify");
+const runtime_1 = require("./runtime");
+const types_1 = require("./types");
+class QuickJSAsyncRuntime extends runtime_1.QuickJSRuntime {
+    /** @private */
+    constructor(args) {
+        super(args);
+    }
+    newContext(options = {}) {
+        if (options.intrinsics && options.intrinsics !== types_1.DefaultIntrinsics) {
+            throw new Error("TODO: Custom intrinsics are not supported yet");
+        }
+        const ctx = new _1.Lifetime(this.ffi.QTS_NewContext(this.rt.value), undefined, (ctx_ptr) => {
+            this.contextMap.delete(ctx_ptr);
+            this.callbacks.deleteContext(ctx_ptr);
+            this.ffi.QTS_FreeContext(ctx_ptr);
+        });
+        const context = new context_asyncify_1.QuickJSAsyncContext({
+            module: this.module,
+            ctx,
+            ffi: this.ffi,
+            rt: this.rt,
+            ownedLifetimes: [],
+            runtime: this,
+            callbacks: this.callbacks,
+        });
+        this.contextMap.set(ctx.value, context);
+        return context;
+    }
+    setModuleLoader(moduleLoader, moduleNormalizer) {
+        super.setModuleLoader(moduleLoader, moduleNormalizer);
+    }
+    /**
+     * Set the max stack size for this runtime in bytes.
+     * To remove the limit, set to `0`.
+     *
+     * Setting this limit also adjusts the global `ASYNCIFY_STACK_SIZE` for the entire {@link QuickJSAsyncWASMModule}.
+     * See the [pull request](https://github.com/justjake/quickjs-emscripten/pull/114) for more details.
+     */
+    setMaxStackSize(stackSize) {
+        return super.setMaxStackSize(stackSize);
+    }
+}
+exports.QuickJSAsyncRuntime = QuickJSAsyncRuntime;
+//# sourceMappingURL=runtime-asyncify.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/runtime-asyncify.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/runtime-asyncify.js.map
new file mode 100644
index 0000000..e5b8837
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/runtime-asyncify.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"runtime-asyncify.js","sourceRoot":"","sources":["../ts/runtime-asyncify.ts"],"names":[],"mappings":";;;AACA,wBAA4B;AAC5B,yDAAwD;AAKxD,uCAA0C;AAC1C,mCAOgB;AAEhB,MAAa,mBAAoB,SAAQ,wBAAc;IAcrD,eAAe;IACf,YAAY,IAKX;QACC,KAAK,CAAC,IAAI,CAAC,CAAA;IACb,CAAC;IAEQ,UAAU,CAAC,UAA0B,EAAE;QAC9C,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,KAAK,yBAAiB,EAAE;YAClE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;SACjE;QAED,MAAM,GAAG,GAAG,IAAI,WAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE;YACtF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC/B,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;YACrC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,IAAI,sCAAmB,CAAC;YACtC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG;YACH,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,cAAc,EAAE,EAAE;YAClB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAA;QACF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAEvC,OAAO,OAAO,CAAA;IAChB,CAAC;IAEe,eAAe,CAC7B,YAAiC,EACjC,gBAA0C;QAE1C,KAAK,CAAC,eAAe,CACnB,YAA8B,EAC9B,gBAAkD,CACnD,CAAA;IACH,CAAC;IAED;;;;;;OAMG;IACa,eAAe,CAAC,SAAiB;QAC/C,OAAO,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;IACzC,CAAC;CACF;AArED,kDAqEC","sourcesContent":["import type { QuickJSAsyncWASMModule } from \"./module-asyncify\"\nimport { Lifetime } from \".\"\nimport { QuickJSAsyncContext } from \"./context-asyncify\"\nimport { QuickJSAsyncEmscriptenModule } from \"./emscripten-types\"\nimport { QuickJSAsyncFFI } from \"./variants\"\nimport { JSContextPointer, JSRuntimePointer } from \"./types-ffi\"\nimport { QuickJSModuleCallbacks } from \"./module\"\nimport { QuickJSRuntime } from \"./runtime\"\nimport {\n  ContextOptions,\n  DefaultIntrinsics,\n  JSModuleLoader,\n  JSModuleLoaderAsync,\n  JSModuleNormalizer,\n  JSModuleNormalizerAsync,\n} from \"./types\"\n\nexport class QuickJSAsyncRuntime extends QuickJSRuntime {\n  public context: QuickJSAsyncContext | undefined\n\n  /** @private */\n  protected declare module: QuickJSAsyncEmscriptenModule\n  /** @private */\n  protected declare ffi: QuickJSAsyncFFI\n  /** @private */\n  protected declare rt: Lifetime<JSRuntimePointer>\n  /** @private */\n  protected declare callbacks: QuickJSModuleCallbacks\n  /** @private */\n  protected declare contextMap: Map<JSContextPointer, QuickJSAsyncContext>\n\n  /** @private */\n  constructor(args: {\n    module: QuickJSAsyncEmscriptenModule\n    ffi: QuickJSAsyncFFI\n    rt: Lifetime<JSRuntimePointer>\n    callbacks: QuickJSModuleCallbacks\n  }) {\n    super(args)\n  }\n\n  override newContext(options: ContextOptions = {}): QuickJSAsyncContext {\n    if (options.intrinsics && options.intrinsics !== DefaultIntrinsics) {\n      throw new Error(\"TODO: Custom intrinsics are not supported yet\")\n    }\n\n    const ctx = new Lifetime(this.ffi.QTS_NewContext(this.rt.value), undefined, (ctx_ptr) => {\n      this.contextMap.delete(ctx_ptr)\n      this.callbacks.deleteContext(ctx_ptr)\n      this.ffi.QTS_FreeContext(ctx_ptr)\n    })\n\n    const context = new QuickJSAsyncContext({\n      module: this.module,\n      ctx,\n      ffi: this.ffi,\n      rt: this.rt,\n      ownedLifetimes: [],\n      runtime: this,\n      callbacks: this.callbacks,\n    })\n    this.contextMap.set(ctx.value, context)\n\n    return context\n  }\n\n  public override setModuleLoader(\n    moduleLoader: JSModuleLoaderAsync,\n    moduleNormalizer?: JSModuleNormalizerAsync\n  ): void {\n    super.setModuleLoader(\n      moduleLoader as JSModuleLoader,\n      moduleNormalizer as JSModuleNormalizer | undefined\n    )\n  }\n\n  /**\n   * Set the max stack size for this runtime in bytes.\n   * To remove the limit, set to `0`.\n   *\n   * Setting this limit also adjusts the global `ASYNCIFY_STACK_SIZE` for the entire {@link QuickJSAsyncWASMModule}.\n   * See the [pull request](https://github.com/justjake/quickjs-emscripten/pull/114) for more details.\n   */\n  public override setMaxStackSize(stackSize: number): void {\n    return super.setMaxStackSize(stackSize)\n  }\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/runtime.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/runtime.d.ts
new file mode 100644
index 0000000..9878acb
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/runtime.d.ts
@@ -0,0 +1,174 @@
+import { QuickJSContext } from "./context";
+import { EitherModule } from "./emscripten-types";
+import { JSContextPointer, JSRuntimePointer } from "./types-ffi";
+import { Disposable, Lifetime, Scope } from "./lifetime";
+import { ModuleMemory } from "./memory";
+import { QuickJSModuleCallbacks } from "./module";
+import { ContextOptions, EitherFFI, JSModuleLoader, JSModuleNormalizer, QuickJSHandle } from "./types";
+import { SuccessOrFail } from "./vm-interface";
+/**
+ * Callback called regularly while the VM executes code.
+ * Determines if a VM's execution should be interrupted.
+ *
+ * @returns `true` to interrupt JS execution inside the VM.
+ * @returns `false` or `undefined` to continue JS execution inside the VM.
+ */
+export type InterruptHandler = (runtime: QuickJSRuntime) => boolean | undefined;
+/**
+ * Used as an optional for the results of executing pendingJobs.
+ * On success, `value` contains the number of async jobs executed
+ * by the runtime.
+ * @source
+ */
+export type ExecutePendingJobsResult = SuccessOrFail<
+/** Number of jobs successfully executed. */
+number, 
+/** The error that occurred. */
+QuickJSHandle & {
+    /** The context where the error occurred. */
+    context: QuickJSContext;
+}>;
+/**
+ * A runtime represents a Javascript runtime corresponding to an object heap.
+ * Several runtimes can exist at the same time but they cannot exchange objects.
+ * Inside a given runtime, no multi-threading is supported.
+ *
+ * You can think of separate runtimes like different domains in a browser, and
+ * the contexts within a runtime like the different windows open to the same
+ * domain.
+ *
+ * Create a runtime via {@link QuickJSWASMModule.newRuntime}.
+ *
+ * You should create separate runtime instances for untrusted code from
+ * different sources for isolation. However, stronger isolation is also
+ * available (at the cost of memory usage), by creating separate WebAssembly
+ * modules to further isolate untrusted code.
+ * See {@link newQuickJSWASMModule}.
+ *
+ * Implement memory and CPU constraints with [[setInterruptHandler]]
+ * (called regularly while the interpreter runs), [[setMemoryLimit]], and
+ * [[setMaxStackSize]].
+ * Use [[computeMemoryUsage]] or [[dumpMemoryUsage]] to guide memory limit
+ * tuning.
+ *
+ * Configure ES module loading with [[setModuleLoader]].
+ */
+export declare class QuickJSRuntime implements Disposable {
+    /**
+     * If this runtime was created as as part of a context, points to the context
+     * associated with the runtime.
+     *
+     * If this runtime was created stand-alone, this may or may not contain a context.
+     * A context here may be allocated if one is needed by the runtime, eg for [[computeMemoryUsage]].
+     */
+    context: QuickJSContext | undefined;
+    /** @private */
+    protected module: EitherModule;
+    /** @private */
+    protected memory: ModuleMemory;
+    /** @private */
+    protected ffi: EitherFFI;
+    /** @private */
+    protected rt: Lifetime<JSRuntimePointer>;
+    /** @private */
+    protected callbacks: QuickJSModuleCallbacks;
+    /** @private */
+    protected scope: Scope;
+    /** @private */
+    protected contextMap: Map<JSContextPointer, QuickJSContext>;
+    /** @private */
+    protected moduleLoader: JSModuleLoader | undefined;
+    /** @private */
+    protected moduleNormalizer: JSModuleNormalizer | undefined;
+    /** @private */
+    constructor(args: {
+        module: EitherModule;
+        ffi: EitherFFI;
+        rt: Lifetime<JSRuntimePointer>;
+        callbacks: QuickJSModuleCallbacks;
+        ownedLifetimes?: Disposable[];
+    });
+    get alive(): boolean;
+    dispose(): void;
+    newContext(options?: ContextOptions): QuickJSContext;
+    /**
+     * Set the loader for EcmaScript modules requested by any context in this
+     * runtime.
+     *
+     * The loader can be removed with [[removeModuleLoader]].
+     */
+    setModuleLoader(moduleLoader: JSModuleLoader, moduleNormalizer?: JSModuleNormalizer): void;
+    /**
+     * Remove the the loader set by [[setModuleLoader]]. This disables module loading.
+     */
+    removeModuleLoader(): void;
+    /**
+     * In QuickJS, promises and async functions create pendingJobs. These do not execute
+     * immediately and need to be run by calling [[executePendingJobs]].
+     *
+     * @return true if there is at least one pendingJob queued up.
+     */
+    hasPendingJob(): boolean;
+    private interruptHandler;
+    /**
+     * Set a callback which is regularly called by the QuickJS engine when it is
+     * executing code. This callback can be used to implement an execution
+     * timeout.
+     *
+     * The interrupt handler can be removed with [[removeInterruptHandler]].
+     */
+    setInterruptHandler(cb: InterruptHandler): void;
+    /**
+     * Remove the interrupt handler, if any.
+     * See [[setInterruptHandler]].
+     */
+    removeInterruptHandler(): void;
+    /**
+     * Execute pendingJobs on the runtime until `maxJobsToExecute` jobs are
+     * executed (default all pendingJobs), the queue is exhausted, or the runtime
+     * encounters an exception.
+     *
+     * In QuickJS, promises and async functions *inside the runtime* create
+     * pendingJobs. These do not execute immediately and need to triggered to run.
+     *
+     * @param maxJobsToExecute - When negative, run all pending jobs. Otherwise execute
+     * at most `maxJobsToExecute` before returning.
+     *
+     * @return On success, the number of executed jobs. On error, the exception
+     * that stopped execution, and the context it occurred in. Note that
+     * executePendingJobs will not normally return errors thrown inside async
+     * functions or rejected promises. Those errors are available by calling
+     * [[resolvePromise]] on the promise handle returned by the async function.
+     */
+    executePendingJobs(maxJobsToExecute?: number | void): ExecutePendingJobsResult;
+    /**
+     * Set the max memory this runtime can allocate.
+     * To remove the limit, set to `-1`.
+     */
+    setMemoryLimit(limitBytes: number): void;
+    /**
+     * Compute memory usage for this runtime. Returns the result as a handle to a
+     * JSValue object. Use [[QuickJSContext.dump]] to convert to a native object.
+     * Calling this method will allocate more memory inside the runtime. The information
+     * is accurate as of just before the call to `computeMemoryUsage`.
+     * For a human-digestible representation, see [[dumpMemoryUsage]].
+     */
+    computeMemoryUsage(): QuickJSHandle;
+    /**
+     * @returns a human-readable description of memory usage in this runtime.
+     * For programmatic access to this information, see [[computeMemoryUsage]].
+     */
+    dumpMemoryUsage(): string;
+    /**
+     * Set the max stack size for this runtime, in bytes.
+     * To remove the limit, set to `0`.
+     */
+    setMaxStackSize(stackSize: number): void;
+    /**
+     * Assert that `handle` is owned by this runtime.
+     * @throws QuickJSWrongOwner if owned by a different runtime.
+     */
+    assertOwned(handle: QuickJSHandle): void;
+    private getSystemContext;
+    private cToHostCallbacks;
+}
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/runtime.js b/node_modules/@tootallnate/quickjs-emscripten/dist/runtime.js
new file mode 100644
index 0000000..43f7c27
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/runtime.js
@@ -0,0 +1,300 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.QuickJSRuntime = void 0;
+const asyncify_helpers_1 = require("./asyncify-helpers");
+const context_1 = require("./context");
+const debug_1 = require("./debug");
+const errors_1 = require("./errors");
+const lifetime_1 = require("./lifetime");
+const memory_1 = require("./memory");
+const types_1 = require("./types");
+/**
+ * A runtime represents a Javascript runtime corresponding to an object heap.
+ * Several runtimes can exist at the same time but they cannot exchange objects.
+ * Inside a given runtime, no multi-threading is supported.
+ *
+ * You can think of separate runtimes like different domains in a browser, and
+ * the contexts within a runtime like the different windows open to the same
+ * domain.
+ *
+ * Create a runtime via {@link QuickJSWASMModule.newRuntime}.
+ *
+ * You should create separate runtime instances for untrusted code from
+ * different sources for isolation. However, stronger isolation is also
+ * available (at the cost of memory usage), by creating separate WebAssembly
+ * modules to further isolate untrusted code.
+ * See {@link newQuickJSWASMModule}.
+ *
+ * Implement memory and CPU constraints with [[setInterruptHandler]]
+ * (called regularly while the interpreter runs), [[setMemoryLimit]], and
+ * [[setMaxStackSize]].
+ * Use [[computeMemoryUsage]] or [[dumpMemoryUsage]] to guide memory limit
+ * tuning.
+ *
+ * Configure ES module loading with [[setModuleLoader]].
+ */
+class QuickJSRuntime {
+    /** @private */
+    constructor(args) {
+        /** @private */
+        this.scope = new lifetime_1.Scope();
+        /** @private */
+        this.contextMap = new Map();
+        this.cToHostCallbacks = {
+            shouldInterrupt: (rt) => {
+                if (rt !== this.rt.value) {
+                    throw new Error("QuickJSContext instance received C -> JS interrupt with mismatched rt");
+                }
+                const fn = this.interruptHandler;
+                if (!fn) {
+                    throw new Error("QuickJSContext had no interrupt handler");
+                }
+                return fn(this) ? 1 : 0;
+            },
+            loadModuleSource: (0, asyncify_helpers_1.maybeAsyncFn)(this, function* (awaited, rt, ctx, moduleName) {
+                const moduleLoader = this.moduleLoader;
+                if (!moduleLoader) {
+                    throw new Error("Runtime has no module loader");
+                }
+                if (rt !== this.rt.value) {
+                    throw new Error("Runtime pointer mismatch");
+                }
+                const context = this.contextMap.get(ctx) ??
+                    this.newContext({
+                        contextPointer: ctx,
+                    });
+                try {
+                    const result = yield* awaited(moduleLoader(moduleName, context));
+                    if (typeof result === "object" && "error" in result && result.error) {
+                        (0, debug_1.debugLog)("cToHostLoadModule: loader returned error", result.error);
+                        throw result.error;
+                    }
+                    const moduleSource = typeof result === "string" ? result : "value" in result ? result.value : result;
+                    return this.memory.newHeapCharPointer(moduleSource).value;
+                }
+                catch (error) {
+                    (0, debug_1.debugLog)("cToHostLoadModule: caught error", error);
+                    context.throw(error);
+                    return 0;
+                }
+            }),
+            normalizeModule: (0, asyncify_helpers_1.maybeAsyncFn)(this, function* (awaited, rt, ctx, baseModuleName, moduleNameRequest) {
+                const moduleNormalizer = this.moduleNormalizer;
+                if (!moduleNormalizer) {
+                    throw new Error("Runtime has no module normalizer");
+                }
+                if (rt !== this.rt.value) {
+                    throw new Error("Runtime pointer mismatch");
+                }
+                const context = this.contextMap.get(ctx) ??
+                    this.newContext({
+                        /* TODO: Does this happen? Are we responsible for disposing? I don't think so */
+                        contextPointer: ctx,
+                    });
+                try {
+                    const result = yield* awaited(moduleNormalizer(baseModuleName, moduleNameRequest, context));
+                    if (typeof result === "object" && "error" in result && result.error) {
+                        (0, debug_1.debugLog)("cToHostNormalizeModule: normalizer returned error", result.error);
+                        throw result.error;
+                    }
+                    const name = typeof result === "string" ? result : result.value;
+                    return context.getMemory(this.rt.value).newHeapCharPointer(name).value;
+                }
+                catch (error) {
+                    (0, debug_1.debugLog)("normalizeModule: caught error", error);
+                    context.throw(error);
+                    return 0;
+                }
+            }),
+        };
+        args.ownedLifetimes?.forEach((lifetime) => this.scope.manage(lifetime));
+        this.module = args.module;
+        this.memory = new memory_1.ModuleMemory(this.module);
+        this.ffi = args.ffi;
+        this.rt = args.rt;
+        this.callbacks = args.callbacks;
+        this.scope.manage(this.rt);
+        this.callbacks.setRuntimeCallbacks(this.rt.value, this.cToHostCallbacks);
+        this.executePendingJobs = this.executePendingJobs.bind(this);
+    }
+    get alive() {
+        return this.scope.alive;
+    }
+    dispose() {
+        return this.scope.dispose();
+    }
+    newContext(options = {}) {
+        if (options.intrinsics && options.intrinsics !== types_1.DefaultIntrinsics) {
+            throw new Error("TODO: Custom intrinsics are not supported yet");
+        }
+        const ctx = new lifetime_1.Lifetime(options.contextPointer || this.ffi.QTS_NewContext(this.rt.value), undefined, (ctx_ptr) => {
+            this.contextMap.delete(ctx_ptr);
+            this.callbacks.deleteContext(ctx_ptr);
+            this.ffi.QTS_FreeContext(ctx_ptr);
+        });
+        const context = new context_1.QuickJSContext({
+            module: this.module,
+            ctx,
+            ffi: this.ffi,
+            rt: this.rt,
+            ownedLifetimes: options.ownedLifetimes,
+            runtime: this,
+            callbacks: this.callbacks,
+        });
+        this.contextMap.set(ctx.value, context);
+        return context;
+    }
+    /**
+     * Set the loader for EcmaScript modules requested by any context in this
+     * runtime.
+     *
+     * The loader can be removed with [[removeModuleLoader]].
+     */
+    setModuleLoader(moduleLoader, moduleNormalizer) {
+        this.moduleLoader = moduleLoader;
+        this.moduleNormalizer = moduleNormalizer;
+        this.ffi.QTS_RuntimeEnableModuleLoader(this.rt.value, this.moduleNormalizer ? 1 : 0);
+    }
+    /**
+     * Remove the the loader set by [[setModuleLoader]]. This disables module loading.
+     */
+    removeModuleLoader() {
+        this.moduleLoader = undefined;
+        this.ffi.QTS_RuntimeDisableModuleLoader(this.rt.value);
+    }
+    // Runtime management -------------------------------------------------------
+    /**
+     * In QuickJS, promises and async functions create pendingJobs. These do not execute
+     * immediately and need to be run by calling [[executePendingJobs]].
+     *
+     * @return true if there is at least one pendingJob queued up.
+     */
+    hasPendingJob() {
+        return Boolean(this.ffi.QTS_IsJobPending(this.rt.value));
+    }
+    /**
+     * Set a callback which is regularly called by the QuickJS engine when it is
+     * executing code. This callback can be used to implement an execution
+     * timeout.
+     *
+     * The interrupt handler can be removed with [[removeInterruptHandler]].
+     */
+    setInterruptHandler(cb) {
+        const prevInterruptHandler = this.interruptHandler;
+        this.interruptHandler = cb;
+        if (!prevInterruptHandler) {
+            this.ffi.QTS_RuntimeEnableInterruptHandler(this.rt.value);
+        }
+    }
+    /**
+     * Remove the interrupt handler, if any.
+     * See [[setInterruptHandler]].
+     */
+    removeInterruptHandler() {
+        if (this.interruptHandler) {
+            this.ffi.QTS_RuntimeDisableInterruptHandler(this.rt.value);
+            this.interruptHandler = undefined;
+        }
+    }
+    /**
+     * Execute pendingJobs on the runtime until `maxJobsToExecute` jobs are
+     * executed (default all pendingJobs), the queue is exhausted, or the runtime
+     * encounters an exception.
+     *
+     * In QuickJS, promises and async functions *inside the runtime* create
+     * pendingJobs. These do not execute immediately and need to triggered to run.
+     *
+     * @param maxJobsToExecute - When negative, run all pending jobs. Otherwise execute
+     * at most `maxJobsToExecute` before returning.
+     *
+     * @return On success, the number of executed jobs. On error, the exception
+     * that stopped execution, and the context it occurred in. Note that
+     * executePendingJobs will not normally return errors thrown inside async
+     * functions or rejected promises. Those errors are available by calling
+     * [[resolvePromise]] on the promise handle returned by the async function.
+     */
+    executePendingJobs(maxJobsToExecute = -1) {
+        const ctxPtrOut = this.memory.newMutablePointerArray(1);
+        const valuePtr = this.ffi.QTS_ExecutePendingJob(this.rt.value, maxJobsToExecute ?? -1, ctxPtrOut.value.ptr);
+        const ctxPtr = ctxPtrOut.value.typedArray[0];
+        ctxPtrOut.dispose();
+        if (ctxPtr === 0) {
+            // No jobs executed.
+            this.ffi.QTS_FreeValuePointerRuntime(this.rt.value, valuePtr);
+            return { value: 0 };
+        }
+        const context = this.contextMap.get(ctxPtr) ??
+            this.newContext({
+                contextPointer: ctxPtr,
+            });
+        const resultValue = context.getMemory(this.rt.value).heapValueHandle(valuePtr);
+        const typeOfRet = context.typeof(resultValue);
+        if (typeOfRet === "number") {
+            const executedJobs = context.getNumber(resultValue);
+            resultValue.dispose();
+            return { value: executedJobs };
+        }
+        else {
+            const error = Object.assign(resultValue, { context });
+            return {
+                error,
+            };
+        }
+    }
+    /**
+     * Set the max memory this runtime can allocate.
+     * To remove the limit, set to `-1`.
+     */
+    setMemoryLimit(limitBytes) {
+        if (limitBytes < 0 && limitBytes !== -1) {
+            throw new Error("Cannot set memory limit to negative number. To unset, pass -1");
+        }
+        this.ffi.QTS_RuntimeSetMemoryLimit(this.rt.value, limitBytes);
+    }
+    /**
+     * Compute memory usage for this runtime. Returns the result as a handle to a
+     * JSValue object. Use [[QuickJSContext.dump]] to convert to a native object.
+     * Calling this method will allocate more memory inside the runtime. The information
+     * is accurate as of just before the call to `computeMemoryUsage`.
+     * For a human-digestible representation, see [[dumpMemoryUsage]].
+     */
+    computeMemoryUsage() {
+        const serviceContextMemory = this.getSystemContext().getMemory(this.rt.value);
+        return serviceContextMemory.heapValueHandle(this.ffi.QTS_RuntimeComputeMemoryUsage(this.rt.value, serviceContextMemory.ctx.value));
+    }
+    /**
+     * @returns a human-readable description of memory usage in this runtime.
+     * For programmatic access to this information, see [[computeMemoryUsage]].
+     */
+    dumpMemoryUsage() {
+        return this.memory.consumeHeapCharPointer(this.ffi.QTS_RuntimeDumpMemoryUsage(this.rt.value));
+    }
+    /**
+     * Set the max stack size for this runtime, in bytes.
+     * To remove the limit, set to `0`.
+     */
+    setMaxStackSize(stackSize) {
+        if (stackSize < 0) {
+            throw new Error("Cannot set memory limit to negative number. To unset, pass 0.");
+        }
+        this.ffi.QTS_RuntimeSetMaxStackSize(this.rt.value, stackSize);
+    }
+    /**
+     * Assert that `handle` is owned by this runtime.
+     * @throws QuickJSWrongOwner if owned by a different runtime.
+     */
+    assertOwned(handle) {
+        if (handle.owner && handle.owner.rt !== this.rt) {
+            throw new errors_1.QuickJSWrongOwner(`Handle is not owned by this runtime: ${handle.owner.rt.value} != ${this.rt.value}`);
+        }
+    }
+    getSystemContext() {
+        if (!this.context) {
+            // We own this context and should dispose of it.
+            this.context = this.scope.manage(this.newContext());
+        }
+        return this.context;
+    }
+}
+exports.QuickJSRuntime = QuickJSRuntime;
+//# sourceMappingURL=runtime.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/runtime.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/runtime.js.map
new file mode 100644
index 0000000..add63da
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/runtime.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../ts/runtime.ts"],"names":[],"mappings":"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","sourcesContent":["import { maybeAsyncFn } from \"./asyncify-helpers\"\nimport { QuickJSContext } from \"./context\"\nimport { debugLog } from \"./debug\"\nimport { EitherModule } from \"./emscripten-types\"\nimport { QuickJSWrongOwner } from \"./errors\"\nimport {\n  BorrowedHeapCharPointer,\n  JSContextPointer,\n  JSContextPointerPointer,\n  JSModuleDefPointer,\n  JSRuntimePointer,\n} from \"./types-ffi\"\nimport { Disposable, Lifetime, Scope } from \"./lifetime\"\nimport { ModuleMemory } from \"./memory\"\nimport { QuickJSModuleCallbacks, RuntimeCallbacks } from \"./module\"\nimport {\n  ContextOptions,\n  DefaultIntrinsics,\n  EitherFFI,\n  JSModuleLoader,\n  JSModuleNormalizer,\n  QuickJSHandle,\n} from \"./types\"\nimport { SuccessOrFail } from \"./vm-interface\"\n\n/**\n * Callback called regularly while the VM executes code.\n * Determines if a VM's execution should be interrupted.\n *\n * @returns `true` to interrupt JS execution inside the VM.\n * @returns `false` or `undefined` to continue JS execution inside the VM.\n */\nexport type InterruptHandler = (runtime: QuickJSRuntime) => boolean | undefined\n\n/**\n * Used as an optional for the results of executing pendingJobs.\n * On success, `value` contains the number of async jobs executed\n * by the runtime.\n * @source\n */\nexport type ExecutePendingJobsResult = SuccessOrFail<\n  /** Number of jobs successfully executed. */\n  number,\n  /** The error that occurred. */\n  QuickJSHandle & {\n    /** The context where the error occurred. */\n    context: QuickJSContext\n  }\n>\n\n/**\n * A runtime represents a Javascript runtime corresponding to an object heap.\n * Several runtimes can exist at the same time but they cannot exchange objects.\n * Inside a given runtime, no multi-threading is supported.\n *\n * You can think of separate runtimes like different domains in a browser, and\n * the contexts within a runtime like the different windows open to the same\n * domain.\n *\n * Create a runtime via {@link QuickJSWASMModule.newRuntime}.\n *\n * You should create separate runtime instances for untrusted code from\n * different sources for isolation. However, stronger isolation is also\n * available (at the cost of memory usage), by creating separate WebAssembly\n * modules to further isolate untrusted code.\n * See {@link newQuickJSWASMModule}.\n *\n * Implement memory and CPU constraints with [[setInterruptHandler]]\n * (called regularly while the interpreter runs), [[setMemoryLimit]], and\n * [[setMaxStackSize]].\n * Use [[computeMemoryUsage]] or [[dumpMemoryUsage]] to guide memory limit\n * tuning.\n *\n * Configure ES module loading with [[setModuleLoader]].\n */\nexport class QuickJSRuntime implements Disposable {\n  /**\n   * If this runtime was created as as part of a context, points to the context\n   * associated with the runtime.\n   *\n   * If this runtime was created stand-alone, this may or may not contain a context.\n   * A context here may be allocated if one is needed by the runtime, eg for [[computeMemoryUsage]].\n   */\n  public context: QuickJSContext | undefined\n\n  /** @private */\n  protected module: EitherModule\n  /** @private */\n  protected memory: ModuleMemory\n  /** @private */\n  protected ffi: EitherFFI\n  /** @private */\n  protected rt: Lifetime<JSRuntimePointer>\n  /** @private */\n  protected callbacks: QuickJSModuleCallbacks\n  /** @private */\n  protected scope = new Scope()\n\n  /** @private */\n  protected contextMap = new Map<JSContextPointer, QuickJSContext>()\n  /** @private */\n  protected moduleLoader: JSModuleLoader | undefined\n  /** @private */\n  protected moduleNormalizer: JSModuleNormalizer | undefined\n\n  /** @private */\n  constructor(args: {\n    module: EitherModule\n    ffi: EitherFFI\n    rt: Lifetime<JSRuntimePointer>\n    callbacks: QuickJSModuleCallbacks\n    ownedLifetimes?: Disposable[]\n  }) {\n    args.ownedLifetimes?.forEach((lifetime) => this.scope.manage(lifetime))\n    this.module = args.module\n    this.memory = new ModuleMemory(this.module)\n    this.ffi = args.ffi\n    this.rt = args.rt\n    this.callbacks = args.callbacks\n    this.scope.manage(this.rt)\n    this.callbacks.setRuntimeCallbacks(this.rt.value, this.cToHostCallbacks)\n\n    this.executePendingJobs = this.executePendingJobs.bind(this)\n  }\n\n  get alive() {\n    return this.scope.alive\n  }\n\n  dispose() {\n    return this.scope.dispose()\n  }\n\n  newContext(options: ContextOptions = {}): QuickJSContext {\n    if (options.intrinsics && options.intrinsics !== DefaultIntrinsics) {\n      throw new Error(\"TODO: Custom intrinsics are not supported yet\")\n    }\n\n    const ctx = new Lifetime(\n      options.contextPointer || this.ffi.QTS_NewContext(this.rt.value),\n      undefined,\n      (ctx_ptr) => {\n        this.contextMap.delete(ctx_ptr)\n        this.callbacks.deleteContext(ctx_ptr)\n        this.ffi.QTS_FreeContext(ctx_ptr)\n      }\n    )\n\n    const context = new QuickJSContext({\n      module: this.module,\n      ctx,\n      ffi: this.ffi,\n      rt: this.rt,\n      ownedLifetimes: options.ownedLifetimes,\n      runtime: this,\n      callbacks: this.callbacks,\n    })\n    this.contextMap.set(ctx.value, context)\n\n    return context\n  }\n\n  /**\n   * Set the loader for EcmaScript modules requested by any context in this\n   * runtime.\n   *\n   * The loader can be removed with [[removeModuleLoader]].\n   */\n  setModuleLoader(moduleLoader: JSModuleLoader, moduleNormalizer?: JSModuleNormalizer): void {\n    this.moduleLoader = moduleLoader\n    this.moduleNormalizer = moduleNormalizer\n    this.ffi.QTS_RuntimeEnableModuleLoader(this.rt.value, this.moduleNormalizer ? 1 : 0)\n  }\n\n  /**\n   * Remove the the loader set by [[setModuleLoader]]. This disables module loading.\n   */\n  removeModuleLoader(): void {\n    this.moduleLoader = undefined\n    this.ffi.QTS_RuntimeDisableModuleLoader(this.rt.value)\n  }\n\n  // Runtime management -------------------------------------------------------\n\n  /**\n   * In QuickJS, promises and async functions create pendingJobs. These do not execute\n   * immediately and need to be run by calling [[executePendingJobs]].\n   *\n   * @return true if there is at least one pendingJob queued up.\n   */\n  hasPendingJob(): boolean {\n    return Boolean(this.ffi.QTS_IsJobPending(this.rt.value))\n  }\n\n  private interruptHandler: InterruptHandler | undefined\n\n  /**\n   * Set a callback which is regularly called by the QuickJS engine when it is\n   * executing code. This callback can be used to implement an execution\n   * timeout.\n   *\n   * The interrupt handler can be removed with [[removeInterruptHandler]].\n   */\n  setInterruptHandler(cb: InterruptHandler) {\n    const prevInterruptHandler = this.interruptHandler\n    this.interruptHandler = cb\n    if (!prevInterruptHandler) {\n      this.ffi.QTS_RuntimeEnableInterruptHandler(this.rt.value)\n    }\n  }\n\n  /**\n   * Remove the interrupt handler, if any.\n   * See [[setInterruptHandler]].\n   */\n  removeInterruptHandler() {\n    if (this.interruptHandler) {\n      this.ffi.QTS_RuntimeDisableInterruptHandler(this.rt.value)\n      this.interruptHandler = undefined\n    }\n  }\n\n  /**\n   * Execute pendingJobs on the runtime until `maxJobsToExecute` jobs are\n   * executed (default all pendingJobs), the queue is exhausted, or the runtime\n   * encounters an exception.\n   *\n   * In QuickJS, promises and async functions *inside the runtime* create\n   * pendingJobs. These do not execute immediately and need to triggered to run.\n   *\n   * @param maxJobsToExecute - When negative, run all pending jobs. Otherwise execute\n   * at most `maxJobsToExecute` before returning.\n   *\n   * @return On success, the number of executed jobs. On error, the exception\n   * that stopped execution, and the context it occurred in. Note that\n   * executePendingJobs will not normally return errors thrown inside async\n   * functions or rejected promises. Those errors are available by calling\n   * [[resolvePromise]] on the promise handle returned by the async function.\n   */\n  executePendingJobs(maxJobsToExecute: number | void = -1): ExecutePendingJobsResult {\n    const ctxPtrOut = this.memory.newMutablePointerArray<JSContextPointerPointer>(1)\n    const valuePtr = this.ffi.QTS_ExecutePendingJob(\n      this.rt.value,\n      maxJobsToExecute ?? -1,\n      ctxPtrOut.value.ptr\n    )\n\n    const ctxPtr = ctxPtrOut.value.typedArray[0] as JSContextPointer\n    ctxPtrOut.dispose()\n    if (ctxPtr === 0) {\n      // No jobs executed.\n      this.ffi.QTS_FreeValuePointerRuntime(this.rt.value, valuePtr)\n      return { value: 0 }\n    }\n\n    const context =\n      this.contextMap.get(ctxPtr) ??\n      this.newContext({\n        contextPointer: ctxPtr,\n      })\n\n    const resultValue = context.getMemory(this.rt.value).heapValueHandle(valuePtr)\n    const typeOfRet = context.typeof(resultValue)\n    if (typeOfRet === \"number\") {\n      const executedJobs = context.getNumber(resultValue)\n      resultValue.dispose()\n      return { value: executedJobs }\n    } else {\n      const error = Object.assign(resultValue, { context })\n      return {\n        error,\n      }\n    }\n  }\n\n  /**\n   * Set the max memory this runtime can allocate.\n   * To remove the limit, set to `-1`.\n   */\n  setMemoryLimit(limitBytes: number) {\n    if (limitBytes < 0 && limitBytes !== -1) {\n      throw new Error(\"Cannot set memory limit to negative number. To unset, pass -1\")\n    }\n\n    this.ffi.QTS_RuntimeSetMemoryLimit(this.rt.value, limitBytes)\n  }\n\n  /**\n   * Compute memory usage for this runtime. Returns the result as a handle to a\n   * JSValue object. Use [[QuickJSContext.dump]] to convert to a native object.\n   * Calling this method will allocate more memory inside the runtime. The information\n   * is accurate as of just before the call to `computeMemoryUsage`.\n   * For a human-digestible representation, see [[dumpMemoryUsage]].\n   */\n  computeMemoryUsage(): QuickJSHandle {\n    const serviceContextMemory = this.getSystemContext().getMemory(this.rt.value)\n    return serviceContextMemory.heapValueHandle(\n      this.ffi.QTS_RuntimeComputeMemoryUsage(this.rt.value, serviceContextMemory.ctx.value)\n    )\n  }\n\n  /**\n   * @returns a human-readable description of memory usage in this runtime.\n   * For programmatic access to this information, see [[computeMemoryUsage]].\n   */\n  dumpMemoryUsage(): string {\n    return this.memory.consumeHeapCharPointer(this.ffi.QTS_RuntimeDumpMemoryUsage(this.rt.value))\n  }\n\n  /**\n   * Set the max stack size for this runtime, in bytes.\n   * To remove the limit, set to `0`.\n   */\n  setMaxStackSize(stackSize: number) {\n    if (stackSize < 0) {\n      throw new Error(\"Cannot set memory limit to negative number. To unset, pass 0.\")\n    }\n\n    this.ffi.QTS_RuntimeSetMaxStackSize(this.rt.value, stackSize)\n  }\n\n  /**\n   * Assert that `handle` is owned by this runtime.\n   * @throws QuickJSWrongOwner if owned by a different runtime.\n   */\n  assertOwned(handle: QuickJSHandle) {\n    if (handle.owner && handle.owner.rt !== this.rt) {\n      throw new QuickJSWrongOwner(\n        `Handle is not owned by this runtime: ${handle.owner.rt.value} != ${this.rt.value}`\n      )\n    }\n  }\n\n  private getSystemContext() {\n    if (!this.context) {\n      // We own this context and should dispose of it.\n      this.context = this.scope.manage(this.newContext())\n    }\n    return this.context\n  }\n\n  private cToHostCallbacks: RuntimeCallbacks = {\n    shouldInterrupt: (rt) => {\n      if (rt !== this.rt.value) {\n        throw new Error(\"QuickJSContext instance received C -> JS interrupt with mismatched rt\")\n      }\n\n      const fn = this.interruptHandler\n      if (!fn) {\n        throw new Error(\"QuickJSContext had no interrupt handler\")\n      }\n\n      return fn(this) ? 1 : 0\n    },\n\n    loadModuleSource: maybeAsyncFn(this, function* (awaited, rt, ctx, moduleName) {\n      const moduleLoader = this.moduleLoader\n      if (!moduleLoader) {\n        throw new Error(\"Runtime has no module loader\")\n      }\n\n      if (rt !== this.rt.value) {\n        throw new Error(\"Runtime pointer mismatch\")\n      }\n\n      const context =\n        this.contextMap.get(ctx) ??\n        this.newContext({\n          contextPointer: ctx,\n        })\n\n      try {\n        const result = yield* awaited(moduleLoader(moduleName, context))\n\n        if (typeof result === \"object\" && \"error\" in result && result.error) {\n          debugLog(\"cToHostLoadModule: loader returned error\", result.error)\n          throw result.error\n        }\n\n        const moduleSource =\n          typeof result === \"string\" ? result : \"value\" in result ? result.value : result\n\n        return this.memory.newHeapCharPointer(moduleSource).value\n      } catch (error) {\n        debugLog(\"cToHostLoadModule: caught error\", error)\n        context.throw(error as any)\n        return 0 as BorrowedHeapCharPointer\n      }\n    }),\n\n    normalizeModule: maybeAsyncFn(\n      this,\n      function* (awaited, rt, ctx, baseModuleName, moduleNameRequest) {\n        const moduleNormalizer = this.moduleNormalizer\n        if (!moduleNormalizer) {\n          throw new Error(\"Runtime has no module normalizer\")\n        }\n\n        if (rt !== this.rt.value) {\n          throw new Error(\"Runtime pointer mismatch\")\n        }\n\n        const context =\n          this.contextMap.get(ctx) ??\n          this.newContext({\n            /* TODO: Does this happen? Are we responsible for disposing? I don't think so */\n            contextPointer: ctx,\n          })\n\n        try {\n          const result = yield* awaited(\n            moduleNormalizer(baseModuleName, moduleNameRequest, context)\n          )\n\n          if (typeof result === \"object\" && \"error\" in result && result.error) {\n            debugLog(\"cToHostNormalizeModule: normalizer returned error\", result.error)\n            throw result.error\n          }\n\n          const name = typeof result === \"string\" ? result : result.value\n          return context.getMemory(this.rt.value).newHeapCharPointer(name).value\n        } catch (error) {\n          debugLog(\"normalizeModule: caught error\", error)\n          context.throw(error as any)\n          return 0 as BorrowedHeapCharPointer\n        }\n      }\n    ),\n  }\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/types-ffi.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/types-ffi.d.ts
new file mode 100644
index 0000000..3f6dadd
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/types-ffi.d.ts
@@ -0,0 +1,114 @@
+/**
+ * C pointer to type `CType`. Pointer types are used internally for FFI, but
+ * are not intended for external use.
+ *
+ * @unstable This type is considered private and may change.
+ */
+type Pointer<CType extends string> = number & {
+    ctype: CType;
+};
+type Brand<T, B> = T & {
+    brand: B;
+};
+/**
+ * `JSRuntime*`.
+ */
+export type JSRuntimePointer = Pointer<"JSRuntime">;
+/**
+ * `JSContext*`.
+ */
+export type JSContextPointer = Pointer<"JSContext">;
+/**
+ * `JSContext**`. Used internally for execute pending jobs.
+ */
+export type JSContextPointerPointer = Pointer<"JSContext">;
+/**
+ * `JSModuleDef*`.
+ */
+export type JSModuleDefPointer = Pointer<"JSModuleDef">;
+/**
+ * `JSValue*`.
+ * See [[JSValue]].
+ */
+export type JSValuePointer = Pointer<"JSValue">;
+/**
+ * `JSValueConst*
+ * See [[JSValueConst]] and [[StaticJSValue]].
+ */
+export type JSValueConstPointer = Pointer<"JSValueConst">;
+/**
+ * Used internally for Javascript-to-C function calls.
+ */
+export type JSValuePointerPointer = Pointer<"JSValue[]">;
+/**
+ * Used internally for Javascript-to-C function calls.
+ */
+export type JSValueConstPointerPointer = Pointer<"JSValueConst[]">;
+/**
+ * Used internally for C-to-Javascript function calls.
+ */
+/**
+ * Used internally for C-to-Javascript function calls.
+ */
+export type QTS_C_To_HostCallbackFuncPointer = Pointer<"C_To_HostCallbackFunc">;
+/**
+ * Used internally for C-to-Javascript interrupt handlers.
+ */
+export type QTS_C_To_HostInterruptFuncPointer = Pointer<"C_To_HostInterruptFunc">;
+/**
+ * Used internally for C-to-Javascript module loading.
+ */
+export type QTS_C_To_HostLoadModuleFuncPointer = Pointer<"C_To_HostLoadModuleFunc">;
+/**
+ * Used internally for Javascript-to-C calls that may contain strings too large
+ * for the Emscripten stack.
+ */
+export type BorrowedHeapCharPointer = Pointer<"const char" | "char" | "js const char">;
+/**
+ * Used internally for Javascript-to-C calls that may contain strings too large
+ * for the Emscripten stack.
+ */
+export type OwnedHeapCharPointer = Pointer<"char">;
+/**
+ * Used internally for Javascript-to-C calls that may contain strings too large
+ * for the Emscripten stack.
+ */
+export type JSBorrowedCharPointer = Pointer<"js const char">;
+/**
+ * Opaque pointer that was allocated by js_malloc.
+ */
+export type JSVoidPointer = Pointer<any>;
+/**
+ * @private
+ */
+export type EvalFlags = Brand<number, "EvalFlags">;
+/**
+ * @private
+ */
+export type EvalDetectModule = Brand<number, "EvalDetectModule">;
+export declare function assertSync<Args extends any[], R>(fn: (...args: Args) => R): (...args: Args) => R;
+/** Bitfield options for JS_Eval() C function. */
+export declare const EvalFlags: {
+    /** global code (default) */
+    JS_EVAL_TYPE_GLOBAL: number;
+    /** module code */
+    JS_EVAL_TYPE_MODULE: number;
+    /** direct call (internal use) */
+    JS_EVAL_TYPE_DIRECT: number;
+    /** indirect call (internal use) */
+    JS_EVAL_TYPE_INDIRECT: number;
+    JS_EVAL_TYPE_MASK: number;
+    /** force 'strict' mode */
+    JS_EVAL_FLAG_STRICT: number;
+    /** force 'strip' mode */
+    JS_EVAL_FLAG_STRIP: number;
+    /**
+     * compile but do not run. The result is an object with a
+     * JS_TAG_FUNCTION_BYTECODE or JS_TAG_MODULE tag. It can be executed
+     * with JS_EvalFunction().
+     */
+    JS_EVAL_FLAG_COMPILE_ONLY: number;
+    /** don't include the stack frames before this eval in the Error() backtraces */
+    JS_EVAL_FLAG_BACKTRACE_BARRIER: number;
+};
+export {};
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/types-ffi.js b/node_modules/@tootallnate/quickjs-emscripten/dist/types-ffi.js
new file mode 100644
index 0000000..e848118
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/types-ffi.js
@@ -0,0 +1,38 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.EvalFlags = exports.assertSync = void 0;
+function assertSync(fn) {
+    return function mustBeSync(...args) {
+        const result = fn(...args);
+        if (result && typeof result === "object" && result instanceof Promise) {
+            throw new Error("Function unexpectedly returned a Promise");
+        }
+        return result;
+    };
+}
+exports.assertSync = assertSync;
+/** Bitfield options for JS_Eval() C function. */
+exports.EvalFlags = {
+    /** global code (default) */
+    JS_EVAL_TYPE_GLOBAL: 0 << 0,
+    /** module code */
+    JS_EVAL_TYPE_MODULE: 1 << 0,
+    /** direct call (internal use) */
+    JS_EVAL_TYPE_DIRECT: 2 << 0,
+    /** indirect call (internal use) */
+    JS_EVAL_TYPE_INDIRECT: 3 << 0,
+    JS_EVAL_TYPE_MASK: 3 << 0,
+    /** force 'strict' mode */
+    JS_EVAL_FLAG_STRICT: 1 << 3,
+    /** force 'strip' mode */
+    JS_EVAL_FLAG_STRIP: 1 << 4,
+    /**
+     * compile but do not run. The result is an object with a
+     * JS_TAG_FUNCTION_BYTECODE or JS_TAG_MODULE tag. It can be executed
+     * with JS_EvalFunction().
+     */
+    JS_EVAL_FLAG_COMPILE_ONLY: 1 << 5,
+    /** don't include the stack frames before this eval in the Error() backtraces */
+    JS_EVAL_FLAG_BACKTRACE_BARRIER: 1 << 6,
+};
+//# sourceMappingURL=types-ffi.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/types-ffi.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/types-ffi.js.map
new file mode 100644
index 0000000..1a2dc3e
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/types-ffi.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"types-ffi.js","sourceRoot":"","sources":["../ts/types-ffi.ts"],"names":[],"mappings":";;;AAyGA,SAAgB,UAAU,CAAwB,EAAwB;IACxE,OAAO,SAAS,UAAU,CAAC,GAAG,IAAU;QACtC,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;QAC1B,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,YAAY,OAAO,EAAE;YACrE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;SAC5D;QACD,OAAO,MAAM,CAAA;IACf,CAAC,CAAA;AACH,CAAC;AARD,gCAQC;AAED,iDAAiD;AACpC,QAAA,SAAS,GAAG;IACvB,4BAA4B;IAC5B,mBAAmB,EAAE,CAAC,IAAI,CAAC;IAC3B,kBAAkB;IAClB,mBAAmB,EAAE,CAAC,IAAI,CAAC;IAC3B,iCAAiC;IACjC,mBAAmB,EAAE,CAAC,IAAI,CAAC;IAC3B,mCAAmC;IACnC,qBAAqB,EAAE,CAAC,IAAI,CAAC;IAC7B,iBAAiB,EAAE,CAAC,IAAI,CAAC;IACzB,0BAA0B;IAC1B,mBAAmB,EAAE,CAAC,IAAI,CAAC;IAC3B,yBAAyB;IACzB,kBAAkB,EAAE,CAAC,IAAI,CAAC;IAC1B;;;;OAIG;IACH,yBAAyB,EAAE,CAAC,IAAI,CAAC;IACjC,gFAAgF;IAChF,8BAA8B,EAAE,CAAC,IAAI,CAAC;CACvC,CAAA","sourcesContent":["/**\n * C pointer to type `CType`. Pointer types are used internally for FFI, but\n * are not intended for external use.\n *\n * @unstable This type is considered private and may change.\n */\ntype Pointer<CType extends string> = number & { ctype: CType }\n\ntype Brand<T, B> = T & { brand: B }\n\n/**\n * `JSRuntime*`.\n */\nexport type JSRuntimePointer = Pointer<\"JSRuntime\">\n\n/**\n * `JSContext*`.\n */\nexport type JSContextPointer = Pointer<\"JSContext\">\n\n/**\n * `JSContext**`. Used internally for execute pending jobs.\n */\nexport type JSContextPointerPointer = Pointer<\"JSContext\">\n\n/**\n * `JSModuleDef*`.\n */\nexport type JSModuleDefPointer = Pointer<\"JSModuleDef\">\n\n/**\n * `JSValue*`.\n * See [[JSValue]].\n */\nexport type JSValuePointer = Pointer<\"JSValue\">\n\n/**\n * `JSValueConst*\n * See [[JSValueConst]] and [[StaticJSValue]].\n */\nexport type JSValueConstPointer = Pointer<\"JSValueConst\">\n\n/**\n * Used internally for Javascript-to-C function calls.\n */\nexport type JSValuePointerPointer = Pointer<\"JSValue[]\">\n\n/**\n * Used internally for Javascript-to-C function calls.\n */\nexport type JSValueConstPointerPointer = Pointer<\"JSValueConst[]\">\n\n/**\n * Used internally for C-to-Javascript function calls.\n */\n// type JSCFunctionPointer = Pointer<'JSCFunction'>\n\n/**\n * Used internally for C-to-Javascript function calls.\n */\nexport type QTS_C_To_HostCallbackFuncPointer = Pointer<\"C_To_HostCallbackFunc\">\n\n/**\n * Used internally for C-to-Javascript interrupt handlers.\n */\nexport type QTS_C_To_HostInterruptFuncPointer = Pointer<\"C_To_HostInterruptFunc\">\n\n/**\n * Used internally for C-to-Javascript module loading.\n */\nexport type QTS_C_To_HostLoadModuleFuncPointer = Pointer<\"C_To_HostLoadModuleFunc\">\n\n/**\n * Used internally for Javascript-to-C calls that may contain strings too large\n * for the Emscripten stack.\n */\nexport type BorrowedHeapCharPointer = Pointer<\"const char\" | \"char\" | \"js const char\">\n\n/**\n * Used internally for Javascript-to-C calls that may contain strings too large\n * for the Emscripten stack.\n */\nexport type OwnedHeapCharPointer = Pointer<\"char\">\n\n/**\n * Used internally for Javascript-to-C calls that may contain strings too large\n * for the Emscripten stack.\n */\nexport type JSBorrowedCharPointer = Pointer<\"js const char\">\n\n/**\n * Opaque pointer that was allocated by js_malloc.\n */\nexport type JSVoidPointer = Pointer<any>\n\n/**\n * @private\n */\nexport type EvalFlags = Brand<number, \"EvalFlags\">\n\n/**\n * @private\n */\nexport type EvalDetectModule = Brand<number, \"EvalDetectModule\">\n\nexport function assertSync<Args extends any[], R>(fn: (...args: Args) => R): (...args: Args) => R {\n  return function mustBeSync(...args: Args): R {\n    const result = fn(...args)\n    if (result && typeof result === \"object\" && result instanceof Promise) {\n      throw new Error(\"Function unexpectedly returned a Promise\")\n    }\n    return result\n  }\n}\n\n/** Bitfield options for JS_Eval() C function. */\nexport const EvalFlags = {\n  /** global code (default) */\n  JS_EVAL_TYPE_GLOBAL: 0 << 0,\n  /** module code */\n  JS_EVAL_TYPE_MODULE: 1 << 0,\n  /** direct call (internal use) */\n  JS_EVAL_TYPE_DIRECT: 2 << 0,\n  /** indirect call (internal use) */\n  JS_EVAL_TYPE_INDIRECT: 3 << 0,\n  JS_EVAL_TYPE_MASK: 3 << 0,\n  /** force 'strict' mode */\n  JS_EVAL_FLAG_STRICT: 1 << 3,\n  /** force 'strip' mode */\n  JS_EVAL_FLAG_STRIP: 1 << 4,\n  /**\n   * compile but do not run. The result is an object with a\n   * JS_TAG_FUNCTION_BYTECODE or JS_TAG_MODULE tag. It can be executed\n   * with JS_EvalFunction().\n   */\n  JS_EVAL_FLAG_COMPILE_ONLY: 1 << 5,\n  /** don't include the stack frames before this eval in the Error() backtraces */\n  JS_EVAL_FLAG_BACKTRACE_BARRIER: 1 << 6,\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/types.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/types.d.ts
new file mode 100644
index 0000000..d5c6ca3
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/types.d.ts
@@ -0,0 +1,158 @@
+import type { QuickJSFFI, QuickJSAsyncFFI } from "./variants";
+import type { QuickJSContext } from "./context";
+import type { SuccessOrFail, VmFunctionImplementation } from "./vm-interface";
+import type { Disposable, Lifetime } from "./lifetime";
+import type { QuickJSAsyncContext } from "./context-asyncify";
+import type { InterruptHandler, QuickJSRuntime } from "./runtime";
+import { JSContextPointer, JSValueConstPointer, JSValuePointer } from "./types-ffi";
+export type EitherFFI = QuickJSFFI | QuickJSAsyncFFI;
+/**
+ * A QuickJSHandle to a constant that will never change, and does not need to
+ * be disposed.
+ */
+export type StaticJSValue = Lifetime<JSValueConstPointer, JSValueConstPointer, QuickJSRuntime>;
+/**
+ * A QuickJSHandle to a borrowed value that does not need to be disposed.
+ *
+ * In QuickJS, a JSValueConst is a "borrowed" reference that isn't owned by the
+ * current scope. That means that the current scope should not `JS_FreeValue`
+ * it, or retain a reference to it after the scope exits, because it may be
+ * freed by its owner.
+ *
+ * quickjs-emscripten takes care of disposing JSValueConst references.
+ */
+export type JSValueConst = Lifetime<JSValueConstPointer, JSValuePointer, QuickJSRuntime>;
+/**
+ * A owned QuickJSHandle that should be disposed or returned.
+ *
+ * The QuickJS interpreter passes Javascript values between functions as
+ * `JSValue` structs that references some internal data. Because passing
+ * structs cross the Empscripten FFI interfaces is bothersome, we use pointers
+ * to these structs instead.
+ *
+ * A JSValue reference is "owned" in its scope. before exiting the scope, it
+ * should be freed,  by calling `JS_FreeValue(ctx, js_value)`) or returned from
+ * the scope. We extend that contract - a JSValuePointer (`JSValue*`) must also
+ * be `free`d.
+ *
+ * You can do so from Javascript by calling the .dispose() method.
+ */
+export type JSValue = Lifetime<JSValuePointer, JSValuePointer, QuickJSRuntime>;
+/**
+ * Wraps a C pointer to a QuickJS JSValue, which represents a Javascript value inside
+ * a QuickJS virtual machine.
+ *
+ * Values must not be shared between QuickJSContext instances.
+ * You must dispose of any handles you create by calling the `.dispose()` method.
+ */
+export type QuickJSHandle = StaticJSValue | JSValue | JSValueConst;
+export type JSModuleExport = {
+    type: "function";
+    name: string;
+    implementation: (vm: QuickJSContext) => VmFunctionImplementation<QuickJSHandle>;
+} | {
+    type: "value";
+    name: string;
+    value: (vm: QuickJSContext) => QuickJSHandle;
+};
+export interface JSModuleDefinition {
+    name: string;
+    exports: JSModuleExport[];
+}
+export type JSModuleLoadSuccess = string;
+export type JSModuleLoadFailure = Error | QuickJSHandle;
+export type JSModuleLoadResult = JSModuleLoadSuccess | SuccessOrFail<JSModuleLoadSuccess, JSModuleLoadFailure>;
+export interface JSModuleLoaderAsync {
+    /** Load module (async) */
+    (moduleName: string, context: QuickJSAsyncContext): JSModuleLoadResult | Promise<JSModuleLoadResult>;
+}
+export interface JSModuleLoader {
+    /** Load module (sync) */
+    (moduleName: string, context: QuickJSContext): JSModuleLoadResult;
+}
+export type JSModuleNormalizeSuccess = string;
+export type JSModuleNormalizeFailure = Error | QuickJSHandle;
+export type JSModuleNormalizeResult = JSModuleNormalizeSuccess | SuccessOrFail<JSModuleNormalizeSuccess, JSModuleNormalizeFailure>;
+export interface JSModuleNormalizerAsync {
+    (baseModuleName: string, requestedName: string, vm: QuickJSAsyncContext): JSModuleNormalizeResult | Promise<JSModuleNormalizeResult>;
+}
+export interface JSModuleNormalizer extends JSModuleNormalizerAsync {
+    (baseModuleName: string, requestedName: string, vm: QuickJSContext): JSModuleNormalizeResult;
+}
+type TODO<hint extends string = "?", typeHint = unknown> = never;
+declare const UnstableSymbol: unique symbol;
+export type PartiallyImplemented<T> = never & T & {
+    [UnstableSymbol]: "This feature may unimplemented, broken, throw errors, etc.";
+};
+export interface RuntimeOptionsBase {
+    interruptHandler?: InterruptHandler;
+    maxStackSizeBytes?: number;
+    memoryLimitBytes?: number;
+    promiseRejectionHandler?: TODO<"JSHostPromiseRejectionTracker">;
+    runtimeInfo?: TODO<"JS_SetRuntimeInfo", string>;
+    gcThreshold?: TODO<"JS_SetGCThreshold", number>;
+    sharedArrayBufferFunctions?: TODO<"JS_SetJSSharedArrayBufferFunctions", {
+        sab_alloc: TODO;
+        sab_free: TODO;
+        sab_dup: TODO;
+        sab_opaque: TODO;
+    }>;
+    /**
+     * Extra lifetimes the runtime should dispose of after it is destroyed.
+     * @private
+     */
+    ownedLifetimes?: Disposable[];
+}
+export interface RuntimeOptions extends RuntimeOptionsBase {
+    moduleLoader?: JSModuleLoader;
+}
+export interface AsyncRuntimeOptions extends RuntimeOptionsBase {
+    moduleLoader?: JSModuleLoaderAsync | JSModuleLoader;
+}
+/**
+ * Work in progress.
+ */
+export type Intrinsic = "BaseObjects" | "Date" | "Eval" | "StringNormalize" | "RegExp" | "RegExpCompiler" | "JSON" | "Proxy" | "MapSet" | "TypedArrays" | "Promise" | "BigInt" | "BigFloat" | "BigDecimal" | "OperatorOverloading" | "BignumExt";
+/**
+ * Work in progress.
+ */
+export declare const DefaultIntrinsics: unique symbol;
+export interface ContextOptions {
+    /**
+     * What built-in objects and language features to enable?
+     * If unset, the default intrinsics will be used.
+     * To omit all intrinsics, pass an empty array.
+     */
+    intrinsics?: PartiallyImplemented<Intrinsic[]> | typeof DefaultIntrinsics;
+    /**
+     * Wrap the provided context instead of constructing a new one.
+     * @private
+     */
+    contextPointer?: JSContextPointer;
+    /**
+     * Extra lifetimes the context should dispose of after it is destroyed.
+     * @private
+     */
+    ownedLifetimes?: Disposable[];
+}
+export interface ContextEvalOptions {
+    /** Global code (default) */
+    type?: "global" | "module";
+    /** Force "strict" mode */
+    strict?: boolean;
+    /** Force "strip" mode */
+    strip?: boolean;
+    /**
+     * compile but do not run. The result is an object with a
+     * JS_TAG_FUNCTION_BYTECODE or JS_TAG_MODULE tag. It can be executed
+     * with JS_EvalFunction().
+     */
+    compileOnly?: boolean;
+    /** don't include the stack frames before this eval in the Error() backtraces */
+    backtraceBarrier?: boolean;
+}
+/** Convert [[ContextEvalOptions]] to a bitfield flags */
+export declare function evalOptionsToFlags(evalOptions: ContextEvalOptions | number | undefined): number;
+export type PromiseExecutor<ResolveT, RejectT> = (resolve: (value: ResolveT | PromiseLike<ResolveT>) => void, reject: (reason: RejectT) => void) => void;
+export declare function concat<T>(...values: Array<T[] | T | undefined>): T[];
+export {};
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/types.js b/node_modules/@tootallnate/quickjs-emscripten/dist/types.js
new file mode 100644
index 0000000..1fb62bf
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/types.js
@@ -0,0 +1,58 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.concat = exports.evalOptionsToFlags = exports.DefaultIntrinsics = void 0;
+const types_ffi_1 = require("./types-ffi");
+const UnstableSymbol = Symbol("Unstable");
+// For informational purposes
+const DefaultIntrinsicsList = [
+    "BaseObjects",
+    "Date",
+    "Eval",
+    "StringNormalize",
+    "RegExp",
+    "JSON",
+    "Proxy",
+    "MapSet",
+    "TypedArrays",
+    "Promise",
+];
+/**
+ * Work in progress.
+ */
+exports.DefaultIntrinsics = Symbol("DefaultIntrinsics");
+/** Convert [[ContextEvalOptions]] to a bitfield flags */
+function evalOptionsToFlags(evalOptions) {
+    if (typeof evalOptions === "number") {
+        return evalOptions;
+    }
+    if (evalOptions === undefined) {
+        return 0;
+    }
+    const { type, strict, strip, compileOnly, backtraceBarrier } = evalOptions;
+    let flags = 0;
+    if (type === "global")
+        flags |= types_ffi_1.EvalFlags.JS_EVAL_TYPE_GLOBAL;
+    if (type === "module")
+        flags |= types_ffi_1.EvalFlags.JS_EVAL_TYPE_MODULE;
+    if (strict)
+        flags |= types_ffi_1.EvalFlags.JS_EVAL_FLAG_STRICT;
+    if (strip)
+        flags |= types_ffi_1.EvalFlags.JS_EVAL_FLAG_STRIP;
+    if (compileOnly)
+        flags |= types_ffi_1.EvalFlags.JS_EVAL_FLAG_COMPILE_ONLY;
+    if (backtraceBarrier)
+        flags |= types_ffi_1.EvalFlags.JS_EVAL_FLAG_BACKTRACE_BARRIER;
+    return flags;
+}
+exports.evalOptionsToFlags = evalOptionsToFlags;
+function concat(...values) {
+    let result = [];
+    for (const value of values) {
+        if (value !== undefined) {
+            result = result.concat(value);
+        }
+    }
+    return result;
+}
+exports.concat = concat;
+//# sourceMappingURL=types.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/types.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/types.js.map
new file mode 100644
index 0000000..7b52727
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/types.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"types.js","sourceRoot":"","sources":["../ts/types.ts"],"names":[],"mappings":";;;AAMA,2CAA8F;AA+F9F,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;AAwDzC,6BAA6B;AAC7B,MAAM,qBAAqB,GAAG;IAC5B,aAAa;IACb,MAAM;IACN,MAAM;IACN,iBAAiB;IACjB,QAAQ;IACR,MAAM;IACN,OAAO;IACP,QAAQ;IACR,aAAa;IACb,SAAS;CACD,CAAA;AAEV;;GAEG;AACU,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAA;AAwC5D,yDAAyD;AACzD,SAAgB,kBAAkB,CAAC,WAAoD;IACrF,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE;QACnC,OAAO,WAAW,CAAA;KACnB;IAED,IAAI,WAAW,KAAK,SAAS,EAAE;QAC7B,OAAO,CAAC,CAAA;KACT;IAED,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAA;IAC1E,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,IAAI,KAAK,QAAQ;QAAE,KAAK,IAAI,qBAAS,CAAC,mBAAmB,CAAA;IAC7D,IAAI,IAAI,KAAK,QAAQ;QAAE,KAAK,IAAI,qBAAS,CAAC,mBAAmB,CAAA;IAC7D,IAAI,MAAM;QAAE,KAAK,IAAI,qBAAS,CAAC,mBAAmB,CAAA;IAClD,IAAI,KAAK;QAAE,KAAK,IAAI,qBAAS,CAAC,kBAAkB,CAAA;IAChD,IAAI,WAAW;QAAE,KAAK,IAAI,qBAAS,CAAC,yBAAyB,CAAA;IAC7D,IAAI,gBAAgB;QAAE,KAAK,IAAI,qBAAS,CAAC,8BAA8B,CAAA;IACvE,OAAO,KAAK,CAAA;AACd,CAAC;AAlBD,gDAkBC;AAOD,SAAgB,MAAM,CAAI,GAAG,MAAkC;IAC7D,IAAI,MAAM,GAAQ,EAAE,CAAA;IACpB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;SAC9B;KACF;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AARD,wBAQC","sourcesContent":["import type { QuickJSFFI, QuickJSAsyncFFI } from \"./variants\"\nimport type { QuickJSContext } from \"./context\"\nimport type { SuccessOrFail, VmFunctionImplementation } from \"./vm-interface\"\nimport type { Disposable, Lifetime } from \"./lifetime\"\nimport type { QuickJSAsyncContext } from \"./context-asyncify\"\nimport type { InterruptHandler, QuickJSRuntime } from \"./runtime\"\nimport { EvalFlags, JSContextPointer, JSValueConstPointer, JSValuePointer } from \"./types-ffi\"\n\nexport type EitherFFI = QuickJSFFI | QuickJSAsyncFFI\n\n/**\n * A QuickJSHandle to a constant that will never change, and does not need to\n * be disposed.\n */\nexport type StaticJSValue = Lifetime<JSValueConstPointer, JSValueConstPointer, QuickJSRuntime>\n\n/**\n * A QuickJSHandle to a borrowed value that does not need to be disposed.\n *\n * In QuickJS, a JSValueConst is a \"borrowed\" reference that isn't owned by the\n * current scope. That means that the current scope should not `JS_FreeValue`\n * it, or retain a reference to it after the scope exits, because it may be\n * freed by its owner.\n *\n * quickjs-emscripten takes care of disposing JSValueConst references.\n */\nexport type JSValueConst = Lifetime<JSValueConstPointer, JSValuePointer, QuickJSRuntime>\n\n/**\n * A owned QuickJSHandle that should be disposed or returned.\n *\n * The QuickJS interpreter passes Javascript values between functions as\n * `JSValue` structs that references some internal data. Because passing\n * structs cross the Empscripten FFI interfaces is bothersome, we use pointers\n * to these structs instead.\n *\n * A JSValue reference is \"owned\" in its scope. before exiting the scope, it\n * should be freed,  by calling `JS_FreeValue(ctx, js_value)`) or returned from\n * the scope. We extend that contract - a JSValuePointer (`JSValue*`) must also\n * be `free`d.\n *\n * You can do so from Javascript by calling the .dispose() method.\n */\nexport type JSValue = Lifetime<JSValuePointer, JSValuePointer, QuickJSRuntime>\n\n/**\n * Wraps a C pointer to a QuickJS JSValue, which represents a Javascript value inside\n * a QuickJS virtual machine.\n *\n * Values must not be shared between QuickJSContext instances.\n * You must dispose of any handles you create by calling the `.dispose()` method.\n */\nexport type QuickJSHandle = StaticJSValue | JSValue | JSValueConst\n\nexport type JSModuleExport =\n  | {\n      type: \"function\"\n      name: string\n      implementation: (vm: QuickJSContext) => VmFunctionImplementation<QuickJSHandle>\n    }\n  | { type: \"value\"; name: string; value: (vm: QuickJSContext) => QuickJSHandle }\n\nexport interface JSModuleDefinition {\n  name: string\n  exports: JSModuleExport[]\n}\n\nexport type JSModuleLoadSuccess = string\nexport type JSModuleLoadFailure = Error | QuickJSHandle\nexport type JSModuleLoadResult =\n  | JSModuleLoadSuccess\n  | SuccessOrFail<JSModuleLoadSuccess, JSModuleLoadFailure>\n\nexport interface JSModuleLoaderAsync {\n  /** Load module (async) */\n  (moduleName: string, context: QuickJSAsyncContext):\n    | JSModuleLoadResult\n    | Promise<JSModuleLoadResult>\n}\nexport interface JSModuleLoader {\n  /** Load module (sync) */\n  (moduleName: string, context: QuickJSContext): JSModuleLoadResult\n}\n\nexport type JSModuleNormalizeSuccess = string\nexport type JSModuleNormalizeFailure = Error | QuickJSHandle\nexport type JSModuleNormalizeResult =\n  | JSModuleNormalizeSuccess\n  | SuccessOrFail<JSModuleNormalizeSuccess, JSModuleNormalizeFailure>\n\nexport interface JSModuleNormalizerAsync {\n  (baseModuleName: string, requestedName: string, vm: QuickJSAsyncContext):\n    | JSModuleNormalizeResult\n    | Promise<JSModuleNormalizeResult>\n}\nexport interface JSModuleNormalizer extends JSModuleNormalizerAsync {\n  (baseModuleName: string, requestedName: string, vm: QuickJSContext): JSModuleNormalizeResult\n}\n\ntype TODO<hint extends string = \"?\", typeHint = unknown> = never\n\nconst UnstableSymbol = Symbol(\"Unstable\")\n\nexport type PartiallyImplemented<T> = never &\n  T & {\n    [UnstableSymbol]: \"This feature may unimplemented, broken, throw errors, etc.\"\n  }\n\nexport interface RuntimeOptionsBase {\n  interruptHandler?: InterruptHandler\n  maxStackSizeBytes?: number\n  memoryLimitBytes?: number\n\n  promiseRejectionHandler?: TODO<\"JSHostPromiseRejectionTracker\">\n  runtimeInfo?: TODO<\"JS_SetRuntimeInfo\", string>\n  gcThreshold?: TODO<\"JS_SetGCThreshold\", number>\n  sharedArrayBufferFunctions?: TODO<\n    \"JS_SetJSSharedArrayBufferFunctions\",\n    { sab_alloc: TODO; sab_free: TODO; sab_dup: TODO; sab_opaque: TODO }\n  >\n\n  /**\n   * Extra lifetimes the runtime should dispose of after it is destroyed.\n   * @private\n   */\n  ownedLifetimes?: Disposable[]\n}\n\nexport interface RuntimeOptions extends RuntimeOptionsBase {\n  moduleLoader?: JSModuleLoader\n}\n\nexport interface AsyncRuntimeOptions extends RuntimeOptionsBase {\n  moduleLoader?: JSModuleLoaderAsync | JSModuleLoader\n}\n\n/**\n * Work in progress.\n */\nexport type Intrinsic =\n  | \"BaseObjects\"\n  | \"Date\"\n  | \"Eval\"\n  | \"StringNormalize\"\n  | \"RegExp\"\n  | \"RegExpCompiler\"\n  | \"JSON\"\n  | \"Proxy\"\n  | \"MapSet\"\n  | \"TypedArrays\"\n  | \"Promise\"\n  | \"BigInt\"\n  | \"BigFloat\"\n  | \"BigDecimal\"\n  | \"OperatorOverloading\"\n  | \"BignumExt\"\n\n// For informational purposes\nconst DefaultIntrinsicsList = [\n  \"BaseObjects\",\n  \"Date\",\n  \"Eval\",\n  \"StringNormalize\",\n  \"RegExp\",\n  \"JSON\",\n  \"Proxy\",\n  \"MapSet\",\n  \"TypedArrays\",\n  \"Promise\",\n] as const\n\n/**\n * Work in progress.\n */\nexport const DefaultIntrinsics = Symbol(\"DefaultIntrinsics\")\n\nexport interface ContextOptions {\n  /**\n   * What built-in objects and language features to enable?\n   * If unset, the default intrinsics will be used.\n   * To omit all intrinsics, pass an empty array.\n   */\n  intrinsics?: PartiallyImplemented<Intrinsic[]> | typeof DefaultIntrinsics\n\n  /**\n   * Wrap the provided context instead of constructing a new one.\n   * @private\n   */\n  contextPointer?: JSContextPointer\n\n  /**\n   * Extra lifetimes the context should dispose of after it is destroyed.\n   * @private\n   */\n  ownedLifetimes?: Disposable[]\n}\n\nexport interface ContextEvalOptions {\n  /** Global code (default) */\n  type?: \"global\" | \"module\"\n  /** Force \"strict\" mode */\n  strict?: boolean\n  /** Force \"strip\" mode */\n  strip?: boolean\n  /**\n   * compile but do not run. The result is an object with a\n   * JS_TAG_FUNCTION_BYTECODE or JS_TAG_MODULE tag. It can be executed\n   * with JS_EvalFunction().\n   */\n  compileOnly?: boolean\n  /** don't include the stack frames before this eval in the Error() backtraces */\n  backtraceBarrier?: boolean\n}\n\n/** Convert [[ContextEvalOptions]] to a bitfield flags */\nexport function evalOptionsToFlags(evalOptions: ContextEvalOptions | number | undefined): number {\n  if (typeof evalOptions === \"number\") {\n    return evalOptions\n  }\n\n  if (evalOptions === undefined) {\n    return 0\n  }\n\n  const { type, strict, strip, compileOnly, backtraceBarrier } = evalOptions\n  let flags = 0\n  if (type === \"global\") flags |= EvalFlags.JS_EVAL_TYPE_GLOBAL\n  if (type === \"module\") flags |= EvalFlags.JS_EVAL_TYPE_MODULE\n  if (strict) flags |= EvalFlags.JS_EVAL_FLAG_STRICT\n  if (strip) flags |= EvalFlags.JS_EVAL_FLAG_STRIP\n  if (compileOnly) flags |= EvalFlags.JS_EVAL_FLAG_COMPILE_ONLY\n  if (backtraceBarrier) flags |= EvalFlags.JS_EVAL_FLAG_BACKTRACE_BARRIER\n  return flags\n}\n\nexport type PromiseExecutor<ResolveT, RejectT> = (\n  resolve: (value: ResolveT | PromiseLike<ResolveT>) => void,\n  reject: (reason: RejectT) => void\n) => void\n\nexport function concat<T>(...values: Array<T[] | T | undefined>): T[] {\n  let result: T[] = []\n  for (const value of values) {\n    if (value !== undefined) {\n      result = result.concat(value)\n    }\n  }\n  return result\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/variants.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/variants.d.ts
new file mode 100644
index 0000000..9983884
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/variants.d.ts
@@ -0,0 +1,113 @@
+import type { QuickJSFFI as ReleaseSyncFFI } from "./generated/ffi.WASM_RELEASE_SYNC";
+import type { EmscriptenModuleLoader, QuickJSEmscriptenModule, QuickJSAsyncEmscriptenModule } from "./emscripten-types";
+import type { QuickJSWASMModule } from "./module";
+import type { QuickJSAsyncWASMModule } from "./module-asyncify";
+/** @private */
+export type QuickJSFFI = ReleaseSyncFFI;
+/** @private */
+export type QuickJSFFIConstructor = typeof ReleaseSyncFFI;
+/** @private */
+export type QuickJSAsyncFFI = any;
+/** @private */
+export type QuickJSAsyncFFIConstructor = any;
+/**
+ * quickjs-emscripten provides multiple build variants of the core WebAssembly
+ * module. These variants are each intended for a different use case.
+ *
+ * To create an instance of the library using a specific build variant, pass the
+ * build variant to {@link newQuickJSWASMModule} or {@link newQuickJSAsyncWASMModule}.
+ *
+ * Synchronous build variants:
+ *
+ * - {@link RELEASE_SYNC} - This is the default synchronous variant, for general purpose use.
+ * - {@link DEBUG_SYNC} - Synchronous build variant for debugging memory leaks.
+ */
+export interface SyncBuildVariant {
+    type: "sync";
+    importFFI: () => Promise<QuickJSFFIConstructor>;
+    importModuleLoader: () => Promise<EmscriptenModuleLoader<QuickJSEmscriptenModule>>;
+}
+/**
+ * quickjs-emscripten provides multiple build variants of the core WebAssembly
+ * module. These variants are each intended for a different use case.
+ *
+ * To create an instance of the library using a specific build variant, pass the
+ * build variant to {@link newQuickJSWASMModule} or {@link newQuickJSAsyncWASMModule}.
+ *
+ * Asyncified build variants:
+ *
+ * - {@link RELEASE_ASYNC} - This is the default asyncified build variant, for general purpose use.
+ * - {@link DEBUG_ASYNC} - Asyncified build variant with debug logging.
+ */
+export interface AsyncBuildVariant {
+    type: "async";
+    importFFI: () => Promise<QuickJSAsyncFFIConstructor>;
+    importModuleLoader: () => Promise<EmscriptenModuleLoader<QuickJSAsyncEmscriptenModule>>;
+}
+/**
+ * Create a new, completely isolated WebAssembly module containing the QuickJS library.
+ * See the documentation on [[QuickJSWASMModule]].
+ *
+ * Note that there is a hard limit on the number of WebAssembly modules in older
+ * versions of v8:
+ * https://bugs.chromium.org/p/v8/issues/detail?id=12076
+ */
+export declare function newQuickJSWASMModule(
+/**
+ * Optionally, pass a {@link SyncBuildVariant} to construct a different WebAssembly module.
+ */
+variant?: SyncBuildVariant): Promise<QuickJSWASMModule>;
+/**
+ * Create a new, completely isolated WebAssembly module containing a version of the QuickJS library
+ * compiled with Emscripten's [ASYNCIFY](https://emscripten.org/docs/porting/asyncify.html) transform.
+ *
+ * This version of the library offers features that enable synchronous code
+ * inside the VM to interact with asynchronous code in the host environment.
+ * See the documentation on [[QuickJSAsyncWASMModule]], [[QuickJSAsyncRuntime]],
+ * and [[QuickJSAsyncContext]].
+ *
+ * Note that there is a hard limit on the number of WebAssembly modules in older
+ * versions of v8:
+ * https://bugs.chromium.org/p/v8/issues/detail?id=12076
+ */
+export declare function newQuickJSAsyncWASMModule(
+/**
+ * Optionally, pass a {@link AsyncBuildVariant} to construct a different WebAssembly module.
+ */
+variant?: AsyncBuildVariant): Promise<QuickJSAsyncWASMModule>;
+/**
+ * Helper intended to memoize the creation of a WebAssembly module.
+ * ```typescript
+ * const getDebugModule = memoizePromiseFactory(() => newQuickJSWASMModule(DEBUG_SYNC))
+ * ```
+ */
+export declare function memoizePromiseFactory<T>(fn: () => Promise<T>): () => Promise<T>;
+/**
+ * This build variant is compiled with `-fsanitize=leak`. It instruments all
+ * memory allocations and when combined with sourcemaps, can present stack trace
+ * locations where memory leaks occur.
+ *
+ * See [[TestQuickJSWASMModule]] which provides access to the leak sanitizer via
+ * {@link TestQuickJSWASMModule.assertNoMemoryAllocated}.
+ *
+ * The downside is that it's 100-1000x slower than the other variants.
+ * Suggested use case: automated testing, regression testing, and interactive
+ * debugging.
+ */
+export declare const DEBUG_SYNC: SyncBuildVariant;
+/**
+ * This is the default (synchronous) build variant.
+ * {@link getQuickJS} returns a memoized instance of this build variant.
+ */
+export declare const RELEASE_SYNC: SyncBuildVariant;
+/**
+ * The async debug build variant may or may not have the sanitizer enabled.
+ * It does print a lot of debug logs.
+ *
+ * Suggested use case: interactive debugging only.
+ */
+export declare const DEBUG_ASYNC: AsyncBuildVariant;
+/**
+ * This is the default asyncified build variant.
+ */
+export declare const RELEASE_ASYNC: AsyncBuildVariant;
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/variants.js b/node_modules/@tootallnate/quickjs-emscripten/dist/variants.js
new file mode 100644
index 0000000..4b40365
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/variants.js
@@ -0,0 +1,169 @@
+"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.RELEASE_ASYNC = exports.DEBUG_ASYNC = exports.RELEASE_SYNC = exports.DEBUG_SYNC = exports.memoizePromiseFactory = exports.newQuickJSAsyncWASMModule = exports.newQuickJSWASMModule = void 0;
+const esmHelpers_1 = require("./esmHelpers");
+/**
+ * Create a new, completely isolated WebAssembly module containing the QuickJS library.
+ * See the documentation on [[QuickJSWASMModule]].
+ *
+ * Note that there is a hard limit on the number of WebAssembly modules in older
+ * versions of v8:
+ * https://bugs.chromium.org/p/v8/issues/detail?id=12076
+ */
+async function newQuickJSWASMModule(
+/**
+ * Optionally, pass a {@link SyncBuildVariant} to construct a different WebAssembly module.
+ */
+variant = exports.RELEASE_SYNC) {
+    const [wasmModuleLoader, QuickJSFFI, { QuickJSWASMModule }] = await Promise.all([
+        variant.importModuleLoader(),
+        variant.importFFI(),
+        Promise.resolve().then(() => __importStar(require("./module.js"))).then(esmHelpers_1.unwrapTypescript),
+    ]);
+    const wasmModule = await wasmModuleLoader();
+    wasmModule.type = "sync";
+    const ffi = new QuickJSFFI(wasmModule);
+    return new QuickJSWASMModule(wasmModule, ffi);
+}
+exports.newQuickJSWASMModule = newQuickJSWASMModule;
+/**
+ * Create a new, completely isolated WebAssembly module containing a version of the QuickJS library
+ * compiled with Emscripten's [ASYNCIFY](https://emscripten.org/docs/porting/asyncify.html) transform.
+ *
+ * This version of the library offers features that enable synchronous code
+ * inside the VM to interact with asynchronous code in the host environment.
+ * See the documentation on [[QuickJSAsyncWASMModule]], [[QuickJSAsyncRuntime]],
+ * and [[QuickJSAsyncContext]].
+ *
+ * Note that there is a hard limit on the number of WebAssembly modules in older
+ * versions of v8:
+ * https://bugs.chromium.org/p/v8/issues/detail?id=12076
+ */
+async function newQuickJSAsyncWASMModule(
+/**
+ * Optionally, pass a {@link AsyncBuildVariant} to construct a different WebAssembly module.
+ */
+variant = exports.RELEASE_ASYNC) {
+    const [wasmModuleLoader, QuickJSAsyncFFI, { QuickJSAsyncWASMModule }] = await Promise.all([
+        variant.importModuleLoader(),
+        variant.importFFI(),
+        Promise.resolve().then(() => __importStar(require("./module-asyncify.js"))).then(esmHelpers_1.unwrapTypescript),
+    ]);
+    const wasmModule = await wasmModuleLoader();
+    wasmModule.type = "async";
+    const ffi = new QuickJSAsyncFFI(wasmModule);
+    return new QuickJSAsyncWASMModule(wasmModule, ffi);
+}
+exports.newQuickJSAsyncWASMModule = newQuickJSAsyncWASMModule;
+/**
+ * Helper intended to memoize the creation of a WebAssembly module.
+ * ```typescript
+ * const getDebugModule = memoizePromiseFactory(() => newQuickJSWASMModule(DEBUG_SYNC))
+ * ```
+ */
+function memoizePromiseFactory(fn) {
+    let promise;
+    return () => {
+        return (promise ?? (promise = fn()));
+    };
+}
+exports.memoizePromiseFactory = memoizePromiseFactory;
+/**
+ * This build variant is compiled with `-fsanitize=leak`. It instruments all
+ * memory allocations and when combined with sourcemaps, can present stack trace
+ * locations where memory leaks occur.
+ *
+ * See [[TestQuickJSWASMModule]] which provides access to the leak sanitizer via
+ * {@link TestQuickJSWASMModule.assertNoMemoryAllocated}.
+ *
+ * The downside is that it's 100-1000x slower than the other variants.
+ * Suggested use case: automated testing, regression testing, and interactive
+ * debugging.
+ */
+exports.DEBUG_SYNC = {
+    type: "sync",
+    async importFFI() {
+        throw new Error("not implemented");
+        // const mod = await import("./generated/ffi.WASM_DEBUG_SYNC.js")
+        // return unwrapTypescript(mod).QuickJSFFI
+    },
+    async importModuleLoader() {
+        throw new Error("not implemented");
+        // const mod = await import("./generated/emscripten-module.WASM_DEBUG_SYNC.js")
+        // return unwrapJavascript(mod).default
+    },
+};
+/**
+ * This is the default (synchronous) build variant.
+ * {@link getQuickJS} returns a memoized instance of this build variant.
+ */
+exports.RELEASE_SYNC = {
+    type: "sync",
+    async importFFI() {
+        const mod = await Promise.resolve().then(() => __importStar(require("./generated/ffi.WASM_RELEASE_SYNC.js")));
+        return (0, esmHelpers_1.unwrapTypescript)(mod).QuickJSFFI;
+    },
+    async importModuleLoader() {
+        const mod = await Promise.resolve().then(() => __importStar(require("./generated/emscripten-module.WASM_RELEASE_SYNC.js")));
+        return (0, esmHelpers_1.unwrapJavascript)(mod);
+    },
+};
+/**
+ * The async debug build variant may or may not have the sanitizer enabled.
+ * It does print a lot of debug logs.
+ *
+ * Suggested use case: interactive debugging only.
+ */
+exports.DEBUG_ASYNC = {
+    type: "async",
+    async importFFI() {
+        throw new Error("not implemented");
+        // const mod = await import("./generated/ffi.WASM_DEBUG_ASYNCIFY.js")
+        // return unwrapTypescript(mod).QuickJSAsyncFFI
+    },
+    async importModuleLoader() {
+        throw new Error("not implemented");
+        // const mod = await import("./generated/emscripten-module.WASM_DEBUG_ASYNCIFY.js")
+        // return unwrapJavascript(mod).default
+    },
+};
+/**
+ * This is the default asyncified build variant.
+ */
+exports.RELEASE_ASYNC = {
+    type: "async",
+    async importFFI() {
+        throw new Error("not implemented");
+        // const mod = await import("./generated/ffi.WASM_RELEASE_ASYNCIFY.js")
+        // return unwrapTypescript(mod).QuickJSAsyncFFI
+    },
+    async importModuleLoader() {
+        throw new Error("not implemented");
+        // const mod = await import("./generated/emscripten-module.WASM_RELEASE_ASYNCIFY.js")
+        // return unwrapJavascript(mod).default
+    },
+};
+//# sourceMappingURL=variants.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/variants.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/variants.js.map
new file mode 100644
index 0000000..788253f
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/variants.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"variants.js","sourceRoot":"","sources":["../ts/variants.ts"],"names":[],"mappings":"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","sourcesContent":["//import type { QuickJSAsyncFFI as DebugAsyncifyFFI } from \"./generated/ffi.WASM_DEBUG_ASYNCIFY\"\n//import type { QuickJSAsyncFFI as ReleaseAsyncifyFFI } from \"./generated/ffi.WASM_RELEASE_ASYNCIFY\"\n//import type { QuickJSFFI as DebugSyncFFI } from \"./generated/ffi.WASM_DEBUG_SYNC\"\nimport type { QuickJSFFI as ReleaseSyncFFI } from \"./generated/ffi.WASM_RELEASE_SYNC\"\nimport type {\n  EmscriptenModuleLoader,\n  QuickJSEmscriptenModule,\n  QuickJSAsyncEmscriptenModule,\n} from \"./emscripten-types\"\nimport type { QuickJSWASMModule } from \"./module\"\nimport type { QuickJSAsyncWASMModule } from \"./module-asyncify\"\nimport { unwrapTypescript, unwrapJavascript } from \"./esmHelpers\"\n\n/** @private */\nexport type QuickJSFFI = ReleaseSyncFFI\n/** @private */\nexport type QuickJSFFIConstructor = typeof ReleaseSyncFFI\n/** @private */\nexport type QuickJSAsyncFFI = any\n/** @private */\nexport type QuickJSAsyncFFIConstructor = any\n\n/**\n * quickjs-emscripten provides multiple build variants of the core WebAssembly\n * module. These variants are each intended for a different use case.\n *\n * To create an instance of the library using a specific build variant, pass the\n * build variant to {@link newQuickJSWASMModule} or {@link newQuickJSAsyncWASMModule}.\n *\n * Synchronous build variants:\n *\n * - {@link RELEASE_SYNC} - This is the default synchronous variant, for general purpose use.\n * - {@link DEBUG_SYNC} - Synchronous build variant for debugging memory leaks.\n */\nexport interface SyncBuildVariant {\n  type: \"sync\"\n  importFFI: () => Promise<QuickJSFFIConstructor>\n  importModuleLoader: () => Promise<EmscriptenModuleLoader<QuickJSEmscriptenModule>>\n}\n\n/**\n * quickjs-emscripten provides multiple build variants of the core WebAssembly\n * module. These variants are each intended for a different use case.\n *\n * To create an instance of the library using a specific build variant, pass the\n * build variant to {@link newQuickJSWASMModule} or {@link newQuickJSAsyncWASMModule}.\n *\n * Asyncified build variants:\n *\n * - {@link RELEASE_ASYNC} - This is the default asyncified build variant, for general purpose use.\n * - {@link DEBUG_ASYNC} - Asyncified build variant with debug logging.\n */\nexport interface AsyncBuildVariant {\n  type: \"async\"\n  importFFI: () => Promise<QuickJSAsyncFFIConstructor>\n  importModuleLoader: () => Promise<EmscriptenModuleLoader<QuickJSAsyncEmscriptenModule>>\n}\n\n/**\n * Create a new, completely isolated WebAssembly module containing the QuickJS library.\n * See the documentation on [[QuickJSWASMModule]].\n *\n * Note that there is a hard limit on the number of WebAssembly modules in older\n * versions of v8:\n * https://bugs.chromium.org/p/v8/issues/detail?id=12076\n */\nexport async function newQuickJSWASMModule(\n  /**\n   * Optionally, pass a {@link SyncBuildVariant} to construct a different WebAssembly module.\n   */\n  variant: SyncBuildVariant = RELEASE_SYNC\n): Promise<QuickJSWASMModule> {\n  const [wasmModuleLoader, QuickJSFFI, { QuickJSWASMModule }] = await Promise.all([\n    variant.importModuleLoader(),\n    variant.importFFI(),\n    import(\"./module.js\").then(unwrapTypescript),\n  ])\n  const wasmModule = await wasmModuleLoader()\n  wasmModule.type = \"sync\"\n  const ffi = new QuickJSFFI(wasmModule)\n  return new QuickJSWASMModule(wasmModule, ffi)\n}\n\n/**\n * Create a new, completely isolated WebAssembly module containing a version of the QuickJS library\n * compiled with Emscripten's [ASYNCIFY](https://emscripten.org/docs/porting/asyncify.html) transform.\n *\n * This version of the library offers features that enable synchronous code\n * inside the VM to interact with asynchronous code in the host environment.\n * See the documentation on [[QuickJSAsyncWASMModule]], [[QuickJSAsyncRuntime]],\n * and [[QuickJSAsyncContext]].\n *\n * Note that there is a hard limit on the number of WebAssembly modules in older\n * versions of v8:\n * https://bugs.chromium.org/p/v8/issues/detail?id=12076\n */\nexport async function newQuickJSAsyncWASMModule(\n  /**\n   * Optionally, pass a {@link AsyncBuildVariant} to construct a different WebAssembly module.\n   */\n  variant: AsyncBuildVariant = RELEASE_ASYNC\n): Promise<QuickJSAsyncWASMModule> {\n  const [wasmModuleLoader, QuickJSAsyncFFI, { QuickJSAsyncWASMModule }] = await Promise.all([\n    variant.importModuleLoader(),\n    variant.importFFI(),\n    import(\"./module-asyncify.js\").then(unwrapTypescript),\n  ])\n  const wasmModule = await wasmModuleLoader()\n  wasmModule.type = \"async\"\n  const ffi = new QuickJSAsyncFFI(wasmModule)\n  return new QuickJSAsyncWASMModule(wasmModule, ffi)\n}\n\n/**\n * Helper intended to memoize the creation of a WebAssembly module.\n * ```typescript\n * const getDebugModule = memoizePromiseFactory(() => newQuickJSWASMModule(DEBUG_SYNC))\n * ```\n */\nexport function memoizePromiseFactory<T>(fn: () => Promise<T>): () => Promise<T> {\n  let promise: Promise<T> | undefined\n  return () => {\n    return (promise ??= fn())\n  }\n}\n\n/**\n * This build variant is compiled with `-fsanitize=leak`. It instruments all\n * memory allocations and when combined with sourcemaps, can present stack trace\n * locations where memory leaks occur.\n *\n * See [[TestQuickJSWASMModule]] which provides access to the leak sanitizer via\n * {@link TestQuickJSWASMModule.assertNoMemoryAllocated}.\n *\n * The downside is that it's 100-1000x slower than the other variants.\n * Suggested use case: automated testing, regression testing, and interactive\n * debugging.\n */\nexport const DEBUG_SYNC: SyncBuildVariant = {\n  type: \"sync\",\n  async importFFI() {\n    throw new Error(\"not implemented\")\n    // const mod = await import(\"./generated/ffi.WASM_DEBUG_SYNC.js\")\n    // return unwrapTypescript(mod).QuickJSFFI\n  },\n  async importModuleLoader() {\n    throw new Error(\"not implemented\")\n    // const mod = await import(\"./generated/emscripten-module.WASM_DEBUG_SYNC.js\")\n    // return unwrapJavascript(mod).default\n  },\n}\n\n/**\n * This is the default (synchronous) build variant.\n * {@link getQuickJS} returns a memoized instance of this build variant.\n */\nexport const RELEASE_SYNC: SyncBuildVariant = {\n  type: \"sync\",\n  async importFFI() {\n    const mod = await import(\"./generated/ffi.WASM_RELEASE_SYNC.js\")\n    return unwrapTypescript(mod).QuickJSFFI\n  },\n  async importModuleLoader() {\n    const mod = await import(\"./generated/emscripten-module.WASM_RELEASE_SYNC.js\")\n    return unwrapJavascript(mod)\n  },\n}\n\n/**\n * The async debug build variant may or may not have the sanitizer enabled.\n * It does print a lot of debug logs.\n *\n * Suggested use case: interactive debugging only.\n */\nexport const DEBUG_ASYNC: AsyncBuildVariant = {\n  type: \"async\",\n  async importFFI() {\n    throw new Error(\"not implemented\")\n    // const mod = await import(\"./generated/ffi.WASM_DEBUG_ASYNCIFY.js\")\n    // return unwrapTypescript(mod).QuickJSAsyncFFI\n  },\n  async importModuleLoader() {\n    throw new Error(\"not implemented\")\n    // const mod = await import(\"./generated/emscripten-module.WASM_DEBUG_ASYNCIFY.js\")\n    // return unwrapJavascript(mod).default\n  },\n}\n\n/**\n * This is the default asyncified build variant.\n */\nexport const RELEASE_ASYNC: AsyncBuildVariant = {\n  type: \"async\",\n  async importFFI() {\n    throw new Error(\"not implemented\")\n    // const mod = await import(\"./generated/ffi.WASM_RELEASE_ASYNCIFY.js\")\n    // return unwrapTypescript(mod).QuickJSAsyncFFI\n  },\n  async importModuleLoader() {\n    throw new Error(\"not implemented\")\n    // const mod = await import(\"./generated/emscripten-module.WASM_RELEASE_ASYNCIFY.js\")\n    // return unwrapJavascript(mod).default\n  },\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/vm-interface.d.ts b/node_modules/@tootallnate/quickjs-emscripten/dist/vm-interface.d.ts
new file mode 100644
index 0000000..658687f
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/vm-interface.d.ts
@@ -0,0 +1,68 @@
+/**
+ * Used as an optional.
+ * `{ value: S } | { error: E }`.
+ */
+export type SuccessOrFail<S, F> = {
+    value: S;
+    error?: undefined;
+} | {
+    error: F;
+};
+export declare function isSuccess<S, F>(successOrFail: SuccessOrFail<S, F>): successOrFail is {
+    value: S;
+};
+export declare function isFail<S, F>(successOrFail: SuccessOrFail<S, F>): successOrFail is {
+    error: F;
+};
+/**
+ * Used as an optional for results of a Vm call.
+ * `{ value: VmHandle } | { error: VmHandle }`.
+ */
+export type VmCallResult<VmHandle> = SuccessOrFail<VmHandle, VmHandle>;
+/**
+ * A VmFunctionImplementation takes handles as arguments.
+ * It should return a handle, or be void.
+ *
+ * To indicate an exception, a VMs can throw either a handle (transferred
+ * directly) or any other Javascript value (only the poperties `name` and
+ * `message` will be transferred). Or, the VmFunctionImplementation may return
+ * a VmCallResult's `{ error: handle }` error variant.
+ *
+ * VmFunctionImplementation should not free its arguments or its return value.
+ * It should not retain a reference to its return value or thrown error.
+ */
+export type VmFunctionImplementation<VmHandle> = (this: VmHandle, ...args: VmHandle[]) => VmHandle | VmCallResult<VmHandle> | void;
+/**
+ * A minimal interface to a Javascript execution environment.
+ *
+ * Higher-level tools should build over the LowLevelJavascriptVm interface to
+ * share as much as possible between executors.
+ *
+ * From https://www.figma.com/blog/how-we-built-the-figma-plugin-system/
+ */
+export interface LowLevelJavascriptVm<VmHandle> {
+    global: VmHandle;
+    undefined: VmHandle;
+    typeof(handle: VmHandle): string;
+    getNumber(handle: VmHandle): number;
+    getString(handle: VmHandle): string;
+    newNumber(value: number): VmHandle;
+    newString(value: string): VmHandle;
+    newObject(prototype?: VmHandle): VmHandle;
+    newFunction(name: string, value: VmFunctionImplementation<VmHandle>): VmHandle;
+    getProp(handle: VmHandle, key: string | VmHandle): VmHandle;
+    setProp(handle: VmHandle, key: string | VmHandle, value: VmHandle): void;
+    defineProp(handle: VmHandle, key: string | VmHandle, descriptor: VmPropertyDescriptor<VmHandle>): void;
+    callFunction(func: VmHandle, thisVal: VmHandle, ...args: VmHandle[]): VmCallResult<VmHandle>;
+    evalCode(code: string, filename?: string): VmCallResult<VmHandle>;
+}
+/**
+ * From https://www.figma.com/blog/how-we-built-the-figma-plugin-system/
+ */
+export interface VmPropertyDescriptor<VmHandle> {
+    value?: VmHandle;
+    configurable?: boolean;
+    enumerable?: boolean;
+    get?: (this: VmHandle) => VmHandle;
+    set?: (this: VmHandle, value: VmHandle) => void;
+}
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/vm-interface.js b/node_modules/@tootallnate/quickjs-emscripten/dist/vm-interface.js
new file mode 100644
index 0000000..b2b7334
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/vm-interface.js
@@ -0,0 +1,12 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.isFail = exports.isSuccess = void 0;
+function isSuccess(successOrFail) {
+    return "error" in successOrFail === false;
+}
+exports.isSuccess = isSuccess;
+function isFail(successOrFail) {
+    return "error" in successOrFail === true;
+}
+exports.isFail = isFail;
+//# sourceMappingURL=vm-interface.js.map
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/dist/vm-interface.js.map b/node_modules/@tootallnate/quickjs-emscripten/dist/vm-interface.js.map
new file mode 100644
index 0000000..605d4d3
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/dist/vm-interface.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"vm-interface.js","sourceRoot":"","sources":["../ts/vm-interface.ts"],"names":[],"mappings":";;;AAaA,SAAgB,SAAS,CAAO,aAAkC;IAChE,OAAO,OAAO,IAAI,aAAa,KAAK,KAAK,CAAA;AAC3C,CAAC;AAFD,8BAEC;AAED,SAAgB,MAAM,CAAO,aAAkC;IAC7D,OAAO,OAAO,IAAI,aAAa,KAAK,IAAI,CAAA;AAC1C,CAAC;AAFD,wBAEC","sourcesContent":["/**\n * Used as an optional.\n * `{ value: S } | { error: E }`.\n */\nexport type SuccessOrFail<S, F> =\n  | {\n      value: S\n      error?: undefined\n    }\n  | {\n      error: F\n    }\n\nexport function isSuccess<S, F>(successOrFail: SuccessOrFail<S, F>): successOrFail is { value: S } {\n  return \"error\" in successOrFail === false\n}\n\nexport function isFail<S, F>(successOrFail: SuccessOrFail<S, F>): successOrFail is { error: F } {\n  return \"error\" in successOrFail === true\n}\n\n/**\n * Used as an optional for results of a Vm call.\n * `{ value: VmHandle } | { error: VmHandle }`.\n */\nexport type VmCallResult<VmHandle> = SuccessOrFail<VmHandle, VmHandle>\n\n/**\n * A VmFunctionImplementation takes handles as arguments.\n * It should return a handle, or be void.\n *\n * To indicate an exception, a VMs can throw either a handle (transferred\n * directly) or any other Javascript value (only the poperties `name` and\n * `message` will be transferred). Or, the VmFunctionImplementation may return\n * a VmCallResult's `{ error: handle }` error variant.\n *\n * VmFunctionImplementation should not free its arguments or its return value.\n * It should not retain a reference to its return value or thrown error.\n */\nexport type VmFunctionImplementation<VmHandle> = (\n  this: VmHandle,\n  ...args: VmHandle[]\n) => VmHandle | VmCallResult<VmHandle> | void\n\n/**\n * A minimal interface to a Javascript execution environment.\n *\n * Higher-level tools should build over the LowLevelJavascriptVm interface to\n * share as much as possible between executors.\n *\n * From https://www.figma.com/blog/how-we-built-the-figma-plugin-system/\n */\nexport interface LowLevelJavascriptVm<VmHandle> {\n  global: VmHandle\n  undefined: VmHandle\n\n  typeof(handle: VmHandle): string\n\n  getNumber(handle: VmHandle): number\n  getString(handle: VmHandle): string\n\n  newNumber(value: number): VmHandle\n  newString(value: string): VmHandle\n  newObject(prototype?: VmHandle): VmHandle\n  newFunction(name: string, value: VmFunctionImplementation<VmHandle>): VmHandle\n\n  // For accessing properties of objects\n  getProp(handle: VmHandle, key: string | VmHandle): VmHandle\n  setProp(handle: VmHandle, key: string | VmHandle, value: VmHandle): void\n  defineProp(\n    handle: VmHandle,\n    key: string | VmHandle,\n    descriptor: VmPropertyDescriptor<VmHandle>\n  ): void\n\n  callFunction(func: VmHandle, thisVal: VmHandle, ...args: VmHandle[]): VmCallResult<VmHandle>\n  evalCode(code: string, filename?: string): VmCallResult<VmHandle>\n}\n\n/**\n * From https://www.figma.com/blog/how-we-built-the-figma-plugin-system/\n */\nexport interface VmPropertyDescriptor<VmHandle> {\n  value?: VmHandle\n  configurable?: boolean\n  enumerable?: boolean\n  get?: (this: VmHandle) => VmHandle\n  set?: (this: VmHandle, value: VmHandle) => void\n}\n"]}
\ No newline at end of file
diff --git a/node_modules/@tootallnate/quickjs-emscripten/package.json b/node_modules/@tootallnate/quickjs-emscripten/package.json
new file mode 100644
index 0000000..39c152b
--- /dev/null
+++ b/node_modules/@tootallnate/quickjs-emscripten/package.json
@@ -0,0 +1,60 @@
+{
+  "name": "@tootallnate/quickjs-emscripten",
+  "version": "0.23.0",
+  "main": "dist/index.js",
+  "sideEffects": false,
+  "license": "MIT",
+  "keywords": [
+    "eval",
+    "quickjs",
+    "vm",
+    "interpreter",
+    "runtime",
+    "safe",
+    "emscripten",
+    "wasm"
+  ],
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/justjake/quickjs-emscripten"
+  },
+  "files": [
+    "c/interface.c",
+    "dist/**/*",
+    "!dist/*.test.js",
+    "!dist/*.tsbuildinfo"
+  ],
+  "scripts": {
+    "tarball": "make build/quickjs-emscripten.tgz",
+    "clean": "make clean",
+    "tsc": "node_modules/.bin/tsc",
+    "build": "make dist",
+    "doc": "typedoc",
+    "test": "TS_NODE_TRANSPILE_ONLY=true mocha 'ts/**/*.test.ts'",
+    "test-dist": "cd dist && TS_NODE_TRANSPILE_ONLY=true mocha --require source-map-support/register *.test.js",
+    "test-fast": "TEST_NO_ASYNC=true yarn test 'ts/**/*.test.ts'",
+    "test-all": "TEST_LEAK=1 yarn test && TEST_LEAK=1 yarn test-dist",
+    "prettier": "prettier --write .",
+    "prettier-check": "prettier --check .",
+    "update-quickjs": "git subtree pull --prefix=quickjs --squash [email protected]:bellard/quickjs.git master",
+    "smoketest-node": "yarn tarball && ./scripts/smoketest-node.sh",
+    "smoketest-cra": "yarn tarball && ./scripts/smoketest-website.sh"
+  },
+  "devDependencies": {
+    "@types/emscripten": "^1.38.0",
+    "@types/fs-extra": "^9.0.13",
+    "@types/mocha": "^5.2.7",
+    "@types/node": "^13.1.4",
+    "fs-extra": "^10.0.1",
+    "markserv": "^1.17.4",
+    "mocha": "7.2.0",
+    "node-fetch-commonjs": "^3.1.1",
+    "prettier": "2.8.4",
+    "source-map-support": "^0.5.21",
+    "ts-node": "^10.9.1",
+    "typedoc": "^0.22.0",
+    "typedoc-plugin-inline-sources": "^1.0.1",
+    "typedoc-plugin-markdown": "^3.11.12",
+    "typescript": "^4.9.5"
+  }
+}
diff --git a/node_modules/basic-ftp/LICENSE.txt b/node_modules/basic-ftp/LICENSE.txt
new file mode 100644
index 0000000..804e800
--- /dev/null
+++ b/node_modules/basic-ftp/LICENSE.txt
@@ -0,0 +1,19 @@
+Copyright (c) 2019 Patrick Juchli
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/node_modules/basic-ftp/README.md b/node_modules/basic-ftp/README.md
new file mode 100644
index 0000000..db1051e
--- /dev/null
+++ b/node_modules/basic-ftp/README.md
@@ -0,0 +1,242 @@
+# Basic FTP
+
+[![npm version](https://img.shields.io/npm/v/basic-ftp.svg)](https://www.npmjs.com/package/basic-ftp)
+[![npm downloads](https://img.shields.io/npm/dm/basic-ftp)](https://www.npmjs.com/package/basic-ftp)
+[![Node.js CI](https://github.com/patrickjuchli/basic-ftp/actions/workflows/nodejs.yml/badge.svg)](https://github.com/patrickjuchli/basic-ftp/actions/workflows/nodejs.yml)
+
+This is an FTP client library for Node.js. It supports FTPS over TLS, Passive Mode over IPv6, has a Promise-based API, and offers methods to operate on whole directories.
+
+## Advisory
+
+Prefer alternative transfer protocols like HTTPS or SFTP (SSH). FTP is a an old protocol with some reliability issues. Use this library when you have no choice and need to use FTP. Try to use FTPS (FTP over TLS) whenever possible, FTP alone does not provide any security.
+
+## Dependencies
+
+Node 10.0 or later is the only dependency.
+
+## Installation
+
+`npm install basic-ftp`
+
+## Usage
+
+The first example will connect to an FTP server using TLS (FTPS), get a directory listing, upload a file and download it as a copy. Note that the FTP protocol doesn't allow multiple requests running in parallel.
+
+```js
+const ftp = require("basic-ftp") 
+// ESM: import * as ftp from "basic-ftp"
+
+example()
+
+async function example() {
+    const client = new ftp.Client()
+    client.ftp.verbose = true
+    try {
+        await client.access({
+            host: "myftpserver.com",
+            user: "very",
+            password: "password",
+            secure: true
+        })
+        console.log(await client.list())
+        await client.uploadFrom("README.md", "README_FTP.md")
+        await client.downloadTo("README_COPY.md", "README_FTP.md")
+    }
+    catch(err) {
+        console.log(err)
+    }
+    client.close()
+}
+```
+
+The next example deals with directories and their content. First, we make sure a remote path exists, creating all directories as necessary. Then, we make sure it's empty and upload the contents of a local directory.
+
+```js
+await client.ensureDir("my/remote/directory")
+await client.clearWorkingDir()
+await client.uploadFromDir("my/local/directory")
+```
+
+If you encounter a problem, it may help to log out all communication with the FTP server.
+
+```js
+client.ftp.verbose = true
+```
+
+## Client API
+
+`new Client(timeout = 30000)`
+
+Create a client instance. Configure it with a timeout in milliseconds that will be used for any connection made. Use 0 to disable timeouts, default is 30 seconds.
+
+`close()`
+
+Close the client and any open connection. The client can’t be used anymore after calling this method, you'll have to reconnect with `access` to continue any work. A client is also closed automatically if any timeout or connection error occurs. See the section on [Error Handling](#error-handling) below.
+
+`closed`
+
+True if the client is not connected to a server. You can reconnect with `access`.
+
+`access(options): Promise<FTPResponse>`
+
+Get access to an FTP server. This method will connect to a server, optionally secure the connection with TLS, login a user and apply some default settings (TYPE I, STRU F, PBSZ 0, PROT P). It returns the response of the initial connect command. This is an instance method and thus can be called multiple times during the lifecycle of a `Client` instance. Whenever you do, the client is reset with a new connection. This also implies that you can reopen a `Client` instance that has been closed due to an error when reconnecting with this method. The available options are:
+
+- `host (string)` Server host, default: localhost
+- `port (number)` Server port, default: 21
+- `user (string)` Username, default: anonymous
+- `password (string)` Password, default: guest
+- `secure (boolean | "implicit")` Explicit FTPS over TLS, default: false. Use "implicit" if you need support for legacy implicit FTPS.
+- `secureOptions` Options for TLS, same as for [tls.connect()](https://nodejs.org/api/tls.html#tls_tls_connect_options_callback) in Node.js.
+
+---
+
+`features(): Promise<Map<string, string>>`
+
+Get a description of supported features. This will return a Map where keys correspond to FTP commands and values contain further details. If the FTP server doesn't support this request you'll still get an empty Map instead of an error response.
+
+`send(command): Promise<FTPResponse>`
+
+Send an FTP command and return the first response.
+
+`sendIgnoringError(command): Promise<FTPResponse>`
+
+Send an FTP command, return the first response, and ignore an FTP error response. Any other error or timeout will still reject the Promise.
+
+`cd(path): Promise<FTPResponse>`
+
+Change the current working directory.
+
+`pwd(): Promise<string>`
+
+Get the path of the current working directory.
+
+`list([path]): Promise<FileInfo[]>`
+
+List files and directories in the current working directory, or at `path` if specified. Currently, this library only supports MLSD, Unix and DOS directory listings. See [FileInfo](src/FileInfo.ts) for more details.
+
+`lastMod(path): Promise<Date>`
+
+Get the last modification time of a file. This command might not be supported by your FTP server and throw an exception.
+
+`size(path): Promise<number>`
+
+Get the size of a file in bytes.
+
+`rename(path, newPath): Promise<FTPResponse>`
+
+Rename a file. Depending on the server you may also use this to move a file to another directory by providing full paths.
+
+`remove(path): Promise<FTPResponse>`
+
+Remove a file.
+
+`uploadFrom(readableStream | localPath, remotePath, [options]): Promise<FTPResponse>`
+
+Upload data from a readable stream or a local file to a remote file. If such a file already exists it will be overwritten. If a file is being uploaded, additional options offer `localStart` and `localEndInclusive` to only upload parts of it.
+
+`appendFrom(readableStream | localPath, remotePath, [options]): Promise<FTPResponse>`
+
+Upload data from a readable stream or a local file by appending it to an existing file. If the file doesn't exist the FTP server should create it. If a file is being uploaded, additional options offer `localStart` and `localEndInclusive` to only upload parts of it. For example: To resume a failed upload, request the size of the remote, partially uploaded file using `size()` and use it as `localStart`.
+
+`downloadTo(writableStream | localPath, remotePath, startAt = 0): Promise<FTPResponse>`
+
+Download a remote file and pipe its data to a writable stream or to a local file. You can optionally define at which position of the remote file you'd like to start downloading. If the destination you provide is a file, the offset will be applied to it as well. For example: To resume a failed download, request the size of the local, partially downloaded file and use that as `startAt`.
+
+---
+
+`ensureDir(remoteDirPath): Promise<void>`
+
+Make sure that the given `remoteDirPath` exists on the server, creating all directories as necessary. The working directory is at `remoteDirPath` after calling this method.
+
+`clearWorkingDir(): Promise<void>`
+
+Remove all files and directories from the working directory.
+
+`removeDir(remoteDirPath): Promise<void>`
+
+Remove all files and directories from a given directory, including the directory itself. The working directory stays the same unless it is part of the deleted directories.
+
+`uploadFromDir(localDirPath, [remoteDirPath]): Promise<void>`
+
+Upload the contents of a local directory to the current remote working directory. This will overwrite existing files with the same names and reuse existing directories. Unrelated files and directories will remain untouched. You can optionally provide a `remoteDirPath` to put the contents inside any remote directory which will be created if necessary including all intermediate directories. The working directory stays the same after calling this method.
+
+`downloadToDir(localDirPath, [remoteDirPath]): Promise<void>`
+
+Download all files and directories of the current working directory to a given local directory. You can optionally set a specific remote directory. The working directory stays the same after calling this method.
+
+---
+
+`trackProgress(handler)`
+
+Report any transfer progress using the given handler function. See the next section for more details.
+
+## Transfer Progress
+
+Set a callback function with `client.trackProgress` to track the progress of any transfer. Transfers are uploads, downloads or directory listings. To disable progress reporting, call `trackProgress` without a handler.
+
+```js
+// Log progress for any transfer from now on.
+client.trackProgress(info => {
+    console.log("File", info.name)
+    console.log("Type", info.type)
+    console.log("Transferred", info.bytes)
+    console.log("Transferred Overall", info.bytesOverall)
+})
+
+// Transfer some data
+await client.uploadFrom(someStream, "test.txt")
+await client.uploadFrom("somefile.txt", "test2.txt")
+
+// Set a new callback function which also resets the overall counter
+client.trackProgress(info => console.log(info.bytesOverall))
+await client.downloadToDir("local/path", "remote/path")
+
+// Stop logging
+client.trackProgress()
+```
+
+For each transfer, the callback function will receive the filename, transfer type (`upload`, `download` or `list`) and number of bytes transferred. The function will be called at a regular interval during a transfer.
+
+There is also a counter for all bytes transferred since the last time `trackProgress` was called. This is useful when downloading a directory with multiple files where you want to show the total bytes downloaded so far.
+
+## Error Handling
+
+Any error reported by the FTP server will be thrown as `FTPError`. The connection to the FTP server stays intact and you can continue to use your `Client` instance.
+
+This is different with a timeout or connection error: In addition to an `Error` being thrown, any connection to the FTP server will be closed. You’ll have to reconnect with `client.access()`, if you want to continue any work.
+
+## Logging
+
+Using `client.ftp.verbose = true` will log debug-level information to the console. You can use your own logging library by overriding `client.ftp.log`. This method is called regardless of what `client.ftp.verbose` is set to. For example:
+
+```
+myClient.ftp.log = myLogger.debug
+```
+
+## Static Types
+
+In addition to unit tests and linting, the source code is written in Typescript using rigorous [compiler settings](tsconfig.json) like `strict` and `noImplicitAny`. When building the project, the source is transpiled to Javascript and type declaration files. This makes the library useable for both Javascript and Typescript projects.
+
+## Extending the library
+
+### Client
+
+`get/set client.parseList`
+
+Provide a function to parse directory listing data. This library supports MLSD, Unix and DOS formats. Parsing these list responses is one of the more challenging parts of FTP because there is no standard that all servers adhere to. The signature of the function is `(rawList: string) => FileInfo[]`.
+
+### FTPContext
+
+The Client API described so far is implemented using an FTPContext. An FTPContext provides the foundation to write an FTP client. It holds the socket connections and provides an API to handle responses and events in a simplified way. Through `client.ftp` you get access to this context.
+
+`get/set verbose`
+
+Set the verbosity level to optionally log out all communication between the client and the server.
+
+`get/set encoding`
+
+Set the encoding applied to all incoming and outgoing messages of the control connection. This encoding is also used when parsing a list response from a data connection. See https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings for what encodings are supported by Node.js. Default is `utf8` because most modern servers support it, some of them without mentioning it when requesting features.
+
+## Acknowledgment
+
+This library uses parts of the [directory listing parsers](https://github.com/apache/commons-net/tree/master/src/main/java/org/apache/commons/net/ftp/parser) written by The Apache Software Foundation. They've been made available under the Apache 2.0 license. See the [included notice](NOTICE.txt) and headers in the respective files containing the original copyright texts and a description of changes.
diff --git a/node_modules/basic-ftp/dist/Client.d.ts b/node_modules/basic-ftp/dist/Client.d.ts
new file mode 100644
index 0000000..84d99dc
--- /dev/null
+++ b/node_modules/basic-ftp/dist/Client.d.ts
@@ -0,0 +1,332 @@
+/// <reference types="node" />
+/// <reference types="node" />
+import { Readable, Writable } from "stream";
+import { ConnectionOptions as TLSConnectionOptions } from "tls";
+import { FileInfo } from "./FileInfo";
+import { FTPContext, FTPResponse } from "./FtpContext";
+import { ProgressHandler, ProgressTracker } from "./ProgressTracker";
+import { UploadCommand } from "./transfer";
+export interface AccessOptions {
+    /** Host the client should connect to. Optional, default is "localhost". */
+    readonly host?: string;
+    /** Port the client should connect to. Optional, default is 21. */
+    readonly port?: number;
+    /** Username to use for login. Optional, default is "anonymous". */
+    readonly user?: string;
+    /** Password to use for login. Optional, default is "guest". */
+    readonly password?: string;
+    /** Use FTPS over TLS. Optional, default is false. True is preferred explicit TLS, "implicit" supports legacy, non-standardized implicit TLS. */
+    readonly secure?: boolean | "implicit";
+    /** TLS options as in [tls.connect(options)](https://nodejs.org/api/tls.html#tls_tls_connect_options_callback), optional. */
+    readonly secureOptions?: TLSConnectionOptions;
+}
+/** Prepares a data connection for transfer. */
+export type TransferStrategy = (ftp: FTPContext) => Promise<FTPResponse>;
+/** Parses raw directoy listing data. */
+export type RawListParser = (rawList: string) => FileInfo[];
+export interface UploadOptions {
+    /** Offset in the local file to start uploading from. */
+    localStart?: number;
+    /** Final byte position to include in upload from the local file. */
+    localEndInclusive?: number;
+}
+/**
+ * High-level API to interact with an FTP server.
+ */
+export declare class Client {
+    prepareTransfer: TransferStrategy;
+    parseList: RawListParser;
+    availableListCommands: readonly string[];
+    /** Low-level API to interact with FTP server. */
+    readonly ftp: FTPContext;
+    /** Tracks progress of data transfers. */
+    protected _progressTracker: ProgressTracker;
+    /**
+     * Instantiate an FTP client.
+     *
+     * @param timeout  Timeout in milliseconds, use 0 for no timeout. Optional, default is 30 seconds.
+     */
+    constructor(timeout?: number);
+    /**
+     * Close the client and all open socket connections.
+     *
+     * Close the client and all open socket connections. The client can’t be used anymore after calling this method,
+     * you have to either reconnect with `access` or `connect` or instantiate a new instance to continue any work.
+     * A client is also closed automatically if any timeout or connection error occurs.
+     */
+    close(): void;
+    /**
+     * Returns true if the client is closed and can't be used anymore.
+     */
+    get closed(): boolean;
+    /**
+     * Connect (or reconnect) to an FTP server.
+     *
+     * This is an instance method and thus can be called multiple times during the lifecycle of a `Client`
+     * instance. Whenever you do, the client is reset with a new control connection. This also implies that
+     * you can reopen a `Client` instance that has been closed due to an error when reconnecting with this
+     * method. In fact, reconnecting is the only way to continue using a closed `Client`.
+     *
+     * @param host  Host the client should connect to. Optional, default is "localhost".
+     * @param port  Port the client should connect to. Optional, default is 21.
+     */
+    connect(host?: string, port?: number): Promise<FTPResponse>;
+    /**
+     * As `connect` but using implicit TLS. Implicit TLS is not an FTP standard and has been replaced by
+     * explicit TLS. There are still FTP servers that support only implicit TLS, though.
+     */
+    connectImplicitTLS(host?: string, port?: number, tlsOptions?: TLSConnectionOptions): Promise<FTPResponse>;
+    /**
+     * Handles the first reponse by an FTP server after the socket connection has been established.
+     */
+    private _handleConnectResponse;
+    /**
+     * Send an FTP command and handle the first response.
+     */
+    send(command: string, ignoreErrorCodesDEPRECATED?: boolean): Promise<FTPResponse>;
+    /**
+     * Send an FTP command and ignore an FTP error response. Any other kind of error or timeout will still reject the Promise.
+     *
+     * @param command
+     */
+    sendIgnoringError(command: string): Promise<FTPResponse>;
+    /**
+     * Upgrade the current socket connection to TLS.
+     *
+     * @param options  TLS options as in `tls.connect(options)`, optional.
+     * @param command  Set the authentication command. Optional, default is "AUTH TLS".
+     */
+    useTLS(options?: TLSConnectionOptions, command?: string): Promise<FTPResponse>;
+    /**
+     * Login a user with a password.
+     *
+     * @param user  Username to use for login. Optional, default is "anonymous".
+     * @param password  Password to use for login. Optional, default is "guest".
+     */
+    login(user?: string, password?: string): Promise<FTPResponse>;
+    /**
+     * Set the usual default settings.
+     *
+     * Settings used:
+     * * Binary mode (TYPE I)
+     * * File structure (STRU F)
+     * * Additional settings for FTPS (PBSZ 0, PROT P)
+     */
+    useDefaultSettings(): Promise<void>;
+    /**
+     * Convenience method that calls `connect`, `useTLS`, `login` and `useDefaultSettings`.
+     *
+     * This is an instance method and thus can be called multiple times during the lifecycle of a `Client`
+     * instance. Whenever you do, the client is reset with a new control connection. This also implies that
+     * you can reopen a `Client` instance that has been closed due to an error when reconnecting with this
+     * method. In fact, reconnecting is the only way to continue using a closed `Client`.
+     */
+    access(options?: AccessOptions): Promise<FTPResponse>;
+    /**
+     * Get the current working directory.
+     */
+    pwd(): Promise<string>;
+    /**
+     * Get a description of supported features.
+     *
+     * This sends the FEAT command and parses the result into a Map where keys correspond to available commands
+     * and values hold further information. Be aware that your FTP servers might not support this
+     * command in which case this method will not throw an exception but just return an empty Map.
+     */
+    features(): Promise<Map<string, string>>;
+    /**
+     * Set the working directory.
+     */
+    cd(path: string): Promise<FTPResponse>;
+    /**
+     * Switch to the parent directory of the working directory.
+     */
+    cdup(): Promise<FTPResponse>;
+    /**
+     * Get the last modified time of a file. This is not supported by every FTP server, in which case
+     * calling this method will throw an exception.
+     */
+    lastMod(path: string): Promise<Date>;
+    /**
+     * Get the size of a file.
+     */
+    size(path: string): Promise<number>;
+    /**
+     * Rename a file.
+     *
+     * Depending on the FTP server this might also be used to move a file from one
+     * directory to another by providing full paths.
+     */
+    rename(srcPath: string, destPath: string): Promise<FTPResponse>;
+    /**
+     * Remove a file from the current working directory.
+     *
+     * You can ignore FTP error return codes which won't throw an exception if e.g.
+     * the file doesn't exist.
+     */
+    remove(path: string, ignoreErrorCodes?: boolean): Promise<FTPResponse>;
+    /**
+     * Report transfer progress for any upload or download to a given handler.
+     *
+     * This will also reset the overall transfer counter that can be used for multiple transfers. You can
+     * also call the function without a handler to stop reporting to an earlier one.
+     *
+     * @param handler  Handler function to call on transfer progress.
+     */
+    trackProgress(handler?: ProgressHandler): void;
+    /**
+     * Upload data from a readable stream or a local file to a remote file.
+     *
+     * @param source  Readable stream or path to a local file.
+     * @param toRemotePath  Path to a remote file to write to.
+     */
+    uploadFrom(source: Readable | string, toRemotePath: string, options?: UploadOptions): Promise<FTPResponse>;
+    /**
+     * Upload data from a readable stream or a local file by appending it to an existing file. If the file doesn't
+     * exist the FTP server should create it.
+     *
+     * @param source  Readable stream or path to a local file.
+     * @param toRemotePath  Path to a remote file to write to.
+     */
+    appendFrom(source: Readable | string, toRemotePath: string, options?: UploadOptions): Promise<FTPResponse>;
+    /**
+     * @protected
+     */
+    protected _uploadWithCommand(source: Readable | string, remotePath: string, command: UploadCommand, options: UploadOptions): Promise<FTPResponse>;
+    /**
+     * @protected
+     */
+    protected _uploadLocalFile(localPath: string, remotePath: string, command: UploadCommand, options: UploadOptions): Promise<FTPResponse>;
+    /**
+     * @protected
+     */
+    protected _uploadFromStream(source: Readable, remotePath: string, command: UploadCommand): Promise<FTPResponse>;
+    /**
+     * Download a remote file and pipe its data to a writable stream or to a local file.
+     *
+     * You can optionally define at which position of the remote file you'd like to start
+     * downloading. If the destination you provide is a file, the offset will be applied
+     * to it as well. For example: To resume a failed download, you'd request the size of
+     * the local, partially downloaded file and use that as the offset. Assuming the size
+     * is 23, you'd download the rest using `downloadTo("local.txt", "remote.txt", 23)`.
+     *
+     * @param destination  Stream or path for a local file to write to.
+     * @param fromRemotePath  Path of the remote file to read from.
+     * @param startAt  Position within the remote file to start downloading at. If the destination is a file, this offset is also applied to it.
+     */
+    downloadTo(destination: Writable | string, fromRemotePath: string, startAt?: number): Promise<FTPResponse>;
+    /**
+     * @protected
+     */
+    protected _downloadToFile(localPath: string, remotePath: string, startAt: number): Promise<FTPResponse>;
+    /**
+     * @protected
+     */
+    protected _downloadToStream(destination: Writable, remotePath: string, startAt: number): Promise<FTPResponse>;
+    /**
+     * List files and directories in the current working directory, or from `path` if specified.
+     *
+     * @param [path]  Path to remote file or directory.
+     */
+    list(path?: string): Promise<FileInfo[]>;
+    /**
+     * @protected
+     */
+    protected _requestListWithCommand(command: string): Promise<FileInfo[]>;
+    /**
+     * Remove a directory and all of its content.
+     *
+     * @param remoteDirPath  The path of the remote directory to delete.
+     * @example client.removeDir("foo") // Remove directory 'foo' using a relative path.
+     * @example client.removeDir("foo/bar") // Remove directory 'bar' using a relative path.
+     * @example client.removeDir("/foo/bar") // Remove directory 'bar' using an absolute path.
+     * @example client.removeDir("/") // Remove everything.
+     */
+    removeDir(remoteDirPath: string): Promise<void>;
+    /**
+     * Remove all files and directories in the working directory without removing
+     * the working directory itself.
+     */
+    clearWorkingDir(): Promise<void>;
+    /**
+     * Upload the contents of a local directory to the remote working directory.
+     *
+     * This will overwrite existing files with the same names and reuse existing directories.
+     * Unrelated files and directories will remain untouched. You can optionally provide a `remoteDirPath`
+     * to put the contents inside a directory which will be created if necessary including all
+     * intermediate directories. If you did provide a remoteDirPath the working directory will stay
+     * the same as before calling this method.
+     *
+     * @param localDirPath  Local path, e.g. "foo/bar" or "../test"
+     * @param [remoteDirPath]  Remote path of a directory to upload to. Working directory if undefined.
+     */
+    uploadFromDir(localDirPath: string, remoteDirPath?: string): Promise<void>;
+    /**
+     * @protected
+     */
+    protected _uploadToWorkingDir(localDirPath: string): Promise<void>;
+    /**
+     * Download all files and directories of the working directory to a local directory.
+     *
+     * @param localDirPath  The local directory to download to.
+     * @param remoteDirPath  Remote directory to download. Current working directory if not specified.
+     */
+    downloadToDir(localDirPath: string, remoteDirPath?: string): Promise<void>;
+    /**
+     * @protected
+     */
+    protected _downloadFromWorkingDir(localDirPath: string): Promise<void>;
+    /**
+     * Make sure a given remote path exists, creating all directories as necessary.
+     * This function also changes the current working directory to the given path.
+     */
+    ensureDir(remoteDirPath: string): Promise<void>;
+    /**
+     * Try to create a directory and enter it. This will not raise an exception if the directory
+     * couldn't be created if for example it already exists.
+     * @protected
+     */
+    protected _openDir(dirName: string): Promise<void>;
+    /**
+     * Remove an empty directory, will fail if not empty.
+     */
+    removeEmptyDir(path: string): Promise<FTPResponse>;
+    /**
+     * FTP servers can't handle filenames that have leading whitespace. This method transforms
+     * a given path to fix that issue for most cases.
+     */
+    protectWhitespace(path: string): Promise<string>;
+    protected _exitAtCurrentDirectory<T>(func: () => Promise<T>): Promise<T>;
+    /**
+     * Try all available transfer strategies and pick the first one that works. Update `client` to
+     * use the working strategy for all successive transfer requests.
+     *
+     * @returns a function that will try the provided strategies.
+     */
+    protected _enterFirstCompatibleMode(strategies: TransferStrategy[]): TransferStrategy;
+    /**
+     * DEPRECATED, use `uploadFrom`.
+     * @deprecated
+     */
+    upload(source: Readable | string, toRemotePath: string, options?: UploadOptions): Promise<FTPResponse>;
+    /**
+     * DEPRECATED, use `appendFrom`.
+     * @deprecated
+     */
+    append(source: Readable | string, toRemotePath: string, options?: UploadOptions): Promise<FTPResponse>;
+    /**
+     * DEPRECATED, use `downloadTo`.
+     * @deprecated
+     */
+    download(destination: Writable | string, fromRemotePath: string, startAt?: number): Promise<FTPResponse>;
+    /**
+     * DEPRECATED, use `uploadFromDir`.
+     * @deprecated
+     */
+    uploadDir(localDirPath: string, remoteDirPath?: string): Promise<void>;
+    /**
+     * DEPRECATED, use `downloadToDir`.
+     * @deprecated
+     */
+    downloadDir(localDirPath: string): Promise<void>;
+}
diff --git a/node_modules/basic-ftp/dist/Client.js b/node_modules/basic-ftp/dist/Client.js
new file mode 100644
index 0000000..e0644f7
--- /dev/null
+++ b/node_modules/basic-ftp/dist/Client.js
@@ -0,0 +1,767 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Client = void 0;
+const fs_1 = require("fs");
+const path_1 = require("path");
+const tls_1 = require("tls");
+const util_1 = require("util");
+const FtpContext_1 = require("./FtpContext");
+const parseList_1 = require("./parseList");
+const ProgressTracker_1 = require("./ProgressTracker");
+const StringWriter_1 = require("./StringWriter");
+const parseListMLSD_1 = require("./parseListMLSD");
+const netUtils_1 = require("./netUtils");
+const transfer_1 = require("./transfer");
+const parseControlResponse_1 = require("./parseControlResponse");
+// Use promisify to keep the library compatible with Node 8.
+const fsReadDir = (0, util_1.promisify)(fs_1.readdir);
+const fsMkDir = (0, util_1.promisify)(fs_1.mkdir);
+const fsStat = (0, util_1.promisify)(fs_1.stat);
+const fsOpen = (0, util_1.promisify)(fs_1.open);
+const fsClose = (0, util_1.promisify)(fs_1.close);
+const fsUnlink = (0, util_1.promisify)(fs_1.unlink);
+const LIST_COMMANDS_DEFAULT = ["LIST -a", "LIST"];
+const LIST_COMMANDS_MLSD = ["MLSD", "LIST -a", "LIST"];
+/**
+ * High-level API to interact with an FTP server.
+ */
+class Client {
+    /**
+     * Instantiate an FTP client.
+     *
+     * @param timeout  Timeout in milliseconds, use 0 for no timeout. Optional, default is 30 seconds.
+     */
+    constructor(timeout = 30000) {
+        this.availableListCommands = LIST_COMMANDS_DEFAULT;
+        this.ftp = new FtpContext_1.FTPContext(timeout);
+        this.prepareTransfer = this._enterFirstCompatibleMode([transfer_1.enterPassiveModeIPv6, transfer_1.enterPassiveModeIPv4]);
+        this.parseList = parseList_1.parseList;
+        this._progressTracker = new ProgressTracker_1.ProgressTracker();
+    }
+    /**
+     * Close the client and all open socket connections.
+     *
+     * Close the client and all open socket connections. The client can’t be used anymore after calling this method,
+     * you have to either reconnect with `access` or `connect` or instantiate a new instance to continue any work.
+     * A client is also closed automatically if any timeout or connection error occurs.
+     */
+    close() {
+        this.ftp.close();
+        this._progressTracker.stop();
+    }
+    /**
+     * Returns true if the client is closed and can't be used anymore.
+     */
+    get closed() {
+        return this.ftp.closed;
+    }
+    /**
+     * Connect (or reconnect) to an FTP server.
+     *
+     * This is an instance method and thus can be called multiple times during the lifecycle of a `Client`
+     * instance. Whenever you do, the client is reset with a new control connection. This also implies that
+     * you can reopen a `Client` instance that has been closed due to an error when reconnecting with this
+     * method. In fact, reconnecting is the only way to continue using a closed `Client`.
+     *
+     * @param host  Host the client should connect to. Optional, default is "localhost".
+     * @param port  Port the client should connect to. Optional, default is 21.
+     */
+    connect(host = "localhost", port = 21) {
+        this.ftp.reset();
+        this.ftp.socket.connect({
+            host,
+            port,
+            family: this.ftp.ipFamily
+        }, () => this.ftp.log(`Connected to ${(0, netUtils_1.describeAddress)(this.ftp.socket)} (${(0, netUtils_1.describeTLS)(this.ftp.socket)})`));
+        return this._handleConnectResponse();
+    }
+    /**
+     * As `connect` but using implicit TLS. Implicit TLS is not an FTP standard and has been replaced by
+     * explicit TLS. There are still FTP servers that support only implicit TLS, though.
+     */
+    connectImplicitTLS(host = "localhost", port = 21, tlsOptions = {}) {
+        this.ftp.reset();
+        this.ftp.socket = (0, tls_1.connect)(port, host, tlsOptions, () => this.ftp.log(`Connected to ${(0, netUtils_1.describeAddress)(this.ftp.socket)} (${(0, netUtils_1.describeTLS)(this.ftp.socket)})`));
+        this.ftp.tlsOptions = tlsOptions;
+        return this._handleConnectResponse();
+    }
+    /**
+     * Handles the first reponse by an FTP server after the socket connection has been established.
+     */
+    _handleConnectResponse() {
+        return this.ftp.handle(undefined, (res, task) => {
+            if (res instanceof Error) {
+                // The connection has been destroyed by the FTPContext at this point.
+                task.reject(res);
+            }
+            else if ((0, parseControlResponse_1.positiveCompletion)(res.code)) {
+                task.resolve(res);
+            }
+            // Reject all other codes, including 120 "Service ready in nnn minutes".
+            else {
+                // Don't stay connected but don't replace the socket yet by using reset()
+                // so the user can inspect properties of this instance.
+                task.reject(new FtpContext_1.FTPError(res));
+            }
+        });
+    }
+    /**
+     * Send an FTP command and handle the first response.
+     */
+    send(command, ignoreErrorCodesDEPRECATED = false) {
+        if (ignoreErrorCodesDEPRECATED) { // Deprecated starting from 3.9.0
+            this.ftp.log("Deprecated call using send(command, flag) with boolean flag to ignore errors. Use sendIgnoringError(command).");
+            return this.sendIgnoringError(command);
+        }
+        return this.ftp.request(command);
+    }
+    /**
+     * Send an FTP command and ignore an FTP error response. Any other kind of error or timeout will still reject the Promise.
+     *
+     * @param command
+     */
+    sendIgnoringError(command) {
+        return this.ftp.handle(command, (res, task) => {
+            if (res instanceof FtpContext_1.FTPError) {
+                task.resolve({ code: res.code, message: res.message });
+            }
+            else if (res instanceof Error) {
+                task.reject(res);
+            }
+            else {
+                task.resolve(res);
+            }
+        });
+    }
+    /**
+     * Upgrade the current socket connection to TLS.
+     *
+     * @param options  TLS options as in `tls.connect(options)`, optional.
+     * @param command  Set the authentication command. Optional, default is "AUTH TLS".
+     */
+    async useTLS(options = {}, command = "AUTH TLS") {
+        const ret = await this.send(command);
+        this.ftp.socket = await (0, netUtils_1.upgradeSocket)(this.ftp.socket, options);
+        this.ftp.tlsOptions = options; // Keep the TLS options for later data connections that should use the same options.
+        this.ftp.log(`Control socket is using: ${(0, netUtils_1.describeTLS)(this.ftp.socket)}`);
+        return ret;
+    }
+    /**
+     * Login a user with a password.
+     *
+     * @param user  Username to use for login. Optional, default is "anonymous".
+     * @param password  Password to use for login. Optional, default is "guest".
+     */
+    login(user = "anonymous", password = "guest") {
+        this.ftp.log(`Login security: ${(0, netUtils_1.describeTLS)(this.ftp.socket)}`);
+        return this.ftp.handle("USER " + user, (res, task) => {
+            if (res instanceof Error) {
+                task.reject(res);
+            }
+            else if ((0, parseControlResponse_1.positiveCompletion)(res.code)) { // User logged in proceed OR Command superfluous
+                task.resolve(res);
+            }
+            else if (res.code === 331) { // User name okay, need password
+                this.ftp.send("PASS " + password);
+            }
+            else { // Also report error on 332 (Need account)
+                task.reject(new FtpContext_1.FTPError(res));
+            }
+        });
+    }
+    /**
+     * Set the usual default settings.
+     *
+     * Settings used:
+     * * Binary mode (TYPE I)
+     * * File structure (STRU F)
+     * * Additional settings for FTPS (PBSZ 0, PROT P)
+     */
+    async useDefaultSettings() {
+        const features = await this.features();
+        // Use MLSD directory listing if possible. See https://tools.ietf.org/html/rfc3659#section-7.8:
+        // "The presence of the MLST feature indicates that both MLST and MLSD are supported."
+        const supportsMLSD = features.has("MLST");
+        this.availableListCommands = supportsMLSD ? LIST_COMMANDS_MLSD : LIST_COMMANDS_DEFAULT;
+        await this.send("TYPE I"); // Binary mode
+        await this.sendIgnoringError("STRU F"); // Use file structure
+        await this.sendIgnoringError("OPTS UTF8 ON"); // Some servers expect UTF-8 to be enabled explicitly and setting before login might not have worked.
+        if (supportsMLSD) {
+            await this.sendIgnoringError("OPTS MLST type;size;modify;unique;unix.mode;unix.owner;unix.group;unix.ownername;unix.groupname;"); // Make sure MLSD listings include all we can parse
+        }
+        if (this.ftp.hasTLS) {
+            await this.sendIgnoringError("PBSZ 0"); // Set to 0 for TLS
+            await this.sendIgnoringError("PROT P"); // Protect channel (also for data connections)
+        }
+    }
+    /**
+     * Convenience method that calls `connect`, `useTLS`, `login` and `useDefaultSettings`.
+     *
+     * This is an instance method and thus can be called multiple times during the lifecycle of a `Client`
+     * instance. Whenever you do, the client is reset with a new control connection. This also implies that
+     * you can reopen a `Client` instance that has been closed due to an error when reconnecting with this
+     * method. In fact, reconnecting is the only way to continue using a closed `Client`.
+     */
+    async access(options = {}) {
+        var _a, _b;
+        const useExplicitTLS = options.secure === true;
+        const useImplicitTLS = options.secure === "implicit";
+        let welcome;
+        if (useImplicitTLS) {
+            welcome = await this.connectImplicitTLS(options.host, options.port, options.secureOptions);
+        }
+        else {
+            welcome = await this.connect(options.host, options.port);
+        }
+        if (useExplicitTLS) {
+            // Fixes https://github.com/patrickjuchli/basic-ftp/issues/166 by making sure
+            // host is set for any future data connection as well.
+            const secureOptions = (_a = options.secureOptions) !== null && _a !== void 0 ? _a : {};
+            secureOptions.host = (_b = secureOptions.host) !== null && _b !== void 0 ? _b : options.host;
+            await this.useTLS(secureOptions);
+        }
+        // Set UTF-8 on before login in case there are non-ascii characters in user or password.
+        // Note that this might not work before login depending on server.
+        await this.sendIgnoringError("OPTS UTF8 ON");
+        await this.login(options.user, options.password);
+        await this.useDefaultSettings();
+        return welcome;
+    }
+    /**
+     * Get the current working directory.
+     */
+    async pwd() {
+        const res = await this.send("PWD");
+        // The directory is part of the return message, for example:
+        // 257 "/this/that" is current directory.
+        const parsed = res.message.match(/"(.+)"/);
+        if (parsed === null || parsed[1] === undefined) {
+            throw new Error(`Can't parse response to command 'PWD': ${res.message}`);
+        }
+        return parsed[1];
+    }
+    /**
+     * Get a description of supported features.
+     *
+     * This sends the FEAT command and parses the result into a Map where keys correspond to available commands
+     * and values hold further information. Be aware that your FTP servers might not support this
+     * command in which case this method will not throw an exception but just return an empty Map.
+     */
+    async features() {
+        const res = await this.sendIgnoringError("FEAT");
+        const features = new Map();
+        // Not supporting any special features will be reported with a single line.
+        if (res.code < 400 && (0, parseControlResponse_1.isMultiline)(res.message)) {
+            // The first and last line wrap the multiline response, ignore them.
+            res.message.split("\n").slice(1, -1).forEach(line => {
+                // A typical lines looks like: " REST STREAM" or " MDTM".
+                // Servers might not use an indentation though.
+                const entry = line.trim().split(" ");
+                features.set(entry[0], entry[1] || "");
+            });
+        }
+        return features;
+    }
+    /**
+     * Set the working directory.
+     */
+    async cd(path) {
+        const validPath = await this.protectWhitespace(path);
+        return this.send("CWD " + validPath);
+    }
+    /**
+     * Switch to the parent directory of the working directory.
+     */
+    async cdup() {
+        return this.send("CDUP");
+    }
+    /**
+     * Get the last modified time of a file. This is not supported by every FTP server, in which case
+     * calling this method will throw an exception.
+     */
+    async lastMod(path) {
+        const validPath = await this.protectWhitespace(path);
+        const res = await this.send(`MDTM ${validPath}`);
+        const date = res.message.slice(4);
+        return (0, parseListMLSD_1.parseMLSxDate)(date);
+    }
+    /**
+     * Get the size of a file.
+     */
+    async size(path) {
+        const validPath = await this.protectWhitespace(path);
+        const command = `SIZE ${validPath}`;
+        const res = await this.send(command);
+        // The size is part of the response message, for example: "213 555555". It's
+        // possible that there is a commmentary appended like "213 5555, some commentary".
+        const size = parseInt(res.message.slice(4), 10);
+        if (Number.isNaN(size)) {
+            throw new Error(`Can't parse response to command '${command}' as a numerical value: ${res.message}`);
+        }
+        return size;
+    }
+    /**
+     * Rename a file.
+     *
+     * Depending on the FTP server this might also be used to move a file from one
+     * directory to another by providing full paths.
+     */
+    async rename(srcPath, destPath) {
+        const validSrc = await this.protectWhitespace(srcPath);
+        const validDest = await this.protectWhitespace(destPath);
+        await this.send("RNFR " + validSrc);
+        return this.send("RNTO " + validDest);
+    }
+    /**
+     * Remove a file from the current working directory.
+     *
+     * You can ignore FTP error return codes which won't throw an exception if e.g.
+     * the file doesn't exist.
+     */
+    async remove(path, ignoreErrorCodes = false) {
+        const validPath = await this.protectWhitespace(path);
+        if (ignoreErrorCodes) {
+            return this.sendIgnoringError(`DELE ${validPath}`);
+        }
+        return this.send(`DELE ${validPath}`);
+    }
+    /**
+     * Report transfer progress for any upload or download to a given handler.
+     *
+     * This will also reset the overall transfer counter that can be used for multiple transfers. You can
+     * also call the function without a handler to stop reporting to an earlier one.
+     *
+     * @param handler  Handler function to call on transfer progress.
+     */
+    trackProgress(handler) {
+        this._progressTracker.bytesOverall = 0;
+        this._progressTracker.reportTo(handler);
+    }
+    /**
+     * Upload data from a readable stream or a local file to a remote file.
+     *
+     * @param source  Readable stream or path to a local file.
+     * @param toRemotePath  Path to a remote file to write to.
+     */
+    async uploadFrom(source, toRemotePath, options = {}) {
+        return this._uploadWithCommand(source, toRemotePath, "STOR", options);
+    }
+    /**
+     * Upload data from a readable stream or a local file by appending it to an existing file. If the file doesn't
+     * exist the FTP server should create it.
+     *
+     * @param source  Readable stream or path to a local file.
+     * @param toRemotePath  Path to a remote file to write to.
+     */
+    async appendFrom(source, toRemotePath, options = {}) {
+        return this._uploadWithCommand(source, toRemotePath, "APPE", options);
+    }
+    /**
+     * @protected
+     */
+    async _uploadWithCommand(source, remotePath, command, options) {
+        if (typeof source === "string") {
+            return this._uploadLocalFile(source, remotePath, command, options);
+        }
+        return this._uploadFromStream(source, remotePath, command);
+    }
+    /**
+     * @protected
+     */
+    async _uploadLocalFile(localPath, remotePath, command, options) {
+        const fd = await fsOpen(localPath, "r");
+        const source = (0, fs_1.createReadStream)("", {
+            fd,
+            start: options.localStart,
+            end: options.localEndInclusive,
+            autoClose: false
+        });
+        try {
+            return await this._uploadFromStream(source, remotePath, command);
+        }
+        finally {
+            await ignoreError(() => fsClose(fd));
+        }
+    }
+    /**
+     * @protected
+     */
+    async _uploadFromStream(source, remotePath, command) {
+        const onError = (err) => this.ftp.closeWithError(err);
+        source.once("error", onError);
+        try {
+            const validPath = await this.protectWhitespace(remotePath);
+            await this.prepareTransfer(this.ftp);
+            // Keep the keyword `await` or the `finally` clause below runs too early
+            // and removes the event listener for the source stream too early.
+            return await (0, transfer_1.uploadFrom)(source, {
+                ftp: this.ftp,
+                tracker: this._progressTracker,
+                command,
+                remotePath: validPath,
+                type: "upload"
+            });
+        }
+        finally {
+            source.removeListener("error", onError);
+        }
+    }
+    /**
+     * Download a remote file and pipe its data to a writable stream or to a local file.
+     *
+     * You can optionally define at which position of the remote file you'd like to start
+     * downloading. If the destination you provide is a file, the offset will be applied
+     * to it as well. For example: To resume a failed download, you'd request the size of
+     * the local, partially downloaded file and use that as the offset. Assuming the size
+     * is 23, you'd download the rest using `downloadTo("local.txt", "remote.txt", 23)`.
+     *
+     * @param destination  Stream or path for a local file to write to.
+     * @param fromRemotePath  Path of the remote file to read from.
+     * @param startAt  Position within the remote file to start downloading at. If the destination is a file, this offset is also applied to it.
+     */
+    async downloadTo(destination, fromRemotePath, startAt = 0) {
+        if (typeof destination === "string") {
+            return this._downloadToFile(destination, fromRemotePath, startAt);
+        }
+        return this._downloadToStream(destination, fromRemotePath, startAt);
+    }
+    /**
+     * @protected
+     */
+    async _downloadToFile(localPath, remotePath, startAt) {
+        const appendingToLocalFile = startAt > 0;
+        const fileSystemFlags = appendingToLocalFile ? "r+" : "w";
+        const fd = await fsOpen(localPath, fileSystemFlags);
+        const destination = (0, fs_1.createWriteStream)("", {
+            fd,
+            start: startAt,
+            autoClose: false
+        });
+        try {
+            return await this._downloadToStream(destination, remotePath, startAt);
+        }
+        catch (err) {
+            const localFileStats = await ignoreError(() => fsStat(localPath));
+            const hasDownloadedData = localFileStats && localFileStats.size > 0;
+            const shouldRemoveLocalFile = !appendingToLocalFile && !hasDownloadedData;
+            if (shouldRemoveLocalFile) {
+                await ignoreError(() => fsUnlink(localPath));
+            }
+            throw err;
+        }
+        finally {
+            await ignoreError(() => fsClose(fd));
+        }
+    }
+    /**
+     * @protected
+     */
+    async _downloadToStream(destination, remotePath, startAt) {
+        const onError = (err) => this.ftp.closeWithError(err);
+        destination.once("error", onError);
+        try {
+            const validPath = await this.protectWhitespace(remotePath);
+            await this.prepareTransfer(this.ftp);
+            // Keep the keyword `await` or the `finally` clause below runs too early
+            // and removes the event listener for the source stream too early.
+            return await (0, transfer_1.downloadTo)(destination, {
+                ftp: this.ftp,
+                tracker: this._progressTracker,
+                command: startAt > 0 ? `REST ${startAt}` : `RETR ${validPath}`,
+                remotePath: validPath,
+                type: "download"
+            });
+        }
+        finally {
+            destination.removeListener("error", onError);
+            destination.end();
+        }
+    }
+    /**
+     * List files and directories in the current working directory, or from `path` if specified.
+     *
+     * @param [path]  Path to remote file or directory.
+     */
+    async list(path = "") {
+        const validPath = await this.protectWhitespace(path);
+        let lastError;
+        for (const candidate of this.availableListCommands) {
+            const command = validPath === "" ? candidate : `${candidate} ${validPath}`;
+            await this.prepareTransfer(this.ftp);
+            try {
+                const parsedList = await this._requestListWithCommand(command);
+                // Use successful candidate for all subsequent requests.
+                this.availableListCommands = [candidate];
+                return parsedList;
+            }
+            catch (err) {
+                const shouldTryNext = err instanceof FtpContext_1.FTPError;
+                if (!shouldTryNext) {
+                    throw err;
+                }
+                lastError = err;
+            }
+        }
+        throw lastError;
+    }
+    /**
+     * @protected
+     */
+    async _requestListWithCommand(command) {
+        const buffer = new StringWriter_1.StringWriter();
+        await (0, transfer_1.downloadTo)(buffer, {
+            ftp: this.ftp,
+            tracker: this._progressTracker,
+            command,
+            remotePath: "",
+            type: "list"
+        });
+        const text = buffer.getText(this.ftp.encoding);
+        this.ftp.log(text);
+        return this.parseList(text);
+    }
+    /**
+     * Remove a directory and all of its content.
+     *
+     * @param remoteDirPath  The path of the remote directory to delete.
+     * @example client.removeDir("foo") // Remove directory 'foo' using a relative path.
+     * @example client.removeDir("foo/bar") // Remove directory 'bar' using a relative path.
+     * @example client.removeDir("/foo/bar") // Remove directory 'bar' using an absolute path.
+     * @example client.removeDir("/") // Remove everything.
+     */
+    async removeDir(remoteDirPath) {
+        return this._exitAtCurrentDirectory(async () => {
+            await this.cd(remoteDirPath);
+            await this.clearWorkingDir();
+            if (remoteDirPath !== "/") {
+                await this.cdup();
+                await this.removeEmptyDir(remoteDirPath);
+            }
+        });
+    }
+    /**
+     * Remove all files and directories in the working directory without removing
+     * the working directory itself.
+     */
+    async clearWorkingDir() {
+        for (const file of await this.list()) {
+            if (file.isDirectory) {
+                await this.cd(file.name);
+                await this.clearWorkingDir();
+                await this.cdup();
+                await this.removeEmptyDir(file.name);
+            }
+            else {
+                await this.remove(file.name);
+            }
+        }
+    }
+    /**
+     * Upload the contents of a local directory to the remote working directory.
+     *
+     * This will overwrite existing files with the same names and reuse existing directories.
+     * Unrelated files and directories will remain untouched. You can optionally provide a `remoteDirPath`
+     * to put the contents inside a directory which will be created if necessary including all
+     * intermediate directories. If you did provide a remoteDirPath the working directory will stay
+     * the same as before calling this method.
+     *
+     * @param localDirPath  Local path, e.g. "foo/bar" or "../test"
+     * @param [remoteDirPath]  Remote path of a directory to upload to. Working directory if undefined.
+     */
+    async uploadFromDir(localDirPath, remoteDirPath) {
+        return this._exitAtCurrentDirectory(async () => {
+            if (remoteDirPath) {
+                await this.ensureDir(remoteDirPath);
+            }
+            return await this._uploadToWorkingDir(localDirPath);
+        });
+    }
+    /**
+     * @protected
+     */
+    async _uploadToWorkingDir(localDirPath) {
+        const files = await fsReadDir(localDirPath);
+        for (const file of files) {
+            const fullPath = (0, path_1.join)(localDirPath, file);
+            const stats = await fsStat(fullPath);
+            if (stats.isFile()) {
+                await this.uploadFrom(fullPath, file);
+            }
+            else if (stats.isDirectory()) {
+                await this._openDir(file);
+                await this._uploadToWorkingDir(fullPath);
+                await this.cdup();
+            }
+        }
+    }
+    /**
+     * Download all files and directories of the working directory to a local directory.
+     *
+     * @param localDirPath  The local directory to download to.
+     * @param remoteDirPath  Remote directory to download. Current working directory if not specified.
+     */
+    async downloadToDir(localDirPath, remoteDirPath) {
+        return this._exitAtCurrentDirectory(async () => {
+            if (remoteDirPath) {
+                await this.cd(remoteDirPath);
+            }
+            return await this._downloadFromWorkingDir(localDirPath);
+        });
+    }
+    /**
+     * @protected
+     */
+    async _downloadFromWorkingDir(localDirPath) {
+        await ensureLocalDirectory(localDirPath);
+        for (const file of await this.list()) {
+            const localPath = (0, path_1.join)(localDirPath, file.name);
+            if (file.isDirectory) {
+                await this.cd(file.name);
+                await this._downloadFromWorkingDir(localPath);
+                await this.cdup();
+            }
+            else if (file.isFile) {
+                await this.downloadTo(localPath, file.name);
+            }
+        }
+    }
+    /**
+     * Make sure a given remote path exists, creating all directories as necessary.
+     * This function also changes the current working directory to the given path.
+     */
+    async ensureDir(remoteDirPath) {
+        // If the remoteDirPath was absolute go to root directory.
+        if (remoteDirPath.startsWith("/")) {
+            await this.cd("/");
+        }
+        const names = remoteDirPath.split("/").filter(name => name !== "");
+        for (const name of names) {
+            await this._openDir(name);
+        }
+    }
+    /**
+     * Try to create a directory and enter it. This will not raise an exception if the directory
+     * couldn't be created if for example it already exists.
+     * @protected
+     */
+    async _openDir(dirName) {
+        await this.sendIgnoringError("MKD " + dirName);
+        await this.cd(dirName);
+    }
+    /**
+     * Remove an empty directory, will fail if not empty.
+     */
+    async removeEmptyDir(path) {
+        const validPath = await this.protectWhitespace(path);
+        return this.send(`RMD ${validPath}`);
+    }
+    /**
+     * FTP servers can't handle filenames that have leading whitespace. This method transforms
+     * a given path to fix that issue for most cases.
+     */
+    async protectWhitespace(path) {
+        if (!path.startsWith(" ")) {
+            return path;
+        }
+        // Handle leading whitespace by prepending the absolute path:
+        // " test.txt" while being in the root directory becomes "/ test.txt".
+        const pwd = await this.pwd();
+        const absolutePathPrefix = pwd.endsWith("/") ? pwd : pwd + "/";
+        return absolutePathPrefix + path;
+    }
+    async _exitAtCurrentDirectory(func) {
+        const userDir = await this.pwd();
+        try {
+            return await func();
+        }
+        finally {
+            if (!this.closed) {
+                await ignoreError(() => this.cd(userDir));
+            }
+        }
+    }
+    /**
+     * Try all available transfer strategies and pick the first one that works. Update `client` to
+     * use the working strategy for all successive transfer requests.
+     *
+     * @returns a function that will try the provided strategies.
+     */
+    _enterFirstCompatibleMode(strategies) {
+        return async (ftp) => {
+            ftp.log("Trying to find optimal transfer strategy...");
+            let lastError = undefined;
+            for (const strategy of strategies) {
+                try {
+                    const res = await strategy(ftp);
+                    ftp.log("Optimal transfer strategy found.");
+                    this.prepareTransfer = strategy; // eslint-disable-line require-atomic-updates
+                    return res;
+                }
+                catch (err) {
+                    // Try the next candidate no matter the exact error. It's possible that a server
+                    // answered incorrectly to a strategy, for example a PASV answer to an EPSV.
+                    lastError = err;
+                }
+            }
+            throw new Error(`None of the available transfer strategies work. Last error response was '${lastError}'.`);
+        };
+    }
+    /**
+     * DEPRECATED, use `uploadFrom`.
+     * @deprecated
+     */
+    async upload(source, toRemotePath, options = {}) {
+        this.ftp.log("Warning: upload() has been deprecated, use uploadFrom().");
+        return this.uploadFrom(source, toRemotePath, options);
+    }
+    /**
+     * DEPRECATED, use `appendFrom`.
+     * @deprecated
+     */
+    async append(source, toRemotePath, options = {}) {
+        this.ftp.log("Warning: append() has been deprecated, use appendFrom().");
+        return this.appendFrom(source, toRemotePath, options);
+    }
+    /**
+     * DEPRECATED, use `downloadTo`.
+     * @deprecated
+     */
+    async download(destination, fromRemotePath, startAt = 0) {
+        this.ftp.log("Warning: download() has been deprecated, use downloadTo().");
+        return this.downloadTo(destination, fromRemotePath, startAt);
+    }
+    /**
+     * DEPRECATED, use `uploadFromDir`.
+     * @deprecated
+     */
+    async uploadDir(localDirPath, remoteDirPath) {
+        this.ftp.log("Warning: uploadDir() has been deprecated, use uploadFromDir().");
+        return this.uploadFromDir(localDirPath, remoteDirPath);
+    }
+    /**
+     * DEPRECATED, use `downloadToDir`.
+     * @deprecated
+     */
+    async downloadDir(localDirPath) {
+        this.ftp.log("Warning: downloadDir() has been deprecated, use downloadToDir().");
+        return this.downloadToDir(localDirPath);
+    }
+}
+exports.Client = Client;
+async function ensureLocalDirectory(path) {
+    try {
+        await fsStat(path);
+    }
+    catch (err) {
+        await fsMkDir(path, { recursive: true });
+    }
+}
+async function ignoreError(func) {
+    try {
+        return await func();
+    }
+    catch (err) {
+        // Ignore
+        return undefined;
+    }
+}
diff --git a/node_modules/basic-ftp/dist/FileInfo.d.ts b/node_modules/basic-ftp/dist/FileInfo.d.ts
new file mode 100644
index 0000000..429102b
--- /dev/null
+++ b/node_modules/basic-ftp/dist/FileInfo.d.ts
@@ -0,0 +1,80 @@
+export declare enum FileType {
+    Unknown = 0,
+    File = 1,
+    Directory = 2,
+    SymbolicLink = 3
+}
+export interface UnixPermissions {
+    readonly user: number;
+    readonly group: number;
+    readonly world: number;
+}
+/**
+ * Describes a file, directory or symbolic link.
+ */
+export declare class FileInfo {
+    name: string;
+    static UnixPermission: {
+        Read: number;
+        Write: number;
+        Execute: number;
+    };
+    type: FileType;
+    size: number;
+    /**
+     * Unparsed, raw modification date as a string.
+     *
+     * If `modifiedAt` is undefined, the FTP server you're connected to doesn't support the more modern
+     * MLSD command for machine-readable directory listings. The older command LIST is then used returning
+     * results that vary a lot between servers as the format hasn't been standardized. Here, directory listings
+     * and especially modification dates were meant to be human-readable first.
+     *
+     * Be careful when still trying to parse this by yourself. Parsing dates from listings using LIST is
+     * unreliable. This library decides to offer parsed dates only when they're absolutely reliable and safe to
+     * use e.g. for comparisons.
+     */
+    rawModifiedAt: string;
+    /**
+     * Parsed modification date.
+     *
+     * Available if the FTP server supports the MLSD command. Only MLSD guarantees dates than can be reliably
+     * parsed with the correct timezone and a resolution down to seconds. See `rawModifiedAt` property for the unparsed
+     * date that is always available.
+     */
+    modifiedAt?: Date;
+    /**
+     * Unix permissions if present. If the underlying FTP server is not running on Unix this will be undefined.
+     * If set, you might be able to edit permissions with the FTP command `SITE CHMOD`.
+     */
+    permissions?: UnixPermissions;
+    /**
+     * Hard link count if available.
+     */
+    hardLinkCount?: number;
+    /**
+     * Link name for symbolic links if available.
+     */
+    link?: string;
+    /**
+     * Unix group if available.
+     */
+    group?: string;
+    /**
+     * Unix user if available.
+     */
+    user?: string;
+    /**
+     * Unique ID if available.
+     */
+    uniqueID?: string;
+    constructor(name: string);
+    get isDirectory(): boolean;
+    get isSymbolicLink(): boolean;
+    get isFile(): boolean;
+    /**
+     * Deprecated, legacy API. Use `rawModifiedAt` instead.
+     * @deprecated
+     */
+    get date(): string;
+    set date(rawModifiedAt: string);
+}
diff --git a/node_modules/basic-ftp/dist/FileInfo.js b/node_modules/basic-ftp/dist/FileInfo.js
new file mode 100644
index 0000000..5b6da56
--- /dev/null
+++ b/node_modules/basic-ftp/dist/FileInfo.js
@@ -0,0 +1,92 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.FileInfo = exports.FileType = void 0;
+var FileType;
+(function (FileType) {
+    FileType[FileType["Unknown"] = 0] = "Unknown";
+    FileType[FileType["File"] = 1] = "File";
+    FileType[FileType["Directory"] = 2] = "Directory";
+    FileType[FileType["SymbolicLink"] = 3] = "SymbolicLink";
+})(FileType = exports.FileType || (exports.FileType = {}));
+/**
+ * Describes a file, directory or symbolic link.
+ */
+class FileInfo {
+    constructor(name) {
+        this.name = name;
+        this.type = FileType.Unknown;
+        this.size = 0;
+        /**
+         * Unparsed, raw modification date as a string.
+         *
+         * If `modifiedAt` is undefined, the FTP server you're connected to doesn't support the more modern
+         * MLSD command for machine-readable directory listings. The older command LIST is then used returning
+         * results that vary a lot between servers as the format hasn't been standardized. Here, directory listings
+         * and especially modification dates were meant to be human-readable first.
+         *
+         * Be careful when still trying to parse this by yourself. Parsing dates from listings using LIST is
+         * unreliable. This library decides to offer parsed dates only when they're absolutely reliable and safe to
+         * use e.g. for comparisons.
+         */
+        this.rawModifiedAt = "";
+        /**
+         * Parsed modification date.
+         *
+         * Available if the FTP server supports the MLSD command. Only MLSD guarantees dates than can be reliably
+         * parsed with the correct timezone and a resolution down to seconds. See `rawModifiedAt` property for the unparsed
+         * date that is always available.
+         */
+        this.modifiedAt = undefined;
+        /**
+         * Unix permissions if present. If the underlying FTP server is not running on Unix this will be undefined.
+         * If set, you might be able to edit permissions with the FTP command `SITE CHMOD`.
+         */
+        this.permissions = undefined;
+        /**
+         * Hard link count if available.
+         */
+        this.hardLinkCount = undefined;
+        /**
+         * Link name for symbolic links if available.
+         */
+        this.link = undefined;
+        /**
+         * Unix group if available.
+         */
+        this.group = undefined;
+        /**
+         * Unix user if available.
+         */
+        this.user = undefined;
+        /**
+         * Unique ID if available.
+         */
+        this.uniqueID = undefined;
+        this.name = name;
+    }
+    get isDirectory() {
+        return this.type === FileType.Directory;
+    }
+    get isSymbolicLink() {
+        return this.type === FileType.SymbolicLink;
+    }
+    get isFile() {
+        return this.type === FileType.File;
+    }
+    /**
+     * Deprecated, legacy API. Use `rawModifiedAt` instead.
+     * @deprecated
+     */
+    get date() {
+        return this.rawModifiedAt;
+    }
+    set date(rawModifiedAt) {
+        this.rawModifiedAt = rawModifiedAt;
+    }
+}
+FileInfo.UnixPermission = {
+    Read: 4,
+    Write: 2,
+    Execute: 1
+};
+exports.FileInfo = FileInfo;
diff --git a/node_modules/basic-ftp/dist/FtpContext.d.ts b/node_modules/basic-ftp/dist/FtpContext.d.ts
new file mode 100644
index 0000000..23318de
--- /dev/null
+++ b/node_modules/basic-ftp/dist/FtpContext.d.ts
@@ -0,0 +1,178 @@
+/// <reference types="node" />
+/// <reference types="node" />
+/// <reference types="node" />
+import { Socket } from "net";
+import { ConnectionOptions as TLSConnectionOptions, TLSSocket } from "tls";
+import { StringEncoding } from "./StringEncoding";
+interface Task {
+    /** Handles a response for a task. */
+    readonly responseHandler: ResponseHandler;
+    /** Resolves or rejects a task. */
+    readonly resolver: TaskResolver;
+    /** Call stack when task was run. */
+    readonly stack: string;
+}
+export interface TaskResolver {
+    resolve(args: any): void;
+    reject(err: Error): void;
+}
+export interface FTPResponse {
+    /** FTP response code */
+    readonly code: number;
+    /** Whole response including response code */
+    readonly message: string;
+}
+export type ResponseHandler = (response: Error | FTPResponse, task: TaskResolver) => void;
+/**
+ * Describes an FTP server error response including the FTP response code.
+ */
+export declare class FTPError extends Error {
+    /** FTP response code */
+    readonly code: number;
+    constructor(res: FTPResponse);
+}
+/**
+ * FTPContext holds the control and data sockets of an FTP connection and provides a
+ * simplified way to interact with an FTP server, handle responses, errors and timeouts.
+ *
+ * It doesn't implement or use any FTP commands. It's only a foundation to make writing an FTP
+ * client as easy as possible. You won't usually instantiate this, but use `Client`.
+ */
+export declare class FTPContext {
+    readonly timeout: number;
+    /** Debug-level logging of all socket communication. */
+    verbose: boolean;
+    /** IP version to prefer (4: IPv4, 6: IPv6, undefined: automatic). */
+    ipFamily: number | undefined;
+    /** Options for TLS connections. */
+    tlsOptions: TLSConnectionOptions;
+    /** Current task to be resolved or rejected. */
+    protected _task: Task | undefined;
+    /** A multiline response might be received as multiple chunks. */
+    protected _partialResponse: string;
+    /** The reason why a context has been closed. */
+    protected _closingError: NodeJS.ErrnoException | undefined;
+    /** Encoding supported by Node applied to commands, responses and directory listing data. */
+    protected _encoding: StringEncoding;
+    /** FTP control connection */
+    protected _socket: Socket | TLSSocket;
+    /** FTP data connection */
+    protected _dataSocket: Socket | TLSSocket | undefined;
+    /**
+     * Instantiate an FTP context.
+     *
+     * @param timeout - Timeout in milliseconds to apply to control and data connections. Use 0 for no timeout.
+     * @param encoding - Encoding to use for control connection. UTF-8 by default. Use "latin1" for older servers.
+     */
+    constructor(timeout?: number, encoding?: StringEncoding);
+    /**
+     * Close the context.
+     */
+    close(): void;
+    /**
+     * Close the context with an error.
+     */
+    closeWithError(err: Error): void;
+    /**
+     * Returns true if this context has been closed or hasn't been connected yet. You can reopen it with `access`.
+     */
+    get closed(): boolean;
+    /**
+     * Reset this contex and all of its state.
+     */
+    reset(): void;
+    /**
+     * Get the FTP control socket.
+     */
+    get socket(): Socket | TLSSocket;
+    /**
+     * Set the socket for the control connection. This will only close the current control socket
+     * if the new one is not an upgrade to the current one.
+     */
+    set socket(socket: Socket | TLSSocket);
+    /**
+     * Get the current FTP data connection if present.
+     */
+    get dataSocket(): Socket | TLSSocket | undefined;
+    /**
+     * Set the socket for the data connection. This will automatically close the former data socket.
+     */
+    set dataSocket(socket: Socket | TLSSocket | undefined);
+    /**
+     * Get the currently used encoding.
+     */
+    get encoding(): StringEncoding;
+    /**
+     * Set the encoding used for the control socket.
+     *
+     * See https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings for what encodings
+     * are supported by Node.
+     */
+    set encoding(encoding: StringEncoding);
+    /**
+     * Send an FTP command without waiting for or handling the result.
+     */
+    send(command: string): void;
+    /**
+     * Send an FTP command and handle the first response. Use this if you have a simple
+     * request-response situation.
+     */
+    request(command: string): Promise<FTPResponse>;
+    /**
+     * Send an FTP command and handle any response until you resolve/reject. Use this if you expect multiple responses
+     * to a request. This returns a Promise that will hold whatever the response handler passed on when resolving/rejecting its task.
+     */
+    handle(command: string | undefined, responseHandler: ResponseHandler): Promise<any>;
+    /**
+     * Log message if set to be verbose.
+     */
+    log(message: string): void;
+    /**
+     * Return true if the control socket is using TLS. This does not mean that a session
+     * has already been negotiated.
+     */
+    get hasTLS(): boolean;
+    /**
+     * Removes reference to current task and handler. This won't resolve or reject the task.
+     * @protected
+     */
+    protected _stopTrackingTask(): void;
+    /**
+     * Handle incoming data on the control socket. The chunk is going to be of type `string`
+     * because we let `socket` handle encoding with `setEncoding`.
+     * @protected
+     */
+    protected _onControlSocketData(chunk: string): void;
+    /**
+     * Send the current handler a response. This is usually a control socket response
+     * or a socket event, like an error or timeout.
+     * @protected
+     */
+    protected _passToHandler(response: Error | FTPResponse): void;
+    /**
+     * Setup all error handlers for a socket.
+     * @protected
+     */
+    protected _setupDefaultErrorHandlers(socket: Socket, identifier: string): void;
+    /**
+     * Close the control socket. Sends QUIT, then FIN, and ignores any response or error.
+     */
+    protected _closeControlSocket(): void;
+    /**
+     * Close a socket. Sends FIN and ignores any error.
+     * @protected
+     */
+    protected _closeSocket(socket: Socket | undefined): void;
+    /**
+     * Remove all default listeners for socket.
+     * @protected
+     */
+    protected _removeSocketListeners(socket: Socket): void;
+    /**
+     * Provide a new socket instance.
+     *
+     * Internal use only, replaced for unit tests.
+     */
+    _newSocket(): Socket;
+}
+export {};
diff --git a/node_modules/basic-ftp/dist/FtpContext.js b/node_modules/basic-ftp/dist/FtpContext.js
new file mode 100644
index 0000000..71d8cb1
--- /dev/null
+++ b/node_modules/basic-ftp/dist/FtpContext.js
@@ -0,0 +1,367 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.FTPContext = exports.FTPError = void 0;
+const net_1 = require("net");
+const parseControlResponse_1 = require("./parseControlResponse");
+/**
+ * Describes an FTP server error response including the FTP response code.
+ */
+class FTPError extends Error {
+    constructor(res) {
+        super(res.message);
+        this.name = this.constructor.name;
+        this.code = res.code;
+    }
+}
+exports.FTPError = FTPError;
+function doNothing() {
+    /** Do nothing */
+}
+/**
+ * FTPContext holds the control and data sockets of an FTP connection and provides a
+ * simplified way to interact with an FTP server, handle responses, errors and timeouts.
+ *
+ * It doesn't implement or use any FTP commands. It's only a foundation to make writing an FTP
+ * client as easy as possible. You won't usually instantiate this, but use `Client`.
+ */
+class FTPContext {
+    /**
+     * Instantiate an FTP context.
+     *
+     * @param timeout - Timeout in milliseconds to apply to control and data connections. Use 0 for no timeout.
+     * @param encoding - Encoding to use for control connection. UTF-8 by default. Use "latin1" for older servers.
+     */
+    constructor(timeout = 0, encoding = "utf8") {
+        this.timeout = timeout;
+        /** Debug-level logging of all socket communication. */
+        this.verbose = false;
+        /** IP version to prefer (4: IPv4, 6: IPv6, undefined: automatic). */
+        this.ipFamily = undefined;
+        /** Options for TLS connections. */
+        this.tlsOptions = {};
+        /** A multiline response might be received as multiple chunks. */
+        this._partialResponse = "";
+        this._encoding = encoding;
+        // Help Typescript understand that we do indeed set _socket in the constructor but use the setter method to do so.
+        this._socket = this.socket = this._newSocket();
+        this._dataSocket = undefined;
+    }
+    /**
+     * Close the context.
+     */
+    close() {
+        // Internally, closing a context is always described with an error. If there is still a task running, it will
+        // abort with an exception that the user closed the client during a task. If no task is running, no exception is
+        // thrown but all newly submitted tasks after that will abort the exception that the client has been closed.
+        // In addition the user will get a stack trace pointing to where exactly the client has been closed. So in any
+        // case use _closingError to determine whether a context is closed. This also allows us to have a single code-path
+        // for closing a context making the implementation easier.
+        const message = this._task ? "User closed client during task" : "User closed client";
+        const err = new Error(message);
+        this.closeWithError(err);
+    }
+    /**
+     * Close the context with an error.
+     */
+    closeWithError(err) {
+        // If this context already has been closed, don't overwrite the reason.
+        if (this._closingError) {
+            return;
+        }
+        this._closingError = err;
+        // Close the sockets but don't fully reset this context to preserve `this._closingError`.
+        this._closeControlSocket();
+        this._closeSocket(this._dataSocket);
+        // Give the user's task a chance to react, maybe cleanup resources.
+        this._passToHandler(err);
+        // The task might not have been rejected by the user after receiving the error.
+        this._stopTrackingTask();
+    }
+    /**
+     * Returns true if this context has been closed or hasn't been connected yet. You can reopen it with `access`.
+     */
+    get closed() {
+        return this.socket.remoteAddress === undefined || this._closingError !== undefined;
+    }
+    /**
+     * Reset this contex and all of its state.
+     */
+    reset() {
+        this.socket = this._newSocket();
+    }
+    /**
+     * Get the FTP control socket.
+     */
+    get socket() {
+        return this._socket;
+    }
+    /**
+     * Set the socket for the control connection. This will only close the current control socket
+     * if the new one is not an upgrade to the current one.
+     */
+    set socket(socket) {
+        // No data socket should be open in any case where the control socket is set or upgraded.
+        this.dataSocket = undefined;
+        // This being a reset, reset any other state apart from the socket.
+        this.tlsOptions = {};
+        this._partialResponse = "";
+        if (this._socket) {
+            const newSocketUpgradesExisting = socket.localPort === this._socket.localPort;
+            if (newSocketUpgradesExisting) {
+                this._removeSocketListeners(this.socket);
+            }
+            else {
+                this._closeControlSocket();
+            }
+        }
+        if (socket) {
+            // Setting a completely new control socket is in essence something like a reset. That's
+            // why we also close any open data connection above. We can go one step further and reset
+            // a possible closing error. That means that a closed FTPContext can be "reopened" by
+            // setting a new control socket.
+            this._closingError = undefined;
+            // Don't set a timeout yet. Timeout for control sockets is only active during a task, see handle() below.
+            socket.setTimeout(0);
+            socket.setEncoding(this._encoding);
+            socket.setKeepAlive(true);
+            socket.on("data", data => this._onControlSocketData(data));
+            // Server sending a FIN packet is treated as an error.
+            socket.on("end", () => this.closeWithError(new Error("Server sent FIN packet unexpectedly, closing connection.")));
+            // Control being closed without error by server is treated as an error.
+            socket.on("close", hadError => { if (!hadError)
+                this.closeWithError(new Error("Server closed connection unexpectedly.")); });
+            this._setupDefaultErrorHandlers(socket, "control socket");
+        }
+        this._socket = socket;
+    }
+    /**
+     * Get the current FTP data connection if present.
+     */
+    get dataSocket() {
+        return this._dataSocket;
+    }
+    /**
+     * Set the socket for the data connection. This will automatically close the former data socket.
+     */
+    set dataSocket(socket) {
+        this._closeSocket(this._dataSocket);
+        if (socket) {
+            // Don't set a timeout yet. Timeout data socket should be activated when data transmission starts
+            // and timeout on control socket is deactivated.
+            socket.setTimeout(0);
+            this._setupDefaultErrorHandlers(socket, "data socket");
+        }
+        this._dataSocket = socket;
+    }
+    /**
+     * Get the currently used encoding.
+     */
+    get encoding() {
+        return this._encoding;
+    }
+    /**
+     * Set the encoding used for the control socket.
+     *
+     * See https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings for what encodings
+     * are supported by Node.
+     */
+    set encoding(encoding) {
+        this._encoding = encoding;
+        if (this.socket) {
+            this.socket.setEncoding(encoding);
+        }
+    }
+    /**
+     * Send an FTP command without waiting for or handling the result.
+     */
+    send(command) {
+        const containsPassword = command.startsWith("PASS");
+        const message = containsPassword ? "> PASS ###" : `> ${command}`;
+        this.log(message);
+        this._socket.write(command + "\r\n", this.encoding);
+    }
+    /**
+     * Send an FTP command and handle the first response. Use this if you have a simple
+     * request-response situation.
+     */
+    request(command) {
+        return this.handle(command, (res, task) => {
+            if (res instanceof Error) {
+                task.reject(res);
+            }
+            else {
+                task.resolve(res);
+            }
+        });
+    }
+    /**
+     * Send an FTP command and handle any response until you resolve/reject. Use this if you expect multiple responses
+     * to a request. This returns a Promise that will hold whatever the response handler passed on when resolving/rejecting its task.
+     */
+    handle(command, responseHandler) {
+        if (this._task) {
+            const err = new Error("User launched a task while another one is still running. Forgot to use 'await' or '.then()'?");
+            err.stack += `\nRunning task launched at: ${this._task.stack}`;
+            this.closeWithError(err);
+            // Don't return here, continue with returning the Promise that will then be rejected
+            // because the context closed already. That way, users will receive an exception where
+            // they called this method by mistake.
+        }
+        return new Promise((resolveTask, rejectTask) => {
+            this._task = {
+                stack: new Error().stack || "Unknown call stack",
+                responseHandler,
+                resolver: {
+                    resolve: arg => {
+                        this._stopTrackingTask();
+                        resolveTask(arg);
+                    },
+                    reject: err => {
+                        this._stopTrackingTask();
+                        rejectTask(err);
+                    }
+                }
+            };
+            if (this._closingError) {
+                // This client has been closed. Provide an error that describes this one as being caused
+                // by `_closingError`, include stack traces for both.
+                const err = new Error(`Client is closed because ${this._closingError.message}`); // Type 'Error' is not correctly defined, doesn't have 'code'.
+                err.stack += `\nClosing reason: ${this._closingError.stack}`;
+                err.code = this._closingError.code !== undefined ? this._closingError.code : "0";
+                this._passToHandler(err);
+                return;
+            }
+            // Only track control socket timeout during the lifecycle of a task. This avoids timeouts on idle sockets,
+            // the default socket behaviour which is not expected by most users.
+            this.socket.setTimeout(this.timeout);
+            if (command) {
+                this.send(command);
+            }
+        });
+    }
+    /**
+     * Log message if set to be verbose.
+     */
+    log(message) {
+        if (this.verbose) {
+            // tslint:disable-next-line no-console
+            console.log(message);
+        }
+    }
+    /**
+     * Return true if the control socket is using TLS. This does not mean that a session
+     * has already been negotiated.
+     */
+    get hasTLS() {
+        return "encrypted" in this._socket;
+    }
+    /**
+     * Removes reference to current task and handler. This won't resolve or reject the task.
+     * @protected
+     */
+    _stopTrackingTask() {
+        // Disable timeout on control socket if there is no task active.
+        this.socket.setTimeout(0);
+        this._task = undefined;
+    }
+    /**
+     * Handle incoming data on the control socket. The chunk is going to be of type `string`
+     * because we let `socket` handle encoding with `setEncoding`.
+     * @protected
+     */
+    _onControlSocketData(chunk) {
+        this.log(`< ${chunk}`);
+        // This chunk might complete an earlier partial response.
+        const completeResponse = this._partialResponse + chunk;
+        const parsed = (0, parseControlResponse_1.parseControlResponse)(completeResponse);
+        // Remember any incomplete remainder.
+        this._partialResponse = parsed.rest;
+        // Each response group is passed along individually.
+        for (const message of parsed.messages) {
+            const code = parseInt(message.substr(0, 3), 10);
+            const response = { code, message };
+            const err = code >= 400 ? new FTPError(response) : undefined;
+            this._passToHandler(err ? err : response);
+        }
+    }
+    /**
+     * Send the current handler a response. This is usually a control socket response
+     * or a socket event, like an error or timeout.
+     * @protected
+     */
+    _passToHandler(response) {
+        if (this._task) {
+            this._task.responseHandler(response, this._task.resolver);
+        }
+        // Errors other than FTPError always close the client. If there isn't an active task to handle the error,
+        // the next one submitted will receive it using `_closingError`.
+        // There is only one edge-case: If there is an FTPError while no task is active, the error will be dropped.
+        // But that means that the user sent an FTP command with no intention of handling the result. So why should the
+        // error be handled? Maybe log it at least? Debug logging will already do that and the client stays useable after
+        // FTPError. So maybe no need to do anything here.
+    }
+    /**
+     * Setup all error handlers for a socket.
+     * @protected
+     */
+    _setupDefaultErrorHandlers(socket, identifier) {
+        socket.once("error", error => {
+            error.message += ` (${identifier})`;
+            this.closeWithError(error);
+        });
+        socket.once("close", hadError => {
+            if (hadError) {
+                this.closeWithError(new Error(`Socket closed due to transmission error (${identifier})`));
+            }
+        });
+        socket.once("timeout", () => {
+            socket.destroy();
+            this.closeWithError(new Error(`Timeout (${identifier})`));
+        });
+    }
+    /**
+     * Close the control socket. Sends QUIT, then FIN, and ignores any response or error.
+     */
+    _closeControlSocket() {
+        this._removeSocketListeners(this._socket);
+        this._socket.on("error", doNothing);
+        this.send("QUIT");
+        this._closeSocket(this._socket);
+    }
+    /**
+     * Close a socket. Sends FIN and ignores any error.
+     * @protected
+     */
+    _closeSocket(socket) {
+        if (socket) {
+            this._removeSocketListeners(socket);
+            socket.on("error", doNothing);
+            socket.on("timeout", () => socket.destroy());
+            socket.setTimeout(this.timeout);
+            socket.end();
+        }
+    }
+    /**
+     * Remove all default listeners for socket.
+     * @protected
+     */
+    _removeSocketListeners(socket) {
+        socket.removeAllListeners();
+        // Before Node.js 10.3.0, using `socket.removeAllListeners()` without any name did not work: https://github.com/nodejs/node/issues/20923.
+        socket.removeAllListeners("timeout");
+        socket.removeAllListeners("data");
+        socket.removeAllListeners("end");
+        socket.removeAllListeners("error");
+        socket.removeAllListeners("close");
+        socket.removeAllListeners("connect");
+    }
+    /**
+     * Provide a new socket instance.
+     *
+     * Internal use only, replaced for unit tests.
+     */
+    _newSocket() {
+        return new net_1.Socket();
+    }
+}
+exports.FTPContext = FTPContext;
diff --git a/node_modules/basic-ftp/dist/ProgressTracker.d.ts b/node_modules/basic-ftp/dist/ProgressTracker.d.ts
new file mode 100644
index 0000000..fc29030
--- /dev/null
+++ b/node_modules/basic-ftp/dist/ProgressTracker.d.ts
@@ -0,0 +1,46 @@
+/// <reference types="node" />
+import { Socket } from "net";
+export type ProgressType = "upload" | "download" | "list";
+/**
+ * Describes progress of file transfer.
+ */
+export interface ProgressInfo {
+    /** A name describing this info, e.g. the filename of the transfer. */
+    readonly name: string;
+    /** The type of transfer, typically "upload" or "download". */
+    readonly type: ProgressType;
+    /** Transferred bytes in current transfer. */
+    readonly bytes: number;
+    /** Transferred bytes since last counter reset. Useful for tracking multiple transfers. */
+    readonly bytesOverall: number;
+}
+export type ProgressHandler = (info: ProgressInfo) => void;
+/**
+ * Tracks progress of one socket data transfer at a time.
+ */
+export declare class ProgressTracker {
+    bytesOverall: number;
+    protected readonly intervalMs = 500;
+    protected onStop: (stopWithUpdate: boolean) => void;
+    protected onHandle: ProgressHandler;
+    /**
+     * Register a new handler for progress info. Use `undefined` to disable reporting.
+     */
+    reportTo(onHandle?: ProgressHandler): void;
+    /**
+     * Start tracking transfer progress of a socket.
+     *
+     * @param socket  The socket to observe.
+     * @param name  A name associated with this progress tracking, e.g. a filename.
+     * @param type  The type of the transfer, typically "upload" or "download".
+     */
+    start(socket: Socket, name: string, type: ProgressType): void;
+    /**
+     * Stop tracking transfer progress.
+     */
+    stop(): void;
+    /**
+     * Call the progress handler one more time, then stop tracking.
+     */
+    updateAndStop(): void;
+}
diff --git a/node_modules/basic-ftp/dist/ProgressTracker.js b/node_modules/basic-ftp/dist/ProgressTracker.js
new file mode 100644
index 0000000..9263d68
--- /dev/null
+++ b/node_modules/basic-ftp/dist/ProgressTracker.js
@@ -0,0 +1,72 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.ProgressTracker = void 0;
+/**
+ * Tracks progress of one socket data transfer at a time.
+ */
+class ProgressTracker {
+    constructor() {
+        this.bytesOverall = 0;
+        this.intervalMs = 500;
+        this.onStop = noop;
+        this.onHandle = noop;
+    }
+    /**
+     * Register a new handler for progress info. Use `undefined` to disable reporting.
+     */
+    reportTo(onHandle = noop) {
+        this.onHandle = onHandle;
+    }
+    /**
+     * Start tracking transfer progress of a socket.
+     *
+     * @param socket  The socket to observe.
+     * @param name  A name associated with this progress tracking, e.g. a filename.
+     * @param type  The type of the transfer, typically "upload" or "download".
+     */
+    start(socket, name, type) {
+        let lastBytes = 0;
+        this.onStop = poll(this.intervalMs, () => {
+            const bytes = socket.bytesRead + socket.bytesWritten;
+            this.bytesOverall += bytes - lastBytes;
+            lastBytes = bytes;
+            this.onHandle({
+                name,
+                type,
+                bytes,
+                bytesOverall: this.bytesOverall
+            });
+        });
+    }
+    /**
+     * Stop tracking transfer progress.
+     */
+    stop() {
+        this.onStop(false);
+    }
+    /**
+     * Call the progress handler one more time, then stop tracking.
+     */
+    updateAndStop() {
+        this.onStop(true);
+    }
+}
+exports.ProgressTracker = ProgressTracker;
+/**
+ * Starts calling a callback function at a regular interval. The first call will go out
+ * immediately. The function returns a function to stop the polling.
+ */
+function poll(intervalMs, updateFunc) {
+    const id = setInterval(updateFunc, intervalMs);
+    const stopFunc = (stopWithUpdate) => {
+        clearInterval(id);
+        if (stopWithUpdate) {
+            updateFunc();
+        }
+        // Prevent repeated calls to stop calling handler.
+        updateFunc = noop;
+    };
+    updateFunc();
+    return stopFunc;
+}
+function noop() { }
diff --git a/node_modules/basic-ftp/dist/StringEncoding.d.ts b/node_modules/basic-ftp/dist/StringEncoding.d.ts
new file mode 100644
index 0000000..6e0f9af
--- /dev/null
+++ b/node_modules/basic-ftp/dist/StringEncoding.d.ts
@@ -0,0 +1 @@
+export type StringEncoding = "utf8" | "ascii" | "utf-8" | "utf16le" | "ucs2" | "ucs-2" | "base64" | "latin1" | "binary" | "hex" | undefined;
diff --git a/node_modules/basic-ftp/dist/StringEncoding.js b/node_modules/basic-ftp/dist/StringEncoding.js
new file mode 100644
index 0000000..c8ad2e5
--- /dev/null
+++ b/node_modules/basic-ftp/dist/StringEncoding.js
@@ -0,0 +1,2 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/node_modules/basic-ftp/dist/StringWriter.d.ts b/node_modules/basic-ftp/dist/StringWriter.d.ts
new file mode 100644
index 0000000..a9f85fa
--- /dev/null
+++ b/node_modules/basic-ftp/dist/StringWriter.d.ts
@@ -0,0 +1,9 @@
+/// <reference types="node" />
+/// <reference types="node" />
+import { Writable } from "stream";
+import { StringEncoding } from "./StringEncoding";
+export declare class StringWriter extends Writable {
+    protected buf: Buffer;
+    _write(chunk: Buffer | string | any, _: string, callback: (error: Error | null) => void): void;
+    getText(encoding: StringEncoding): string;
+}
diff --git a/node_modules/basic-ftp/dist/StringWriter.js b/node_modules/basic-ftp/dist/StringWriter.js
new file mode 100644
index 0000000..77efd5d
--- /dev/null
+++ b/node_modules/basic-ftp/dist/StringWriter.js
@@ -0,0 +1,23 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.StringWriter = void 0;
+const stream_1 = require("stream");
+class StringWriter extends stream_1.Writable {
+    constructor() {
+        super(...arguments);
+        this.buf = Buffer.alloc(0);
+    }
+    _write(chunk, _, callback) {
+        if (chunk instanceof Buffer) {
+            this.buf = Buffer.concat([this.buf, chunk]);
+            callback(null);
+        }
+        else {
+            callback(new Error("StringWriter expects chunks of type 'Buffer'."));
+        }
+    }
+    getText(encoding) {
+        return this.buf.toString(encoding);
+    }
+}
+exports.StringWriter = StringWriter;
diff --git a/node_modules/basic-ftp/dist/index.d.ts b/node_modules/basic-ftp/dist/index.d.ts
new file mode 100644
index 0000000..fcebb57
--- /dev/null
+++ b/node_modules/basic-ftp/dist/index.d.ts
@@ -0,0 +1,9 @@
+/**
+ * Public API
+ */
+export * from "./Client";
+export * from "./FtpContext";
+export * from "./FileInfo";
+export * from "./parseList";
+export * from "./StringEncoding";
+export { enterPassiveModeIPv4, enterPassiveModeIPv6 } from "./transfer";
diff --git a/node_modules/basic-ftp/dist/index.js b/node_modules/basic-ftp/dist/index.js
new file mode 100644
index 0000000..57c271b
--- /dev/null
+++ b/node_modules/basic-ftp/dist/index.js
@@ -0,0 +1,28 @@
+"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __exportStar = (this && this.__exportStar) || function(m, exports) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.enterPassiveModeIPv6 = exports.enterPassiveModeIPv4 = void 0;
+/**
+ * Public API
+ */
+__exportStar(require("./Client"), exports);
+__exportStar(require("./FtpContext"), exports);
+__exportStar(require("./FileInfo"), exports);
+__exportStar(require("./parseList"), exports);
+__exportStar(require("./StringEncoding"), exports);
+var transfer_1 = require("./transfer");
+Object.defineProperty(exports, "enterPassiveModeIPv4", { enumerable: true, get: function () { return transfer_1.enterPassiveModeIPv4; } });
+Object.defineProperty(exports, "enterPassiveModeIPv6", { enumerable: true, get: function () { return transfer_1.enterPassiveModeIPv6; } });
diff --git a/node_modules/basic-ftp/dist/netUtils.d.ts b/node_modules/basic-ftp/dist/netUtils.d.ts
new file mode 100644
index 0000000..186cc17
--- /dev/null
+++ b/node_modules/basic-ftp/dist/netUtils.d.ts
@@ -0,0 +1,23 @@
+/// <reference types="node" />
+/// <reference types="node" />
+import { Socket } from "net";
+import { ConnectionOptions, TLSSocket } from "tls";
+/**
+ * Returns a string describing the encryption on a given socket instance.
+ */
+export declare function describeTLS(socket: Socket | TLSSocket): string;
+/**
+ * Returns a string describing the remote address of a socket.
+ */
+export declare function describeAddress(socket: Socket): string;
+/**
+ * Upgrade a socket connection with TLS.
+ */
+export declare function upgradeSocket(socket: Socket, options: ConnectionOptions): Promise<TLSSocket>;
+/**
+ * Returns true if an IP is a private address according to https://tools.ietf.org/html/rfc1918#section-3.
+ * This will handle IPv4-mapped IPv6 addresses correctly but return false for all other IPv6 addresses.
+ *
+ * @param ip  The IP as a string, e.g. "192.168.0.1"
+ */
+export declare function ipIsPrivateV4Address(ip?: string): boolean;
diff --git a/node_modules/basic-ftp/dist/netUtils.js b/node_modules/basic-ftp/dist/netUtils.js
new file mode 100644
index 0000000..4a552fe
--- /dev/null
+++ b/node_modules/basic-ftp/dist/netUtils.js
@@ -0,0 +1,67 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.ipIsPrivateV4Address = exports.upgradeSocket = exports.describeAddress = exports.describeTLS = void 0;
+const tls_1 = require("tls");
+/**
+ * Returns a string describing the encryption on a given socket instance.
+ */
+function describeTLS(socket) {
+    if (socket instanceof tls_1.TLSSocket) {
+        const protocol = socket.getProtocol();
+        return protocol ? protocol : "Server socket or disconnected client socket";
+    }
+    return "No encryption";
+}
+exports.describeTLS = describeTLS;
+/**
+ * Returns a string describing the remote address of a socket.
+ */
+function describeAddress(socket) {
+    if (socket.remoteFamily === "IPv6") {
+        return `[${socket.remoteAddress}]:${socket.remotePort}`;
+    }
+    return `${socket.remoteAddress}:${socket.remotePort}`;
+}
+exports.describeAddress = describeAddress;
+/**
+ * Upgrade a socket connection with TLS.
+ */
+function upgradeSocket(socket, options) {
+    return new Promise((resolve, reject) => {
+        const tlsOptions = Object.assign({}, options, {
+            socket
+        });
+        const tlsSocket = (0, tls_1.connect)(tlsOptions, () => {
+            const expectCertificate = tlsOptions.rejectUnauthorized !== false;
+            if (expectCertificate && !tlsSocket.authorized) {
+                reject(tlsSocket.authorizationError);
+            }
+            else {
+                // Remove error listener added below.
+                tlsSocket.removeAllListeners("error");
+                resolve(tlsSocket);
+            }
+        }).once("error", error => {
+            reject(error);
+        });
+    });
+}
+exports.upgradeSocket = upgradeSocket;
+/**
+ * Returns true if an IP is a private address according to https://tools.ietf.org/html/rfc1918#section-3.
+ * This will handle IPv4-mapped IPv6 addresses correctly but return false for all other IPv6 addresses.
+ *
+ * @param ip  The IP as a string, e.g. "192.168.0.1"
+ */
+function ipIsPrivateV4Address(ip = "") {
+    // Handle IPv4-mapped IPv6 addresses like ::ffff:192.168.0.1
+    if (ip.startsWith("::ffff:")) {
+        ip = ip.substr(7); // Strip ::ffff: prefix
+    }
+    const octets = ip.split(".").map(o => parseInt(o, 10));
+    return octets[0] === 10 // 10.0.0.0 - 10.255.255.255
+        || (octets[0] === 172 && octets[1] >= 16 && octets[1] <= 31) // 172.16.0.0 - 172.31.255.255
+        || (octets[0] === 192 && octets[1] === 168) // 192.168.0.0 - 192.168.255.255
+        || ip === "127.0.0.1";
+}
+exports.ipIsPrivateV4Address = ipIsPrivateV4Address;
diff --git a/node_modules/basic-ftp/dist/parseControlResponse.d.ts b/node_modules/basic-ftp/dist/parseControlResponse.d.ts
new file mode 100644
index 0000000..783035e
--- /dev/null
+++ b/node_modules/basic-ftp/dist/parseControlResponse.d.ts
@@ -0,0 +1,22 @@
+export interface ParsedResponse {
+    readonly messages: string[];
+    readonly rest: string;
+}
+/**
+ * Parse an FTP control response as a collection of messages. A message is a complete
+ * single- or multiline response. A response can also contain multiple multiline responses
+ * that will each be represented by a message. A response can also be incomplete
+ * and be completed on the next incoming data chunk for which case this function also
+ * describes a `rest`. This function converts all CRLF to LF.
+ */
+export declare function parseControlResponse(text: string): ParsedResponse;
+export declare function isSingleLine(line: string): boolean;
+export declare function isMultiline(line: string): boolean;
+/**
+ * Return true if an FTP return code describes a positive completion.
+ */
+export declare function positiveCompletion(code: number): boolean;
+/**
+ * Return true if an FTP return code describes a positive intermediate response.
+ */
+export declare function positiveIntermediate(code: number): boolean;
diff --git a/node_modules/basic-ftp/dist/parseControlResponse.js b/node_modules/basic-ftp/dist/parseControlResponse.js
new file mode 100644
index 0000000..9779a5b
--- /dev/null
+++ b/node_modules/basic-ftp/dist/parseControlResponse.js
@@ -0,0 +1,67 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.positiveIntermediate = exports.positiveCompletion = exports.isMultiline = exports.isSingleLine = exports.parseControlResponse = void 0;
+const LF = "\n";
+/**
+ * Parse an FTP control response as a collection of messages. A message is a complete
+ * single- or multiline response. A response can also contain multiple multiline responses
+ * that will each be represented by a message. A response can also be incomplete
+ * and be completed on the next incoming data chunk for which case this function also
+ * describes a `rest`. This function converts all CRLF to LF.
+ */
+function parseControlResponse(text) {
+    const lines = text.split(/\r?\n/).filter(isNotBlank);
+    const messages = [];
+    let startAt = 0;
+    let tokenRegex;
+    for (let i = 0; i < lines.length; i++) {
+        const line = lines[i];
+        // No group has been opened.
+        if (!tokenRegex) {
+            if (isMultiline(line)) {
+                // Open a group by setting an expected token.
+                const token = line.substr(0, 3);
+                tokenRegex = new RegExp(`^${token}(?:$| )`);
+                startAt = i;
+            }
+            else if (isSingleLine(line)) {
+                // Single lines can be grouped immediately.
+                messages.push(line);
+            }
+        }
+        // Group has been opened, expect closing token.
+        else if (tokenRegex.test(line)) {
+            tokenRegex = undefined;
+            messages.push(lines.slice(startAt, i + 1).join(LF));
+        }
+    }
+    // The last group might not have been closed, report it as a rest.
+    const rest = tokenRegex ? lines.slice(startAt).join(LF) + LF : "";
+    return { messages, rest };
+}
+exports.parseControlResponse = parseControlResponse;
+function isSingleLine(line) {
+    return /^\d\d\d(?:$| )/.test(line);
+}
+exports.isSingleLine = isSingleLine;
+function isMultiline(line) {
+    return /^\d\d\d-/.test(line);
+}
+exports.isMultiline = isMultiline;
+/**
+ * Return true if an FTP return code describes a positive completion.
+ */
+function positiveCompletion(code) {
+    return code >= 200 && code < 300;
+}
+exports.positiveCompletion = positiveCompletion;
+/**
+ * Return true if an FTP return code describes a positive intermediate response.
+ */
+function positiveIntermediate(code) {
+    return code >= 300 && code < 400;
+}
+exports.positiveIntermediate = positiveIntermediate;
+function isNotBlank(str) {
+    return str.trim() !== "";
+}
diff --git a/node_modules/basic-ftp/dist/parseList.d.ts b/node_modules/basic-ftp/dist/parseList.d.ts
new file mode 100644
index 0000000..8bb28df
--- /dev/null
+++ b/node_modules/basic-ftp/dist/parseList.d.ts
@@ -0,0 +1,5 @@
+import { FileInfo } from "./FileInfo";
+/**
+ * Parse raw directory listing.
+ */
+export declare function parseList(rawList: string): FileInfo[];
diff --git a/node_modules/basic-ftp/dist/parseList.js b/node_modules/basic-ftp/dist/parseList.js
new file mode 100644
index 0000000..ee71287f2
--- /dev/null
+++ b/node_modules/basic-ftp/dist/parseList.js
@@ -0,0 +1,70 @@
+"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.parseList = void 0;
+const dosParser = __importStar(require("./parseListDOS"));
+const unixParser = __importStar(require("./parseListUnix"));
+const mlsdParser = __importStar(require("./parseListMLSD"));
+/**
+ * Available directory listing parsers. These are candidates that will be tested
+ * in the order presented. The first candidate will be used to parse the whole list.
+ */
+const availableParsers = [
+    dosParser,
+    unixParser,
+    mlsdParser // Keep MLSD last, may accept filename only
+];
+function firstCompatibleParser(line, parsers) {
+    return parsers.find(parser => parser.testLine(line) === true);
+}
+function isNotBlank(str) {
+    return str.trim() !== "";
+}
+function isNotMeta(str) {
+    return !str.startsWith("total");
+}
+const REGEX_NEWLINE = /\r?\n/;
+/**
+ * Parse raw directory listing.
+ */
+function parseList(rawList) {
+    const lines = rawList
+        .split(REGEX_NEWLINE)
+        .filter(isNotBlank)
+        .filter(isNotMeta);
+    if (lines.length === 0) {
+        return [];
+    }
+    const testLine = lines[lines.length - 1];
+    const parser = firstCompatibleParser(testLine, availableParsers);
+    if (!parser) {
+        throw new Error("This library only supports MLSD, Unix- or DOS-style directory listing. Your FTP server seems to be using another format. You can see the transmitted listing when setting `client.ftp.verbose = true`. You can then provide a custom parser to `client.parseList`, see the documentation for details.");
+    }
+    const files = lines
+        .map(parser.parseLine)
+        .filter((info) => info !== undefined);
+    return parser.transformList(files);
+}
+exports.parseList = parseList;
diff --git a/node_modules/basic-ftp/dist/parseListDOS.d.ts b/node_modules/basic-ftp/dist/parseListDOS.d.ts
new file mode 100644
index 0000000..1d39510
--- /dev/null
+++ b/node_modules/basic-ftp/dist/parseListDOS.d.ts
@@ -0,0 +1,12 @@
+import { FileInfo } from "./FileInfo";
+/**
+ * Returns true if a given line might be a DOS-style listing.
+ *
+ * - Example: `12-05-96  05:03PM       <DIR>          myDir`
+ */
+export declare function testLine(line: string): boolean;
+/**
+ * Parse a single line of a DOS-style directory listing.
+ */
+export declare function parseLine(line: string): FileInfo | undefined;
+export declare function transformList(files: FileInfo[]): FileInfo[];
diff --git a/node_modules/basic-ftp/dist/parseListDOS.js b/node_modules/basic-ftp/dist/parseListDOS.js
new file mode 100644
index 0000000..15c0bc1
--- /dev/null
+++ b/node_modules/basic-ftp/dist/parseListDOS.js
@@ -0,0 +1,53 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.transformList = exports.parseLine = exports.testLine = void 0;
+const FileInfo_1 = require("./FileInfo");
+/**
+ * This parser is based on the FTP client library source code in Apache Commons Net provided
+ * under the Apache 2.0 license. It has been simplified and rewritten to better fit the Javascript language.
+ *
+ * https://github.com/apache/commons-net/blob/master/src/main/java/org/apache/commons/net/ftp/parser/NTFTPEntryParser.java
+ */
+const RE_LINE = new RegExp("(\\S+)\\s+(\\S+)\\s+" // MM-dd-yy whitespace hh:mma|kk:mm swallow trailing spaces
+    + "(?:(<DIR>)|([0-9]+))\\s+" // <DIR> or ddddd swallow trailing spaces
+    + "(\\S.*)" // First non-space followed by rest of line (name)
+);
+/**
+ * Returns true if a given line might be a DOS-style listing.
+ *
+ * - Example: `12-05-96  05:03PM       <DIR>          myDir`
+ */
+function testLine(line) {
+    return /^\d{2}/.test(line) && RE_LINE.test(line);
+}
+exports.testLine = testLine;
+/**
+ * Parse a single line of a DOS-style directory listing.
+ */
+function parseLine(line) {
+    const groups = line.match(RE_LINE);
+    if (groups === null) {
+        return undefined;
+    }
+    const name = groups[5];
+    if (name === "." || name === "..") { // Ignore parent directory links
+        return undefined;
+    }
+    const file = new FileInfo_1.FileInfo(name);
+    const fileType = groups[3];
+    if (fileType === "<DIR>") {
+        file.type = FileInfo_1.FileType.Directory;
+        file.size = 0;
+    }
+    else {
+        file.type = FileInfo_1.FileType.File;
+        file.size = parseInt(groups[4], 10);
+    }
+    file.rawModifiedAt = groups[1] + " " + groups[2];
+    return file;
+}
+exports.parseLine = parseLine;
+function transformList(files) {
+    return files;
+}
+exports.transformList = transformList;
diff --git a/node_modules/basic-ftp/dist/parseListMLSD.d.ts b/node_modules/basic-ftp/dist/parseListMLSD.d.ts
new file mode 100644
index 0000000..68b5124
--- /dev/null
+++ b/node_modules/basic-ftp/dist/parseListMLSD.d.ts
@@ -0,0 +1,20 @@
+import { FileInfo } from "./FileInfo";
+/**
+ * Returns true if a given line might be part of an MLSD listing.
+ *
+ * - Example 1: `size=15227;type=dir;perm=el;modify=20190419065730; test one`
+ * - Example 2: ` file name` (leading space)
+ */
+export declare function testLine(line: string): boolean;
+/**
+ * Parse single line as MLSD listing, see specification at https://tools.ietf.org/html/rfc3659#section-7.
+ */
+export declare function parseLine(line: string): FileInfo | undefined;
+export declare function transformList(files: FileInfo[]): FileInfo[];
+/**
+ * Parse date as specified in https://tools.ietf.org/html/rfc3659#section-2.3.
+ *
+ * Message contains response code and modified time in the format: YYYYMMDDHHMMSS[.sss]
+ * For example `19991005213102` or `19980615100045.014`.
+ */
+export declare function parseMLSxDate(fact: string): Date;
diff --git a/node_modules/basic-ftp/dist/parseListMLSD.js b/node_modules/basic-ftp/dist/parseListMLSD.js
new file mode 100644
index 0000000..86eea5e
--- /dev/null
+++ b/node_modules/basic-ftp/dist/parseListMLSD.js
@@ -0,0 +1,188 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.parseMLSxDate = exports.transformList = exports.parseLine = exports.testLine = void 0;
+const FileInfo_1 = require("./FileInfo");
+function parseSize(value, info) {
+    info.size = parseInt(value, 10);
+}
+/**
+ * Parsers for MLSD facts.
+ */
+const factHandlersByName = {
+    "size": parseSize,
+    "sizd": parseSize,
+    "unique": (value, info) => {
+        info.uniqueID = value;
+    },
+    "modify": (value, info) => {
+        info.modifiedAt = parseMLSxDate(value);
+        info.rawModifiedAt = info.modifiedAt.toISOString();
+    },
+    "type": (value, info) => {
+        // There seems to be confusion on how to handle symbolic links for Unix. RFC 3659 doesn't describe
+        // this but mentions some examples using the syntax `type=OS.unix=slink:<target>`. But according to
+        // an entry in the Errata (https://www.rfc-editor.org/errata/eid1500) this syntax can't be valid.
+        // Instead it proposes to use `type=OS.unix=symlink` and to then list the actual target of the
+        // symbolic link as another entry in the directory listing. The unique identifiers can then be used
+        // to derive the connection between link(s) and target. We'll have to handle both cases as there
+        // are differing opinions on how to deal with this. Here are some links on this topic:
+        // - ProFTPD source: https://github.com/proftpd/proftpd/blob/56e6dfa598cbd4ef5c6cba439bcbcd53a63e3b21/modules/mod_facts.c#L531
+        // - ProFTPD bug: http://bugs.proftpd.org/show_bug.cgi?id=3318
+        // - ProFTPD statement: http://www.proftpd.org/docs/modules/mod_facts.html
+        // – FileZilla bug: https://trac.filezilla-project.org/ticket/9310
+        if (value.startsWith("OS.unix=slink")) {
+            info.type = FileInfo_1.FileType.SymbolicLink;
+            info.link = value.substr(value.indexOf(":") + 1);
+            return 1 /* FactHandlerResult.Continue */;
+        }
+        switch (value) {
+            case "file":
+                info.type = FileInfo_1.FileType.File;
+                break;
+            case "dir":
+                info.type = FileInfo_1.FileType.Directory;
+                break;
+            case "OS.unix=symlink":
+                info.type = FileInfo_1.FileType.SymbolicLink;
+                // The target of the symbolic link might be defined in another line in the directory listing.
+                // We'll handle this in `transformList()` below.
+                break;
+            case "cdir": // Current directory being listed
+            case "pdir": // Parent directory
+                return 2 /* FactHandlerResult.IgnoreFile */; // Don't include these entries in the listing
+            default:
+                info.type = FileInfo_1.FileType.Unknown;
+        }
+        return 1 /* FactHandlerResult.Continue */;
+    },
+    "unix.mode": (value, info) => {
+        const digits = value.substr(-3);
+        info.permissions = {
+            user: parseInt(digits[0], 10),
+            group: parseInt(digits[1], 10),
+            world: parseInt(digits[2], 10)
+        };
+    },
+    "unix.ownername": (value, info) => {
+        info.user = value;
+    },
+    "unix.owner": (value, info) => {
+        if (info.user === undefined)
+            info.user = value;
+    },
+    get "unix.uid"() {
+        return this["unix.owner"];
+    },
+    "unix.groupname": (value, info) => {
+        info.group = value;
+    },
+    "unix.group": (value, info) => {
+        if (info.group === undefined)
+            info.group = value;
+    },
+    get "unix.gid"() {
+        return this["unix.group"];
+    }
+    // Regarding the fact "perm":
+    // We don't handle permission information stored in "perm" because its information is conceptually
+    // different from what users of FTP clients usually associate with "permissions". Those that have
+    // some expectations (and probably want to edit them with a SITE command) often unknowingly expect
+    // the Unix permission system. The information passed by "perm" describes what FTP commands can be
+    // executed with a file/directory. But even this can be either incomplete or just meant as a "guide"
+    // as the spec mentions. From https://tools.ietf.org/html/rfc3659#section-7.5.5: "The permissions are
+    // described here as they apply to FTP commands. They may not map easily into particular permissions
+    // available on the server's operating system." The parser by Apache Commons tries to translate these
+    // to Unix permissions – this is misleading users and might not even be correct.
+};
+/**
+ * Split a string once at the first position of a delimiter. For example
+ * `splitStringOnce("a b c d", " ")` returns `["a", "b c d"]`.
+ */
+function splitStringOnce(str, delimiter) {
+    const pos = str.indexOf(delimiter);
+    const a = str.substr(0, pos);
+    const b = str.substr(pos + delimiter.length);
+    return [a, b];
+}
+/**
+ * Returns true if a given line might be part of an MLSD listing.
+ *
+ * - Example 1: `size=15227;type=dir;perm=el;modify=20190419065730; test one`
+ * - Example 2: ` file name` (leading space)
+ */
+function testLine(line) {
+    return /^\S+=\S+;/.test(line) || line.startsWith(" ");
+}
+exports.testLine = testLine;
+/**
+ * Parse single line as MLSD listing, see specification at https://tools.ietf.org/html/rfc3659#section-7.
+ */
+function parseLine(line) {
+    const [packedFacts, name] = splitStringOnce(line, " ");
+    if (name === "" || name === "." || name === "..") {
+        return undefined;
+    }
+    const info = new FileInfo_1.FileInfo(name);
+    const facts = packedFacts.split(";");
+    for (const fact of facts) {
+        const [factName, factValue] = splitStringOnce(fact, "=");
+        if (!factValue) {
+            continue;
+        }
+        const factHandler = factHandlersByName[factName.toLowerCase()];
+        if (!factHandler) {
+            continue;
+        }
+        const result = factHandler(factValue, info);
+        if (result === 2 /* FactHandlerResult.IgnoreFile */) {
+            return undefined;
+        }
+    }
+    return info;
+}
+exports.parseLine = parseLine;
+function transformList(files) {
+    // Create a map of all files that are not symbolic links by their unique ID
+    const nonLinksByID = new Map();
+    for (const file of files) {
+        if (!file.isSymbolicLink && file.uniqueID !== undefined) {
+            nonLinksByID.set(file.uniqueID, file);
+        }
+    }
+    const resolvedFiles = [];
+    for (const file of files) {
+        // Try to associate unresolved symbolic links with a target file/directory.
+        if (file.isSymbolicLink && file.uniqueID !== undefined && file.link === undefined) {
+            const target = nonLinksByID.get(file.uniqueID);
+            if (target !== undefined) {
+                file.link = target.name;
+            }
+        }
+        // The target of a symbolic link is listed as an entry in the directory listing but might
+        // have a path pointing outside of this directory. In that case we don't want this entry
+        // to be part of the listing. We generally don't want these kind of entries at all.
+        const isPartOfDirectory = !file.name.includes("/");
+        if (isPartOfDirectory) {
+            resolvedFiles.push(file);
+        }
+    }
+    return resolvedFiles;
+}
+exports.transformList = transformList;
+/**
+ * Parse date as specified in https://tools.ietf.org/html/rfc3659#section-2.3.
+ *
+ * Message contains response code and modified time in the format: YYYYMMDDHHMMSS[.sss]
+ * For example `19991005213102` or `19980615100045.014`.
+ */
+function parseMLSxDate(fact) {
+    return new Date(Date.UTC(+fact.slice(0, 4), // Year
+    +fact.slice(4, 6) - 1, // Month
+    +fact.slice(6, 8), // Date
+    +fact.slice(8, 10), // Hours
+    +fact.slice(10, 12), // Minutes
+    +fact.slice(12, 14), // Seconds
+    +fact.slice(15, 18) // Milliseconds
+    ));
+}
+exports.parseMLSxDate = parseMLSxDate;
diff --git a/node_modules/basic-ftp/dist/parseListUnix.d.ts b/node_modules/basic-ftp/dist/parseListUnix.d.ts
new file mode 100644
index 0000000..d33b052
--- /dev/null
+++ b/node_modules/basic-ftp/dist/parseListUnix.d.ts
@@ -0,0 +1,12 @@
+import { FileInfo } from "./FileInfo";
+/**
+ * Returns true if a given line might be a Unix-style listing.
+ *
+ * - Example: `-rw-r--r--+   1 patrick  staff   1057 Dec 11 14:35 test.txt`
+ */
+export declare function testLine(line: string): boolean;
+/**
+ * Parse a single line of a Unix-style directory listing.
+ */
+export declare function parseLine(line: string): FileInfo | undefined;
+export declare function transformList(files: FileInfo[]): FileInfo[];
diff --git a/node_modules/basic-ftp/dist/parseListUnix.js b/node_modules/basic-ftp/dist/parseListUnix.js
new file mode 100644
index 0000000..5d5a804
--- /dev/null
+++ b/node_modules/basic-ftp/dist/parseListUnix.js
@@ -0,0 +1,156 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.transformList = exports.parseLine = exports.testLine = void 0;
+const FileInfo_1 = require("./FileInfo");
+const JA_MONTH = "\u6708";
+const JA_DAY = "\u65e5";
+const JA_YEAR = "\u5e74";
+/**
+ * This parser is based on the FTP client library source code in Apache Commons Net provided
+ * under the Apache 2.0 license. It has been simplified and rewritten to better fit the Javascript language.
+ *
+ * https://github.com/apache/commons-net/blob/master/src/main/java/org/apache/commons/net/ftp/parser/UnixFTPEntryParser.java
+ *
+ * Below is the regular expression used by this parser.
+ *
+ * Permissions:
+ *    r   the file is readable
+ *    w   the file is writable
+ *    x   the file is executable
+ *    -   the indicated permission is not granted
+ *    L   mandatory locking occurs during access (the set-group-ID bit is
+ *        on and the group execution bit is off)
+ *    s   the set-user-ID or set-group-ID bit is on, and the corresponding
+ *        user or group execution bit is also on
+ *    S   undefined bit-state (the set-user-ID bit is on and the user
+ *        execution bit is off)
+ *    t   the 1000 (octal) bit, or sticky bit, is on [see chmod(1)], and
+ *        execution is on
+ *    T   the 1000 bit is turned on, and execution is off (undefined bit-
+ *        state)
+ *    e   z/OS external link bit
+ *    Final letter may be appended:
+ *    +   file has extended security attributes (e.g. ACL)
+ *    Note: local listings on MacOSX also use '@'
+ *    this is not allowed for here as does not appear to be shown by FTP servers
+ *    {@code @}   file has extended attributes
+ */
+const RE_LINE = new RegExp("([bcdelfmpSs-])" // file type
+    + "(((r|-)(w|-)([xsStTL-]))((r|-)(w|-)([xsStTL-]))((r|-)(w|-)([xsStTL-]?)))\\+?" // permissions
+    + "\\s*" // separator TODO why allow it to be omitted??
+    + "(\\d+)" // link count
+    + "\\s+" // separator
+    + "(?:(\\S+(?:\\s\\S+)*?)\\s+)?" // owner name (optional spaces)
+    + "(?:(\\S+(?:\\s\\S+)*)\\s+)?" // group name (optional spaces)
+    + "(\\d+(?:,\\s*\\d+)?)" // size or n,m
+    + "\\s+" // separator
+    /**
+     * numeric or standard format date:
+     *   yyyy-mm-dd (expecting hh:mm to follow)
+     *   MMM [d]d
+     *   [d]d MMM
+     *   N.B. use non-space for MMM to allow for languages such as German which use
+     *   diacritics (e.g. umlaut) in some abbreviations.
+     *   Japanese uses numeric day and month with suffixes to distinguish them
+     *   [d]dXX [d]dZZ
+     */
+    + "(" +
+    "(?:\\d+[-/]\\d+[-/]\\d+)" + // yyyy-mm-dd
+    "|(?:\\S{3}\\s+\\d{1,2})" + // MMM [d]d
+    "|(?:\\d{1,2}\\s+\\S{3})" + // [d]d MMM
+    "|(?:\\d{1,2}" + JA_MONTH + "\\s+\\d{1,2}" + JA_DAY + ")" +
+    ")"
+    + "\\s+" // separator
+    /**
+     * year (for non-recent standard format) - yyyy
+     * or time (for numeric or recent standard format) [h]h:mm
+     * or Japanese year - yyyyXX
+     */
+    + "((?:\\d+(?::\\d+)?)|(?:\\d{4}" + JA_YEAR + "))" // (20)
+    + "\\s" // separator
+    + "(.*)"); // the rest (21)
+/**
+ * Returns true if a given line might be a Unix-style listing.
+ *
+ * - Example: `-rw-r--r--+   1 patrick  staff   1057 Dec 11 14:35 test.txt`
+ */
+function testLine(line) {
+    return RE_LINE.test(line);
+}
+exports.testLine = testLine;
+/**
+ * Parse a single line of a Unix-style directory listing.
+ */
+function parseLine(line) {
+    const groups = line.match(RE_LINE);
+    if (groups === null) {
+        return undefined;
+    }
+    const name = groups[21];
+    if (name === "." || name === "..") { // Ignore parent directory links
+        return undefined;
+    }
+    const file = new FileInfo_1.FileInfo(name);
+    file.size = parseInt(groups[18], 10);
+    file.user = groups[16];
+    file.group = groups[17];
+    file.hardLinkCount = parseInt(groups[15], 10);
+    file.rawModifiedAt = groups[19] + " " + groups[20];
+    file.permissions = {
+        user: parseMode(groups[4], groups[5], groups[6]),
+        group: parseMode(groups[8], groups[9], groups[10]),
+        world: parseMode(groups[12], groups[13], groups[14]),
+    };
+    // Set file type
+    switch (groups[1].charAt(0)) {
+        case "d":
+            file.type = FileInfo_1.FileType.Directory;
+            break;
+        case "e": // NET-39 => z/OS external link
+            file.type = FileInfo_1.FileType.SymbolicLink;
+            break;
+        case "l":
+            file.type = FileInfo_1.FileType.SymbolicLink;
+            break;
+        case "b":
+        case "c":
+            file.type = FileInfo_1.FileType.File; // TODO change this if DEVICE_TYPE implemented
+            break;
+        case "f":
+        case "-":
+            file.type = FileInfo_1.FileType.File;
+            break;
+        default:
+            // A 'whiteout' file is an ARTIFICIAL entry in any of several types of
+            // 'translucent' filesystems, of which a 'union' filesystem is one.
+            file.type = FileInfo_1.FileType.Unknown;
+    }
+    // Separate out the link name for symbolic links
+    if (file.isSymbolicLink) {
+        const end = name.indexOf(" -> ");
+        if (end !== -1) {
+            file.name = name.substring(0, end);
+            file.link = name.substring(end + 4);
+        }
+    }
+    return file;
+}
+exports.parseLine = parseLine;
+function transformList(files) {
+    return files;
+}
+exports.transformList = transformList;
+function parseMode(r, w, x) {
+    let value = 0;
+    if (r !== "-") {
+        value += FileInfo_1.FileInfo.UnixPermission.Read;
+    }
+    if (w !== "-") {
+        value += FileInfo_1.FileInfo.UnixPermission.Write;
+    }
+    const execToken = x.charAt(0);
+    if (execToken !== "-" && execToken.toUpperCase() !== execToken) {
+        value += FileInfo_1.FileInfo.UnixPermission.Execute;
+    }
+    return value;
+}
diff --git a/node_modules/basic-ftp/dist/transfer.d.ts b/node_modules/basic-ftp/dist/transfer.d.ts
new file mode 100644
index 0000000..4ec447d
--- /dev/null
+++ b/node_modules/basic-ftp/dist/transfer.d.ts
@@ -0,0 +1,34 @@
+/// <reference types="node" />
+import { Writable, Readable } from "stream";
+import { FTPContext, FTPResponse } from "./FtpContext";
+import { ProgressTracker, ProgressType } from "./ProgressTracker";
+export type UploadCommand = "STOR" | "APPE";
+/**
+ * Prepare a data socket using passive mode over IPv6.
+ */
+export declare function enterPassiveModeIPv6(ftp: FTPContext): Promise<FTPResponse>;
+/**
+ * Parse an EPSV response. Returns only the port as in EPSV the host of the control connection is used.
+ */
+export declare function parseEpsvResponse(message: string): number;
+/**
+ * Prepare a data socket using passive mode over IPv4.
+ */
+export declare function enterPassiveModeIPv4(ftp: FTPContext): Promise<FTPResponse>;
+/**
+ * Parse a PASV response.
+ */
+export declare function parsePasvResponse(message: string): {
+    host: string;
+    port: number;
+};
+export declare function connectForPassiveTransfer(host: string, port: number, ftp: FTPContext): Promise<void>;
+export interface TransferConfig {
+    command: string;
+    remotePath: string;
+    type: ProgressType;
+    ftp: FTPContext;
+    tracker: ProgressTracker;
+}
+export declare function uploadFrom(source: Readable, config: TransferConfig): Promise<FTPResponse>;
+export declare function downloadTo(destination: Writable, config: TransferConfig): Promise<FTPResponse>;
diff --git a/node_modules/basic-ftp/dist/transfer.js b/node_modules/basic-ftp/dist/transfer.js
new file mode 100644
index 0000000..1d8379d
--- /dev/null
+++ b/node_modules/basic-ftp/dist/transfer.js
@@ -0,0 +1,300 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.downloadTo = exports.uploadFrom = exports.connectForPassiveTransfer = exports.parsePasvResponse = exports.enterPassiveModeIPv4 = exports.parseEpsvResponse = exports.enterPassiveModeIPv6 = void 0;
+const netUtils_1 = require("./netUtils");
+const stream_1 = require("stream");
+const tls_1 = require("tls");
+const parseControlResponse_1 = require("./parseControlResponse");
+/**
+ * Prepare a data socket using passive mode over IPv6.
+ */
+async function enterPassiveModeIPv6(ftp) {
+    const res = await ftp.request("EPSV");
+    const port = parseEpsvResponse(res.message);
+    if (!port) {
+        throw new Error("Can't parse EPSV response: " + res.message);
+    }
+    const controlHost = ftp.socket.remoteAddress;
+    if (controlHost === undefined) {
+        throw new Error("Control socket is disconnected, can't get remote address.");
+    }
+    await connectForPassiveTransfer(controlHost, port, ftp);
+    return res;
+}
+exports.enterPassiveModeIPv6 = enterPassiveModeIPv6;
+/**
+ * Parse an EPSV response. Returns only the port as in EPSV the host of the control connection is used.
+ */
+function parseEpsvResponse(message) {
+    // Get port from EPSV response, e.g. "229 Entering Extended Passive Mode (|||6446|)"
+    // Some FTP Servers such as the one on IBM i (OS/400) use ! instead of | in their EPSV response.
+    const groups = message.match(/[|!]{3}(.+)[|!]/);
+    if (groups === null || groups[1] === undefined) {
+        throw new Error(`Can't parse response to 'EPSV': ${message}`);
+    }
+    const port = parseInt(groups[1], 10);
+    if (Number.isNaN(port)) {
+        throw new Error(`Can't parse response to 'EPSV', port is not a number: ${message}`);
+    }
+    return port;
+}
+exports.parseEpsvResponse = parseEpsvResponse;
+/**
+ * Prepare a data socket using passive mode over IPv4.
+ */
+async function enterPassiveModeIPv4(ftp) {
+    const res = await ftp.request("PASV");
+    const target = parsePasvResponse(res.message);
+    if (!target) {
+        throw new Error("Can't parse PASV response: " + res.message);
+    }
+    // If the host in the PASV response has a local address while the control connection hasn't,
+    // we assume a NAT issue and use the IP of the control connection as the target for the data connection.
+    // We can't always perform this replacement because it's possible (although unlikely) that the FTP server
+    // indeed uses a different host for data connections.
+    const controlHost = ftp.socket.remoteAddress;
+    if ((0, netUtils_1.ipIsPrivateV4Address)(target.host) && controlHost && !(0, netUtils_1.ipIsPrivateV4Address)(controlHost)) {
+        target.host = controlHost;
+    }
+    await connectForPassiveTransfer(target.host, target.port, ftp);
+    return res;
+}
+exports.enterPassiveModeIPv4 = enterPassiveModeIPv4;
+/**
+ * Parse a PASV response.
+ */
+function parsePasvResponse(message) {
+    // Get host and port from PASV response, e.g. "227 Entering Passive Mode (192,168,1,100,10,229)"
+    const groups = message.match(/([-\d]+,[-\d]+,[-\d]+,[-\d]+),([-\d]+),([-\d]+)/);
+    if (groups === null || groups.length !== 4) {
+        throw new Error(`Can't parse response to 'PASV': ${message}`);
+    }
+    return {
+        host: groups[1].replace(/,/g, "."),
+        port: (parseInt(groups[2], 10) & 255) * 256 + (parseInt(groups[3], 10) & 255)
+    };
+}
+exports.parsePasvResponse = parsePasvResponse;
+function connectForPassiveTransfer(host, port, ftp) {
+    return new Promise((resolve, reject) => {
+        let socket = ftp._newSocket();
+        const handleConnErr = function (err) {
+            err.message = "Can't open data connection in passive mode: " + err.message;
+            reject(err);
+        };
+        const handleTimeout = function () {
+            socket.destroy();
+            reject(new Error(`Timeout when trying to open data connection to ${host}:${port}`));
+        };
+        socket.setTimeout(ftp.timeout);
+        socket.on("error", handleConnErr);
+        socket.on("timeout", handleTimeout);
+        socket.connect({ port, host, family: ftp.ipFamily }, () => {
+            if (ftp.socket instanceof tls_1.TLSSocket) {
+                socket = (0, tls_1.connect)(Object.assign({}, ftp.tlsOptions, {
+                    socket,
+                    // Reuse the TLS session negotiated earlier when the control connection
+                    // was upgraded. Servers expect this because it provides additional
+                    // security: If a completely new session would be negotiated, a hacker
+                    // could guess the port and connect to the new data connection before we do
+                    // by just starting his/her own TLS session.
+                    session: ftp.socket.getSession()
+                }));
+                // It's the responsibility of the transfer task to wait until the
+                // TLS socket issued the event 'secureConnect'. We can't do this
+                // here because some servers will start upgrading after the
+                // specific transfer request has been made. List and download don't
+                // have to wait for this event because the server sends whenever it
+                // is ready. But for upload this has to be taken into account,
+                // see the details in the upload() function below.
+            }
+            // Let the FTPContext listen to errors from now on, remove local handler.
+            socket.removeListener("error", handleConnErr);
+            socket.removeListener("timeout", handleTimeout);
+            ftp.dataSocket = socket;
+            resolve();
+        });
+    });
+}
+exports.connectForPassiveTransfer = connectForPassiveTransfer;
+/**
+ * Helps resolving/rejecting transfers.
+ *
+ * This is used internally for all FTP transfers. For example when downloading, the server might confirm
+ * with "226 Transfer complete" when in fact the download on the data connection has not finished
+ * yet. With all transfers we make sure that a) the result arrived and b) has been confirmed by
+ * e.g. the control connection. We just don't know in which order this will happen.
+ */
+class TransferResolver {
+    /**
+     * Instantiate a TransferResolver
+     */
+    constructor(ftp, progress) {
+        this.ftp = ftp;
+        this.progress = progress;
+        this.response = undefined;
+        this.dataTransferDone = false;
+    }
+    /**
+     * Mark the beginning of a transfer.
+     *
+     * @param name - Name of the transfer, usually the filename.
+     * @param type - Type of transfer, usually "upload" or "download".
+     */
+    onDataStart(name, type) {
+        // Let the data socket be in charge of tracking timeouts during transfer.
+        // The control socket sits idle during this time anyway and might provoke
+        // a timeout unnecessarily. The control connection will take care
+        // of timeouts again once data transfer is complete or failed.
+        if (this.ftp.dataSocket === undefined) {
+            throw new Error("Data transfer should start but there is no data connection.");
+        }
+        this.ftp.socket.setTimeout(0);
+        this.ftp.dataSocket.setTimeout(this.ftp.timeout);
+        this.progress.start(this.ftp.dataSocket, name, type);
+    }
+    /**
+     * The data connection has finished the transfer.
+     */
+    onDataDone(task) {
+        this.progress.updateAndStop();
+        // Hand-over timeout tracking back to the control connection. It's possible that
+        // we don't receive the response over the control connection that the transfer is
+        // done. In this case, we want to correctly associate the resulting timeout with
+        // the control connection.
+        this.ftp.socket.setTimeout(this.ftp.timeout);
+        if (this.ftp.dataSocket) {
+            this.ftp.dataSocket.setTimeout(0);
+        }
+        this.dataTransferDone = true;
+        this.tryResolve(task);
+    }
+    /**
+     * The control connection reports the transfer as finished.
+     */
+    onControlDone(task, response) {
+        this.response = response;
+        this.tryResolve(task);
+    }
+    /**
+     * An error has been reported and the task should be rejected.
+     */
+    onError(task, err) {
+        this.progress.updateAndStop();
+        this.ftp.socket.setTimeout(this.ftp.timeout);
+        this.ftp.dataSocket = undefined;
+        task.reject(err);
+    }
+    /**
+     * Control connection sent an unexpected request requiring a response from our part. We
+     * can't provide that (because unknown) and have to close the contrext with an error because
+     * the FTP server is now caught up in a state we can't resolve.
+     */
+    onUnexpectedRequest(response) {
+        const err = new Error(`Unexpected FTP response is requesting an answer: ${response.message}`);
+        this.ftp.closeWithError(err);
+    }
+    tryResolve(task) {
+        // To resolve, we need both control and data connection to report that the transfer is done.
+        const canResolve = this.dataTransferDone && this.response !== undefined;
+        if (canResolve) {
+            this.ftp.dataSocket = undefined;
+            task.resolve(this.response);
+        }
+    }
+}
+function uploadFrom(source, config) {
+    const resolver = new TransferResolver(config.ftp, config.tracker);
+    const fullCommand = `${config.command} ${config.remotePath}`;
+    return config.ftp.handle(fullCommand, (res, task) => {
+        if (res instanceof Error) {
+            resolver.onError(task, res);
+        }
+        else if (res.code === 150 || res.code === 125) { // Ready to upload
+            const dataSocket = config.ftp.dataSocket;
+            if (!dataSocket) {
+                resolver.onError(task, new Error("Upload should begin but no data connection is available."));
+                return;
+            }
+            // If we are using TLS, we have to wait until the dataSocket issued
+            // 'secureConnect'. If this hasn't happened yet, getCipher() returns undefined.
+            const canUpload = "getCipher" in dataSocket ? dataSocket.getCipher() !== undefined : true;
+            onConditionOrEvent(canUpload, dataSocket, "secureConnect", () => {
+                config.ftp.log(`Uploading to ${(0, netUtils_1.describeAddress)(dataSocket)} (${(0, netUtils_1.describeTLS)(dataSocket)})`);
+                resolver.onDataStart(config.remotePath, config.type);
+                (0, stream_1.pipeline)(source, dataSocket, err => {
+                    if (err) {
+                        resolver.onError(task, err);
+                    }
+                    else {
+                        resolver.onDataDone(task);
+                    }
+                });
+            });
+        }
+        else if ((0, parseControlResponse_1.positiveCompletion)(res.code)) { // Transfer complete
+            resolver.onControlDone(task, res);
+        }
+        else if ((0, parseControlResponse_1.positiveIntermediate)(res.code)) {
+            resolver.onUnexpectedRequest(res);
+        }
+        // Ignore all other positive preliminary response codes (< 200)
+    });
+}
+exports.uploadFrom = uploadFrom;
+function downloadTo(destination, config) {
+    if (!config.ftp.dataSocket) {
+        throw new Error("Download will be initiated but no data connection is available.");
+    }
+    const resolver = new TransferResolver(config.ftp, config.tracker);
+    return config.ftp.handle(config.command, (res, task) => {
+        if (res instanceof Error) {
+            resolver.onError(task, res);
+        }
+        else if (res.code === 150 || res.code === 125) { // Ready to download
+            const dataSocket = config.ftp.dataSocket;
+            if (!dataSocket) {
+                resolver.onError(task, new Error("Download should begin but no data connection is available."));
+                return;
+            }
+            config.ftp.log(`Downloading from ${(0, netUtils_1.describeAddress)(dataSocket)} (${(0, netUtils_1.describeTLS)(dataSocket)})`);
+            resolver.onDataStart(config.remotePath, config.type);
+            (0, stream_1.pipeline)(dataSocket, destination, err => {
+                if (err) {
+                    resolver.onError(task, err);
+                }
+                else {
+                    resolver.onDataDone(task);
+                }
+            });
+        }
+        else if (res.code === 350) { // Restarting at startAt.
+            config.ftp.send("RETR " + config.remotePath);
+        }
+        else if ((0, parseControlResponse_1.positiveCompletion)(res.code)) { // Transfer complete
+            resolver.onControlDone(task, res);
+        }
+        else if ((0, parseControlResponse_1.positiveIntermediate)(res.code)) {
+            resolver.onUnexpectedRequest(res);
+        }
+        // Ignore all other positive preliminary response codes (< 200)
+    });
+}
+exports.downloadTo = downloadTo;
+/**
+ * Calls a function immediately if a condition is met or subscribes to an event and calls
+ * it once the event is emitted.
+ *
+ * @param condition  The condition to test.
+ * @param emitter  The emitter to use if the condition is not met.
+ * @param eventName  The event to subscribe to if the condition is not met.
+ * @param action  The function to call.
+ */
+function onConditionOrEvent(condition, emitter, eventName, action) {
+    if (condition === true) {
+        action();
+    }
+    else {
+        emitter.once(eventName, () => action());
+    }
+}
diff --git a/node_modules/basic-ftp/package.json b/node_modules/basic-ftp/package.json
new file mode 100644
index 0000000..d4fcc1e
--- /dev/null
+++ b/node_modules/basic-ftp/package.json
@@ -0,0 +1,50 @@
+{
+  "name": "basic-ftp",
+  "version": "5.0.3",
+  "description": "FTP client for Node.js, supports FTPS over TLS, IPv6, Async/Await, and Typescript.",
+  "main": "dist/index",
+  "types": "dist/index",
+  "files": [
+    "dist/**/*"
+  ],
+  "scripts": {
+    "prepublishOnly": "npm run clean && npm run lint && tsc && mocha",
+    "test": "npm run prepublishOnly",
+    "clean": "rimraf dist",
+    "lint": "eslint \"./src/**/*.ts\"",
+    "lint-fix": "eslint --fix \"./src/**/*.ts\"",
+    "dev": "npm run clean && tsc --watch",
+    "tdd": "mocha --watch",
+    "buildOnly": "tsc"
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/patrickjuchli/basic-ftp.git"
+  },
+  "author": "Patrick Juchli <[email protected]>",
+  "license": "MIT",
+  "keywords": [
+    "ftp",
+    "ftps",
+    "promise",
+    "async",
+    "await",
+    "tls",
+    "ipv6",
+    "typescript"
+  ],
+  "engines": {
+    "node": ">=10.0.0"
+  },
+  "devDependencies": {
+    "@types/mocha": "9.1.1",
+    "@types/node": "20.0.0",
+    "@typescript-eslint/eslint-plugin": "5.59.2",
+    "@typescript-eslint/parser": "5.59.2",
+    "eslint": "8.39.0",
+    "mocha": "10.2.0",
+    "mock-fs": "5.1.4",
+    "rimraf": "3.0.2",
+    "typescript": "5.0.4"
+  }
+}
diff --git a/node_modules/chromium-bidi/.browser b/node_modules/chromium-bidi/.browser
index 33e5b24..0d0a9d9 100644
--- a/node_modules/chromium-bidi/.browser
+++ b/node_modules/chromium-bidi/.browser
@@ -1 +1 @@
[email protected]
[email protected]
diff --git a/node_modules/chromium-bidi/README.md b/node_modules/chromium-bidi/README.md
index f5d59c1..66fe293 100644
--- a/node_modules/chromium-bidi/README.md
+++ b/node_modules/chromium-bidi/README.md
@@ -8,6 +8,8 @@
 
 ![Pre-commit](https://github.com/GoogleChromeLabs/chromium-bidi/actions/workflows/pre-commit.yml/badge.svg)
 
+[![codecov](https://codecov.io/gh/GoogleChromeLabs/chromium-bidi/branch/main/graph/badge.svg?token=LJSXSC9L09)](https://codecov.io/gh/GoogleChromeLabs/chromium-bidi)
+
 This is an implementation of the
 [WebDriver BiDi](https://w3c.github.io/webdriver-bidi/) protocol with some
 extensions (**BiDi+**)
@@ -138,6 +140,15 @@
 npm install
 ```
 
+### `cargo`
+
+<!-- TODO(jrandolf): Remove after binaries get published -->
+
+We use [cddlconv](https://github.com/jrandolf/cddlconv) to generate our WebDriverBidi types before building.
+
+1.  Install [Rust](https://rustup.rs/).
+2.  Run `cargo install --git https://github.com/jrandolf/cddlconv.git cddlconv`
+
 ### pre-commit.com integration
 
 Refer to the documentation at [.pre-commit-config.yaml](.pre-commit-config.yaml).
@@ -196,11 +207,11 @@
 
 TODO: verify it works on Windows.
 
-You can also run the server by using script `./runBiDiServer.sh`. It will write
+You can also run the server by using `npm run server`. It will write
 output to the file `log.txt`:
 
 ```sh
-./runBiDiServer.sh --port=8081 --headless=false
+npm run server -- --port=8081 --headless=false
 ```
 
 ## Running
@@ -388,3 +399,20 @@
 
 1. After the PR is reviewed, [create a GitHub release](https://github.com/GoogleChromeLabs/chromium-bidi/releases/new) specifying the tag name matching the bumped version.
    Our CI then automatically publishes the new release to npm based on the tag name.
+
+#### Roll into Chromium
+
+> Assuming that you already have a Chromium set-up locally, and knowledge on how to submit changes to the repo.
+> Else submit an issue for a project maintainer to do.
+
+1. Create a new branch.
+2. Navigate to `third_party/bidimapper/`.
+3. Then run the following commands:
+
+```bash
+./pull.sh
+./build.sh
+```
+
+4. Submit a CL with bug `chromedriver:4226`
+5. Add appropriate reviewers or comment the CL link on the PR
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiNoOpParser.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiNoOpParser.d.ts
new file mode 100644
index 0000000..8b2de7b
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiNoOpParser.d.ts
@@ -0,0 +1,41 @@
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import type { BrowsingContext, Cdp, Input, Script, Session } from '../protocol/protocol.js';
+import type { IBidiParser } from './BidiParser.js';
+export declare class BidiNoOpParser implements IBidiParser {
+    parseActivateParams(params: unknown): BrowsingContext.ActivateParameters;
+    parseCaptureScreenshotParams(params: unknown): BrowsingContext.CaptureScreenshotParameters;
+    parseCloseParams(params: unknown): BrowsingContext.CloseParameters;
+    parseCreateParams(params: unknown): BrowsingContext.CreateParameters;
+    parseGetTreeParams(params: unknown): BrowsingContext.GetTreeParameters;
+    parseHandleUserPromptParams(params: unknown): BrowsingContext.HandleUserPromptParameters;
+    parseNavigateParams(params: unknown): BrowsingContext.NavigateParameters;
+    parsePrintParams(params: unknown): BrowsingContext.PrintParameters;
+    parseReloadParams(params: unknown): BrowsingContext.ReloadParameters;
+    parseSetViewportParams(params: unknown): BrowsingContext.SetViewportParameters;
+    parseGetSessionParams(params: unknown): Cdp.GetSessionParameters;
+    parseSendCommandParams(params: unknown): Cdp.SendCommandParameters;
+    parseAddPreloadScriptParams(params: unknown): Script.AddPreloadScriptParameters;
+    parseCallFunctionParams(params: unknown): Script.CallFunctionParameters;
+    parseDisownParams(params: unknown): Script.DisownParameters;
+    parseEvaluateParams(params: unknown): Script.EvaluateParameters;
+    parseGetRealmsParams(params: unknown): Script.GetRealmsParameters;
+    parseRemovePreloadScriptParams(params: unknown): Script.RemovePreloadScriptParameters;
+    parsePerformActionsParams(params: unknown): Input.PerformActionsParameters;
+    parseReleaseActionsParams(params: unknown): Input.ReleaseActionsParameters;
+    parseSubscribeParams(params: unknown): Session.SubscriptionRequest;
+}
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiNoOpParser.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiNoOpParser.js
new file mode 100644
index 0000000..43f827f
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiNoOpParser.js
@@ -0,0 +1,100 @@
+"use strict";
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.BidiNoOpParser = void 0;
+class BidiNoOpParser {
+    // Browsing Context domain
+    // keep-sorted start block=yes
+    parseActivateParams(params) {
+        return params;
+    }
+    parseCaptureScreenshotParams(params) {
+        return params;
+    }
+    parseCloseParams(params) {
+        return params;
+    }
+    parseCreateParams(params) {
+        return params;
+    }
+    parseGetTreeParams(params) {
+        return params;
+    }
+    parseHandleUserPromptParams(params) {
+        return params;
+    }
+    parseNavigateParams(params) {
+        return params;
+    }
+    parsePrintParams(params) {
+        return params;
+    }
+    parseReloadParams(params) {
+        return params;
+    }
+    parseSetViewportParams(params) {
+        return params;
+    }
+    // keep-sorted end
+    // CDP domain
+    // keep-sorted start block=yes
+    parseGetSessionParams(params) {
+        return params;
+    }
+    parseSendCommandParams(params) {
+        return params;
+    }
+    // keep-sorted end
+    // Script domain
+    // keep-sorted start block=yes
+    parseAddPreloadScriptParams(params) {
+        return params;
+    }
+    parseCallFunctionParams(params) {
+        return params;
+    }
+    parseDisownParams(params) {
+        return params;
+    }
+    parseEvaluateParams(params) {
+        return params;
+    }
+    parseGetRealmsParams(params) {
+        return params;
+    }
+    parseRemovePreloadScriptParams(params) {
+        return params;
+    }
+    // keep-sorted end
+    // Input domain
+    // keep-sorted start block=yes
+    parsePerformActionsParams(params) {
+        return params;
+    }
+    parseReleaseActionsParams(params) {
+        return params;
+    }
+    // keep-sorted end
+    // Session domain
+    // keep-sorted start block=yes
+    parseSubscribeParams(params) {
+        return params;
+    }
+}
+exports.BidiNoOpParser = BidiNoOpParser;
+//# sourceMappingURL=BidiNoOpParser.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiNoOpParser.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiNoOpParser.js.map
new file mode 100644
index 0000000..fe95409
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiNoOpParser.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"BidiNoOpParser.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiNoOpParser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAYH,MAAa,cAAc;IACzB,0BAA0B;IAC1B,8BAA8B;IAC9B,mBAAmB,CAAC,MAAe;QACjC,OAAO,MAA4C,CAAC;IACtD,CAAC;IACD,4BAA4B,CAC1B,MAAe;QAEf,OAAO,MAAqD,CAAC;IAC/D,CAAC;IACD,gBAAgB,CAAC,MAAe;QAC9B,OAAO,MAAyC,CAAC;IACnD,CAAC;IACD,iBAAiB,CAAC,MAAe;QAC/B,OAAO,MAA0C,CAAC;IACpD,CAAC;IACD,kBAAkB,CAAC,MAAe;QAChC,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,2BAA2B,CACzB,MAAe;QAEf,OAAO,MAAoD,CAAC;IAC9D,CAAC;IACD,mBAAmB,CAAC,MAAe;QACjC,OAAO,MAA4C,CAAC;IACtD,CAAC;IACD,gBAAgB,CAAC,MAAe;QAC9B,OAAO,MAAyC,CAAC;IACnD,CAAC;IACD,iBAAiB,CAAC,MAAe;QAC/B,OAAO,MAA0C,CAAC;IACpD,CAAC;IACD,sBAAsB,CACpB,MAAe;QAEf,OAAO,MAA+C,CAAC;IACzD,CAAC;IACD,kBAAkB;IAElB,aAAa;IACb,8BAA8B;IAC9B,qBAAqB,CAAC,MAAe;QACnC,OAAO,MAAkC,CAAC;IAC5C,CAAC;IACD,sBAAsB,CAAC,MAAe;QACpC,OAAO,MAAmC,CAAC;IAC7C,CAAC;IACD,kBAAkB;IAElB,gBAAgB;IAChB,8BAA8B;IAC9B,2BAA2B,CACzB,MAAe;QAEf,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,uBAAuB,CAAC,MAAe;QACrC,OAAO,MAAuC,CAAC;IACjD,CAAC;IACD,iBAAiB,CAAC,MAAe;QAC/B,OAAO,MAAiC,CAAC;IAC3C,CAAC;IACD,mBAAmB,CAAC,MAAe;QACjC,OAAO,MAAmC,CAAC;IAC7C,CAAC;IACD,oBAAoB,CAAC,MAAe;QAClC,OAAO,MAAoC,CAAC;IAC9C,CAAC;IACD,8BAA8B,CAC5B,MAAe;QAEf,OAAO,MAA8C,CAAC;IACxD,CAAC;IACD,kBAAkB;IAElB,eAAe;IACf,8BAA8B;IAC9B,yBAAyB,CAAC,MAAe;QACvC,OAAO,MAAwC,CAAC;IAClD,CAAC;IACD,yBAAyB,CAAC,MAAe;QACvC,OAAO,MAAwC,CAAC;IAClD,CAAC;IACD,kBAAkB;IAElB,iBAAiB;IACjB,8BAA8B;IAC9B,oBAAoB,CAAC,MAAe;QAClC,OAAO,MAAqC,CAAC;IAC/C,CAAC;CAEF;AA7FD,wCA6FC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiParser.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiParser.d.ts
new file mode 100644
index 0000000..39519e1
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiParser.d.ts
@@ -0,0 +1,40 @@
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import type { BrowsingContext, Cdp, Input, Script, Session } from '../protocol/protocol.js';
+export interface IBidiParser {
+    parseActivateParams(params: unknown): BrowsingContext.ActivateParameters;
+    parseCaptureScreenshotParams(params: unknown): BrowsingContext.CaptureScreenshotParameters;
+    parseCloseParams(params: unknown): BrowsingContext.CloseParameters;
+    parseCreateParams(params: unknown): BrowsingContext.CreateParameters;
+    parseGetTreeParams(params: unknown): BrowsingContext.GetTreeParameters;
+    parseHandleUserPromptParams(params: unknown): BrowsingContext.HandleUserPromptParameters;
+    parseNavigateParams(params: unknown): BrowsingContext.NavigateParameters;
+    parsePrintParams(params: unknown): BrowsingContext.PrintParameters;
+    parseReloadParams(params: unknown): BrowsingContext.ReloadParameters;
+    parseSetViewportParams(params: unknown): BrowsingContext.SetViewportParameters;
+    parseGetSessionParams(params: unknown): Cdp.GetSessionParameters;
+    parseSendCommandParams(params: unknown): Cdp.SendCommandParameters;
+    parsePerformActionsParams(params: unknown): Input.PerformActionsParameters;
+    parseReleaseActionsParams(params: unknown): Input.ReleaseActionsParameters;
+    parseAddPreloadScriptParams(params: unknown): Script.AddPreloadScriptParameters;
+    parseCallFunctionParams(params: unknown): Script.CallFunctionParameters;
+    parseDisownParams(params: unknown): Script.DisownParameters;
+    parseEvaluateParams(params: unknown): Script.EvaluateParameters;
+    parseGetRealmsParams(params: unknown): Script.GetRealmsParameters;
+    parseRemovePreloadScriptParams(params: unknown): Script.RemovePreloadScriptParameters;
+    parseSubscribeParams(params: unknown): Session.SubscriptionRequest;
+}
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiParser.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiParser.js
new file mode 100644
index 0000000..466a391
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiParser.js
@@ -0,0 +1,19 @@
+"use strict";
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+//# sourceMappingURL=BidiParser.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiParser.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiParser.js.map
new file mode 100644
index 0000000..c245f5f
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiParser.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"BidiParser.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiParser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiServer.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiServer.d.ts
index 9e24177..3586e03 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiServer.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiServer.d.ts
@@ -14,26 +14,26 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+import type { ICdpConnection } from '../cdp/cdpConnection.js';
+import type { ChromiumBidi } from '../protocol/protocol.js';
 import { EventEmitter } from '../utils/EventEmitter.js';
 import { type LoggerFn } from '../utils/log.js';
-import type { Message } from '../protocol/protocol.js';
-import type { ICdpConnection } from '../cdp/cdpConnection.js';
-import { type BidiParser } from './CommandProcessor.js';
-import type { BidiTransport } from './BidiTransport.js';
-import { BrowsingContextStorage } from './domains/context/browsingContextStorage.js';
+import type { Result } from '../utils/result.js';
+import type { IBidiParser } from './BidiParser.js';
+import type { IBidiTransport } from './BidiTransport.js';
 import type { OutgoingBidiMessage } from './OutgoingBidiMessage.js';
-type BidiServerEvents = {
-    message: Message.RawCommandRequest;
+import { BrowsingContextStorage } from './domains/context/browsingContextStorage.js';
+type BidiServerEvent = {
+    message: ChromiumBidi.Command;
 };
-export declare class BidiServer extends EventEmitter<BidiServerEvents> {
+export declare class BidiServer extends EventEmitter<BidiServerEvent> {
     #private;
     private constructor();
-    static createAndStart(bidiTransport: BidiTransport, cdpConnection: ICdpConnection, selfTargetId: string, parser?: BidiParser, logger?: LoggerFn): Promise<BidiServer>;
-    topLevelContextsLoaded(): Promise<void>;
+    static createAndStart(bidiTransport: IBidiTransport, cdpConnection: ICdpConnection, selfTargetId: string, parser?: IBidiParser, logger?: LoggerFn): Promise<BidiServer>;
     /**
      * Sends BiDi message.
      */
-    emitOutgoingMessage(messageEntry: Promise<OutgoingBidiMessage>): void;
+    emitOutgoingMessage(messageEntry: Promise<Result<OutgoingBidiMessage>>): void;
     close(): void;
     getBrowsingContextStorage(): BrowsingContextStorage;
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiServer.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiServer.js
index b8f3833..a1c4e18 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiServer.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiServer.js
@@ -29,7 +29,6 @@
     #transport;
     #commandProcessor;
     #browsingContextStorage = new browsingContextStorage_js_1.BrowsingContextStorage();
-    #realmStorage = new realmStorage_js_1.RealmStorage();
     #logger;
     #handleIncomingMessage = (message) => {
         void this.#commandProcessor.processCommand(message).catch((error) => {
@@ -49,7 +48,7 @@
         this.#messageQueue = new processingQueue_js_1.ProcessingQueue(this.#processOutgoingMessage, this.#logger);
         this.#transport = bidiTransport;
         this.#transport.setOnMessage(this.#handleIncomingMessage);
-        this.#commandProcessor = new CommandProcessor_js_1.CommandProcessor(cdpConnection, new EventManager_js_1.EventManager(this), selfTargetId, parser, this.#browsingContextStorage, this.#realmStorage, this.#logger);
+        this.#commandProcessor = new CommandProcessor_js_1.CommandProcessor(cdpConnection, new EventManager_js_1.EventManager(this), selfTargetId, this.#browsingContextStorage, new realmStorage_js_1.RealmStorage(), parser, this.#logger);
         this.#commandProcessor.on('response', (response) => {
             this.emitOutgoingMessage(response);
         });
@@ -65,14 +64,9 @@
             waitForDebuggerOnStart: true,
             flatten: true,
         });
-        await server.topLevelContextsLoaded();
+        await server.#topLevelContextsLoaded();
         return server;
     }
-    async topLevelContextsLoaded() {
-        await Promise.all(this.#browsingContextStorage
-            .getTopLevelContexts()
-            .map((c) => c.awaitLoaded()));
-    }
     /**
      * Sends BiDi message.
      */
@@ -85,6 +79,11 @@
     getBrowsingContextStorage() {
         return this.#browsingContextStorage;
     }
+    async #topLevelContextsLoaded() {
+        await Promise.all(this.#browsingContextStorage
+            .getTopLevelContexts()
+            .map((c) => c.lifecycleLoaded()));
+    }
 }
 exports.BidiServer = BidiServer;
 //# sourceMappingURL=BidiServer.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiServer.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiServer.js.map
index d5c3046..20c5a63 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiServer.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiServer.js.map
@@ -1 +1 @@
-{"version":3,"file":"BidiServer.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiServer.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"BidiServer.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiServer.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiTransport.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiTransport.d.ts
index 3caca0a..3e1a481 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiTransport.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiTransport.d.ts
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-import type { Message } from '../protocol/protocol.js';
-export interface BidiTransport {
-    setOnMessage: (handler: (message: Message.RawCommandRequest) => Promise<void> | void) => void;
-    sendMessage: (message: Message.OutgoingMessage) => Promise<void> | void;
+import type { ChromiumBidi } from '../protocol/protocol.js';
+export interface IBidiTransport {
+    setOnMessage: (handler: (message: ChromiumBidi.Command) => Promise<void> | void) => void;
+    sendMessage: (message: ChromiumBidi.Message) => Promise<void> | void;
     close(): void;
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/CommandProcessor.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/CommandProcessor.d.ts
index 5d09e67..2b8a5b0 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/CommandProcessor.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/CommandProcessor.d.ts
@@ -14,41 +14,22 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-import { type BrowsingContext, type Cdp, type Input, Message, type Script, type Session } from '../protocol/protocol.js';
-import { type LoggerFn } from '../utils/log.js';
-import { EventEmitter } from '../utils/EventEmitter.js';
 import type { ICdpConnection } from '../cdp/cdpConnection.js';
+import { type ChromiumBidi } from '../protocol/protocol.js';
+import { EventEmitter } from '../utils/EventEmitter.js';
+import { type LoggerFn } from '../utils/log.js';
+import type { Result } from '../utils/result.js';
+import type { IBidiParser } from './BidiParser.js';
+import { OutgoingBidiMessage } from './OutgoingBidiMessage.js';
 import type { BrowsingContextStorage } from './domains/context/browsingContextStorage.js';
 import type { IEventManager } from './domains/events/EventManager.js';
-import { OutgoingBidiMessage } from './OutgoingBidiMessage.js';
 import type { RealmStorage } from './domains/script/realmStorage.js';
 type CommandProcessorEvents = {
-    response: Promise<OutgoingBidiMessage>;
+    response: Promise<Result<OutgoingBidiMessage>>;
 };
-export interface BidiParser {
-    parseAddPreloadScriptParams(params: object): Script.AddPreloadScriptParameters;
-    parseRemovePreloadScriptParams(params: object): Script.RemovePreloadScriptParameters;
-    parseGetRealmsParams(params: object): Script.GetRealmsParameters;
-    parseCallFunctionParams(params: object): Script.CallFunctionParameters;
-    parseEvaluateParams(params: object): Script.EvaluateParameters;
-    parseDisownParams(params: object): Script.DisownParameters;
-    parseSendCommandParams(params: object): Cdp.SendCommandParams;
-    parseGetSessionParams(params: object): Cdp.GetSessionParams;
-    parseSubscribeParams(params: object): Session.SubscriptionRequest;
-    parseNavigateParams(params: object): BrowsingContext.NavigateParameters;
-    parseReloadParams(params: object): BrowsingContext.ReloadParameters;
-    parseGetTreeParams(params: object): BrowsingContext.GetTreeParameters;
-    parseCreateParams(params: object): BrowsingContext.CreateParameters;
-    parseCloseParams(params: object): BrowsingContext.CloseParameters;
-    parseCaptureScreenshotParams(params: object): BrowsingContext.CaptureScreenshotParameters;
-    parsePrintParams(params: object): BrowsingContext.PrintParameters;
-    parseSetViewportParams(params: object): BrowsingContext.SetViewportParameters;
-    parsePerformActionsParams(params: object): Input.PerformActionsParameters;
-    parseReleaseActionsParams(params: object): Input.ReleaseActionsParameters;
-}
 export declare class CommandProcessor extends EventEmitter<CommandProcessorEvents> {
     #private;
-    constructor(cdpConnection: ICdpConnection, eventManager: IEventManager, selfTargetId: string, parser: BidiParser | undefined, browsingContextStorage: BrowsingContextStorage, realmStorage: RealmStorage, logger?: LoggerFn);
-    processCommand(command: Message.RawCommandRequest): Promise<void>;
+    constructor(cdpConnection: ICdpConnection, eventManager: IEventManager, selfTargetId: string, browsingContextStorage: BrowsingContextStorage, realmStorage: RealmStorage, parser?: IBidiParser, logger?: LoggerFn);
+    processCommand(command: ChromiumBidi.Command): Promise<void>;
 }
 export {};
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/CommandProcessor.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/CommandProcessor.js
index 36d82bc..645cf61 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/CommandProcessor.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/CommandProcessor.js
@@ -18,160 +18,135 @@
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.CommandProcessor = void 0;
 const protocol_js_1 = require("../protocol/protocol.js");
-const log_js_1 = require("../utils/log.js");
 const EventEmitter_js_1 = require("../utils/EventEmitter.js");
-const browsingContextProcessor_js_1 = require("./domains/context/browsingContextProcessor.js");
+const log_js_1 = require("../utils/log.js");
+const BidiNoOpParser_js_1 = require("./BidiNoOpParser.js");
 const OutgoingBidiMessage_js_1 = require("./OutgoingBidiMessage.js");
-class BidiNoOpParser {
-    parseAddPreloadScriptParams(params) {
-        return params;
-    }
-    parseRemovePreloadScriptParams(params) {
-        return params;
-    }
-    parseGetRealmsParams(params) {
-        return params;
-    }
-    parseCallFunctionParams(params) {
-        return params;
-    }
-    parseEvaluateParams(params) {
-        return params;
-    }
-    parseDisownParams(params) {
-        return params;
-    }
-    parseSendCommandParams(params) {
-        return params;
-    }
-    parseGetSessionParams(params) {
-        return params;
-    }
-    parseSubscribeParams(params) {
-        return params;
-    }
-    parseNavigateParams(params) {
-        return params;
-    }
-    parseReloadParams(params) {
-        return params;
-    }
-    parseGetTreeParams(params) {
-        return params;
-    }
-    parseCreateParams(params) {
-        return params;
-    }
-    parseCloseParams(params) {
-        return params;
-    }
-    parseCaptureScreenshotParams(params) {
-        return params;
-    }
-    parsePrintParams(params) {
-        return params;
-    }
-    parsePerformActionsParams(params) {
-        return params;
-    }
-    parseReleaseActionsParams(params) {
-        return params;
-    }
-    parseSetViewportParams(params) {
-        return params;
-    }
-}
+const BrowserProcessor_js_1 = require("./domains/browser/BrowserProcessor.js");
+const CdpProcessor_js_1 = require("./domains/cdp/CdpProcessor.js");
+const browsingContextProcessor_js_1 = require("./domains/context/browsingContextProcessor.js");
+const InputProcessor_js_1 = require("./domains/input/InputProcessor.js");
+const PreloadScriptStorage_js_1 = require("./domains/script/PreloadScriptStorage.js");
+const ScriptProcessor_js_1 = require("./domains/script/ScriptProcessor.js");
+const SessionProcessor_js_1 = require("./domains/session/SessionProcessor.js");
 class CommandProcessor extends EventEmitter_js_1.EventEmitter {
-    #contextProcessor;
-    #eventManager;
+    #browserProcessor;
+    #browsingContextProcessor;
+    #inputProcessor;
+    #scriptProcessor;
+    #sessionProcessor;
+    #cdpProcessor;
     #parser;
     #logger;
-    constructor(cdpConnection, eventManager, selfTargetId, parser = new BidiNoOpParser(), browsingContextStorage, realmStorage, logger) {
+    constructor(cdpConnection, eventManager, selfTargetId, browsingContextStorage, realmStorage, parser = new BidiNoOpParser_js_1.BidiNoOpParser(), logger) {
         super();
-        this.#eventManager = eventManager;
-        this.#logger = logger;
-        this.#contextProcessor = new browsingContextProcessor_js_1.BrowsingContextProcessor(cdpConnection, selfTargetId, eventManager, browsingContextStorage, realmStorage, logger);
         this.#parser = parser;
+        this.#logger = logger;
+        const preloadScriptStorage = new PreloadScriptStorage_js_1.PreloadScriptStorage();
+        this.#browserProcessor = new BrowserProcessor_js_1.BrowserProcessor(cdpConnection);
+        this.#browsingContextProcessor = new browsingContextProcessor_js_1.BrowsingContextProcessor(cdpConnection, selfTargetId, eventManager, browsingContextStorage, realmStorage, preloadScriptStorage, logger);
+        this.#inputProcessor = InputProcessor_js_1.InputProcessor.create(browsingContextStorage);
+        this.#scriptProcessor = new ScriptProcessor_js_1.ScriptProcessor(browsingContextStorage, realmStorage, preloadScriptStorage);
+        this.#sessionProcessor = new SessionProcessor_js_1.SessionProcessor(eventManager);
+        this.#cdpProcessor = new CdpProcessor_js_1.CdpProcessor(browsingContextStorage, cdpConnection);
     }
-    static #process_session_status() {
-        return { result: { ready: false, message: 'already connected' } };
-    }
-    async #process_session_subscribe(params, channel) {
-        await this.#eventManager.subscribe(params.events, params.contexts ?? [null], channel);
-        return { result: {} };
-    }
-    async #process_session_unsubscribe(params, channel) {
-        await this.#eventManager.unsubscribe(params.events, params.contexts ?? [null], channel);
-        return { result: {} };
-    }
-    async #processCommand(commandData) {
-        switch (commandData.method) {
-            case 'session.status':
-                return CommandProcessor.#process_session_status();
-            case 'session.subscribe':
-                return this.#process_session_subscribe(this.#parser.parseSubscribeParams(commandData.params), commandData.channel ?? null);
-            case 'session.unsubscribe':
-                return this.#process_session_unsubscribe(this.#parser.parseSubscribeParams(commandData.params), commandData.channel ?? null);
-            case 'browsingContext.create':
-                return this.#contextProcessor.process_browsingContext_create(this.#parser.parseCreateParams(commandData.params));
-            case 'browsingContext.close':
-                return this.#contextProcessor.process_browsingContext_close(this.#parser.parseCloseParams(commandData.params));
-            case 'browsingContext.getTree':
-                return this.#contextProcessor.process_browsingContext_getTree(this.#parser.parseGetTreeParams(commandData.params));
-            case 'browsingContext.navigate':
-                return this.#contextProcessor.process_browsingContext_navigate(this.#parser.parseNavigateParams(commandData.params));
+    async #processCommand(command) {
+        switch (command.method) {
+            case 'session.end':
+            case 'session.new':
+                // TODO: Implement.
+                break;
+            // Browser domain
+            // keep-sorted start block=yes
+            case 'browser.close':
+                return this.#browserProcessor.close();
+            // keep-sorted end
+            // Browsing Context domain
+            // keep-sorted start block=yes
+            case 'browsingContext.activate':
+                return this.#browsingContextProcessor.activate(this.#parser.parseActivateParams(command.params));
             case 'browsingContext.captureScreenshot':
-                return this.#contextProcessor.process_browsingContext_captureScreenshot(this.#parser.parseCaptureScreenshotParams(commandData.params));
+                return this.#browsingContextProcessor.captureScreenshot(this.#parser.parseCaptureScreenshotParams(command.params));
+            case 'browsingContext.close':
+                return this.#browsingContextProcessor.close(this.#parser.parseCloseParams(command.params));
+            case 'browsingContext.create':
+                return this.#browsingContextProcessor.create(this.#parser.parseCreateParams(command.params));
+            case 'browsingContext.getTree':
+                return this.#browsingContextProcessor.getTree(this.#parser.parseGetTreeParams(command.params));
+            case 'browsingContext.handleUserPrompt':
+                return this.#browsingContextProcessor.handleUserPrompt(this.#parser.parseHandleUserPromptParams(command.params));
+            case 'browsingContext.navigate':
+                return this.#browsingContextProcessor.navigate(this.#parser.parseNavigateParams(command.params));
             case 'browsingContext.print':
-                return this.#contextProcessor.process_browsingContext_print(this.#parser.parsePrintParams(commandData.params));
+                return this.#browsingContextProcessor.print(this.#parser.parsePrintParams(command.params));
             case 'browsingContext.reload':
-                return this.#contextProcessor.process_browsingContext_reload(this.#parser.parseReloadParams(commandData.params));
+                return this.#browsingContextProcessor.reload(this.#parser.parseReloadParams(command.params));
             case 'browsingContext.setViewport':
-                return this.#contextProcessor.process_browsingContext_setViewport(this.#parser.parseSetViewportParams(commandData.params));
-            case 'script.addPreloadScript':
-                return this.#contextProcessor.process_script_addPreloadScript(this.#parser.parseAddPreloadScriptParams(commandData.params));
-            case 'script.removePreloadScript':
-                return this.#contextProcessor.process_script_removePreloadScript(this.#parser.parseRemovePreloadScriptParams(commandData.params));
-            case 'script.getRealms':
-                return this.#contextProcessor.process_script_getRealms(this.#parser.parseGetRealmsParams(commandData.params));
-            case 'script.callFunction':
-                return this.#contextProcessor.process_script_callFunction(this.#parser.parseCallFunctionParams(commandData.params));
-            case 'script.evaluate':
-                return this.#contextProcessor.process_script_evaluate(this.#parser.parseEvaluateParams(commandData.params));
-            case 'script.disown':
-                return this.#contextProcessor.process_script_disown(this.#parser.parseDisownParams(commandData.params));
-            case 'input.performActions':
-                return this.#contextProcessor.process_input_performActions(this.#parser.parsePerformActionsParams(commandData.params));
-            case 'input.releaseActions':
-                return this.#contextProcessor.process_input_releaseActions(this.#parser.parseReleaseActionsParams(commandData.params));
-            case 'cdp.sendCommand':
-                return this.#contextProcessor.process_cdp_sendCommand(this.#parser.parseSendCommandParams(commandData.params));
+                return this.#browsingContextProcessor.setViewport(this.#parser.parseSetViewportParams(command.params));
+            // keep-sorted end
+            // CDP domain
+            // keep-sorted start block=yes
             case 'cdp.getSession':
-                return this.#contextProcessor.process_cdp_getSession(this.#parser.parseGetSessionParams(commandData.params));
+                return this.#cdpProcessor.getSession(this.#parser.parseGetSessionParams(command.params));
+            case 'cdp.sendCommand':
+                return this.#cdpProcessor.sendCommand(this.#parser.parseSendCommandParams(command.params));
+            // keep-sorted end
+            // Input domain
+            // keep-sorted start block=yes
+            case 'input.performActions':
+                return this.#inputProcessor.performActions(this.#parser.parsePerformActionsParams(command.params));
+            case 'input.releaseActions':
+                return this.#inputProcessor.releaseActions(this.#parser.parseReleaseActionsParams(command.params));
+            // keep-sorted end
+            // Script domain
+            // keep-sorted start block=yes
+            case 'script.addPreloadScript':
+                return this.#scriptProcessor.addPreloadScript(this.#parser.parseAddPreloadScriptParams(command.params));
+            case 'script.callFunction':
+                return this.#scriptProcessor.callFunction(this.#parser.parseCallFunctionParams(command.params));
+            case 'script.disown':
+                return this.#scriptProcessor.disown(this.#parser.parseDisownParams(command.params));
+            case 'script.evaluate':
+                return this.#scriptProcessor.evaluate(this.#parser.parseEvaluateParams(command.params));
+            case 'script.getRealms':
+                return this.#scriptProcessor.getRealms(this.#parser.parseGetRealmsParams(command.params));
+            case 'script.removePreloadScript':
+                return this.#scriptProcessor.removePreloadScript(this.#parser.parseRemovePreloadScriptParams(command.params));
+            // keep-sorted end
+            // Session domain
+            // keep-sorted start block=yes
+            case 'session.status':
+                return this.#sessionProcessor.status();
+            case 'session.subscribe':
+                return this.#sessionProcessor.subscribe(this.#parser.parseSubscribeParams(command.params), command.channel);
+            case 'session.unsubscribe':
+                return this.#sessionProcessor.unsubscribe(this.#parser.parseSubscribeParams(command.params), command.channel);
+            // keep-sorted end
         }
         // Intentionally kept outside of the switch statement to ensure that
         // ESLint @typescript-eslint/switch-exhaustiveness-check triggers if a new
         // command is added.
-        throw new protocol_js_1.Message.UnknownCommandException(`Unknown command '${commandData.method}'.`);
+        throw new protocol_js_1.UnknownCommandException(`Unknown command '${command.method}'.`);
     }
     async processCommand(command) {
         try {
             const result = await this.#processCommand(command);
             const response = {
+                type: 'success',
                 id: command.id,
-                ...result,
+                result,
             };
-            this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(response, command.channel ?? null));
+            this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(response, command.channel));
         }
         catch (e) {
-            if (e instanceof protocol_js_1.Message.ErrorResponse) {
+            if (e instanceof protocol_js_1.Exception) {
                 const errorResponse = e;
-                this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(errorResponse.toErrorResponse(command.id), command.channel ?? null));
+                this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(errorResponse.toErrorResponse(command.id), command.channel));
             }
             else {
                 const error = e;
                 this.#logger?.(log_js_1.LogType.bidi, error);
-                this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(new protocol_js_1.Message.UnknownErrorException(error.message).toErrorResponse(command.id), command.channel ?? null));
+                this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(new protocol_js_1.UnknownErrorException(error.message, error.stack).toErrorResponse(command.id), command.channel));
             }
         }
     }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/CommandProcessor.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/CommandProcessor.js.map
index 4cd5d0d..9e678702 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/CommandProcessor.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/CommandProcessor.js.map
@@ -1 +1 @@
-{"version":3,"file":"CommandProcessor.js","sourceRoot":"","sources":["../../../src/bidiMapper/CommandProcessor.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"CommandProcessor.js","sourceRoot":"","sources":["../../../src/bidiMapper/CommandProcessor.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/OutgoingBidiMessage.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/OutgoingBidiMessage.d.ts
index 5956951..8949398 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/OutgoingBidiMessage.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/OutgoingBidiMessage.d.ts
@@ -14,12 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-import type { Message } from '../protocol/protocol.js';
+import type { ChromiumBidi } from '../protocol/protocol.js';
+import type { Result } from '../utils/result.js';
 export declare class OutgoingBidiMessage {
     #private;
     private constructor();
-    static createFromPromise(messagePromise: Promise<Message.OutgoingMessage>, channel: string | null): Promise<OutgoingBidiMessage>;
-    static createResolved(message: Message.OutgoingMessage, channel: string | null): Promise<OutgoingBidiMessage>;
-    get message(): Message.OutgoingMessage;
+    static createFromPromise(messagePromise: Promise<Result<ChromiumBidi.Message>>, channel: string | null): Promise<Result<OutgoingBidiMessage>>;
+    static createResolved(message: ChromiumBidi.Message, channel?: string | null): Promise<Result<OutgoingBidiMessage>>;
+    get message(): ChromiumBidi.Message;
     get channel(): string | null;
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/OutgoingBidiMessage.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/OutgoingBidiMessage.js
index 0e17b90..e892e8e 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/OutgoingBidiMessage.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/OutgoingBidiMessage.js
@@ -20,15 +20,26 @@
 class OutgoingBidiMessage {
     #message;
     #channel;
-    constructor(message, channel) {
+    constructor(message, channel = null) {
         this.#message = message;
         this.#channel = channel;
     }
-    static async createFromPromise(messagePromise, channel) {
-        return messagePromise.then((message) => new OutgoingBidiMessage(message, channel));
+    static createFromPromise(messagePromise, channel) {
+        return messagePromise.then((message) => {
+            if (message.kind === 'success') {
+                return {
+                    kind: 'success',
+                    value: new OutgoingBidiMessage(message.value, channel),
+                };
+            }
+            return message;
+        });
     }
     static createResolved(message, channel) {
-        return Promise.resolve(new OutgoingBidiMessage(message, channel));
+        return Promise.resolve({
+            kind: 'success',
+            value: new OutgoingBidiMessage(message, channel),
+        });
     }
     get message() {
         return this.#message;
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/OutgoingBidiMessage.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/OutgoingBidiMessage.js.map
index d7e75d1..35464b2 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/OutgoingBidiMessage.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/OutgoingBidiMessage.js.map
@@ -1 +1 @@
-{"version":3,"file":"OutgoingBidiMessage.js","sourceRoot":"","sources":["../../../src/bidiMapper/OutgoingBidiMessage.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAIH,MAAa,mBAAmB;IACrB,QAAQ,CAA0B;IAClC,QAAQ,CAAgB;IAEjC,YACE,OAAgC,EAChC,OAAsB;QAEtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAC5B,cAAgD,EAChD,OAAsB;QAEtB,OAAO,cAAc,CAAC,IAAI,CACxB,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CACvD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,cAAc,CACnB,OAAgC,EAChC,OAAsB;QAEtB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAnCD,kDAmCC"}
\ No newline at end of file
+{"version":3,"file":"OutgoingBidiMessage.js","sourceRoot":"","sources":["../../../src/bidiMapper/OutgoingBidiMessage.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAKH,MAAa,mBAAmB;IACrB,QAAQ,CAAuB;IAC/B,QAAQ,CAAgB;IAEjC,YACE,OAA6B,EAC7B,UAAyB,IAAI;QAE7B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,MAAM,CAAC,iBAAiB,CACtB,cAAqD,EACrD,OAAsB;QAEtB,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACrC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE;gBAC9B,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,IAAI,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC;iBACvD,CAAC;aACH;YACD,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,cAAc,CACnB,OAA6B,EAC7B,OAAuB;QAEvB,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,IAAI,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC;SACjD,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AA5CD,kDA4CC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/bidiMapper.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/bidiMapper.d.ts
index abb7e99..4568e1d 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/bidiMapper.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/bidiMapper.d.ts
@@ -23,6 +23,6 @@
 export type { ICdpConnection, ICdpConnection as CdpConnection, } from '../cdp/cdpConnection.js';
 export type { ICdpClient, ICdpClient as CdpClient } from '../cdp/cdpClient.js';
 export { EventEmitter } from '../utils/EventEmitter.js';
-export type { BidiTransport } from './BidiTransport.js';
+export type { IBidiTransport as BidiTransport } from './BidiTransport.js';
 export { OutgoingBidiMessage } from './OutgoingBidiMessage.js';
-export type { BidiParser } from './CommandProcessor.js';
+export type { IBidiParser as BidiParser } from './BidiParser.js';
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.d.ts
new file mode 100644
index 0000000..875a0a6
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.d.ts
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import type { EmptyResult } from '../../../protocol/protocol.js';
+import type { ICdpConnection } from '../../bidiMapper';
+export declare class BrowserProcessor {
+    #private;
+    constructor(cdpConnection: ICdpConnection);
+    close(): EmptyResult;
+}
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.js
new file mode 100644
index 0000000..c8a213d
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.js
@@ -0,0 +1,34 @@
+"use strict";
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.BrowserProcessor = void 0;
+class BrowserProcessor {
+    #cdpConnection;
+    constructor(cdpConnection) {
+        this.#cdpConnection = cdpConnection;
+    }
+    close() {
+        const client = this.#cdpConnection.browserClient();
+        // Insure that its put at the last place in the event loop
+        // That way we send back the response before closing in tab
+        setTimeout(() => client.sendCommand('Browser.close'), 0);
+        return {};
+    }
+}
+exports.BrowserProcessor = BrowserProcessor;
+//# sourceMappingURL=BrowserProcessor.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.js.map
new file mode 100644
index 0000000..fb37e1a
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"BrowserProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/browser/BrowserProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAKH,MAAa,gBAAgB;IAC3B,cAAc,CAAiB;IAE/B,YAAY,aAA6B;QACvC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAED,KAAK;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;QAEnD,0DAA0D;QAC1D,2DAA2D;QAC3D,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;QAEzD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAhBD,4CAgBC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/cdp/CdpProcessor.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/cdp/CdpProcessor.d.ts
new file mode 100644
index 0000000..8c13657
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/cdp/CdpProcessor.d.ts
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import type { Cdp } from '../../../protocol/protocol.js';
+import type { ICdpConnection } from '../../bidiMapper.js';
+import type { BrowsingContextStorage } from '../context/browsingContextStorage.js';
+export declare class CdpProcessor {
+    #private;
+    constructor(browsingContextStorage: BrowsingContextStorage, cdpConnection: ICdpConnection);
+    getSession(params: Cdp.GetSessionParameters): Cdp.GetSessionResult;
+    sendCommand(params: Cdp.SendCommandParameters): Promise<Cdp.SendCommandResult>;
+}
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/cdp/CdpProcessor.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/cdp/CdpProcessor.js
new file mode 100644
index 0000000..bbfa37b
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/cdp/CdpProcessor.js
@@ -0,0 +1,47 @@
+"use strict";
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.CdpProcessor = void 0;
+class CdpProcessor {
+    #browsingContextStorage;
+    #cdpConnection;
+    constructor(browsingContextStorage, cdpConnection) {
+        this.#browsingContextStorage = browsingContextStorage;
+        this.#cdpConnection = cdpConnection;
+    }
+    getSession(params) {
+        const context = params.context;
+        const sessionId = this.#browsingContextStorage.getContext(context).cdpTarget.cdpSessionId;
+        if (sessionId === undefined) {
+            return {};
+        }
+        return { session: sessionId };
+    }
+    async sendCommand(params) {
+        const client = params.session
+            ? this.#cdpConnection.getCdpClient(params.session)
+            : this.#cdpConnection.browserClient();
+        const result = await client.sendCommand(params.method, params.params);
+        return {
+            result,
+            session: params.session,
+        };
+    }
+}
+exports.CdpProcessor = CdpProcessor;
+//# sourceMappingURL=CdpProcessor.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/cdp/CdpProcessor.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/cdp/CdpProcessor.js.map
new file mode 100644
index 0000000..cbc23df
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/cdp/CdpProcessor.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"CdpProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/cdp/CdpProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAMH,MAAa,YAAY;IACvB,uBAAuB,CAAyB;IAChD,cAAc,CAAiB;IAE/B,YACE,sBAA8C,EAC9C,aAA6B;QAE7B,IAAI,CAAC,uBAAuB,GAAG,sBAAsB,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAED,UAAU,CAAC,MAAgC;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,MAAM,SAAS,GACb,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC;QAC1E,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,OAAO,EAAE,CAAC;SACX;QACD,OAAO,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAAiC;QAEjC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO;YAC3B,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;YAClD,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACtE,OAAO;YACL,MAAM;YACN,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;IACJ,CAAC;CACF;AAlCD,oCAkCC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/PreloadScriptStorage.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/PreloadScriptStorage.d.ts
deleted file mode 100644
index c86f745..0000000
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/PreloadScriptStorage.d.ts
+++ /dev/null
@@ -1,21 +0,0 @@
-import type { CommonDataTypes } from '../../../protocol/protocol.js';
-import type { CdpTarget } from './cdpTarget.js';
-import type { BidiPreloadScript } from './bidiPreloadScript.js';
-/**
- * BidiPreloadScripts can be filtered by either context ID, BiDi ID or
- * target ID.
- */
-export type BidiPreloadScriptFilter = Partial<Pick<BidiPreloadScript, 'contextId'> & Pick<BidiPreloadScript, 'id'> & Pick<CdpTarget, 'targetId'>> & {
-    contextIds?: (CommonDataTypes.BrowsingContext | null)[];
-};
-/**
- * Container class for preload scripts.
- */
-export declare class PreloadScriptStorage {
-    #private;
-    /** Finds all entries that match the given filter. */
-    findPreloadScripts(filter?: BidiPreloadScriptFilter): BidiPreloadScript[];
-    addPreloadScript(preloadScript: BidiPreloadScript): void;
-    /** Deletes all BiDi preload script entries that match the given filter. */
-    removeBiDiPreloadScripts(filter?: BidiPreloadScriptFilter): void;
-}
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/PreloadScriptStorage.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/PreloadScriptStorage.js
deleted file mode 100644
index 038bf26..0000000
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/PreloadScriptStorage.js
+++ /dev/null
@@ -1,45 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.PreloadScriptStorage = void 0;
-/**
- * Container class for preload scripts.
- */
-class PreloadScriptStorage {
-    /** Tracks all BiDi preload scripts.  */
-    #scripts = new Set();
-    /** Finds all entries that match the given filter. */
-    findPreloadScripts(filter) {
-        if (!filter) {
-            return [...this.#scripts];
-        }
-        return [...this.#scripts].filter((script) => {
-            if (filter.id !== undefined && filter.id !== script.id) {
-                return false;
-            }
-            if (filter.contextId !== undefined &&
-                filter.contextId !== script.contextId) {
-                return false;
-            }
-            if (filter.contextIds !== undefined &&
-                !filter.contextIds.includes(script.contextId)) {
-                return false;
-            }
-            if (filter.targetId !== undefined &&
-                !script.targetIds.has(filter.targetId)) {
-                return false;
-            }
-            return true;
-        });
-    }
-    addPreloadScript(preloadScript) {
-        this.#scripts.add(preloadScript);
-    }
-    /** Deletes all BiDi preload script entries that match the given filter. */
-    removeBiDiPreloadScripts(filter) {
-        for (const preloadScript of this.findPreloadScripts(filter)) {
-            this.#scripts.delete(preloadScript);
-        }
-    }
-}
-exports.PreloadScriptStorage = PreloadScriptStorage;
-//# sourceMappingURL=PreloadScriptStorage.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/PreloadScriptStorage.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/PreloadScriptStorage.js.map
deleted file mode 100644
index e605a48..0000000
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/PreloadScriptStorage.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"PreloadScriptStorage.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/context/PreloadScriptStorage.ts"],"names":[],"mappings":";;;AA+BA;;GAEG;AACH,MAAa,oBAAoB;IAC/B,wCAAwC;IAC/B,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;IAEjD,qDAAqD;IACrD,kBAAkB,CAAC,MAAgC;QACjD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC3B;QAED,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1C,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE;gBACtD,OAAO,KAAK,CAAC;aACd;YACD,IACE,MAAM,CAAC,SAAS,KAAK,SAAS;gBAC9B,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,EACrC;gBACA,OAAO,KAAK,CAAC;aACd;YACD,IACE,MAAM,CAAC,UAAU,KAAK,SAAS;gBAC/B,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAC7C;gBACA,OAAO,KAAK,CAAC;aACd;YACD,IACE,MAAM,CAAC,QAAQ,KAAK,SAAS;gBAC7B,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EACtC;gBACA,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,aAAgC;QAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;IAED,2EAA2E;IAC3E,wBAAwB,CAAC,MAAgC;QACvD,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;YAC3D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SACrC;IACH,CAAC;CACF;AA9CD,oDA8CC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/bidiPreloadScript.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/bidiPreloadScript.d.ts
deleted file mode 100644
index 91cb055..0000000
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/bidiPreloadScript.d.ts
+++ /dev/null
@@ -1,45 +0,0 @@
-import type { CommonDataTypes, Script } from '../../../protocol/protocol.js';
-import { ChannelProxy } from '../script/channelProxy.js';
-import type { CdpTarget } from './cdpTarget.js';
-/**
- * BiDi IDs are generated by the server and are unique within the context.
- *
- * CDP preload script IDs are generated by the client and are unique
- * within the session.
- *
- * The mapping between BiDi and CDP preload script IDs is 1:many.
- * BiDi IDs are needed by the mapper to keep track of potential multiple CDP IDs
- * in the client.
- */
-export declare class BidiPreloadScript {
-    #private;
-    get id(): string;
-    get contextId(): CommonDataTypes.BrowsingContext | null;
-    get targetIds(): Set<string>;
-    constructor(params: Script.AddPreloadScriptParameters);
-    /** Channels of the preload script. */
-    get channels(): ChannelProxy[];
-    /**
-     * Adds the script to the given CDP targets by calling the
-     * `Page.addScriptToEvaluateOnNewDocument` command.
-     */
-    initInTargets(cdpTargets: Iterable<CdpTarget>): Promise<void>;
-    /**
-     * Adds the script to the given CDP target by calling the
-     * `Page.addScriptToEvaluateOnNewDocument` command.
-     */
-    initInTarget(cdpTarget: CdpTarget): Promise<void>;
-    /**
-     * Schedules the script to be run right after
-     * `Runtime.runIfWaitingForDebugger`, but does not wait for result.
-     */
-    scheduleEvaluateInTarget(cdpTarget: CdpTarget): void;
-    /**
-     * Removes this script from all CDP targets.
-     */
-    remove(): Promise<void>;
-    /**
-     * Removes the provided cdp target from the list of cdp preload scripts.
-     */
-    cdpTargetIsGone(cdpTargetId: string): void;
-}
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/bidiPreloadScript.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/bidiPreloadScript.js
deleted file mode 100644
index 11047ed..0000000
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/bidiPreloadScript.js
+++ /dev/null
@@ -1,133 +0,0 @@
-"use strict";
-/*
- * Copyright 2023 Google LLC.
- * Copyright (c) Microsoft Corporation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.BidiPreloadScript = void 0;
-const uuid_js_1 = require("../../../utils/uuid.js");
-const channelProxy_js_1 = require("../script/channelProxy.js");
-/**
- * BiDi IDs are generated by the server and are unique within the context.
- *
- * CDP preload script IDs are generated by the client and are unique
- * within the session.
- *
- * The mapping between BiDi and CDP preload script IDs is 1:many.
- * BiDi IDs are needed by the mapper to keep track of potential multiple CDP IDs
- * in the client.
- */
-class BidiPreloadScript {
-    /** BiDi ID, an automatically generated UUID. */
-    #id = (0, uuid_js_1.uuidv4)();
-    /** CDP preload scripts. */
-    #cdpPreloadScripts = [];
-    /** The script itself, in a format expected by the spec i.e. a function. */
-    #functionDeclaration;
-    /** Browsing context ID. */
-    #contextId;
-    /** Targets, in which the preload script is initialized. */
-    #targetIds = new Set();
-    /** Channels to be added as arguments to functionDeclaration. */
-    #channels;
-    get id() {
-        return this.#id;
-    }
-    get contextId() {
-        return this.#contextId;
-    }
-    get targetIds() {
-        return this.#targetIds;
-    }
-    constructor(params) {
-        if (params.sandbox !== undefined) {
-            // TODO: Handle sandbox.
-            throw new Error('Sandbox is not supported yet');
-        }
-        this.#channels =
-            params.arguments?.map((a) => new channelProxy_js_1.ChannelProxy(a.value)) ?? [];
-        this.#functionDeclaration = params.functionDeclaration;
-        this.#contextId = params.context ?? null;
-    }
-    /** Channels of the preload script. */
-    get channels() {
-        return this.#channels;
-    }
-    /**
-     * Adds the script to the given CDP targets by calling the
-     * `Page.addScriptToEvaluateOnNewDocument` command.
-     */
-    async initInTargets(cdpTargets) {
-        await Promise.all(Array.from(cdpTargets).map((cdpTarget) => this.initInTarget(cdpTarget)));
-    }
-    /**
-     * String to be evaluated. Wraps user-provided function so that the following
-     * steps are run:
-     * 1. Create channels.
-     * 2. Store the created channels in window.
-     * 3. Call the user-provided function with channels as arguments.
-     */
-    #getEvaluateString() {
-        const channelsArgStr = `[${this.channels
-            .map((c) => c.getEvalInWindowStr())
-            .join(', ')}]`;
-        return `(()=>{(${this.#functionDeclaration})(...${channelsArgStr})})()`;
-    }
-    /**
-     * Adds the script to the given CDP target by calling the
-     * `Page.addScriptToEvaluateOnNewDocument` command.
-     */
-    async initInTarget(cdpTarget) {
-        const addCdpPreloadScriptResult = await cdpTarget.cdpClient.sendCommand('Page.addScriptToEvaluateOnNewDocument', {
-            source: this.#getEvaluateString(),
-        });
-        this.#cdpPreloadScripts.push({
-            target: cdpTarget,
-            preloadScriptId: addCdpPreloadScriptResult.identifier,
-        });
-        this.#targetIds.add(cdpTarget.targetId);
-    }
-    /**
-     * Schedules the script to be run right after
-     * `Runtime.runIfWaitingForDebugger`, but does not wait for result.
-     */
-    scheduleEvaluateInTarget(cdpTarget) {
-        void cdpTarget.cdpClient.sendCommand('Runtime.evaluate', {
-            expression: this.#getEvaluateString(),
-        });
-    }
-    /**
-     * Removes this script from all CDP targets.
-     */
-    async remove() {
-        for (const cdpPreloadScript of this.#cdpPreloadScripts) {
-            const cdpTarget = cdpPreloadScript.target;
-            const cdpPreloadScriptId = cdpPreloadScript.preloadScriptId;
-            await cdpTarget.cdpClient.sendCommand('Page.removeScriptToEvaluateOnNewDocument', {
-                identifier: cdpPreloadScriptId,
-            });
-        }
-    }
-    /**
-     * Removes the provided cdp target from the list of cdp preload scripts.
-     */
-    cdpTargetIsGone(cdpTargetId) {
-        this.#cdpPreloadScripts = this.#cdpPreloadScripts.filter((cdpPreloadScript) => cdpPreloadScript.target?.targetId !== cdpTargetId);
-        this.#targetIds.delete(cdpTargetId);
-    }
-}
-exports.BidiPreloadScript = BidiPreloadScript;
-//# sourceMappingURL=bidiPreloadScript.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/bidiPreloadScript.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/bidiPreloadScript.js.map
deleted file mode 100644
index b9b183f..0000000
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/bidiPreloadScript.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"bidiPreloadScript.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/context/bidiPreloadScript.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAGH,oDAA8C;AAC9C,+DAAuD;AAWvD;;;;;;;;;GASG;AACH,MAAa,iBAAiB;IAC5B,gDAAgD;IACvC,GAAG,GAAW,IAAA,gBAAM,GAAE,CAAC;IAChC,2BAA2B;IAC3B,kBAAkB,GAAuB,EAAE,CAAC;IAC5C,2EAA2E;IAClE,oBAAoB,CAAS;IACtC,2BAA2B;IAClB,UAAU,CAAyC;IAC5D,2DAA2D;IAClD,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,gEAAgE;IACvD,SAAS,CAAiB;IAEnC,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,YAAY,MAAyC;QACnD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE;YAChC,wBAAwB;YACxB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QAED,IAAI,CAAC,SAAS;YACZ,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,8BAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED,sCAAsC;IACtC,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,UAA+B;QACjD,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CACxE,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB;QAChB,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,QAAQ;aACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;aAClC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAEjB,OAAO,UAAU,IAAI,CAAC,oBAAoB,QAAQ,cAAc,OAAO,CAAC;IAC1E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,SAAoB;QACrC,MAAM,yBAAyB,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,WAAW,CACrE,uCAAuC,EACvC;YACE,MAAM,EAAE,IAAI,CAAC,kBAAkB,EAAE;SAClC,CACF,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAC3B,MAAM,EAAE,SAAS;YACjB,eAAe,EAAE,yBAAyB,CAAC,UAAU;SACtD,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;;OAGG;IACH,wBAAwB,CAAC,SAAoB;QAC3C,KAAK,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,kBAAkB,EAAE;YACvD,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE;SACtC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,KAAK,MAAM,gBAAgB,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACtD,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC;YAC1C,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,eAAe,CAAC;YAC5D,MAAM,SAAS,CAAC,SAAS,CAAC,WAAW,CACnC,0CAA0C,EAC1C;gBACE,UAAU,EAAE,kBAAkB;aAC/B,CACF,CAAC;SACH;IACH,CAAC;IAED;;OAEG;IACH,eAAe,CAAC,WAAmB;QACjC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CACtD,CAAC,gBAAgB,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,QAAQ,KAAK,WAAW,CACxE,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;CACF;AA1HD,8CA0HC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextImpl.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextImpl.d.ts
index 6db214b..664a092 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextImpl.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextImpl.d.ts
@@ -15,27 +15,28 @@
  * limitations under the License.
  */
 import type { Protocol } from 'devtools-protocol';
-import { BrowsingContext, type CommonDataTypes, Message } from '../../../protocol/protocol.js';
+import { BrowsingContext, type EmptyResult } from '../../../protocol/protocol.js';
 import { type LoggerFn } from '../../../utils/log.js';
 import type { IEventManager } from '../events/EventManager.js';
 import { Realm } from '../script/realm.js';
 import type { RealmStorage } from '../script/realmStorage.js';
+import type { Result } from '../../../utils/result.js';
 import type { BrowsingContextStorage } from './browsingContextStorage.js';
 import type { CdpTarget } from './cdpTarget.js';
 export declare class BrowsingContextImpl {
     #private;
     private constructor();
-    static create(cdpTarget: CdpTarget, realmStorage: RealmStorage, id: CommonDataTypes.BrowsingContext, parentId: CommonDataTypes.BrowsingContext | null, eventManager: IEventManager, browsingContextStorage: BrowsingContextStorage, logger?: LoggerFn): BrowsingContextImpl;
+    static create(cdpTarget: CdpTarget, realmStorage: RealmStorage, id: BrowsingContext.BrowsingContext, parentId: BrowsingContext.BrowsingContext | null, eventManager: IEventManager, browsingContextStorage: BrowsingContextStorage, logger?: LoggerFn): BrowsingContextImpl;
     static getTimestamp(): number;
     /**
      * @see https://html.spec.whatwg.org/multipage/document-sequences.html#navigable
      */
     get navigableId(): string | undefined;
-    delete(): void;
+    dispose(): void;
     /** Returns the ID of this context. */
-    get id(): CommonDataTypes.BrowsingContext;
+    get id(): BrowsingContext.BrowsingContext;
     /** Returns the parent context ID. */
-    get parentId(): CommonDataTypes.BrowsingContext | null;
+    get parentId(): BrowsingContext.BrowsingContext | null;
     /** Returns the parent context. */
     get parent(): BrowsingContextImpl | null;
     /** Returns all direct children contexts. */
@@ -48,18 +49,21 @@
      */
     isTopLevelContext(): boolean;
     get top(): BrowsingContextImpl;
-    addChild(childId: CommonDataTypes.BrowsingContext): void;
+    addChild(childId: BrowsingContext.BrowsingContext): void;
     get cdpTarget(): CdpTarget;
     updateCdpTarget(cdpTarget: CdpTarget): void;
     get url(): string;
-    awaitLoaded(): Promise<void>;
-    awaitUnblocked(): Promise<void>;
+    lifecycleLoaded(): Promise<void>;
+    targetUnblocked(): Promise<Result<void>>;
     getOrCreateSandbox(sandbox: string | undefined): Promise<Realm>;
     serializeToBidiValue(maxDepth?: number, addParentField?: boolean): BrowsingContext.Info;
     onTargetInfoChanged(params: Protocol.Target.TargetInfoChangedEvent): void;
     navigate(url: string, wait: BrowsingContext.ReadinessState): Promise<BrowsingContext.NavigateResult>;
-    reload(ignoreCache: boolean, wait: BrowsingContext.ReadinessState): Promise<Message.EmptyResult>;
+    reload(ignoreCache: boolean, wait: BrowsingContext.ReadinessState): Promise<EmptyResult>;
     setViewport(viewport: BrowsingContext.Viewport | null): Promise<void>;
+    handleUserPrompt(params: BrowsingContext.HandleUserPromptParameters): Promise<void>;
+    activate(): Promise<void>;
     captureScreenshot(): Promise<BrowsingContext.CaptureScreenshotResult>;
     print(params: BrowsingContext.PrintParameters): Promise<BrowsingContext.PrintResult>;
+    close(): Promise<void>;
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js
index dbe665e..496bec7 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js
@@ -17,10 +17,10 @@
  */
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.BrowsingContextImpl = void 0;
-const unitConversions_js_1 = require("../../../utils/unitConversions.js");
 const protocol_js_1 = require("../../../protocol/protocol.js");
-const log_js_1 = require("../../../utils/log.js");
 const deferred_js_1 = require("../../../utils/deferred.js");
+const log_js_1 = require("../../../utils/log.js");
+const unitConversions_js_1 = require("../../../utils/unitConversions.js");
 const realm_js_1 = require("../script/realm.js");
 class BrowsingContextImpl {
     /** The ID of this browsing context. */
@@ -34,7 +34,6 @@
     #children = new Set();
     #browsingContextStorage;
     #deferreds = {
-        documentInitialized: new deferred_js_1.Deferred(),
         Page: {
             navigatedWithinDocument: new deferred_js_1.Deferred(),
             lifecycleEvent: {
@@ -49,7 +48,6 @@
     #loaderId;
     #cdpTarget;
     #maybeDefaultRealm;
-    #isNavigating = false;
     #logger;
     constructor(cdpTarget, realmStorage, id, parentId, eventManager, browsingContextStorage, logger) {
         this.#cdpTarget = cdpTarget;
@@ -68,7 +66,8 @@
             context.parent.addChild(context.id);
         }
         eventManager.registerEvent({
-            method: protocol_js_1.BrowsingContext.EventNames.ContextCreatedEvent,
+            type: 'event',
+            method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.ContextCreatedEvent,
             params: context.serializeToBidiValue(),
         }, context.id);
         return context;
@@ -86,7 +85,7 @@
     get navigableId() {
         return this.#loaderId;
     }
-    delete() {
+    dispose() {
         this.#deleteAllChildren();
         this.#realmStorage.deleteRealms({
             browsingContextId: this.id,
@@ -96,7 +95,8 @@
             this.parent.#children.delete(this.id);
         }
         this.#eventManager.registerEvent({
-            method: protocol_js_1.BrowsingContext.EventNames.ContextDestroyedEvent,
+            type: 'event',
+            method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.ContextDestroyedEvent,
             params: this.serializeToBidiValue(),
         }, this.id);
         this.#browsingContextStorage.deleteContextById(this.id);
@@ -146,7 +146,7 @@
         this.#children.add(childId);
     }
     #deleteAllChildren() {
-        this.directChildren.map((child) => child.delete());
+        this.directChildren.map((child) => child.dispose());
     }
     get #defaultRealm() {
         if (this.#maybeDefaultRealm === undefined) {
@@ -164,10 +164,10 @@
     get url() {
         return this.#url;
     }
-    async awaitLoaded() {
+    async lifecycleLoaded() {
         await this.#deferreds.Page.lifecycleEvent.load;
     }
-    awaitUnblocked() {
+    targetUnblocked() {
         return this.#cdpTarget.targetUnblocked;
     }
     async getOrCreateSandbox(sandbox) {
@@ -207,41 +207,17 @@
     }
     onTargetInfoChanged(params) {
         this.#url = params.targetInfo.url;
-        if (this.#isNavigating) {
-            this.#eventManager.registerEvent({
-                method: protocol_js_1.BrowsingContext.EventNames.NavigationStarted,
-                params: {
-                    context: this.id,
-                    // TODO: The network event is send before the CDP Page.frameStartedLoading
-                    // It theory there should be a way to get the data.
-                    navigation: null,
-                    timestamp: BrowsingContextImpl.getTimestamp(),
-                    url: this.#url,
-                },
-            }, this.id);
-            this.#isNavigating = false;
-        }
     }
     #initListeners() {
         this.#cdpTarget.cdpClient.on('Page.frameNavigated', (params) => {
             if (this.id !== params.frame.id) {
                 return;
             }
-            const timestamp = BrowsingContextImpl.getTimestamp();
             this.#url = params.frame.url + (params.frame.urlFragment ?? '');
             // At the point the page is initialized, all the nested iframes from the
             // previous page are detached and realms are destroyed.
             // Remove children from context.
             this.#deleteAllChildren();
-            this.#eventManager.registerEvent({
-                method: protocol_js_1.BrowsingContext.EventNames.FragmentNavigated,
-                params: {
-                    context: this.id,
-                    navigation: this.#loaderId ?? null,
-                    timestamp,
-                    url: this.#url,
-                },
-            }, this.id);
         });
         this.#cdpTarget.cdpClient.on('Page.navigatedWithinDocument', (params) => {
             if (this.id !== params.frameId) {
@@ -250,9 +226,9 @@
             const timestamp = BrowsingContextImpl.getTimestamp();
             this.#url = params.url;
             this.#deferreds.Page.navigatedWithinDocument.resolve(params);
-            // TODO: Remove this once History event for BiDi are added
             this.#eventManager.registerEvent({
-                method: protocol_js_1.BrowsingContext.EventNames.FragmentNavigated,
+                type: 'event',
+                method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.FragmentNavigated,
                 params: {
                     context: this.id,
                     navigation: null,
@@ -265,13 +241,16 @@
             if (this.id !== params.frameId) {
                 return;
             }
-            this.#isNavigating = true;
-        });
-        this.#cdpTarget.cdpClient.on('Page.frameStoppedLoading', (params) => {
-            if (this.id !== params.frameId) {
-                return;
-            }
-            this.#isNavigating = false;
+            this.#eventManager.registerEvent({
+                type: 'event',
+                method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.NavigationStarted,
+                params: {
+                    context: this.id,
+                    navigation: null,
+                    timestamp: BrowsingContextImpl.getTimestamp(),
+                    url: '',
+                },
+            }, this.id);
         });
         this.#cdpTarget.cdpClient.on('Page.lifecycleEvent', (params) => {
             if (this.id !== params.frameId) {
@@ -279,7 +258,6 @@
             }
             if (params.name === 'init') {
                 this.#documentChanged(params.loaderId);
-                this.#deferreds.documentInitialized.resolve();
                 return;
             }
             if (params.name === 'commit') {
@@ -293,9 +271,9 @@
             const timestamp = BrowsingContextImpl.getTimestamp();
             switch (params.name) {
                 case 'DOMContentLoaded':
-                    this.#deferreds.Page.lifecycleEvent.DOMContentLoaded.resolve(params);
                     this.#eventManager.registerEvent({
-                        method: protocol_js_1.BrowsingContext.EventNames.DomContentLoadedEvent,
+                        type: 'event',
+                        method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.DomContentLoadedEvent,
                         params: {
                             context: this.id,
                             navigation: this.#loaderId ?? null,
@@ -303,11 +281,12 @@
                             url: this.#url,
                         },
                     }, this.id);
+                    this.#deferreds.Page.lifecycleEvent.DOMContentLoaded.resolve(params);
                     break;
                 case 'load':
-                    this.#deferreds.Page.lifecycleEvent.load.resolve(params);
                     this.#eventManager.registerEvent({
-                        method: protocol_js_1.BrowsingContext.EventNames.LoadEvent,
+                        type: 'event',
+                        method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.LoadEvent,
                         params: {
                             context: this.id,
                             navigation: this.#loaderId ?? null,
@@ -315,6 +294,7 @@
                             url: this.#url,
                         },
                     }, this.id);
+                    this.#deferreds.Page.lifecycleEvent.load.resolve(params);
                     break;
             }
         });
@@ -332,14 +312,14 @@
             // Sandbox name for isolated world.
             params.context.auxData.type === 'isolated'
                 ? params.context.name
-                : undefined, this.#cdpTarget.cdpSessionId, this.#cdpTarget.cdpClient, this.#eventManager, this.#logger);
+                : undefined, this.#cdpTarget.cdpClient, this.#eventManager, this.#logger);
             if (params.context.auxData.isDefault) {
                 this.#maybeDefaultRealm = realm;
                 // Initialize ChannelProxy listeners for all the channels of all the
                 // preload scripts related to this BrowsingContext.
                 // TODO: extend for not default realms by the sandbox name.
                 void Promise.all(this.#cdpTarget
-                    .getChannels(this.id)
+                    .getChannels()
                     .map((channel) => channel.startListenerFromWindow(realm, this.#eventManager)));
             }
         });
@@ -354,6 +334,29 @@
                 cdpSessionId: this.#cdpTarget.cdpSessionId,
             });
         });
+        this.#cdpTarget.cdpClient.on('Page.javascriptDialogClosed', (params) => {
+            this.#eventManager.registerEvent({
+                type: 'event',
+                method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.UserPromptClosed,
+                params: {
+                    context: this.id,
+                    accepted: params.result,
+                    // Cast empty string to undefined
+                    userText: params.userInput ? params.userInput : undefined,
+                },
+            }, this.id);
+        });
+        this.#cdpTarget.cdpClient.on('Page.javascriptDialogOpening', (params) => {
+            this.#eventManager.registerEvent({
+                type: 'event',
+                method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.UserPromptOpened,
+                params: {
+                    context: this.id,
+                    type: params.type,
+                    message: params.message,
+                },
+            }, this.id);
+        });
     }
     #getOrigin(params) {
         if (params.context.auxData.type === 'isolated') {
@@ -382,12 +385,6 @@
         this.#loaderId = loaderId;
     }
     #resetDeferredsIfFinished() {
-        if (this.#deferreds.documentInitialized.isFinished) {
-            this.#deferreds.documentInitialized = new deferred_js_1.Deferred();
-        }
-        else {
-            this.#logger?.(log_js_1.LogType.browsingContexts, 'Document changed (document initialized)');
-        }
         if (this.#deferreds.Page.lifecycleEvent.DOMContentLoaded.isFinished) {
             this.#deferreds.Page.lifecycleEvent.DOMContentLoaded =
                 new deferred_js_1.Deferred();
@@ -404,20 +401,26 @@
         }
     }
     async navigate(url, wait) {
-        await this.awaitUnblocked();
+        try {
+            void new URL(url);
+        }
+        catch {
+            throw new protocol_js_1.InvalidArgumentException(`Invalid URL: ${url}`);
+        }
+        await this.targetUnblocked();
         // TODO: handle loading errors.
         const cdpNavigateResult = await this.#cdpTarget.cdpClient.sendCommand('Page.navigate', {
             url,
             frameId: this.id,
         });
         if (cdpNavigateResult.errorText) {
-            throw new protocol_js_1.Message.UnknownErrorException(cdpNavigateResult.errorText);
+            throw new protocol_js_1.UnknownErrorException(cdpNavigateResult.errorText);
         }
         this.#documentChanged(cdpNavigateResult.loaderId);
         switch (wait) {
-            case 'none':
+            case "none" /* BrowsingContext.ReadinessState.None */:
                 break;
-            case 'interactive':
+            case "interactive" /* BrowsingContext.ReadinessState.Interactive */:
                 // No `loaderId` means same-document navigation.
                 if (cdpNavigateResult.loaderId === undefined) {
                     await this.#deferreds.Page.navigatedWithinDocument;
@@ -426,40 +429,38 @@
                     await this.#deferreds.Page.lifecycleEvent.DOMContentLoaded;
                 }
                 break;
-            case 'complete':
+            case "complete" /* BrowsingContext.ReadinessState.Complete */:
                 // No `loaderId` means same-document navigation.
                 if (cdpNavigateResult.loaderId === undefined) {
                     await this.#deferreds.Page.navigatedWithinDocument;
                 }
                 else {
-                    await this.awaitLoaded();
+                    await this.lifecycleLoaded();
                 }
                 break;
         }
         return {
-            result: {
-                navigation: cdpNavigateResult.loaderId ?? null,
-                url,
-            },
+            navigation: cdpNavigateResult.loaderId ?? null,
+            url,
         };
     }
     async reload(ignoreCache, wait) {
-        await this.awaitUnblocked();
+        await this.targetUnblocked();
         await this.#cdpTarget.cdpClient.sendCommand('Page.reload', {
             ignoreCache,
         });
         this.#resetDeferredsIfFinished();
         switch (wait) {
-            case 'none':
+            case "none" /* BrowsingContext.ReadinessState.None */:
                 break;
-            case 'interactive':
+            case "interactive" /* BrowsingContext.ReadinessState.Interactive */:
                 await this.#deferreds.Page.lifecycleEvent.DOMContentLoaded;
                 break;
-            case 'complete':
-                await this.awaitLoaded();
+            case "complete" /* BrowsingContext.ReadinessState.Complete */:
+                await this.lifecycleLoaded();
                 break;
         }
-        return { result: {} };
+        return {};
     }
     async setViewport(viewport) {
         if (viewport === null) {
@@ -479,12 +480,21 @@
                 if (err.message.startsWith(
                 // https://crsrc.org/c/content/browser/devtools/protocol/emulation_handler.cc;l=257;drc=2f6eee84cf98d4227e7c41718dd71b82f26d90ff
                 'Width and height values must be positive')) {
-                    throw new protocol_js_1.Message.UnsupportedOperationException('Provided viewport dimensions are not supported');
+                    throw new protocol_js_1.UnsupportedOperationException('Provided viewport dimensions are not supported');
                 }
                 throw err;
             }
         }
     }
+    async handleUserPrompt(params) {
+        await this.#cdpTarget.cdpClient.sendCommand('Page.handleJavaScriptDialog', {
+            accept: params.accept ?? true,
+            promptText: params.userText,
+        });
+    }
+    async activate() {
+        await this.#cdpTarget.cdpClient.sendCommand('Page.bringToFront');
+    }
     async captureScreenshot() {
         // XXX: Focus the original tab after the screenshot is taken.
         // This is needed because the screenshot gets blocked until the active tab gets focus.
@@ -521,9 +531,7 @@
             },
         });
         return {
-            result: {
-                data: result.data,
-            },
+            data: result.data,
         };
     }
     async print(params) {
@@ -553,6 +561,37 @@
             cdpParams.paperWidth = (0, unitConversions_js_1.inchesFromCm)(params.page.width);
         }
         if (params.pageRanges !== undefined) {
+            for (const range of params.pageRanges) {
+                if (typeof range === 'number') {
+                    continue;
+                }
+                const rangeParts = range.split('-');
+                if (rangeParts.length < 1 || rangeParts.length > 2) {
+                    throw new protocol_js_1.InvalidArgumentException(`Invalid page range: ${range} is not a valid integer range.`);
+                }
+                if (rangeParts.length === 1) {
+                    void parseInteger(rangeParts[0] ?? '');
+                    continue;
+                }
+                let lowerBound;
+                let upperBound;
+                const [rangeLowerPart = '', rangeUpperPart = ''] = rangeParts;
+                if (rangeLowerPart === '') {
+                    lowerBound = 1;
+                }
+                else {
+                    lowerBound = parseInteger(rangeLowerPart);
+                }
+                if (rangeUpperPart === '') {
+                    upperBound = Number.MAX_SAFE_INTEGER;
+                }
+                else {
+                    upperBound = parseInteger(rangeUpperPart);
+                }
+                if (lowerBound > upperBound) {
+                    throw new protocol_js_1.InvalidArgumentException(`Invalid page range: ${rangeLowerPart} > ${rangeUpperPart}`);
+                }
+            }
             cdpParams.pageRanges = params.pageRanges.join(',');
         }
         if (params.scale !== undefined) {
@@ -561,13 +600,31 @@
         if (params.shrinkToFit !== undefined) {
             cdpParams.preferCSSPageSize = !params.shrinkToFit;
         }
-        const result = await this.#cdpTarget.cdpClient.sendCommand('Page.printToPDF', cdpParams);
-        return {
-            result: {
+        try {
+            const result = await this.#cdpTarget.cdpClient.sendCommand('Page.printToPDF', cdpParams);
+            return {
                 data: result.data,
-            },
-        };
+            };
+        }
+        catch (error) {
+            // Effectively zero dimensions.
+            if (error.message ===
+                'invalid print parameters: content area is empty') {
+                throw new protocol_js_1.UnsupportedOperationException(error.message);
+            }
+            throw error;
+        }
+    }
+    async close() {
+        await this.#cdpTarget.cdpClient.sendCommand('Page.close');
     }
 }
 exports.BrowsingContextImpl = BrowsingContextImpl;
+function parseInteger(value) {
+    value = value.trim();
+    if (!/^[0-9]+$/.test(value)) {
+        throw new protocol_js_1.InvalidArgumentException(`Invalid integer: ${value}`);
+    }
+    return parseInt(value);
+}
 //# sourceMappingURL=browsingContextImpl.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js.map
index 30ae8e1..b56de17 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js.map
@@ -1 +1 @@
-{"version":3,"file":"browsingContextImpl.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/context/browsingContextImpl.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"browsingContextImpl.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/context/browsingContextImpl.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.d.ts
index 8389f84..3948724 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.d.ts
@@ -1,28 +1,21 @@
-import { type BrowsingContext, type Cdp, Input, Message, type Script } from '../../../protocol/protocol.js';
+import type { ICdpConnection } from '../../../cdp/cdpConnection.js';
+import { BrowsingContext, type EmptyResult } from '../../../protocol/protocol.js';
 import { type LoggerFn } from '../../../utils/log.js';
 import type { IEventManager } from '../events/EventManager.js';
 import type { RealmStorage } from '../script/realmStorage.js';
-import type { ICdpConnection } from '../../../cdp/cdpConnection.js';
+import type { PreloadScriptStorage } from '../script/PreloadScriptStorage.js';
 import type { BrowsingContextStorage } from './browsingContextStorage.js';
 export declare class BrowsingContextProcessor {
     #private;
-    constructor(cdpConnection: ICdpConnection, selfTargetId: string, eventManager: IEventManager, browsingContextStorage: BrowsingContextStorage, realmStorage: RealmStorage, logger?: LoggerFn);
-    process_browsingContext_getTree(params: BrowsingContext.GetTreeParameters): BrowsingContext.GetTreeResult;
-    process_browsingContext_create(params: BrowsingContext.CreateParameters): Promise<BrowsingContext.CreateResult>;
-    process_browsingContext_navigate(params: BrowsingContext.NavigateParameters): Promise<BrowsingContext.NavigateResult>;
-    process_browsingContext_reload(params: BrowsingContext.ReloadParameters): Promise<Message.EmptyResult>;
-    process_browsingContext_captureScreenshot(params: BrowsingContext.CaptureScreenshotParameters): Promise<BrowsingContext.CaptureScreenshotResult>;
-    process_browsingContext_print(params: BrowsingContext.PrintParameters): Promise<BrowsingContext.PrintResult>;
-    process_script_addPreloadScript(params: Script.AddPreloadScriptParameters): Promise<Script.AddPreloadScriptResult>;
-    process_script_removePreloadScript(params: Script.RemovePreloadScriptParameters): Promise<Message.EmptyResult>;
-    process_script_evaluate(params: Script.EvaluateParameters): Promise<Script.EvaluateResult>;
-    process_script_getRealms(params: Script.GetRealmsParameters): Script.GetRealmsResult;
-    process_script_callFunction(params: Script.CallFunctionParameters): Promise<Script.CallFunctionResult>;
-    process_script_disown(params: Script.DisownParameters): Promise<Script.DisownResult>;
-    process_input_performActions(params: Input.PerformActionsParameters): Promise<Message.EmptyResult>;
-    process_input_releaseActions(params: Input.ReleaseActionsParameters): Promise<Message.EmptyResult>;
-    process_browsingContext_setViewport(params: BrowsingContext.SetViewportParameters): Promise<Message.EmptyResult>;
-    process_browsingContext_close(commandParams: BrowsingContext.CloseParameters): Promise<Message.EmptyResult>;
-    process_cdp_sendCommand(params: Cdp.SendCommandParams): Promise<Cdp.SendCommandResult>;
-    process_cdp_getSession(params: Cdp.GetSessionParams): Cdp.GetSessionResult;
+    constructor(cdpConnection: ICdpConnection, selfTargetId: string, eventManager: IEventManager, browsingContextStorage: BrowsingContextStorage, realmStorage: RealmStorage, preloadScriptStorage: PreloadScriptStorage, logger?: LoggerFn);
+    getTree(params: BrowsingContext.GetTreeParameters): BrowsingContext.GetTreeResult;
+    create(params: BrowsingContext.CreateParameters): Promise<BrowsingContext.CreateResult>;
+    navigate(params: BrowsingContext.NavigateParameters): Promise<BrowsingContext.NavigateResult>;
+    reload(params: BrowsingContext.ReloadParameters): Promise<EmptyResult>;
+    activate(params: BrowsingContext.ActivateParameters): Promise<EmptyResult>;
+    captureScreenshot(params: BrowsingContext.CaptureScreenshotParameters): Promise<BrowsingContext.CaptureScreenshotResult>;
+    print(params: BrowsingContext.PrintParameters): Promise<BrowsingContext.PrintResult>;
+    setViewport(params: BrowsingContext.SetViewportParameters): Promise<EmptyResult>;
+    handleUserPrompt(params: BrowsingContext.HandleUserPromptParameters): Promise<EmptyResult>;
+    close(commandParams: BrowsingContext.CloseParameters): Promise<EmptyResult>;
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js
index cf414d1..2b0b4a7 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js
@@ -3,30 +3,137 @@
 exports.BrowsingContextProcessor = void 0;
 const protocol_js_1 = require("../../../protocol/protocol.js");
 const log_js_1 = require("../../../utils/log.js");
-const InputStateManager_js_1 = require("../input/InputStateManager.js");
-const ActionDispatcher_js_1 = require("../input/ActionDispatcher.js");
-const PreloadScriptStorage_js_1 = require("./PreloadScriptStorage.js");
 const browsingContextImpl_js_1 = require("./browsingContextImpl.js");
 const cdpTarget_js_1 = require("./cdpTarget.js");
-const bidiPreloadScript_1 = require("./bidiPreloadScript");
 class BrowsingContextProcessor {
-    #browsingContextStorage;
     #cdpConnection;
-    #eventManager;
-    #logger;
-    #realmStorage;
     #selfTargetId;
-    #preloadScriptStorage = new PreloadScriptStorage_js_1.PreloadScriptStorage();
-    #inputStateManager = new InputStateManager_js_1.InputStateManager();
-    constructor(cdpConnection, selfTargetId, eventManager, browsingContextStorage, realmStorage, logger) {
+    #eventManager;
+    #browsingContextStorage;
+    #preloadScriptStorage;
+    #realmStorage;
+    #logger;
+    constructor(cdpConnection, selfTargetId, eventManager, browsingContextStorage, realmStorage, preloadScriptStorage, logger) {
         this.#cdpConnection = cdpConnection;
         this.#selfTargetId = selfTargetId;
         this.#eventManager = eventManager;
         this.#browsingContextStorage = browsingContextStorage;
+        this.#preloadScriptStorage = preloadScriptStorage;
         this.#realmStorage = realmStorage;
         this.#logger = logger;
         this.#setEventListeners(this.#cdpConnection.browserClient());
     }
+    getTree(params) {
+        const resultContexts = params.root === undefined
+            ? this.#browsingContextStorage.getTopLevelContexts()
+            : [this.#browsingContextStorage.getContext(params.root)];
+        return {
+            contexts: resultContexts.map((c) => c.serializeToBidiValue(params.maxDepth ?? Number.MAX_VALUE)),
+        };
+    }
+    async create(params) {
+        const browserCdpClient = this.#cdpConnection.browserClient();
+        let referenceContext;
+        if (params.referenceContext !== undefined) {
+            referenceContext = this.#browsingContextStorage.getContext(params.referenceContext);
+            if (!referenceContext.isTopLevelContext()) {
+                throw new protocol_js_1.InvalidArgumentException(`referenceContext should be a top-level context`);
+            }
+        }
+        let result;
+        switch (params.type) {
+            case "tab" /* BrowsingContext.CreateType.Tab */:
+                result = await browserCdpClient.sendCommand('Target.createTarget', {
+                    url: 'about:blank',
+                    newWindow: false,
+                });
+                break;
+            case "window" /* BrowsingContext.CreateType.Window */:
+                result = await browserCdpClient.sendCommand('Target.createTarget', {
+                    url: 'about:blank',
+                    newWindow: true,
+                });
+                break;
+        }
+        // Wait for the new tab to be loaded to avoid race conditions in the
+        // `browsingContext` events, when the `browsingContext.domContentLoaded` and
+        // `browsingContext.load` events from the initial `about:blank` navigation
+        // are emitted after the next navigation is started.
+        // Details: https://github.com/web-platform-tests/wpt/issues/35846
+        const contextId = result.targetId;
+        const context = this.#browsingContextStorage.getContext(contextId);
+        await context.lifecycleLoaded();
+        return { context: context.id };
+    }
+    navigate(params) {
+        const context = this.#browsingContextStorage.getContext(params.context);
+        return context.navigate(params.url, params.wait ?? "none" /* BrowsingContext.ReadinessState.None */);
+    }
+    reload(params) {
+        const context = this.#browsingContextStorage.getContext(params.context);
+        return context.reload(params.ignoreCache ?? false, params.wait ?? "none" /* BrowsingContext.ReadinessState.None */);
+    }
+    async activate(params) {
+        const context = this.#browsingContextStorage.getContext(params.context);
+        if (!context.isTopLevelContext()) {
+            throw new protocol_js_1.InvalidArgumentException('Activation is only supported on the top-level context');
+        }
+        await context.activate();
+        return {};
+    }
+    async captureScreenshot(params) {
+        const context = this.#browsingContextStorage.getContext(params.context);
+        return context.captureScreenshot();
+    }
+    async print(params) {
+        const context = this.#browsingContextStorage.getContext(params.context);
+        return context.print(params);
+    }
+    async setViewport(params) {
+        const context = this.#browsingContextStorage.getContext(params.context);
+        if (!context.isTopLevelContext()) {
+            throw new protocol_js_1.InvalidArgumentException('Emulating viewport is only supported on the top-level context');
+        }
+        await context.setViewport(params.viewport);
+        return {};
+    }
+    async handleUserPrompt(params) {
+        const context = this.#browsingContextStorage.getContext(params.context);
+        await context.handleUserPrompt(params);
+        return {};
+    }
+    async close(commandParams) {
+        const context = this.#browsingContextStorage.getContext(commandParams.context);
+        if (!context.isTopLevelContext()) {
+            throw new protocol_js_1.InvalidArgumentException(`Non top-level browsing context ${context.id} cannot be closed.`);
+        }
+        try {
+            const browserCdpClient = this.#cdpConnection.browserClient();
+            const detachedFromTargetPromise = new Promise((resolve) => {
+                const onContextDestroyed = (event) => {
+                    if (event.targetId === commandParams.context) {
+                        browserCdpClient.off('Target.detachedFromTarget', onContextDestroyed);
+                        resolve();
+                    }
+                };
+                browserCdpClient.on('Target.detachedFromTarget', onContextDestroyed);
+            });
+            await context.close();
+            // Sometimes CDP command finishes before `detachedFromTarget` event,
+            // sometimes after. Wait for the CDP command to be finished, and then wait
+            // for `detachedFromTarget` if it hasn't emitted.
+            await detachedFromTargetPromise;
+        }
+        catch (error) {
+            // Swallow error that arise from the page being destroyed
+            // Example is navigating to faulty SSL certificate
+            if (!(error.code === -32000 &&
+                error.message === 'Not attached to an active page')) {
+                throw error;
+            }
+        }
+        return {};
+    }
     /**
      * This method is called for each CDP session, since this class is responsible
      * for creating and destroying all targets and browsing contexts.
@@ -59,7 +166,7 @@
         if (params.reason === 'swap') {
             return;
         }
-        this.#browsingContextStorage.findContext(params.frameId)?.delete();
+        this.#browsingContextStorage.findContext(params.frameId)?.dispose();
     }
     #handleAttachedToTargetEvent(params, parentSessionCdpClient) {
         const { sessionId, targetInfo } = params;
@@ -76,7 +183,7 @@
         this.#logger?.(log_js_1.LogType.browsingContexts, 'AttachedToTarget event received:', JSON.stringify(params, null, 2));
         this.#setEventListeners(targetCdpClient);
         const maybeContext = this.#browsingContextStorage.findContext(targetInfo.targetId);
-        const cdpTarget = cdpTarget_js_1.CdpTarget.create(targetInfo.targetId, maybeContext?.parentId ?? null, targetCdpClient, sessionId, this.#realmStorage, this.#eventManager, this.#preloadScriptStorage);
+        const cdpTarget = cdpTarget_js_1.CdpTarget.create(targetInfo.targetId, targetCdpClient, sessionId, this.#realmStorage, this.#eventManager, this.#preloadScriptStorage);
         if (maybeContext) {
             // OOPiF.
             maybeContext.updateCdpTarget(cdpTarget);
@@ -91,10 +198,10 @@
         // params.sessionId instead.
         // https://github.com/GoogleChromeLabs/chromium-bidi/issues/60
         const contextId = params.targetId;
-        this.#browsingContextStorage.findContext(contextId)?.delete();
+        this.#browsingContextStorage.findContext(contextId)?.dispose();
         this.#preloadScriptStorage
             .findPreloadScripts({ targetId: contextId })
-            .map((preloadScript) => preloadScript.cdpTargetIsGone(contextId));
+            .map((preloadScript) => preloadScript.dispose(contextId));
     }
     #handleTargetInfoChangedEvent(params) {
         const contextId = params.targetInfo.targetId;
@@ -102,244 +209,12 @@
             .findContext(contextId)
             ?.onTargetInfoChanged(params);
     }
-    async #getRealm(target) {
-        if ('realm' in target) {
-            return this.#realmStorage.getRealm({
-                realmId: target.realm,
-            });
-        }
-        const context = this.#browsingContextStorage.getContext(target.context);
-        return context.getOrCreateSandbox(target.sandbox);
-    }
-    process_browsingContext_getTree(params) {
-        const resultContexts = params.root === undefined
-            ? this.#browsingContextStorage.getTopLevelContexts()
-            : [this.#browsingContextStorage.getContext(params.root)];
-        return {
-            result: {
-                contexts: resultContexts.map((c) => c.serializeToBidiValue(params.maxDepth ?? Number.MAX_VALUE)),
-            },
-        };
-    }
-    async process_browsingContext_create(params) {
-        const browserCdpClient = this.#cdpConnection.browserClient();
-        let referenceContext;
-        if (params.referenceContext !== undefined) {
-            referenceContext = this.#browsingContextStorage.getContext(params.referenceContext);
-            if (!referenceContext.isTopLevelContext()) {
-                throw new protocol_js_1.Message.InvalidArgumentException(`referenceContext should be a top-level context`);
-            }
-        }
-        let result;
-        switch (params.type) {
-            case 'tab':
-                result = await browserCdpClient.sendCommand('Target.createTarget', {
-                    url: 'about:blank',
-                    newWindow: false,
-                });
-                break;
-            case 'window':
-                result = await browserCdpClient.sendCommand('Target.createTarget', {
-                    url: 'about:blank',
-                    newWindow: true,
-                });
-                break;
-        }
-        // Wait for the new tab to be loaded to avoid race conditions in the
-        // `browsingContext` events, when the `browsingContext.domContentLoaded` and
-        // `browsingContext.load` events from the initial `about:blank` navigation
-        // are emitted after the next navigation is started.
-        // Details: https://github.com/web-platform-tests/wpt/issues/35846
-        const contextId = result.targetId;
-        const context = this.#browsingContextStorage.getContext(contextId);
-        await context.awaitLoaded();
-        return {
-            result: {
-                context: context.id,
-            },
-        };
-    }
-    process_browsingContext_navigate(params) {
-        const context = this.#browsingContextStorage.getContext(params.context);
-        return context.navigate(params.url, params.wait ?? 'none');
-    }
-    process_browsingContext_reload(params) {
-        const context = this.#browsingContextStorage.getContext(params.context);
-        return context.reload(params.ignoreCache ?? false, params.wait ?? 'none');
-    }
-    async process_browsingContext_captureScreenshot(params) {
-        const context = this.#browsingContextStorage.getContext(params.context);
-        return context.captureScreenshot();
-    }
-    async process_browsingContext_print(params) {
-        const context = this.#browsingContextStorage.getContext(params.context);
-        return context.print(params);
-    }
-    async process_script_addPreloadScript(params) {
-        const preloadScript = new bidiPreloadScript_1.BidiPreloadScript(params);
-        this.#preloadScriptStorage.addPreloadScript(preloadScript);
-        const cdpTargets = new Set(
-        // TODO: The unique target can be in a non-top-level browsing context.
-        // We need all the targets.
-        // To get them, we can walk through all the contexts and collect their targets into the set.
-        params.context === undefined || params.context === null
-            ? this.#browsingContextStorage
-                .getTopLevelContexts()
-                .map((context) => context.cdpTarget)
-            : [this.#browsingContextStorage.getContext(params.context).cdpTarget]);
-        await preloadScript.initInTargets(cdpTargets);
-        return {
-            result: {
-                script: preloadScript.id,
-            },
-        };
-    }
-    async process_script_removePreloadScript(params) {
-        const bidiId = params.script;
-        const scripts = this.#preloadScriptStorage.findPreloadScripts({
-            id: bidiId,
-        });
-        if (scripts.length === 0) {
-            throw new protocol_js_1.Message.NoSuchScriptException(`No preload script with BiDi ID '${bidiId}'`);
-        }
-        await Promise.all(scripts.map((script) => script.remove()));
-        this.#preloadScriptStorage.removeBiDiPreloadScripts({
-            id: bidiId,
-        });
-        return { result: {} };
-    }
-    async process_script_evaluate(params) {
-        const realm = await this.#getRealm(params.target);
-        return realm.scriptEvaluate(params.expression, params.awaitPromise, params.resultOwnership ?? 'none', params.serializationOptions ?? {});
-    }
-    process_script_getRealms(params) {
-        if (params.context !== undefined) {
-            // Make sure the context is known.
-            this.#browsingContextStorage.getContext(params.context);
-        }
-        const realms = this.#realmStorage
-            .findRealms({
-            browsingContextId: params.context,
-            type: params.type,
-        })
-            .map((realm) => realm.toBiDi());
-        return { result: { realms } };
-    }
-    async process_script_callFunction(params) {
-        const realm = await this.#getRealm(params.target);
-        return realm.callFunction(params.functionDeclaration, params.this ?? {
-            type: 'undefined',
-        }, // `this` is `undefined` by default.
-        params.arguments ?? [], // `arguments` is `[]` by default.
-        params.awaitPromise, params.resultOwnership ?? 'none', params.serializationOptions ?? {});
-    }
-    async process_script_disown(params) {
-        const realm = await this.#getRealm(params.target);
-        await Promise.all(params.handles.map(async (h) => realm.disown(h)));
-        return { result: {} };
-    }
-    async process_input_performActions(params) {
-        const context = this.#browsingContextStorage.getContext(params.context);
-        const inputState = this.#inputStateManager.get(context.top);
-        const actionsByTick = this.#getActionsByTick(params, inputState);
-        const dispatcher = new ActionDispatcher_js_1.ActionDispatcher(inputState, context, await ActionDispatcher_js_1.ActionDispatcher.isMacOS(context).catch(() => false));
-        await dispatcher.dispatchActions(actionsByTick);
-        return { result: {} };
-    }
-    #getActionsByTick(params, inputState) {
-        const actionsByTick = [];
-        for (const action of params.actions) {
-            switch (action.type) {
-                case protocol_js_1.Input.SourceActionsType.Pointer: {
-                    action.parameters ??= { pointerType: protocol_js_1.Input.PointerType.Mouse };
-                    action.parameters.pointerType ??= protocol_js_1.Input.PointerType.Mouse;
-                    const source = inputState.getOrCreate(action.id, protocol_js_1.Input.SourceActionsType.Pointer, action.parameters.pointerType);
-                    if (source.subtype !== action.parameters.pointerType) {
-                        throw new protocol_js_1.Message.InvalidArgumentException(`Expected input source ${action.id} to be ${source.subtype}; got ${action.parameters.pointerType}.`);
-                    }
-                    break;
-                }
-                default:
-                    inputState.getOrCreate(action.id, action.type);
-            }
-            const actions = action.actions.map((item) => ({
-                id: action.id,
-                action: item,
-            }));
-            for (let i = 0; i < actions.length; i++) {
-                if (actionsByTick.length === i) {
-                    actionsByTick.push([]);
-                }
-                actionsByTick[i].push(actions[i]);
-            }
-        }
-        return actionsByTick;
-    }
-    async process_input_releaseActions(params) {
-        const context = this.#browsingContextStorage.getContext(params.context);
-        const topContext = context.top;
-        const inputState = this.#inputStateManager.get(topContext);
-        const dispatcher = new ActionDispatcher_js_1.ActionDispatcher(inputState, context, await ActionDispatcher_js_1.ActionDispatcher.isMacOS(context).catch(() => false));
-        await dispatcher.dispatchTickActions(inputState.cancelList.reverse());
-        this.#inputStateManager.delete(topContext);
-        return { result: {} };
-    }
-    async process_browsingContext_setViewport(params) {
-        const context = this.#browsingContextStorage.getContext(params.context);
-        if (!context.isTopLevelContext()) {
-            throw new protocol_js_1.Message.InvalidArgumentException('Emulating viewport is only supported on the top-level context');
-        }
-        await context.setViewport(params.viewport);
-        return { result: {} };
-    }
-    async process_browsingContext_close(commandParams) {
-        const browserCdpClient = this.#cdpConnection.browserClient();
-        const context = this.#browsingContextStorage.getContext(commandParams.context);
-        if (!context.isTopLevelContext()) {
-            throw new protocol_js_1.Message.InvalidArgumentException('A top-level browsing context cannot be closed.');
-        }
-        const detachedFromTargetPromise = new Promise((resolve) => {
-            const onContextDestroyed = (eventParams) => {
-                if (eventParams.targetId === commandParams.context) {
-                    browserCdpClient.off('Target.detachedFromTarget', onContextDestroyed);
-                    resolve();
-                }
-            };
-            browserCdpClient.on('Target.detachedFromTarget', onContextDestroyed);
-        });
-        await browserCdpClient.sendCommand('Target.closeTarget', {
-            targetId: commandParams.context,
-        });
-        // Sometimes CDP command finishes before `detachedFromTarget` event,
-        // sometimes after. Wait for the CDP command to be finished, and then wait
-        // for `detachedFromTarget` if it hasn't emitted.
-        await detachedFromTargetPromise;
-        return { result: {} };
-    }
     #isValidTarget(target) {
         if (target.targetId === this.#selfTargetId) {
             return false;
         }
         return ['page', 'iframe'].includes(target.type);
     }
-    async process_cdp_sendCommand(params) {
-        const client = params.session
-            ? this.#cdpConnection.getCdpClient(params.session)
-            : this.#cdpConnection.browserClient();
-        const sendCdpCommandResult = await client.sendCommand(params.method, params.params);
-        return {
-            result: sendCdpCommandResult,
-            session: params.session,
-        };
-    }
-    process_cdp_getSession(params) {
-        const context = params.context;
-        const sessionId = this.#browsingContextStorage.getContext(context).cdpTarget.cdpSessionId;
-        if (sessionId === undefined) {
-            return { result: { session: null } };
-        }
-        return { result: { session: sessionId } };
-    }
 }
 exports.BrowsingContextProcessor = BrowsingContextProcessor;
 //# sourceMappingURL=browsingContextProcessor.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js.map
index f9c4d4a..36c81ba 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js.map
@@ -1 +1 @@
-{"version":3,"file":"browsingContextProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/context/browsingContextProcessor.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"browsingContextProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/context/browsingContextProcessor.ts"],"names":[],"mappings":";;;AAoBA,+DAIuC;AACvC,kDAA6D;AAK7D,qEAA6D;AAE7D,iDAAyC;AAEzC,MAAa,wBAAwB;IAC1B,cAAc,CAAiB;IAC/B,aAAa,CAAS;IACtB,aAAa,CAAgB;IAE7B,uBAAuB,CAAyB;IAChD,qBAAqB,CAAuB;IAC5C,aAAa,CAAe;IAE5B,OAAO,CAAY;IAE5B,YACE,aAA6B,EAC7B,YAAoB,EACpB,YAA2B,EAC3B,sBAA8C,EAC9C,YAA0B,EAC1B,oBAA0C,EAC1C,MAAiB;QAEjB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,uBAAuB,GAAG,sBAAsB,CAAC;QACtD,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,CACL,MAAyC;QAEzC,MAAM,cAAc,GAClB,MAAM,CAAC,IAAI,KAAK,SAAS;YACvB,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,mBAAmB,EAAE;YACpD,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAE7D,OAAO;YACL,QAAQ,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACjC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,CAC5D;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CACV,MAAwC;QAExC,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;QAE7D,IAAI,gBAAiD,CAAC;QACtD,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,EAAE;YACzC,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CACxD,MAAM,CAAC,gBAAgB,CACxB,CAAC;YACF,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,EAAE;gBACzC,MAAM,IAAI,sCAAwB,CAChC,gDAAgD,CACjD,CAAC;aACH;SACF;QAED,IAAI,MAA4C,CAAC;QAEjD,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB;gBACE,MAAM,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,qBAAqB,EAAE;oBACjE,GAAG,EAAE,aAAa;oBAClB,SAAS,EAAE,KAAK;iBACjB,CAAC,CAAC;gBACH,MAAM;YACR;gBACE,MAAM,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,qBAAqB,EAAE;oBACjE,GAAG,EAAE,aAAa;oBAClB,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;gBACH,MAAM;SACT;QAED,oEAAoE;QACpE,4EAA4E;QAC5E,0EAA0E;QAC1E,oDAAoD;QACpD,kEAAkE;QAClE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;QAEhC,OAAO,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE,EAAC,CAAC;IAC/B,CAAC;IAED,QAAQ,CACN,MAA0C;QAE1C,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAExE,OAAO,OAAO,CAAC,QAAQ,CACrB,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,IAAI,oDAAuC,CACnD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,MAAwC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAExE,OAAO,OAAO,CAAC,MAAM,CACnB,MAAM,CAAC,WAAW,IAAI,KAAK,EAC3B,MAAM,CAAC,IAAI,oDAAuC,CACnD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,MAA0C;QAE1C,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxE,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE;YAChC,MAAM,IAAI,sCAAwB,CAChC,uDAAuD,CACxD,CAAC;SACH;QACD,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,MAAmD;QAEnD,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC,iBAAiB,EAAE,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,KAAK,CACT,MAAuC;QAEvC,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxE,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAA6C;QAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxE,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE;YAChC,MAAM,IAAI,sCAAwB,CAChC,+DAA+D,CAChE,CAAC;SACH;QACD,MAAM,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,MAAkD;QAElD,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxE,MAAM,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,KAAK,CACT,aAA8C;QAE9C,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CACrD,aAAa,CAAC,OAAO,CACtB,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE;YAChC,MAAM,IAAI,sCAAwB,CAChC,kCAAkC,OAAO,CAAC,EAAE,oBAAoB,CACjE,CAAC;SACH;QAED,IAAI;YACF,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;YAC7D,MAAM,yBAAyB,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAC9D,MAAM,kBAAkB,GAAG,CACzB,KAA8C,EAC9C,EAAE;oBACF,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,CAAC,OAAO,EAAE;wBAC5C,gBAAgB,CAAC,GAAG,CAClB,2BAA2B,EAC3B,kBAAkB,CACnB,CAAC;wBACF,OAAO,EAAE,CAAC;qBACX;gBACH,CAAC,CAAC;gBACF,gBAAgB,CAAC,EAAE,CAAC,2BAA2B,EAAE,kBAAkB,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;YAEtB,oEAAoE;YACpE,0EAA0E;YAC1E,iDAAiD;YACjD,MAAM,yBAAyB,CAAC;SACjC;QAAC,OAAO,KAAU,EAAE;YACnB,yDAAyD;YACzD,kDAAkD;YAClD,IACE,CAAC,CACC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK;gBACrB,KAAK,CAAC,OAAO,KAAK,gCAAgC,CACnD,EACD;gBACA,MAAM,KAAK,CAAC;aACb;SACF;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,SAAqB;QACtC,SAAS,CAAC,EAAE,CAAC,yBAAyB,EAAE,CAAC,MAAM,EAAE,EAAE;YACjD,IAAI,CAAC,4BAA4B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,EAAE,CAAC,2BAA2B,EAAE,CAAC,MAAM,EAAE,EAAE;YACnD,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,EAAE,CAAC,0BAA0B,EAAE,CAAC,MAAM,EAAE,EAAE;YAClD,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,EAAE,CACV,oBAAoB,EACpB,CAAC,MAAwC,EAAE,EAAE;YAC3C,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,CACF,CAAC;QACF,SAAS,CAAC,EAAE,CACV,oBAAoB,EACpB,CAAC,MAAwC,EAAE,EAAE;YAC3C,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,CACF,CAAC;IACJ,CAAC;IAED,yBAAyB,CAAC,MAAwC;QAChE,MAAM,qBAAqB,GAAG,IAAI,CAAC,uBAAuB,CAAC,WAAW,CACpE,MAAM,CAAC,aAAa,CACrB,CAAC;QACF,IAAI,qBAAqB,KAAK,SAAS,EAAE;YACvC,4CAAmB,CAAC,MAAM,CACxB,qBAAqB,CAAC,SAAS,EAC/B,IAAI,CAAC,aAAa,EAClB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,aAAa,EACpB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,OAAO,CACb,CAAC;SACH;IACH,CAAC;IAED,yBAAyB,CAAC,MAAwC;QAChE,wDAAwD;QACxD,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE;YAC5B,OAAO;SACR;QACD,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACtE,CAAC;IAED,4BAA4B,CAC1B,MAA6C,EAC7C,sBAAkC;QAElC,MAAM,EAAC,SAAS,EAAE,UAAU,EAAC,GAAG,MAAM,CAAC;QAEvC,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAEpE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE;YACpC,oEAAoE;YACpE,6BAA6B;YAC7B,eAAe;iBACZ,WAAW,CAAC,iCAAiC,CAAC;iBAC9C,IAAI,CAAC,GAAG,EAAE,CACT,sBAAsB,CAAC,WAAW,CAAC,yBAAyB,EAAE,MAAM,CAAC,CACtE;iBACA,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,gBAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3D,OAAO;SACR;QAED,IAAI,CAAC,OAAO,EAAE,CACZ,gBAAO,CAAC,gBAAgB,EACxB,kCAAkC,EAClC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAChC,CAAC;QAEF,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAEzC,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAC3D,UAAU,CAAC,QAAQ,CACpB,CAAC;QAEF,MAAM,SAAS,GAAG,wBAAS,CAAC,MAAM,CAChC,UAAU,CAAC,QAAQ,EACnB,eAAe,EACf,SAAS,EACT,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,qBAAqB,CAC3B,CAAC;QAEF,IAAI,YAAY,EAAE;YAChB,SAAS;YACT,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;SACzC;aAAM;YACL,eAAe;YACf,4CAAmB,CAAC,MAAM,CACxB,SAAS,EACT,IAAI,CAAC,aAAa,EAClB,UAAU,CAAC,QAAQ,EACnB,IAAI,EACJ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,OAAO,CACb,CAAC;SACH;IACH,CAAC;IAED,8BAA8B,CAC5B,MAA+C;QAE/C,uEAAuE;QACvE,4BAA4B;QAC5B,8DAA8D;QAC9D,MAAM,SAAS,GAAG,MAAM,CAAC,QAAS,CAAC;QACnC,IAAI,CAAC,uBAAuB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;QAE/D,IAAI,CAAC,qBAAqB;aACvB,kBAAkB,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAC,CAAC;aACzC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,6BAA6B,CAC3B,MAA8C;QAE9C,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC7C,IAAI,CAAC,uBAAuB;aACzB,WAAW,CAAC,SAAS,CAAC;YACvB,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,cAAc,CAAC,MAAkC;QAC/C,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,aAAa,EAAE;YAC1C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;CACF;AAjWD,4DAiWC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextStorage.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextStorage.d.ts
index 0f994a1..66c467f 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextStorage.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextStorage.d.ts
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-import { type CommonDataTypes } from '../../../protocol/protocol.js';
+import { type BrowsingContext } from '../../../protocol/protocol.js';
 import type { BrowsingContextImpl } from './browsingContextImpl.js';
 /** Container class for browsing contexts. */
 export declare class BrowsingContextStorage {
@@ -24,17 +24,17 @@
     /** Gets all contexts. */
     getAllContexts(): BrowsingContextImpl[];
     /** Deletes the context with the given ID. */
-    deleteContextById(id: CommonDataTypes.BrowsingContext): void;
+    deleteContextById(id: BrowsingContext.BrowsingContext): void;
     /** Deletes the given context. */
     deleteContext(context: BrowsingContextImpl): void;
     /** Tracks the given context. */
     addContext(context: BrowsingContextImpl): void;
     /** Returns true whether there is an existing context with the given ID. */
-    hasContext(id: CommonDataTypes.BrowsingContext): boolean;
+    hasContext(id: BrowsingContext.BrowsingContext): boolean;
     /** Gets the context with the given ID, if any. */
-    findContext(id: CommonDataTypes.BrowsingContext): BrowsingContextImpl | undefined;
+    findContext(id: BrowsingContext.BrowsingContext): BrowsingContextImpl | undefined;
     /** Returns the top-level context ID of the given context, if any. */
-    findTopLevelContextId(id: CommonDataTypes.BrowsingContext | null): CommonDataTypes.BrowsingContext | null;
+    findTopLevelContextId(id: BrowsingContext.BrowsingContext | null): BrowsingContext.BrowsingContext | null;
     /** Gets the context with the given ID, if any, otherwise throws. */
-    getContext(id: CommonDataTypes.BrowsingContext): BrowsingContextImpl;
+    getContext(id: BrowsingContext.BrowsingContext): BrowsingContextImpl;
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextStorage.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextStorage.js
index 6b0679b..40d3e71 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextStorage.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextStorage.js
@@ -66,7 +66,7 @@
     getContext(id) {
         const result = this.findContext(id);
         if (result === undefined) {
-            throw new protocol_js_1.Message.NoSuchFrameException(`Context ${id} not found`);
+            throw new protocol_js_1.NoSuchFrameException(`Context ${id} not found`);
         }
         return result;
     }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextStorage.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextStorage.js.map
index 717f231..4c41e8f 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextStorage.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/browsingContextStorage.js.map
@@ -1 +1 @@
-{"version":3,"file":"browsingContextStorage.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/context/browsingContextStorage.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,+DAA4E;AAI5E,6CAA6C;AAC7C,MAAa,sBAAsB;IACjC,qDAAqD;IAC5C,SAAS,GAAG,IAAI,GAAG,EAGzB,CAAC;IAEJ,8DAA8D;IAC9D,mBAAmB;QACjB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAC9C,OAAO,CAAC,iBAAiB,EAAE,CAC5B,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,cAAc;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,6CAA6C;IAC7C,iBAAiB,CAAC,EAAmC;QACnD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,iCAAiC;IACjC,aAAa,CAAC,OAA4B;QACxC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,gCAAgC;IAChC,UAAU,CAAC,OAA4B;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,2EAA2E;IAC3E,UAAU,CAAC,EAAmC;QAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,kDAAkD;IAClD,WAAW,CACT,EAAmC;QAEnC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,qEAAqE;IACrE,qBAAqB,CACnB,EAA0C;QAE1C,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,OAAO,IAAI,CAAC;SACb;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,YAAY,EAAE,QAAQ,IAAI,IAAI,CAAC;QAChD,IAAI,QAAQ,KAAK,IAAI,EAAE;YACrB,OAAO,EAAE,CAAC;SACX;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,oEAAoE;IACpE,UAAU,CAAC,EAAmC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,MAAM,IAAI,qBAAO,CAAC,oBAAoB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;SACnE;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AArED,wDAqEC"}
\ No newline at end of file
+{"version":3,"file":"browsingContextStorage.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/context/browsingContextStorage.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,+DAGuC;AAIvC,6CAA6C;AAC7C,MAAa,sBAAsB;IACjC,qDAAqD;IAC5C,SAAS,GAAG,IAAI,GAAG,EAGzB,CAAC;IAEJ,8DAA8D;IAC9D,mBAAmB;QACjB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAC9C,OAAO,CAAC,iBAAiB,EAAE,CAC5B,CAAC;IACJ,CAAC;IAED,yBAAyB;IACzB,cAAc;QACZ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,6CAA6C;IAC7C,iBAAiB,CAAC,EAAmC;QACnD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,iCAAiC;IACjC,aAAa,CAAC,OAA4B;QACxC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,gCAAgC;IAChC,UAAU,CAAC,OAA4B;QACrC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,2EAA2E;IAC3E,UAAU,CAAC,EAAmC;QAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,kDAAkD;IAClD,WAAW,CACT,EAAmC;QAEnC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;IAED,qEAAqE;IACrE,qBAAqB,CACnB,EAA0C;QAE1C,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,OAAO,IAAI,CAAC;SACb;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,YAAY,EAAE,QAAQ,IAAI,IAAI,CAAC;QAChD,IAAI,QAAQ,KAAK,IAAI,EAAE;YACrB,OAAO,EAAE,CAAC;SACX;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,oEAAoE;IACpE,UAAU,CAAC,EAAmC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,MAAM,IAAI,kCAAoB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;SAC3D;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AArED,wDAqEC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/cdpTarget.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/cdpTarget.d.ts
index 8ee5aa69..8f0ba18 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/cdpTarget.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/cdpTarget.d.ts
@@ -1,30 +1,26 @@
+import type Protocol from 'devtools-protocol';
 import type { ICdpClient } from '../../../cdp/cdpClient.js';
-import type { RealmStorage } from '../script/realmStorage.js';
-import type { IEventManager } from '../events/EventManager.js';
-import type { CommonDataTypes } from '../../../protocol/protocol.js';
 import { Deferred } from '../../../utils/deferred.js';
+import type { IEventManager } from '../events/EventManager.js';
 import type { ChannelProxy } from '../script/channelProxy.js';
-import type { PreloadScriptStorage } from './PreloadScriptStorage.js';
+import type { RealmStorage } from '../script/realmStorage.js';
+import type { PreloadScriptStorage } from '../script/PreloadScriptStorage.js';
+import type { Result } from '../../../utils/result.js';
 export declare class CdpTarget {
     #private;
-    static create(targetId: string, parentTargetId: string | null, cdpClient: ICdpClient, cdpSessionId: string, realmStorage: RealmStorage, eventManager: IEventManager, preloadScriptStorage: PreloadScriptStorage): CdpTarget;
+    static create(targetId: Protocol.Target.TargetID, cdpClient: ICdpClient, cdpSessionId: Protocol.Target.SessionID, realmStorage: RealmStorage, eventManager: IEventManager, preloadScriptStorage: PreloadScriptStorage): CdpTarget;
     private constructor();
     /** Returns a promise that resolves when the target is unblocked. */
-    get targetUnblocked(): Deferred<void>;
-    get targetId(): string;
+    get targetUnblocked(): Deferred<Result<void>>;
+    get targetId(): Protocol.Target.TargetID;
     get cdpClient(): ICdpClient;
     /**
      * Needed for CDP escape path.
      */
-    get cdpSessionId(): string;
-    /**
-     * Enables the Network domain (creates NetworkProcessor on the target's cdp
-     * client) if it is not enabled yet.
-     */
-    enableNetworkDomain(): Promise<void>;
+    get cdpSessionId(): Protocol.Target.SessionID;
     /**
      * All the ProxyChannels from all the preload scripts of the given
      * BrowsingContext.
      */
-    getChannels(contextId: CommonDataTypes.BrowsingContext): ChannelProxy[];
+    getChannels(): ChannelProxy[];
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/cdpTarget.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/cdpTarget.js
index b8a9501..6b144cd 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/cdpTarget.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/cdpTarget.js
@@ -1,36 +1,32 @@
 "use strict";
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.CdpTarget = void 0;
-const logManager_js_1 = require("../log/logManager.js");
 const deferred_js_1 = require("../../../utils/deferred.js");
-const networkProcessor_js_1 = require("../network/networkProcessor.js");
+const logManager_js_1 = require("../log/logManager.js");
+const NetworkManager_js_1 = require("../network/NetworkManager.js");
 class CdpTarget {
     #targetId;
-    #parentTargetId;
     #cdpClient;
     #cdpSessionId;
     #eventManager;
     #preloadScriptStorage;
-    #targetUnblocked;
-    #networkDomainActivated;
-    static create(targetId, parentTargetId, cdpClient, cdpSessionId, realmStorage, eventManager, preloadScriptStorage) {
-        const cdpTarget = new CdpTarget(targetId, parentTargetId, cdpClient, cdpSessionId, eventManager, preloadScriptStorage);
+    #targetUnblocked = new deferred_js_1.Deferred();
+    static create(targetId, cdpClient, cdpSessionId, realmStorage, eventManager, preloadScriptStorage) {
+        const cdpTarget = new CdpTarget(targetId, cdpClient, cdpSessionId, eventManager, preloadScriptStorage);
         logManager_js_1.LogManager.create(cdpTarget, realmStorage, eventManager);
+        NetworkManager_js_1.NetworkManager.create(cdpClient, eventManager);
         cdpTarget.#setEventListeners();
         // No need to await.
         // Deferred will be resolved when the target is unblocked.
         void cdpTarget.#unblock();
         return cdpTarget;
     }
-    constructor(targetId, parentTargetId, cdpClient, cdpSessionId, eventManager, preloadScriptStorage) {
+    constructor(targetId, cdpClient, cdpSessionId, eventManager, preloadScriptStorage) {
         this.#targetId = targetId;
-        this.#parentTargetId = parentTargetId;
         this.#cdpClient = cdpClient;
         this.#cdpSessionId = cdpSessionId;
         this.#eventManager = eventManager;
         this.#preloadScriptStorage = preloadScriptStorage;
-        this.#networkDomainActivated = false;
-        this.#targetUnblocked = new deferred_js_1.Deferred();
     }
     /** Returns a promise that resolves when the target is unblocked. */
     get targetUnblocked() {
@@ -53,23 +49,21 @@
      */
     async #unblock() {
         try {
-            // Enable Network domain, if it is enabled globally.
-            // TODO: enable Network domain for OOPiF targets.
-            if (this.#eventManager.isNetworkDomainEnabled) {
-                await this.enableNetworkDomain();
-            }
-            await this.#cdpClient.sendCommand('Runtime.enable');
-            await this.#cdpClient.sendCommand('Page.enable');
-            await this.#cdpClient.sendCommand('Page.setLifecycleEventsEnabled', {
+            // Collect all command promises and wait for them after
+            // `Runtime.runIfWaitingForDebugger`.
+            const promises = [];
+            promises.push(this.#cdpClient.sendCommand('Runtime.enable'), this.#cdpClient.sendCommand('Page.enable'), this.#cdpClient.sendCommand('Page.setLifecycleEventsEnabled', {
                 enabled: true,
-            });
-            await this.#cdpClient.sendCommand('Target.setAutoAttach', {
+            }), 
+            // XXX: #1080: Do not always enable the network domain globally.
+            // TODO: enable Network domain for OOPiF targets.
+            this.#cdpClient.sendCommand('Network.enable'), this.#cdpClient.sendCommand('Target.setAutoAttach', {
                 autoAttach: true,
                 waitForDebuggerOnStart: true,
                 flatten: true,
-            });
-            await this.#initAndEvaluatePreloadScripts();
+            }), this.#initAndEvaluatePreloadScripts());
             await this.#cdpClient.sendCommand('Runtime.runIfWaitingForDebugger');
+            await Promise.all(promises);
         }
         catch (error) {
             // The target might have been closed before the initialization finished.
@@ -77,17 +71,10 @@
                 throw error;
             }
         }
-        this.#targetUnblocked.resolve();
-    }
-    /**
-     * Enables the Network domain (creates NetworkProcessor on the target's cdp
-     * client) if it is not enabled yet.
-     */
-    async enableNetworkDomain() {
-        if (!this.#networkDomainActivated) {
-            this.#networkDomainActivated = true;
-            await networkProcessor_js_1.NetworkProcessor.create(this.cdpClient, this.#eventManager);
-        }
+        this.#targetUnblocked.resolve({
+            kind: 'success',
+            value: undefined,
+        });
     }
     #setEventListeners() {
         this.#cdpClient.on('*', (event, params) => {
@@ -97,6 +84,7 @@
                 return;
             }
             this.#eventManager.registerEvent({
+                type: 'event',
                 method: `cdp.${event}`,
                 params: {
                     event,
@@ -110,22 +98,15 @@
      * All the ProxyChannels from all the preload scripts of the given
      * BrowsingContext.
      */
-    getChannels(contextId) {
+    getChannels() {
         return this.#preloadScriptStorage
-            .findPreloadScripts({
-            contextIds: [null, contextId],
-        })
+            .findPreloadScripts()
             .flatMap((script) => script.channels);
     }
-    /** Loads all top-level and parent preload scripts. */
+    /** Loads all top-level preload scripts. */
     async #initAndEvaluatePreloadScripts() {
-        for (const script of this.#preloadScriptStorage.findPreloadScripts({
-            contextIds: [null, this.#parentTargetId],
-        })) {
-            await script.initInTarget(this);
-            // Upon attaching to a new target, schedule running preload scripts right
-            // after `Runtime.runIfWaitingForDebugger`, but don't wait for the result.
-            script.scheduleEvaluateInTarget(this);
+        for (const script of this.#preloadScriptStorage.findPreloadScripts()) {
+            await script.initInTarget(this, true);
         }
     }
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/cdpTarget.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/cdpTarget.js.map
index 25ab402..b7faf28 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/cdpTarget.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/context/cdpTarget.js.map
@@ -1 +1 @@
-{"version":3,"file":"cdpTarget.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/context/cdpTarget.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"cdpTarget.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/context/cdpTarget.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/EventManager.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/EventManager.d.ts
index 6c0c9ff..d5e86c8 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/EventManager.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/EventManager.d.ts
@@ -14,21 +14,20 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-import { type CommonDataTypes, type Message, type Session } from '../../../protocol/protocol.js';
+import { ChromiumBidi, type BrowsingContext } from '../../../protocol/protocol.js';
+import type { Result } from '../../../utils/result.js';
 import type { BidiServer } from '../../BidiServer.js';
 export interface IEventManager {
-    registerEvent(event: Message.EventMessage, contextId: CommonDataTypes.BrowsingContext | null): void;
-    registerPromiseEvent(event: Promise<Message.EventMessage>, contextId: CommonDataTypes.BrowsingContext | null, eventName: Message.EventNames): void;
-    subscribe(events: Session.SubscriptionRequestEvent[], contextIds: (CommonDataTypes.BrowsingContext | null)[], channel: string | null): Promise<void>;
-    unsubscribe(events: Session.SubscriptionRequestEvent[], contextIds: (CommonDataTypes.BrowsingContext | null)[], channel: string | null): Promise<void> | void;
-    get isNetworkDomainEnabled(): boolean;
+    registerEvent(event: ChromiumBidi.Event, contextId: BrowsingContext.BrowsingContext | null): void;
+    registerPromiseEvent(event: Promise<Result<ChromiumBidi.Event>>, contextId: BrowsingContext.BrowsingContext | null, eventName: ChromiumBidi.EventNames): void;
+    subscribe(events: ChromiumBidi.EventNames[], contextIds: (BrowsingContext.BrowsingContext | null)[], channel: string | null): Promise<void> | void;
+    unsubscribe(events: ChromiumBidi.EventNames[], contextIds: (BrowsingContext.BrowsingContext | null)[], channel: string | null): Promise<void> | void;
 }
 export declare class EventManager implements IEventManager {
     #private;
     constructor(bidiServer: BidiServer);
-    get isNetworkDomainEnabled(): boolean;
-    registerEvent(event: Message.EventMessage, contextId: CommonDataTypes.BrowsingContext | null): void;
-    registerPromiseEvent(event: Promise<Message.EventMessage>, contextId: CommonDataTypes.BrowsingContext | null, eventName: Message.EventNames): void;
-    subscribe(eventNames: Session.SubscriptionRequestEvent[], contextIds: (CommonDataTypes.BrowsingContext | null)[], channel: string | null): Promise<void>;
-    unsubscribe(eventNames: Session.SubscriptionRequestEvent[], contextIds: (CommonDataTypes.BrowsingContext | null)[], channel: string | null): void;
+    registerEvent(event: ChromiumBidi.Event, contextId: BrowsingContext.BrowsingContext | null): void;
+    registerPromiseEvent(event: Promise<Result<ChromiumBidi.Event>>, contextId: BrowsingContext.BrowsingContext | null, eventName: ChromiumBidi.EventNames): void;
+    subscribe(eventNames: ChromiumBidi.EventNames[], contextIds: (BrowsingContext.BrowsingContext | null)[], channel: string | null): void;
+    unsubscribe(eventNames: ChromiumBidi.EventNames[], contextIds: (BrowsingContext.BrowsingContext | null)[], channel: string | null): void;
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/EventManager.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/EventManager.js
index 132afb9..59b133c 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/EventManager.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/EventManager.js
@@ -18,10 +18,10 @@
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.EventManager = void 0;
 const protocol_js_1 = require("../../../protocol/protocol.js");
+const DefaultMap_js_1 = require("../../../utils/DefaultMap.js");
 const buffer_js_1 = require("../../../utils/buffer.js");
 const idWrapper_js_1 = require("../../../utils/idWrapper.js");
 const OutgoingBidiMessage_js_1 = require("../../OutgoingBidiMessage.js");
-const DefaultMap_js_1 = require("../../../utils/DefaultMap.js");
 const SubscriptionManager_js_1 = require("./SubscriptionManager.js");
 class EventWrapper {
     #idWrapper = new idWrapper_js_1.IdWrapper();
@@ -44,11 +44,8 @@
 /**
  * Maps event name to a desired buffer length.
  */
-const eventBufferLength = new Map([
-    [protocol_js_1.Log.EventNames.LogEntryAddedEvent, 100],
-]);
+const eventBufferLength = new Map([[protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent, 100]]);
 class EventManager {
-    static #NETWORK_DOMAIN_PREFIX = 'network';
     /**
      * Maps event name to a set of contexts where this event already happened.
      * Needed for getting buffered events from all the contexts in case of
@@ -68,14 +65,9 @@
     #lastMessageSent = new Map();
     #subscriptionManager;
     #bidiServer;
-    #isNetworkDomainEnabled;
     constructor(bidiServer) {
         this.#bidiServer = bidiServer;
         this.#subscriptionManager = new SubscriptionManager_js_1.SubscriptionManager(bidiServer.getBrowsingContextStorage());
-        this.#isNetworkDomainEnabled = false;
-    }
-    get isNetworkDomainEnabled() {
-        return this.#isNetworkDomainEnabled;
     }
     /**
      * Returns consistent key to be used to access value maps.
@@ -84,7 +76,10 @@
         return JSON.stringify({ eventName, browsingContext, channel });
     }
     registerEvent(event, contextId) {
-        this.registerPromiseEvent(Promise.resolve(event), contextId, event.method);
+        this.registerPromiseEvent(Promise.resolve({
+            kind: 'success',
+            value: event,
+        }), contextId, event.method);
     }
     registerPromiseEvent(event, contextId, eventName) {
         const eventWrapper = new EventWrapper(event, contextId);
@@ -96,7 +91,10 @@
             this.#markEventSent(eventWrapper, channel, eventName);
         }
     }
-    async subscribe(eventNames, contextIds, channel) {
+    subscribe(eventNames, contextIds, channel) {
+        for (const name of eventNames) {
+            checkEventName(name);
+        }
         // First check if all the contexts are known.
         for (const contextId of contextIds) {
             if (contextId !== null) {
@@ -106,7 +104,6 @@
         }
         for (const eventName of eventNames) {
             for (const contextId of contextIds) {
-                await this.#handleDomains(eventName, contextId);
                 this.#subscriptionManager.subscribe(eventName, contextId, channel);
                 for (const eventWrapper of this.#getBufferedEvents(eventName, contextId, channel)) {
                     // The order of the events is important.
@@ -116,30 +113,10 @@
             }
         }
     }
-    /**
-     * Enables domains for the subscribed event in the required contexts or
-     * globally.
-     */
-    async #handleDomains(eventName, contextId) {
-        // Enable network domain if user subscribed to any of network events.
-        if (eventName.startsWith(EventManager.#NETWORK_DOMAIN_PREFIX)) {
-            // Enable for all the contexts.
-            if (contextId === null) {
-                this.#isNetworkDomainEnabled = true;
-                await Promise.all(this.#bidiServer
-                    .getBrowsingContextStorage()
-                    .getAllContexts()
-                    .map((context) => context.cdpTarget.enableNetworkDomain()));
-            }
-            else {
-                await this.#bidiServer
-                    .getBrowsingContextStorage()
-                    .getContext(contextId)
-                    .cdpTarget.enableNetworkDomain();
-            }
-        }
-    }
     unsubscribe(eventNames, contextIds, channel) {
+        for (const name of eventNames) {
+            checkEventName(name);
+        }
         this.#subscriptionManager.unsubscribeAll(eventNames, contextIds, channel);
     }
     /**
@@ -195,4 +172,19 @@
     }
 }
 exports.EventManager = EventManager;
+const EVENT_NAMES = new Set([
+    // keep-sorted start
+    ...Object.values(protocol_js_1.ChromiumBidi.BrowsingContext.EventNames),
+    ...Object.values(protocol_js_1.ChromiumBidi.Log.EventNames),
+    ...Object.values(protocol_js_1.ChromiumBidi.Network.EventNames),
+    ...Object.values(protocol_js_1.ChromiumBidi.Script.EventNames),
+    // keep-sorted end
+]);
+function checkEventName(name) {
+    if (!EVENT_NAMES.has(name) &&
+        !name.startsWith('cdp.') &&
+        name !== 'cdp') {
+        throw new protocol_js_1.InvalidArgumentException(`Unknown event: ${name}`);
+    }
+}
 //# sourceMappingURL=EventManager.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/EventManager.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/EventManager.js.map
index c5e0f12..da45cc2 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/EventManager.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/EventManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"EventManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/events/EventManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"EventManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/events/EventManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/SubscriptionManager.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/SubscriptionManager.d.ts
index 310d0a2..98e2002 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/SubscriptionManager.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/SubscriptionManager.d.ts
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-import { type CommonDataTypes, type Session } from '../../../protocol/protocol.js';
+import { ChromiumBidi, type BrowsingContext } from '../../../protocol/protocol.js';
 import type { BrowsingContextStorage } from '../context/browsingContextStorage.js';
 /**
  * Returns the cartesian product of the given arrays.
@@ -24,19 +24,19 @@
  */
 export declare function cartesianProduct(...a: any[][]): any[];
 /** Expands "AllEvents" events into atomic events. */
-export declare function unrollEvents(events: Session.SubscriptionRequestEvent[]): Session.SubscriptionRequestEvent[];
+export declare function unrollEvents(events: ChromiumBidi.EventNames[]): ChromiumBidi.EventNames[];
 export declare class SubscriptionManager {
     #private;
     constructor(browsingContextStorage: BrowsingContextStorage);
-    getChannelsSubscribedToEvent(eventMethod: Session.SubscriptionRequestEvent, contextId: CommonDataTypes.BrowsingContext | null): (string | null)[];
-    subscribe(event: Session.SubscriptionRequestEvent, contextId: CommonDataTypes.BrowsingContext | null, channel: string | null): void;
+    getChannelsSubscribedToEvent(eventMethod: ChromiumBidi.EventNames, contextId: BrowsingContext.BrowsingContext | null): (string | null)[];
+    subscribe(event: ChromiumBidi.EventNames, contextId: BrowsingContext.BrowsingContext | null, channel: string | null): void;
     /**
      * Unsubscribes atomically from all events in the given contexts and channel.
      */
-    unsubscribeAll(events: Session.SubscriptionRequestEvent[], contextIds: (CommonDataTypes.BrowsingContext | null)[], channel: string | null): void;
+    unsubscribeAll(events: ChromiumBidi.EventNames[], contextIds: (BrowsingContext.BrowsingContext | null)[], channel: string | null): void;
     /**
      * Unsubscribes from the event in the given context and channel.
      * Syntactic sugar for "unsubscribeAll".
      */
-    unsubscribe(eventName: Session.SubscriptionRequestEvent, contextId: CommonDataTypes.BrowsingContext | null, channel: string | null): void;
+    unsubscribe(eventName: ChromiumBidi.EventNames, contextId: BrowsingContext.BrowsingContext | null, channel: string | null): void;
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js
index 0364021..b44afaf 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js
@@ -38,17 +38,18 @@
     }
     for (const event of events) {
         switch (event) {
-            case protocol_js_1.BrowsingContext.AllEvents:
-                addEvents(Object.values(protocol_js_1.BrowsingContext.EventNames));
+            case protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.AllBrowsingContextEvent:
+                addEvents(Object.values(protocol_js_1.ChromiumBidi.BrowsingContext.EventNames).filter((name) => name !==
+                    protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.AllBrowsingContextEvent));
                 break;
-            case protocol_js_1.Log.AllEvents:
-                addEvents(Object.values(protocol_js_1.Log.EventNames));
+            case protocol_js_1.ChromiumBidi.Log.EventNames.AllLogEvent:
+                addEvents(Object.values(protocol_js_1.ChromiumBidi.Log.EventNames).filter((name) => name !== protocol_js_1.ChromiumBidi.Log.EventNames.AllLogEvent));
                 break;
-            case protocol_js_1.Network.AllEvents:
-                addEvents(Object.values(protocol_js_1.Network.EventNames));
+            case protocol_js_1.ChromiumBidi.Network.EventNames.AllNetworkEvent:
+                addEvents(Object.values(protocol_js_1.ChromiumBidi.Network.EventNames).filter((name) => name !== protocol_js_1.ChromiumBidi.Network.EventNames.AllNetworkEvent));
                 break;
-            case protocol_js_1.Script.AllEvents:
-                addEvents(Object.values(protocol_js_1.Script.EventNames));
+            case protocol_js_1.ChromiumBidi.Script.EventNames.AllScriptEvent:
+                addEvents(Object.values(protocol_js_1.ChromiumBidi.Script.EventNames).filter((name) => name !== protocol_js_1.ChromiumBidi.Script.EventNames.AllScriptEvent));
                 break;
             default:
                 allEvents.add(event);
@@ -101,21 +102,30 @@
     subscribe(event, contextId, channel) {
         // All the subscriptions are handled on the top-level contexts.
         contextId = this.#browsingContextStorage.findTopLevelContextId(contextId);
-        if (event === protocol_js_1.BrowsingContext.AllEvents) {
-            Object.values(protocol_js_1.BrowsingContext.EventNames).map((specificEvent) => this.subscribe(specificEvent, contextId, channel));
-            return;
-        }
-        if (event === protocol_js_1.Log.AllEvents) {
-            Object.values(protocol_js_1.Log.EventNames).map((specificEvent) => this.subscribe(specificEvent, contextId, channel));
-            return;
-        }
-        if (event === protocol_js_1.Network.AllEvents) {
-            Object.values(protocol_js_1.Network.EventNames).map((specificEvent) => this.subscribe(specificEvent, contextId, channel));
-            return;
-        }
-        if (event === protocol_js_1.Script.AllEvents) {
-            Object.values(protocol_js_1.Script.EventNames).map((specificEvent) => this.subscribe(specificEvent, contextId, channel));
-            return;
+        switch (event) {
+            case protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.AllBrowsingContextEvent:
+                Object.values(protocol_js_1.ChromiumBidi.BrowsingContext.EventNames)
+                    .filter((name) => name !==
+                    protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.AllBrowsingContextEvent)
+                    .map((specificEvent) => this.subscribe(specificEvent, contextId, channel));
+                return;
+            case protocol_js_1.ChromiumBidi.Log.EventNames.AllLogEvent:
+                Object.values(protocol_js_1.ChromiumBidi.Log.EventNames)
+                    .filter((name) => name !== protocol_js_1.ChromiumBidi.Log.EventNames.AllLogEvent)
+                    .map((specificEvent) => this.subscribe(specificEvent, contextId, channel));
+                return;
+            case protocol_js_1.ChromiumBidi.Network.EventNames.AllNetworkEvent:
+                Object.values(protocol_js_1.ChromiumBidi.Network.EventNames)
+                    .filter((name) => name !== protocol_js_1.ChromiumBidi.Network.EventNames.AllNetworkEvent)
+                    .map((specificEvent) => this.subscribe(specificEvent, contextId, channel));
+                return;
+            case protocol_js_1.ChromiumBidi.Script.EventNames.AllScriptEvent:
+                Object.values(protocol_js_1.ChromiumBidi.Script.EventNames)
+                    .filter((name) => name !== protocol_js_1.ChromiumBidi.Script.EventNames.AllScriptEvent)
+                    .map((specificEvent) => this.subscribe(specificEvent, contextId, channel));
+                return;
+            default:
+            // Intentionally left empty.
         }
         if (!this.#channelToContextToEventMap.has(channel)) {
             this.#channelToContextToEventMap.set(channel, new Map());
@@ -159,15 +169,15 @@
         // All the subscriptions are handled on the top-level contexts.
         contextId = this.#browsingContextStorage.findTopLevelContextId(contextId);
         if (!this.#channelToContextToEventMap.has(channel)) {
-            throw new protocol_js_1.Message.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);
+            throw new protocol_js_1.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);
         }
         const contextToEventMap = this.#channelToContextToEventMap.get(channel);
         if (!contextToEventMap.has(contextId)) {
-            throw new protocol_js_1.Message.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);
+            throw new protocol_js_1.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);
         }
         const eventMap = contextToEventMap.get(contextId);
         if (!eventMap.has(event)) {
-            throw new protocol_js_1.Message.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);
+            throw new protocol_js_1.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);
         }
         return () => {
             eventMap.delete(event);
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js.map
index b4e52b2..d2f0709 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"SubscriptionManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/events/SubscriptionManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"SubscriptionManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/events/SubscriptionManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/ActionDispatcher.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/ActionDispatcher.js
index 5307f37..463db98 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/ActionDispatcher.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/ActionDispatcher.js
@@ -30,9 +30,10 @@
     return navigator.platform.toLowerCase().includes('mac');
 }).toString();
 async function getElementCenter(context, element) {
-    const { result } = await (await context.getOrCreateSandbox(undefined)).callFunction(CALCULATE_IN_VIEW_CENTER_PT_DECL, { type: 'undefined' }, [element], false, 'none', {});
+    const sandbox = await context.getOrCreateSandbox(undefined);
+    const result = await sandbox.callFunction(CALCULATE_IN_VIEW_CENTER_PT_DECL, { type: 'undefined' }, [element], false, "none" /* Script.ResultOwnership.None */, {});
     if (result.type === 'exception') {
-        throw new protocol_js_1.Message.NoSuchElementException(`Origin element ${element.sharedId} was not found`);
+        throw new protocol_js_1.NoSuchElementException(`Origin element ${element.sharedId} was not found`);
     }
     (0, assert_js_1.assert)(result.result.type === 'array');
     (0, assert_js_1.assert)(result.result.value?.[0]?.type === 'number');
@@ -42,7 +43,7 @@
 }
 class ActionDispatcher {
     static isMacOS = async (context) => {
-        const { result } = await (await context.getOrCreateSandbox(undefined)).callFunction(IS_MAC_DECL, { type: 'undefined' }, [], false, 'none', {});
+        const result = await (await context.getOrCreateSandbox(undefined)).callFunction(IS_MAC_DECL, { type: 'undefined' }, [], false, "none" /* Script.ResultOwnership.None */, {});
         (0, assert_js_1.assert)(result.type !== 'exception');
         (0, assert_js_1.assert)(result.result.type === 'boolean');
         return result.result.value;
@@ -76,6 +77,9 @@
             new Promise((resolve) => setTimeout(resolve, this.#tickDuration)),
         ];
         for (const option of options) {
+            // In theory we have to wait for each action to happen, but CDP is serial,
+            // so as an optimization, we queue all CDP commands at once and await all
+            // of them.
             promises.push(this.#dispatchAction(option));
         }
         await Promise.all(promises);
@@ -84,50 +88,50 @@
         const source = this.#inputState.get(id);
         const keyState = this.#inputState.getGlobalKeyState();
         switch (action.type) {
-            case protocol_js_1.Input.ActionType.KeyDown: {
+            case 'keyDown': {
                 // SAFETY: The source is validated before.
                 await this.#dispatchKeyDownAction(source, action);
                 this.#inputState.cancelList.push({
                     id,
                     action: {
                         ...action,
-                        type: protocol_js_1.Input.ActionType.KeyUp,
+                        type: 'keyUp',
                     },
                 });
                 break;
             }
-            case protocol_js_1.Input.ActionType.KeyUp: {
+            case 'keyUp': {
                 // SAFETY: The source is validated before.
                 await this.#dispatchKeyUpAction(source, action);
                 break;
             }
-            case protocol_js_1.Input.ActionType.Pause: {
+            case 'pause': {
                 // TODO: Implement waiting on the input source.
                 break;
             }
-            case protocol_js_1.Input.ActionType.PointerDown: {
+            case 'pointerDown': {
                 // SAFETY: The source is validated before.
                 await this.#dispatchPointerDownAction(source, keyState, action);
                 this.#inputState.cancelList.push({
                     id,
                     action: {
                         ...action,
-                        type: protocol_js_1.Input.ActionType.PointerUp,
+                        type: 'pointerUp',
                     },
                 });
                 break;
             }
-            case protocol_js_1.Input.ActionType.PointerMove: {
+            case 'pointerMove': {
                 // SAFETY: The source is validated before.
                 await this.#dispatchPointerMoveAction(source, keyState, action);
                 break;
             }
-            case protocol_js_1.Input.ActionType.PointerUp: {
+            case 'pointerUp': {
                 // SAFETY: The source is validated before.
                 await this.#dispatchPointerUpAction(source, keyState, action);
                 break;
             }
-            case protocol_js_1.Input.ActionType.Scroll: {
+            case 'scroll': {
                 // SAFETY: The source is validated before.
                 await this.#dispatchScrollAction(source, keyState, action);
                 break;
@@ -147,8 +151,8 @@
         // --- Platform-specific code begins here ---
         const { modifiers } = keyState;
         switch (pointerType) {
-            case protocol_js_1.Input.PointerType.Mouse:
-            case protocol_js_1.Input.PointerType.Pen:
+            case "mouse" /* Input.PointerType.Mouse */:
+            case "pen" /* Input.PointerType.Pen */:
                 source.setClickCount({ x, y, timeStamp: performance.now() });
                 // TODO: Implement width and height when available.
                 return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {
@@ -156,22 +160,7 @@
                     x,
                     y,
                     modifiers,
-                    button: (() => {
-                        switch (button) {
-                            case 0:
-                                return 'left';
-                            case 1:
-                                return 'middle';
-                            case 2:
-                                return 'right';
-                            case 3:
-                                return 'back';
-                            case 4:
-                                return 'forward';
-                            default:
-                                return 'none';
-                        }
-                    })(),
+                    button: getCdpButton(button),
                     buttons: source.buttons,
                     clickCount: source.clickCount,
                     pointerType,
@@ -181,7 +170,7 @@
                     twist,
                     force: pressure,
                 });
-            case protocol_js_1.Input.PointerType.Touch:
+            case "touch" /* Input.PointerType.Touch */:
                 return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchTouchEvent', {
                     type: 'touchStart',
                     touchPoints: [
@@ -213,35 +202,20 @@
         // --- Platform-specific code begins here ---
         const { modifiers } = keyState;
         switch (pointerType) {
-            case protocol_js_1.Input.PointerType.Mouse:
-            case protocol_js_1.Input.PointerType.Pen:
+            case "mouse" /* Input.PointerType.Mouse */:
+            case "pen" /* Input.PointerType.Pen */:
                 // TODO: Implement width and height when available.
                 return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {
                     type: 'mouseReleased',
                     x,
                     y,
                     modifiers,
-                    button: (() => {
-                        switch (button) {
-                            case 0:
-                                return 'left';
-                            case 1:
-                                return 'middle';
-                            case 2:
-                                return 'right';
-                            case 3:
-                                return 'back';
-                            case 4:
-                                return 'forward';
-                            default:
-                                return 'none';
-                        }
-                    })(),
+                    button: getCdpButton(button),
                     buttons: source.buttons,
                     clickCount: source.clickCount,
                     pointerType,
                 });
-            case protocol_js_1.Input.PointerType.Touch:
+            case "touch" /* Input.PointerType.Touch */:
                 return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchTouchEvent', {
                     type: 'touchEnd',
                     touchPoints: [
@@ -263,7 +237,7 @@
         // TODO: Implement azimuth/altitude angle.
         const { targetX, targetY } = await this.#getCoordinateFromOrigin(origin, offsetX, offsetY, startX, startY);
         if (targetX < 0 || targetY < 0) {
-            throw new protocol_js_1.Message.MoveTargetOutOfBoundsException(`Cannot move beyond viewport (x: ${targetX}, y: ${targetY})`);
+            throw new protocol_js_1.MoveTargetOutOfBoundsException(`Cannot move beyond viewport (x: ${targetX}, y: ${targetY})`);
         }
         let last;
         do {
@@ -283,8 +257,8 @@
                 // --- Platform-specific code begins here ---
                 const { modifiers } = keyState;
                 switch (pointerType) {
-                    case protocol_js_1.Input.PointerType.Mouse:
-                    case protocol_js_1.Input.PointerType.Pen:
+                    case "mouse" /* Input.PointerType.Mouse */:
+                    case "pen" /* Input.PointerType.Pen */:
                         // TODO: Implement width and height when available.
                         await this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {
                             type: 'mouseMoved',
@@ -292,6 +266,7 @@
                             y,
                             modifiers,
                             clickCount: 0,
+                            button: getCdpButton(source.pressed.values().next().value ?? 5),
                             buttons: source.buttons,
                             pointerType,
                             tangentialPressure,
@@ -301,7 +276,7 @@
                             force: pressure,
                         });
                         break;
-                    case protocol_js_1.Input.PointerType.Touch:
+                    case "touch" /* Input.PointerType.Touch */:
                         await this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchTouchEvent', {
                             type: 'touchMove',
                             touchPoints: [
@@ -353,11 +328,11 @@
     async #dispatchScrollAction(_source, keyState, action) {
         const { deltaX: targetDeltaX, deltaY: targetDeltaY, x: offsetX, y: offsetY, origin = 'viewport', duration = this.#tickDuration, } = action;
         if (origin === 'pointer') {
-            throw new protocol_js_1.Message.InvalidArgumentException('"pointer" origin is invalid for scrolling.');
+            throw new protocol_js_1.InvalidArgumentException('"pointer" origin is invalid for scrolling.');
         }
         const { targetX, targetY } = await this.#getCoordinateFromOrigin(origin, offsetX, offsetY, 0, 0);
         if (targetX < 0 || targetY < 0) {
-            throw new protocol_js_1.Message.MoveTargetOutOfBoundsException(`Cannot move beyond viewport (x: ${targetX}, y: ${targetY})`);
+            throw new protocol_js_1.MoveTargetOutOfBoundsException(`Cannot move beyond viewport (x: ${targetX}, y: ${targetY})`);
         }
         let currentDeltaX = 0;
         let currentDeltaY = 0;
@@ -392,7 +367,10 @@
             }
         } while (!last);
     }
-    #dispatchKeyDownAction(source, action) {
+    async #dispatchKeyDownAction(source, action) {
+        if ([...action.value].length > 1) {
+            throw new protocol_js_1.InvalidArgumentException(`Invalid key value: ${action.value}`);
+        }
         const rawKey = action.value;
         const key = (0, keyUtils_js_1.getNormalizedKey)(rawKey);
         const repeat = source.pressed.has(key);
@@ -441,25 +419,39 @@
                     command = source.shift ? 'Redo' : 'Undo';
                     break;
                 default:
+                // Intentionally empty.
             }
         }
-        return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchKeyEvent', {
-            type: text ? 'keyDown' : 'rawKeyDown',
-            windowsVirtualKeyCode: USKeyboardLayout_js_1.KeyToKeyCode[key],
-            key,
-            code,
-            text,
-            unmodifiedText,
-            autoRepeat: repeat,
-            isSystemKey: source.alt || undefined,
-            location: location < 3 ? location : undefined,
-            isKeypad: location === 3,
-            modifiers,
-            commands: command ? [command] : undefined,
-        });
+        const promises = [
+            this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchKeyEvent', {
+                type: text ? 'keyDown' : 'rawKeyDown',
+                windowsVirtualKeyCode: USKeyboardLayout_js_1.KeyToKeyCode[key],
+                key,
+                code,
+                text,
+                unmodifiedText,
+                autoRepeat: repeat,
+                isSystemKey: source.alt || undefined,
+                location: location < 3 ? location : undefined,
+                isKeypad: location === 3,
+                modifiers,
+                commands: command ? [command] : undefined,
+            }),
+        ];
+        // Drag cancelling happens on escape.
+        if (key === 'Escape') {
+            if (!source.alt &&
+                ((this.#isMacOS && !source.ctrl && !source.meta) || !this.#isMacOS)) {
+                promises.push(this.#context.cdpTarget.cdpClient.sendCommand('Input.cancelDragging'));
+            }
+        }
+        await Promise.all(promises);
         // --- Platform-specific code ends here ---
     }
     #dispatchKeyUpAction(source, action) {
+        if ([...action.value].length > 1) {
+            throw new protocol_js_1.InvalidArgumentException(`Invalid key value: ${action.value}`);
+        }
         const rawKey = action.value;
         const key = (0, keyUtils_js_1.getNormalizedKey)(rawKey);
         if (!source.pressed.has(key)) {
@@ -595,4 +587,20 @@
     }
     return;
 };
+function getCdpButton(button) {
+    switch (button) {
+        case 0:
+            return 'left';
+        case 1:
+            return 'middle';
+        case 2:
+            return 'right';
+        case 3:
+            return 'back';
+        case 4:
+            return 'forward';
+        default:
+            return 'none';
+    }
+}
 //# sourceMappingURL=ActionDispatcher.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/ActionDispatcher.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/ActionDispatcher.js.map
index 111e2f5..dc3576d 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/ActionDispatcher.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/ActionDispatcher.js.map
@@ -1 +1 @@
-{"version":3,"file":"ActionDispatcher.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/input/ActionDispatcher.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ActionDispatcher.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/input/ActionDispatcher.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,+DAMuC;AACvC,wDAAgD;AAMhD,+DAAmD;AACnD,+CAA2E;AAE3E,wDAAwD;AACxD,MAAM,gCAAgC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE;IACvD,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAY,EACxC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAC7C,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAC7D,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,EAC9C,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;IACxB,OAAO,SAAS,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEd,KAAK,UAAU,gBAAgB,CAC7B,OAA4B,EAC5B,OAA+B;IAE/B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,YAAY,CACvC,gCAAgC,EAChC,EAAC,IAAI,EAAE,WAAW,EAAC,EACnB,CAAC,OAAO,CAAC,EACT,KAAK,4CAEL,EAAE,CACH,CAAC;IACF,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;QAC/B,MAAM,IAAI,oCAAsB,CAC9B,kBAAkB,OAAO,CAAC,QAAQ,gBAAgB,CACnD,CAAC;KACH;IACD,IAAA,kBAAM,EAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IACvC,IAAA,kBAAM,EAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC;IACpD,IAAA,kBAAM,EAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC;IACpD,MAAM,EACJ,MAAM,EAAE,EACN,KAAK,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,EAAC,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,GAChC,GACF,GAAG,MAAM,CAAC;IACX,OAAO,EAAC,CAAC,EAAE,CAAW,EAAE,CAAC,EAAE,CAAW,EAAC,CAAC;AAC1C,CAAC;AAED,MAAa,gBAAgB;IAC3B,MAAM,CAAC,OAAO,GAAG,KAAK,EAAE,OAA4B,EAAE,EAAE;QACtD,MAAM,MAAM,GAAG,MAAM,CACnB,MAAM,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAC5C,CAAC,YAAY,CACZ,WAAW,EACX,EAAC,IAAI,EAAE,WAAW,EAAC,EACnB,EAAE,EACF,KAAK,4CAEL,EAAE,CACH,CAAC;QACF,IAAA,kBAAM,EAAC,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;QACpC,IAAA,kBAAM,EAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;IAC7B,CAAC,CAAC;IAEF,UAAU,GAAG,CAAC,CAAC;IACf,aAAa,GAAG,CAAC,CAAC;IAClB,WAAW,CAAa;IACxB,QAAQ,CAAsB;IAC9B,QAAQ,CAAU;IAClB,YACE,UAAsB,EACtB,OAA4B,EAC5B,OAAgB;QAEhB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,aAA6D;QAE7D,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YAC1C,KAAK,MAAM,OAAO,IAAI,aAAa,EAAE;gBACnC,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;aACzC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,OAA0C;QAE1C,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,KAAK,MAAM,EAAC,MAAM,EAAC,IAAI,OAAO,EAAE;YAC9B,IAAI,UAAU,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE;gBACzD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;aACpE;SACF;QACD,MAAM,QAAQ,GAAoB;YAChC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SAClE,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC5B,0EAA0E;YAC1E,yEAAyE;YACzE,WAAW;YACX,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;SAC7C;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,EAAC,EAAE,EAAE,MAAM,EAAyB;QACxD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;QACtD,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,SAAS,CAAC,CAAC;gBACd,0CAA0C;gBAC1C,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAmB,EAAE,MAAM,CAAC,CAAC;gBAC/D,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC;oBAC/B,EAAE;oBACF,MAAM,EAAE;wBACN,GAAG,MAAM;wBACT,IAAI,EAAE,OAAO;qBACd;iBACF,CAAC,CAAC;gBACH,MAAM;aACP;YACD,KAAK,OAAO,CAAC,CAAC;gBACZ,0CAA0C;gBAC1C,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAmB,EAAE,MAAM,CAAC,CAAC;gBAC7D,MAAM;aACP;YACD,KAAK,OAAO,CAAC,CAAC;gBACZ,+CAA+C;gBAC/C,MAAM;aACP;YACD,KAAK,aAAa,CAAC,CAAC;gBAClB,0CAA0C;gBAC1C,MAAM,IAAI,CAAC,0BAA0B,CACnC,MAAuB,EACvB,QAAQ,EACR,MAAM,CACP,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC;oBAC/B,EAAE;oBACF,MAAM,EAAE;wBACN,GAAG,MAAM;wBACT,IAAI,EAAE,WAAW;qBAClB;iBACF,CAAC,CAAC;gBACH,MAAM;aACP;YACD,KAAK,aAAa,CAAC,CAAC;gBAClB,0CAA0C;gBAC1C,MAAM,IAAI,CAAC,0BAA0B,CACnC,MAAuB,EACvB,QAAQ,EACR,MAAM,CACP,CAAC;gBACF,MAAM;aACP;YACD,KAAK,WAAW,CAAC,CAAC;gBAChB,0CAA0C;gBAC1C,MAAM,IAAI,CAAC,wBAAwB,CACjC,MAAuB,EACvB,QAAQ,EACR,MAAM,CACP,CAAC;gBACF,MAAM;aACP;YACD,KAAK,QAAQ,CAAC,CAAC;gBACb,0CAA0C;gBAC1C,MAAM,IAAI,CAAC,qBAAqB,CAC9B,MAAqB,EACrB,QAAQ,EACR,MAAM,CACP,CAAC;gBACF,MAAM;aACP;SACF;IACH,CAAC;IAED,0BAA0B,CACxB,MAAqB,EACrB,QAAmB,EACnB,MAAyC;QAEzC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC9B,OAAO;SACR;QACD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,EAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAC,GAAG,MAAM,CAAC;QAC5C,MAAM,EAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAC,GAAG,MAAM,CAAC;QACpE,MAAM,EAAC,KAAK,EAAE,KAAK,EAAC,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,EAAY,CAAC;QAClE,0CAA0C;QAE1C,6CAA6C;QAC7C,MAAM,EAAC,SAAS,EAAC,GAAG,QAAQ,CAAC;QAC7B,QAAQ,WAAW,EAAE;YACnB,2CAA6B;YAC7B;gBACE,MAAM,CAAC,aAAa,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC;gBAC3D,mDAAmD;gBACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAClD,0BAA0B,EAC1B;oBACE,IAAI,EAAE,cAAc;oBACpB,CAAC;oBACD,CAAC;oBACD,SAAS;oBACT,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC;oBAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,WAAW;oBACX,kBAAkB;oBAClB,KAAK;oBACL,KAAK;oBACL,KAAK;oBACL,KAAK,EAAE,QAAQ;iBAChB,CACF,CAAC;YACJ;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAClD,0BAA0B,EAC1B;oBACE,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE;wBACX;4BACE,CAAC;4BACD,CAAC;4BACD,OAAO,EAAE,KAAK;4BACd,OAAO,EAAE,MAAM;4BACf,kBAAkB;4BAClB,KAAK;4BACL,KAAK;4BACL,KAAK;4BACL,KAAK,EAAE,QAAQ;4BACf,EAAE,EAAE,MAAM,CAAC,SAAS;yBACrB;qBACF;oBACD,SAAS;iBACV,CACF,CAAC;SACL;QACD,2CAA2C;IAC7C,CAAC;IAED,wBAAwB,CACtB,MAAqB,EACrB,QAAmB,EACnB,MAAuC;QAEvC,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;QACxB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAC/B,OAAO;SACR;QACD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,EAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAC,GAAG,MAAM,CAAC;QAE5C,6CAA6C;QAC7C,MAAM,EAAC,SAAS,EAAC,GAAG,QAAQ,CAAC;QAC7B,QAAQ,WAAW,EAAE;YACnB,2CAA6B;YAC7B;gBACE,mDAAmD;gBACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAClD,0BAA0B,EAC1B;oBACE,IAAI,EAAE,eAAe;oBACrB,CAAC;oBACD,CAAC;oBACD,SAAS;oBACT,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC;oBAC5B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,WAAW;iBACZ,CACF,CAAC;YACJ;gBACE,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAClD,0BAA0B,EAC1B;oBACE,IAAI,EAAE,UAAU;oBAChB,WAAW,EAAE;wBACX;4BACE,CAAC;4BACD,CAAC;4BACD,EAAE,EAAE,MAAM,CAAC,SAAS;yBACrB;qBACF;oBACD,SAAS;iBACV,CACF,CAAC;SACL;QACD,2CAA2C;IAC7C,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,MAAqB,EACrB,QAAmB,EACnB,MAAyC;QAEzC,MAAM,EAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAC,GAAG,MAAM,CAAC;QAC5D,MAAM,EACJ,KAAK,EACL,MAAM,EACN,QAAQ,EACR,KAAK,EACL,kBAAkB,EAClB,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,MAAM,GAAG,UAAU,EACnB,QAAQ,GAAG,IAAI,CAAC,aAAa,GAC9B,GAAG,MAAM,CAAC;QACX,MAAM,EAAC,KAAK,EAAE,KAAK,EAAC,GAAG,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAE,EAAY,CAAC;QAClE,0CAA0C;QAE1C,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAC5D,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,CACP,CAAC;QAEF,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE;YAC9B,MAAM,IAAI,4CAA8B,CACtC,mCAAmC,OAAO,QAAQ,OAAO,GAAG,CAC7D,CAAC;SACH;QAED,IAAI,IAAa,CAAC;QAClB,GAAG;YACD,MAAM,KAAK,GACT,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC;YAElB,IAAI,CAAS,CAAC;YACd,IAAI,CAAS,CAAC;YACd,IAAI,IAAI,EAAE;gBACR,CAAC,GAAG,OAAO,CAAC;gBACZ,CAAC,GAAG,OAAO,CAAC;aACb;iBAAM;gBACL,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;gBACpD,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC;aACrD;YAED,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE;gBACpC,6CAA6C;gBAC7C,MAAM,EAAC,SAAS,EAAC,GAAG,QAAQ,CAAC;gBAC7B,QAAQ,WAAW,EAAE;oBACnB,2CAA6B;oBAC7B;wBACE,mDAAmD;wBACnD,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CACjD,0BAA0B,EAC1B;4BACE,IAAI,EAAE,YAAY;4BAClB,CAAC;4BACD,CAAC;4BACD,SAAS;4BACT,UAAU,EAAE,CAAC;4BACb,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;4BAC/D,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,WAAW;4BACX,kBAAkB;4BAClB,KAAK;4BACL,KAAK;4BACL,KAAK;4BACL,KAAK,EAAE,QAAQ;yBAChB,CACF,CAAC;wBACF,MAAM;oBACR;wBACE,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CACjD,0BAA0B,EAC1B;4BACE,IAAI,EAAE,WAAW;4BACjB,WAAW,EAAE;gCACX;oCACE,CAAC;oCACD,CAAC;oCACD,OAAO,EAAE,KAAK;oCACd,OAAO,EAAE,MAAM;oCACf,kBAAkB;oCAClB,KAAK;oCACL,KAAK;oCACL,KAAK;oCACL,KAAK,EAAE,QAAQ;oCACf,EAAE,EAAE,MAAM,CAAC,SAAS;iCACrB;6BACF;4BACD,SAAS;yBACV,CACF,CAAC;wBACF,MAAM;iBACT;gBACD,2CAA2C;gBAE3C,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;gBACb,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;aACd;SACF,QAAQ,CAAC,IAAI,EAAE;IAClB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAC5B,MAAoB,EACpB,OAAe,EACf,OAAe,EACf,MAAc,EACd,MAAc;QAEd,IAAI,OAAe,CAAC;QACpB,IAAI,OAAe,CAAC;QACpB,QAAQ,MAAM,EAAE;YACd,KAAK,UAAU;gBACb,OAAO,GAAG,OAAO,CAAC;gBAClB,OAAO,GAAG,OAAO,CAAC;gBAClB,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;gBAC3B,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;gBAC3B,MAAM;YACR,OAAO,CAAC,CAAC;gBACP,MAAM,EAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAC,GAAG,MAAM,gBAAgB,CAC/C,IAAI,CAAC,QAAQ,EACb,MAAM,CAAC,OAAO,CACf,CAAC;gBACF,8CAA8C;gBAC9C,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC;gBACzB,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC;gBACzB,MAAM;aACP;SACF;QACD,OAAO,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,OAAoB,EACpB,QAAmB,EACnB,MAAyC;QAEzC,MAAM,EACJ,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,YAAY,EACpB,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,MAAM,GAAG,UAAU,EACnB,QAAQ,GAAG,IAAI,CAAC,aAAa,GAC9B,GAAG,MAAM,CAAC;QAEX,IAAI,MAAM,KAAK,SAAS,EAAE;YACxB,MAAM,IAAI,sCAAwB,CAChC,4CAA4C,CAC7C,CAAC;SACH;QAED,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAC5D,MAAM,EACN,OAAO,EACP,OAAO,EACP,CAAC,EACD,CAAC,CACF,CAAC;QAEF,IAAI,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE;YAC9B,MAAM,IAAI,4CAA8B,CACtC,mCAAmC,OAAO,QAAQ,OAAO,GAAG,CAC7D,CAAC;SACH;QAED,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,IAAa,CAAC;QAClB,GAAG;YACD,MAAM,KAAK,GACT,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACtE,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC;YAElB,IAAI,MAAc,CAAC;YACnB,IAAI,MAAc,CAAC;YACnB,IAAI,IAAI,EAAE;gBACR,MAAM,GAAG,YAAY,GAAG,aAAa,CAAC;gBACtC,MAAM,GAAG,YAAY,GAAG,aAAa,CAAC;aACvC;iBAAM;gBACL,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY,GAAG,aAAa,CAAC,CAAC;gBAC1D,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,YAAY,GAAG,aAAa,CAAC,CAAC;aAC3D;YAED,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE;gBAChC,6CAA6C;gBAC7C,MAAM,EAAC,SAAS,EAAC,GAAG,QAAQ,CAAC;gBAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CACjD,0BAA0B,EAC1B;oBACE,IAAI,EAAE,YAAY;oBAClB,MAAM;oBACN,MAAM;oBACN,CAAC,EAAE,OAAO;oBACV,CAAC,EAAE,OAAO;oBACV,SAAS;iBACV,CACF,CAAC;gBACF,2CAA2C;gBAE3C,aAAa,IAAI,MAAM,CAAC;gBACxB,aAAa,IAAI,MAAM,CAAC;aACzB;SACF,QAAQ,CAAC,IAAI,EAAE;IAClB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,MAAiB,EACjB,MAAqC;QAErC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,MAAM,IAAI,sCAAwB,CAAC,sBAAsB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;SAC1E;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAA,8BAAgB,EAAC,MAAM,CAAC,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,MAAM,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAA,4BAAc,EAAC,MAAM,CAAC,CAAC;QACxC,QAAQ,GAAG,EAAE;YACX,KAAK,KAAK;gBACR,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC;gBAClB,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;gBACpB,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;gBACnB,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;gBACnB,MAAM;SACT;QACD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,CAAC;QAE3B,6CAA6C;QAC7C,4EAA4E;QAC5E,cAAc;QACd,MAAM,cAAc,GAAG,yBAAyB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC,IAAI,cAAc,CAAC;QACnE,IAAI,OAA2B,CAAC;QAChC,sEAAsE;QACtE,mBAAmB;QACnB,kMAAkM;QAClM,IAAI,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE;YAChC,QAAQ,IAAI,EAAE;gBACZ,KAAK,MAAM;oBACT,OAAO,GAAG,WAAW,CAAC;oBACtB,MAAM;gBACR,KAAK,MAAM;oBACT,OAAO,GAAG,MAAM,CAAC;oBACjB,MAAM;gBACR,KAAK,MAAM;oBACT,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC;oBACxD,MAAM;gBACR,KAAK,MAAM;oBACT,OAAO,GAAG,KAAK,CAAC;oBAChB,MAAM;gBACR,KAAK,MAAM;oBACT,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;oBACzC,MAAM;gBACR,QAAQ;gBACR,uBAAuB;aACxB;SACF;QACD,MAAM,QAAQ,GAAG;YACf,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,wBAAwB,EAAE;gBACtE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;gBACrC,qBAAqB,EAAE,kCAAY,CAAC,GAAG,CAAC;gBACxC,GAAG;gBACH,IAAI;gBACJ,IAAI;gBACJ,cAAc;gBACd,UAAU,EAAE,MAAM;gBAClB,WAAW,EAAE,MAAM,CAAC,GAAG,IAAI,SAAS;gBACpC,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBAC7C,QAAQ,EAAE,QAAQ,KAAK,CAAC;gBACxB,SAAS;gBACT,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;aAC1C,CAAC;SACH,CAAC;QACF,qCAAqC;QACrC,IAAI,GAAG,KAAK,QAAQ,EAAE;YACpB,IACE,CAAC,MAAM,CAAC,GAAG;gBACX,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EACnE;gBACA,QAAQ,CAAC,IAAI,CACX,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,sBAAsB,CAAC,CACtE,CAAC;aACH;SACF;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,2CAA2C;IAC7C,CAAC;IAED,oBAAoB,CAAC,MAAiB,EAAE,MAAmC;QACzE,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,MAAM,IAAI,sCAAwB,CAAC,sBAAsB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;SAC1E;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAA,8BAAgB,EAAC,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC5B,OAAO;SACR;QACD,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,MAAM,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAA,4BAAc,EAAC,MAAM,CAAC,CAAC;QACxC,QAAQ,GAAG,EAAE;YACX,KAAK,KAAK;gBACR,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC;gBACnB,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;gBACrB,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;gBACpB,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;gBACpB,MAAM;SACT;QACD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,CAAC;QAE3B,6CAA6C;QAC7C,4EAA4E;QAC5E,cAAc;QACd,MAAM,cAAc,GAAG,yBAAyB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,IAAI,EAAE,EAAE,MAAM,CAAC,IAAI,cAAc,CAAC;QACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAClD,wBAAwB,EACxB;YACE,IAAI,EAAE,OAAO;YACb,qBAAqB,EAAE,kCAAY,CAAC,GAAG,CAAC;YACxC,GAAG;YACH,IAAI;YACJ,IAAI;YACJ,cAAc;YACd,QAAQ,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YAC7C,WAAW,EAAE,MAAM,CAAC,GAAG,IAAI,SAAS;YACpC,QAAQ,EAAE,QAAQ,KAAK,CAAC;YACxB,SAAS;SACV,CACF,CAAC;QACF,2CAA2C;IAC7C,CAAC;;AA5lBH,4CA6lBC;AAED,MAAM,yBAAyB,GAAG,CAAC,GAAW,EAAE,MAAiB,EAAE,EAAE;IACnE,IAAI,GAAG,KAAK,OAAO,EAAE;QACnB,OAAO,IAAI,CAAC;KACb;IACD,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;QAC1B,CAAC,CAAC,MAAM,CAAC,KAAK;YACZ,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAChC,CAAC,CAAC,GAAG;QACP,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,MAAiB,EAAE,EAAE;IAC1D,IAAI,MAAM,CAAC,IAAI,EAAE;QACf,QAAQ,IAAI,EAAE;YACZ,KAAK,QAAQ;gBACX,IAAI,MAAM,CAAC,KAAK,EAAE;oBAChB,OAAO,MAAM,CAAC;iBACf;gBACD,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAC;YAChB,KAAK,aAAa;gBAChB,OAAO,MAAM,CAAC;YAChB,KAAK,WAAW;gBACd,OAAO,MAAM,CAAC;YAChB,KAAK,cAAc;gBACjB,OAAO,MAAM,CAAC;YAChB,KAAK,QAAQ;gBACX,IAAI,MAAM,CAAC,KAAK,EAAE;oBAChB,OAAO,MAAM,CAAC;iBACf;gBACD,MAAM;YACR,KAAK,OAAO;gBACV,OAAO,MAAM,CAAC;SACjB;QACD,OAAO,EAAE,CAAC;KACX;IACD,IAAI,MAAM,CAAC,GAAG,EAAE;QACd,OAAO,EAAE,CAAC;KACX;IACD,OAAO;AACT,CAAC,CAAC;AAEF,SAAS,YAAY,CAAC,MAAc;IAClC,QAAQ,MAAM,EAAE;QACd,KAAK,CAAC;YACJ,OAAO,MAAM,CAAC;QAChB,KAAK,CAAC;YACJ,OAAO,QAAQ,CAAC;QAClB,KAAK,CAAC;YACJ,OAAO,OAAO,CAAC;QACjB,KAAK,CAAC;YACJ,OAAO,MAAM,CAAC;QAChB,KAAK,CAAC;YACJ,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,MAAM,CAAC;KACjB;AACH,CAAC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputProcessor.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputProcessor.d.ts
new file mode 100644
index 0000000..7b0703d
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputProcessor.d.ts
@@ -0,0 +1,10 @@
+import { Input } from '../../../protocol/protocol.js';
+import type { EmptyResult } from '../../../protocol/webdriver-bidi';
+import type { BrowsingContextStorage } from '../context/browsingContextStorage.js';
+export declare class InputProcessor {
+    #private;
+    private constructor();
+    static create(browsingContextStorage: BrowsingContextStorage): InputProcessor;
+    performActions(params: Input.PerformActionsParameters): Promise<EmptyResult>;
+    releaseActions(params: Input.ReleaseActionsParameters): Promise<EmptyResult>;
+}
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputProcessor.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputProcessor.js
new file mode 100644
index 0000000..5cf2c6b
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputProcessor.js
@@ -0,0 +1,80 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.InputProcessor = void 0;
+/*
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+const protocol_js_1 = require("../../../protocol/protocol.js");
+const InputStateManager_js_1 = require("../input/InputStateManager.js");
+const ActionDispatcher_js_1 = require("../input/ActionDispatcher.js");
+class InputProcessor {
+    #browsingContextStorage;
+    #inputStateManager = new InputStateManager_js_1.InputStateManager();
+    constructor(browsingContextStorage) {
+        this.#browsingContextStorage = browsingContextStorage;
+    }
+    static create(browsingContextStorage) {
+        return new InputProcessor(browsingContextStorage);
+    }
+    async performActions(params) {
+        const context = this.#browsingContextStorage.getContext(params.context);
+        const inputState = this.#inputStateManager.get(context.top);
+        const actionsByTick = this.#getActionsByTick(params, inputState);
+        const dispatcher = new ActionDispatcher_js_1.ActionDispatcher(inputState, context, await ActionDispatcher_js_1.ActionDispatcher.isMacOS(context).catch(() => false));
+        await dispatcher.dispatchActions(actionsByTick);
+        return {};
+    }
+    async releaseActions(params) {
+        const context = this.#browsingContextStorage.getContext(params.context);
+        const topContext = context.top;
+        const inputState = this.#inputStateManager.get(topContext);
+        const dispatcher = new ActionDispatcher_js_1.ActionDispatcher(inputState, context, await ActionDispatcher_js_1.ActionDispatcher.isMacOS(context).catch(() => false));
+        await dispatcher.dispatchTickActions(inputState.cancelList.reverse());
+        this.#inputStateManager.delete(topContext);
+        return {};
+    }
+    #getActionsByTick(params, inputState) {
+        const actionsByTick = [];
+        for (const action of params.actions) {
+            switch (action.type) {
+                case "pointer" /* SourceType.Pointer */: {
+                    action.parameters ??= { pointerType: "mouse" /* Input.PointerType.Mouse */ };
+                    action.parameters.pointerType ??= "mouse" /* Input.PointerType.Mouse */;
+                    const source = inputState.getOrCreate(action.id, "pointer" /* SourceType.Pointer */, action.parameters.pointerType);
+                    if (source.subtype !== action.parameters.pointerType) {
+                        throw new protocol_js_1.InvalidArgumentException(`Expected input source ${action.id} to be ${source.subtype}; got ${action.parameters.pointerType}.`);
+                    }
+                    break;
+                }
+                default:
+                    inputState.getOrCreate(action.id, action.type);
+            }
+            const actions = action.actions.map((item) => ({
+                id: action.id,
+                action: item,
+            }));
+            for (let i = 0; i < actions.length; i++) {
+                if (actionsByTick.length === i) {
+                    actionsByTick.push([]);
+                }
+                actionsByTick[i].push(actions[i]);
+            }
+        }
+        return actionsByTick;
+    }
+}
+exports.InputProcessor = InputProcessor;
+//# sourceMappingURL=InputProcessor.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputProcessor.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputProcessor.js.map
new file mode 100644
index 0000000..7aad279
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputProcessor.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"InputProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/input/InputProcessor.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;GAeG;AACH,+DAA8E;AAE9E,wEAAgE;AAChE,sEAA8D;AAM9D,MAAa,cAAc;IAChB,uBAAuB,CAAyB;IAEhD,kBAAkB,GAAG,IAAI,wCAAiB,EAAE,CAAC;IAEtD,YAAoB,sBAA8C;QAChE,IAAI,CAAC,uBAAuB,GAAG,sBAAsB,CAAC;IACxD,CAAC;IAED,MAAM,CAAC,MAAM,CACX,sBAA8C;QAE9C,OAAO,IAAI,cAAc,CAAC,sBAAsB,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAAsC;QAEtC,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,IAAI,sCAAgB,CACrC,UAAU,EACV,OAAO,EACP,MAAM,sCAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAC3D,CAAC;QACF,MAAM,UAAU,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;QAChD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAAsC;QAEtC,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,UAAU,GAAG,IAAI,sCAAgB,CACrC,UAAU,EACV,OAAO,EACP,MAAM,sCAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAC3D,CAAC;QACF,MAAM,UAAU,CAAC,mBAAmB,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,iBAAiB,CACf,MAAsC,EACtC,UAAsB;QAEtB,MAAM,aAAa,GAAqB,EAAE,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE;YACnC,QAAQ,MAAM,CAAC,IAAI,EAAE;gBACnB,uCAAuB,CAAC,CAAC;oBACvB,MAAM,CAAC,UAAU,KAAK,EAAC,WAAW,uCAAyB,EAAC,CAAC;oBAC7D,MAAM,CAAC,UAAU,CAAC,WAAW,0CAA4B,CAAC;oBAE1D,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CACnC,MAAM,CAAC,EAAE,sCAET,MAAM,CAAC,UAAU,CAAC,WAAW,CAC9B,CAAC;oBACF,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE;wBACpD,MAAM,IAAI,sCAAwB,CAChC,yBAAyB,MAAM,CAAC,EAAE,UAAU,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,UAAU,CAAC,WAAW,GAAG,CACpG,CAAC;qBACH;oBACD,MAAM;iBACP;gBACD;oBACE,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAkB,CAAC,CAAC;aAChE;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC5C,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,MAAM,EAAE,IAAI;aACb,CAAC,CAAC,CAAC;YACJ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC9B,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACxB;gBACD,aAAa,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC;aACrC;SACF;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AArFD,wCAqFC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputSource.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputSource.d.ts
index 4fb2102..7e04a74 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputSource.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputSource.d.ts
@@ -14,14 +14,19 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-import { Input } from '../../../protocol/protocol.js';
-export import SourceType = Input.SourceActionsType;
+import type { Input } from '../../../protocol/protocol.js';
+export declare const enum SourceType {
+    Key = "key",
+    Pointer = "pointer",
+    Wheel = "wheel",
+    None = "none"
+}
 export declare class NoneSource {
-    type: Input.SourceActionsType.None;
+    type: SourceType.None;
 }
 export declare class KeySource {
     #private;
-    type: Input.SourceActionsType.Key;
+    type: SourceType.Key;
     pressed: Set<string>;
     get modifiers(): number;
     get alt(): boolean;
@@ -40,7 +45,7 @@
 }
 export declare class PointerSource {
     #private;
-    type: Input.SourceActionsType.Pointer;
+    type: SourceType.Pointer;
     subtype: Input.PointerType;
     pointerId: number;
     pressed: Set<number>;
@@ -52,7 +57,7 @@
     get clickCount(): number;
 }
 export declare class WheelSource {
-    type: Input.SourceActionsType.Wheel;
+    type: SourceType.Wheel;
 }
 export type InputSource = NoneSource | KeySource | PointerSource | WheelSource;
 export type InputSourceFor<Type extends SourceType> = Type extends SourceType.Key ? KeySource : Type extends SourceType.Pointer ? PointerSource : Type extends SourceType.Wheel ? WheelSource : NoneSource;
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputSource.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputSource.js
index 74d7e72..d783c70 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputSource.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputSource.js
@@ -16,15 +16,13 @@
  * limitations under the License.
  */
 Object.defineProperty(exports, "__esModule", { value: true });
-exports.WheelSource = exports.PointerSource = exports.KeySource = exports.NoneSource = exports.SourceType = void 0;
-const protocol_js_1 = require("../../../protocol/protocol.js");
-exports.SourceType = protocol_js_1.Input.SourceActionsType;
+exports.WheelSource = exports.PointerSource = exports.KeySource = exports.NoneSource = void 0;
 class NoneSource {
-    type = exports.SourceType.None;
+    type = "none" /* SourceType.None */;
 }
 exports.NoneSource = NoneSource;
 class KeySource {
-    type = exports.SourceType.Key;
+    type = "key" /* SourceType.Key */;
     pressed = new Set();
     // This is a bitfield that matches the modifiers parameter of
     // https://chromedevtools.github.io/devtools-protocol/tot/Input/#method-dispatchKeyEvent
@@ -67,7 +65,7 @@
 }
 exports.KeySource = KeySource;
 class PointerSource {
-    type = exports.SourceType.Pointer;
+    type = "pointer" /* SourceType.Pointer */;
     subtype;
     pointerId;
     pressed = new Set();
@@ -131,7 +129,7 @@
 }
 exports.PointerSource = PointerSource;
 class WheelSource {
-    type = exports.SourceType.Wheel;
+    type = "wheel" /* SourceType.Wheel */;
 }
 exports.WheelSource = WheelSource;
 //# sourceMappingURL=InputSource.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputSource.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputSource.js.map
index fd92794..d43751d 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputSource.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputSource.js.map
@@ -1 +1 @@
-{"version":3,"file":"InputSource.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/input/InputSource.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,+DAAoD;AAEtC,QAAA,UAAU,GAAG,mBAAK,CAAC,iBAAiB,CAAC;AAEnD,MAAa,UAAU;IACrB,IAAI,GAAG,kBAAU,CAAC,IAAa,CAAC;CACjC;AAFD,gCAEC;AACD,MAAa,SAAS;IACpB,IAAI,GAAG,kBAAU,CAAC,GAAY,CAAC;IAC/B,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAE5B,6DAA6D;IAC7D,wFAAwF;IACxF,UAAU,GAAG,CAAC,CAAC;IACf,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IACD,IAAI,GAAG;QACL,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,GAAG,CAAC,KAAc;QACpB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,IAAI;QACN,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,IAAI,CAAC,KAAc;QACrB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,IAAI;QACN,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,IAAI,CAAC,KAAc;QACrB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK;QACP,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,KAAK,CAAC,KAAc;QACtB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,YAAY,CAAC,KAAc,EAAE,GAAW;QACtC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC;SACzB;IACH,CAAC;CACF;AA1CD,8BA0CC;AAQD,MAAa,aAAa;IACxB,IAAI,GAAG,kBAAU,CAAC,OAAgB,CAAC;IACnC,OAAO,CAAoB;IAC3B,SAAS,CAAS;IAClB,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAC5B,CAAC,GAAG,CAAC,CAAC;IACN,CAAC,GAAG,CAAC,CAAC;IAEN,YAAY,EAAU,EAAE,OAA0B;QAChD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,2DAA2D;IAC3D,0FAA0F;IAC1F,IAAI,OAAO;QACT,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,QAAQ,MAAM,EAAE;gBACd,KAAK,CAAC;oBACJ,OAAO,IAAI,CAAC,CAAC;oBACb,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,IAAI,CAAC,CAAC;oBACb,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,IAAI,CAAC,CAAC;oBACb,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,IAAI,CAAC,CAAC;oBACb,MAAM;gBACR,KAAK,CAAC;oBACJ,OAAO,IAAI,EAAE,CAAC;oBACd,MAAM;aACT;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,8CAA8C;IAE9C,2EAA2E;IAC3E,mCAAmC;IACnC,+FAA+F;IAC/F,MAAM,CAAC,qBAAqB,GAAG,GAAG,CAAC;IACnC,MAAM,CAAC,wBAAwB,GAAG,CAAC,CAAC;IACpC,WAAW,GAAG,CAAC,CAAC;IAChB,UAAU,CAAgB;IAC1B,aAAa,CAAC,OAAqB;QACjC,IACE,CAAC,IAAI,CAAC,UAAU;YAChB,uDAAuD;YACvD,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS;gBAC3C,aAAa,CAAC,qBAAqB;YACrC,gDAAgD;YAChD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;gBACrC,aAAa,CAAC,wBAAwB;YACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;gBACrC,aAAa,CAAC,wBAAwB,EACxC;YACA,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;SACtB;QACD,EAAE,IAAI,CAAC,WAAW,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;IAC5B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;;AApEU,sCAAa;AAwE1B,MAAa,WAAW;IACtB,IAAI,GAAG,kBAAU,CAAC,KAAc,CAAC;CAClC;AAFD,kCAEC"}
\ No newline at end of file
+{"version":3,"file":"InputSource.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/input/InputSource.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputState.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputState.d.ts
index bc8f4fe..13df972 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputState.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputState.d.ts
@@ -17,7 +17,7 @@
 import { Input } from '../../../protocol/protocol.js';
 import { Mutex } from '../../../utils/Mutex.js';
 import type { ActionOption } from './ActionOption.js';
-import { type InputSource, PointerSource, type InputSourceFor, KeySource, SourceType } from './InputSource.js';
+import { KeySource, PointerSource, SourceType, type InputSource, type InputSourceFor } from './InputSource.js';
 export declare class InputState {
     #private;
     cancelList: ActionOption[];
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputState.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputState.js
index 160fd43..7186a7f 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputState.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputState.js
@@ -28,17 +28,17 @@
         let source = this.#sources.get(id);
         if (!source) {
             switch (type) {
-                case InputSource_js_1.SourceType.None:
+                case "none" /* SourceType.None */:
                     source = new InputSource_js_1.NoneSource();
                     break;
-                case InputSource_js_1.SourceType.Key:
+                case "key" /* SourceType.Key */:
                     source = new InputSource_js_1.KeySource();
                     break;
-                case InputSource_js_1.SourceType.Pointer: {
-                    let pointerId = subtype === protocol_js_1.Input.PointerType.Mouse ? 0 : 2;
+                case "pointer" /* SourceType.Pointer */: {
+                    let pointerId = subtype === "mouse" /* Input.PointerType.Mouse */ ? 0 : 2;
                     const pointerIds = new Set();
                     for (const [, source] of this.#sources) {
-                        if (source.type === InputSource_js_1.SourceType.Pointer) {
+                        if (source.type === "pointer" /* SourceType.Pointer */) {
                             pointerIds.add(source.pointerId);
                         }
                     }
@@ -48,31 +48,31 @@
                     source = new InputSource_js_1.PointerSource(pointerId, subtype);
                     break;
                 }
-                case InputSource_js_1.SourceType.Wheel:
+                case "wheel" /* SourceType.Wheel */:
                     source = new InputSource_js_1.WheelSource();
                     break;
                 default:
-                    throw new protocol_js_1.Message.InvalidArgumentException(`Expected "${InputSource_js_1.SourceType.None}", "${InputSource_js_1.SourceType.Key}", "${InputSource_js_1.SourceType.Pointer}", or "${InputSource_js_1.SourceType.Wheel}". Found unknown source type ${type}.`);
+                    throw new protocol_js_1.InvalidArgumentException(`Expected "${"none" /* SourceType.None */}", "${"key" /* SourceType.Key */}", "${"pointer" /* SourceType.Pointer */}", or "${"wheel" /* SourceType.Wheel */}". Found unknown source type ${type}.`);
             }
             this.#sources.set(id, source);
             return source;
         }
         if (source.type !== type) {
-            throw new protocol_js_1.Message.InvalidArgumentException(`Input source type of ${id} is ${source.type}, but received ${type}.`);
+            throw new protocol_js_1.InvalidArgumentException(`Input source type of ${id} is ${source.type}, but received ${type}.`);
         }
         return source;
     }
     get(id) {
         const source = this.#sources.get(id);
         if (!source) {
-            throw new protocol_js_1.Message.UnknownErrorException(`Internal error.`);
+            throw new protocol_js_1.UnknownErrorException(`Internal error.`);
         }
         return source;
     }
     getGlobalKeyState() {
         const state = new InputSource_js_1.KeySource();
         for (const [, source] of this.#sources) {
-            if (source.type !== InputSource_js_1.SourceType.Key) {
+            if (source.type !== "key" /* SourceType.Key */) {
                 continue;
             }
             for (const pressed of source.pressed) {
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputState.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputState.js.map
index 8748907..d2b0433 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputState.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputState.js.map
@@ -1 +1 @@
-{"version":3,"file":"InputState.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/input/InputState.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"InputState.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/input/InputState.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,+DAIuC;AACvC,sDAA8C;AAG9C,qDAQ0B;AAE1B,MAAa,UAAU;IACrB,UAAU,GAAmB,EAAE,CAAC;IAChC,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC1C,MAAM,GAAG,IAAI,gBAAK,EAAE,CAAC;IAWrB,WAAW,CACT,EAAU,EACV,IAAU,EACV,OAA2B;QAE3B,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE;YACX,QAAQ,IAAI,EAAE;gBACZ;oBACE,MAAM,GAAG,IAAI,2BAAU,EAAE,CAAC;oBAC1B,MAAM;gBACR;oBACE,MAAM,GAAG,IAAI,0BAAS,EAAE,CAAC;oBACzB,MAAM;gBACR,uCAAuB,CAAC,CAAC;oBACvB,IAAI,SAAS,GAAG,OAAO,0CAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC5D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;oBACrC,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACtC,IAAI,MAAM,CAAC,IAAI,uCAAuB,EAAE;4BACtC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;yBAClC;qBACF;oBACD,OAAO,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;wBAChC,EAAE,SAAS,CAAC;qBACb;oBACD,MAAM,GAAG,IAAI,8BAAa,CAAC,SAAS,EAAE,OAA4B,CAAC,CAAC;oBACpE,MAAM;iBACP;gBACD;oBACE,MAAM,GAAG,IAAI,4BAAW,EAAE,CAAC;oBAC3B,MAAM;gBACR;oBACE,MAAM,IAAI,sCAAwB,CAChC,aAAa,4BAAe,OAAO,0BAAc,OAAO,kCAAkB,UAAU,8BAAgB,gCAAgC,IAAI,GAAG,CAC5I,CAAC;aACL;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO,MAA8B,CAAC;SACvC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE;YACxB,MAAM,IAAI,sCAAwB,CAChC,wBAAwB,EAAE,OAAO,MAAM,CAAC,IAAI,kBAAkB,IAAI,GAAG,CACtE,CAAC;SACH;QACD,OAAO,MAA8B,CAAC;IACxC,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,mCAAqB,CAAC,iBAAiB,CAAC,CAAC;SACpD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iBAAiB;QACf,MAAM,KAAK,GAAc,IAAI,0BAAS,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACtC,IAAI,MAAM,CAAC,IAAI,+BAAmB,EAAE;gBAClC,SAAS;aACV;YACD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE;gBACpC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAC5B;YACD,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC;YACzB,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;YAC3B,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;YAC3B,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;SAC9B;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAzFD,gCAyFC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputStateManager.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputStateManager.d.ts
index c9498bc..07d8fd6 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputStateManager.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputStateManager.d.ts
@@ -16,8 +16,6 @@
  */
 import type { BrowsingContextImpl } from '../context/browsingContextImpl.js';
 import { InputState } from './InputState.js';
-export declare class InputStateManager {
-    #private;
+export declare class InputStateManager extends WeakMap<BrowsingContextImpl, InputState> {
     get(context: BrowsingContextImpl): InputState;
-    delete(context: BrowsingContextImpl): void;
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputStateManager.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputStateManager.js
index eba9951..8fa3fb2 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputStateManager.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputStateManager.js
@@ -19,21 +19,15 @@
 exports.InputStateManager = void 0;
 const assert_js_1 = require("../../../utils/assert.js");
 const InputState_js_1 = require("./InputState.js");
-class InputStateManager {
-    // We use a weak map here as specified here:
-    // https://www.w3.org/TR/webdriver/#dfn-browsing-context-input-state-map
-    #states = new WeakMap();
+// We use a weak map here as specified here:
+// https://www.w3.org/TR/webdriver/#dfn-browsing-context-input-state-map
+class InputStateManager extends WeakMap {
     get(context) {
         (0, assert_js_1.assert)(context.isTopLevelContext());
-        let state = this.#states.get(context);
-        if (!state) {
-            state = new InputState_js_1.InputState();
-            this.#states.set(context, state);
+        if (!this.has(context)) {
+            this.set(context, new InputState_js_1.InputState());
         }
-        return state;
-    }
-    delete(context) {
-        this.#states.delete(context);
+        return super.get(context);
     }
 }
 exports.InputStateManager = InputStateManager;
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputStateManager.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputStateManager.js.map
index ace4909..d5538ad 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputStateManager.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/input/InputStateManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"InputStateManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/input/InputStateManager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,wDAAgD;AAGhD,mDAA2C;AAE3C,MAAa,iBAAiB;IAC5B,4CAA4C;IAC5C,wEAAwE;IACxE,OAAO,GAAG,IAAI,OAAO,EAAmC,CAAC;IAEzD,GAAG,CAAC,OAA4B;QAC9B,IAAA,kBAAM,EAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACpC,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,GAAG,IAAI,0BAAU,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SAClC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,OAA4B;QACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;CACF;AAlBD,8CAkBC"}
\ No newline at end of file
+{"version":3,"file":"InputStateManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/input/InputStateManager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,wDAAgD;AAGhD,mDAA2C;AAE3C,4CAA4C;AAC5C,wEAAwE;AACxE,MAAa,iBAAkB,SAAQ,OAGtC;IACU,GAAG,CAAC,OAA4B;QACvC,IAAA,kBAAM,EAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAEpC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACtB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,0BAAU,EAAE,CAAC,CAAC;SACrC;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;IAC7B,CAAC;CACF;AAbD,8CAaC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logHelper.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logHelper.d.ts
index 3623124..61f9e4f 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logHelper.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logHelper.d.ts
@@ -14,10 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-import type { CommonDataTypes } from '../../../protocol/protocol.js';
+import type { Script } from '../../../protocol/protocol.js';
 /**
  * @param args input remote values to be format printed
  * @return parsed text of the remote values in specific format
  */
-export declare function logMessageFormatter(args: CommonDataTypes.RemoteValue[]): string;
-export declare function getRemoteValuesText(args: CommonDataTypes.RemoteValue[], formatText: boolean): string;
+export declare function logMessageFormatter(args: Script.RemoteValue[]): string;
+export declare function getRemoteValuesText(args: Script.RemoteValue[], formatText: boolean): string;
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logHelper.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logHelper.js
index bf8a82b..93e3c3e 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logHelper.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logHelper.js
@@ -18,7 +18,7 @@
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.getRemoteValuesText = exports.logMessageFormatter = void 0;
 const specifiers = ['%s', '%d', '%i', '%f', '%o', '%O', '%c'];
-function isFormmatSpecifier(str) {
+function isFormatSpecifier(str) {
     return specifiers.some((spec) => str.includes(spec));
 }
 /**
@@ -34,7 +34,7 @@
         if (token === undefined || token === '') {
             continue;
         }
-        if (isFormmatSpecifier(token)) {
+        if (isFormatSpecifier(token)) {
             const arg = argValues.shift();
             // raise an exception when less value is provided
             if (arg === undefined) {
@@ -124,7 +124,8 @@
     if (arg.type === 'array') {
         return `[${arg.value?.map((val) => toJson(val)).join(',') ?? ''}]`;
     }
-    throw Error(`Invalid value type: ${arg.toString()}`);
+    // eslint-disable-next-line @typescript-eslint/no-base-to-string
+    throw Error(`Invalid value type: ${arg}`);
 }
 function stringFromArg(arg) {
     if (!Object.hasOwn(arg, 'value')) {
@@ -145,11 +146,9 @@
         case 'array':
             return `Array(${arg.value?.length ?? ''})`;
         case 'map':
-            return `Map(${arg.value.length})`;
+            return `Map(${arg.value?.length})`;
         case 'set':
-            return `Set(${arg.value.length})`;
-        case 'node':
-            return 'node';
+            return `Set(${arg.value?.length})`;
         default:
             return arg.type;
     }
@@ -161,7 +160,7 @@
     }
     // if args[0] is a format specifier, format the args as output
     if (arg.type === 'string' &&
-        isFormmatSpecifier(arg.value.toString()) &&
+        isFormatSpecifier(arg.value.toString()) &&
         formatText) {
         return logMessageFormatter(args);
     }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logHelper.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logHelper.js.map
index ab3015f..24f791b 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logHelper.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logHelper.js.map
@@ -1 +1 @@
-{"version":3,"file":"logHelper.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/log/logHelper.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"logHelper.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/log/logHelper.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logManager.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logManager.js
index 553f7be..69b9836 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logManager.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logManager.js
@@ -16,16 +16,16 @@
     return stackFrames ? { callFrames: stackFrames } : undefined;
 }
 function getLogLevel(consoleApiType) {
-    if (['assert', 'error'].includes(consoleApiType)) {
-        return 'error';
+    if (["error" /* Log.Level.Error */, 'assert'].includes(consoleApiType)) {
+        return "error" /* Log.Level.Error */;
     }
-    if (['debug', 'trace'].includes(consoleApiType)) {
-        return 'debug';
+    if (["debug" /* Log.Level.Debug */, 'trace'].includes(consoleApiType)) {
+        return "debug" /* Log.Level.Debug */;
     }
-    if (['warn', 'warning'].includes(consoleApiType)) {
-        return 'warn';
+    if (["warn" /* Log.Level.Warn */, 'warning'].includes(consoleApiType)) {
+        return "warn" /* Log.Level.Warn */;
     }
-    return 'info';
+    return "info" /* Log.Level.Info */;
 }
 class LogManager {
     #eventManager;
@@ -38,13 +38,10 @@
     }
     static create(cdpTarget, realmStorage, eventManager) {
         const logManager = new LogManager(cdpTarget, realmStorage, eventManager);
-        logManager.#initialize();
+        logManager.#initializeEntryAddedEventListener();
         return logManager;
     }
-    #initialize() {
-        this.#initializeLogEntryAddedEventListener();
-    }
-    #initializeLogEntryAddedEventListener() {
+    #initializeEntryAddedEventListener() {
         this.#cdpTarget.cdpClient.on('Runtime.consoleAPICalled', (params) => {
             // Try to find realm by `cdpSessionId` and `executionContextId`,
             // if provided.
@@ -56,25 +53,29 @@
                 ? Promise.resolve(params.args)
                 : // Properly serialize arguments if possible.
                     Promise.all(params.args.map((arg) => {
-                        return realm.serializeCdpObject(arg, 'none');
+                        return realm.serializeCdpObject(arg, "none" /* Script.ResultOwnership.None */);
                     }));
             this.#eventManager.registerPromiseEvent(argsPromise.then((args) => ({
-                method: protocol_js_1.Log.EventNames.LogEntryAddedEvent,
-                params: {
-                    level: getLogLevel(params.type),
-                    source: {
-                        realm: realm?.realmId ?? 'UNKNOWN',
-                        context: realm?.browsingContextId ?? 'UNKNOWN',
+                kind: 'success',
+                value: {
+                    type: 'event',
+                    method: protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent,
+                    params: {
+                        level: getLogLevel(params.type),
+                        source: {
+                            realm: realm?.realmId ?? 'UNKNOWN',
+                            context: realm?.browsingContextId ?? 'UNKNOWN',
+                        },
+                        text: (0, logHelper_js_1.getRemoteValuesText)(args, true),
+                        timestamp: Math.round(params.timestamp),
+                        stackTrace: getBidiStackTrace(params.stackTrace),
+                        type: 'console',
+                        // Console method is `warn`, not `warning`.
+                        method: params.type === 'warning' ? 'warn' : params.type,
+                        args,
                     },
-                    text: (0, logHelper_js_1.getRemoteValuesText)(args, true),
-                    timestamp: Math.round(params.timestamp),
-                    stackTrace: getBidiStackTrace(params.stackTrace),
-                    type: 'console',
-                    // Console method is `warn`, not `warning`.
-                    method: params.type === 'warning' ? 'warn' : params.type,
-                    args,
                 },
-            })), realm?.browsingContextId ?? 'UNKNOWN', protocol_js_1.Log.EventNames.LogEntryAddedEvent);
+            })), realm?.browsingContextId ?? 'UNKNOWN', protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent);
         });
         this.#cdpTarget.cdpClient.on('Runtime.exceptionThrown', (params) => {
             // Try to find realm by `cdpSessionId` and `executionContextId`,
@@ -83,7 +84,7 @@
                 cdpSessionId: this.#cdpTarget.cdpSessionId,
                 executionContextId: params.exceptionDetails.executionContextId,
             });
-            // Try all the best to get the exception text.
+            // Try the best to get the exception text.
             const textPromise = (async () => {
                 if (!params.exceptionDetails.exception) {
                     return params.exceptionDetails.text;
@@ -94,19 +95,23 @@
                 return realm.stringifyObject(params.exceptionDetails.exception);
             })();
             this.#eventManager.registerPromiseEvent(textPromise.then((text) => ({
-                method: protocol_js_1.Log.EventNames.LogEntryAddedEvent,
-                params: {
-                    level: 'error',
-                    source: {
-                        realm: realm?.realmId ?? 'UNKNOWN',
-                        context: realm?.browsingContextId ?? 'UNKNOWN',
+                kind: 'success',
+                value: {
+                    type: 'event',
+                    method: protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent,
+                    params: {
+                        level: "error" /* Log.Level.Error */,
+                        source: {
+                            realm: realm?.realmId ?? 'UNKNOWN',
+                            context: realm?.browsingContextId ?? 'UNKNOWN',
+                        },
+                        text,
+                        timestamp: Math.round(params.timestamp),
+                        stackTrace: getBidiStackTrace(params.exceptionDetails.stackTrace),
+                        type: 'javascript',
                     },
-                    text,
-                    timestamp: Math.round(params.timestamp),
-                    stackTrace: getBidiStackTrace(params.exceptionDetails.stackTrace),
-                    type: 'javascript',
                 },
-            })), realm?.browsingContextId ?? 'UNKNOWN', protocol_js_1.Log.EventNames.LogEntryAddedEvent);
+            })), realm?.browsingContextId ?? 'UNKNOWN', protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent);
         });
     }
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logManager.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logManager.js.map
index 3d6a39e..acc36f0 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logManager.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/log/logManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"logManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/log/logManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"logManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/log/logManager.ts"],"names":[],"mappings":";;;AAkBA,+DAAwE;AAMxE,iDAAmD;AAEnD,gEAAgE;AAChE,SAAS,iBAAiB,CACxB,aAAsD;IAEtD,MAAM,WAAW,GAAG,aAAa,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC9D,OAAO;YACL,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,GAAG,EAAE,SAAS,CAAC,GAAG;SACnB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC,CAAC,CAAC,EAAC,UAAU,EAAE,WAAW,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AAED,SAAS,WAAW,CAAC,cAAsB;IACzC,IAAI,gCAAkB,QAAQ,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;QACxD,qCAAuB;KACxB;IACD,IAAI,gCAAkB,OAAO,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;QACvD,qCAAuB;KACxB;IACD,IAAI,8BAAiB,SAAS,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;QACxD,mCAAsB;KACvB;IACD,mCAAsB;AACxB,CAAC;AAED,MAAa,UAAU;IACZ,aAAa,CAAgB;IAC7B,aAAa,CAAe;IAC5B,UAAU,CAAY;IAE/B,YACE,SAAoB,EACpB,YAA0B,EAC1B,YAA2B;QAE3B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,MAAM,CACX,SAAoB,EACpB,YAA0B,EAC1B,YAA2B;QAE3B,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QAEzE,UAAU,CAAC,kCAAkC,EAAE,CAAC;QAEhD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,kCAAkC;QAChC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAC1B,0BAA0B,EAC1B,CAAC,MAA8C,EAAE,EAAE;YACjD,gEAAgE;YAChE,eAAe;YACf,MAAM,KAAK,GAAsB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC5D,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY;gBAC1C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;aAC9C,CAAC,CAAC;YACH,MAAM,WAAW,GACf,KAAK,KAAK,SAAS;gBACjB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAA4B,CAAC;gBACtD,CAAC,CAAC,4CAA4C;oBAC5C,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;wBACtB,OAAO,KAAK,CAAC,kBAAkB,CAC7B,GAAG,2CAEJ,CAAC;oBACJ,CAAC,CAAC,CACH,CAAC;YAER,IAAI,CAAC,aAAa,CAAC,oBAAoB,CACrC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1B,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,0BAAY,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB;oBACtD,MAAM,EAAE;wBACN,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;wBAC/B,MAAM,EAAE;4BACN,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,SAAS;4BAClC,OAAO,EAAE,KAAK,EAAE,iBAAiB,IAAI,SAAS;yBAC/C;wBACD,IAAI,EAAE,IAAA,kCAAmB,EAAC,IAAI,EAAE,IAAI,CAAC;wBACrC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;wBACvC,UAAU,EAAE,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC;wBAChD,IAAI,EAAE,SAAS;wBACf,2CAA2C;wBAC3C,MAAM,EAAE,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;wBACxD,IAAI;qBACL;iBACF;aACF,CAAC,CAAC,EACH,KAAK,EAAE,iBAAiB,IAAI,SAAS,EACrC,0BAAY,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAC/C,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAC1B,yBAAyB,EACzB,CAAC,MAA6C,EAAE,EAAE;YAChD,gEAAgE;YAChE,eAAe;YACf,MAAM,KAAK,GAAsB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;gBAC5D,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,YAAY;gBAC1C,kBAAkB,EAAE,MAAM,CAAC,gBAAgB,CAAC,kBAAkB;aAC/D,CAAC,CAAC;YAEH,0CAA0C;YAC1C,MAAM,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC9B,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE;oBACtC,OAAO,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC;iBACrC;gBACD,IAAI,KAAK,KAAK,SAAS,EAAE;oBACvB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;iBAC1D;gBACD,OAAO,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAClE,CAAC,CAAC,EAAE,CAAC;YAEL,IAAI,CAAC,aAAa,CAAC,oBAAoB,CACrC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1B,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,MAAM,EAAE,0BAAY,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB;oBACtD,MAAM,EAAE;wBACN,KAAK,+BAAiB;wBACtB,MAAM,EAAE;4BACN,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,SAAS;4BAClC,OAAO,EAAE,KAAK,EAAE,iBAAiB,IAAI,SAAS;yBAC/C;wBACD,IAAI;wBACJ,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC;wBACvC,UAAU,EAAE,iBAAiB,CAC3B,MAAM,CAAC,gBAAgB,CAAC,UAAU,CACnC;wBACD,IAAI,EAAE,YAAY;qBACnB;iBACF;aACF,CAAC,CAAC,EACH,KAAK,EAAE,iBAAiB,IAAI,SAAS,EACrC,0BAAY,CAAC,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAC/C,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC;CACF;AA9HD,gCA8HC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/NetworkManager.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/NetworkManager.d.ts
new file mode 100644
index 0000000..c8e0a99
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/NetworkManager.d.ts
@@ -0,0 +1,8 @@
+import type { ICdpClient } from '../../../cdp/cdpClient.js';
+import type { IEventManager } from '../events/EventManager.js';
+export declare class NetworkManager {
+    #private;
+    private constructor();
+    static create(cdpClient: ICdpClient, eventManager: IEventManager): NetworkManager;
+    dispose(): void;
+}
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/NetworkManager.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/NetworkManager.js
new file mode 100644
index 0000000..972cafe
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/NetworkManager.js
@@ -0,0 +1,96 @@
+"use strict";
+/*
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.NetworkManager = void 0;
+const DefaultMap_js_1 = require("../../../utils/DefaultMap.js");
+const networkRequest_js_1 = require("./networkRequest.js");
+class NetworkManager {
+    #eventManager;
+    /**
+     * Map of request ID to NetworkRequest objects. Needed as long as information
+     * about requests comes from different events.
+     */
+    #requestMap;
+    constructor(eventManager) {
+        this.#eventManager = eventManager;
+        this.#requestMap = new DefaultMap_js_1.DefaultMap((requestId) => new networkRequest_js_1.NetworkRequest(requestId, this.#eventManager));
+    }
+    static create(cdpClient, eventManager) {
+        const networkProcessor = new NetworkManager(eventManager);
+        cdpClient
+            .browserClient()
+            .on('Target.detachedFromTarget', (params) => {
+            if (cdpClient.sessionId === params.sessionId) {
+                networkProcessor.dispose();
+            }
+        });
+        cdpClient.on('Network.requestWillBeSent', (params) => {
+            networkProcessor
+                .#getOrCreateNetworkRequest(params.requestId)
+                .onRequestWillBeSentEvent(params);
+        });
+        cdpClient.on('Network.requestWillBeSentExtraInfo', (params) => {
+            networkProcessor
+                .#getOrCreateNetworkRequest(params.requestId)
+                .onRequestWillBeSentExtraInfoEvent(params);
+        });
+        cdpClient.on('Network.responseReceived', (params) => {
+            networkProcessor
+                .#getOrCreateNetworkRequest(params.requestId)
+                .onResponseReceivedEvent(params);
+        });
+        cdpClient.on('Network.responseReceivedExtraInfo', (params) => {
+            networkProcessor
+                .#getOrCreateNetworkRequest(params.requestId)
+                .onResponseReceivedEventExtraInfo(params);
+        });
+        cdpClient.on('Network.requestServedFromCache', (params) => {
+            networkProcessor
+                .#getOrCreateNetworkRequest(params.requestId)
+                .onServedFromCache();
+        });
+        cdpClient.on('Network.loadingFailed', (params) => {
+            networkProcessor
+                .#getOrCreateNetworkRequest(params.requestId)
+                .onLoadingFailedEvent(params);
+            networkProcessor.#forgetRequest(params.requestId);
+        });
+        cdpClient.on('Network.loadingFinished', (params) => {
+            networkProcessor.#forgetRequest(params.requestId);
+        });
+        return networkProcessor;
+    }
+    dispose() {
+        for (const request of this.#requestMap.values()) {
+            request.dispose();
+        }
+        this.#requestMap.clear();
+    }
+    #getOrCreateNetworkRequest(requestId) {
+        return this.#requestMap.get(requestId);
+    }
+    #forgetRequest(requestId) {
+        const request = this.#requestMap.get(requestId);
+        if (request) {
+            request.dispose();
+            this.#requestMap.delete(requestId);
+        }
+    }
+}
+exports.NetworkManager = NetworkManager;
+//# sourceMappingURL=NetworkManager.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/NetworkManager.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/NetworkManager.js.map
new file mode 100644
index 0000000..30996ae
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/NetworkManager.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"NetworkManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/network/NetworkManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkProcessor.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkProcessor.d.ts
deleted file mode 100644
index 9f804a0..0000000
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkProcessor.d.ts
+++ /dev/null
@@ -1,7 +0,0 @@
-import type { ICdpClient } from '../../../cdp/cdpClient.js';
-import type { IEventManager } from '../events/EventManager.js';
-export declare class NetworkProcessor {
-    #private;
-    private constructor();
-    static create(cdpClient: ICdpClient, eventManager: IEventManager): Promise<NetworkProcessor>;
-}
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkProcessor.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkProcessor.js
deleted file mode 100644
index a7c7c66..0000000
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkProcessor.js
+++ /dev/null
@@ -1,73 +0,0 @@
-"use strict";
-/*
- * Copyright 2023 Google LLC.
- * Copyright (c) Microsoft Corporation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.NetworkProcessor = void 0;
-const DefaultMap_js_1 = require("../../../utils/DefaultMap.js");
-const networkRequest_js_1 = require("./networkRequest.js");
-class NetworkProcessor {
-    #eventManager;
-    /**
-     * Map of request ID to NetworkRequest objects. Needed as long as information
-     * about requests comes from different events.
-     */
-    #requestMap;
-    constructor(eventManager) {
-        this.#eventManager = eventManager;
-        this.#requestMap = new DefaultMap_js_1.DefaultMap((requestId) => new networkRequest_js_1.NetworkRequest(requestId, this.#eventManager));
-    }
-    static async create(cdpClient, eventManager) {
-        const networkProcessor = new NetworkProcessor(eventManager);
-        cdpClient.on('Network.requestWillBeSent', (params) => {
-            networkProcessor
-                .#getOrCreateNetworkRequest(params.requestId)
-                .onRequestWillBeSentEvent(params);
-        });
-        cdpClient.on('Network.requestWillBeSentExtraInfo', (params) => {
-            networkProcessor
-                .#getOrCreateNetworkRequest(params.requestId)
-                .onRequestWillBeSentExtraInfoEvent(params);
-        });
-        cdpClient.on('Network.responseReceived', (params) => {
-            networkProcessor
-                .#getOrCreateNetworkRequest(params.requestId)
-                .onResponseReceivedEvent(params);
-        });
-        cdpClient.on('Network.responseReceivedExtraInfo', (params) => {
-            networkProcessor
-                .#getOrCreateNetworkRequest(params.requestId)
-                .onResponseReceivedEventExtraInfo(params);
-        });
-        cdpClient.on('Network.loadingFailed', (params) => {
-            networkProcessor
-                .#getOrCreateNetworkRequest(params.requestId)
-                .onLoadingFailedEvent(params);
-        });
-        cdpClient.on('Network.requestServedFromCache', (params) => {
-            networkProcessor
-                .#getOrCreateNetworkRequest(params.requestId)
-                .onServedFromCache();
-        });
-        await cdpClient.sendCommand('Network.enable');
-        return networkProcessor;
-    }
-    #getOrCreateNetworkRequest(requestId) {
-        return this.#requestMap.get(requestId);
-    }
-}
-exports.NetworkProcessor = NetworkProcessor;
-//# sourceMappingURL=networkProcessor.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkProcessor.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkProcessor.js.map
deleted file mode 100644
index 4894159..0000000
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkProcessor.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"networkProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/network/networkProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAWH,gEAAwD;AAGxD,2DAAmD;AAEnD,MAAa,gBAAgB;IAClB,aAAa,CAAgB;IAEtC;;;OAGG;IACM,WAAW,CAA8C;IAElE,YAAoB,YAA2B;QAC7C,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,IAAI,0BAAU,CAC/B,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,kCAAc,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CACjE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,SAAqB,EACrB,YAA2B;QAE3B,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAE5D,SAAS,CAAC,EAAE,CACV,2BAA2B,EAC3B,CAAC,MAA+C,EAAE,EAAE;YAClD,gBAAgB;iBACb,0BAA0B,CAAC,MAAM,CAAC,SAAS,CAAC;iBAC5C,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC,CACF,CAAC;QAEF,SAAS,CAAC,EAAE,CACV,oCAAoC,EACpC,CAAC,MAAwD,EAAE,EAAE;YAC3D,gBAAgB;iBACb,0BAA0B,CAAC,MAAM,CAAC,SAAS,CAAC;iBAC5C,iCAAiC,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC,CACF,CAAC;QAEF,SAAS,CAAC,EAAE,CACV,0BAA0B,EAC1B,CAAC,MAA8C,EAAE,EAAE;YACjD,gBAAgB;iBACb,0BAA0B,CAAC,MAAM,CAAC,SAAS,CAAC;iBAC5C,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC,CACF,CAAC;QAEF,SAAS,CAAC,EAAE,CACV,mCAAmC,EACnC,CAAC,MAAuD,EAAE,EAAE;YAC1D,gBAAgB;iBACb,0BAA0B,CAAC,MAAM,CAAC,SAAS,CAAC;iBAC5C,gCAAgC,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC,CACF,CAAC;QAEF,SAAS,CAAC,EAAE,CACV,uBAAuB,EACvB,CAAC,MAA2C,EAAE,EAAE;YAC9C,gBAAgB;iBACb,0BAA0B,CAAC,MAAM,CAAC,SAAS,CAAC;iBAC5C,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CACF,CAAC;QAEF,SAAS,CAAC,EAAE,CACV,gCAAgC,EAChC,CAAC,MAAoD,EAAE,EAAE;YACvD,gBAAgB;iBACb,0BAA0B,CAAC,MAAM,CAAC,SAAS,CAAC;iBAC5C,iBAAiB,EAAE,CAAC;QACzB,CAAC,CACF,CAAC;QAEF,MAAM,SAAS,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAE9C,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,0BAA0B,CAAC,SAA0B;QACnD,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;CACF;AApFD,4CAoFC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkRequest.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkRequest.d.ts
index d3be1e6..f8bdf5d 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkRequest.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkRequest.d.ts
@@ -4,7 +4,7 @@
  */
 import type Protocol from 'devtools-protocol';
 import type { IEventManager } from '../events/EventManager.js';
-import { Network } from '../../../protocol/protocol.js';
+import { type Network } from '../../../protocol/protocol.js';
 export declare class NetworkRequest {
     #private;
     /**
@@ -14,7 +14,7 @@
      * The identifier for a request resulting from a redirect matches that of the
      * request that initiated it.
      */
-    requestId: Network.Request;
+    readonly requestId: Network.Request;
     constructor(requestId: Network.Request, eventManager: IEventManager);
     onRequestWillBeSentEvent(event: Protocol.Network.RequestWillBeSentEvent): void;
     onRequestWillBeSentExtraInfoEvent(event: Protocol.Network.RequestWillBeSentExtraInfoEvent): void;
@@ -22,4 +22,5 @@
     onResponseReceivedEvent(responseReceivedEvent: Protocol.Network.ResponseReceivedEvent): void;
     onServedFromCache(): void;
     onLoadingFailedEvent(event: Protocol.Network.LoadingFailedEvent): void;
+    dispose(): void;
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkRequest.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkRequest.js
index 14f5dd0..a8cdee4 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkRequest.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkRequest.js
@@ -31,7 +31,7 @@
      */
     requestId;
     #servedFromCache = false;
-    #redirectCount;
+    #redirectCount = 0;
     #eventManager;
     #requestWillBeSentEvent;
     #requestWillBeSentExtraInfoEvent;
@@ -41,7 +41,6 @@
     #responseReceivedDeferred = new deferred_js_1.Deferred();
     constructor(requestId, eventManager) {
         this.requestId = requestId;
-        this.#redirectCount = 0;
         this.#eventManager = eventManager;
     }
     onRequestWillBeSentEvent(event) {
@@ -51,7 +50,10 @@
         }
         this.#requestWillBeSentEvent = event;
         if (this.#requestWillBeSentExtraInfoEvent !== undefined) {
-            this.#beforeRequestSentDeferred.resolve();
+            this.#beforeRequestSentDeferred.resolve({
+                kind: 'success',
+                value: undefined,
+            });
         }
         this.#sendBeforeRequestEvent();
     }
@@ -62,7 +64,10 @@
         }
         this.#requestWillBeSentExtraInfoEvent = event;
         if (this.#requestWillBeSentEvent !== undefined) {
-            this.#beforeRequestSentDeferred.resolve();
+            this.#beforeRequestSentDeferred.resolve({
+                kind: 'success',
+                value: undefined,
+            });
         }
     }
     onResponseReceivedEventExtraInfo(event) {
@@ -72,7 +77,10 @@
         }
         this.#responseReceivedExtraInfoEvent = event;
         if (this.#responseReceivedEvent !== undefined) {
-            this.#responseReceivedDeferred.resolve();
+            this.#responseReceivedDeferred.resolve({
+                kind: 'success',
+                value: undefined,
+            });
         }
     }
     onResponseReceivedEvent(responseReceivedEvent) {
@@ -83,35 +91,62 @@
         this.#responseReceivedEvent = responseReceivedEvent;
         if (!responseReceivedEvent.hasExtraInfo &&
             !this.#beforeRequestSentDeferred.isFinished) {
-            this.#beforeRequestSentDeferred.resolve();
+            this.#beforeRequestSentDeferred.resolve({
+                kind: 'success',
+                value: undefined,
+            });
         }
         if (!responseReceivedEvent.hasExtraInfo ||
             this.#responseReceivedExtraInfoEvent !== undefined ||
             this.#servedFromCache) {
-            this.#responseReceivedDeferred.resolve();
+            this.#responseReceivedDeferred.resolve({
+                kind: 'success',
+                value: undefined,
+            });
         }
         this.#sendResponseReceivedEvent();
     }
     onServedFromCache() {
         if (this.#requestWillBeSentEvent !== undefined) {
-            this.#beforeRequestSentDeferred.resolve();
+            this.#beforeRequestSentDeferred.resolve({
+                kind: 'success',
+                value: undefined,
+            });
         }
         if (this.#responseReceivedEvent !== undefined) {
-            this.#responseReceivedDeferred.resolve();
+            this.#responseReceivedDeferred.resolve({
+                kind: 'success',
+                value: undefined,
+            });
         }
         this.#servedFromCache = true;
     }
     onLoadingFailedEvent(event) {
-        this.#beforeRequestSentDeferred.resolve();
-        this.#responseReceivedDeferred.reject(event);
+        this.#beforeRequestSentDeferred.resolve({
+            kind: 'success',
+            value: undefined,
+        });
+        this.#responseReceivedDeferred.resolve({
+            kind: 'error',
+            error: new Error('Loading Failed'),
+        });
         this.#eventManager.registerEvent({
-            method: protocol_js_1.Network.EventNames.FetchErrorEvent,
+            type: 'event',
+            method: protocol_js_1.ChromiumBidi.Network.EventNames.FetchErrorEvent,
             params: {
                 ...this.#getBaseEventParams(),
                 errorText: event.errorText,
             },
         }, this.#requestWillBeSentEvent?.frameId ?? null);
     }
+    dispose() {
+        const result = {
+            kind: 'error',
+            error: new Error('Network processor detached'),
+        };
+        this.#responseReceivedDeferred.resolve(result);
+        this.#beforeRequestSentDeferred.resolve(result);
+    }
     #getBaseEventParams() {
         return {
             context: this.#requestWillBeSentEvent?.frameId ?? null,
@@ -181,7 +216,17 @@
     }
     #sendBeforeRequestEvent() {
         if (!this.#isIgnoredEvent()) {
-            this.#eventManager.registerPromiseEvent(this.#beforeRequestSentDeferred.then(() => this.#getBeforeRequestEvent()), this.#requestWillBeSentEvent?.frameId ?? null, protocol_js_1.Network.EventNames.BeforeRequestSentEvent);
+            this.#eventManager.registerPromiseEvent(this.#beforeRequestSentDeferred.then((result) => {
+                if (result.kind === 'success') {
+                    return {
+                        kind: 'success',
+                        value: Object.assign(this.#getBeforeRequestEvent(), {
+                            type: 'event',
+                        }),
+                    };
+                }
+                return result;
+            }), this.#requestWillBeSentEvent?.frameId ?? null, protocol_js_1.ChromiumBidi.Network.EventNames.BeforeRequestSentEvent);
         }
     }
     #getBeforeRequestEvent() {
@@ -189,7 +234,7 @@
             throw new Error('RequestWillBeSentEvent is not set');
         }
         return {
-            method: protocol_js_1.Network.EventNames.BeforeRequestSentEvent,
+            method: protocol_js_1.ChromiumBidi.Network.EventNames.BeforeRequestSentEvent,
             params: {
                 ...this.#getBaseEventParams(),
                 initiator: {
@@ -200,7 +245,17 @@
     }
     #sendResponseReceivedEvent() {
         if (!this.#isIgnoredEvent()) {
-            this.#eventManager.registerPromiseEvent(this.#responseReceivedDeferred.then(() => this.#getResponseReceivedEvent()), this.#responseReceivedEvent?.frameId ?? null, protocol_js_1.Network.EventNames.ResponseCompletedEvent);
+            this.#eventManager.registerPromiseEvent(this.#responseReceivedDeferred.then((result) => {
+                if (result.kind === 'success') {
+                    return {
+                        kind: 'success',
+                        value: Object.assign(this.#getResponseReceivedEvent(), {
+                            type: 'event',
+                        }),
+                    };
+                }
+                return result;
+            }), this.#responseReceivedEvent?.frameId ?? null, protocol_js_1.ChromiumBidi.Network.EventNames.ResponseCompletedEvent);
         }
     }
     #getResponseReceivedEvent() {
@@ -218,7 +273,7 @@
         }
         const headers = NetworkRequest.#getHeaders(this.#responseReceivedEvent.response.headers);
         return {
-            method: protocol_js_1.Network.EventNames.ResponseCompletedEvent,
+            method: protocol_js_1.ChromiumBidi.Network.EventNames.ResponseCompletedEvent,
             params: {
                 ...this.#getBaseEventParams(),
                 response: {
@@ -246,7 +301,8 @@
     }
     #computeResponseHeadersSize(headers) {
         return headers.reduce((total, header) => {
-            return total + header.name.length + (header.value?.length ?? 0) + 4; // 4 = ': ' + '\r\n'
+            return (total + header.name.length + header.value.value.length + 4 // 4 = ': ' + '\r\n'
+            );
         }, 0);
     }
     #isIgnoredEvent() {
@@ -259,7 +315,10 @@
         }
         return Object.entries(headers).map(([name, value]) => ({
             name,
-            value,
+            value: {
+                type: 'string',
+                value,
+            },
         }));
     }
     static #getInitiatorType(initiatorType) {
@@ -276,7 +335,10 @@
         return associatedCookies.map((cookieInfo) => {
             return {
                 name: cookieInfo.cookie.name,
-                value: cookieInfo.cookie.value,
+                value: {
+                    type: 'string',
+                    value: cookieInfo.cookie.value,
+                },
                 domain: cookieInfo.cookie.domain,
                 path: cookieInfo.cookie.path,
                 expires: cookieInfo.cookie.expires,
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkRequest.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkRequest.js.map
index 79f83b4..ffbcb2e 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkRequest.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/network/networkRequest.js.map
@@ -1 +1 @@
-{"version":3,"file":"networkRequest.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/network/networkRequest.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"networkRequest.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/network/networkRequest.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.d.ts
new file mode 100644
index 0000000..1b5632d
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.d.ts
@@ -0,0 +1,15 @@
+import type { CdpTarget } from '../context/cdpTarget.js';
+import type { BidiPreloadScript } from './bidiPreloadScript.js';
+/** BidiPreloadScripts can be filtered by BiDi ID or target ID. */
+export type BidiPreloadScriptFilter = Partial<Pick<BidiPreloadScript, 'id'> & Pick<CdpTarget, 'targetId'>>;
+/**
+ * Container class for preload scripts.
+ */
+export declare class PreloadScriptStorage {
+    #private;
+    /** Finds all entries that match the given filter. */
+    findPreloadScripts(filter?: BidiPreloadScriptFilter): BidiPreloadScript[];
+    addPreloadScript(preloadScript: BidiPreloadScript): void;
+    /** Deletes all BiDi preload script entries that match the given filter. */
+    removeBiDiPreloadScripts(filter?: BidiPreloadScriptFilter): void;
+}
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.js
new file mode 100644
index 0000000..bb4c268
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.js
@@ -0,0 +1,37 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.PreloadScriptStorage = void 0;
+/**
+ * Container class for preload scripts.
+ */
+class PreloadScriptStorage {
+    /** Tracks all BiDi preload scripts.  */
+    #scripts = new Set();
+    /** Finds all entries that match the given filter. */
+    findPreloadScripts(filter) {
+        if (!filter) {
+            return [...this.#scripts];
+        }
+        return [...this.#scripts].filter((script) => {
+            if (filter.id !== undefined && filter.id !== script.id) {
+                return false;
+            }
+            if (filter.targetId !== undefined &&
+                !script.targetIds.has(filter.targetId)) {
+                return false;
+            }
+            return true;
+        });
+    }
+    addPreloadScript(preloadScript) {
+        this.#scripts.add(preloadScript);
+    }
+    /** Deletes all BiDi preload script entries that match the given filter. */
+    removeBiDiPreloadScripts(filter) {
+        for (const preloadScript of this.findPreloadScripts(filter)) {
+            this.#scripts.delete(preloadScript);
+        }
+    }
+}
+exports.PreloadScriptStorage = PreloadScriptStorage;
+//# sourceMappingURL=PreloadScriptStorage.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.js.map
new file mode 100644
index 0000000..378d79b
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"PreloadScriptStorage.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/script/PreloadScriptStorage.ts"],"names":[],"mappings":";;;AAyBA;;GAEG;AACH,MAAa,oBAAoB;IAC/B,wCAAwC;IAC/B,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;IAEjD,qDAAqD;IACrD,kBAAkB,CAAC,MAAgC;QACjD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC3B;QAED,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1C,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,IAAI,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE;gBACtD,OAAO,KAAK,CAAC;aACd;YACD,IACE,MAAM,CAAC,QAAQ,KAAK,SAAS;gBAC7B,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EACtC;gBACA,OAAO,KAAK,CAAC;aACd;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,aAAgC;QAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;IAED,2EAA2E;IAC3E,wBAAwB,CAAC,MAAgC;QACvD,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE;YAC3D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;SACrC;IACH,CAAC;CACF;AAlCD,oDAkCC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/ScriptProcessor.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/ScriptProcessor.d.ts
new file mode 100644
index 0000000..a806d04
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/ScriptProcessor.d.ts
@@ -0,0 +1,30 @@
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { type EmptyResult, Script } from '../../../protocol/protocol';
+import type { BrowsingContextStorage } from '../context/browsingContextStorage';
+import type { PreloadScriptStorage } from './PreloadScriptStorage';
+import type { RealmStorage } from './realmStorage';
+export declare class ScriptProcessor {
+    #private;
+    constructor(browsingContextStorage: BrowsingContextStorage, realmStorage: RealmStorage, preloadScriptStorage: PreloadScriptStorage);
+    addPreloadScript(params: Script.AddPreloadScriptParameters): Promise<Script.AddPreloadScriptResult>;
+    removePreloadScript(params: Script.RemovePreloadScriptParameters): Promise<EmptyResult>;
+    callFunction(params: Script.CallFunctionParameters): Promise<Script.EvaluateResult>;
+    evaluate(params: Script.EvaluateParameters): Promise<Script.EvaluateResult>;
+    disown(params: Script.DisownParameters): Promise<EmptyResult>;
+    getRealms(params: Script.GetRealmsParameters): Script.GetRealmsResult;
+}
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/ScriptProcessor.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/ScriptProcessor.js
new file mode 100644
index 0000000..11d5c64
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/ScriptProcessor.js
@@ -0,0 +1,97 @@
+"use strict";
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.ScriptProcessor = void 0;
+const protocol_1 = require("../../../protocol/protocol");
+const bidiPreloadScript_1 = require("./bidiPreloadScript");
+class ScriptProcessor {
+    #browsingContextStorage;
+    #realmStorage;
+    #preloadScriptStorage;
+    constructor(browsingContextStorage, realmStorage, preloadScriptStorage) {
+        this.#browsingContextStorage = browsingContextStorage;
+        this.#realmStorage = realmStorage;
+        this.#preloadScriptStorage = preloadScriptStorage;
+    }
+    async addPreloadScript(params) {
+        const preloadScript = new bidiPreloadScript_1.BidiPreloadScript(params);
+        this.#preloadScriptStorage.addPreloadScript(preloadScript);
+        const cdpTargets = new Set(this.#browsingContextStorage
+            .getTopLevelContexts()
+            .map((context) => context.cdpTarget));
+        await preloadScript.initInTargets(cdpTargets, false);
+        return {
+            script: preloadScript.id,
+        };
+    }
+    async removePreloadScript(params) {
+        const bidiId = params.script;
+        const scripts = this.#preloadScriptStorage.findPreloadScripts({
+            id: bidiId,
+        });
+        if (scripts.length === 0) {
+            throw new protocol_1.NoSuchScriptException(`No preload script with BiDi ID '${bidiId}'`);
+        }
+        await Promise.all(scripts.map((script) => script.remove()));
+        this.#preloadScriptStorage.removeBiDiPreloadScripts({
+            id: bidiId,
+        });
+        return {};
+    }
+    async callFunction(params) {
+        const realm = await this.#getRealm(params.target);
+        return realm.callFunction(params.functionDeclaration, params.this ?? {
+            type: 'undefined',
+        }, // `this` is `undefined` by default.
+        params.arguments ?? [], // `arguments` is `[]` by default.
+        params.awaitPromise, params.resultOwnership ?? "none" /* Script.ResultOwnership.None */, params.serializationOptions ?? {}, params.userActivation ?? false);
+    }
+    async evaluate(params) {
+        const realm = await this.#getRealm(params.target);
+        return realm.evaluate(params.expression, params.awaitPromise, params.resultOwnership ?? "none" /* Script.ResultOwnership.None */, params.serializationOptions ?? {}, params.userActivation ?? false);
+    }
+    async disown(params) {
+        const realm = await this.#getRealm(params.target);
+        await Promise.all(params.handles.map(async (handle) => realm.disown(handle)));
+        return {};
+    }
+    getRealms(params) {
+        if (params.context !== undefined) {
+            // Make sure the context is known.
+            this.#browsingContextStorage.getContext(params.context);
+        }
+        const realms = this.#realmStorage
+            .findRealms({
+            browsingContextId: params.context,
+            type: params.type,
+        })
+            .map((realm) => realm.realmInfo);
+        return { realms };
+    }
+    async #getRealm(target) {
+        if ('realm' in target) {
+            return this.#realmStorage.getRealm({
+                realmId: target.realm,
+            });
+        }
+        const context = this.#browsingContextStorage.getContext(target.context);
+        return context.getOrCreateSandbox(target.sandbox);
+    }
+}
+exports.ScriptProcessor = ScriptProcessor;
+//# sourceMappingURL=ScriptProcessor.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/ScriptProcessor.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/ScriptProcessor.js.map
new file mode 100644
index 0000000..a858fa5
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/ScriptProcessor.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"ScriptProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/script/ScriptProcessor.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/bidiPreloadScript.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/bidiPreloadScript.d.ts
new file mode 100644
index 0000000..5ae7839
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/bidiPreloadScript.d.ts
@@ -0,0 +1,38 @@
+import type Protocol from 'devtools-protocol';
+import type { Script } from '../../../protocol/protocol.js';
+import type { CdpTarget } from '../context/cdpTarget.js';
+import { ChannelProxy } from './channelProxy.js';
+/**
+ * BiDi IDs are generated by the server and are unique within contexts.
+ *
+ * CDP preload script IDs are generated by the client and are unique
+ * within sessions.
+ *
+ * The mapping between BiDi and CDP preload script IDs is 1:many.
+ * BiDi IDs are needed by the mapper to keep track of potential multiple CDP IDs
+ * in the client.
+ */
+export declare class BidiPreloadScript {
+    #private;
+    get id(): string;
+    get targetIds(): Set<Protocol.Target.TargetID>;
+    constructor(params: Script.AddPreloadScriptParameters);
+    /** Channels of the preload script. */
+    get channels(): ChannelProxy[];
+    /**
+     * Adds the script to the given CDP targets by calling the
+     * `Page.addScriptToEvaluateOnNewDocument` command.
+     */
+    initInTargets(cdpTargets: Iterable<CdpTarget>, runImmediately: boolean): Promise<void>;
+    /**
+     * Adds the script to the given CDP target by calling the
+     * `Page.addScriptToEvaluateOnNewDocument` command.
+     */
+    initInTarget(cdpTarget: CdpTarget, runImmediately: boolean): Promise<void>;
+    /**
+     * Removes this script from all CDP targets.
+     */
+    remove(): Promise<void>;
+    /** Removes the provided cdp target from the list of cdp preload scripts. */
+    dispose(cdpTargetId: Protocol.Target.TargetID): void;
+}
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/bidiPreloadScript.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/bidiPreloadScript.js
new file mode 100644
index 0000000..a4cb6c9
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/bidiPreloadScript.js
@@ -0,0 +1,117 @@
+"use strict";
+/*
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.BidiPreloadScript = void 0;
+const uuid_js_1 = require("../../../utils/uuid.js");
+const channelProxy_js_1 = require("./channelProxy.js");
+/**
+ * BiDi IDs are generated by the server and are unique within contexts.
+ *
+ * CDP preload script IDs are generated by the client and are unique
+ * within sessions.
+ *
+ * The mapping between BiDi and CDP preload script IDs is 1:many.
+ * BiDi IDs are needed by the mapper to keep track of potential multiple CDP IDs
+ * in the client.
+ */
+class BidiPreloadScript {
+    /** BiDi ID, an automatically generated UUID. */
+    #id = (0, uuid_js_1.uuidv4)();
+    /** CDP preload scripts. */
+    #cdpPreloadScripts = [];
+    /** The script itself, in a format expected by the spec i.e. a function. */
+    #functionDeclaration;
+    /** Targets, in which the preload script is initialized. */
+    #targetIds = new Set();
+    /** Channels to be added as arguments to functionDeclaration. */
+    #channels;
+    /** The script sandbox / world name. */
+    #sandbox;
+    get id() {
+        return this.#id;
+    }
+    get targetIds() {
+        return this.#targetIds;
+    }
+    constructor(params) {
+        this.#channels =
+            params.arguments?.map((a) => new channelProxy_js_1.ChannelProxy(a.value)) ?? [];
+        this.#functionDeclaration = params.functionDeclaration;
+        this.#sandbox = params.sandbox;
+    }
+    /** Channels of the preload script. */
+    get channels() {
+        return this.#channels;
+    }
+    /**
+     * String to be evaluated. Wraps user-provided function so that the following
+     * steps are run:
+     * 1. Create channels.
+     * 2. Store the created channels in window.
+     * 3. Call the user-provided function with channels as arguments.
+     */
+    #getEvaluateString() {
+        const channelsArgStr = `[${this.channels
+            .map((c) => c.getEvalInWindowStr())
+            .join(', ')}]`;
+        return `(()=>{(${this.#functionDeclaration})(...${channelsArgStr})})()`;
+    }
+    /**
+     * Adds the script to the given CDP targets by calling the
+     * `Page.addScriptToEvaluateOnNewDocument` command.
+     */
+    async initInTargets(cdpTargets, runImmediately) {
+        await Promise.all(Array.from(cdpTargets).map((cdpTarget) => this.initInTarget(cdpTarget, runImmediately)));
+    }
+    /**
+     * Adds the script to the given CDP target by calling the
+     * `Page.addScriptToEvaluateOnNewDocument` command.
+     */
+    async initInTarget(cdpTarget, runImmediately) {
+        const addCdpPreloadScriptResult = await cdpTarget.cdpClient.sendCommand('Page.addScriptToEvaluateOnNewDocument', {
+            source: this.#getEvaluateString(),
+            worldName: this.#sandbox,
+            runImmediately,
+        });
+        this.#cdpPreloadScripts.push({
+            target: cdpTarget,
+            preloadScriptId: addCdpPreloadScriptResult.identifier,
+        });
+        this.#targetIds.add(cdpTarget.targetId);
+    }
+    /**
+     * Removes this script from all CDP targets.
+     */
+    async remove() {
+        for (const cdpPreloadScript of this.#cdpPreloadScripts) {
+            const cdpTarget = cdpPreloadScript.target;
+            const cdpPreloadScriptId = cdpPreloadScript.preloadScriptId;
+            await cdpTarget.cdpClient.sendCommand('Page.removeScriptToEvaluateOnNewDocument', {
+                identifier: cdpPreloadScriptId,
+            });
+        }
+    }
+    /** Removes the provided cdp target from the list of cdp preload scripts. */
+    dispose(cdpTargetId) {
+        this.#cdpPreloadScripts = this.#cdpPreloadScripts.filter((cdpPreloadScript) => cdpPreloadScript.target?.targetId !== cdpTargetId);
+        this.#targetIds.delete(cdpTargetId);
+    }
+}
+exports.BidiPreloadScript = BidiPreloadScript;
+//# sourceMappingURL=bidiPreloadScript.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/bidiPreloadScript.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/bidiPreloadScript.js.map
new file mode 100644
index 0000000..779174f
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/bidiPreloadScript.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"bidiPreloadScript.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/script/bidiPreloadScript.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/channelProxy.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/channelProxy.d.ts
index 903aef9..c14ad89 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/channelProxy.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/channelProxy.d.ts
@@ -1,7 +1,6 @@
-import { CommonDataTypes, Script } from '../../../protocol/protocol.js';
+import { Script } from '../../../protocol/protocol.js';
 import type { IEventManager } from '../events/EventManager.js';
 import type { Realm } from './realm.js';
-import Handle = CommonDataTypes.Handle;
 /**
  * Used to send messages from realm to BiDi user.
  */
@@ -12,7 +11,7 @@
      * Creates a channel proxy in the given realm, initialises listener and
      * returns a handle to `sendMessage` delegate.
      */
-    init(realm: Realm, eventManager: IEventManager): Promise<Handle>;
+    init(realm: Realm, eventManager: IEventManager): Promise<Script.Handle>;
     /** Gets a ChannelProxy from window and returns its handle. */
     startListenerFromWindow(realm: Realm, eventManager: IEventManager): Promise<void>;
     /**
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/channelProxy.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/channelProxy.js
index ee1d9ba..da96fc86 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/channelProxy.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/channelProxy.js
@@ -92,7 +92,7 @@
             expression: this.#createChannelProxyEvalStr(),
             contextId: realm.executionContextId,
             serializationOptions: {
-                serialization: 'idOnly',
+                serialization: "idOnly" /* Protocol.Runtime.SerializationOptionsSerialization.IdOnly */,
             },
         });
         if (createChannelHandleResult.exceptionDetails ||
@@ -110,7 +110,7 @@
             arguments: [{ objectId: channelHandle }],
             executionContextId: realm.executionContextId,
             serializationOptions: {
-                serialization: 'idOnly',
+                serialization: "idOnly" /* Protocol.Runtime.SerializationOptionsSerialization.IdOnly */,
             },
         });
         // TODO: check for exceptionDetails.
@@ -132,7 +132,7 @@
                 awaitPromise: true,
                 executionContextId: realm.executionContextId,
                 serializationOptions: {
-                    serialization: 'deep',
+                    serialization: "deep" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */,
                     ...(this.#properties.serializationOptions?.maxObjectDepth ===
                         undefined ||
                         this.#properties.serializationOptions.maxObjectDepth === null
@@ -148,10 +148,11 @@
                 return;
             }
             eventManager.registerEvent({
-                method: protocol_js_1.Script.EventNames.MessageEvent,
+                type: 'event',
+                method: protocol_js_1.ChromiumBidi.Script.EventNames.MessageEvent,
                 params: {
                     channel: this.#properties.channel,
-                    data: realm.cdpToBidiValue(message, this.#properties.ownership ?? 'none'),
+                    data: realm.cdpToBidiValue(message, this.#properties.ownership ?? "none" /* Script.ResultOwnership.None */),
                     source: {
                         realm: realm.realmId,
                         context: realm.browsingContextId,
@@ -188,7 +189,7 @@
             executionContextId: realm.executionContextId,
             awaitPromise: true,
             serializationOptions: {
-                serialization: 'idOnly',
+                serialization: "idOnly" /* Protocol.Runtime.SerializationOptionsSerialization.IdOnly */,
             },
         });
         if (channelHandleResult.exceptionDetails !== undefined ||
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/channelProxy.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/channelProxy.js.map
index e4742b8b..a0e9457 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/channelProxy.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/channelProxy.js.map
@@ -1 +1 @@
-{"version":3,"file":"channelProxy.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/script/channelProxy.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"channelProxy.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/script/channelProxy.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realm.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realm.d.ts
index 4a0e56f..2ce6f38 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realm.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realm.d.ts
@@ -14,46 +14,38 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-import type { Protocol } from 'devtools-protocol';
-import { Script } from '../../../protocol/protocol.js';
-import type { CommonDataTypes } from '../../../protocol/protocol.js';
+import { Protocol } from 'devtools-protocol';
+import { type BrowsingContext, Script } from '../../../protocol/protocol.js';
 import type { BrowsingContextStorage } from '../context/browsingContextStorage.js';
 import type { IEventManager } from '../events/EventManager.js';
 import type { ICdpClient } from '../../../cdp/cdpClient.js';
 import { type LoggerFn } from '../../../utils/log.js';
 import type { RealmStorage } from './realmStorage.js';
-export type RealmType = Script.RealmType;
 export declare class Realm {
     #private;
     readonly sandbox?: string;
-    readonly cdpSessionId: string;
-    constructor(realmStorage: RealmStorage, browsingContextStorage: BrowsingContextStorage, realmId: Script.Realm, browsingContextId: CommonDataTypes.BrowsingContext, executionContextId: Protocol.Runtime.ExecutionContextId, origin: string, type: RealmType, sandbox: string | undefined, cdpSessionId: string, cdpClient: ICdpClient, eventManager: IEventManager, logger?: LoggerFn);
-    disown(handle: CommonDataTypes.Handle): Promise<void>;
-    cdpToBidiValue(cdpValue: Protocol.Runtime.CallFunctionOnResponse | Protocol.Runtime.EvaluateResponse, resultOwnership: Script.ResultOwnership): CommonDataTypes.RemoteValue;
-    deepSerializedToBiDi(webDriverValue: Protocol.Runtime.DeepSerializedValue): CommonDataTypes.RemoteValue;
-    toBiDi(): Script.RealmInfo;
+    constructor(realmStorage: RealmStorage, browsingContextStorage: BrowsingContextStorage, realmId: Script.Realm, browsingContextId: BrowsingContext.BrowsingContext, executionContextId: Protocol.Runtime.ExecutionContextId, origin: string, type: Script.RealmType, sandbox: string | undefined, cdpClient: ICdpClient, eventManager: IEventManager, logger?: LoggerFn);
+    cdpToBidiValue(cdpValue: Protocol.Runtime.CallFunctionOnResponse | Protocol.Runtime.EvaluateResponse, resultOwnership: Script.ResultOwnership): Script.RemoteValue;
     get realmId(): Script.Realm;
     get navigableId(): string;
-    get browsingContextId(): CommonDataTypes.BrowsingContext;
+    get browsingContextId(): BrowsingContext.BrowsingContext;
     get executionContextId(): Protocol.Runtime.ExecutionContextId;
     get origin(): string;
-    get type(): RealmType;
+    get type(): Script.RealmType;
     get cdpClient(): ICdpClient;
-    callFunction(functionDeclaration: string, _this: Script.ArgumentValue, _arguments: Script.ArgumentValue[], awaitPromise: boolean, resultOwnership: Script.ResultOwnership, serializationOptions: Script.SerializationOptions): Promise<Script.CallFunctionResult>;
-    scriptEvaluate(expression: string, awaitPromise: boolean, resultOwnership: Script.ResultOwnership, serializationOptions: Script.SerializationOptions): Promise<Script.EvaluateResult>;
+    get realmInfo(): Script.RealmInfo;
+    evaluate(expression: string, awaitPromise: boolean, resultOwnership: Script.ResultOwnership, serializationOptions: Script.SerializationOptions, userActivation?: boolean): Promise<Script.EvaluateResult>;
     /**
      * Serializes a given CDP object into BiDi, keeping references in the
      * target's `globalThis`.
-     * @param cdpObject CDP remote object to be serialized.
-     * @param resultOwnership Indicates desired ResultOwnership.
      */
-    serializeCdpObject(cdpObject: Protocol.Runtime.RemoteObject, resultOwnership: Script.ResultOwnership): Promise<CommonDataTypes.RemoteValue>;
+    serializeCdpObject(cdpRemoteObject: Protocol.Runtime.RemoteObject, resultOwnership: Script.ResultOwnership): Promise<Script.RemoteValue>;
     /**
      * Gets the string representation of an object. This is equivalent to
-     * calling toString() on the object value.
-     * @param cdpObject CDP remote object representing an object.
-     * @return string The stringified object.
+     * calling `toString()` on the object value.
      */
-    stringifyObject(cdpObject: Protocol.Runtime.RemoteObject): Promise<string>;
-    delete(): void;
+    stringifyObject(cdpRemoteObject: Protocol.Runtime.RemoteObject): Promise<string>;
+    callFunction(functionDeclaration: string, thisLocalValue: Script.LocalValue, argumentsLocalValues: Script.LocalValue[], awaitPromise: boolean, resultOwnership: Script.ResultOwnership, serializationOptions: Script.SerializationOptions, userActivation?: boolean): Promise<Script.EvaluateResult>;
+    disown(handle: Script.Handle): Promise<void>;
+    dispose(): void;
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realm.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realm.js
index ca5f650..4d9b7e8 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realm.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realm.js
@@ -1,25 +1,10 @@
 "use strict";
-/**
- * Copyright 2022 Google LLC.
- * Copyright (c) Microsoft Corporation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.Realm = void 0;
 const protocol_js_1 = require("../../../protocol/protocol.js");
 const log_js_1 = require("../../../utils/log.js");
-const scriptEvaluator_js_1 = require("./scriptEvaluator.js");
+const channelProxy_js_1 = require("./channelProxy.js");
+const SHARED_ID_DIVIDER = '_element_';
 class Realm {
     #realmStorage;
     #browsingContextStorage;
@@ -30,124 +15,104 @@
     #type;
     #cdpClient;
     #eventManager;
-    #scriptEvaluator;
     sandbox;
-    cdpSessionId;
     #logger;
-    constructor(realmStorage, browsingContextStorage, realmId, browsingContextId, executionContextId, origin, type, sandbox, cdpSessionId, cdpClient, eventManager, logger) {
+    constructor(realmStorage, browsingContextStorage, realmId, browsingContextId, executionContextId, origin, type, sandbox, cdpClient, eventManager, logger) {
         this.#realmId = realmId;
         this.#browsingContextId = browsingContextId;
         this.#executionContextId = executionContextId;
         this.sandbox = sandbox;
         this.#origin = origin;
         this.#type = type;
-        this.cdpSessionId = cdpSessionId;
         this.#cdpClient = cdpClient;
         this.#realmStorage = realmStorage;
         this.#browsingContextStorage = browsingContextStorage;
         this.#eventManager = eventManager;
-        this.#scriptEvaluator = new scriptEvaluator_js_1.ScriptEvaluator(this.#eventManager);
-        this.#realmStorage.addRealm(this);
         this.#logger = logger;
+        this.#realmStorage.addRealm(this);
         this.#eventManager.registerEvent({
-            method: protocol_js_1.Script.EventNames.RealmCreated,
-            params: this.toBiDi(),
+            type: 'event',
+            method: protocol_js_1.ChromiumBidi.Script.EventNames.RealmCreated,
+            params: this.realmInfo,
         }, this.browsingContextId);
     }
-    async #releaseObject(handle) {
-        try {
-            await this.cdpClient.sendCommand('Runtime.releaseObject', {
-                objectId: handle,
-            });
-        }
-        catch (e) {
-            // Heuristic to determine if the problem is in the unknown handler.
-            // Ignore the error if so.
-            if (!(e.code === -32000 && e.message === 'Invalid remote object id')) {
-                throw e;
-            }
-        }
-    }
-    async disown(handle) {
-        // Disowning an object from different realm does nothing.
-        if (this.#realmStorage.knownHandlesToRealm.get(handle) !== this.realmId) {
-            return;
-        }
-        await this.#releaseObject(handle);
-        this.#realmStorage.knownHandlesToRealm.delete(handle);
-    }
     cdpToBidiValue(cdpValue, resultOwnership) {
-        const deepSerializedValue = cdpValue.result.deepSerializedValue;
-        const bidiValue = this.deepSerializedToBiDi(deepSerializedValue);
+        const bidiValue = this.#deepSerializedToBiDi(cdpValue.result.deepSerializedValue);
         if (cdpValue.result.objectId) {
             const objectId = cdpValue.result.objectId;
-            if (resultOwnership === 'root') {
+            if (resultOwnership === "root" /* Script.ResultOwnership.Root */) {
                 // Extend BiDi value with `handle` based on required `resultOwnership`
                 // and  CDP response but not on the actual BiDi type.
                 bidiValue.handle = objectId;
                 // Remember all the handles sent to client.
-                this.#realmStorage.knownHandlesToRealm.set(objectId, this.realmId);
+                this.#realmStorage.knownHandlesToRealmMap.set(objectId, this.realmId);
             }
             else {
-                // No need in awaiting for the object to be released.
+                // No need to await for the object to be released.
                 void this.#releaseObject(objectId).catch((error) => this.#logger?.(log_js_1.LogType.system, error));
             }
         }
+        if (cdpValue.result.type === 'object') {
+            switch (cdpValue.result.subtype) {
+                case 'generator':
+                case 'iterator':
+                    bidiValue.type = cdpValue.result.subtype;
+                    delete bidiValue['value'];
+                    break;
+                default:
+                // Intentionally left blank.
+            }
+        }
         return bidiValue;
     }
-    deepSerializedToBiDi(webDriverValue) {
-        // This relies on the CDP to implement proper BiDi serialization, except
-        // backendNodeId/sharedId and `platformobject`.
-        const result = webDriverValue;
-        if (Object.hasOwn(result, 'weakLocalObjectReference')) {
-            result.internalId = `${result.weakLocalObjectReference}`;
-            delete result['weakLocalObjectReference'];
+    /**
+     * Relies on the CDP to implement proper BiDi serialization, except
+     * backendNodeId/sharedId and `platformobject`.
+     */
+    #deepSerializedToBiDi(deepSerializedValue) {
+        if (Object.hasOwn(deepSerializedValue, 'weakLocalObjectReference')) {
+            deepSerializedValue.internalId = `${deepSerializedValue.weakLocalObjectReference}`;
+            delete deepSerializedValue['weakLocalObjectReference'];
         }
         // Platform object is a special case. It should have only `{type: object}`
         // without `value` field.
-        if (result.type === 'platformobject') {
+        if (deepSerializedValue.type === 'platformobject') {
             return { type: 'object' };
         }
-        const bidiValue = result.value;
+        const bidiValue = deepSerializedValue.value;
         if (bidiValue === undefined) {
-            return result;
+            return deepSerializedValue;
         }
-        if (result.type === 'node') {
+        if (deepSerializedValue.type === 'node') {
             if (Object.hasOwn(bidiValue, 'backendNodeId')) {
-                // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
-                result.sharedId = `${this.navigableId}${scriptEvaluator_js_1.SHARED_ID_DIVIDER}${bidiValue.backendNodeId}`;
+                deepSerializedValue.sharedId = `${this.navigableId}${SHARED_ID_DIVIDER}${bidiValue.backendNodeId}`;
                 delete bidiValue['backendNodeId'];
             }
             if (Object.hasOwn(bidiValue, 'children')) {
                 for (const i in bidiValue.children) {
-                    bidiValue.children[i] = this.deepSerializedToBiDi(bidiValue.children[i]);
+                    bidiValue.children[i] = this.#deepSerializedToBiDi(bidiValue.children[i]);
                 }
             }
+            if (Object.hasOwn(bidiValue, 'shadowRoot') &&
+                bidiValue.shadowRoot !== null) {
+                bidiValue.shadowRoot = this.#deepSerializedToBiDi(bidiValue.shadowRoot);
+            }
         }
         // Recursively update the nested values.
-        if (['array', 'set'].includes(webDriverValue.type)) {
+        if (['array', 'set', 'htmlcollection', 'nodelist'].includes(deepSerializedValue.type)) {
             for (const i in bidiValue) {
-                bidiValue[i] = this.deepSerializedToBiDi(bidiValue[i]);
+                bidiValue[i] = this.#deepSerializedToBiDi(bidiValue[i]);
             }
         }
-        if (['object', 'map'].includes(webDriverValue.type)) {
+        if (['object', 'map'].includes(deepSerializedValue.type)) {
             for (const i in bidiValue) {
                 bidiValue[i] = [
-                    this.deepSerializedToBiDi(bidiValue[i][0]),
-                    this.deepSerializedToBiDi(bidiValue[i][1]),
+                    this.#deepSerializedToBiDi(bidiValue[i][0]),
+                    this.#deepSerializedToBiDi(bidiValue[i][1]),
                 ];
             }
         }
-        return result;
-    }
-    toBiDi() {
-        return {
-            realm: this.realmId,
-            origin: this.origin,
-            type: this.type,
-            context: this.browsingContextId,
-            ...(this.sandbox === undefined ? {} : { sandbox: this.sandbox }),
-        };
+        return deepSerializedValue;
     }
     get realmId() {
         return this.#realmId;
@@ -171,41 +136,383 @@
     get cdpClient() {
         return this.#cdpClient;
     }
-    async callFunction(functionDeclaration, _this, _arguments, awaitPromise, resultOwnership, serializationOptions) {
-        const context = this.#browsingContextStorage.getContext(this.browsingContextId);
-        await context.awaitUnblocked();
+    get realmInfo() {
         return {
-            result: await this.#scriptEvaluator.callFunction(this, functionDeclaration, _this, _arguments, awaitPromise, resultOwnership, serializationOptions),
+            realm: this.realmId,
+            origin: this.origin,
+            type: this.type,
+            context: this.browsingContextId,
+            ...(this.sandbox === undefined ? {} : { sandbox: this.sandbox }),
         };
     }
-    async scriptEvaluate(expression, awaitPromise, resultOwnership, serializationOptions) {
-        const context = this.#browsingContextStorage.getContext(this.browsingContextId);
-        await context.awaitUnblocked();
+    async evaluate(expression, awaitPromise, resultOwnership, serializationOptions, userActivation = false) {
+        await this.#browsingContextStorage
+            .getContext(this.browsingContextId)
+            .targetUnblocked();
+        const cdpEvaluateResult = await this.cdpClient.sendCommand('Runtime.evaluate', {
+            contextId: this.executionContextId,
+            expression,
+            awaitPromise,
+            serializationOptions: Realm.#getSerializationOptions("deep" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */, serializationOptions),
+            userGesture: userActivation,
+        });
+        if (cdpEvaluateResult.exceptionDetails) {
+            return this.#getExceptionResult(cdpEvaluateResult.exceptionDetails, 0, resultOwnership);
+        }
         return {
-            result: await this.#scriptEvaluator.scriptEvaluate(this, expression, awaitPromise, resultOwnership, serializationOptions),
+            realm: this.realmId,
+            result: this.cdpToBidiValue(cdpEvaluateResult, resultOwnership),
+            type: 'success',
         };
     }
     /**
      * Serializes a given CDP object into BiDi, keeping references in the
      * target's `globalThis`.
-     * @param cdpObject CDP remote object to be serialized.
-     * @param resultOwnership Indicates desired ResultOwnership.
      */
-    async serializeCdpObject(cdpObject, resultOwnership) {
-        return this.#scriptEvaluator.serializeCdpObject(cdpObject, resultOwnership, this);
+    async serializeCdpObject(cdpRemoteObject, resultOwnership) {
+        const argument = Realm.#cdpRemoteObjectToCallArgument(cdpRemoteObject);
+        const cdpValue = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {
+            functionDeclaration: String((remoteObject) => remoteObject),
+            awaitPromise: false,
+            arguments: [argument],
+            serializationOptions: {
+                serialization: "deep" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */,
+            },
+            executionContextId: this.executionContextId,
+        });
+        return this.cdpToBidiValue(cdpValue, resultOwnership);
+    }
+    static #cdpRemoteObjectToCallArgument(cdpRemoteObject) {
+        if (cdpRemoteObject.objectId !== undefined) {
+            return { objectId: cdpRemoteObject.objectId };
+        }
+        if (cdpRemoteObject.unserializableValue !== undefined) {
+            return { unserializableValue: cdpRemoteObject.unserializableValue };
+        }
+        return { value: cdpRemoteObject.value };
     }
     /**
      * Gets the string representation of an object. This is equivalent to
-     * calling toString() on the object value.
-     * @param cdpObject CDP remote object representing an object.
-     * @return string The stringified object.
+     * calling `toString()` on the object value.
      */
-    async stringifyObject(cdpObject) {
-        return scriptEvaluator_js_1.ScriptEvaluator.stringifyObject(cdpObject, this);
+    async stringifyObject(cdpRemoteObject) {
+        const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {
+            functionDeclaration: String((remoteObject) => String(remoteObject)),
+            awaitPromise: false,
+            arguments: [cdpRemoteObject],
+            returnByValue: true,
+            executionContextId: this.executionContextId,
+        });
+        return result.value;
     }
-    delete() {
+    async #flattenKeyValuePairs(mappingLocalValue) {
+        const keyValueArray = [];
+        for (const [key, value] of mappingLocalValue) {
+            let keyArg;
+            if (typeof key === 'string') {
+                // Key is a string.
+                keyArg = { value: key };
+            }
+            else {
+                // Key is a serialized value.
+                keyArg = await this.#deserializeToCdpArg(key);
+            }
+            const valueArg = await this.#deserializeToCdpArg(value);
+            keyValueArray.push(keyArg);
+            keyValueArray.push(valueArg);
+        }
+        return keyValueArray;
+    }
+    async #flattenValueList(listLocalValue) {
+        return Promise.all(listLocalValue.map((localValue) => this.#deserializeToCdpArg(localValue)));
+    }
+    async #serializeCdpExceptionDetails(cdpExceptionDetails, lineOffset, resultOwnership) {
+        const callFrames = cdpExceptionDetails.stackTrace?.callFrames.map((frame) => ({
+            url: frame.url,
+            functionName: frame.functionName,
+            lineNumber: frame.lineNumber - lineOffset,
+            columnNumber: frame.columnNumber,
+        })) ?? [];
+        // Exception should always be there.
+        const exception = cdpExceptionDetails.exception;
+        return {
+            exception: await this.serializeCdpObject(exception, resultOwnership),
+            columnNumber: cdpExceptionDetails.columnNumber,
+            lineNumber: cdpExceptionDetails.lineNumber - lineOffset,
+            stackTrace: {
+                callFrames,
+            },
+            text: (await this.stringifyObject(exception)) || cdpExceptionDetails.text,
+        };
+    }
+    async callFunction(functionDeclaration, thisLocalValue, argumentsLocalValues, awaitPromise, resultOwnership, serializationOptions, userActivation = false) {
+        await this.#browsingContextStorage
+            .getContext(this.browsingContextId)
+            .targetUnblocked();
+        const callFunctionAndSerializeScript = `(...args) => {
+      function callFunction(f, args) {
+        const deserializedThis = args.shift();
+        const deserializedArgs = args;
+        return f.apply(deserializedThis, deserializedArgs);
+      }
+      return callFunction((
+        ${functionDeclaration}
+      ), args);
+    }`;
+        const thisAndArgumentsList = [
+            await this.#deserializeToCdpArg(thisLocalValue),
+            ...(await Promise.all(argumentsLocalValues.map(async (argumentLocalValue) => this.#deserializeToCdpArg(argumentLocalValue)))),
+        ];
+        let cdpCallFunctionResult;
+        try {
+            cdpCallFunctionResult = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {
+                functionDeclaration: callFunctionAndSerializeScript,
+                awaitPromise,
+                arguments: thisAndArgumentsList,
+                serializationOptions: Realm.#getSerializationOptions("deep" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */, serializationOptions),
+                executionContextId: this.executionContextId,
+                userGesture: userActivation,
+            });
+        }
+        catch (error) {
+            // Heuristic to determine if the problem is in the argument.
+            // The check can be done on the `deserialization` step, but this approach
+            // helps to save round-trips.
+            if (error.code === -32000 &&
+                [
+                    'Could not find object with given id',
+                    'Argument should belong to the same JavaScript world as target object',
+                    'Invalid remote object id',
+                ].includes(error.message)) {
+                throw new protocol_js_1.NoSuchHandleException('Handle was not found.');
+            }
+            throw error;
+        }
+        if (cdpCallFunctionResult.exceptionDetails) {
+            return this.#getExceptionResult(cdpCallFunctionResult.exceptionDetails, 1, resultOwnership);
+        }
+        return {
+            type: 'success',
+            result: this.cdpToBidiValue(cdpCallFunctionResult, resultOwnership),
+            realm: this.realmId,
+        };
+    }
+    async #deserializeToCdpArg(localValue) {
+        if ('sharedId' in localValue && localValue.sharedId) {
+            const [navigableId, rawBackendNodeId] = localValue.sharedId.split(SHARED_ID_DIVIDER);
+            const backendNodeId = parseInt(rawBackendNodeId ?? '');
+            if (isNaN(backendNodeId) ||
+                backendNodeId === undefined ||
+                navigableId === undefined) {
+                throw new protocol_js_1.NoSuchNodeException(`SharedId "${localValue.sharedId}" was not found.`);
+            }
+            if (this.navigableId !== navigableId) {
+                throw new protocol_js_1.NoSuchNodeException(`SharedId "${localValue.sharedId}" belongs to different document. Current document is ${this.navigableId}.`);
+            }
+            try {
+                const { object } = await this.cdpClient.sendCommand('DOM.resolveNode', {
+                    backendNodeId,
+                    executionContextId: this.executionContextId,
+                });
+                // TODO(#375): Release `obj.object.objectId` after using.
+                return { objectId: object.objectId };
+            }
+            catch (error) {
+                // Heuristic to detect "no such node" exception. Based on the  specific
+                // CDP implementation.
+                if (error.code === -32000 &&
+                    error.message === 'No node with given id found') {
+                    throw new protocol_js_1.NoSuchNodeException(`SharedId "${localValue.sharedId}" was not found.`);
+                }
+                throw new protocol_js_1.UnknownErrorException(error.message, error.stack);
+            }
+        }
+        else if ('handle' in localValue && localValue.handle) {
+            return { objectId: localValue.handle };
+            // We tried to find a handle value but failed
+            // This allows us to have exhaustive switch on `localValue.type`
+        }
+        else if ('handle' in localValue || 'sharedId' in localValue) {
+            throw new protocol_js_1.NoSuchHandleException('Handle was not found.');
+        }
+        switch (localValue.type) {
+            case 'undefined':
+                return { unserializableValue: 'undefined' };
+            case 'null':
+                return { unserializableValue: 'null' };
+            case 'string':
+                return { value: localValue.value };
+            case 'number':
+                if (localValue.value === 'NaN') {
+                    return { unserializableValue: 'NaN' };
+                }
+                else if (localValue.value === '-0') {
+                    return { unserializableValue: '-0' };
+                }
+                else if (localValue.value === 'Infinity') {
+                    return { unserializableValue: 'Infinity' };
+                }
+                else if (localValue.value === '-Infinity') {
+                    return { unserializableValue: '-Infinity' };
+                }
+                return {
+                    value: localValue.value,
+                };
+            case 'boolean':
+                return { value: Boolean(localValue.value) };
+            case 'bigint':
+                return {
+                    unserializableValue: `BigInt(${JSON.stringify(localValue.value)})`,
+                };
+            case 'date':
+                return {
+                    unserializableValue: `new Date(Date.parse(${JSON.stringify(localValue.value)}))`,
+                };
+            case 'regexp':
+                return {
+                    unserializableValue: `new RegExp(${JSON.stringify(localValue.value.pattern)}, ${JSON.stringify(localValue.value.flags)})`,
+                };
+            case 'map': {
+                // TODO: If none of the nested keys and values has a remote
+                // reference, serialize to `unserializableValue` without CDP roundtrip.
+                const keyValueArray = await this.#flattenKeyValuePairs(localValue.value);
+                const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {
+                    functionDeclaration: String((...args) => {
+                        const result = new Map();
+                        for (let i = 0; i < args.length; i += 2) {
+                            result.set(args[i], args[i + 1]);
+                        }
+                        return result;
+                    }),
+                    awaitPromise: false,
+                    arguments: keyValueArray,
+                    returnByValue: false,
+                    executionContextId: this.executionContextId,
+                });
+                // TODO(#375): Release `result.objectId` after using.
+                return { objectId: result.objectId };
+            }
+            case 'object': {
+                // TODO: If none of the nested keys and values has a remote
+                // reference, serialize to `unserializableValue` without CDP roundtrip.
+                const keyValueArray = await this.#flattenKeyValuePairs(localValue.value);
+                const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {
+                    functionDeclaration: String((...args) => {
+                        const result = {};
+                        for (let i = 0; i < args.length; i += 2) {
+                            // Key should be either `string`, `number`, or `symbol`.
+                            const key = args[i];
+                            result[key] = args[i + 1];
+                        }
+                        return result;
+                    }),
+                    awaitPromise: false,
+                    arguments: keyValueArray,
+                    returnByValue: false,
+                    executionContextId: this.executionContextId,
+                });
+                // TODO(#375): Release `result.objectId` after using.
+                return { objectId: result.objectId };
+            }
+            case 'array': {
+                // TODO: If none of the nested items has a remote reference,
+                // serialize to `unserializableValue` without CDP roundtrip.
+                const args = await this.#flattenValueList(localValue.value);
+                const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {
+                    functionDeclaration: String((...args) => args),
+                    awaitPromise: false,
+                    arguments: args,
+                    returnByValue: false,
+                    executionContextId: this.executionContextId,
+                });
+                // TODO(#375): Release `result.objectId` after using.
+                return { objectId: result.objectId };
+            }
+            case 'set': {
+                // TODO: if none of the nested items has a remote reference,
+                // serialize to `unserializableValue` without CDP roundtrip.
+                const args = await this.#flattenValueList(localValue.value);
+                const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {
+                    functionDeclaration: String((...args) => new Set(args)),
+                    awaitPromise: false,
+                    arguments: args,
+                    returnByValue: false,
+                    executionContextId: this.executionContextId,
+                });
+                // TODO(#375): Release `result.objectId` after using.
+                return { objectId: result.objectId };
+            }
+            case 'channel': {
+                const channelProxy = new channelProxy_js_1.ChannelProxy(localValue.value);
+                const channelProxySendMessageHandle = await channelProxy.init(this, this.#eventManager);
+                return { objectId: channelProxySendMessageHandle };
+            }
+            // TODO(#375): Dispose of nested objects.
+        }
+        // Intentionally outside to handle unknown types
+        throw new Error(`Value ${JSON.stringify(localValue)} is not deserializable.`);
+    }
+    async #getExceptionResult(exceptionDetails, lineOffset, resultOwnership) {
+        return {
+            exceptionDetails: await this.#serializeCdpExceptionDetails(exceptionDetails, lineOffset, resultOwnership),
+            realm: this.realmId,
+            type: 'exception',
+        };
+    }
+    static #getSerializationOptions(serialization, serializationOptions) {
+        return {
+            serialization,
+            additionalParameters: Realm.#getAdditionalSerializationParameters(serializationOptions),
+            ...Realm.#getMaxObjectDepth(serializationOptions),
+        };
+    }
+    static #getAdditionalSerializationParameters(serializationOptions) {
+        const additionalParameters = {};
+        if (serializationOptions.maxDomDepth !== undefined) {
+            additionalParameters['maxNodeDepth'] =
+                serializationOptions.maxDomDepth === null
+                    ? 1000
+                    : serializationOptions.maxDomDepth;
+        }
+        if (serializationOptions.includeShadowTree !== undefined) {
+            additionalParameters['includeShadowTree'] =
+                serializationOptions.includeShadowTree;
+        }
+        return additionalParameters;
+    }
+    static #getMaxObjectDepth(serializationOptions) {
+        return serializationOptions.maxObjectDepth === undefined ||
+            serializationOptions.maxObjectDepth === null
+            ? {}
+            : { maxDepth: serializationOptions.maxObjectDepth };
+    }
+    async #releaseObject(handle) {
+        try {
+            await this.cdpClient.sendCommand('Runtime.releaseObject', {
+                objectId: handle,
+            });
+        }
+        catch (error) {
+            // Heuristic to determine if the problem is in the unknown handler.
+            // Ignore the error if so.
+            if (!(error.code === -32000 &&
+                error.message === 'Invalid remote object id')) {
+                throw error;
+            }
+        }
+    }
+    async disown(handle) {
+        // Disowning an object from different realm does nothing.
+        if (this.#realmStorage.knownHandlesToRealmMap.get(handle) !== this.realmId) {
+            return;
+        }
+        await this.#releaseObject(handle);
+        this.#realmStorage.knownHandlesToRealmMap.delete(handle);
+    }
+    dispose() {
         this.#eventManager.registerEvent({
-            method: protocol_js_1.Script.EventNames.RealmDestroyed,
+            type: 'event',
+            method: protocol_js_1.ChromiumBidi.Script.EventNames.RealmDestroyed,
             params: {
                 realm: this.realmId,
             },
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realm.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realm.js.map
index 169b1b6..df4b82c 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realm.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realm.js.map
@@ -1 +1 @@
-{"version":3,"file":"realm.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/script/realm.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"realm.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/script/realm.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realmStorage.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realmStorage.d.ts
index 91e9d03..26ecd10 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realmStorage.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realmStorage.d.ts
@@ -15,22 +15,22 @@
  * limitations under the License.
  */
 import type { Protocol } from 'devtools-protocol';
-import { type CommonDataTypes, type Script } from '../../../protocol/protocol.js';
-import type { Realm, RealmType } from './realm.js';
+import { type Script, type BrowsingContext } from '../../../protocol/protocol.js';
+import type { Realm } from './realm.js';
 type RealmFilter = {
     realmId?: Script.Realm;
-    browsingContextId?: CommonDataTypes.BrowsingContext;
+    browsingContextId?: BrowsingContext.BrowsingContext;
     navigableId?: string;
     executionContextId?: Protocol.Runtime.ExecutionContextId;
     origin?: string;
-    type?: RealmType;
+    type?: Script.RealmType;
     sandbox?: string;
-    cdpSessionId?: string;
+    cdpSessionId?: Protocol.Target.SessionID;
 };
 /** Container class for browsing realms. */
 export declare class RealmStorage {
     #private;
-    get knownHandlesToRealm(): Map<string, string>;
+    get knownHandlesToRealmMap(): Map<string, string>;
     addRealm(realm: Realm): void;
     /** Finds all realms that match the given filter. */
     findRealms(filter: RealmFilter): Realm[];
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realmStorage.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realmStorage.js
index 48eee88..1cbb03c 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realmStorage.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realmStorage.js
@@ -5,11 +5,11 @@
 /** Container class for browsing realms. */
 class RealmStorage {
     /** Tracks handles and their realms sent to the client. */
-    #knownHandlesToRealm = new Map();
+    #knownHandlesToRealmMap = new Map();
     /** Map from realm ID to Realm. */
     #realmMap = new Map();
-    get knownHandlesToRealm() {
-        return this.#knownHandlesToRealm;
+    get knownHandlesToRealmMap() {
+        return this.#knownHandlesToRealmMap;
     }
     addRealm(realm) {
         this.#realmMap.set(realm.realmId, realm);
@@ -42,7 +42,7 @@
                 return false;
             }
             if (filter.cdpSessionId !== undefined &&
-                filter.cdpSessionId !== realm.cdpSessionId) {
+                filter.cdpSessionId !== realm.cdpClient.sessionId) {
                 return false;
             }
             return true;
@@ -59,18 +59,18 @@
     getRealm(filter) {
         const maybeRealm = this.findRealm(filter);
         if (maybeRealm === undefined) {
-            throw new protocol_js_1.Message.NoSuchFrameException(`Realm ${JSON.stringify(filter)} not found`);
+            throw new protocol_js_1.NoSuchFrameException(`Realm ${JSON.stringify(filter)} not found`);
         }
         return maybeRealm;
     }
     /** Deletes all realms that match the given filter. */
     deleteRealms(filter) {
         this.findRealms(filter).map((realm) => {
-            realm.delete();
+            realm.dispose();
             this.#realmMap.delete(realm.realmId);
-            Array.from(this.knownHandlesToRealm.entries())
+            Array.from(this.knownHandlesToRealmMap.entries())
                 .filter(([, r]) => r === realm.realmId)
-                .map(([handle]) => this.knownHandlesToRealm.delete(handle));
+                .map(([handle]) => this.knownHandlesToRealmMap.delete(handle));
         });
     }
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realmStorage.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realmStorage.js.map
index 5f211c4..b5ac425 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realmStorage.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/realmStorage.js.map
@@ -1 +1 @@
-{"version":3,"file":"realmStorage.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/script/realmStorage.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"realmStorage.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/script/realmStorage.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/scriptEvaluator.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/scriptEvaluator.d.ts
deleted file mode 100644
index 9a7b07d..0000000
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/scriptEvaluator.d.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Copyright 2022 Google LLC.
- * Copyright (c) Microsoft Corporation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import type { Protocol } from 'devtools-protocol';
-import { type CommonDataTypes, type Script } from '../../../protocol/protocol.js';
-import type { IEventManager } from '../events/EventManager.js';
-import type { Realm } from './realm.js';
-export declare const SHARED_ID_DIVIDER = "_element_";
-export declare class ScriptEvaluator {
-    #private;
-    constructor(eventManager: IEventManager);
-    /**
-     * Gets the string representation of an object. This is equivalent to
-     * calling toString() on the object value.
-     * @param cdpObject CDP remote object representing an object.
-     * @param realm
-     * @return string The stringified object.
-     */
-    static stringifyObject(cdpObject: Protocol.Runtime.RemoteObject, realm: Realm): Promise<string>;
-    /**
-     * Serializes a given CDP object into BiDi, keeping references in the
-     * target's `globalThis`.
-     * @param cdpRemoteObject CDP remote object to be serialized.
-     * @param resultOwnership Indicates desired ResultOwnership.
-     * @param realm
-     */
-    serializeCdpObject(cdpRemoteObject: Protocol.Runtime.RemoteObject, resultOwnership: Script.ResultOwnership, realm: Realm): Promise<CommonDataTypes.RemoteValue>;
-    scriptEvaluate(realm: Realm, expression: string, awaitPromise: boolean, resultOwnership: Script.ResultOwnership, serializationOptions: Script.SerializationOptions): Promise<Script.ScriptResult>;
-    callFunction(realm: Realm, functionDeclaration: string, _this: Script.ArgumentValue, _arguments: Script.ArgumentValue[], awaitPromise: boolean, resultOwnership: Script.ResultOwnership, serializationOptions: Script.SerializationOptions): Promise<Script.ScriptResult>;
-}
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/scriptEvaluator.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/scriptEvaluator.js
deleted file mode 100644
index d67431d..0000000
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/scriptEvaluator.js
+++ /dev/null
@@ -1,355 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.ScriptEvaluator = exports.SHARED_ID_DIVIDER = void 0;
-const protocol_js_1 = require("../../../protocol/protocol.js");
-const channelProxy_js_1 = require("./channelProxy.js");
-// As `script.evaluate` wraps call into serialization script, `lineNumber`
-// should be adjusted.
-const CALL_FUNCTION_STACKTRACE_LINE_OFFSET = 1;
-const EVALUATE_STACKTRACE_LINE_OFFSET = 0;
-exports.SHARED_ID_DIVIDER = '_element_';
-class ScriptEvaluator {
-    #eventManager;
-    constructor(eventManager) {
-        this.#eventManager = eventManager;
-    }
-    /**
-     * Gets the string representation of an object. This is equivalent to
-     * calling toString() on the object value.
-     * @param cdpObject CDP remote object representing an object.
-     * @param realm
-     * @return string The stringified object.
-     */
-    static async stringifyObject(cdpObject, realm) {
-        const stringifyResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {
-            functionDeclaration: String((obj) => {
-                return String(obj);
-            }),
-            awaitPromise: false,
-            arguments: [cdpObject],
-            returnByValue: true,
-            executionContextId: realm.executionContextId,
-        });
-        return stringifyResult.result.value;
-    }
-    /**
-     * Serializes a given CDP object into BiDi, keeping references in the
-     * target's `globalThis`.
-     * @param cdpRemoteObject CDP remote object to be serialized.
-     * @param resultOwnership Indicates desired ResultOwnership.
-     * @param realm
-     */
-    async serializeCdpObject(cdpRemoteObject, resultOwnership, realm) {
-        const arg = ScriptEvaluator.#cdpRemoteObjectToCallArgument(cdpRemoteObject);
-        const cdpWebDriverValue = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {
-            functionDeclaration: String((obj) => obj),
-            awaitPromise: false,
-            arguments: [arg],
-            serializationOptions: {
-                serialization: 'deep',
-            },
-            executionContextId: realm.executionContextId,
-        });
-        return realm.cdpToBidiValue(cdpWebDriverValue, resultOwnership);
-    }
-    async scriptEvaluate(realm, expression, awaitPromise, resultOwnership, serializationOptions) {
-        if (![0, null, undefined].includes(serializationOptions.maxDomDepth))
-            throw new Error('serializationOptions.maxDomDepth other than 0 or null is not supported');
-        const cdpEvaluateResult = await realm.cdpClient.sendCommand('Runtime.evaluate', {
-            contextId: realm.executionContextId,
-            expression,
-            awaitPromise,
-            serializationOptions: {
-                serialization: 'deep',
-                ...(serializationOptions.maxObjectDepth === undefined ||
-                    serializationOptions.maxObjectDepth === null
-                    ? {}
-                    : { maxDepth: serializationOptions.maxObjectDepth }),
-            },
-        });
-        if (cdpEvaluateResult.exceptionDetails) {
-            // Serialize exception details.
-            return {
-                exceptionDetails: await this.#serializeCdpExceptionDetails(cdpEvaluateResult.exceptionDetails, EVALUATE_STACKTRACE_LINE_OFFSET, resultOwnership, realm),
-                type: 'exception',
-                realm: realm.realmId,
-            };
-        }
-        return {
-            type: 'success',
-            result: realm.cdpToBidiValue(cdpEvaluateResult, resultOwnership),
-            realm: realm.realmId,
-        };
-    }
-    async callFunction(realm, functionDeclaration, _this, _arguments, awaitPromise, resultOwnership, serializationOptions) {
-        if (![0, null, undefined].includes(serializationOptions.maxDomDepth))
-            throw new Error('serializationOptions.maxDomDepth other than 0 or null is not supported');
-        const callFunctionAndSerializeScript = `(...args)=>{ return _callFunction((\n${functionDeclaration}\n), args);
-      function _callFunction(f, args) {
-        const deserializedThis = args.shift();
-        const deserializedArgs = args;
-        return f.apply(deserializedThis, deserializedArgs);
-      }}`;
-        const thisAndArgumentsList = [
-            await this.#deserializeToCdpArg(_this, realm),
-        ];
-        thisAndArgumentsList.push(...(await Promise.all(_arguments.map(async (a) => {
-            return this.#deserializeToCdpArg(a, realm);
-        }))));
-        let cdpCallFunctionResult;
-        try {
-            cdpCallFunctionResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {
-                functionDeclaration: callFunctionAndSerializeScript,
-                awaitPromise,
-                arguments: thisAndArgumentsList,
-                serializationOptions: {
-                    serialization: 'deep',
-                    ...(serializationOptions.maxObjectDepth === undefined ||
-                        serializationOptions.maxObjectDepth === null
-                        ? {}
-                        : { maxDepth: serializationOptions.maxObjectDepth }),
-                },
-                executionContextId: realm.executionContextId,
-            });
-        }
-        catch (e) {
-            // Heuristic to determine if the problem is in the argument.
-            // The check can be done on the `deserialization` step, but this approach
-            // helps to save round-trips.
-            if (e.code === -32000 &&
-                [
-                    'Could not find object with given id',
-                    'Argument should belong to the same JavaScript world as target object',
-                    'Invalid remote object id',
-                ].includes(e.message)) {
-                throw new protocol_js_1.Message.NoSuchHandleException('Handle was not found.');
-            }
-            throw e;
-        }
-        if (cdpCallFunctionResult.exceptionDetails) {
-            // Serialize exception details.
-            return {
-                exceptionDetails: await this.#serializeCdpExceptionDetails(cdpCallFunctionResult.exceptionDetails, CALL_FUNCTION_STACKTRACE_LINE_OFFSET, resultOwnership, realm),
-                type: 'exception',
-                realm: realm.realmId,
-            };
-        }
-        return {
-            type: 'success',
-            result: realm.cdpToBidiValue(cdpCallFunctionResult, resultOwnership),
-            realm: realm.realmId,
-        };
-    }
-    static #cdpRemoteObjectToCallArgument(cdpRemoteObject) {
-        if (cdpRemoteObject.objectId !== undefined) {
-            return { objectId: cdpRemoteObject.objectId };
-        }
-        if (cdpRemoteObject.unserializableValue !== undefined) {
-            return { unserializableValue: cdpRemoteObject.unserializableValue };
-        }
-        return { value: cdpRemoteObject.value };
-    }
-    async #deserializeToCdpArg(argumentValue, realm) {
-        if ('sharedId' in argumentValue) {
-            const [navigableId, rawBackendNodeId] = argumentValue.sharedId.split(exports.SHARED_ID_DIVIDER);
-            const backendNodeId = parseInt(rawBackendNodeId ?? '');
-            if (isNaN(backendNodeId) ||
-                backendNodeId === undefined ||
-                navigableId === undefined) {
-                throw new protocol_js_1.Message.NoSuchNodeException(`SharedId "${argumentValue.sharedId}" was not found.`);
-            }
-            if (realm.navigableId !== navigableId) {
-                throw new protocol_js_1.Message.NoSuchNodeException(`SharedId "${argumentValue.sharedId}" belongs to different document. Current document is ${realm.navigableId}.`);
-            }
-            try {
-                const obj = await realm.cdpClient.sendCommand('DOM.resolveNode', {
-                    backendNodeId,
-                    executionContextId: realm.executionContextId,
-                });
-                // TODO(#375): Release `obj.object.objectId` after using.
-                return { objectId: obj.object.objectId };
-            }
-            catch (e) {
-                // Heuristic to detect "no such node" exception. Based on the  specific
-                // CDP implementation.
-                if (e.code === -32000 && e.message === 'No node with given id found') {
-                    throw new protocol_js_1.Message.NoSuchNodeException(`SharedId "${argumentValue.sharedId}" was not found.`);
-                }
-                throw e;
-            }
-        }
-        if ('handle' in argumentValue) {
-            return { objectId: argumentValue.handle };
-        }
-        switch (argumentValue.type) {
-            // Primitive Protocol Value
-            // https://w3c.github.io/webdriver-bidi/#data-types-protocolValue-primitiveProtocolValue
-            case 'undefined':
-                return { unserializableValue: 'undefined' };
-            case 'null':
-                return { unserializableValue: 'null' };
-            case 'string':
-                return { value: argumentValue.value };
-            case 'number':
-                if (argumentValue.value === 'NaN') {
-                    return { unserializableValue: 'NaN' };
-                }
-                else if (argumentValue.value === '-0') {
-                    return { unserializableValue: '-0' };
-                }
-                else if (argumentValue.value === 'Infinity') {
-                    return { unserializableValue: 'Infinity' };
-                }
-                else if (argumentValue.value === '-Infinity') {
-                    return { unserializableValue: '-Infinity' };
-                }
-                return {
-                    value: argumentValue.value,
-                };
-            case 'boolean':
-                return { value: Boolean(argumentValue.value) };
-            case 'bigint':
-                return {
-                    unserializableValue: `BigInt(${JSON.stringify(argumentValue.value)})`,
-                };
-            case 'date':
-                return {
-                    unserializableValue: `new Date(Date.parse(${JSON.stringify(argumentValue.value)}))`,
-                };
-            case 'regexp':
-                return {
-                    unserializableValue: `new RegExp(${JSON.stringify(argumentValue.value.pattern)}, ${JSON.stringify(argumentValue.value.flags)})`,
-                };
-            case 'map': {
-                // TODO: If none of the nested keys and values has a remote
-                // reference, serialize to `unserializableValue` without CDP roundtrip.
-                const keyValueArray = await this.#flattenKeyValuePairs(argumentValue.value, realm);
-                const argEvalResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {
-                    functionDeclaration: String((...args) => {
-                        const result = new Map();
-                        for (let i = 0; i < args.length; i += 2) {
-                            result.set(args[i], args[i + 1]);
-                        }
-                        return result;
-                    }),
-                    awaitPromise: false,
-                    arguments: keyValueArray,
-                    returnByValue: false,
-                    executionContextId: realm.executionContextId,
-                });
-                // TODO(#375): Release `argEvalResult.result.objectId` after using.
-                return { objectId: argEvalResult.result.objectId };
-            }
-            case 'object': {
-                // TODO: If none of the nested keys and values has a remote
-                //  reference, serialize to `unserializableValue` without CDP roundtrip.
-                const keyValueArray = await this.#flattenKeyValuePairs(argumentValue.value, realm);
-                const argEvalResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {
-                    functionDeclaration: String((...args) => {
-                        const result = {};
-                        for (let i = 0; i < args.length; i += 2) {
-                            // Key should be either `string`, `number`, or `symbol`.
-                            const key = args[i];
-                            result[key] = args[i + 1];
-                        }
-                        return result;
-                    }),
-                    awaitPromise: false,
-                    arguments: keyValueArray,
-                    returnByValue: false,
-                    executionContextId: realm.executionContextId,
-                });
-                // TODO(#375): Release `argEvalResult.result.objectId` after using.
-                return { objectId: argEvalResult.result.objectId };
-            }
-            case 'array': {
-                // TODO: If none of the nested items has a remote reference,
-                // serialize to `unserializableValue` without CDP roundtrip.
-                const args = await this.#flattenValueList(argumentValue.value, realm);
-                const argEvalResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {
-                    functionDeclaration: String((...args) => {
-                        return args;
-                    }),
-                    awaitPromise: false,
-                    arguments: args,
-                    returnByValue: false,
-                    executionContextId: realm.executionContextId,
-                });
-                // TODO(#375): Release `argEvalResult.result.objectId` after using.
-                return { objectId: argEvalResult.result.objectId };
-            }
-            case 'set': {
-                // TODO: if none of the nested items has a remote reference,
-                // serialize to `unserializableValue` without CDP roundtrip.
-                const args = await this.#flattenValueList(argumentValue.value, realm);
-                const argEvalResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {
-                    functionDeclaration: String((...args) => {
-                        return new Set(args);
-                    }),
-                    awaitPromise: false,
-                    arguments: args,
-                    returnByValue: false,
-                    executionContextId: realm.executionContextId,
-                });
-                // TODO(#375): Release `argEvalResult.result.objectId` after using.
-                return { objectId: argEvalResult.result.objectId };
-            }
-            case 'channel': {
-                const channelProxy = new channelProxy_js_1.ChannelProxy(argumentValue.value);
-                const channelProxySendMessageHandle = await channelProxy.init(realm, this.#eventManager);
-                return { objectId: channelProxySendMessageHandle };
-            }
-            // TODO(#375): Dispose of nested objects.
-            default:
-                throw new Error(`Value ${JSON.stringify(argumentValue)} is not deserializable.`);
-        }
-    }
-    async #flattenKeyValuePairs(mapping, realm) {
-        const keyValueArray = [];
-        for (const [key, value] of mapping) {
-            let keyArg;
-            if (typeof key === 'string') {
-                // Key is a string.
-                keyArg = { value: key };
-            }
-            else {
-                // Key is a serialized value.
-                keyArg = await this.#deserializeToCdpArg(key, realm);
-            }
-            const valueArg = await this.#deserializeToCdpArg(value, realm);
-            keyValueArray.push(keyArg);
-            keyValueArray.push(valueArg);
-        }
-        return keyValueArray;
-    }
-    async #flattenValueList(list, realm) {
-        return Promise.all(list.map((value) => this.#deserializeToCdpArg(value, realm)));
-    }
-    async #serializeCdpExceptionDetails(cdpExceptionDetails, lineOffset, resultOwnership, realm) {
-        const callFrames = cdpExceptionDetails.stackTrace?.callFrames.map((frame) => ({
-            url: frame.url,
-            functionName: frame.functionName,
-            // As `script.evaluate` wraps call into serialization script, so
-            // `lineNumber` should be adjusted.
-            lineNumber: frame.lineNumber - lineOffset,
-            columnNumber: frame.columnNumber,
-        }));
-        const exception = await this.serializeCdpObject(
-        // Exception should always be there.
-        cdpExceptionDetails.exception, resultOwnership, realm);
-        const text = await ScriptEvaluator.stringifyObject(cdpExceptionDetails.exception, realm);
-        return {
-            exception,
-            columnNumber: cdpExceptionDetails.columnNumber,
-            // As `script.evaluate` wraps call into serialization script, so
-            // `lineNumber` should be adjusted.
-            lineNumber: cdpExceptionDetails.lineNumber - lineOffset,
-            stackTrace: {
-                callFrames: callFrames ?? [],
-            },
-            text: text || cdpExceptionDetails.text,
-        };
-    }
-}
-exports.ScriptEvaluator = ScriptEvaluator;
-//# sourceMappingURL=scriptEvaluator.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/scriptEvaluator.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/scriptEvaluator.js.map
deleted file mode 100644
index 2e7ea15..0000000
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/script/scriptEvaluator.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"scriptEvaluator.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/script/scriptEvaluator.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/session/SessionProcessor.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/session/SessionProcessor.d.ts
new file mode 100644
index 0000000..0728b9c
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/session/SessionProcessor.d.ts
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import type { EmptyResult, Session } from '../../../protocol/protocol.js';
+import type { IEventManager } from '../events/EventManager.js';
+export declare class SessionProcessor {
+    #private;
+    constructor(eventManager: IEventManager);
+    status(): Session.StatusResult;
+    subscribe(params: Session.SubscriptionRequest, channel?: string | null): Promise<EmptyResult>;
+    unsubscribe(params: Session.SubscriptionRequest, channel?: string | null): Promise<EmptyResult>;
+}
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/session/SessionProcessor.js b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/session/SessionProcessor.js
new file mode 100644
index 0000000..b9eba8c
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/session/SessionProcessor.js
@@ -0,0 +1,38 @@
+"use strict";
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.SessionProcessor = void 0;
+class SessionProcessor {
+    #eventManager;
+    constructor(eventManager) {
+        this.#eventManager = eventManager;
+    }
+    status() {
+        return { ready: false, message: 'already connected' };
+    }
+    async subscribe(params, channel = null) {
+        await this.#eventManager.subscribe(params.events, params.contexts ?? [null], channel);
+        return {};
+    }
+    async unsubscribe(params, channel = null) {
+        await this.#eventManager.unsubscribe(params.events, params.contexts ?? [null], channel);
+        return {};
+    }
+}
+exports.SessionProcessor = SessionProcessor;
+//# sourceMappingURL=SessionProcessor.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/session/SessionProcessor.js.map b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/session/SessionProcessor.js.map
new file mode 100644
index 0000000..829c4b5
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/domains/session/SessionProcessor.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"SessionProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/session/SessionProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AASH,MAAa,gBAAgB;IAC3B,aAAa,CAAgB;IAE7B,YAAY,YAA2B;QACrC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED,MAAM;QACJ,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,SAAS,CACb,MAAmC,EACnC,UAAyB,IAAI;QAE7B,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAChC,MAAM,CAAC,MAAmC,EAC1C,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,EACzB,OAAO,CACR,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAAmC,EACnC,UAAyB,IAAI;QAE7B,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAClC,MAAM,CAAC,MAAmC,EAC1C,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,EACzB,OAAO,CACR,CAAC;QACF,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAlCD,4CAkCC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiMapper/tsconfig.tsbuildinfo b/node_modules/chromium-bidi/lib/cjs/bidiMapper/tsconfig.tsbuildinfo
index b72ae5e..26d3d65 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiMapper/tsconfig.tsbuildinfo
+++ b/node_modules/chromium-bidi/lib/cjs/bidiMapper/tsconfig.tsbuildinfo
@@ -1 +1 @@
-{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../../../node_modules/mitt/index.d.ts","../utils/EventEmitter.d.ts","../utils/log.d.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../protocol/protocol.d.ts","../utils/processingQueue.d.ts","../utils/transport.d.ts","../cdp/cdpClient.d.ts","../cdp/cdpConnection.d.ts","../utils/buffer.d.ts","../utils/idWrapper.d.ts","../../../src/bidiMapper/OutgoingBidiMessage.ts","../utils/DefaultMap.d.ts","../utils/unitConversions.d.ts","../utils/deferred.d.ts","../utils/uuid.d.ts","../../../src/bidiMapper/domains/script/channelProxy.ts","../../../src/bidiMapper/domains/script/scriptEvaluator.ts","../../../src/bidiMapper/domains/script/realmStorage.ts","../../../src/bidiMapper/domains/script/realm.ts","../../../src/bidiMapper/domains/log/logHelper.ts","../../../src/bidiMapper/domains/log/logManager.ts","../../../src/bidiMapper/domains/network/networkRequest.ts","../../../src/bidiMapper/domains/network/networkProcessor.ts","../../../src/bidiMapper/domains/context/bidiPreloadScript.ts","../../../src/bidiMapper/domains/context/PreloadScriptStorage.ts","../../../src/bidiMapper/domains/context/cdpTarget.ts","../../../src/bidiMapper/domains/context/browsingContextImpl.ts","../../../src/bidiMapper/domains/context/browsingContextStorage.ts","../../../src/bidiMapper/domains/events/SubscriptionManager.ts","../../../src/bidiMapper/domains/events/EventManager.ts","../../../src/bidiMapper/domains/input/ActionOption.ts","../utils/assert.d.ts","../utils/Mutex.d.ts","../../../src/bidiMapper/domains/input/InputSource.ts","../../../src/bidiMapper/domains/input/InputState.ts","../../../src/bidiMapper/domains/input/InputStateManager.ts","../../../src/bidiMapper/domains/input/USKeyboardLayout.ts","../../../src/bidiMapper/domains/input/keyUtils.ts","../../../src/bidiMapper/domains/input/ActionDispatcher.ts","../../../src/bidiMapper/domains/context/browsingContextProcessor.ts","../../../src/bidiMapper/CommandProcessor.ts","../../../src/bidiMapper/BidiTransport.ts","../../../src/bidiMapper/BidiServer.ts","../../../src/bidiMapper/bidiMapper.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../src/bidiMapper/domains/context/PreloadScriptStorage.spec.ts","../../../src/bidiMapper/domains/context/browsingContextStorage.spec.ts","../../../src/bidiMapper/domains/events/SubscriptionManager.spec.ts","../../../src/bidiMapper/domains/log/logHelper_getRemoteValuesText.spec.ts","../../../src/bidiMapper/domains/log/logHelper_logMessageFormatter.spec.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"9a60b92bca4c1257db03b349d58e63e4868cfc0d1c8d0ba60c2dbc63f4e6c9f6","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"b7feb7967c6c6003e11f49efa8f5de989484e0a6ba2e5a6c41b55f8b8bd85dba","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7823c8aa42d88e6cb454fe7dc56996c6fd174b28a9f050e9bdea1c25b7d114ea","980d84ab65a61d1979a22e5cd3322672e75fb148392b6903d08ccef59bbf530c","c528612deb832be691044b7bf66f59f3ad01928fba354ab517531f134fada876","4144f9222d63564d8572c921dd6ca8f824f4f92d66b2d34ed3d1ae70b5223cb4","bc80c81a2be49b8c770330d63bea8e1b84d80978236faa5eabaade1ca4daae6d","8572211bcaf477c972f873af2e9015c9dba9325fed4ab68214185a57872b3c12","3bb597af9b7d6774dbd415191686cc9337b45b241451844908ca2a42eae31114","93f21861a44c3e23bbea3aa8d92303c7c03875190d70e068603fdc2caea6f385","79ba22c2f8762e45176343b04526160561032a5ff728022f2495cc7eebb85393","83a4e9a5b851ae4746fc86aadf6fecee8cd6af5a79ed440efc507568d5960b26","2c2f370d306798b0c1cff0695ab13fae2e64dbb27356ba0ae6cfe1790f94791d","86bb193ebaee82aad877590d729c115b493210ea273d1d340168e81fe37f1e14","e357d4b96889a18d0afb587efcd4c1e67fce8079b4a64625d542723d6bbf4716",{"version":"907c052170d04453cf53df49bd409cfa8f12100ca19a80a119c428500df07165","signature":"bd719836960a85fc163b06e521b0d83137ca5778eb445b4745935a3543d46fb1"},"73396d8e7ab497e2532d562acb2af2954f5d8e35a0b0a1cefe1be9a84e1cfe84","514f22ade3182fa2840148ffc82d404e0cff0f3aa88317f565504464fbbd8d03","5c158d84e67a700b665b44383ea7aa7da156fa75fb1de4fe5fe41f2681c3495a","6a1d88635ed5be5e78b2c32632ad19fa62ac329b6f33f403d34474939c29daf6",{"version":"6c3a8c115a13705d7caa0dd299df7d4a40801168a6d6602a5124071dcadbddae","signature":"9191bc4f44b3dd87ac9d45bb2aeef2118cc83da5f393c6eea6a8f5ed09b63356"},{"version":"8e6c14f6b003882210e8820a81e86379b64b8c24eda6b975e2d019c69baccb11","signature":"fcd1121d192b69ed8382076233c28e8c1ce4c8c0c229cab14377796e16cbff98"},{"version":"ee9388a4f3526dd5442d9ec1a4eeae0997b480b2a959a5e70c61604447b9f5fb","signature":"e309b11b8bce4140c19782cc0b762b16c2e1ab7fc25fc060a20bca9f10b9b7a9"},{"version":"ffe46ea5ae6424ab4b2e8963614cd6edea872889069d3ef4bfd0f0ac7317586a","signature":"b10162b54a63e193404fffbd240dcc2b68a725b1ea268b8e1a63c748e3bf0985"},{"version":"e5cbcf5190ee98be656b9f42642fafcbf0fbdbd04edc818765dc3de9f649127f","signature":"1068be0a4a0f789a200be083ee0443b465d1e6c5e22d64596ed2001de37a02b9"},{"version":"8c094acfcb612466657d190452c6091adcc50c37a9b1d4da42c0415a2ad07fdc","signature":"da0bac1fcb021549f13353c01e40e41152c1a3b1da80488cdf11fdfbe3ea5f1b"},{"version":"46f790daf15d0400d38c8bfea5f2f443e635d812562e64b0e7bb391292dfbcb1","signature":"c7b6bb71999425381f410a90215ddc7d1bd0510f532637838d34cfbf8bbbdfea"},{"version":"7766672dfc8d7383eb5a47a952055ada6f19e24dad9bd2f804f3e47bfb19ef5f","signature":"c23021c49dd490bb5e70019c16a009e68560f77f1ffa396087fd84d64ea9637d"},{"version":"d78a5bc59df8b9c66e2671e1cefe2d23bc8ee216fd89a8d80028d8751286b229","signature":"cb0f49d6464886a4cee3f3b23b30e10caa231c6a50e1e469724192adad0d196f"},{"version":"54bcb35d4d744b3d319c0f46de5384f3f48887e193290737f5194e750a107efd","signature":"c131bb5dd6e910aaf89d9d1499bdf698646c1e398861fd1241a8a40029c910cf"},{"version":"a0ff6ee17cc0c1c0762fd5c7dbd8ceb2a24ee1188efeeee350ef44ce8bbb80e2","signature":"71e5c1f1fc8d5b013f321a9f50ad8134e38131935326d0ed82cbf94182093022"},{"version":"f7ab5b125fc6d1555954c2ca07df6339c1bd0e28bfd493df2f99f8b70f44269c","signature":"9b8fb624203b95178f3cb5060532ead3cd40f858e5ac092116d06004acffc9d7"},{"version":"77a6e3d675bd089bec340f8d4f1c01822d03d4445c523d335161659d87467293","signature":"ddc1f01fd6b9a305b4b2fda75b6e89f6ef53b8f7843498bd8201dacdff96f603"},{"version":"b93f538b984ad7df5b47839d7723903574280fce65c0ca2acf082293b4470889","signature":"a08b37159fd7493fd7be46384ee97cb9232cb264e12e4ac9505f7e356b068447"},{"version":"fe3e589910e39709995ef3b11cd1e197afbdce2ee6c40dd98dafc9b47650a3ed","signature":"17aedfa943d8f5fe507862d82e8ebfc9d1cd9f4da9852cb52aea3e472e571f8d"},{"version":"027c3cede81d77bc8babce5e56882a83184f5d941f24388b270ed3e60e5f1161","signature":"0a60d4f1d1c97175cfe06d5ec3cc73c6d136f8f9f4969844080ea322a60fdc1b"},"33c20f9f965d4086dd3f7195bd1a335a6256efac741648f1a5d92d0313fd23af","22bad1573f0f96dbc7d9580a952bd7d40a68e7a5763fc263d8f3200753185600",{"version":"32e28f1f8631d88f1ac8e31ca2aa184a4faf7162f1cd65fdac68ec4c4b406c18","signature":"b3b2ad1656a4a48773f0bef005abdbc13068a721da125c1c258658ab103b90e6"},{"version":"401deb819a697fe7173351242f1d293634460505eab838ee4176cf314ee6c931","signature":"ae6eeb34e7634a308d5639d8a5d612707072b92e6de92cfecf7a4725f3a67fec"},{"version":"2330c947f46b9bbdedf29b960b919ab1cabd372a9e333ada82fa59f60dbdc685","signature":"afc4b77e12115aed13e6dfcaaa4e5f903bd9b0027a074b088545aa71b26b8dd6"},{"version":"cd637e035ba673a9167d6072690364e5b25a0277aa10e17dc717d52ffd36411f","signature":"789ec5ff0e6eaea8cb6ec1f68e1ae585a46f7e4a49e53457117f929c9c9bed1c"},{"version":"574f8003e10d766681ba5de961314b16a4ec00860e735d5bfc8dc700b98fa711","signature":"fcf6c54a6e4fb5983f3cea610b5f845c680fc81fd43d28c92686cf75845051f0"},{"version":"3532516cc7f302517f19950e7e85e08b4461ce9ab0a0afd935301b6005fd15e9","signature":"2457697054098e5e9f561dbace31086f354ba917686273a9c3bf62a99dde10f7"},{"version":"46de119ece84a3ccf9b4cbfa8ea4829baae9e31898d7f511286dfec897f36ed4","signature":"d0b223c71631d723a42d9e38fda870f6c3facbba2f1e0d3a6f1a59b22bb96f39"},{"version":"a224f94b1a5eddb1e7388ac1e2b4f9cf078f27184473a79a408564b2023ea5b5","signature":"c45e6047b3c86e0a8c35158ccb618f0f99ad8e0d167efb1eb60398b6d0600ec4"},{"version":"55834ad68762217882db77a2f7cab46f61921a2c11cce16d74f339ddbdef1a50","signature":"e6fd8b8e78e0e75949167cd05c52be46e525d0dd929fa3dca5ad9a61ed191934"},{"version":"eb8a44ed1a76cae6ba7088bf435bfc2da16564605e027c90d3df757072c610ec","signature":"b5b6f97e5d55ece9cec8cd1c2ab563511ac38e1f276fc28625a725d9af6385b7"},{"version":"2584fe40f1aa90ff4448159c0a75ea95dcd42ed39ee284632b70b16f45084db8","signature":"1e2f77ee2bb4d6aba889026b20cd55782e174e44e2fc363e2665df08c3dfe593"},{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},"f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","8d41819b9e44145170afaf7b0bc0753e949e6cb2a2314bd36a8e7046f537f4a4",{"version":"d440b2631f3962b0091f2002ff2c790f84ef8ace331df775224ab507c784a7ba","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"3c40e40cbe17ff354aba2c056192504e03b5a059511f072907a3bfe077d0040a","signature":"eaaad7059af6a46bc3ef3a806b307f94f7c43054c7f9470499eb6f44e35b136c"},{"version":"ea7128124621819521a86167ea7c71cc9137e21d19bb8b1d6d1987b209c57503","signature":"66988394218ee2fdd24aaa8320767168ebe9a6563ade0d0445c52c64e8f7e76a"},{"version":"8f7bb551425ff25ec9dcc4970d41643e153e8ea860d5ca9659106ab995af065b","signature":"66988394218ee2fdd24aaa8320767168ebe9a6563ade0d0445c52c64e8f7e76a"},{"version":"054277a658fdc4a0fff4cc512034a736b1ad17b9253531671a1fa67667b66471","signature":"66988394218ee2fdd24aaa8320767168ebe9a6563ade0d0445c52c64e8f7e76a"},"dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889",{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","93b7325b49dfbf613d940ed0e471216657b2d77459dac34f1b5b1678f08f884c","bee89e1eb6425eb49894f3f25e4562dc2564e84e5aa7610b7e13d8ecddf8f5db","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true},"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"8d81612302e009aacd595b125ae1530b6342f690eb83da7788503617d1362185","affectsGlobalScope":true},"7d2e3fea24c712c99c03ad8f556abedbfe105f87f1be10b95dbd409d24bc05a3",{"version":"211e3f15fbced4ab4be19f49ffa990b9ff20d749d33b65ff753be691e7616239","affectsGlobalScope":true},"374ca798f244e464346f14301dc2a8b4b111af1a83b49fffef5906c338a1f922","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","e596c9bb2f29a2699fdd4ae89139612652245192f67f45617c5a4b20832aaae9","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","1cdcfc1f624d6c08aa12c73935f6e13f095919cd99edf95752951796eb225729","216717f17c095cde1dc19375e1ab3af0a4a485355860c077a4f9d6ea59fab5b5","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"00dee7cdca8b8420c47ea4a31a34b8e8294013ebc4f463fd941e867e7bf05029","affectsGlobalScope":true},"80473bd0dd90ca1e166514c2dfead9d5803f9c51418864ca35abbeec6e6847e1","1c84b46267610a34028edfd0d035509341751262bac1062857f3c8df7aff7153","e6c86d83bd526c8bdb5d0bf935b8e72ce983763d600743f74d812fdf4abf4df6","a3d541d303ee505053f5dcbf9fafb65cac3d5631037501cd616195863a6c5740","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true},"bcebb922784739bdb34c18ee51095d25a92b560c78ccd2eaacd6bd00f7443d83","7ee6ed878c4528215c82b664fe0cfe80e8b4da6c0d4cc80869367868774db8b1","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"0715e4cd28ad471b2a93f3e552ff51a3ae423417a01a10aa1d3bc7c6b95059d6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","4f3fdeba4e28e21aa719c081b8dc8f91d47e12e773389b9d35679c08151c9d37","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","f69ff39996a61a0dd10f4bce73272b52e8024a4d58b13ab32bf4712909d0a2b7",{"version":"3c4ba1dd9b12ffa284b565063108f2f031d150ea15b8fafbdc17f5d2a07251f3","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","3d6c3d6b3bd42f1175d65cb74051c5f4ee2c1d2fbeb1facc5385e2161ce93005","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"a73ae8c0e62103bb9e21bb6538700881bf135b9a8b125b857ec68edfa0da4ed3","affectsGlobalScope":true},{"version":"e1c1b2fbe236bf7ee3e342eeae7e20efb8988a0ac7da1cbbfa2c1f66b76c3423","affectsGlobalScope":true},"6de4a219df57d2b27274d59b67708f13c2cbf7ed211abe57d8f9ab8b25cde776","0fe8985a28f82c450a04a6edf1279d7181c0893f37da7d2a27f8efd4fd5edb03","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"52120bb7e4583612225bdf08e7c12559548170f11e660d33a33623bae9bbdbba","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a6dd3dba8e665ac43d279e0fdf5219edda0eed69b5e9a5061f46cd6a65c4f7a1","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","aec59f80c62291ec634283d443b27ebe6fc6cf57670057aa9a172927675bfbea","77c5c7f8578d139c74102a29384f5f4f0792a12d819ddcdcaf8307185ff2d45d","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"root":[77,[82,97],[100,110],[114,118]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"useUnknownInCatchVariables":true},"fileIdsList":[[66,69,74,174],[67,69,72,73,174],[69,174],[174],[65,174],[67,174],[111,174],[121,174],[128,174],[131,174],[132,137,165,174],[133,144,145,152,162,173,174],[133,134,144,152,174],[135,174],[136,137,145,153,174],[137,162,170,174],[138,140,144,152,174],[139,174],[140,141,174],[144,174],[142,144,174],[144,145,146,162,173,174],[144,145,146,159,162,165,174],[174,178],[140,147,152,162,173,174],[144,145,147,148,152,162,170,173,174],[147,149,162,170,173,174],[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180],[144,150,174],[151,173,174],[140,144,152,162,174],[153,174],[154,174],[131,155,174],[156,172,174,178],[157,174],[158,174],[144,159,160,174],[159,161,174,176],[132,144,162,163,164,165,174],[132,162,164,174],[162,163,174],[165,174],[166,174],[144,168,169,174],[168,169,174],[137,152,162,170,174],[171,174],[152,172,174],[132,147,158,173,174],[137,174],[162,174,175],[174,176],[174,177],[132,137,144,146,155,162,173,174,176,178],[162,174,179],[174,184,223],[174,184,208,223],[174,223],[174,184],[174,184,209,223],[174,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222],[174,209,223],[112,174],[144,147,149,152,173,174,181],[144,147,149,162,170,173,174,179,181],[144,162,174,181],[68,174],[66,67,70,71,74,77,84,94,96,107,108,174],[70,174],[66,67,70,74,77,84,94,96,106,174],[66,73,74,77,107,108,109,174],[90,91,92,111,113,174],[70,90,92,174],[70,81,82,92,174],[67,68,70,79,80,84,85,92,94,96,174],[67,68,70,73,74,84,85,90,91,92,93,94,96,97,101,102,105,174],[94,111,174],[70,93,174],[69,70,73,80,82,84,87,89,91,96,174],[70,75,76,77,78,95,109,174],[70,94,95,111,113,174],[70,94,174],[70,93,97,98,100,101,103,104,174],[70,97,99,100,174],[93,98,101,174],[70,86,111,174],[68,70,84,85,86,92,96,174],[68,70,73,78,88,96,174],[68,70,80,96,174],[70,81,85,96,174],[67,68,70,73,83,84,94,96,174],[68,70,85,174],[68,70,82,85,96,174],[66,67,70,74,77,94,107,108],[70],[66,67,70,74,77,84,94,96],[66,73,74,77,107,108,109],[70,90,92],[70,82,92],[67,68,70,84,85,92,94,96],[67,70,74,84,94,96],[70,93],[70,73,80,82,84,91,96],[70,109],[70,94],[93,97,101],[70,97,99,100],[93,101],[84,92,96],[73,96],[68,70,96],[70,85,96],[67,68,70,73,84,94,96],[68,70,85],[68,70,85,96]],"referencedMap":[[73,1],[74,2],[70,3],[78,4],[66,5],[99,4],[98,4],[75,4],[80,4],[76,4],[67,4],[71,6],[72,4],[79,4],[81,4],[119,4],[120,7],[111,4],[122,8],[123,4],[124,4],[125,4],[126,4],[127,4],[121,4],[128,9],[129,9],[131,10],[132,11],[133,12],[134,13],[135,14],[136,15],[137,16],[138,17],[139,18],[140,19],[141,19],[143,20],[142,21],[144,20],[145,22],[146,23],[130,24],[180,4],[147,25],[148,26],[149,27],[181,28],[150,29],[151,30],[152,31],[153,32],[154,33],[155,34],[156,35],[157,36],[158,37],[159,38],[160,38],[161,39],[162,40],[164,41],[163,42],[165,43],[166,44],[167,4],[168,45],[169,46],[170,47],[171,48],[172,49],[173,50],[174,51],[175,52],[176,53],[177,54],[178,55],[179,56],[182,4],[183,4],[208,57],[209,58],[184,59],[187,59],[206,57],[207,57],[197,57],[196,60],[194,57],[189,57],[202,57],[200,57],[204,57],[188,57],[201,57],[205,57],[190,57],[191,57],[203,57],[185,57],[192,57],[193,57],[195,57],[199,57],[210,61],[198,57],[186,57],[223,62],[222,4],[217,61],[219,63],[218,61],[211,61],[212,61],[214,61],[216,61],[220,63],[221,63],[213,63],[215,63],[113,64],[112,4],[224,65],[225,66],[226,67],[69,68],[68,4],[65,4],[62,4],[63,4],[12,4],[13,4],[17,4],[16,4],[2,4],[18,4],[19,4],[20,4],[21,4],[22,4],[23,4],[24,4],[25,4],[3,4],[4,4],[29,4],[26,4],[27,4],[28,4],[30,4],[31,4],[32,4],[5,4],[33,4],[34,4],[35,4],[36,4],[6,4],[40,4],[37,4],[38,4],[39,4],[41,4],[7,4],[42,4],[47,4],[48,4],[43,4],[44,4],[45,4],[46,4],[8,4],[52,4],[49,4],[50,4],[51,4],[53,4],[9,4],[54,4],[55,4],[56,4],[59,4],[57,4],[58,4],[60,4],[10,4],[1,4],[11,4],[64,4],[61,4],[15,4],[14,4],[109,69],[108,70],[107,71],[77,70],[110,72],[114,73],[91,74],[90,75],[93,76],[106,77],[115,78],[94,79],[92,80],[96,81],[116,82],[95,83],[105,84],[97,70],[100,70],[101,85],[102,86],[103,4],[104,4],[86,70],[117,87],[118,87],[87,88],[89,89],[88,90],[82,91],[85,92],[84,93],[83,94]],"exportedModulesMap":[[73,1],[74,2],[70,3],[78,4],[66,5],[99,4],[98,4],[75,4],[80,4],[76,4],[67,4],[71,6],[72,4],[79,4],[81,4],[119,4],[120,7],[111,4],[122,8],[123,4],[124,4],[125,4],[126,4],[127,4],[121,4],[128,9],[129,9],[131,10],[132,11],[133,12],[134,13],[135,14],[136,15],[137,16],[138,17],[139,18],[140,19],[141,19],[143,20],[142,21],[144,20],[145,22],[146,23],[130,24],[180,4],[147,25],[148,26],[149,27],[181,28],[150,29],[151,30],[152,31],[153,32],[154,33],[155,34],[156,35],[157,36],[158,37],[159,38],[160,38],[161,39],[162,40],[164,41],[163,42],[165,43],[166,44],[167,4],[168,45],[169,46],[170,47],[171,48],[172,49],[173,50],[174,51],[175,52],[176,53],[177,54],[178,55],[179,56],[182,4],[183,4],[208,57],[209,58],[184,59],[187,59],[206,57],[207,57],[197,57],[196,60],[194,57],[189,57],[202,57],[200,57],[204,57],[188,57],[201,57],[205,57],[190,57],[191,57],[203,57],[185,57],[192,57],[193,57],[195,57],[199,57],[210,61],[198,57],[186,57],[223,62],[222,4],[217,61],[219,63],[218,61],[211,61],[212,61],[214,61],[216,61],[220,63],[221,63],[213,63],[215,63],[113,64],[112,4],[224,65],[225,66],[226,67],[69,68],[68,4],[65,4],[62,4],[63,4],[12,4],[13,4],[17,4],[16,4],[2,4],[18,4],[19,4],[20,4],[21,4],[22,4],[23,4],[24,4],[25,4],[3,4],[4,4],[29,4],[26,4],[27,4],[28,4],[30,4],[31,4],[32,4],[5,4],[33,4],[34,4],[35,4],[36,4],[6,4],[40,4],[37,4],[38,4],[39,4],[41,4],[7,4],[42,4],[47,4],[48,4],[43,4],[44,4],[45,4],[46,4],[8,4],[52,4],[49,4],[50,4],[51,4],[53,4],[9,4],[54,4],[55,4],[56,4],[59,4],[57,4],[58,4],[60,4],[10,4],[1,4],[11,4],[64,4],[61,4],[15,4],[14,4],[109,95],[108,96],[107,97],[77,96],[110,98],[91,99],[90,100],[93,101],[106,102],[94,103],[92,104],[96,105],[95,106],[105,107],[97,96],[100,96],[101,108],[102,109],[86,96],[87,110],[89,111],[88,112],[82,113],[85,114],[84,115],[83,116]],"semanticDiagnosticsPerFile":[73,74,70,78,66,99,98,75,80,76,67,71,72,79,81,119,120,111,122,123,124,125,126,127,121,128,129,131,132,133,134,135,136,137,138,139,140,141,143,142,144,145,146,130,180,147,148,149,181,150,151,152,153,154,155,156,157,158,159,160,161,162,164,163,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,182,183,208,209,184,187,206,207,197,196,194,189,202,200,204,188,201,205,190,191,203,185,192,193,195,199,210,198,186,223,222,217,219,218,211,212,214,216,220,221,213,215,113,112,224,225,226,69,68,65,62,63,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,10,1,11,64,61,15,14,109,108,107,77,110,114,91,90,93,106,115,94,92,96,116,95,105,97,100,101,102,103,104,86,117,118,87,89,88,82,85,84,83],"latestChangedDtsFile":"./domains/log/logHelper_logMessageFormatter.spec.d.ts"},"version":"5.0.4"}
\ No newline at end of file
+{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../protocol/webdriver-bidi.d.ts","../protocol/cdp.d.ts","../protocol/chromium-bidi.d.ts","../protocol/ErrorResponse.d.ts","../protocol/protocol.d.ts","../../../src/bidiMapper/BidiParser.ts","../../../src/bidiMapper/BidiNoOpParser.ts","../utils/transport.d.ts","../utils/log.d.ts","../../../node_modules/mitt/index.d.ts","../utils/EventEmitter.d.ts","../cdp/cdpClient.d.ts","../cdp/cdpConnection.d.ts","../utils/result.d.ts","../utils/processingQueue.d.ts","../../../src/bidiMapper/BidiTransport.ts","../../../src/bidiMapper/OutgoingBidiMessage.ts","../../../src/bidiMapper/bidiMapper.ts","../../../src/bidiMapper/domains/browser/BrowserProcessor.ts","../utils/deferred.d.ts","../utils/unitConversions.d.ts","../utils/DefaultMap.d.ts","../utils/buffer.d.ts","../utils/idWrapper.d.ts","../../../src/bidiMapper/domains/events/SubscriptionManager.ts","../../../src/bidiMapper/domains/events/EventManager.ts","../utils/uuid.d.ts","../../../src/bidiMapper/domains/script/channelProxy.ts","../../../src/bidiMapper/domains/script/realmStorage.ts","../../../src/bidiMapper/domains/script/realm.ts","../../../src/bidiMapper/domains/log/logHelper.ts","../../../src/bidiMapper/domains/log/logManager.ts","../../../src/bidiMapper/domains/network/networkRequest.ts","../../../src/bidiMapper/domains/network/NetworkManager.ts","../../../src/bidiMapper/domains/script/bidiPreloadScript.ts","../../../src/bidiMapper/domains/script/PreloadScriptStorage.ts","../../../src/bidiMapper/domains/context/cdpTarget.ts","../../../src/bidiMapper/domains/context/browsingContextImpl.ts","../../../src/bidiMapper/domains/context/browsingContextStorage.ts","../../../src/bidiMapper/domains/cdp/CdpProcessor.ts","../../../src/bidiMapper/domains/context/browsingContextProcessor.ts","../utils/assert.d.ts","../utils/Mutex.d.ts","../../../src/bidiMapper/domains/input/ActionOption.ts","../../../src/bidiMapper/domains/input/InputSource.ts","../../../src/bidiMapper/domains/input/InputState.ts","../../../src/bidiMapper/domains/input/InputStateManager.ts","../../../src/bidiMapper/domains/input/USKeyboardLayout.ts","../../../src/bidiMapper/domains/input/keyUtils.ts","../../../src/bidiMapper/domains/input/ActionDispatcher.ts","../../../src/bidiMapper/domains/input/InputProcessor.ts","../../../src/bidiMapper/domains/script/ScriptProcessor.ts","../../../src/bidiMapper/domains/session/SessionProcessor.ts","../../../src/bidiMapper/CommandProcessor.ts","../../../src/bidiMapper/BidiServer.ts","../../../node_modules/@types/chai/index.d.ts","../../../src/bidiMapper/domains/context/browsingContextStorage.spec.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../src/bidiMapper/domains/events/SubscriptionManager.spec.ts","../../../src/bidiMapper/domains/log/logHelper_getRemoteValuesText.spec.ts","../../../src/bidiMapper/domains/log/logHelper_logMessageFormatter.spec.ts","../../../src/bidiMapper/domains/script/PreloadScriptStorage.spec.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"3dda5344576193a4ae48b8d03f105c86f20b2f2aff0a1d1fd7935f5d68649654","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"9d9885c728913c1d16e0d2831b40341d6ad9a0ceecaabc55209b306ad9c736a5","affectsGlobalScope":true},{"version":"17bea081b9c0541f39dd1ae9bc8c78bdd561879a682e60e2f25f688c0ecab248","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f06948deb2a51aae25184561c9640fb66afeddb34531a9212d011792b1d19e0a","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"930b0e15811f84e203d3c23508674d5ded88266df4b10abee7b31b2ac77632d2","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7823c8aa42d88e6cb454fe7dc56996c6fd174b28a9f050e9bdea1c25b7d114ea","ec01464e62357ddcc0900f59beef6bf02e419f6dbe74dbb99cac60a89d3dcdb6","8f42ab85547ff7cf44c75d0922a19e9123aef43e286d4f22bdbb6fbf1fcc7e4a","6d4906ee0b75ce485059a3b9dbcee5de80798a734268e8741aa05c48fe85a9a4","64709d6ed350d96593c08463feea35d650436216e1a08718afbc3ce983440061","d8930ee71e1ab1298a5598f47543ac3fb4f120667529f115e3d6eef6950a5432","cb3f8a0d53b27af2c269fe48584c0d3750982fbdc42ecc2ab02ccf1ba6a905c8","14d514c8b6f88c7da5c186a24ae6cd8ec04742c07a21ec45c3935853c5bd0fd7",{"version":"59c4d3a898da61d9ee1c3d8165f053d2e29f6f55504c0669429bd706bf74cfd9","signature":"ec8cdb979e176bae8ff5f325a64f5d00eab57aac88ac9f231d18c075dfc9f3e9"},{"version":"0ce9f87e6875c3d0deda4c50570d499d9b1d4417dec2b5c201fc771958037f66","signature":"017c57b498c1f9bd6dea18a76ad42d22b4ab31f27f5d614180904c4a6e379fc4"},"79ba22c2f8762e45176343b04526160561032a5ff728022f2495cc7eebb85393","4144f9222d63564d8572c921dd6ca8f824f4f92d66b2d34ed3d1ae70b5223cb4","980d84ab65a61d1979a22e5cd3322672e75fb148392b6903d08ccef59bbf530c","d53b184dc5221f3a6375846dd5f7dbc13289c59333afe08353421f8463bee724","e8163b210a1412149ca4b63b69273dabbe3a4e22f65ad4caf53b7b93bc929aaf","eb2b9bb1514d1b6972a0f1e553af2d1f1f2f41403e9e3582fa0ac6dc6656bc4b","e1d5ebc40ccc3f044fbc72d31e4832e9d1fe82d9cfd74e71d00f70827337827e","9b0a9c08eab1f0910d5ff4bbc053720e86b9e98cbf0c1e79f3ae01b9cf73bd5e",{"version":"3593a3e0a1cf37787a04325acde6302e0e9857c3fac910ec25283b454180a61a","signature":"cdaacc1dbae3918749f187bf5090f107c0bbedf163f8915aca8b1bdea456efaf"},{"version":"07b083babc5c7dd21fc2107998577d5ef36ce8f9bde7962996b098becd9e734b","signature":"6039bb33d13e440b29586d59b1dc82ede836e66b9b1785c594587a854a3c65e4"},{"version":"6cb49f05045d28dc77ab90a4aec7eacccbf80d4cc26268e437e5db1d3cf28c0e","signature":"5660acbb309656bed21dbd9ee097bb9c5ff4860f80c39c37c9d72caae1556547"},{"version":"42d8b70ba8eefdec7d8e40968667c52b999b13a0d1605744a3410869d8cd5980","signature":"7b78c8c8e975dfcdf2f24542693a91fa3239bda3553505639849934447f77994"},"69b617df09930ab4fec4674497e801b823a3d7edd87eabf4fb95168d60f5397c","514f22ade3182fa2840148ffc82d404e0cff0f3aa88317f565504464fbbd8d03","73396d8e7ab497e2532d562acb2af2954f5d8e35a0b0a1cefe1be9a84e1cfe84","1ae77d9a31f9ebf022b86712b511ce05f07098639b366900ddee827ed0264e0e","e357d4b96889a18d0afb587efcd4c1e67fce8079b4a64625d542723d6bbf4716",{"version":"29becde9f815ac6238695c74c358fe5948fd0e632c31419dfd3f5e0d2061549b","signature":"3c6869ac13df4f05503cbfefa4ec3c683e0bf3bf170713f03937d3e9a0a4937b"},{"version":"1fbea4b1b8dc40a7508585199f75dbefbeb6a17a020bd3131bf7004b84bdeef8","signature":"2712264ac1d9749e6ff4f1c67ba1f2db090459db34d990d2381c89c303adf34e"},"6a1d88635ed5be5e78b2c32632ad19fa62ac329b6f33f403d34474939c29daf6",{"version":"af4639fd4eab9d3ec199b35739e7f0dcef97705afd429deb4252bb33c25436c6","signature":"6d870e304d885c2c147fb0717ce644b8ad18585c38a2cf66baf75ece5ae1803f"},{"version":"dc4bf7c50924b41bdf10e1081367af2795ccbfcb4c0f6fab0190d14b74906818","signature":"c5792ec3ef861b773c504d908ce7e3264f92c2fb50ccde8d0435f5d854a7f839"},{"version":"feb49521afcf35efc0a05c36a03cc26ce07deeb046e8e20bb7209b375b75c4c6","signature":"8e46096cb731beee443b4cc2557562862d36733c3c75a6df4622ed1faab173da"},{"version":"320fad69b6fe476a32d87f05e29d394d9afcf06113c0e61acd2b8e179bed658a","signature":"a97e26c34f31aba606b72c5abda40437bab51e0e4effee0b13e034dd7a46e4c5"},{"version":"1fb49186885b84f7619e989344b1d01b14176b15d34724d3ebae526cbd9a90b2","signature":"da0bac1fcb021549f13353c01e40e41152c1a3b1da80488cdf11fdfbe3ea5f1b"},{"version":"7f2dc2744e5f4b8b4dceec95abce2004f7fa96e4baaeaf84349429a78fb23e9c","signature":"c328224dce55e67965f8db618c071056a356dc88fd960f57f79bbf706a6f6540"},{"version":"0826cef640b66593c63ed02aa73105a3823ccca9640882ec8ca5c79bd841f0ca","signature":"878fce4d2424b8fad3f2a3601d0f179d4216f84a402bed6fc2bb059d33cb7ecc"},{"version":"21d7e53ab2c18b64c7ff80a912186689d6117cabbe57664f1cd9ed7f88cb4ea6","signature":"656cfa6c3ab937e044e38bc66dc4d58826949737c5ad19f1350c2dc6b70d8591"},{"version":"1a29f6049aa6775f1ae8f9fea9608776276e27699ce96b9df854c49dbfdb551f","signature":"06f2686debb912ff3aca39197996536708f8385e7981a6901ecb0f8b3367db14"},{"version":"ff203710dd44c3a855aa446361c3fbb6d9465dcd9098b67dd33de09caf9a67ae","signature":"5384623b0ecca598e465b20de81893e9004b09d154a774d53b031bfab06d6037"},{"version":"1ce585931ab5c9da7f2c027b8a8e1b450eff0c61209a6b3aacba9dedfb7e235e","signature":"46d615af651087eacb11ec5c2ceae6d5bdea6564e1dacff64bd67ee71a507203"},{"version":"a5ef725624dd4fc420c546d54bf34614671ee92eb65030bf23fa1e3d9681d682","signature":"9fb5593401d5ebd4f9f9f83d9f9c4fe266c88c03258574fda459efcb560ebb6d"},{"version":"f50d49d261c73322420a0af955744090fc06ee771137d1ae8386f15a5a49d845","signature":"7c09b3da841abd4b8df2dee28688517dba89356a7d85092e0ae470b4721a19b0"},{"version":"fcd5c3752cf94e926cf70214316d63dd79fdf56310d76b57b5c08a02bbe86557","signature":"a6c7e073f5f5093dd566cfb165a5ffe9da3327d06c29a5459e6e30dca6f17429"},"33c20f9f965d4086dd3f7195bd1a335a6256efac741648f1a5d92d0313fd23af","22bad1573f0f96dbc7d9580a952bd7d40a68e7a5763fc263d8f3200753185600",{"version":"027c3cede81d77bc8babce5e56882a83184f5d941f24388b270ed3e60e5f1161","signature":"0a60d4f1d1c97175cfe06d5ec3cc73c6d136f8f9f4969844080ea322a60fdc1b"},{"version":"535b517b5f745d388a77a2743d02b210187adc5995b4fc2488452633347906cc","signature":"4967e589db724164e9c65112288f309d2f116267258b459edf089c7059f8777f"},{"version":"d563132c283ffa1c0b6627e12172f3d188321a3bb869a4c97ba5da35c94fe4f9","signature":"3f195a87fc5c7733af7c776e7e6f1099ad987ca2308eee5619dff86a960896d8"},{"version":"d80f070a737495294638b58c1eea05a7191601be63cb75642167631d4bfdf672","signature":"1b4a7c9a68c3c1efa4263d5de393a2dd67eb216c5fcaa97674b1905596c4d277"},{"version":"cd637e035ba673a9167d6072690364e5b25a0277aa10e17dc717d52ffd36411f","signature":"789ec5ff0e6eaea8cb6ec1f68e1ae585a46f7e4a49e53457117f929c9c9bed1c"},{"version":"574f8003e10d766681ba5de961314b16a4ec00860e735d5bfc8dc700b98fa711","signature":"fcf6c54a6e4fb5983f3cea610b5f845c680fc81fd43d28c92686cf75845051f0"},{"version":"4dc052fa5d57a6bbedb721ca021767d3cca96819fa9254b0bb22292eb9f7fd14","signature":"2457697054098e5e9f561dbace31086f354ba917686273a9c3bf62a99dde10f7"},{"version":"ac6c5d4f481617726ce373480ab2bc4863a55dfc9e44734c24acdcbc26f2194c","signature":"89af2a57e8daa0a93d1c29a8bd42d7062cf292a41d280d6f8259c0daad455126"},{"version":"49c9e831b36bbe6053d6788a306c576c6fcafd41750d4b06fa8dd388642fd924","signature":"55b83427fad7a38094d8b857ea3bb036def0910d4b34f4ab805f97efc6a32ffc"},{"version":"d7a8d3f9029672582925264e1bcef0ffb039f479663f085a388a2f0626f445a1","signature":"356518fd6435f924d5424d35741f84766e56ef1f6ddee074122f804fc7d85726"},{"version":"8341a2342bf903fe3ddc0434d784fe21322744d0d270195d3f9fcaab54c2cd7e","signature":"6bac32534fdfb7ec1d6b0814f14fa3fec67a59916d8933781de7b08e3116ba45"},{"version":"3d4c139d7ef956e6f1ddd511f9eceb7b58b73ec587f9040b39d61d54e9259450","signature":"7ac836b68703addf88c6a7fd474c9d35e729b7394687370e18c842fc5e542f82"},{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"3c40e40cbe17ff354aba2c056192504e03b5a059511f072907a3bfe077d0040a","signature":"eaaad7059af6a46bc3ef3a806b307f94f7c43054c7f9470499eb6f44e35b136c"},"f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","cffac9db07bba0b35754412e48215d1bc5153c03c46409bbeaf315848359822b",{"version":"3945221d4bc2ecb8e8fcd2044a029554dbde69e5e4631d136da0ca461581ca57","signature":"66988394218ee2fdd24aaa8320767168ebe9a6563ade0d0445c52c64e8f7e76a"},{"version":"b02ccaa3ac63073c42b59f64b84e632cd2f0560dba0cd6af12daf04192510fb5","signature":"66988394218ee2fdd24aaa8320767168ebe9a6563ade0d0445c52c64e8f7e76a"},{"version":"e57e576a1a50147af84d26e002970d3b4aeb5084de8b9e59405b31bac96cf147","signature":"66988394218ee2fdd24aaa8320767168ebe9a6563ade0d0445c52c64e8f7e76a"},{"version":"986af8933a1130fc664dadeed55f9cc2e6b0d367a1777ed2f327d57262aa6bdf","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889",{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","93b7325b49dfbf613d940ed0e471216657b2d77459dac34f1b5b1678f08f884c","bee89e1eb6425eb49894f3f25e4562dc2564e84e5aa7610b7e13d8ecddf8f5db","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","b9f96255e1048ed2ea33ec553122716f0e57fc1c3ad778e9aa15f5b46547bd23","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","a1a261624efb3a00ff346b13580f70f3463b8cdcc58b60f5793ff11785d52cab","aec59f80c62291ec634283d443b27ebe6fc6cf57670057aa9a172927675bfbea","2dd1d4cea14cead7a7fc9eec8f40593089dff0de8c0199458446143c9b8c4ea9","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"root":[72,73,[82,85],91,92,[94,107],[110,121],123,[126,129]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"useUnknownInCatchVariables":true},"fileIdsList":[[65,66,77,79,185],[65,66,74,75,78,185],[67,185],[65,66,67,185],[67,68,185],[67,68,69,70,185],[185],[76,185],[75,80,185],[122,185],[132,185],[139,185],[142,185],[143,148,176,185],[144,155,156,163,173,184,185],[144,145,155,163,185],[146,185],[147,148,156,164,185],[148,173,181,185],[149,151,155,163,185],[150,185],[151,152,185],[155,185],[153,155,185],[155,156,157,173,184,185],[155,156,157,170,173,176,185],[185,189],[151,155,158,163,173,184,185],[155,156,158,159,163,173,181,184,185],[158,160,173,181,184,185],[139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191],[155,161,185],[162,184,185],[151,155,163,173,185],[164,185],[165,185],[142,166,185],[167,183,185,189],[168,185],[169,185],[155,170,171,185],[170,172,185,187],[143,155,173,174,175,176,185],[143,173,175,185],[173,174,185],[176,185],[177,185],[173,185],[155,179,180,185],[179,180,185],[148,163,173,181,185],[182,185],[163,183,185],[143,158,169,184,185],[148,185],[173,185,186],[185,187],[185,188],[143,148,155,157,166,173,184,185,187,189],[173,185,190],[185,195,234],[185,195,219,234],[185,234],[185,195],[185,195,220,234],[185,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233],[185,220,234],[124,185],[155,158,160,163,184,185,192],[155,158,160,173,181,184,185,190,192],[155,173,185,192],[65,185],[71,72,185],[71,185],[71,72,75,77,79,80,81,82,83,92,95,105,120,185],[71,72,73,75,77,79,80,83,85,92,95,102,105,106,107,117,118,119,185],[71,80,185],[72,77,78,79,82,83,121,185],[71,84,185],[71,84,105,185],[65,71,75,80,86,87,92,95,96,103,105,185],[65,71,75,78,79,92,95,102,103,104,105,185],[105,122,185],[71,104,185],[65,66,78,80,86,92,94,95,98,100,102,185],[71,80,83,88,89,90,91,121,185],[71,91,105,122,125,185],[71,105,185],[71,104,108,110,111,112,114,115,185],[67,71,105,110,111,112,113,116,185],[71,109,110,111,185],[104,108,112,185],[71,97,122,185],[65,71,92,95,96,97,103,185],[65,71,78,88,92,99,185],[65,71,80,86,92,185],[101,102,103,122,125,185],[101,103,185],[71,95,96,101,102,103,105,185],[65,71,93,94,103,185],[65,71,92,93,96,185],[65,71,75,78,92,94,95,105,185],[65,71,96,185],[71,92,185],[71,72],[71],[71,72,75,77,79,80,82,83,105],[71,72,75,77,79,80,83,92,95,105],[71,80],[72,77,78,79,82,83,121],[71,84],[71,84,105],[65,71,75,80,92,95,96,103,105],[71,75,79,92,95,102,105],[71,104],[65,78,80,86,92,94,95,102],[71,80,121],[71,105],[104,110,112],[67,71,105],[71,109,110,111],[104,112],[92,95,103],[78,92],[65,71,92],[101,103],[71,95,102,105],[65,71,94,103],[71,92,96],[65,71,75,78,92,95,105],[65,71,96],[71,92]],"referencedMap":[[78,1],[79,2],[70,3],[68,4],[69,5],[71,6],[67,7],[88,7],[77,8],[109,7],[108,7],[89,7],[86,7],[90,7],[75,7],[81,9],[80,7],[74,7],[87,7],[93,7],[130,7],[131,10],[122,7],[133,11],[134,7],[135,7],[136,7],[137,7],[138,7],[132,7],[139,12],[140,12],[142,13],[143,14],[144,15],[145,16],[146,17],[147,18],[148,19],[149,20],[150,21],[151,22],[152,22],[154,23],[153,24],[155,23],[156,25],[157,26],[141,27],[191,7],[158,28],[159,29],[160,30],[192,31],[161,32],[162,33],[163,34],[164,35],[165,36],[166,37],[167,38],[168,39],[169,40],[170,41],[171,41],[172,42],[173,43],[175,44],[174,45],[176,46],[177,47],[178,48],[179,49],[180,50],[181,51],[182,52],[183,53],[184,54],[185,55],[186,56],[187,57],[188,58],[189,59],[190,60],[193,7],[194,7],[219,61],[220,62],[195,63],[198,63],[217,61],[218,61],[208,61],[207,64],[205,61],[200,61],[213,61],[211,61],[215,61],[199,61],[212,61],[216,61],[201,61],[202,61],[214,61],[196,61],[203,61],[204,61],[206,61],[210,61],[221,65],[209,61],[197,61],[234,66],[233,7],[228,65],[230,67],[229,65],[222,65],[223,65],[225,65],[227,65],[231,67],[232,67],[224,67],[226,67],[125,68],[124,7],[235,69],[236,70],[237,71],[66,72],[65,7],[76,7],[62,7],[63,7],[12,7],[13,7],[17,7],[16,7],[2,7],[18,7],[19,7],[20,7],[21,7],[22,7],[23,7],[24,7],[25,7],[3,7],[4,7],[29,7],[26,7],[27,7],[28,7],[30,7],[31,7],[32,7],[5,7],[33,7],[34,7],[35,7],[36,7],[6,7],[40,7],[37,7],[38,7],[39,7],[41,7],[7,7],[42,7],[47,7],[48,7],[43,7],[44,7],[45,7],[46,7],[8,7],[52,7],[49,7],[50,7],[51,7],[53,7],[9,7],[54,7],[55,7],[56,7],[59,7],[57,7],[58,7],[60,7],[10,7],[1,7],[11,7],[64,7],[61,7],[15,7],[14,7],[73,73],[72,74],[121,75],[82,74],[120,76],[83,77],[84,78],[85,79],[106,80],[104,81],[107,82],[123,83],[105,84],[103,85],[92,86],[126,87],[91,88],[116,89],[110,74],[117,90],[111,74],[112,91],[113,92],[114,7],[115,7],[97,74],[127,93],[128,93],[98,94],[100,95],[99,96],[129,97],[102,98],[118,99],[101,100],[94,101],[96,102],[95,103],[119,104]],"exportedModulesMap":[[78,1],[79,2],[70,3],[68,4],[69,5],[71,6],[67,7],[88,7],[77,8],[109,7],[108,7],[89,7],[86,7],[90,7],[75,7],[81,9],[80,7],[74,7],[87,7],[93,7],[130,7],[131,10],[122,7],[133,11],[134,7],[135,7],[136,7],[137,7],[138,7],[132,7],[139,12],[140,12],[142,13],[143,14],[144,15],[145,16],[146,17],[147,18],[148,19],[149,20],[150,21],[151,22],[152,22],[154,23],[153,24],[155,23],[156,25],[157,26],[141,27],[191,7],[158,28],[159,29],[160,30],[192,31],[161,32],[162,33],[163,34],[164,35],[165,36],[166,37],[167,38],[168,39],[169,40],[170,41],[171,41],[172,42],[173,43],[175,44],[174,45],[176,46],[177,47],[178,48],[179,49],[180,50],[181,51],[182,52],[183,53],[184,54],[185,55],[186,56],[187,57],[188,58],[189,59],[190,60],[193,7],[194,7],[219,61],[220,62],[195,63],[198,63],[217,61],[218,61],[208,61],[207,64],[205,61],[200,61],[213,61],[211,61],[215,61],[199,61],[212,61],[216,61],[201,61],[202,61],[214,61],[196,61],[203,61],[204,61],[206,61],[210,61],[221,65],[209,61],[197,61],[234,66],[233,7],[228,65],[230,67],[229,65],[222,65],[223,65],[225,65],[227,65],[231,67],[232,67],[224,67],[226,67],[125,68],[124,7],[235,69],[236,70],[237,71],[66,72],[65,7],[76,7],[62,7],[63,7],[12,7],[13,7],[17,7],[16,7],[2,7],[18,7],[19,7],[20,7],[21,7],[22,7],[23,7],[24,7],[25,7],[3,7],[4,7],[29,7],[26,7],[27,7],[28,7],[30,7],[31,7],[32,7],[5,7],[33,7],[34,7],[35,7],[36,7],[6,7],[40,7],[37,7],[38,7],[39,7],[41,7],[7,7],[42,7],[47,7],[48,7],[43,7],[44,7],[45,7],[46,7],[8,7],[52,7],[49,7],[50,7],[51,7],[53,7],[9,7],[54,7],[55,7],[56,7],[59,7],[57,7],[58,7],[60,7],[10,7],[1,7],[11,7],[64,7],[61,7],[15,7],[14,7],[73,105],[72,106],[121,107],[82,106],[120,108],[83,109],[84,110],[85,111],[106,112],[104,113],[107,114],[105,115],[103,116],[92,117],[91,118],[116,119],[110,106],[117,120],[111,106],[112,121],[113,122],[97,106],[98,123],[100,124],[99,125],[102,126],[118,127],[101,128],[94,129],[96,130],[95,131],[119,132]],"semanticDiagnosticsPerFile":[78,79,70,68,69,71,67,88,77,109,108,89,86,90,75,81,80,74,87,93,130,131,122,133,134,135,136,137,138,132,139,140,142,143,144,145,146,147,148,149,150,151,152,154,153,155,156,157,141,191,158,159,160,192,161,162,163,164,165,166,167,168,169,170,171,172,173,175,174,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,193,194,219,220,195,198,217,218,208,207,205,200,213,211,215,199,212,216,201,202,214,196,203,204,206,210,221,209,197,234,233,228,230,229,222,223,225,227,231,232,224,226,125,124,235,236,237,66,65,76,62,63,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,10,1,11,64,61,15,14,73,72,121,82,120,83,84,85,106,104,107,123,105,103,92,126,91,116,110,117,111,112,113,114,115,97,127,128,98,100,99,129,102,118,101,94,96,95,119],"latestChangedDtsFile":"./domains/script/PreloadScriptStorage.spec.d.ts"},"version":"5.1.6"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiServer/bidiServerRunner.js b/node_modules/chromium-bidi/lib/cjs/bidiServer/bidiServerRunner.js
index d5ddab4..01b9edd 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiServer/bidiServerRunner.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiServer/bidiServerRunner.js
@@ -87,7 +87,7 @@
             return response.end();
         });
         server.listen(bidiPort, () => {
-            (0, exports.debugInfo)('Server is listening on port', bidiPort);
+            (0, exports.debugInfo)('BiDi server is listening on port', bidiPort);
         });
         const wsServer = new websocket_1.default.server({
             httpServer: server,
@@ -142,6 +142,7 @@
         }
         catch { }
         return {
+            type: 'error',
             id: commandId,
             error: errorCode,
             message: errorMessage,
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiServer/bidiServerRunner.js.map b/node_modules/chromium-bidi/lib/cjs/bidiServer/bidiServerRunner.js.map
index 21c6db3..df960ab 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiServer/bidiServerRunner.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiServer/bidiServerRunner.js.map
@@ -1 +1 @@
-{"version":3,"file":"bidiServerRunner.js","sourceRoot":"","sources":["../../../src/bidiServer/bidiServerRunner.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"bidiServerRunner.js","sourceRoot":"","sources":["../../../src/bidiServer/bidiServerRunner.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiServer/index.js b/node_modules/chromium-bidi/lib/cjs/bidiServer/index.js
index 9d2972b..1648c49 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiServer/index.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiServer/index.js
@@ -32,39 +32,37 @@
         add_help: true,
         exit_on_error: true,
     });
-    parser.add_argument('-p', '--port', {
-        help: 'Port that BiDi server should listen to. Default is 8080.',
-        type: 'int',
-        default: process.env['PORT'] ?? 8080,
-    });
     parser.add_argument('-c', '--channel', {
         help: 'If set, the given installed Chrome Release Channel will be used ' +
             'instead of one pointed by Puppeteer version',
         choices: Object.values(browsers_1.ChromeReleaseChannel),
         default: browsers_1.ChromeReleaseChannel.DEV,
     });
-    parser.add_argument('-hl', '--headless', {
+    parser.add_argument('--headless', {
         help: 'Sets if browser should run in headless or headful mode. Default is true.',
         default: true,
     });
+    parser.add_argument('-p', '--port', {
+        help: 'Port that BiDi server should listen to. Default is 8080.',
+        type: 'int',
+        default: process.env['PORT'] ?? 8080,
+    });
     parser.add_argument('-v', '--verbose', {
         help: 'If present, the Mapper debug log, including CDP commands and events will be logged into the server output.',
         action: 'store_true',
         default: process.env['VERBOSE'] === 'true' || false,
     });
-    const args = parser.parse_known_args();
-    return args[0];
+    return parser.parse_known_args()[0];
 }
 (() => {
     try {
-        (0, bidiServerRunner_js_1.debugInfo)('Launching BiDi server');
         const args = parseArguments();
-        const bidiPort = args.port;
+        const { channel, port } = args;
         const headless = args.headless !== 'false';
         const verbose = args.verbose === true;
-        const chromeChannel = args.channel;
-        new bidiServerRunner_js_1.BidiServerRunner().run(bidiPort, (bidiServer) => {
-            return onNewBidiConnectionOpen(headless, chromeChannel, bidiServer, verbose);
+        (0, bidiServerRunner_js_1.debugInfo)('Launching BiDi server...');
+        new bidiServerRunner_js_1.BidiServerRunner().run(port, (bidiServer) => {
+            return onNewBidiConnectionOpen(channel, headless, bidiServer, verbose);
         });
         (0, bidiServerRunner_js_1.debugInfo)('BiDi server launched');
     }
@@ -81,7 +79,7 @@
  *
  * @return delegate to be called when the connection is closed
  */
-async function onNewBidiConnectionOpen(headless, chromeChannel, bidiTransport, verbose) {
+async function onNewBidiConnectionOpen(channel, headless, bidiTransport, verbose) {
     // 1. Launch the browser using @puppeteer/browsers.
     const profileDir = await (0, promises_1.mkdtemp)(path_1.default.join(os_1.default.tmpdir(), 'web-driver-bidi-server-'));
     // See https://github.com/GoogleChrome/chrome-launcher/blob/main/docs/chrome-flags-for-tools.md
@@ -89,6 +87,9 @@
         ...(headless ? ['--headless', '--hide-scrollbars', '--mute-audio'] : []),
         // keep-sorted start
         '--disable-component-update',
+        '--disable-default-apps',
+        '--disable-features=DialMediaRouteProvider',
+        '--disable-notifications',
         '--disable-popup-blocking',
         '--enable-automation',
         '--no-default-browser-check',
@@ -103,7 +104,7 @@
     const executablePath = process.env['BROWSER_BIN'] ??
         (0, browsers_1.computeSystemExecutablePath)({
             browser: browsers_1.Browser.CHROME,
-            channel: chromeChannel,
+            channel,
         });
     if (!executablePath) {
         throw new Error('Could not find Chrome binary');
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiServer/index.js.map b/node_modules/chromium-bidi/lib/cjs/bidiServer/index.js.map
index 33ecf7e..7df0089 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiServer/index.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiServer/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bidiServer/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/bidiServer/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiServer/tsconfig.tsbuildinfo b/node_modules/chromium-bidi/lib/cjs/bidiServer/tsconfig.tsbuildinfo
index 0c81a1c..156a00a 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiServer/tsconfig.tsbuildinfo
+++ b/node_modules/chromium-bidi/lib/cjs/bidiServer/tsconfig.tsbuildinfo
@@ -1 +1 @@
-{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../utils/transport.d.ts","../../../src/bidiServer/bidiServerRunner.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/browser-data/types.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromedriver.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromium.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/browser-data/browser-data.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/launch.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/Cache.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/install.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/detectPlatform.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/CLI.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/main.d.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../utils/log.d.ts","../../../node_modules/mitt/index.d.ts","../utils/EventEmitter.d.ts","../cdp/cdpClient.d.ts","../cdp/cdpConnection.d.ts","../utils/websocketTransport.d.ts","../../../src/bidiServer/mapperServer.ts","../../../src/bidiServer/mapperReader.ts","../../../src/bidiServer/index.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"9a60b92bca4c1257db03b349d58e63e4868cfc0d1c8d0ba60c2dbc63f4e6c9f6","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"b7feb7967c6c6003e11f49efa8f5de989484e0a6ba2e5a6c41b55f8b8bd85dba","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7823c8aa42d88e6cb454fe7dc56996c6fd174b28a9f050e9bdea1c25b7d114ea","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","93b7325b49dfbf613d940ed0e471216657b2d77459dac34f1b5b1678f08f884c","7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"8d81612302e009aacd595b125ae1530b6342f690eb83da7788503617d1362185","affectsGlobalScope":true},"7d2e3fea24c712c99c03ad8f556abedbfe105f87f1be10b95dbd409d24bc05a3",{"version":"211e3f15fbced4ab4be19f49ffa990b9ff20d749d33b65ff753be691e7616239","affectsGlobalScope":true},"374ca798f244e464346f14301dc2a8b4b111af1a83b49fffef5906c338a1f922","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","e596c9bb2f29a2699fdd4ae89139612652245192f67f45617c5a4b20832aaae9","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","1cdcfc1f624d6c08aa12c73935f6e13f095919cd99edf95752951796eb225729","216717f17c095cde1dc19375e1ab3af0a4a485355860c077a4f9d6ea59fab5b5","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"00dee7cdca8b8420c47ea4a31a34b8e8294013ebc4f463fd941e867e7bf05029","affectsGlobalScope":true},"80473bd0dd90ca1e166514c2dfead9d5803f9c51418864ca35abbeec6e6847e1","1c84b46267610a34028edfd0d035509341751262bac1062857f3c8df7aff7153","e6c86d83bd526c8bdb5d0bf935b8e72ce983763d600743f74d812fdf4abf4df6","a3d541d303ee505053f5dcbf9fafb65cac3d5631037501cd616195863a6c5740","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true},"bcebb922784739bdb34c18ee51095d25a92b560c78ccd2eaacd6bd00f7443d83","7ee6ed878c4528215c82b664fe0cfe80e8b4da6c0d4cc80869367868774db8b1","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"0715e4cd28ad471b2a93f3e552ff51a3ae423417a01a10aa1d3bc7c6b95059d6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","4f3fdeba4e28e21aa719c081b8dc8f91d47e12e773389b9d35679c08151c9d37","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","f69ff39996a61a0dd10f4bce73272b52e8024a4d58b13ab32bf4712909d0a2b7",{"version":"3c4ba1dd9b12ffa284b565063108f2f031d150ea15b8fafbdc17f5d2a07251f3","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","3d6c3d6b3bd42f1175d65cb74051c5f4ee2c1d2fbeb1facc5385e2161ce93005","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"a73ae8c0e62103bb9e21bb6538700881bf135b9a8b125b857ec68edfa0da4ed3","affectsGlobalScope":true},{"version":"e1c1b2fbe236bf7ee3e342eeae7e20efb8988a0ac7da1cbbfa2c1f66b76c3423","affectsGlobalScope":true},"6de4a219df57d2b27274d59b67708f13c2cbf7ed211abe57d8f9ab8b25cde776","0fe8985a28f82c450a04a6edf1279d7181c0893f37da7d2a27f8efd4fd5edb03","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"52120bb7e4583612225bdf08e7c12559548170f11e660d33a33623bae9bbdbba","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a6dd3dba8e665ac43d279e0fdf5219edda0eed69b5e9a5061f46cd6a65c4f7a1","aec59f80c62291ec634283d443b27ebe6fc6cf57670057aa9a172927675bfbea","79ba22c2f8762e45176343b04526160561032a5ff728022f2495cc7eebb85393",{"version":"675824198e2ba112079749004319b58385a20e5d5ba5672e41876401b4c286c2","signature":"fbdd9181b47d81c695858d2cea9fdf8b50d833d886a3dfd67347603ecd72d2bc"},"dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889","2dc5073ae1ecd704ba9183f2e2dcf10a83f9efd87bf15f5ea70a81cbb7b14ed0","410d40241a64bc73d46a7ecea49688fea4c5191a18d9a569a101c3e1a4d4bcbc","119916d1543cb43e7f2b0aec1faca12e7f02d4cbaa4aadbb9824bb7256888e98","18128209cadabace6a243f91bf4d7989097c78090460c5c6493f7b43818fa908","70b909a1f9770d38cb6abc3d3915fd7e7bb55e2d98959b0ecaf1c4f8c4c1db11","d36d07c3e63f5c939b8cfa6beed724f89045f5bbcd4006dd6f9d7a9805797c49","13463e75e566fcce94d542da4555df5b196b5a7964552aff85774e69ba048986","a4da0990248803cd25d8fe21c73064309765e0f43a8ee6d08b5cded45437e6e9","b943259fa6b2c68fbb4d762bc5bac4b288757accd0920eed2cd8ef53e7e908cc","45ea42815516ee805796147118e938fd34e89cb310edb574d9143f5a03ddd839","e7c414d0e7b513d4a6a1c4d365bfab3a24323752d3b270c49aab7c2fa550ad56","10cef9649954f9183f034bb3425933edff0815b09c88cd7a4f7d6a97d7376df7","bc80c81a2be49b8c770330d63bea8e1b84d80978236faa5eabaade1ca4daae6d","77c5c7f8578d139c74102a29384f5f4f0792a12d819ddcdcaf8307185ff2d45d","8572211bcaf477c972f873af2e9015c9dba9325fed4ab68214185a57872b3c12","4144f9222d63564d8572c921dd6ca8f824f4f92d66b2d34ed3d1ae70b5223cb4","980d84ab65a61d1979a22e5cd3322672e75fb148392b6903d08ccef59bbf530c","c528612deb832be691044b7bf66f59f3ad01928fba354ab517531f134fada876","83a4e9a5b851ae4746fc86aadf6fecee8cd6af5a79ed440efc507568d5960b26","2c2f370d306798b0c1cff0695ab13fae2e64dbb27356ba0ae6cfe1790f94791d","528728dd069d3ffccb6e4e10661a89b11ce58ad634f5048a62c1ce1ab60486c3",{"version":"bcc751678bcdc6bc1edd290db18c1f1eb0fdd5859469b3dba424ead6bdbf9794","signature":"c9dda166771309bdaddd6dcd086bdff2bfa1b306855d2e77a5c5ac131461a11a"},{"version":"03aca9979763f67da3f0164b21662873c46b02b8038954554b7521e8f8e4446f","signature":"c0c253b23c2cf563578fccc35d6a7d4002b965b583089f4da4caa6b10269ed74"},{"version":"e7e1642304660db25c2487af078eb357a874545268fb5974d490ea6f1211e9fb","signature":"1cea9d704415db3c242d7af9ca38dfebdfdd6a5a1e314f5c657769eb6f38537c"},{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"bee89e1eb6425eb49894f3f25e4562dc2564e84e5aa7610b7e13d8ecddf8f5db","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","8d41819b9e44145170afaf7b0bc0753e949e6cb2a2314bd36a8e7046f537f4a4","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"root":[123,[146,148]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"useUnknownInCatchVariables":true},"fileIdsList":[[113,139,142,144],[113,122,139,140,143],[113,141],[113],[113,122,138],[98,113,120,130],[113,130],[113,125,126,127,128,129],[113,126],[113,126,127],[113,125,127],[113,130,132],[72,113,120,130],[113,130,131,132,133,134,135],[113,149],[65,113],[67,113],[70,113],[71,76,104,113],[72,83,84,91,101,112,113],[72,73,83,91,113],[74,113],[75,76,84,92,113],[76,101,109,113],[77,79,83,91,113],[78,113],[79,80,113],[83,113],[81,83,113],[83,84,85,101,112,113],[83,84,85,98,101,104,113],[113,117],[79,86,91,101,112,113],[83,84,86,87,91,101,109,112,113],[86,88,101,109,112,113],[67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119],[83,89,113],[90,112,113],[79,83,91,101,113],[92,113],[93,113],[70,94,113],[95,111,113,117],[96,113],[97,113],[83,98,99,113],[98,100,113,115],[71,83,101,102,103,104,113],[71,101,103,113],[101,102,113],[104,113],[105,113],[83,107,108,113],[107,108,113],[76,91,101,109,113],[110,113],[91,111,113],[71,86,97,112,113],[76,113],[101,113,114],[113,115],[113,116],[71,76,83,85,94,101,112,113,115,117],[101,113,118],[113,158,197],[113,158,182,197],[113,197],[113,158],[113,158,183,197],[113,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196],[113,183,197],[113,198],[83,86,88,91,112,113,120],[83,86,88,101,109,112,113,118,120],[83,101,113,120],[113,137],[66,86,113,121,122],[85,92,93,113,122,123,124,136,146,147],[85,93,113],[66,113,137,138,140,143,144,145],[66,122]],"referencedMap":[[143,1],[144,2],[142,3],[140,4],[122,4],[145,5],[135,6],[132,7],[130,8],[127,9],[128,9],[129,10],[125,9],[126,11],[134,7],[133,12],[131,13],[136,14],[124,4],[150,15],[149,4],[66,16],[151,4],[152,4],[153,4],[154,4],[155,4],[65,4],[67,17],[68,17],[70,18],[71,19],[72,20],[73,21],[74,22],[75,23],[76,24],[77,25],[78,26],[79,27],[80,27],[82,28],[81,29],[83,28],[84,30],[85,31],[69,32],[119,4],[86,33],[87,34],[88,35],[120,36],[89,37],[90,38],[91,39],[92,40],[93,41],[94,42],[95,43],[96,44],[97,45],[98,46],[99,46],[100,47],[101,48],[103,49],[102,50],[104,51],[105,52],[106,4],[107,53],[108,54],[109,55],[110,56],[111,57],[112,58],[113,59],[114,60],[115,61],[116,62],[117,63],[118,64],[156,4],[157,4],[182,65],[183,66],[158,67],[161,67],[180,65],[181,65],[171,65],[170,68],[168,65],[163,65],[176,65],[174,65],[178,65],[162,65],[175,65],[179,65],[164,65],[165,65],[177,65],[159,65],[166,65],[167,65],[169,65],[173,65],[184,69],[172,65],[160,65],[197,70],[196,4],[191,69],[193,71],[192,69],[185,69],[186,69],[188,69],[190,69],[194,71],[195,71],[187,71],[189,71],[199,72],[198,4],[121,73],[138,74],[200,75],[139,76],[137,4],[141,4],[62,4],[63,4],[12,4],[13,4],[17,4],[16,4],[2,4],[18,4],[19,4],[20,4],[21,4],[22,4],[23,4],[24,4],[25,4],[3,4],[4,4],[29,4],[26,4],[27,4],[28,4],[30,4],[31,4],[32,4],[5,4],[33,4],[34,4],[35,4],[36,4],[6,4],[40,4],[37,4],[38,4],[39,4],[41,4],[7,4],[42,4],[47,4],[48,4],[43,4],[44,4],[45,4],[46,4],[8,4],[52,4],[49,4],[50,4],[51,4],[53,4],[9,4],[54,4],[55,4],[56,4],[59,4],[57,4],[58,4],[60,4],[10,4],[1,4],[11,4],[64,4],[61,4],[15,4],[14,4],[123,77],[148,78],[147,79],[146,80]],"exportedModulesMap":[[143,1],[144,2],[142,3],[140,4],[122,4],[145,5],[135,6],[132,7],[130,8],[127,9],[128,9],[129,10],[125,9],[126,11],[134,7],[133,12],[131,13],[136,14],[124,4],[150,15],[149,4],[66,16],[151,4],[152,4],[153,4],[154,4],[155,4],[65,4],[67,17],[68,17],[70,18],[71,19],[72,20],[73,21],[74,22],[75,23],[76,24],[77,25],[78,26],[79,27],[80,27],[82,28],[81,29],[83,28],[84,30],[85,31],[69,32],[119,4],[86,33],[87,34],[88,35],[120,36],[89,37],[90,38],[91,39],[92,40],[93,41],[94,42],[95,43],[96,44],[97,45],[98,46],[99,46],[100,47],[101,48],[103,49],[102,50],[104,51],[105,52],[106,4],[107,53],[108,54],[109,55],[110,56],[111,57],[112,58],[113,59],[114,60],[115,61],[116,62],[117,63],[118,64],[156,4],[157,4],[182,65],[183,66],[158,67],[161,67],[180,65],[181,65],[171,65],[170,68],[168,65],[163,65],[176,65],[174,65],[178,65],[162,65],[175,65],[179,65],[164,65],[165,65],[177,65],[159,65],[166,65],[167,65],[169,65],[173,65],[184,69],[172,65],[160,65],[197,70],[196,4],[191,69],[193,71],[192,69],[185,69],[186,69],[188,69],[190,69],[194,71],[195,71],[187,71],[189,71],[199,72],[198,4],[121,73],[138,74],[200,75],[139,76],[137,4],[141,4],[62,4],[63,4],[12,4],[13,4],[17,4],[16,4],[2,4],[18,4],[19,4],[20,4],[21,4],[22,4],[23,4],[24,4],[25,4],[3,4],[4,4],[29,4],[26,4],[27,4],[28,4],[30,4],[31,4],[32,4],[5,4],[33,4],[34,4],[35,4],[36,4],[6,4],[40,4],[37,4],[38,4],[39,4],[41,4],[7,4],[42,4],[47,4],[48,4],[43,4],[44,4],[45,4],[46,4],[8,4],[52,4],[49,4],[50,4],[51,4],[53,4],[9,4],[54,4],[55,4],[56,4],[59,4],[57,4],[58,4],[60,4],[10,4],[1,4],[11,4],[64,4],[61,4],[15,4],[14,4],[123,81]],"semanticDiagnosticsPerFile":[143,144,142,140,122,145,135,132,130,127,128,129,125,126,134,133,131,136,124,150,149,66,151,152,153,154,155,65,67,68,70,71,72,73,74,75,76,77,78,79,80,82,81,83,84,85,69,119,86,87,88,120,89,90,91,92,93,94,95,96,97,98,99,100,101,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,156,157,182,183,158,161,180,181,171,170,168,163,176,174,178,162,175,179,164,165,177,159,166,167,169,173,184,172,160,197,196,191,193,192,185,186,188,190,194,195,187,189,199,198,121,138,200,139,137,141,62,63,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,10,1,11,64,61,15,14,123,148,147,146],"latestChangedDtsFile":"./index.d.ts"},"version":"5.0.4"}
\ No newline at end of file
+{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../utils/transport.d.ts","../../../src/bidiServer/bidiServerRunner.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/browser-data/types.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromedriver.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromium.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/browser-data/browser-data.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/launch.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/Cache.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/install.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/detectPlatform.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/CLI.d.ts","../../../node_modules/@puppeteer/browsers/lib/cjs/main.d.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../utils/log.d.ts","../../../node_modules/mitt/index.d.ts","../utils/EventEmitter.d.ts","../cdp/cdpClient.d.ts","../cdp/cdpConnection.d.ts","../utils/websocketTransport.d.ts","../../../src/bidiServer/mapperServer.ts","../../../src/bidiServer/mapperReader.ts","../../../src/bidiServer/index.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"3dda5344576193a4ae48b8d03f105c86f20b2f2aff0a1d1fd7935f5d68649654","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"9d9885c728913c1d16e0d2831b40341d6ad9a0ceecaabc55209b306ad9c736a5","affectsGlobalScope":true},{"version":"17bea081b9c0541f39dd1ae9bc8c78bdd561879a682e60e2f25f688c0ecab248","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f06948deb2a51aae25184561c9640fb66afeddb34531a9212d011792b1d19e0a","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"930b0e15811f84e203d3c23508674d5ded88266df4b10abee7b31b2ac77632d2","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7823c8aa42d88e6cb454fe7dc56996c6fd174b28a9f050e9bdea1c25b7d114ea","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","93b7325b49dfbf613d940ed0e471216657b2d77459dac34f1b5b1678f08f884c","587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","aec59f80c62291ec634283d443b27ebe6fc6cf57670057aa9a172927675bfbea","79ba22c2f8762e45176343b04526160561032a5ff728022f2495cc7eebb85393",{"version":"8fb2722305a4f6a9178a4087aab7c3120b7370a677a62a6ca21568e07c8fa3cb","signature":"fbdd9181b47d81c695858d2cea9fdf8b50d833d886a3dfd67347603ecd72d2bc"},"dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889","2dc5073ae1ecd704ba9183f2e2dcf10a83f9efd87bf15f5ea70a81cbb7b14ed0","410d40241a64bc73d46a7ecea49688fea4c5191a18d9a569a101c3e1a4d4bcbc","119916d1543cb43e7f2b0aec1faca12e7f02d4cbaa4aadbb9824bb7256888e98","5087e6896beddb618cf9a408def1d15f77584efddb0b75cb00f6c479b8ac2688","cfd78adaf053c08052844bc1ac459f0c7a71b3ba6f1095ff187b01b191f94bcb","d36d07c3e63f5c939b8cfa6beed724f89045f5bbcd4006dd6f9d7a9805797c49","13463e75e566fcce94d542da4555df5b196b5a7964552aff85774e69ba048986","08f7bc939fa9da75bbe4cea1b59469fafe7b1276f2c799d119572c820eca1c5b","058d3f7c746f78c210389460d7052a27c0fe2f936bda47578bc5b006b838e1ac","45ea42815516ee805796147118e938fd34e89cb310edb574d9143f5a03ddd839","e7c414d0e7b513d4a6a1c4d365bfab3a24323752d3b270c49aab7c2fa550ad56","477621c9479bee6cdeed1981888c1e01637909dabf98380c9f2887a0f1b16d3a","ec01464e62357ddcc0900f59beef6bf02e419f6dbe74dbb99cac60a89d3dcdb6","2dd1d4cea14cead7a7fc9eec8f40593089dff0de8c0199458446143c9b8c4ea9","8f42ab85547ff7cf44c75d0922a19e9123aef43e286d4f22bdbb6fbf1fcc7e4a","4144f9222d63564d8572c921dd6ca8f824f4f92d66b2d34ed3d1ae70b5223cb4","980d84ab65a61d1979a22e5cd3322672e75fb148392b6903d08ccef59bbf530c","d53b184dc5221f3a6375846dd5f7dbc13289c59333afe08353421f8463bee724","e8163b210a1412149ca4b63b69273dabbe3a4e22f65ad4caf53b7b93bc929aaf","eb2b9bb1514d1b6972a0f1e553af2d1f1f2f41403e9e3582fa0ac6dc6656bc4b","528728dd069d3ffccb6e4e10661a89b11ce58ad634f5048a62c1ce1ab60486c3",{"version":"bcc751678bcdc6bc1edd290db18c1f1eb0fdd5859469b3dba424ead6bdbf9794","signature":"c9dda166771309bdaddd6dcd086bdff2bfa1b306855d2e77a5c5ac131461a11a"},{"version":"03aca9979763f67da3f0164b21662873c46b02b8038954554b7521e8f8e4446f","signature":"c0c253b23c2cf563578fccc35d6a7d4002b965b583089f4da4caa6b10269ed74"},{"version":"9d76291c7570a07d2ffece03ef89f8d3316f5ac3f027da7af53ff8c3f97550a0","signature":"1cea9d704415db3c242d7af9ca38dfebdfdd6a5a1e314f5c657769eb6f38537c"},{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"bee89e1eb6425eb49894f3f25e4562dc2564e84e5aa7610b7e13d8ecddf8f5db","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","b9f96255e1048ed2ea33ec553122716f0e57fc1c3ad778e9aa15f5b46547bd23","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","a1a261624efb3a00ff346b13580f70f3463b8cdcc58b60f5793ff11785d52cab","f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","cffac9db07bba0b35754412e48215d1bc5153c03c46409bbeaf315848359822b","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"root":[123,[146,148]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"useUnknownInCatchVariables":true},"fileIdsList":[[113,137,139,142,144],[113,122,137,139,140,143],[113,141],[113],[113,122,138],[98,113,120,130],[113,130],[113,125,126,127,128,129],[113,126],[113,125,127],[113,130,132],[72,113,120,130],[113,130,131,132,133,134,135],[113,149],[65,113],[67,113],[70,113],[71,76,104,113],[72,83,84,91,101,112,113],[72,73,83,91,113],[74,113],[75,76,84,92,113],[76,101,109,113],[77,79,83,91,113],[78,113],[79,80,113],[83,113],[81,83,113],[83,84,85,101,112,113],[83,84,85,98,101,104,113],[113,117],[79,83,86,91,101,112,113],[83,84,86,87,91,101,109,112,113],[86,88,101,109,112,113],[67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119],[83,89,113],[90,112,113],[79,83,91,101,113],[92,113],[93,113],[70,94,113],[95,111,113,117],[96,113],[97,113],[83,98,99,113],[98,100,113,115],[71,83,101,102,103,104,113],[71,101,103,113],[101,102,113],[104,113],[105,113],[101,113],[83,107,108,113],[107,108,113],[76,91,101,109,113],[110,113],[91,111,113],[71,86,97,112,113],[76,113],[101,113,114],[113,115],[113,116],[71,76,83,85,94,101,112,113,115,117],[101,113,118],[113,158,197],[113,158,182,197],[113,197],[113,158],[113,158,183,197],[113,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196],[113,183,197],[113,198],[83,86,88,91,112,113,120],[83,86,88,101,109,112,113,118,120],[83,101,113,120],[113,137],[66,86,113,121,122],[85,92,93,113,122,123,124,136,146,147],[85,93,113],[66,113,137,138,140,143,144,145],[66,122]],"referencedMap":[[143,1],[144,2],[142,3],[140,4],[122,4],[145,5],[135,6],[132,7],[130,8],[127,9],[128,9],[129,9],[125,9],[126,10],[134,7],[133,11],[131,12],[136,13],[124,4],[150,14],[149,4],[66,15],[151,4],[152,4],[153,4],[154,4],[155,4],[65,4],[67,16],[68,16],[70,17],[71,18],[72,19],[73,20],[74,21],[75,22],[76,23],[77,24],[78,25],[79,26],[80,26],[82,27],[81,28],[83,27],[84,29],[85,30],[69,31],[119,4],[86,32],[87,33],[88,34],[120,35],[89,36],[90,37],[91,38],[92,39],[93,40],[94,41],[95,42],[96,43],[97,44],[98,45],[99,45],[100,46],[101,47],[103,48],[102,49],[104,50],[105,51],[106,52],[107,53],[108,54],[109,55],[110,56],[111,57],[112,58],[113,59],[114,60],[115,61],[116,62],[117,63],[118,64],[156,4],[157,4],[182,65],[183,66],[158,67],[161,67],[180,65],[181,65],[171,65],[170,68],[168,65],[163,65],[176,65],[174,65],[178,65],[162,65],[175,65],[179,65],[164,65],[165,65],[177,65],[159,65],[166,65],[167,65],[169,65],[173,65],[184,69],[172,65],[160,65],[197,70],[196,4],[191,69],[193,71],[192,69],[185,69],[186,69],[188,69],[190,69],[194,71],[195,71],[187,71],[189,71],[199,72],[198,4],[121,73],[138,74],[200,75],[139,76],[137,4],[141,4],[62,4],[63,4],[12,4],[13,4],[17,4],[16,4],[2,4],[18,4],[19,4],[20,4],[21,4],[22,4],[23,4],[24,4],[25,4],[3,4],[4,4],[29,4],[26,4],[27,4],[28,4],[30,4],[31,4],[32,4],[5,4],[33,4],[34,4],[35,4],[36,4],[6,4],[40,4],[37,4],[38,4],[39,4],[41,4],[7,4],[42,4],[47,4],[48,4],[43,4],[44,4],[45,4],[46,4],[8,4],[52,4],[49,4],[50,4],[51,4],[53,4],[9,4],[54,4],[55,4],[56,4],[59,4],[57,4],[58,4],[60,4],[10,4],[1,4],[11,4],[64,4],[61,4],[15,4],[14,4],[123,77],[148,78],[147,79],[146,80]],"exportedModulesMap":[[143,1],[144,2],[142,3],[140,4],[122,4],[145,5],[135,6],[132,7],[130,8],[127,9],[128,9],[129,9],[125,9],[126,10],[134,7],[133,11],[131,12],[136,13],[124,4],[150,14],[149,4],[66,15],[151,4],[152,4],[153,4],[154,4],[155,4],[65,4],[67,16],[68,16],[70,17],[71,18],[72,19],[73,20],[74,21],[75,22],[76,23],[77,24],[78,25],[79,26],[80,26],[82,27],[81,28],[83,27],[84,29],[85,30],[69,31],[119,4],[86,32],[87,33],[88,34],[120,35],[89,36],[90,37],[91,38],[92,39],[93,40],[94,41],[95,42],[96,43],[97,44],[98,45],[99,45],[100,46],[101,47],[103,48],[102,49],[104,50],[105,51],[106,52],[107,53],[108,54],[109,55],[110,56],[111,57],[112,58],[113,59],[114,60],[115,61],[116,62],[117,63],[118,64],[156,4],[157,4],[182,65],[183,66],[158,67],[161,67],[180,65],[181,65],[171,65],[170,68],[168,65],[163,65],[176,65],[174,65],[178,65],[162,65],[175,65],[179,65],[164,65],[165,65],[177,65],[159,65],[166,65],[167,65],[169,65],[173,65],[184,69],[172,65],[160,65],[197,70],[196,4],[191,69],[193,71],[192,69],[185,69],[186,69],[188,69],[190,69],[194,71],[195,71],[187,71],[189,71],[199,72],[198,4],[121,73],[138,74],[200,75],[139,76],[137,4],[141,4],[62,4],[63,4],[12,4],[13,4],[17,4],[16,4],[2,4],[18,4],[19,4],[20,4],[21,4],[22,4],[23,4],[24,4],[25,4],[3,4],[4,4],[29,4],[26,4],[27,4],[28,4],[30,4],[31,4],[32,4],[5,4],[33,4],[34,4],[35,4],[36,4],[6,4],[40,4],[37,4],[38,4],[39,4],[41,4],[7,4],[42,4],[47,4],[48,4],[43,4],[44,4],[45,4],[46,4],[8,4],[52,4],[49,4],[50,4],[51,4],[53,4],[9,4],[54,4],[55,4],[56,4],[59,4],[57,4],[58,4],[60,4],[10,4],[1,4],[11,4],[64,4],[61,4],[15,4],[14,4],[123,81]],"semanticDiagnosticsPerFile":[143,144,142,140,122,145,135,132,130,127,128,129,125,126,134,133,131,136,124,150,149,66,151,152,153,154,155,65,67,68,70,71,72,73,74,75,76,77,78,79,80,82,81,83,84,85,69,119,86,87,88,120,89,90,91,92,93,94,95,96,97,98,99,100,101,103,102,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,156,157,182,183,158,161,180,181,171,170,168,163,176,174,178,162,175,179,164,165,177,159,166,167,169,173,184,172,160,197,196,191,193,192,185,186,188,190,194,195,187,189,199,198,121,138,200,139,137,141,62,63,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,10,1,11,64,61,15,14,123,148,147,146],"latestChangedDtsFile":"./index.d.ts"},"version":"5.1.6"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiTab/BidiParserImpl.d.ts b/node_modules/chromium-bidi/lib/cjs/bidiTab/BidiParserImpl.d.ts
new file mode 100644
index 0000000..86fc695
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiTab/BidiParserImpl.d.ts
@@ -0,0 +1,41 @@
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import type { BidiParser } from '../bidiMapper/bidiMapper.js';
+import type { BrowsingContext, Cdp, Input, Script, Session } from '../protocol/protocol';
+export declare class BidiParserImpl implements BidiParser {
+    parseActivateParams(params: unknown): BrowsingContext.ActivateParameters;
+    parseCaptureScreenshotParams(params: unknown): BrowsingContext.CaptureScreenshotParameters;
+    parseCloseParams(params: unknown): BrowsingContext.CloseParameters;
+    parseCreateParams(params: unknown): BrowsingContext.CreateParameters;
+    parseGetTreeParams(params: unknown): BrowsingContext.GetTreeParameters;
+    parseHandleUserPromptParams(params: unknown): BrowsingContext.HandleUserPromptParameters;
+    parseNavigateParams(params: unknown): BrowsingContext.NavigateParameters;
+    parsePrintParams(params: unknown): BrowsingContext.PrintParameters;
+    parseReloadParams(params: unknown): BrowsingContext.ReloadParameters;
+    parseSetViewportParams(params: unknown): BrowsingContext.SetViewportParameters;
+    parseGetSessionParams(params: unknown): Cdp.GetSessionParameters;
+    parseSendCommandParams(params: unknown): Cdp.SendCommandParameters;
+    parsePerformActionsParams(params: unknown): Input.PerformActionsParameters;
+    parseReleaseActionsParams(params: unknown): Input.ReleaseActionsParameters;
+    parseAddPreloadScriptParams(params: unknown): Script.AddPreloadScriptParameters;
+    parseCallFunctionParams(params: unknown): Script.CallFunctionParameters;
+    parseDisownParams(params: unknown): Script.DisownParameters;
+    parseEvaluateParams(params: unknown): Script.EvaluateParameters;
+    parseGetRealmsParams(params: unknown): Script.GetRealmsParameters;
+    parseRemovePreloadScriptParams(params: unknown): Script.RemovePreloadScriptParameters;
+    parseSubscribeParams(params: unknown): Session.SubscriptionRequest;
+}
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiTab/BidiParserImpl.js b/node_modules/chromium-bidi/lib/cjs/bidiTab/BidiParserImpl.js
new file mode 100644
index 0000000..97534be
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiTab/BidiParserImpl.js
@@ -0,0 +1,108 @@
+"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.BidiParserImpl = void 0;
+const Parser = __importStar(require("../protocol-parser/protocol-parser.js"));
+class BidiParserImpl {
+    // Browsing Context domain
+    // keep-sorted start block=yes
+    parseActivateParams(params) {
+        return Parser.BrowsingContext.parseActivateParams(params);
+    }
+    parseCaptureScreenshotParams(params) {
+        return Parser.BrowsingContext.parseCaptureScreenshotParams(params);
+    }
+    parseCloseParams(params) {
+        return Parser.BrowsingContext.parseCloseParams(params);
+    }
+    parseCreateParams(params) {
+        return Parser.BrowsingContext.parseCreateParams(params);
+    }
+    parseGetTreeParams(params) {
+        return Parser.BrowsingContext.parseGetTreeParams(params);
+    }
+    parseHandleUserPromptParams(params) {
+        return Parser.BrowsingContext.parseHandleUserPromptParameters(params);
+    }
+    parseNavigateParams(params) {
+        return Parser.BrowsingContext.parseNavigateParams(params);
+    }
+    parsePrintParams(params) {
+        return Parser.BrowsingContext.parsePrintParams(params);
+    }
+    parseReloadParams(params) {
+        return Parser.BrowsingContext.parseReloadParams(params);
+    }
+    parseSetViewportParams(params) {
+        return Parser.BrowsingContext.parseSetViewportParams(params);
+    }
+    // keep-sorted end
+    // CDP domain
+    // keep-sorted start block=yes
+    parseGetSessionParams(params) {
+        return Parser.Cdp.parseGetSessionRequest(params);
+    }
+    parseSendCommandParams(params) {
+        return Parser.Cdp.parseSendCommandRequest(params);
+    }
+    // keep-sorted end
+    // Input domain
+    // keep-sorted start block=yes
+    parsePerformActionsParams(params) {
+        return Parser.Input.parsePerformActionsParams(params);
+    }
+    parseReleaseActionsParams(params) {
+        return Parser.Input.parseReleaseActionsParams(params);
+    }
+    // keep-sorted end
+    // Script domain
+    // keep-sorted start block=yes
+    parseAddPreloadScriptParams(params) {
+        return Parser.Script.parseAddPreloadScriptParams(params);
+    }
+    parseCallFunctionParams(params) {
+        return Parser.Script.parseCallFunctionParams(params);
+    }
+    parseDisownParams(params) {
+        return Parser.Script.parseDisownParams(params);
+    }
+    parseEvaluateParams(params) {
+        return Parser.Script.parseEvaluateParams(params);
+    }
+    parseGetRealmsParams(params) {
+        return Parser.Script.parseGetRealmsParams(params);
+    }
+    parseRemovePreloadScriptParams(params) {
+        return Parser.Script.parseRemovePreloadScriptParams(params);
+    }
+    // keep-sorted end
+    // Session domain
+    // keep-sorted start block=yes
+    parseSubscribeParams(params) {
+        return Parser.Session.parseSubscribeParams(params);
+    }
+}
+exports.BidiParserImpl = BidiParserImpl;
+//# sourceMappingURL=BidiParserImpl.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiTab/BidiParserImpl.js.map b/node_modules/chromium-bidi/lib/cjs/bidiTab/BidiParserImpl.js.map
new file mode 100644
index 0000000..f1bd8ac
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/bidiTab/BidiParserImpl.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"BidiParserImpl.js","sourceRoot":"","sources":["../../../src/bidiTab/BidiParserImpl.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiTab/bidiTab.js b/node_modules/chromium-bidi/lib/cjs/bidiTab/bidiTab.js
index 59f853e..ce0f3ac 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiTab/bidiTab.js
+++ b/node_modules/chromium-bidi/lib/cjs/bidiTab/bidiTab.js
@@ -17,35 +17,11 @@
  *
  * @license
  */
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
-    if (k2 === undefined) k2 = k;
-    var desc = Object.getOwnPropertyDescriptor(m, k);
-    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-      desc = { enumerable: true, get: function() { return m[k]; } };
-    }
-    Object.defineProperty(o, k2, desc);
-}) : (function(o, m, k, k2) {
-    if (k2 === undefined) k2 = k;
-    o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
-    Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
-    o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
-    if (mod && mod.__esModule) return mod;
-    var result = {};
-    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
-    __setModuleDefault(result, mod);
-    return result;
-};
 Object.defineProperty(exports, "__esModule", { value: true });
-const Parser = __importStar(require("../protocol-parser/protocol-parser.js"));
-const protocol_1 = require("../protocol/protocol");
 const bidiMapper_js_1 = require("../bidiMapper/bidiMapper.js");
 const cdpConnection_js_1 = require("../cdp/cdpConnection.js");
 const log_js_1 = require("../utils/log.js");
+const BidiParserImpl_1 = require("./BidiParserImpl");
 const mapperTabPage_js_1 = require("./mapperTabPage.js");
 // Initiate `setSelfTargetId` as soon as possible to prevent race condition.
 const waitSelfTargetIdPromise = waitSelfTargetId();
@@ -55,7 +31,9 @@
     const selfTargetId = await waitSelfTargetIdPromise;
     const bidiServer = await createBidiServer(selfTargetId);
     (0, mapperTabPage_js_1.log)(log_js_1.LogType.system, 'Launched');
-    bidiServer.emitOutgoingMessage(bidiMapper_js_1.OutgoingBidiMessage.createResolved({ launched: true }, null));
+    bidiServer.emitOutgoingMessage(bidiMapper_js_1.OutgoingBidiMessage.createResolved({
+        launched: true,
+    }));
 })();
 function createCdpConnection() {
     /**
@@ -94,7 +72,7 @@
                 }
                 catch (e) {
                     // Transport-level error does not provide channel.
-                    this.#respondWithError(messageStr, protocol_1.Message.ErrorCode.InvalidArgument, e.message, null);
+                    this.#respondWithError(messageStr, "invalid argument" /* ErrorCode.InvalidArgument */, e.message, null);
                     return;
                 }
                 this.#onMessage?.call(null, messageObject);
@@ -147,6 +125,7 @@
             }
             catch { }
             return {
+                type: 'error',
                 id: messageId,
                 error: errorCode,
                 message: errorMessage,
@@ -195,66 +174,7 @@
             return { id, method, params, channel };
         }
     }
-    return bidiMapper_js_1.BidiServer.createAndStart(new WindowBidiTransport(), createCdpConnection(), selfTargetId, new BidiParserImpl(), mapperTabPage_js_1.log);
-}
-class BidiParserImpl {
-    parseAddPreloadScriptParams(params) {
-        return Parser.Script.parseAddPreloadScriptParams(params);
-    }
-    parseRemovePreloadScriptParams(params) {
-        return Parser.Script.parseRemovePreloadScriptParams(params);
-    }
-    parseGetRealmsParams(params) {
-        return Parser.Script.parseGetRealmsParams(params);
-    }
-    parseCallFunctionParams(params) {
-        return Parser.Script.parseCallFunctionParams(params);
-    }
-    parseEvaluateParams(params) {
-        return Parser.Script.parseEvaluateParams(params);
-    }
-    parseDisownParams(params) {
-        return Parser.Script.parseDisownParams(params);
-    }
-    parseSendCommandParams(params) {
-        return Parser.Cdp.parseSendCommandParams(params);
-    }
-    parseGetSessionParams(params) {
-        return Parser.Cdp.parseGetSessionParams(params);
-    }
-    parseSubscribeParams(params) {
-        return Parser.Session.parseSubscribeParams(params);
-    }
-    parseNavigateParams(params) {
-        return Parser.BrowsingContext.parseNavigateParams(params);
-    }
-    parseReloadParams(params) {
-        return Parser.BrowsingContext.parseReloadParams(params);
-    }
-    parseGetTreeParams(params) {
-        return Parser.BrowsingContext.parseGetTreeParams(params);
-    }
-    parseCreateParams(params) {
-        return Parser.BrowsingContext.parseCreateParams(params);
-    }
-    parseCloseParams(params) {
-        return Parser.BrowsingContext.parseCloseParams(params);
-    }
-    parseCaptureScreenshotParams(params) {
-        return Parser.BrowsingContext.parseCaptureScreenshotParams(params);
-    }
-    parsePrintParams(params) {
-        return Parser.BrowsingContext.parsePrintParams(params);
-    }
-    parsePerformActionsParams(params) {
-        return Parser.Input.parsePerformActionsParams(params);
-    }
-    parseReleaseActionsParams(params) {
-        return Parser.Input.parseReleaseActionsParams(params);
-    }
-    parseSetViewportParams(params) {
-        return Parser.BrowsingContext.parseSetViewportParams(params);
-    }
+    return bidiMapper_js_1.BidiServer.createAndStart(new WindowBidiTransport(), createCdpConnection(), selfTargetId, new BidiParserImpl_1.BidiParserImpl(), mapperTabPage_js_1.log);
 }
 // Needed to filter out info related to BiDi target.
 async function waitSelfTargetId() {
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiTab/bidiTab.js.map b/node_modules/chromium-bidi/lib/cjs/bidiTab/bidiTab.js.map
index 25f95a3..9fcbc0d 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiTab/bidiTab.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/bidiTab/bidiTab.js.map
@@ -1 +1 @@
-{"version":3,"file":"bidiTab.js","sourceRoot":"","sources":["../../../src/bidiTab/bidiTab.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"bidiTab.js","sourceRoot":"","sources":["../../../src/bidiTab/bidiTab.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/bidiTab/tsconfig.tsbuildinfo b/node_modules/chromium-bidi/lib/cjs/bidiTab/tsconfig.tsbuildinfo
index 2452c5c..94c9657 100644
--- a/node_modules/chromium-bidi/lib/cjs/bidiTab/tsconfig.tsbuildinfo
+++ b/node_modules/chromium-bidi/lib/cjs/bidiTab/tsconfig.tsbuildinfo
@@ -1 +1 @@
-{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/zod/lib/helpers/typeAliases.d.ts","../../../node_modules/zod/lib/helpers/util.d.ts","../../../node_modules/zod/lib/ZodError.d.ts","../../../node_modules/zod/lib/locales/en.d.ts","../../../node_modules/zod/lib/errors.d.ts","../../../node_modules/zod/lib/helpers/parseUtil.d.ts","../../../node_modules/zod/lib/helpers/enumUtil.d.ts","../../../node_modules/zod/lib/helpers/errorUtil.d.ts","../../../node_modules/zod/lib/helpers/partialUtil.d.ts","../../../node_modules/zod/lib/types.d.ts","../../../node_modules/zod/lib/external.d.ts","../../../node_modules/zod/lib/index.d.ts","../../../node_modules/zod/index.d.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../protocol/protocol.d.ts","../protocol-parser/protocol-parser.d.ts","../../../node_modules/mitt/index.d.ts","../utils/EventEmitter.d.ts","../utils/log.d.ts","../utils/transport.d.ts","../cdp/cdpClient.d.ts","../cdp/cdpConnection.d.ts","../bidiMapper/domains/events/EventManager.d.ts","../bidiMapper/domains/script/realmStorage.d.ts","../bidiMapper/domains/script/realm.d.ts","../utils/deferred.d.ts","../bidiMapper/domains/script/channelProxy.d.ts","../bidiMapper/domains/context/bidiPreloadScript.d.ts","../bidiMapper/domains/context/PreloadScriptStorage.d.ts","../bidiMapper/domains/context/cdpTarget.d.ts","../bidiMapper/domains/context/browsingContextImpl.d.ts","../bidiMapper/domains/context/browsingContextStorage.d.ts","../bidiMapper/OutgoingBidiMessage.d.ts","../bidiMapper/CommandProcessor.d.ts","../bidiMapper/BidiTransport.d.ts","../bidiMapper/BidiServer.d.ts","../bidiMapper/bidiMapper.d.ts","../../../src/bidiTab/mapperTabPage.ts","../../../src/bidiTab/bidiTab.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"b7feb7967c6c6003e11f49efa8f5de989484e0a6ba2e5a6c41b55f8b8bd85dba","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"5487b97cfa28b26b4a9ef0770f872bdbebd4c46124858de00f242c3eed7519f4","7a01f546ace66019156e4232a1bee2fabc2f8eabeb052473d926ee1693956265","fb53b1c6a6c799b7e3cc2de3fb5c9a1c04a1c60d4380a37792d84c5f8b33933b","8485b6da53ec35637d072e516631d25dae53984500de70a6989058f24354666f","ebe80346928736532e4a822154eb77f57ef3389dbe2b3ba4e571366a15448ef2","c2cb3c8ff388781258ea9ddbcd8a947f751bddd6886e1d3b3ea09ddaa895df80","f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","98a9cc18f661d28e6bd31c436e1984f3980f35e0f0aa9cf795c54f8ccb667ffe","c76b0c5727302341d0bdfa2cc2cee4b19ff185b554edb6e8543f0661d8487116","19903057d0249e45c579bef2b771c37609e4853a8b88adbb0b6b63f9e1d1f372","f5ef066942e4f0bd98200aa6a6694b831e73200c9b3ade77ad0aa2409e8fe1b1","b9e99cd94f4166a245f5158f7286c05406e2a4c694619bceb7a4f3519d1d768e","5568d7c32e5cf5f35e092649f4e5e168c3114c800b1d7545b7ae5e0415704802","bc80c81a2be49b8c770330d63bea8e1b84d80978236faa5eabaade1ca4daae6d","8572211bcaf477c972f873af2e9015c9dba9325fed4ab68214185a57872b3c12","3bb597af9b7d6774dbd415191686cc9337b45b241451844908ca2a42eae31114","c1084778bed819eab8bd5fe284d482b01406a72a49a220941a422c147da73358","980d84ab65a61d1979a22e5cd3322672e75fb148392b6903d08ccef59bbf530c","c528612deb832be691044b7bf66f59f3ad01928fba354ab517531f134fada876","4144f9222d63564d8572c921dd6ca8f824f4f92d66b2d34ed3d1ae70b5223cb4","79ba22c2f8762e45176343b04526160561032a5ff728022f2495cc7eebb85393","83a4e9a5b851ae4746fc86aadf6fecee8cd6af5a79ed440efc507568d5960b26","2c2f370d306798b0c1cff0695ab13fae2e64dbb27356ba0ae6cfe1790f94791d","17aedfa943d8f5fe507862d82e8ebfc9d1cd9f4da9852cb52aea3e472e571f8d","e309b11b8bce4140c19782cc0b762b16c2e1ab7fc25fc060a20bca9f10b9b7a9","b10162b54a63e193404fffbd240dcc2b68a725b1ea268b8e1a63c748e3bf0985","5c158d84e67a700b665b44383ea7aa7da156fa75fb1de4fe5fe41f2681c3495a","9191bc4f44b3dd87ac9d45bb2aeef2118cc83da5f393c6eea6a8f5ed09b63356","cb0f49d6464886a4cee3f3b23b30e10caa231c6a50e1e469724192adad0d196f","c131bb5dd6e910aaf89d9d1499bdf698646c1e398861fd1241a8a40029c910cf","71e5c1f1fc8d5b013f321a9f50ad8134e38131935326d0ed82cbf94182093022","9b8fb624203b95178f3cb5060532ead3cd40f858e5ac092116d06004acffc9d7","ddc1f01fd6b9a305b4b2fda75b6e89f6ef53b8f7843498bd8201dacdff96f603","bd719836960a85fc163b06e521b0d83137ca5778eb445b4745935a3543d46fb1","c45e6047b3c86e0a8c35158ccb618f0f99ad8e0d167efb1eb60398b6d0600ec4","e6fd8b8e78e0e75949167cd05c52be46e525d0dd929fa3dca5ad9a61ed191934","b5b6f97e5d55ece9cec8cd1c2ab563511ac38e1f276fc28625a725d9af6385b7","1e2f77ee2bb4d6aba889026b20cd55782e174e44e2fc363e2665df08c3dfe593",{"version":"4f3258b0dabbeb2bb2994cc6ae64baeae3e7af6c1acfc352946a897c1dd8c737","signature":"3a0579c7304b7dfe65ea4370b5e43657e9cfa48192f6a5d32290a7245b4a524f"},{"version":"b95068535fdac630668bae914af8d4297b40e3bc7d58fc012252b86005b84a28","signature":"f91b07f09a60b15c22f90ea3edf63f0f52707ddc5b0793db26d0012c3a58eff6","affectsGlobalScope":true},"dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","93b7325b49dfbf613d940ed0e471216657b2d77459dac34f1b5b1678f08f884c","bee89e1eb6425eb49894f3f25e4562dc2564e84e5aa7610b7e13d8ecddf8f5db","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true},"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"8d81612302e009aacd595b125ae1530b6342f690eb83da7788503617d1362185","affectsGlobalScope":true},"7d2e3fea24c712c99c03ad8f556abedbfe105f87f1be10b95dbd409d24bc05a3",{"version":"211e3f15fbced4ab4be19f49ffa990b9ff20d749d33b65ff753be691e7616239","affectsGlobalScope":true},"374ca798f244e464346f14301dc2a8b4b111af1a83b49fffef5906c338a1f922","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","e596c9bb2f29a2699fdd4ae89139612652245192f67f45617c5a4b20832aaae9","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","1cdcfc1f624d6c08aa12c73935f6e13f095919cd99edf95752951796eb225729","216717f17c095cde1dc19375e1ab3af0a4a485355860c077a4f9d6ea59fab5b5","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"00dee7cdca8b8420c47ea4a31a34b8e8294013ebc4f463fd941e867e7bf05029","affectsGlobalScope":true},"80473bd0dd90ca1e166514c2dfead9d5803f9c51418864ca35abbeec6e6847e1","1c84b46267610a34028edfd0d035509341751262bac1062857f3c8df7aff7153","e6c86d83bd526c8bdb5d0bf935b8e72ce983763d600743f74d812fdf4abf4df6","a3d541d303ee505053f5dcbf9fafb65cac3d5631037501cd616195863a6c5740","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true},"bcebb922784739bdb34c18ee51095d25a92b560c78ccd2eaacd6bd00f7443d83","7ee6ed878c4528215c82b664fe0cfe80e8b4da6c0d4cc80869367868774db8b1","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"0715e4cd28ad471b2a93f3e552ff51a3ae423417a01a10aa1d3bc7c6b95059d6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","4f3fdeba4e28e21aa719c081b8dc8f91d47e12e773389b9d35679c08151c9d37","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","f69ff39996a61a0dd10f4bce73272b52e8024a4d58b13ab32bf4712909d0a2b7",{"version":"3c4ba1dd9b12ffa284b565063108f2f031d150ea15b8fafbdc17f5d2a07251f3","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","3d6c3d6b3bd42f1175d65cb74051c5f4ee2c1d2fbeb1facc5385e2161ce93005","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"a73ae8c0e62103bb9e21bb6538700881bf135b9a8b125b857ec68edfa0da4ed3","affectsGlobalScope":true},{"version":"e1c1b2fbe236bf7ee3e342eeae7e20efb8988a0ac7da1cbbfa2c1f66b76c3423","affectsGlobalScope":true},"6de4a219df57d2b27274d59b67708f13c2cbf7ed211abe57d8f9ab8b25cde776","0fe8985a28f82c450a04a6edf1279d7181c0893f37da7d2a27f8efd4fd5edb03","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"52120bb7e4583612225bdf08e7c12559548170f11e660d33a33623bae9bbdbba","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a6dd3dba8e665ac43d279e0fdf5219edda0eed69b5e9a5061f46cd6a65c4f7a1","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","8d41819b9e44145170afaf7b0bc0753e949e6cb2a2314bd36a8e7046f537f4a4","aec59f80c62291ec634283d443b27ebe6fc6cf57670057aa9a172927675bfbea","77c5c7f8578d139c74102a29384f5f4f0792a12d819ddcdcaf8307185ff2d45d","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"root":[99,100],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"useUnknownInCatchVariables":true},"fileIdsList":[[76,79,80,83,93,94,95,96,157],[76,157],[76,79,80,83,84,85,93,94,157],[79,82,83,94,95,96,97,157],[76,89,91,157],[76,88,91,157],[74,76,80,84,85,86,91,93,157],[76,92,157],[76,82,84,85,87,88,90,157],[76,97,157],[76,84,86,157],[74,76,80,82,84,85,93,157],[74,76,86,157],[75,79,83,157],[75,80,81,82,157],[73,76,157],[75,157],[78,157],[157],[102,157],[104,157],[111,157],[114,157],[115,120,148,157],[116,127,128,135,145,156,157],[116,117,127,135,157],[118,157],[119,120,128,136,157],[120,145,153,157],[121,123,127,135,157],[122,157],[123,124,157],[127,157],[125,127,157],[127,128,129,145,156,157],[127,128,129,142,145,148,157],[157,161],[123,130,135,145,156,157],[127,128,130,131,135,145,153,156,157],[130,132,145,153,156,157],[111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163],[127,133,157],[134,156,157],[123,127,135,145,157],[136,157],[137,157],[114,138,157],[139,155,157,161],[140,157],[141,157],[127,142,143,157],[142,144,157,159],[115,127,145,146,147,148,157],[115,145,147,157],[145,146,157],[148,157],[149,157],[127,151,152,157],[151,152,157],[120,135,145,153,157],[154,157],[135,155,157],[115,130,141,156,157],[120,157],[145,157,158],[157,159],[157,160],[115,120,127,129,138,145,156,157,159,161],[145,157,162],[157,167,206],[157,167,191,206],[157,206],[157,167],[157,167,192,206],[157,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205],[157,192,206],[157,207],[127,130,132,135,156,157,164],[127,130,132,145,153,156,157,162,164],[127,145,157,164],[74,157],[72,157],[61,62,72,157],[63,64,157],[61,62,63,65,66,70,157],[62,63,157],[71,157],[63,157],[61,62,63,66,67,68,69,157],[76,77,80,81,83,98,99,157],[80,157],[80]],"referencedMap":[[97,1],[96,2],[95,3],[94,2],[98,4],[90,5],[89,6],[92,7],[93,8],[91,9],[84,10],[88,11],[86,12],[85,13],[82,14],[83,15],[77,16],[76,17],[79,18],[87,19],[80,19],[81,19],[101,19],[103,20],[102,19],[105,21],[106,19],[107,19],[108,19],[109,19],[110,19],[104,19],[111,22],[112,22],[114,23],[115,24],[116,25],[117,26],[118,27],[119,28],[120,29],[121,30],[122,31],[123,32],[124,32],[126,33],[125,34],[127,33],[128,35],[129,36],[113,37],[163,19],[130,38],[131,39],[132,40],[164,41],[133,42],[134,43],[135,44],[136,45],[137,46],[138,47],[139,48],[140,49],[141,50],[142,51],[143,51],[144,52],[145,53],[147,54],[146,55],[148,56],[149,57],[150,19],[151,58],[152,59],[153,60],[154,61],[155,62],[156,63],[157,64],[158,65],[159,66],[160,67],[161,68],[162,69],[165,19],[166,19],[191,70],[192,71],[167,72],[170,72],[189,70],[190,70],[180,70],[179,73],[177,70],[172,70],[185,70],[183,70],[187,70],[171,70],[184,70],[188,70],[173,70],[174,70],[186,70],[168,70],[175,70],[176,70],[178,70],[182,70],[193,74],[181,70],[169,70],[206,75],[205,19],[200,74],[202,76],[201,74],[194,74],[195,74],[197,74],[199,74],[203,76],[204,76],[196,76],[198,76],[208,77],[207,19],[209,78],[210,79],[211,80],[75,81],[74,19],[78,19],[59,19],[60,19],[12,19],[14,19],[13,19],[2,19],[15,19],[16,19],[17,19],[18,19],[19,19],[20,19],[21,19],[22,19],[3,19],[4,19],[26,19],[23,19],[24,19],[25,19],[27,19],[28,19],[29,19],[5,19],[30,19],[31,19],[32,19],[33,19],[6,19],[37,19],[34,19],[35,19],[36,19],[38,19],[7,19],[39,19],[44,19],[45,19],[40,19],[41,19],[42,19],[43,19],[8,19],[49,19],[46,19],[47,19],[48,19],[50,19],[9,19],[51,19],[52,19],[53,19],[56,19],[54,19],[55,19],[57,19],[10,19],[1,19],[11,19],[58,19],[73,82],[63,83],[65,84],[71,85],[67,19],[68,19],[66,86],[69,82],[61,19],[62,19],[72,87],[64,88],[70,89],[100,90],[99,91]],"exportedModulesMap":[[97,1],[96,2],[95,3],[94,2],[98,4],[90,5],[89,6],[92,7],[93,8],[91,9],[84,10],[88,11],[86,12],[85,13],[82,14],[83,15],[77,16],[76,17],[79,18],[87,19],[80,19],[81,19],[101,19],[103,20],[102,19],[105,21],[106,19],[107,19],[108,19],[109,19],[110,19],[104,19],[111,22],[112,22],[114,23],[115,24],[116,25],[117,26],[118,27],[119,28],[120,29],[121,30],[122,31],[123,32],[124,32],[126,33],[125,34],[127,33],[128,35],[129,36],[113,37],[163,19],[130,38],[131,39],[132,40],[164,41],[133,42],[134,43],[135,44],[136,45],[137,46],[138,47],[139,48],[140,49],[141,50],[142,51],[143,51],[144,52],[145,53],[147,54],[146,55],[148,56],[149,57],[150,19],[151,58],[152,59],[153,60],[154,61],[155,62],[156,63],[157,64],[158,65],[159,66],[160,67],[161,68],[162,69],[165,19],[166,19],[191,70],[192,71],[167,72],[170,72],[189,70],[190,70],[180,70],[179,73],[177,70],[172,70],[185,70],[183,70],[187,70],[171,70],[184,70],[188,70],[173,70],[174,70],[186,70],[168,70],[175,70],[176,70],[178,70],[182,70],[193,74],[181,70],[169,70],[206,75],[205,19],[200,74],[202,76],[201,74],[194,74],[195,74],[197,74],[199,74],[203,76],[204,76],[196,76],[198,76],[208,77],[207,19],[209,78],[210,79],[211,80],[75,81],[74,19],[78,19],[59,19],[60,19],[12,19],[14,19],[13,19],[2,19],[15,19],[16,19],[17,19],[18,19],[19,19],[20,19],[21,19],[22,19],[3,19],[4,19],[26,19],[23,19],[24,19],[25,19],[27,19],[28,19],[29,19],[5,19],[30,19],[31,19],[32,19],[33,19],[6,19],[37,19],[34,19],[35,19],[36,19],[38,19],[7,19],[39,19],[44,19],[45,19],[40,19],[41,19],[42,19],[43,19],[8,19],[49,19],[46,19],[47,19],[48,19],[50,19],[9,19],[51,19],[52,19],[53,19],[56,19],[54,19],[55,19],[57,19],[10,19],[1,19],[11,19],[58,19],[73,82],[63,83],[65,84],[71,85],[67,19],[68,19],[66,86],[69,82],[61,19],[62,19],[72,87],[64,88],[70,89],[99,92]],"semanticDiagnosticsPerFile":[97,96,95,94,98,90,89,92,93,91,84,88,86,85,82,83,77,76,79,87,80,81,101,103,102,105,106,107,108,109,110,104,111,112,114,115,116,117,118,119,120,121,122,123,124,126,125,127,128,129,113,163,130,131,132,164,133,134,135,136,137,138,139,140,141,142,143,144,145,147,146,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,165,166,191,192,167,170,189,190,180,179,177,172,185,183,187,171,184,188,173,174,186,168,175,176,178,182,193,181,169,206,205,200,202,201,194,195,197,199,203,204,196,198,208,207,209,210,211,75,74,78,59,60,12,14,13,2,15,16,17,18,19,20,21,22,3,4,26,23,24,25,27,28,29,5,30,31,32,33,6,37,34,35,36,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,56,54,55,57,10,1,11,58,73,63,65,71,67,68,66,69,61,62,72,64,70,100,99],"latestChangedDtsFile":"./bidiTab.d.ts"},"version":"5.0.4"}
\ No newline at end of file
+{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../utils/transport.d.ts","../utils/log.d.ts","../../../node_modules/mitt/index.d.ts","../utils/EventEmitter.d.ts","../cdp/cdpClient.d.ts","../cdp/cdpConnection.d.ts","../protocol/webdriver-bidi.d.ts","../protocol/cdp.d.ts","../protocol/chromium-bidi.d.ts","../protocol/ErrorResponse.d.ts","../protocol/protocol.d.ts","../utils/result.d.ts","../bidiMapper/BidiParser.d.ts","../bidiMapper/BidiTransport.d.ts","../bidiMapper/OutgoingBidiMessage.d.ts","../bidiMapper/domains/events/EventManager.d.ts","../bidiMapper/domains/script/realmStorage.d.ts","../bidiMapper/domains/script/realm.d.ts","../utils/deferred.d.ts","../bidiMapper/domains/script/channelProxy.d.ts","../bidiMapper/domains/script/bidiPreloadScript.d.ts","../bidiMapper/domains/script/PreloadScriptStorage.d.ts","../bidiMapper/domains/context/cdpTarget.d.ts","../bidiMapper/domains/context/browsingContextImpl.d.ts","../bidiMapper/domains/context/browsingContextStorage.d.ts","../bidiMapper/BidiServer.d.ts","../bidiMapper/bidiMapper.d.ts","../../../node_modules/zod/lib/helpers/typeAliases.d.ts","../../../node_modules/zod/lib/helpers/util.d.ts","../../../node_modules/zod/lib/ZodError.d.ts","../../../node_modules/zod/lib/locales/en.d.ts","../../../node_modules/zod/lib/errors.d.ts","../../../node_modules/zod/lib/helpers/parseUtil.d.ts","../../../node_modules/zod/lib/helpers/enumUtil.d.ts","../../../node_modules/zod/lib/helpers/errorUtil.d.ts","../../../node_modules/zod/lib/helpers/partialUtil.d.ts","../../../node_modules/zod/lib/types.d.ts","../../../node_modules/zod/lib/external.d.ts","../../../node_modules/zod/lib/index.d.ts","../../../node_modules/zod/index.d.ts","../protocol-parser/protocol-parser.d.ts","../../../src/bidiTab/BidiParserImpl.ts","../../../src/bidiTab/mapperTabPage.ts","../../../src/bidiTab/bidiTab.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"3dda5344576193a4ae48b8d03f105c86f20b2f2aff0a1d1fd7935f5d68649654","affectsGlobalScope":true},{"version":"9d9885c728913c1d16e0d2831b40341d6ad9a0ceecaabc55209b306ad9c736a5","affectsGlobalScope":true},{"version":"17bea081b9c0541f39dd1ae9bc8c78bdd561879a682e60e2f25f688c0ecab248","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f06948deb2a51aae25184561c9640fb66afeddb34531a9212d011792b1d19e0a","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"930b0e15811f84e203d3c23508674d5ded88266df4b10abee7b31b2ac77632d2","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"ec01464e62357ddcc0900f59beef6bf02e419f6dbe74dbb99cac60a89d3dcdb6","8f42ab85547ff7cf44c75d0922a19e9123aef43e286d4f22bdbb6fbf1fcc7e4a","79ba22c2f8762e45176343b04526160561032a5ff728022f2495cc7eebb85393","4144f9222d63564d8572c921dd6ca8f824f4f92d66b2d34ed3d1ae70b5223cb4","980d84ab65a61d1979a22e5cd3322672e75fb148392b6903d08ccef59bbf530c","d53b184dc5221f3a6375846dd5f7dbc13289c59333afe08353421f8463bee724","e8163b210a1412149ca4b63b69273dabbe3a4e22f65ad4caf53b7b93bc929aaf","eb2b9bb1514d1b6972a0f1e553af2d1f1f2f41403e9e3582fa0ac6dc6656bc4b","6d4906ee0b75ce485059a3b9dbcee5de80798a734268e8741aa05c48fe85a9a4","64709d6ed350d96593c08463feea35d650436216e1a08718afbc3ce983440061","d8930ee71e1ab1298a5598f47543ac3fb4f120667529f115e3d6eef6950a5432","cb3f8a0d53b27af2c269fe48584c0d3750982fbdc42ecc2ab02ccf1ba6a905c8","14d514c8b6f88c7da5c186a24ae6cd8ec04742c07a21ec45c3935853c5bd0fd7","e1d5ebc40ccc3f044fbc72d31e4832e9d1fe82d9cfd74e71d00f70827337827e","ec8cdb979e176bae8ff5f325a64f5d00eab57aac88ac9f231d18c075dfc9f3e9","cdaacc1dbae3918749f187bf5090f107c0bbedf163f8915aca8b1bdea456efaf","6039bb33d13e440b29586d59b1dc82ede836e66b9b1785c594587a854a3c65e4","2712264ac1d9749e6ff4f1c67ba1f2db090459db34d990d2381c89c303adf34e","c5792ec3ef861b773c504d908ce7e3264f92c2fb50ccde8d0435f5d854a7f839","8e46096cb731beee443b4cc2557562862d36733c3c75a6df4622ed1faab173da","69b617df09930ab4fec4674497e801b823a3d7edd87eabf4fb95168d60f5397c","6d870e304d885c2c147fb0717ce644b8ad18585c38a2cf66baf75ece5ae1803f","656cfa6c3ab937e044e38bc66dc4d58826949737c5ad19f1350c2dc6b70d8591","06f2686debb912ff3aca39197996536708f8385e7981a6901ecb0f8b3367db14","5384623b0ecca598e465b20de81893e9004b09d154a774d53b031bfab06d6037","46d615af651087eacb11ec5c2ceae6d5bdea6564e1dacff64bd67ee71a507203","9fb5593401d5ebd4f9f9f83d9f9c4fe266c88c03258574fda459efcb560ebb6d","7ac836b68703addf88c6a7fd474c9d35e729b7394687370e18c842fc5e542f82","5660acbb309656bed21dbd9ee097bb9c5ff4860f80c39c37c9d72caae1556547","5487b97cfa28b26b4a9ef0770f872bdbebd4c46124858de00f242c3eed7519f4","7a01f546ace66019156e4232a1bee2fabc2f8eabeb052473d926ee1693956265","fb53b1c6a6c799b7e3cc2de3fb5c9a1c04a1c60d4380a37792d84c5f8b33933b","8485b6da53ec35637d072e516631d25dae53984500de70a6989058f24354666f","ebe80346928736532e4a822154eb77f57ef3389dbe2b3ba4e571366a15448ef2","c2cb3c8ff388781258ea9ddbcd8a947f751bddd6886e1d3b3ea09ddaa895df80","f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","98a9cc18f661d28e6bd31c436e1984f3980f35e0f0aa9cf795c54f8ccb667ffe","c76b0c5727302341d0bdfa2cc2cee4b19ff185b554edb6e8543f0661d8487116","19903057d0249e45c579bef2b771c37609e4853a8b88adbb0b6b63f9e1d1f372","f5ef066942e4f0bd98200aa6a6694b831e73200c9b3ade77ad0aa2409e8fe1b1","b9e99cd94f4166a245f5158f7286c05406e2a4c694619bceb7a4f3519d1d768e","5568d7c32e5cf5f35e092649f4e5e168c3114c800b1d7545b7ae5e0415704802","ca173281d380633ab73017e88f951cb5e5b8930593fe9c89ce8be12e89f33317",{"version":"73623fd6478d492c4863d16d5ed14b0e00254babae074fa7a9b13c94e845b334","signature":"5658e463adb79ef93c7c8a9283d2f758d78d7aa384186789bcfda289855952dd"},{"version":"4f3258b0dabbeb2bb2994cc6ae64baeae3e7af6c1acfc352946a897c1dd8c737","signature":"3a0579c7304b7dfe65ea4370b5e43657e9cfa48192f6a5d32290a7245b4a524f"},{"version":"3be6957aa7b3bf2b411a4a78602c4001d20beec108e0dccc50023a1f227bb9f8","signature":"f91b07f09a60b15c22f90ea3edf63f0f52707ddc5b0793db26d0012c3a58eff6","affectsGlobalScope":true},"dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","93b7325b49dfbf613d940ed0e471216657b2d77459dac34f1b5b1678f08f884c","bee89e1eb6425eb49894f3f25e4562dc2564e84e5aa7610b7e13d8ecddf8f5db","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","b9f96255e1048ed2ea33ec553122716f0e57fc1c3ad778e9aa15f5b46547bd23","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","a1a261624efb3a00ff346b13580f70f3463b8cdcc58b60f5793ff11785d52cab","f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","cffac9db07bba0b35754412e48215d1bc5153c03c46409bbeaf315848359822b","aec59f80c62291ec634283d443b27ebe6fc6cf57670057aa9a172927675bfbea","2dd1d4cea14cead7a7fc9eec8f40593089dff0de8c0199458446143c9b8c4ea9","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"root":[[104,106]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"useUnknownInCatchVariables":true},"fileIdsList":[[73,163],[64,66,68,73,74,75,76,77,87,163],[73,74,163],[66,67,68,75,76,77,88,163],[61,64,73,74,78,79,80,85,87,163],[73,86,163],[61,67,74,78,79,81,82,84,163],[73,74,88,163],[83,85,163],[61,73,82,85,163],[73,78,80,163],[61,64,67,73,78,79,87,163],[61,73,80,163],[61,62,66,68,163],[61,62,63,64,67,163],[73,102,163],[69,163],[61,62,69,163],[69,70,163],[69,70,71,72,163],[163],[65,163],[108,163],[110,163],[117,163],[120,163],[121,126,154,163],[122,133,134,141,151,162,163],[122,123,133,141,163],[124,163],[125,126,134,142,163],[126,151,159,163],[127,129,133,141,163],[128,163],[129,130,163],[133,163],[131,133,163],[133,134,135,151,162,163],[133,134,135,148,151,154,163],[163,167],[129,133,136,141,151,162,163],[133,134,136,137,141,151,159,162,163],[136,138,151,159,162,163],[117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169],[133,139,163],[140,162,163],[129,133,141,151,163],[142,163],[143,163],[120,144,163],[145,161,163,167],[146,163],[147,163],[133,148,149,163],[148,150,163,165],[121,133,151,152,153,154,163],[121,151,153,163],[151,152,163],[154,163],[155,163],[151,163],[133,157,158,163],[157,158,163],[126,141,151,159,163],[160,163],[141,161,163],[121,136,147,162,163],[126,163],[151,163,164],[163,165],[163,166],[121,126,133,135,144,151,162,163,165,167],[151,163,168],[163,173,212],[163,173,197,212],[163,212],[163,173],[163,173,198,212],[163,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211],[163,198,212],[163,213],[133,136,138,141,162,163,170],[133,136,138,151,159,162,163,168,170],[133,151,163,170],[61,163],[101,163],[90,91,101,163],[92,93,163],[90,91,92,94,95,99,163],[91,92,163],[100,163],[92,163],[90,91,92,95,96,97,98,163],[73,89,103,163],[63,64,68,73,89,104,105,163],[64,163],[73,89],[64]],"referencedMap":[[75,1],[88,2],[76,1],[77,3],[89,4],[86,5],[87,6],[85,7],[78,8],[84,9],[83,10],[82,11],[80,12],[79,13],[67,14],[68,15],[103,16],[72,17],[70,18],[71,19],[73,20],[69,21],[66,22],[81,21],[64,21],[74,21],[63,21],[107,21],[109,23],[108,21],[111,24],[112,21],[113,21],[114,21],[115,21],[116,21],[110,21],[117,25],[118,25],[120,26],[121,27],[122,28],[123,29],[124,30],[125,31],[126,32],[127,33],[128,34],[129,35],[130,35],[132,36],[131,37],[133,36],[134,38],[135,39],[119,40],[169,21],[136,41],[137,42],[138,43],[170,44],[139,45],[140,46],[141,47],[142,48],[143,49],[144,50],[145,51],[146,52],[147,53],[148,54],[149,54],[150,55],[151,56],[153,57],[152,58],[154,59],[155,60],[156,61],[157,62],[158,63],[159,64],[160,65],[161,66],[162,67],[163,68],[164,69],[165,70],[166,71],[167,72],[168,73],[171,21],[172,21],[197,74],[198,75],[173,76],[176,76],[195,74],[196,74],[186,74],[185,77],[183,74],[178,74],[191,74],[189,74],[193,74],[177,74],[190,74],[194,74],[179,74],[180,74],[192,74],[174,74],[181,74],[182,74],[184,74],[188,74],[199,78],[187,74],[175,74],[212,79],[211,21],[206,78],[208,80],[207,78],[200,78],[201,78],[203,78],[205,78],[209,80],[210,80],[202,80],[204,80],[214,81],[213,21],[215,82],[216,83],[217,84],[62,85],[61,21],[65,21],[59,21],[60,21],[12,21],[14,21],[13,21],[2,21],[15,21],[16,21],[17,21],[18,21],[19,21],[20,21],[21,21],[22,21],[3,21],[4,21],[26,21],[23,21],[24,21],[25,21],[27,21],[28,21],[29,21],[5,21],[30,21],[31,21],[32,21],[33,21],[6,21],[37,21],[34,21],[35,21],[36,21],[38,21],[7,21],[39,21],[44,21],[45,21],[40,21],[41,21],[42,21],[43,21],[8,21],[49,21],[46,21],[47,21],[48,21],[50,21],[9,21],[51,21],[52,21],[53,21],[56,21],[54,21],[55,21],[57,21],[10,21],[1,21],[11,21],[58,21],[102,86],[92,87],[94,88],[100,89],[96,21],[97,21],[95,90],[98,86],[90,21],[91,21],[101,91],[93,92],[99,93],[104,94],[106,95],[105,96]],"exportedModulesMap":[[75,1],[88,2],[76,1],[77,3],[89,4],[86,5],[87,6],[85,7],[78,8],[84,9],[83,10],[82,11],[80,12],[79,13],[67,14],[68,15],[103,16],[72,17],[70,18],[71,19],[73,20],[69,21],[66,22],[81,21],[64,21],[74,21],[63,21],[107,21],[109,23],[108,21],[111,24],[112,21],[113,21],[114,21],[115,21],[116,21],[110,21],[117,25],[118,25],[120,26],[121,27],[122,28],[123,29],[124,30],[125,31],[126,32],[127,33],[128,34],[129,35],[130,35],[132,36],[131,37],[133,36],[134,38],[135,39],[119,40],[169,21],[136,41],[137,42],[138,43],[170,44],[139,45],[140,46],[141,47],[142,48],[143,49],[144,50],[145,51],[146,52],[147,53],[148,54],[149,54],[150,55],[151,56],[153,57],[152,58],[154,59],[155,60],[156,61],[157,62],[158,63],[159,64],[160,65],[161,66],[162,67],[163,68],[164,69],[165,70],[166,71],[167,72],[168,73],[171,21],[172,21],[197,74],[198,75],[173,76],[176,76],[195,74],[196,74],[186,74],[185,77],[183,74],[178,74],[191,74],[189,74],[193,74],[177,74],[190,74],[194,74],[179,74],[180,74],[192,74],[174,74],[181,74],[182,74],[184,74],[188,74],[199,78],[187,74],[175,74],[212,79],[211,21],[206,78],[208,80],[207,78],[200,78],[201,78],[203,78],[205,78],[209,80],[210,80],[202,80],[204,80],[214,81],[213,21],[215,82],[216,83],[217,84],[62,85],[61,21],[65,21],[59,21],[60,21],[12,21],[14,21],[13,21],[2,21],[15,21],[16,21],[17,21],[18,21],[19,21],[20,21],[21,21],[22,21],[3,21],[4,21],[26,21],[23,21],[24,21],[25,21],[27,21],[28,21],[29,21],[5,21],[30,21],[31,21],[32,21],[33,21],[6,21],[37,21],[34,21],[35,21],[36,21],[38,21],[7,21],[39,21],[44,21],[45,21],[40,21],[41,21],[42,21],[43,21],[8,21],[49,21],[46,21],[47,21],[48,21],[50,21],[9,21],[51,21],[52,21],[53,21],[56,21],[54,21],[55,21],[57,21],[10,21],[1,21],[11,21],[58,21],[102,86],[92,87],[94,88],[100,89],[96,21],[97,21],[95,90],[98,86],[90,21],[91,21],[101,91],[93,92],[99,93],[104,97],[105,98]],"semanticDiagnosticsPerFile":[75,88,76,77,89,86,87,85,78,84,83,82,80,79,67,68,103,72,70,71,73,69,66,81,64,74,63,107,109,108,111,112,113,114,115,116,110,117,118,120,121,122,123,124,125,126,127,128,129,130,132,131,133,134,135,119,169,136,137,138,170,139,140,141,142,143,144,145,146,147,148,149,150,151,153,152,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,171,172,197,198,173,176,195,196,186,185,183,178,191,189,193,177,190,194,179,180,192,174,181,182,184,188,199,187,175,212,211,206,208,207,200,201,203,205,209,210,202,204,214,213,215,216,217,62,61,65,59,60,12,14,13,2,15,16,17,18,19,20,21,22,3,4,26,23,24,25,27,28,29,5,30,31,32,33,6,37,34,35,36,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,56,54,55,57,10,1,11,58,102,92,94,100,96,97,95,98,90,91,101,93,99,104,106,105],"latestChangedDtsFile":"./bidiTab.d.ts"},"version":"5.1.6"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/cdp/cdpClient.d.ts b/node_modules/chromium-bidi/lib/cjs/cdp/cdpClient.d.ts
index 435471c..e46c880 100644
--- a/node_modules/chromium-bidi/lib/cjs/cdp/cdpClient.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/cdp/cdpClient.d.ts
@@ -15,6 +15,7 @@
  * limitations under the License.
  */
 import type { ProtocolMapping } from 'devtools-protocol/types/protocol-mapping.js';
+import type Protocol from 'devtools-protocol';
 import { EventEmitter } from '../utils/EventEmitter.js';
 import type { CdpConnection } from './cdpConnection.js';
 export type CdpEvents = {
@@ -24,6 +25,12 @@
 export declare class CloseError extends Error {
 }
 export interface ICdpClient extends EventEmitter<CdpEvents> {
+    /** Unique session identifier. */
+    sessionId: Protocol.Target.SessionID | undefined;
+    /**
+     * Get the default browser client (no sessionId)
+     */
+    browserClient(): ICdpClient;
     /**
      * Provides an unique way to detect if an error was caused by the closure of a
      * Target or Session.
@@ -44,7 +51,9 @@
 /** Represents a high-level CDP connection to the browser. */
 export declare class CdpClient extends EventEmitter<CdpEvents> implements ICdpClient {
     #private;
-    constructor(cdpConnection: CdpConnection, sessionId?: string);
+    constructor(cdpConnection: CdpConnection, sessionId?: Protocol.Target.SessionID);
+    get sessionId(): Protocol.Target.SessionID | undefined;
+    browserClient(): ICdpClient;
     sendCommand<CdpMethod extends keyof ProtocolMapping.Commands>(method: CdpMethod, ...params: ProtocolMapping.Commands[CdpMethod]['paramsType']): Promise<ProtocolMapping.Commands[CdpMethod]['returnType']>;
     isCloseError(error: unknown): boolean;
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/cdp/cdpClient.js b/node_modules/chromium-bidi/lib/cjs/cdp/cdpClient.js
index 4601778..2f10f16 100644
--- a/node_modules/chromium-bidi/lib/cjs/cdp/cdpClient.js
+++ b/node_modules/chromium-bidi/lib/cjs/cdp/cdpClient.js
@@ -31,6 +31,12 @@
         this.#cdpConnection = cdpConnection;
         this.#sessionId = sessionId;
     }
+    get sessionId() {
+        return this.#sessionId;
+    }
+    browserClient() {
+        return this.#cdpConnection.browserClient();
+    }
     sendCommand(method, ...params) {
         return this.#cdpConnection.sendCommand(method, params[0], this.#sessionId);
     }
diff --git a/node_modules/chromium-bidi/lib/cjs/cdp/cdpClient.js.map b/node_modules/chromium-bidi/lib/cjs/cdp/cdpClient.js.map
index 4222fe8..4b9e598 100644
--- a/node_modules/chromium-bidi/lib/cjs/cdp/cdpClient.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/cdp/cdpClient.js.map
@@ -1 +1 @@
-{"version":3,"file":"cdpClient.js","sourceRoot":"","sources":["../../../src/cdp/cdpClient.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAIH,8DAAsD;AAQtD,oEAAoE;AACpE,MAAa,UAAW,SAAQ,KAAK;CAAG;AAAxC,gCAAwC;AAyBxC,6DAA6D;AAC7D,MAAa,SAAU,SAAQ,8BAAuB;IACpD,cAAc,CAAgB;IAC9B,UAAU,CAAU;IAEpB,YAAY,aAA4B,EAAE,SAAkB;QAC1D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,WAAW,CACT,MAAiB,EACjB,GAAG,MAAyD;QAE5D,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7E,CAAC;IAED,YAAY,CAAC,KAAc;QACzB,OAAO,KAAK,YAAY,UAAU,CAAC;IACrC,CAAC;CACF;AApBD,8BAoBC"}
\ No newline at end of file
+{"version":3,"file":"cdpClient.js","sourceRoot":"","sources":["../../../src/cdp/cdpClient.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAKH,8DAAsD;AAQtD,oEAAoE;AACpE,MAAa,UAAW,SAAQ,KAAK;CAAG;AAAxC,gCAAwC;AAiCxC,6DAA6D;AAC7D,MAAa,SAAU,SAAQ,8BAAuB;IACpD,cAAc,CAAgB;IAC9B,UAAU,CAA6B;IAEvC,YACE,aAA4B,EAC5B,SAAqC;QAErC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;IAC7C,CAAC;IAED,WAAW,CACT,MAAiB,EACjB,GAAG,MAAyD;QAE5D,OAAO,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7E,CAAC;IAED,YAAY,CAAC,KAAc;QACzB,OAAO,KAAK,YAAY,UAAU,CAAC;IACrC,CAAC;CACF;AA/BD,8BA+BC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/cdp/cdpConnection.d.ts b/node_modules/chromium-bidi/lib/cjs/cdp/cdpConnection.d.ts
index 94eaf19..79dba7e 100644
--- a/node_modules/chromium-bidi/lib/cjs/cdp/cdpConnection.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/cdp/cdpConnection.d.ts
@@ -15,12 +15,13 @@
  * limitations under the License.
  */
 import type { ProtocolMapping } from 'devtools-protocol/types/protocol-mapping.js';
+import type Protocol from 'devtools-protocol';
 import type { ITransport } from '../utils/transport.js';
 import type { LoggerFn } from '../utils/log.js';
 import { CdpClient, type ICdpClient } from './cdpClient.js';
 export interface ICdpConnection {
     browserClient(): ICdpClient;
-    getCdpClient(sessionId: string): ICdpClient;
+    getCdpClient(sessionId: Protocol.Target.SessionID): ICdpClient;
 }
 /**
  * Represents a high-level CDP connection to the browser backend.
@@ -37,6 +38,6 @@
      * Gets a CdpClient instance attached to the given session ID,
      * or null if the session is not attached.
      */
-    getCdpClient(sessionId: string): CdpClient;
-    sendCommand<CdpMethod extends keyof ProtocolMapping.Commands>(method: CdpMethod, params?: ProtocolMapping.Commands[CdpMethod]['paramsType'][0], sessionId?: string): Promise<object>;
+    getCdpClient(sessionId: Protocol.Target.SessionID): CdpClient;
+    sendCommand<CdpMethod extends keyof ProtocolMapping.Commands>(method: CdpMethod, params?: ProtocolMapping.Commands[CdpMethod]['paramsType'][0], sessionId?: Protocol.Target.SessionID): Promise<object>;
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/cdp/cdpConnection.js b/node_modules/chromium-bidi/lib/cjs/cdp/cdpConnection.js
index db06990..c4eafd6 100644
--- a/node_modules/chromium-bidi/lib/cjs/cdp/cdpConnection.js
+++ b/node_modules/chromium-bidi/lib/cjs/cdp/cdpConnection.js
@@ -70,19 +70,12 @@
         const messageParsed = JSON.parse(message);
         const messagePretty = JSON.stringify(messageParsed, null, 2);
         this.#logger?.(`${log_js_1.LogType.cdp}:RECV ◂`, messagePretty);
-        // Update client map if a session is attached or detached.
+        // Update client map if a session is attached
         // Listen for these events on every session.
         if (messageParsed.method === 'Target.attachedToTarget') {
             const { sessionId } = messageParsed.params;
             this.#sessionCdpClients.set(sessionId, new cdpClient_js_1.CdpClient(this, sessionId));
         }
-        else if (messageParsed.method === 'Target.detachedFromTarget') {
-            const { sessionId } = messageParsed.params;
-            const client = this.#sessionCdpClients.get(sessionId);
-            if (client) {
-                this.#sessionCdpClients.delete(sessionId);
-            }
-        }
         if (messageParsed.id !== undefined) {
             // Handle command response.
             const callbacks = this.#commandCallbacks.get(messageParsed.id);
@@ -101,6 +94,16 @@
                 ? this.#sessionCdpClients.get(messageParsed.sessionId)
                 : this.#browserCdpClient;
             client?.emit(messageParsed.method, messageParsed.params || {});
+            // Update client map if a session is detached
+            // But emit on that session
+            if (messageParsed.method === 'Target.detachedFromTarget') {
+                const { sessionId } = messageParsed.params;
+                const client = this.#sessionCdpClients.get(sessionId);
+                if (client) {
+                    this.#sessionCdpClients.delete(sessionId);
+                    client.removeAllListeners();
+                }
+            }
         }
     };
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/cdp/cdpConnection.js.map b/node_modules/chromium-bidi/lib/cjs/cdp/cdpConnection.js.map
index ca91cbc..b95d9f3 100644
--- a/node_modules/chromium-bidi/lib/cjs/cdp/cdpConnection.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/cdp/cdpConnection.js.map
@@ -1 +1 @@
-{"version":3,"file":"cdpConnection.js","sourceRoot":"","sources":["../../../src/cdp/cdpConnection.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"cdpConnection.js","sourceRoot":"","sources":["../../../src/cdp/cdpConnection.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/cdp/cdpMessage.d.ts b/node_modules/chromium-bidi/lib/cjs/cdp/cdpMessage.d.ts
index e7a86d2..61a7818 100644
--- a/node_modules/chromium-bidi/lib/cjs/cdp/cdpMessage.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/cdp/cdpMessage.d.ts
@@ -14,13 +14,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+import type Protocol from 'devtools-protocol';
 import type { ProtocolMapping } from 'devtools-protocol/types/protocol-mapping.js';
 export interface CdpError {
     code: number;
     message: string;
 }
 export interface CdpMessage<CdpMethod extends keyof ProtocolMapping.Commands> {
-    sessionId?: string;
+    sessionId?: Protocol.Target.SessionID;
     id?: number;
     error?: CdpError;
     method?: CdpMethod;
diff --git a/node_modules/chromium-bidi/lib/cjs/cdp/tsconfig.tsbuildinfo b/node_modules/chromium-bidi/lib/cjs/cdp/tsconfig.tsbuildinfo
index b989d4e..276f6ea 100644
--- a/node_modules/chromium-bidi/lib/cjs/cdp/tsconfig.tsbuildinfo
+++ b/node_modules/chromium-bidi/lib/cjs/cdp/tsconfig.tsbuildinfo
@@ -1 +1 @@
-{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../utils/transport.d.ts","../utils/transportStub.spec.d.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../utils/log.d.ts","../../../node_modules/mitt/index.d.ts","../utils/EventEmitter.d.ts","../../../src/cdp/cdpClient.ts","../../../src/cdp/cdpMessage.ts","../../../src/cdp/cdpConnection.ts","../../../src/cdp/cdpClient.spec.ts","../../../src/cdp/cdpConnection.spec.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"9a60b92bca4c1257db03b349d58e63e4868cfc0d1c8d0ba60c2dbc63f4e6c9f6","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"b7feb7967c6c6003e11f49efa8f5de989484e0a6ba2e5a6c41b55f8b8bd85dba","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7823c8aa42d88e6cb454fe7dc56996c6fd174b28a9f050e9bdea1c25b7d114ea",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},"f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","8d41819b9e44145170afaf7b0bc0753e949e6cb2a2314bd36a8e7046f537f4a4",{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"79ba22c2f8762e45176343b04526160561032a5ff728022f2495cc7eebb85393","14ef2843e45c9db024a7f54d66fa5d635b226a7972b07a9561d3d5e92536c197","bc80c81a2be49b8c770330d63bea8e1b84d80978236faa5eabaade1ca4daae6d","8572211bcaf477c972f873af2e9015c9dba9325fed4ab68214185a57872b3c12","4144f9222d63564d8572c921dd6ca8f824f4f92d66b2d34ed3d1ae70b5223cb4","980d84ab65a61d1979a22e5cd3322672e75fb148392b6903d08ccef59bbf530c","c528612deb832be691044b7bf66f59f3ad01928fba354ab517531f134fada876",{"version":"100ed316469eaea14a9dd8e2d745cbc59c49be6f6aac780d0a4507c058e68a9c","signature":"83a4e9a5b851ae4746fc86aadf6fecee8cd6af5a79ed440efc507568d5960b26"},{"version":"4fed226c2865ca35b09cf2b89b1dd5a3c30b81bdd90b4a82a6e2aaf72c419289","signature":"baeea54de8eed3805f8026c9977d4bb7ba39e52ed223c53e79b5b61571eabebc"},{"version":"a567add13514d3d109a75cfa284052db1b5279744015b760f7190e8944f810d0","signature":"2c2f370d306798b0c1cff0695ab13fae2e64dbb27356ba0ae6cfe1790f94791d"},{"version":"429ce27809870784bbc1839e8ffd25605e4b8c2c1375d6ce70f83a537194f5fe","signature":"1cea9d704415db3c242d7af9ca38dfebdfdd6a5a1e314f5c657769eb6f38537c"},{"version":"b971131dbd989e7ff1c0c96c647f7defb6003b8cf90d97a904d1783707c45e98","signature":"1cea9d704415db3c242d7af9ca38dfebdfdd6a5a1e314f5c657769eb6f38537c"},"dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","93b7325b49dfbf613d940ed0e471216657b2d77459dac34f1b5b1678f08f884c","bee89e1eb6425eb49894f3f25e4562dc2564e84e5aa7610b7e13d8ecddf8f5db","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true},"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"8d81612302e009aacd595b125ae1530b6342f690eb83da7788503617d1362185","affectsGlobalScope":true},"7d2e3fea24c712c99c03ad8f556abedbfe105f87f1be10b95dbd409d24bc05a3",{"version":"211e3f15fbced4ab4be19f49ffa990b9ff20d749d33b65ff753be691e7616239","affectsGlobalScope":true},"374ca798f244e464346f14301dc2a8b4b111af1a83b49fffef5906c338a1f922","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","e596c9bb2f29a2699fdd4ae89139612652245192f67f45617c5a4b20832aaae9","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","1cdcfc1f624d6c08aa12c73935f6e13f095919cd99edf95752951796eb225729","216717f17c095cde1dc19375e1ab3af0a4a485355860c077a4f9d6ea59fab5b5","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"00dee7cdca8b8420c47ea4a31a34b8e8294013ebc4f463fd941e867e7bf05029","affectsGlobalScope":true},"80473bd0dd90ca1e166514c2dfead9d5803f9c51418864ca35abbeec6e6847e1","1c84b46267610a34028edfd0d035509341751262bac1062857f3c8df7aff7153","e6c86d83bd526c8bdb5d0bf935b8e72ce983763d600743f74d812fdf4abf4df6","a3d541d303ee505053f5dcbf9fafb65cac3d5631037501cd616195863a6c5740","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true},"bcebb922784739bdb34c18ee51095d25a92b560c78ccd2eaacd6bd00f7443d83","7ee6ed878c4528215c82b664fe0cfe80e8b4da6c0d4cc80869367868774db8b1","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"0715e4cd28ad471b2a93f3e552ff51a3ae423417a01a10aa1d3bc7c6b95059d6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","4f3fdeba4e28e21aa719c081b8dc8f91d47e12e773389b9d35679c08151c9d37","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","f69ff39996a61a0dd10f4bce73272b52e8024a4d58b13ab32bf4712909d0a2b7",{"version":"3c4ba1dd9b12ffa284b565063108f2f031d150ea15b8fafbdc17f5d2a07251f3","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","3d6c3d6b3bd42f1175d65cb74051c5f4ee2c1d2fbeb1facc5385e2161ce93005","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"a73ae8c0e62103bb9e21bb6538700881bf135b9a8b125b857ec68edfa0da4ed3","affectsGlobalScope":true},{"version":"e1c1b2fbe236bf7ee3e342eeae7e20efb8988a0ac7da1cbbfa2c1f66b76c3423","affectsGlobalScope":true},"6de4a219df57d2b27274d59b67708f13c2cbf7ed211abe57d8f9ab8b25cde776","0fe8985a28f82c450a04a6edf1279d7181c0893f37da7d2a27f8efd4fd5edb03","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"52120bb7e4583612225bdf08e7c12559548170f11e660d33a33623bae9bbdbba","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a6dd3dba8e665ac43d279e0fdf5219edda0eed69b5e9a5061f46cd6a65c4f7a1","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","aec59f80c62291ec634283d443b27ebe6fc6cf57670057aa9a172927675bfbea","77c5c7f8578d139c74102a29384f5f4f0792a12d819ddcdcaf8307185ff2d45d","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"root":[[76,80]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"useUnknownInCatchVariables":true},"fileIdsList":[[74,135],[135],[67,69,135],[65,135],[82,135],[89,135],[92,135],[93,98,126,135],[94,105,106,113,123,134,135],[94,95,105,113,135],[96,135],[97,98,106,114,135],[98,123,131,135],[99,101,105,113,135],[100,135],[101,102,135],[105,135],[103,105,135],[105,106,107,123,134,135],[105,106,107,120,123,126,135],[135,139],[101,108,113,123,134,135],[105,106,108,109,113,123,131,134,135],[108,110,123,131,134,135],[89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141],[105,111,135],[112,134,135],[101,105,113,123,135],[114,135],[115,135],[92,116,135],[117,133,135,139],[118,135],[119,135],[105,120,121,135],[120,122,135,137],[93,105,123,124,125,126,135],[93,123,125,135],[123,124,135],[126,135],[127,135],[105,129,130,135],[129,130,135],[98,113,123,131,135],[132,135],[113,133,135],[93,108,119,134,135],[98,135],[123,135,136],[135,137],[135,138],[93,98,105,107,116,123,134,135,137,139],[123,135,140],[135,145,184],[135,145,169,184],[135,184],[135,145],[135,145,170,184],[135,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[135,170,184],[66,135],[105,108,110,113,134,135,142],[105,108,110,123,131,134,135,140,142],[105,123,135,142],[71,135],[65,67,68,70,78,135],[72,75,78,135],[69,72,73,76,77,135],[72,135],[72,75,78],[69,72,73,76],[72]],"referencedMap":[[75,1],[73,2],[69,2],[70,3],[81,2],[68,4],[65,2],[83,5],[84,2],[85,2],[86,2],[87,2],[88,2],[82,2],[89,6],[90,6],[92,7],[93,8],[94,9],[95,10],[96,11],[97,12],[98,13],[99,14],[100,15],[101,16],[102,16],[104,17],[103,18],[105,17],[106,19],[107,20],[91,21],[141,2],[108,22],[109,23],[110,24],[142,25],[111,26],[112,27],[113,28],[114,29],[115,30],[116,31],[117,32],[118,33],[119,34],[120,35],[121,35],[122,36],[123,37],[125,38],[124,39],[126,40],[127,41],[128,2],[129,42],[130,43],[131,44],[132,45],[133,46],[134,47],[135,48],[136,49],[137,50],[138,51],[139,52],[140,53],[143,2],[144,2],[169,54],[170,55],[145,56],[148,56],[167,54],[168,54],[158,54],[157,57],[155,54],[150,54],[163,54],[161,54],[165,54],[149,54],[162,54],[166,54],[151,54],[152,54],[164,54],[146,54],[153,54],[154,54],[156,54],[160,54],[171,58],[159,54],[147,54],[184,59],[183,2],[178,58],[180,60],[179,58],[172,58],[173,58],[175,58],[177,58],[181,60],[182,60],[174,60],[176,60],[67,61],[66,2],[185,62],[186,63],[187,64],[72,65],[71,2],[74,2],[62,2],[63,2],[12,2],[13,2],[17,2],[16,2],[2,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[25,2],[3,2],[4,2],[29,2],[26,2],[27,2],[28,2],[30,2],[31,2],[32,2],[5,2],[33,2],[34,2],[35,2],[36,2],[6,2],[40,2],[37,2],[38,2],[39,2],[41,2],[7,2],[42,2],[47,2],[48,2],[43,2],[44,2],[45,2],[46,2],[8,2],[52,2],[49,2],[50,2],[51,2],[53,2],[9,2],[54,2],[55,2],[56,2],[59,2],[57,2],[58,2],[60,2],[10,2],[1,2],[11,2],[64,2],[61,2],[15,2],[14,2],[79,66],[76,67],[80,66],[78,68],[77,69]],"exportedModulesMap":[[75,1],[73,2],[69,2],[70,3],[81,2],[68,4],[65,2],[83,5],[84,2],[85,2],[86,2],[87,2],[88,2],[82,2],[89,6],[90,6],[92,7],[93,8],[94,9],[95,10],[96,11],[97,12],[98,13],[99,14],[100,15],[101,16],[102,16],[104,17],[103,18],[105,17],[106,19],[107,20],[91,21],[141,2],[108,22],[109,23],[110,24],[142,25],[111,26],[112,27],[113,28],[114,29],[115,30],[116,31],[117,32],[118,33],[119,34],[120,35],[121,35],[122,36],[123,37],[125,38],[124,39],[126,40],[127,41],[128,2],[129,42],[130,43],[131,44],[132,45],[133,46],[134,47],[135,48],[136,49],[137,50],[138,51],[139,52],[140,53],[143,2],[144,2],[169,54],[170,55],[145,56],[148,56],[167,54],[168,54],[158,54],[157,57],[155,54],[150,54],[163,54],[161,54],[165,54],[149,54],[162,54],[166,54],[151,54],[152,54],[164,54],[146,54],[153,54],[154,54],[156,54],[160,54],[171,58],[159,54],[147,54],[184,59],[183,2],[178,58],[180,60],[179,58],[172,58],[173,58],[175,58],[177,58],[181,60],[182,60],[174,60],[176,60],[67,61],[66,2],[185,62],[186,63],[187,64],[72,65],[71,2],[74,2],[62,2],[63,2],[12,2],[13,2],[17,2],[16,2],[2,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[25,2],[3,2],[4,2],[29,2],[26,2],[27,2],[28,2],[30,2],[31,2],[32,2],[5,2],[33,2],[34,2],[35,2],[36,2],[6,2],[40,2],[37,2],[38,2],[39,2],[41,2],[7,2],[42,2],[47,2],[48,2],[43,2],[44,2],[45,2],[46,2],[8,2],[52,2],[49,2],[50,2],[51,2],[53,2],[9,2],[54,2],[55,2],[56,2],[59,2],[57,2],[58,2],[60,2],[10,2],[1,2],[11,2],[64,2],[61,2],[15,2],[14,2],[76,70],[78,71],[77,72]],"semanticDiagnosticsPerFile":[75,73,69,70,81,68,65,83,84,85,86,87,88,82,89,90,92,93,94,95,96,97,98,99,100,101,102,104,103,105,106,107,91,141,108,109,110,142,111,112,113,114,115,116,117,118,119,120,121,122,123,125,124,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,143,144,169,170,145,148,167,168,158,157,155,150,163,161,165,149,162,166,151,152,164,146,153,154,156,160,171,159,147,184,183,178,180,179,172,173,175,177,181,182,174,176,67,66,185,186,187,72,71,74,62,63,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,10,1,11,64,61,15,14,79,76,80,78,77],"latestChangedDtsFile":"./cdpConnection.spec.d.ts"},"version":"5.0.4"}
\ No newline at end of file
+{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../utils/transport.d.ts","../utils/transportStub.spec.d.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../utils/log.d.ts","../../../node_modules/mitt/index.d.ts","../utils/EventEmitter.d.ts","../../../src/cdp/cdpClient.ts","../../../src/cdp/cdpMessage.ts","../../../src/cdp/cdpConnection.ts","../../../src/cdp/cdpClient.spec.ts","../../../src/cdp/cdpConnection.spec.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"3dda5344576193a4ae48b8d03f105c86f20b2f2aff0a1d1fd7935f5d68649654","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"9d9885c728913c1d16e0d2831b40341d6ad9a0ceecaabc55209b306ad9c736a5","affectsGlobalScope":true},{"version":"17bea081b9c0541f39dd1ae9bc8c78bdd561879a682e60e2f25f688c0ecab248","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f06948deb2a51aae25184561c9640fb66afeddb34531a9212d011792b1d19e0a","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"930b0e15811f84e203d3c23508674d5ded88266df4b10abee7b31b2ac77632d2","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7823c8aa42d88e6cb454fe7dc56996c6fd174b28a9f050e9bdea1c25b7d114ea",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},"f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","cffac9db07bba0b35754412e48215d1bc5153c03c46409bbeaf315848359822b",{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"79ba22c2f8762e45176343b04526160561032a5ff728022f2495cc7eebb85393","14ef2843e45c9db024a7f54d66fa5d635b226a7972b07a9561d3d5e92536c197","ec01464e62357ddcc0900f59beef6bf02e419f6dbe74dbb99cac60a89d3dcdb6","8f42ab85547ff7cf44c75d0922a19e9123aef43e286d4f22bdbb6fbf1fcc7e4a","4144f9222d63564d8572c921dd6ca8f824f4f92d66b2d34ed3d1ae70b5223cb4","980d84ab65a61d1979a22e5cd3322672e75fb148392b6903d08ccef59bbf530c","d53b184dc5221f3a6375846dd5f7dbc13289c59333afe08353421f8463bee724",{"version":"02185c932ce0d9d1fa0c0625698f909083b93e6bc987365ac121ef7c0ff4f44d","signature":"e8163b210a1412149ca4b63b69273dabbe3a4e22f65ad4caf53b7b93bc929aaf"},{"version":"7bfae42835d7d8d99f054887ef3e9c651f3cb4b73e06589904837d92a797456b","signature":"bbc0fa966c29a48e6df93c74ad74b9ea196d043e511d2da6134c0f732425dffd"},{"version":"56013d918dc58a323b3202ea88366b7dd0d0b42cfc3ded5e3284f46a6829ade2","signature":"eb2b9bb1514d1b6972a0f1e553af2d1f1f2f41403e9e3582fa0ac6dc6656bc4b"},{"version":"429ce27809870784bbc1839e8ffd25605e4b8c2c1375d6ce70f83a537194f5fe","signature":"1cea9d704415db3c242d7af9ca38dfebdfdd6a5a1e314f5c657769eb6f38537c"},{"version":"b971131dbd989e7ff1c0c96c647f7defb6003b8cf90d97a904d1783707c45e98","signature":"1cea9d704415db3c242d7af9ca38dfebdfdd6a5a1e314f5c657769eb6f38537c"},"dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889","6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","93b7325b49dfbf613d940ed0e471216657b2d77459dac34f1b5b1678f08f884c","bee89e1eb6425eb49894f3f25e4562dc2564e84e5aa7610b7e13d8ecddf8f5db","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","b9f96255e1048ed2ea33ec553122716f0e57fc1c3ad778e9aa15f5b46547bd23","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","a1a261624efb3a00ff346b13580f70f3463b8cdcc58b60f5793ff11785d52cab","aec59f80c62291ec634283d443b27ebe6fc6cf57670057aa9a172927675bfbea","2dd1d4cea14cead7a7fc9eec8f40593089dff0de8c0199458446143c9b8c4ea9","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"root":[[76,80]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"useUnknownInCatchVariables":true},"fileIdsList":[[74,135],[135],[67,69,135],[65,135],[82,135],[89,135],[92,135],[93,98,126,135],[94,105,106,113,123,134,135],[94,95,105,113,135],[96,135],[97,98,106,114,135],[98,123,131,135],[99,101,105,113,135],[100,135],[101,102,135],[105,135],[103,105,135],[105,106,107,123,134,135],[105,106,107,120,123,126,135],[135,139],[101,105,108,113,123,134,135],[105,106,108,109,113,123,131,134,135],[108,110,123,131,134,135],[89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141],[105,111,135],[112,134,135],[101,105,113,123,135],[114,135],[115,135],[92,116,135],[117,133,135,139],[118,135],[119,135],[105,120,121,135],[120,122,135,137],[93,105,123,124,125,126,135],[93,123,125,135],[123,124,135],[126,135],[127,135],[123,135],[105,129,130,135],[129,130,135],[98,113,123,131,135],[132,135],[113,133,135],[93,108,119,134,135],[98,135],[123,135,136],[135,137],[135,138],[93,98,105,107,116,123,134,135,137,139],[123,135,140],[135,145,184],[135,145,169,184],[135,184],[135,145],[135,145,170,184],[135,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],[135,170,184],[66,135],[105,108,110,113,134,135,142],[105,108,110,123,131,134,135,140,142],[105,123,135,142],[71,135],[65,67,68,70,78,135],[71,72,75,78,135],[69,71,72,73,76,77,135],[71,72,135],[71,72,75,78],[69,71,72,73,76],[71,72]],"referencedMap":[[75,1],[73,2],[69,2],[70,3],[81,2],[68,4],[65,2],[83,5],[84,2],[85,2],[86,2],[87,2],[88,2],[82,2],[89,6],[90,6],[92,7],[93,8],[94,9],[95,10],[96,11],[97,12],[98,13],[99,14],[100,15],[101,16],[102,16],[104,17],[103,18],[105,17],[106,19],[107,20],[91,21],[141,2],[108,22],[109,23],[110,24],[142,25],[111,26],[112,27],[113,28],[114,29],[115,30],[116,31],[117,32],[118,33],[119,34],[120,35],[121,35],[122,36],[123,37],[125,38],[124,39],[126,40],[127,41],[128,42],[129,43],[130,44],[131,45],[132,46],[133,47],[134,48],[135,49],[136,50],[137,51],[138,52],[139,53],[140,54],[143,2],[144,2],[169,55],[170,56],[145,57],[148,57],[167,55],[168,55],[158,55],[157,58],[155,55],[150,55],[163,55],[161,55],[165,55],[149,55],[162,55],[166,55],[151,55],[152,55],[164,55],[146,55],[153,55],[154,55],[156,55],[160,55],[171,59],[159,55],[147,55],[184,60],[183,2],[178,59],[180,61],[179,59],[172,59],[173,59],[175,59],[177,59],[181,61],[182,61],[174,61],[176,61],[67,62],[66,2],[185,63],[186,64],[187,65],[72,66],[71,2],[74,2],[62,2],[63,2],[12,2],[13,2],[17,2],[16,2],[2,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[25,2],[3,2],[4,2],[29,2],[26,2],[27,2],[28,2],[30,2],[31,2],[32,2],[5,2],[33,2],[34,2],[35,2],[36,2],[6,2],[40,2],[37,2],[38,2],[39,2],[41,2],[7,2],[42,2],[47,2],[48,2],[43,2],[44,2],[45,2],[46,2],[8,2],[52,2],[49,2],[50,2],[51,2],[53,2],[9,2],[54,2],[55,2],[56,2],[59,2],[57,2],[58,2],[60,2],[10,2],[1,2],[11,2],[64,2],[61,2],[15,2],[14,2],[79,67],[76,68],[80,67],[78,69],[77,70]],"exportedModulesMap":[[75,1],[73,2],[69,2],[70,3],[81,2],[68,4],[65,2],[83,5],[84,2],[85,2],[86,2],[87,2],[88,2],[82,2],[89,6],[90,6],[92,7],[93,8],[94,9],[95,10],[96,11],[97,12],[98,13],[99,14],[100,15],[101,16],[102,16],[104,17],[103,18],[105,17],[106,19],[107,20],[91,21],[141,2],[108,22],[109,23],[110,24],[142,25],[111,26],[112,27],[113,28],[114,29],[115,30],[116,31],[117,32],[118,33],[119,34],[120,35],[121,35],[122,36],[123,37],[125,38],[124,39],[126,40],[127,41],[128,42],[129,43],[130,44],[131,45],[132,46],[133,47],[134,48],[135,49],[136,50],[137,51],[138,52],[139,53],[140,54],[143,2],[144,2],[169,55],[170,56],[145,57],[148,57],[167,55],[168,55],[158,55],[157,58],[155,55],[150,55],[163,55],[161,55],[165,55],[149,55],[162,55],[166,55],[151,55],[152,55],[164,55],[146,55],[153,55],[154,55],[156,55],[160,55],[171,59],[159,55],[147,55],[184,60],[183,2],[178,59],[180,61],[179,59],[172,59],[173,59],[175,59],[177,59],[181,61],[182,61],[174,61],[176,61],[67,62],[66,2],[185,63],[186,64],[187,65],[72,66],[71,2],[74,2],[62,2],[63,2],[12,2],[13,2],[17,2],[16,2],[2,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[25,2],[3,2],[4,2],[29,2],[26,2],[27,2],[28,2],[30,2],[31,2],[32,2],[5,2],[33,2],[34,2],[35,2],[36,2],[6,2],[40,2],[37,2],[38,2],[39,2],[41,2],[7,2],[42,2],[47,2],[48,2],[43,2],[44,2],[45,2],[46,2],[8,2],[52,2],[49,2],[50,2],[51,2],[53,2],[9,2],[54,2],[55,2],[56,2],[59,2],[57,2],[58,2],[60,2],[10,2],[1,2],[11,2],[64,2],[61,2],[15,2],[14,2],[76,71],[78,72],[77,73]],"semanticDiagnosticsPerFile":[75,73,69,70,81,68,65,83,84,85,86,87,88,82,89,90,92,93,94,95,96,97,98,99,100,101,102,104,103,105,106,107,91,141,108,109,110,142,111,112,113,114,115,116,117,118,119,120,121,122,123,125,124,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,143,144,169,170,145,148,167,168,158,157,155,150,163,161,165,149,162,166,151,152,164,146,153,154,156,160,171,159,147,184,183,178,180,179,172,173,175,177,181,182,174,176,67,66,185,186,187,72,71,74,62,63,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,10,1,11,64,61,15,14,79,76,80,78,77],"latestChangedDtsFile":"./cdpConnection.spec.d.ts"},"version":"5.1.6"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol-parser/protocol-parser.d.ts b/node_modules/chromium-bidi/lib/cjs/protocol-parser/protocol-parser.d.ts
index a4ba139..4a1d2db 100644
--- a/node_modules/chromium-bidi/lib/cjs/protocol-parser/protocol-parser.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/protocol-parser/protocol-parser.d.ts
@@ -18,232 +18,44 @@
  * @fileoverview Provides parsing and validator for WebDriver BiDi protocol.
  * Parser types should match the `../protocol` types.
  */
-import { type ZodType, z as zod } from 'zod';
-import { BrowsingContext as BrowsingContextTypes, Script as ScriptTypes, type Cdp as CdpTypes, type Session as SessionTypes, type CommonDataTypes as CommonDataTypesTypes, Input as InputTypes } from '../protocol/protocol.js';
-export declare function parseObject<T extends ZodType>(obj: object, schema: T): zod.infer<T>;
-export declare namespace CommonDataTypes {
-    const SharedReferenceSchema: zod.ZodObject<{
-        sharedId: zod.ZodString;
-        handle: zod.ZodOptional<zod.ZodString>;
-    }, "strip", zod.ZodTypeAny, {
-        sharedId: string;
-        handle?: string | undefined;
-    }, {
-        sharedId: string;
-        handle?: string | undefined;
-    }>;
-    const RemoteReferenceSchema: zod.ZodObject<{
-        handle: zod.ZodString;
-    }, "strip", zod.ZodTypeAny, {
-        handle: string;
-    }, {
-        handle: string;
-    }>;
-    const LocalValueSchema: zod.ZodType<CommonDataTypesTypes.LocalValue>;
-    const BrowsingContextSchema: zod.ZodString;
-    const MaxDepthSchema: zod.ZodNumber;
-}
+import { z, type ZodType } from 'zod';
+import type * as Protocol from '../protocol/protocol.js';
+export declare function parseObject<T extends ZodType>(obj: unknown, schema: T): z.infer<T>;
 /** @see https://w3c.github.io/webdriver-bidi/#module-script */
 export declare namespace Script {
-    const GetRealmsParametersSchema: zod.ZodObject<{
-        context: zod.ZodOptional<zod.ZodString>;
-        type: zod.ZodOptional<zod.ZodEnum<["window", "dedicated-worker", "shared-worker", "service-worker", "worker", "paint-worklet", "audio-worklet", "worklet"]>>;
-    }, "strip", zod.ZodTypeAny, {
-        context?: string | undefined;
-        type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
-    }, {
-        context?: string | undefined;
-        type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
-    }>;
-    function parseGetRealmsParams(params: object): ScriptTypes.GetRealmsParameters;
-    function parseEvaluateParams(params: object): ScriptTypes.EvaluateParameters;
-    function parseDisownParams(params: object): ScriptTypes.DisownParameters;
-    const ChannelValueSchema: zod.ZodObject<{
-        type: zod.ZodLiteral<"channel">;
-        value: zod.ZodObject<{
-            channel: zod.ZodString;
-            serializationOptions: zod.ZodOptional<zod.ZodObject<{
-                maxDomDepth: zod.ZodOptional<zod.ZodUnion<[zod.ZodNull, zod.ZodNumber]>>;
-                maxObjectDepth: zod.ZodOptional<zod.ZodUnion<[zod.ZodNull, zod.ZodNumber]>>;
-                includeShadowTree: zod.ZodOptional<zod.ZodEnum<["none", "open", "all"]>>;
-            }, "strip", zod.ZodTypeAny, {
-                maxDomDepth?: number | null | undefined;
-                maxObjectDepth?: number | null | undefined;
-                includeShadowTree?: "none" | "all" | "open" | undefined;
-            }, {
-                maxDomDepth?: number | null | undefined;
-                maxObjectDepth?: number | null | undefined;
-                includeShadowTree?: "none" | "all" | "open" | undefined;
-            }>>;
-            ownership: zod.ZodOptional<zod.ZodEnum<["root", "none"]>>;
-        }, "strip", zod.ZodTypeAny, {
-            channel: string;
-            serializationOptions?: {
-                maxDomDepth?: number | null | undefined;
-                maxObjectDepth?: number | null | undefined;
-                includeShadowTree?: "none" | "all" | "open" | undefined;
-            } | undefined;
-            ownership?: "none" | "root" | undefined;
-        }, {
-            channel: string;
-            serializationOptions?: {
-                maxDomDepth?: number | null | undefined;
-                maxObjectDepth?: number | null | undefined;
-                includeShadowTree?: "none" | "all" | "open" | undefined;
-            } | undefined;
-            ownership?: "none" | "root" | undefined;
-        }>;
-    }, "strip", zod.ZodTypeAny, {
-        type: "channel";
-        value: {
-            channel: string;
-            serializationOptions?: {
-                maxDomDepth?: number | null | undefined;
-                maxObjectDepth?: number | null | undefined;
-                includeShadowTree?: "none" | "all" | "open" | undefined;
-            } | undefined;
-            ownership?: "none" | "root" | undefined;
-        };
-    }, {
-        type: "channel";
-        value: {
-            channel: string;
-            serializationOptions?: {
-                maxDomDepth?: number | null | undefined;
-                maxObjectDepth?: number | null | undefined;
-                includeShadowTree?: "none" | "all" | "open" | undefined;
-            } | undefined;
-            ownership?: "none" | "root" | undefined;
-        };
-    }>;
-    const PreloadScriptSchema: zod.ZodString;
-    const AddPreloadScriptParametersSchema: zod.ZodObject<{
-        functionDeclaration: zod.ZodString;
-        arguments: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
-            type: zod.ZodLiteral<"channel">;
-            value: zod.ZodObject<{
-                channel: zod.ZodString;
-                serializationOptions: zod.ZodOptional<zod.ZodObject<{
-                    maxDomDepth: zod.ZodOptional<zod.ZodUnion<[zod.ZodNull, zod.ZodNumber]>>;
-                    maxObjectDepth: zod.ZodOptional<zod.ZodUnion<[zod.ZodNull, zod.ZodNumber]>>;
-                    includeShadowTree: zod.ZodOptional<zod.ZodEnum<["none", "open", "all"]>>;
-                }, "strip", zod.ZodTypeAny, {
-                    maxDomDepth?: number | null | undefined;
-                    maxObjectDepth?: number | null | undefined;
-                    includeShadowTree?: "none" | "all" | "open" | undefined;
-                }, {
-                    maxDomDepth?: number | null | undefined;
-                    maxObjectDepth?: number | null | undefined;
-                    includeShadowTree?: "none" | "all" | "open" | undefined;
-                }>>;
-                ownership: zod.ZodOptional<zod.ZodEnum<["root", "none"]>>;
-            }, "strip", zod.ZodTypeAny, {
-                channel: string;
-                serializationOptions?: {
-                    maxDomDepth?: number | null | undefined;
-                    maxObjectDepth?: number | null | undefined;
-                    includeShadowTree?: "none" | "all" | "open" | undefined;
-                } | undefined;
-                ownership?: "none" | "root" | undefined;
-            }, {
-                channel: string;
-                serializationOptions?: {
-                    maxDomDepth?: number | null | undefined;
-                    maxObjectDepth?: number | null | undefined;
-                    includeShadowTree?: "none" | "all" | "open" | undefined;
-                } | undefined;
-                ownership?: "none" | "root" | undefined;
-            }>;
-        }, "strip", zod.ZodTypeAny, {
-            type: "channel";
-            value: {
-                channel: string;
-                serializationOptions?: {
-                    maxDomDepth?: number | null | undefined;
-                    maxObjectDepth?: number | null | undefined;
-                    includeShadowTree?: "none" | "all" | "open" | undefined;
-                } | undefined;
-                ownership?: "none" | "root" | undefined;
-            };
-        }, {
-            type: "channel";
-            value: {
-                channel: string;
-                serializationOptions?: {
-                    maxDomDepth?: number | null | undefined;
-                    maxObjectDepth?: number | null | undefined;
-                    includeShadowTree?: "none" | "all" | "open" | undefined;
-                } | undefined;
-                ownership?: "none" | "root" | undefined;
-            };
-        }>, "many">>;
-        sandbox: zod.ZodOptional<zod.ZodString>;
-        context: zod.ZodOptional<zod.ZodString>;
-    }, "strip", zod.ZodTypeAny, {
-        functionDeclaration: string;
-        arguments?: {
-            type: "channel";
-            value: {
-                channel: string;
-                serializationOptions?: {
-                    maxDomDepth?: number | null | undefined;
-                    maxObjectDepth?: number | null | undefined;
-                    includeShadowTree?: "none" | "all" | "open" | undefined;
-                } | undefined;
-                ownership?: "none" | "root" | undefined;
-            };
-        }[] | undefined;
-        sandbox?: string | undefined;
-        context?: string | undefined;
-    }, {
-        functionDeclaration: string;
-        arguments?: {
-            type: "channel";
-            value: {
-                channel: string;
-                serializationOptions?: {
-                    maxDomDepth?: number | null | undefined;
-                    maxObjectDepth?: number | null | undefined;
-                    includeShadowTree?: "none" | "all" | "open" | undefined;
-                } | undefined;
-                ownership?: "none" | "root" | undefined;
-            };
-        }[] | undefined;
-        sandbox?: string | undefined;
-        context?: string | undefined;
-    }>;
-    function parseAddPreloadScriptParams(params: object): ScriptTypes.AddPreloadScriptParameters;
-    const RemovePreloadScriptParametersSchema: zod.ZodObject<{
-        script: zod.ZodString;
-    }, "strip", zod.ZodTypeAny, {
+    function parseGetRealmsParams(params: unknown): Protocol.Script.GetRealmsParameters;
+    function parseEvaluateParams(params: unknown): Protocol.Script.EvaluateParameters;
+    function parseDisownParams(params: unknown): Protocol.Script.DisownParameters;
+    function parseAddPreloadScriptParams(params: unknown): Protocol.Script.AddPreloadScriptParameters;
+    function parseRemovePreloadScriptParams(params: unknown): {
         script: string;
-    }, {
-        script: string;
-    }>;
-    function parseRemovePreloadScriptParams(params: object): ScriptTypes.RemovePreloadScriptParameters;
-    function parseCallFunctionParams(params: object): ScriptTypes.CallFunctionParameters;
+    };
+    function parseCallFunctionParams(params: unknown): Protocol.Script.CallFunctionParameters;
 }
 /** @see https://w3c.github.io/webdriver-bidi/#module-browsingContext */
 export declare namespace BrowsingContext {
-    function parseGetTreeParams(params: object): BrowsingContextTypes.GetTreeParameters;
-    function parseNavigateParams(params: object): BrowsingContextTypes.NavigateParameters;
-    function parseReloadParams(params: object): BrowsingContextTypes.ReloadParameters;
-    function parseCreateParams(params: object): BrowsingContextTypes.CreateParameters;
-    function parseCloseParams(params: object): BrowsingContextTypes.CloseParameters;
-    function parseCaptureScreenshotParams(params: object): BrowsingContextTypes.CaptureScreenshotParameters;
-    function parsePrintParams(params: object): BrowsingContextTypes.PrintParameters;
-    function parseSetViewportParams(params: object): BrowsingContextTypes.SetViewportParameters;
-}
-export declare namespace Cdp {
-    function parseSendCommandParams(params: object): CdpTypes.SendCommandParams;
-    function parseGetSessionParams(params: object): CdpTypes.GetSessionParams;
+    function parseActivateParams(params: unknown): {
+        context: string;
+    };
+    function parseGetTreeParams(params: unknown): Protocol.BrowsingContext.GetTreeParameters;
+    function parseNavigateParams(params: unknown): Protocol.BrowsingContext.NavigateParameters;
+    function parseReloadParams(params: unknown): Protocol.BrowsingContext.ReloadParameters;
+    function parseCreateParams(params: unknown): Protocol.BrowsingContext.CreateParameters;
+    function parseCloseParams(params: unknown): Protocol.BrowsingContext.CloseParameters;
+    function parseCaptureScreenshotParams(params: unknown): Protocol.BrowsingContext.CaptureScreenshotParameters;
+    function parsePrintParams(params: unknown): Protocol.BrowsingContext.PrintParameters;
+    function parseSetViewportParams(params: unknown): Protocol.BrowsingContext.SetViewportParameters;
+    function parseHandleUserPromptParameters(params: unknown): Protocol.BrowsingContext.HandleUserPromptParameters;
 }
 /** @see https://w3c.github.io/webdriver-bidi/#module-session */
 export declare namespace Session {
-    function parseSubscribeParams(params: object): SessionTypes.SubscriptionRequest;
+    function parseSubscribeParams(params: unknown): Protocol.Session.SubscriptionRequest;
 }
-/** @see https://w3c.github.io/webdriver-bidi/#module-input */
 export declare namespace Input {
-    function parsePerformActionsParams(params: object): InputTypes.PerformActionsParameters;
-    function parseReleaseActionsParams(params: object): InputTypes.ReleaseActionsParameters;
+    function parsePerformActionsParams(params: unknown): Protocol.Input.PerformActionsParameters;
+    function parseReleaseActionsParams(params: unknown): Protocol.Input.ReleaseActionsParameters;
+}
+export declare namespace Cdp {
+    function parseSendCommandRequest(params: unknown): Protocol.Cdp.SendCommandParameters;
+    function parseGetSessionRequest(params: unknown): Protocol.Cdp.GetSessionParameters;
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol-parser/protocol-parser.js b/node_modules/chromium-bidi/lib/cjs/protocol-parser/protocol-parser.js
index bbd0275..58b3c32 100644
--- a/node_modules/chromium-bidi/lib/cjs/protocol-parser/protocol-parser.js
+++ b/node_modules/chromium-bidi/lib/cjs/protocol-parser/protocol-parser.js
@@ -15,15 +15,38 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
 Object.defineProperty(exports, "__esModule", { value: true });
-exports.Input = exports.Session = exports.Cdp = exports.BrowsingContext = exports.Script = exports.CommonDataTypes = exports.parseObject = void 0;
+exports.Cdp = exports.Input = exports.Session = exports.BrowsingContext = exports.Script = exports.parseObject = void 0;
 /**
  * @fileoverview Provides parsing and validator for WebDriver BiDi protocol.
  * Parser types should match the `../protocol` types.
  */
 const zod_1 = require("zod");
 const protocol_js_1 = require("../protocol/protocol.js");
-const MAX_INT = 9007199254740991;
+const WebDriverBidi = __importStar(require("./webdriver-bidi.js"));
 function parseObject(obj, schema) {
     const parseResult = schema.safeParse(obj);
     if (parseResult.success) {
@@ -33,458 +56,103 @@
         .map((e) => `${e.message} in ` +
         `${e.path.map((p) => JSON.stringify(p)).join('/')}.`)
         .join(' ');
-    throw new protocol_js_1.Message.InvalidArgumentException(errorMessage);
+    throw new protocol_js_1.InvalidArgumentException(errorMessage);
 }
 exports.parseObject = parseObject;
-const UnicodeCharacterSchema = zod_1.z.string().refine((value) => {
-    // The spread is a little hack so JS gives us an array of unicode characters
-    // to measure.
-    return [...value].length === 1;
-});
-var CommonDataTypes;
-(function (CommonDataTypes) {
-    CommonDataTypes.SharedReferenceSchema = zod_1.z.object({
-        sharedId: zod_1.z.string().min(1),
-        handle: zod_1.z.string().optional(),
-    });
-    CommonDataTypes.RemoteReferenceSchema = zod_1.z.object({
-        handle: zod_1.z.string().min(1),
-    });
-    // UndefinedValue = {
-    //   type: "undefined",
-    // }
-    const UndefinedValueSchema = zod_1.z.object({ type: zod_1.z.literal('undefined') });
-    // NullValue = {
-    //   type: "null",
-    // }
-    const NullValueSchema = zod_1.z.object({ type: zod_1.z.literal('null') });
-    // StringValue = {
-    //   type: "string",
-    //   value: text,
-    // }
-    const StringValueSchema = zod_1.z.object({
-        type: zod_1.z.literal('string'),
-        value: zod_1.z.string(),
-    });
-    // SpecialNumber = "NaN" / "-0" / "Infinity" / "-Infinity";
-    const SpecialNumberSchema = zod_1.z.enum(['NaN', '-0', 'Infinity', '-Infinity']);
-    // NumberValue = {
-    //   type: "number",
-    //   value: number / SpecialNumber,
-    // }
-    const NumberValueSchema = zod_1.z.object({
-        type: zod_1.z.literal('number'),
-        value: zod_1.z.union([SpecialNumberSchema, zod_1.z.number()]),
-    });
-    // BooleanValue = {
-    //   type: "boolean",
-    //   value: bool,
-    // }
-    const BooleanValueSchema = zod_1.z.object({
-        type: zod_1.z.literal('boolean'),
-        value: zod_1.z.boolean(),
-    });
-    // BigIntValue = {
-    //   type: "bigint",
-    //   value: text,
-    // }
-    const BigIntValueSchema = zod_1.z.object({
-        type: zod_1.z.literal('bigint'),
-        value: zod_1.z.string(),
-    });
-    const PrimitiveProtocolValueSchema = zod_1.z.union([
-        UndefinedValueSchema,
-        NullValueSchema,
-        StringValueSchema,
-        NumberValueSchema,
-        BooleanValueSchema,
-        BigIntValueSchema,
-    ]);
-    CommonDataTypes.LocalValueSchema = zod_1.z.lazy(() => zod_1.z.union([
-        PrimitiveProtocolValueSchema,
-        ArrayLocalValueSchema,
-        DateLocalValueSchema,
-        MapLocalValueSchema,
-        ObjectLocalValueSchema,
-        RegExpLocalValueSchema,
-        SetLocalValueSchema,
-    ]));
-    // Order is important, as `parse` is processed in the same order.
-    // `SharedReferenceSchema`->`RemoteReferenceSchema`->`LocalValueSchema`.
-    const LocalOrRemoteValueSchema = zod_1.z.union([
-        CommonDataTypes.SharedReferenceSchema,
-        CommonDataTypes.RemoteReferenceSchema,
-        CommonDataTypes.LocalValueSchema,
-    ]);
-    // ListLocalValue = [*LocalValue];
-    const ListLocalValueSchema = zod_1.z.array(LocalOrRemoteValueSchema);
-    // ArrayLocalValue = {
-    //   type: "array",
-    //   value: ListLocalValue,
-    // }
-    const ArrayLocalValueSchema = zod_1.z.object({
-        type: zod_1.z.literal('array'),
-        value: ListLocalValueSchema,
-    });
-    // DateLocalValue = {
-    //   type: "date",
-    //   value: text
-    // }
-    const DateLocalValueSchema = zod_1.z.object({
-        type: zod_1.z.literal('date'),
-        value: zod_1.z.string().min(1),
-    });
-    // MappingLocalValue = [*[(LocalValue / text), LocalValue]];
-    const MappingLocalValueSchema = zod_1.z.tuple([
-        zod_1.z.union([zod_1.z.string(), LocalOrRemoteValueSchema]),
-        LocalOrRemoteValueSchema,
-    ]);
-    // MapLocalValue = {
-    //   type: "map",
-    //   value: MappingLocalValue,
-    // }
-    const MapLocalValueSchema = zod_1.z.object({
-        type: zod_1.z.literal('map'),
-        value: zod_1.z.array(MappingLocalValueSchema),
-    });
-    // ObjectLocalValue = {
-    //   type: "object",
-    //   value: MappingLocalValue,
-    // }
-    const ObjectLocalValueSchema = zod_1.z.object({
-        type: zod_1.z.literal('object'),
-        value: zod_1.z.array(MappingLocalValueSchema),
-    });
-    // RegExpLocalValue = {
-    //   type: "regexp",
-    //   value: RegExpValue,
-    // }
-    const RegExpLocalValueSchema = zod_1.z.object({
-        type: zod_1.z.literal('regexp'),
-        value: zod_1.z.object({
-            pattern: zod_1.z.string(),
-            flags: zod_1.z.string().optional(),
-        }),
-    });
-    // SetLocalValue = {
-    //   type: "set",
-    //   value: ListLocalValue,
-    // }
-    const SetLocalValueSchema = zod_1.z.lazy(() => zod_1.z.object({
-        type: zod_1.z.literal('set'),
-        value: ListLocalValueSchema,
-    }));
-    // BrowsingContext = text;
-    CommonDataTypes.BrowsingContextSchema = zod_1.z.string();
-    CommonDataTypes.MaxDepthSchema = zod_1.z.number().int().nonnegative().max(MAX_INT);
-})(CommonDataTypes = exports.CommonDataTypes || (exports.CommonDataTypes = {}));
 /** @see https://w3c.github.io/webdriver-bidi/#module-script */
 var Script;
 (function (Script) {
-    const RealmTypeSchema = zod_1.z.enum([
-        'window',
-        'dedicated-worker',
-        'shared-worker',
-        'service-worker',
-        'worker',
-        'paint-worklet',
-        'audio-worklet',
-        'worklet',
-    ]);
-    Script.GetRealmsParametersSchema = zod_1.z.object({
-        context: CommonDataTypes.BrowsingContextSchema.optional(),
-        type: RealmTypeSchema.optional(),
-    });
     function parseGetRealmsParams(params) {
-        return parseObject(params, Script.GetRealmsParametersSchema);
+        return parseObject(params, WebDriverBidi.Script.GetRealmsParametersSchema);
     }
     Script.parseGetRealmsParams = parseGetRealmsParams;
-    // ContextTarget = {
-    //   context: BrowsingContext,
-    //   ?sandbox: text
-    // }
-    const ContextTargetSchema = zod_1.z.object({
-        context: CommonDataTypes.BrowsingContextSchema,
-        sandbox: zod_1.z.string().optional(),
-    });
-    // RealmTarget = {realm: Realm};
-    const RealmTargetSchema = zod_1.z.object({
-        realm: zod_1.z.string().min(1),
-    });
-    // Target = (
-    //   RealmTarget //
-    //   ContextTarget
-    // );
-    // Order is important, as `parse` is processed in the same order.
-    // `RealmTargetSchema` has higher priority.
-    const TargetSchema = zod_1.z.union([RealmTargetSchema, ContextTargetSchema]);
-    // ResultOwnership = "root" / "none"
-    const ResultOwnershipSchema = zod_1.z.enum(['root', 'none']);
-    // SerializationOptions = {
-    //   ?maxDomDepth: (js-uint / null) .default 0,
-    //   ?maxObjectDepth: (js-uint / null) .default null,
-    //   ?includeShadowTree: ("none" / "open" / "all") .default "none",
-    // }
-    const SerializationOptionsSchema = zod_1.z.object({
-        maxDomDepth: zod_1.z
-            .union([zod_1.z.null(), zod_1.z.number().int().nonnegative()])
-            .optional(),
-        maxObjectDepth: zod_1.z
-            .union([zod_1.z.null(), zod_1.z.number().int().nonnegative().max(MAX_INT)])
-            .optional(),
-        includeShadowTree: zod_1.z.enum(['none', 'open', 'all']).optional(),
-    });
-    // script.EvaluateParameters = {
-    //   expression: text,
-    //   target: script.Target,
-    //   awaitPromise: bool,
-    //   ?resultOwnership: script.ResultOwnership,
-    //   ?serializationOptions: script.SerializationOptions,
-    // }
-    const EvaluateParametersSchema = zod_1.z.object({
-        expression: zod_1.z.string(),
-        awaitPromise: zod_1.z.boolean(),
-        target: TargetSchema,
-        resultOwnership: ResultOwnershipSchema.optional(),
-        serializationOptions: SerializationOptionsSchema.optional(),
-    });
     function parseEvaluateParams(params) {
-        return parseObject(params, EvaluateParametersSchema);
+        return parseObject(params, WebDriverBidi.Script.EvaluateParametersSchema);
     }
     Script.parseEvaluateParams = parseEvaluateParams;
-    // DisownParameters = {
-    //   handles: [Handle]
-    //   target: script.Target;
-    // }
-    const DisownParametersSchema = zod_1.z.object({
-        target: TargetSchema,
-        handles: zod_1.z.array(zod_1.z.string()),
-    });
     function parseDisownParams(params) {
-        return parseObject(params, DisownParametersSchema);
+        return parseObject(params, WebDriverBidi.Script.DisownParametersSchema);
     }
     Script.parseDisownParams = parseDisownParams;
-    const ChannelSchema = zod_1.z.string();
-    const ChannelPropertiesSchema = zod_1.z.object({
-        channel: ChannelSchema,
-        serializationOptions: SerializationOptionsSchema.optional(),
-        ownership: ResultOwnershipSchema.optional(),
-    });
-    Script.ChannelValueSchema = zod_1.z.object({
-        type: zod_1.z.literal('channel'),
-        value: ChannelPropertiesSchema,
-    });
-    Script.PreloadScriptSchema = zod_1.z.string();
-    Script.AddPreloadScriptParametersSchema = zod_1.z.object({
-        functionDeclaration: zod_1.z.string(),
-        arguments: zod_1.z.array(Script.ChannelValueSchema).optional(),
-        sandbox: zod_1.z.string().optional(),
-        context: CommonDataTypes.BrowsingContextSchema.optional(),
-    });
     function parseAddPreloadScriptParams(params) {
-        return parseObject(params, Script.AddPreloadScriptParametersSchema);
+        return parseObject(params, WebDriverBidi.Script.AddPreloadScriptParametersSchema);
     }
     Script.parseAddPreloadScriptParams = parseAddPreloadScriptParams;
-    Script.RemovePreloadScriptParametersSchema = zod_1.z.object({
-        script: Script.PreloadScriptSchema,
-    });
     function parseRemovePreloadScriptParams(params) {
-        return parseObject(params, Script.RemovePreloadScriptParametersSchema);
+        return parseObject(params, WebDriverBidi.Script.RemovePreloadScriptParametersSchema);
     }
     Script.parseRemovePreloadScriptParams = parseRemovePreloadScriptParams;
-    // ArgumentValue = (
-    //   RemoteReference //
-    //   LocalValue //
-    //   script.Channel
-    // );
-    const ArgumentValueSchema = zod_1.z.union([
-        CommonDataTypes.RemoteReferenceSchema,
-        CommonDataTypes.SharedReferenceSchema,
-        CommonDataTypes.LocalValueSchema,
-        Script.ChannelValueSchema,
-    ]);
-    // CallFunctionParameters = {
-    //   functionDeclaration: text,
-    //   awaitPromise: bool,
-    //   target: script.Target,
-    //   ?arguments: [*script.ArgumentValue],
-    //   ?resultOwnership: script.ResultOwnership,
-    //   ?serializationOptions: script.SerializationOptions,
-    //   ?this: script.ArgumentValue,
-    // }
-    const CallFunctionParametersSchema = zod_1.z.object({
-        functionDeclaration: zod_1.z.string(),
-        awaitPromise: zod_1.z.boolean(),
-        target: TargetSchema,
-        arguments: zod_1.z.array(ArgumentValueSchema).optional(),
-        resultOwnership: ResultOwnershipSchema.optional(),
-        serializationOptions: SerializationOptionsSchema.optional(),
-        this: ArgumentValueSchema.optional(),
-    });
     function parseCallFunctionParams(params) {
-        return parseObject(params, CallFunctionParametersSchema);
+        return parseObject(params, WebDriverBidi.Script.CallFunctionParametersSchema);
     }
     Script.parseCallFunctionParams = parseCallFunctionParams;
-})(Script = exports.Script || (exports.Script = {}));
+})(Script || (exports.Script = Script = {}));
 /** @see https://w3c.github.io/webdriver-bidi/#module-browsingContext */
 var BrowsingContext;
 (function (BrowsingContext) {
-    // GetTreeParameters = {
-    //   ?maxDepth: js-uint,
-    //   ?root: browsingContext.BrowsingContext,
-    // }
-    const GetTreeParametersSchema = zod_1.z.object({
-        maxDepth: CommonDataTypes.MaxDepthSchema.optional(),
-        root: CommonDataTypes.BrowsingContextSchema.optional(),
-    });
+    function parseActivateParams(params) {
+        return parseObject(params, WebDriverBidi.BrowsingContext.ActivateParametersSchema);
+    }
+    BrowsingContext.parseActivateParams = parseActivateParams;
     function parseGetTreeParams(params) {
-        return parseObject(params, GetTreeParametersSchema);
+        return parseObject(params, WebDriverBidi.BrowsingContext.GetTreeParametersSchema);
     }
     BrowsingContext.parseGetTreeParams = parseGetTreeParams;
-    // ReadinessState = "none" / "interactive" / "complete"
-    const ReadinessStateSchema = zod_1.z.enum(['none', 'interactive', 'complete']);
-    // BrowsingContextNavigateParameters = {
-    //   context: BrowsingContext,
-    //   url: text,
-    //   ?wait: ReadinessState,
-    // }
-    // ReadinessState = "none" / "interactive" / "complete"
-    const NavigateParametersSchema = zod_1.z.object({
-        context: CommonDataTypes.BrowsingContextSchema,
-        url: zod_1.z.string().url(),
-        wait: ReadinessStateSchema.optional(),
-    });
     function parseNavigateParams(params) {
-        return parseObject(params, NavigateParametersSchema);
+        return parseObject(params, WebDriverBidi.BrowsingContext.NavigateParametersSchema);
     }
     BrowsingContext.parseNavigateParams = parseNavigateParams;
-    const ReloadParametersSchema = zod_1.z.object({
-        context: CommonDataTypes.BrowsingContextSchema,
-        ignoreCache: zod_1.z.boolean().optional(),
-        wait: ReadinessStateSchema.optional(),
-    });
     function parseReloadParams(params) {
-        return parseObject(params, ReloadParametersSchema);
+        return parseObject(params, WebDriverBidi.BrowsingContext.ReloadParametersSchema);
     }
     BrowsingContext.parseReloadParams = parseReloadParams;
-    // BrowsingContextCreateType = "tab" / "window"
-    // BrowsingContextCreateParameters = {
-    //   type: BrowsingContextCreateType
-    // }
-    const CreateParametersSchema = zod_1.z.object({
-        type: zod_1.z.enum(['tab', 'window']),
-        referenceContext: CommonDataTypes.BrowsingContextSchema.optional(),
-    });
     function parseCreateParams(params) {
-        return parseObject(params, CreateParametersSchema);
+        return parseObject(params, WebDriverBidi.BrowsingContext.CreateParametersSchema);
     }
     BrowsingContext.parseCreateParams = parseCreateParams;
-    // BrowsingContextCloseParameters = {
-    //   context: BrowsingContext
-    // }
-    const CloseParametersSchema = zod_1.z.object({
-        context: CommonDataTypes.BrowsingContextSchema,
-    });
     function parseCloseParams(params) {
-        return parseObject(params, CloseParametersSchema);
+        return parseObject(params, WebDriverBidi.BrowsingContext.CloseParametersSchema);
     }
     BrowsingContext.parseCloseParams = parseCloseParams;
-    // browsingContext.CaptureScreenshotParameters = {
-    //   context: browsingContext.BrowsingContext
-    // }
-    const CaptureScreenshotParametersSchema = zod_1.z.object({
-        context: CommonDataTypes.BrowsingContextSchema,
-    });
     function parseCaptureScreenshotParams(params) {
-        return parseObject(params, CaptureScreenshotParametersSchema);
+        return parseObject(params, WebDriverBidi.BrowsingContext.CaptureScreenshotParametersSchema);
     }
     BrowsingContext.parseCaptureScreenshotParams = parseCaptureScreenshotParams;
-    // All units are in cm.
-    // PrintPageParameters = {
-    //   ?height: (float .ge 0.0) .default 27.94,
-    //   ?width: (float .ge 0.0) .default 21.59,
-    // }
-    const PrintPageParametersSchema = zod_1.z.object({
-        height: zod_1.z.number().nonnegative().optional(),
-        width: zod_1.z.number().nonnegative().optional(),
-    });
-    // All units are in cm.
-    // PrintMarginParameters = {
-    //   ?bottom: (float .ge 0.0) .default 1.0,
-    //   ?left: (float .ge 0.0) .default 1.0,
-    //   ?right: (float .ge 0.0) .default 1.0,
-    //   ?top: (float .ge 0.0) .default 1.0,
-    // }
-    const PrintMarginParametersSchema = zod_1.z.object({
-        bottom: zod_1.z.number().nonnegative().optional(),
-        left: zod_1.z.number().nonnegative().optional(),
-        right: zod_1.z.number().nonnegative().optional(),
-        top: zod_1.z.number().nonnegative().optional(),
-    });
-    /** @see https://w3c.github.io/webdriver/#dfn-parse-a-page-range */
-    const PrintPageRangesSchema = zod_1.z
-        .array(zod_1.z.union([zod_1.z.string().min(1), zod_1.z.number().int().nonnegative()]))
-        .refine((pageRanges) => {
-        return pageRanges.every((pageRange) => {
-            const match = String(pageRange).match(
-            // matches: '2' | '2-' | '-2' | '2-4'
-            /^(?:(?:\d+)|(?:\d+[-])|(?:[-]\d+)|(?:(?<start>\d+)[-](?<end>\d+)))$/);
-            // If a page range is specified, validate start <= end.
-            const { start, end } = match?.groups ?? {};
-            if (start && end && Number(start) > Number(end)) {
-                return false;
-            }
-            return match;
-        });
-    });
-    // PrintParameters = {
-    //   context: browsingContext.BrowsingContext,
-    //   ?background: bool .default false,
-    //   ?margin: browsingContext.PrintMarginParameters,
-    //   ?orientation: ("portrait" / "landscape") .default "portrait",
-    //   ?page: browsingContext.PrintPageParameters,
-    //   ?pageRanges: [*(js-uint / text)],
-    //   ?scale: 0.1..2.0 .default 1.0,
-    //   ?shrinkToFit: bool .default true,
-    // }
-    const PrintParametersSchema = zod_1.z.object({
-        context: CommonDataTypes.BrowsingContextSchema,
-        background: zod_1.z.boolean().optional(),
-        margin: PrintMarginParametersSchema.optional(),
-        orientation: zod_1.z.enum(['portrait', 'landscape']).optional(),
-        page: PrintPageParametersSchema.optional(),
-        pageRanges: PrintPageRangesSchema.optional(),
-        scale: zod_1.z.number().min(0.1).max(2.0).optional(),
-        shrinkToFit: zod_1.z.boolean().optional(),
-    });
     function parsePrintParams(params) {
-        return parseObject(params, PrintParametersSchema);
+        return parseObject(params, WebDriverBidi.BrowsingContext.PrintParametersSchema);
     }
     BrowsingContext.parsePrintParams = parsePrintParams;
-    // browsingContext.Viewport = {
-    //   width: js-uint,
-    //   height: js-uint,
-    // }
-    const ViewportSchema = zod_1.z.object({
-        width: zod_1.z.number().int().nonnegative(),
-        height: zod_1.z.number().int().nonnegative(),
-    });
-    // browsingContext.SetViewportParameters = {
-    //   context: browsingContext.BrowsingContext,
-    //   viewport: emulation.Viewport / null
-    // }
-    const SetViewportActionSchema = zod_1.z.object({
-        context: CommonDataTypes.BrowsingContextSchema,
-        viewport: zod_1.z.union([zod_1.z.null(), ViewportSchema]),
-    });
     function parseSetViewportParams(params) {
-        return parseObject(params, SetViewportActionSchema);
+        return parseObject(params, WebDriverBidi.BrowsingContext.SetViewportParametersSchema);
     }
     BrowsingContext.parseSetViewportParams = parseSetViewportParams;
-})(BrowsingContext = exports.BrowsingContext || (exports.BrowsingContext = {}));
+    function parseHandleUserPromptParameters(params) {
+        return parseObject(params, WebDriverBidi.BrowsingContext.HandleUserPromptParametersSchema);
+    }
+    BrowsingContext.parseHandleUserPromptParameters = parseHandleUserPromptParameters;
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+/** @see https://w3c.github.io/webdriver-bidi/#module-session */
+var Session;
+(function (Session) {
+    function parseSubscribeParams(params) {
+        return parseObject(params, WebDriverBidi.Session.SubscriptionRequestSchema);
+    }
+    Session.parseSubscribeParams = parseSubscribeParams;
+})(Session || (exports.Session = Session = {}));
+var Input;
+(function (Input) {
+    function parsePerformActionsParams(params) {
+        return parseObject(params, WebDriverBidi.Input.PerformActionsParametersSchema);
+    }
+    Input.parsePerformActionsParams = parsePerformActionsParams;
+    function parseReleaseActionsParams(params) {
+        return parseObject(params, WebDriverBidi.Input.ReleaseActionsParametersSchema);
+    }
+    Input.parseReleaseActionsParams = parseReleaseActionsParams;
+})(Input || (exports.Input = Input = {}));
 var Cdp;
 (function (Cdp) {
-    const SendCommandParamsSchema = zod_1.z.object({
+    const SendCommandRequestSchema = zod_1.z.object({
         // Allowing any cdpMethod, and casting to proper type later on.
         method: zod_1.z.string(),
         // `passthrough` allows object to have any fields.
@@ -492,308 +160,16 @@
         params: zod_1.z.object({}).passthrough().optional(),
         session: zod_1.z.string().optional(),
     });
-    function parseSendCommandParams(params) {
-        return parseObject(params, SendCommandParamsSchema);
+    const GetSessionRequestSchema = zod_1.z.object({
+        context: WebDriverBidi.BrowsingContext.BrowsingContextSchema,
+    });
+    function parseSendCommandRequest(params) {
+        return parseObject(params, SendCommandRequestSchema);
     }
-    Cdp.parseSendCommandParams = parseSendCommandParams;
-    const GetSessionParamsSchema = zod_1.z.object({
-        context: CommonDataTypes.BrowsingContextSchema,
-    });
-    function parseGetSessionParams(params) {
-        return parseObject(params, GetSessionParamsSchema);
+    Cdp.parseSendCommandRequest = parseSendCommandRequest;
+    function parseGetSessionRequest(params) {
+        return parseObject(params, GetSessionRequestSchema);
     }
-    Cdp.parseGetSessionParams = parseGetSessionParams;
-})(Cdp = exports.Cdp || (exports.Cdp = {}));
-/** @see https://w3c.github.io/webdriver-bidi/#module-session */
-var Session;
-(function (Session) {
-    const BiDiSubscriptionRequestParametersEventsSchema = zod_1.z.enum([
-        protocol_js_1.BrowsingContext.AllEvents,
-        ...Object.values(protocol_js_1.BrowsingContext.EventNames),
-        protocol_js_1.Log.AllEvents,
-        ...Object.values(protocol_js_1.Log.EventNames),
-        protocol_js_1.Network.AllEvents,
-        ...Object.values(protocol_js_1.Network.EventNames),
-        protocol_js_1.Script.AllEvents,
-        ...Object.values(protocol_js_1.Script.EventNames),
-    ]);
-    // BiDi+ events
-    const CdpSubscriptionRequestParametersEventsSchema = zod_1.z.custom((value) => {
-        return typeof value === 'string' && value.startsWith('cdp.');
-    }, 'Not a CDP event');
-    const SubscriptionRequestParametersEventsSchema = zod_1.z.union([
-        BiDiSubscriptionRequestParametersEventsSchema,
-        CdpSubscriptionRequestParametersEventsSchema,
-    ]);
-    // SessionSubscriptionRequest = {
-    //   events: [*text],
-    //   ?contexts: [*BrowsingContext],
-    // }
-    const SubscriptionRequestParametersSchema = zod_1.z.object({
-        events: zod_1.z.array(SubscriptionRequestParametersEventsSchema),
-        contexts: zod_1.z.array(CommonDataTypes.BrowsingContextSchema).optional(),
-    });
-    function parseSubscribeParams(params) {
-        return parseObject(params, SubscriptionRequestParametersSchema);
-    }
-    Session.parseSubscribeParams = parseSubscribeParams;
-})(Session = exports.Session || (exports.Session = {}));
-/** @see https://w3c.github.io/webdriver-bidi/#module-input */
-var Input;
-(function (Input) {
-    // input.ElementOrigin = {
-    //   type: "element",
-    //   element: script.SharedReference
-    // }
-    const ElementOriginSchema = zod_1.z.object({
-        type: zod_1.z.literal('element'),
-        element: CommonDataTypes.SharedReferenceSchema,
-    });
-    // input.Origin = "viewport" / "pointer" / input.ElementOrigin
-    const OriginSchema = zod_1.z.union([
-        zod_1.z.literal('viewport'),
-        zod_1.z.literal('pointer'),
-        ElementOriginSchema,
-    ]);
-    // input.PauseAction = {
-    //   type: "pause",
-    //   ? duration: js-uint
-    // }
-    const PauseActionSchema = zod_1.z.object({
-        type: zod_1.z.literal(protocol_js_1.Input.ActionType.Pause),
-        duration: zod_1.z.number().nonnegative().int().optional(),
-    });
-    // input.KeyDownAction = {
-    //   type: "keyDown",
-    //   value: text
-    // }
-    const KeyDownActionSchema = zod_1.z.object({
-        type: zod_1.z.literal(protocol_js_1.Input.ActionType.KeyDown),
-        value: UnicodeCharacterSchema,
-    });
-    // input.KeyUpAction = {
-    //   type: "keyUp",
-    //   value: text
-    // }
-    const KeyUpActionSchema = zod_1.z.object({
-        type: zod_1.z.literal(protocol_js_1.Input.ActionType.KeyUp),
-        value: UnicodeCharacterSchema,
-    });
-    // input.TiltProperties = (
-    //   ? tiltX: -90..90 .default 0,
-    //   ? tiltY: -90..90 .default 0,
-    // )
-    const TiltPropertiesSchema = zod_1.z.object({
-        tiltX: zod_1.z.number().min(-90).max(90).int().default(0).optional(),
-        tiltY: zod_1.z.number().min(-90).max(90).int().default(0).optional(),
-    });
-    // input.AngleProperties = (
-    //   ? altitudeAngle: float .default 0.0,
-    //   ? azimuthAngle: float .default 0.0,
-    // )
-    const AnglePropertiesSchema = zod_1.z.object({
-        altitudeAngle: zod_1.z
-            .number()
-            .nonnegative()
-            .max(Math.PI / 2)
-            .default(0.0)
-            .optional(),
-        azimuthAngle: zod_1.z
-            .number()
-            .nonnegative()
-            .max(2 * Math.PI)
-            .default(0.0)
-            .optional(),
-    });
-    // input.PointerCommonProperties = (
-    //   ? width: js-uint .default 1,
-    //   ? height: js-uint .default 1,
-    //   ? pressure: float .default 0.0,
-    //   ? tangentialPressure: float .default 0.0,
-    //   ? twist: 0..359 .default 0,
-    //   (input.TiltProperties // input.AngleProperties)
-    // )
-    const PointerCommonPropertiesSchema = zod_1.z
-        .object({
-        width: zod_1.z.number().nonnegative().int().default(1),
-        height: zod_1.z.number().nonnegative().int().default(1),
-        pressure: zod_1.z.number().min(0.0).max(1.0).default(0.0),
-        tangentialPressure: zod_1.z.number().min(-1.0).max(1.0).default(0.0),
-        twist: zod_1.z.number().nonnegative().max(359).int().default(0),
-    })
-        .and(zod_1.z.union([TiltPropertiesSchema, AnglePropertiesSchema]));
-    // input.PointerUpAction = {
-    //   type: "pointerUp",
-    //   button: js-uint,
-    //   input.PointerCommonProperties
-    // }
-    const PointerUpActionSchema = zod_1.z
-        .object({
-        type: zod_1.z.literal(protocol_js_1.Input.ActionType.PointerUp),
-        button: zod_1.z.number().nonnegative().int(),
-    })
-        .and(PointerCommonPropertiesSchema);
-    // input.PointerDownAction = {
-    //   type: "pointerDown",
-    //   button: js-uint,
-    //   input.PointerCommonProperties
-    // }
-    const PointerDownActionSchema = zod_1.z
-        .object({
-        type: zod_1.z.literal(protocol_js_1.Input.ActionType.PointerDown),
-        button: zod_1.z.number().nonnegative().int(),
-    })
-        .and(PointerCommonPropertiesSchema);
-    // input.PointerMoveAction = {
-    //   type: "pointerMove",
-    //   x: js-int,
-    //   y: js-int,
-    //   ? duration: js-uint,
-    //   ? origin: input.Origin,
-    //   input.PointerCommonProperties
-    // }
-    const PointerMoveActionSchema = zod_1.z
-        .object({
-        type: zod_1.z.literal(protocol_js_1.Input.ActionType.PointerMove),
-        x: zod_1.z.number().int(),
-        y: zod_1.z.number().int(),
-        duration: zod_1.z.number().nonnegative().int().optional(),
-        origin: OriginSchema.optional().default('viewport'),
-    })
-        .and(PointerCommonPropertiesSchema);
-    // input.WheelScrollAction = {
-    //   type: "scroll",
-    //   x: js-int,
-    //   y: js-int,
-    //   deltaX: js-int,
-    //   deltaY: js-int,
-    //   ? duration: js-uint,
-    //   ? origin: input.Origin .default "viewport",
-    // }
-    const WheelScrollActionSchema = zod_1.z.object({
-        type: zod_1.z.literal(protocol_js_1.Input.ActionType.Scroll),
-        x: zod_1.z.number().int(),
-        y: zod_1.z.number().int(),
-        deltaX: zod_1.z.number().int(),
-        deltaY: zod_1.z.number().int(),
-        duration: zod_1.z.number().nonnegative().int().optional(),
-        origin: OriginSchema.optional().default('viewport'),
-    });
-    // input.WheelSourceAction = (
-    //   input.PauseAction //
-    //   input.WheelScrollAction
-    // )
-    const WheelSourceActionSchema = zod_1.z.discriminatedUnion('type', [
-        PauseActionSchema,
-        WheelScrollActionSchema,
-    ]);
-    // input.WheelSourceActions = {
-    //   type: "wheel",
-    //   id: text,
-    //   actions: [*input.WheelSourceAction]
-    // }
-    const WheelSourceActionsSchema = zod_1.z.object({
-        type: zod_1.z.literal(protocol_js_1.Input.SourceActionsType.Wheel),
-        id: zod_1.z.string(),
-        actions: zod_1.z.array(WheelSourceActionSchema),
-    });
-    // input.PointerSourceAction = (
-    //   input.PauseAction //
-    //   input.PointerDownAction //
-    //   input.PointerUpAction //
-    //   input.PointerMoveAction
-    // )
-    const PointerSourceActionSchema = zod_1.z.union([
-        PauseActionSchema,
-        PointerDownActionSchema,
-        PointerUpActionSchema,
-        PointerMoveActionSchema,
-    ]);
-    // input.PointerType = "mouse" / "pen" / "touch"
-    const PointerTypeSchema = zod_1.z.nativeEnum(protocol_js_1.Input.PointerType);
-    // input.PointerParameters = {
-    //   ? pointerType: input.PointerType .default "mouse"
-    // }
-    const PointerParametersSchema = zod_1.z.object({
-        pointerType: PointerTypeSchema.optional().default(protocol_js_1.Input.PointerType.Mouse),
-    });
-    // input.PointerSourceActions = {
-    //   type: "pointer",
-    //   id: text,
-    //   ? parameters: input.PointerParameters,
-    //   actions: [*input.PointerSourceAction]
-    // }
-    const PointerSourceActionsSchema = zod_1.z.object({
-        type: zod_1.z.literal(protocol_js_1.Input.SourceActionsType.Pointer),
-        id: zod_1.z.string(),
-        parameters: PointerParametersSchema.optional(),
-        actions: zod_1.z.array(PointerSourceActionSchema),
-    });
-    // input.KeySourceAction = (
-    //   input.PauseAction //
-    //   input.KeyDownAction //
-    //   input.KeyUpAction
-    // )
-    const KeySourceActionSchema = zod_1.z.discriminatedUnion('type', [
-        PauseActionSchema,
-        KeyDownActionSchema,
-        KeyUpActionSchema,
-    ]);
-    // input.KeySourceActions = {
-    //   type: "key",
-    //   id: text,
-    //   actions: [*input.KeySourceAction]
-    // }
-    const KeySourceActionsSchema = zod_1.z.object({
-        type: zod_1.z.literal(protocol_js_1.Input.SourceActionsType.Key),
-        id: zod_1.z.string(),
-        actions: zod_1.z.array(KeySourceActionSchema),
-    });
-    // input.NoneSourceAction = input.PauseAction
-    const NoneSourceActionSchema = PauseActionSchema;
-    // input.NoneSourceActions = {
-    //   type: "none",
-    //   id: text,
-    //   actions: [*input.NoneSourceAction]
-    // }
-    const NoneSourceActionsSchema = zod_1.z.object({
-        type: zod_1.z.literal(protocol_js_1.Input.SourceActionsType.None),
-        id: zod_1.z.string(),
-        actions: zod_1.z.array(NoneSourceActionSchema),
-    });
-    // input.SourceActions = (
-    //   input.NoneSourceActions //
-    //   input.KeySourceActions //
-    //   input.PointerSourceActions //
-    //   input.WheelSourceActions
-    // )
-    const SourceActionsSchema = zod_1.z.discriminatedUnion('type', [
-        NoneSourceActionsSchema,
-        KeySourceActionsSchema,
-        PointerSourceActionsSchema,
-        WheelSourceActionsSchema,
-    ]);
-    // input.PerformActionsParameters = {
-    //   context: browsingContext.BrowsingContext,
-    //   actions: [*input.SourceActions]
-    // }
-    const PerformActionsParametersSchema = zod_1.z.object({
-        context: CommonDataTypes.BrowsingContextSchema,
-        actions: zod_1.z.array(SourceActionsSchema),
-    });
-    function parsePerformActionsParams(params) {
-        return parseObject(params, PerformActionsParametersSchema);
-    }
-    Input.parsePerformActionsParams = parsePerformActionsParams;
-    // input.ReleaseActionsParameters = {
-    //   context: browsingContext.BrowsingContext,
-    // }
-    const ReleaseActionsParametersSchema = zod_1.z.object({
-        context: CommonDataTypes.BrowsingContextSchema,
-    });
-    function parseReleaseActionsParams(params) {
-        return parseObject(params, ReleaseActionsParametersSchema);
-    }
-    Input.parseReleaseActionsParams = parseReleaseActionsParams;
-})(Input = exports.Input || (exports.Input = {}));
+    Cdp.parseGetSessionRequest = parseGetSessionRequest;
+})(Cdp || (exports.Cdp = Cdp = {}));
 //# sourceMappingURL=protocol-parser.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol-parser/protocol-parser.js.map b/node_modules/chromium-bidi/lib/cjs/protocol-parser/protocol-parser.js.map
index 526a11e..303f26b 100644
--- a/node_modules/chromium-bidi/lib/cjs/protocol-parser/protocol-parser.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/protocol-parser/protocol-parser.js.map
@@ -1 +1 @@
-{"version":3,"file":"protocol-parser.js","sourceRoot":"","sources":["../../../src/protocol-parser/protocol-parser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"protocol-parser.js","sourceRoot":"","sources":["../../../src/protocol-parser/protocol-parser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol-parser/tsconfig.tsbuildinfo b/node_modules/chromium-bidi/lib/cjs/protocol-parser/tsconfig.tsbuildinfo
index 02f878d..0304744 100644
--- a/node_modules/chromium-bidi/lib/cjs/protocol-parser/tsconfig.tsbuildinfo
+++ b/node_modules/chromium-bidi/lib/cjs/protocol-parser/tsconfig.tsbuildinfo
@@ -1 +1 @@
-{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../../../node_modules/zod/lib/helpers/typeAliases.d.ts","../../../node_modules/zod/lib/helpers/util.d.ts","../../../node_modules/zod/lib/ZodError.d.ts","../../../node_modules/zod/lib/locales/en.d.ts","../../../node_modules/zod/lib/errors.d.ts","../../../node_modules/zod/lib/helpers/parseUtil.d.ts","../../../node_modules/zod/lib/helpers/enumUtil.d.ts","../../../node_modules/zod/lib/helpers/errorUtil.d.ts","../../../node_modules/zod/lib/helpers/partialUtil.d.ts","../../../node_modules/zod/lib/types.d.ts","../../../node_modules/zod/lib/external.d.ts","../../../node_modules/zod/lib/index.d.ts","../../../node_modules/zod/index.d.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../protocol/protocol.d.ts","../../../src/protocol-parser/protocol-parser.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"9a60b92bca4c1257db03b349d58e63e4868cfc0d1c8d0ba60c2dbc63f4e6c9f6","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"b7feb7967c6c6003e11f49efa8f5de989484e0a6ba2e5a6c41b55f8b8bd85dba","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7823c8aa42d88e6cb454fe7dc56996c6fd174b28a9f050e9bdea1c25b7d114ea","5487b97cfa28b26b4a9ef0770f872bdbebd4c46124858de00f242c3eed7519f4","7a01f546ace66019156e4232a1bee2fabc2f8eabeb052473d926ee1693956265","fb53b1c6a6c799b7e3cc2de3fb5c9a1c04a1c60d4380a37792d84c5f8b33933b","8485b6da53ec35637d072e516631d25dae53984500de70a6989058f24354666f","ebe80346928736532e4a822154eb77f57ef3389dbe2b3ba4e571366a15448ef2","c2cb3c8ff388781258ea9ddbcd8a947f751bddd6886e1d3b3ea09ddaa895df80","f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","98a9cc18f661d28e6bd31c436e1984f3980f35e0f0aa9cf795c54f8ccb667ffe","c76b0c5727302341d0bdfa2cc2cee4b19ff185b554edb6e8543f0661d8487116","19903057d0249e45c579bef2b771c37609e4853a8b88adbb0b6b63f9e1d1f372","f5ef066942e4f0bd98200aa6a6694b831e73200c9b3ade77ad0aa2409e8fe1b1","b9e99cd94f4166a245f5158f7286c05406e2a4c694619bceb7a4f3519d1d768e","5568d7c32e5cf5f35e092649f4e5e168c3114c800b1d7545b7ae5e0415704802","bc80c81a2be49b8c770330d63bea8e1b84d80978236faa5eabaade1ca4daae6d","8572211bcaf477c972f873af2e9015c9dba9325fed4ab68214185a57872b3c12","3bb597af9b7d6774dbd415191686cc9337b45b241451844908ca2a42eae31114",{"version":"18826abeae523db92a6bafb0d0febde75f239202d99eb22e94e2b2b5c542acbd","signature":"c1084778bed819eab8bd5fe284d482b01406a72a49a220941a422c147da73358"},"dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","93b7325b49dfbf613d940ed0e471216657b2d77459dac34f1b5b1678f08f884c","bee89e1eb6425eb49894f3f25e4562dc2564e84e5aa7610b7e13d8ecddf8f5db","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true},"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"8d81612302e009aacd595b125ae1530b6342f690eb83da7788503617d1362185","affectsGlobalScope":true},"7d2e3fea24c712c99c03ad8f556abedbfe105f87f1be10b95dbd409d24bc05a3",{"version":"211e3f15fbced4ab4be19f49ffa990b9ff20d749d33b65ff753be691e7616239","affectsGlobalScope":true},"374ca798f244e464346f14301dc2a8b4b111af1a83b49fffef5906c338a1f922","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","e596c9bb2f29a2699fdd4ae89139612652245192f67f45617c5a4b20832aaae9","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","1cdcfc1f624d6c08aa12c73935f6e13f095919cd99edf95752951796eb225729","216717f17c095cde1dc19375e1ab3af0a4a485355860c077a4f9d6ea59fab5b5","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"00dee7cdca8b8420c47ea4a31a34b8e8294013ebc4f463fd941e867e7bf05029","affectsGlobalScope":true},"80473bd0dd90ca1e166514c2dfead9d5803f9c51418864ca35abbeec6e6847e1","1c84b46267610a34028edfd0d035509341751262bac1062857f3c8df7aff7153","e6c86d83bd526c8bdb5d0bf935b8e72ce983763d600743f74d812fdf4abf4df6","a3d541d303ee505053f5dcbf9fafb65cac3d5631037501cd616195863a6c5740","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true},"bcebb922784739bdb34c18ee51095d25a92b560c78ccd2eaacd6bd00f7443d83","7ee6ed878c4528215c82b664fe0cfe80e8b4da6c0d4cc80869367868774db8b1","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"0715e4cd28ad471b2a93f3e552ff51a3ae423417a01a10aa1d3bc7c6b95059d6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","4f3fdeba4e28e21aa719c081b8dc8f91d47e12e773389b9d35679c08151c9d37","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","f69ff39996a61a0dd10f4bce73272b52e8024a4d58b13ab32bf4712909d0a2b7",{"version":"3c4ba1dd9b12ffa284b565063108f2f031d150ea15b8fafbdc17f5d2a07251f3","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","3d6c3d6b3bd42f1175d65cb74051c5f4ee2c1d2fbeb1facc5385e2161ce93005","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"a73ae8c0e62103bb9e21bb6538700881bf135b9a8b125b857ec68edfa0da4ed3","affectsGlobalScope":true},{"version":"e1c1b2fbe236bf7ee3e342eeae7e20efb8988a0ac7da1cbbfa2c1f66b76c3423","affectsGlobalScope":true},"6de4a219df57d2b27274d59b67708f13c2cbf7ed211abe57d8f9ab8b25cde776","0fe8985a28f82c450a04a6edf1279d7181c0893f37da7d2a27f8efd4fd5edb03","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"52120bb7e4583612225bdf08e7c12559548170f11e660d33a33623bae9bbdbba","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a6dd3dba8e665ac43d279e0fdf5219edda0eed69b5e9a5061f46cd6a65c4f7a1","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","8d41819b9e44145170afaf7b0bc0753e949e6cb2a2314bd36a8e7046f537f4a4","aec59f80c62291ec634283d443b27ebe6fc6cf57670057aa9a172927675bfbea","77c5c7f8578d139c74102a29384f5f4f0792a12d819ddcdcaf8307185ff2d45d","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"root":[81],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"useUnknownInCatchVariables":true},"fileIdsList":[[79,138],[138],[83,138],[85,138],[92,138],[95,138],[96,101,129,138],[97,108,109,116,126,137,138],[97,98,108,116,138],[99,138],[100,101,109,117,138],[101,126,134,138],[102,104,108,116,138],[103,138],[104,105,138],[108,138],[106,108,138],[108,109,110,126,137,138],[108,109,110,123,126,129,138],[138,142],[104,111,116,126,137,138],[108,109,111,112,116,126,134,137,138],[111,113,126,134,137,138],[92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144],[108,114,138],[115,137,138],[104,108,116,126,138],[117,138],[118,138],[95,119,138],[120,136,138,142],[121,138],[122,138],[108,123,124,138],[123,125,138,140],[96,108,126,127,128,129,138],[96,126,128,138],[126,127,138],[129,138],[130,138],[108,132,133,138],[132,133,138],[101,116,126,134,138],[135,138],[116,136,138],[96,111,122,137,138],[101,138],[126,138,139],[138,140],[138,141],[96,101,108,110,119,126,137,138,140,142],[126,138,143],[138,148,187],[138,148,172,187],[138,187],[138,148],[138,148,173,187],[138,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186],[138,173,187],[138,188],[108,111,113,116,137,138,145],[108,111,113,126,134,137,138,143,145],[108,126,138,145],[78,138],[76,138],[65,66,76,138],[67,68,138],[65,66,67,69,70,74,138],[66,67,138],[75,138],[67,138],[65,66,67,70,71,72,73,138],[77,80,138],[77,80]],"referencedMap":[[80,1],[82,2],[84,3],[83,2],[86,4],[87,2],[88,2],[89,2],[90,2],[91,2],[85,2],[92,5],[93,5],[95,6],[96,7],[97,8],[98,9],[99,10],[100,11],[101,12],[102,13],[103,14],[104,15],[105,15],[107,16],[106,17],[108,16],[109,18],[110,19],[94,20],[144,2],[111,21],[112,22],[113,23],[145,24],[114,25],[115,26],[116,27],[117,28],[118,29],[119,30],[120,31],[121,32],[122,33],[123,34],[124,34],[125,35],[126,36],[128,37],[127,38],[129,39],[130,40],[131,2],[132,41],[133,42],[134,43],[135,44],[136,45],[137,46],[138,47],[139,48],[140,49],[141,50],[142,51],[143,52],[146,2],[147,2],[172,53],[173,54],[148,55],[151,55],[170,53],[171,53],[161,53],[160,56],[158,53],[153,53],[166,53],[164,53],[168,53],[152,53],[165,53],[169,53],[154,53],[155,53],[167,53],[149,53],[156,53],[157,53],[159,53],[163,53],[174,57],[162,53],[150,53],[187,58],[186,2],[181,57],[183,59],[182,57],[175,57],[176,57],[178,57],[180,57],[184,59],[185,59],[177,59],[179,59],[189,60],[188,2],[190,61],[191,62],[192,63],[79,64],[78,2],[62,2],[63,2],[12,2],[13,2],[17,2],[16,2],[2,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[25,2],[3,2],[4,2],[29,2],[26,2],[27,2],[28,2],[30,2],[31,2],[32,2],[5,2],[33,2],[34,2],[35,2],[36,2],[6,2],[40,2],[37,2],[38,2],[39,2],[41,2],[7,2],[42,2],[47,2],[48,2],[43,2],[44,2],[45,2],[46,2],[8,2],[52,2],[49,2],[50,2],[51,2],[53,2],[9,2],[54,2],[55,2],[56,2],[59,2],[57,2],[58,2],[60,2],[10,2],[1,2],[11,2],[64,2],[61,2],[15,2],[14,2],[77,65],[67,66],[69,67],[75,68],[71,2],[72,2],[70,69],[73,65],[65,2],[66,2],[76,70],[68,71],[74,72],[81,73]],"exportedModulesMap":[[80,1],[82,2],[84,3],[83,2],[86,4],[87,2],[88,2],[89,2],[90,2],[91,2],[85,2],[92,5],[93,5],[95,6],[96,7],[97,8],[98,9],[99,10],[100,11],[101,12],[102,13],[103,14],[104,15],[105,15],[107,16],[106,17],[108,16],[109,18],[110,19],[94,20],[144,2],[111,21],[112,22],[113,23],[145,24],[114,25],[115,26],[116,27],[117,28],[118,29],[119,30],[120,31],[121,32],[122,33],[123,34],[124,34],[125,35],[126,36],[128,37],[127,38],[129,39],[130,40],[131,2],[132,41],[133,42],[134,43],[135,44],[136,45],[137,46],[138,47],[139,48],[140,49],[141,50],[142,51],[143,52],[146,2],[147,2],[172,53],[173,54],[148,55],[151,55],[170,53],[171,53],[161,53],[160,56],[158,53],[153,53],[166,53],[164,53],[168,53],[152,53],[165,53],[169,53],[154,53],[155,53],[167,53],[149,53],[156,53],[157,53],[159,53],[163,53],[174,57],[162,53],[150,53],[187,58],[186,2],[181,57],[183,59],[182,57],[175,57],[176,57],[178,57],[180,57],[184,59],[185,59],[177,59],[179,59],[189,60],[188,2],[190,61],[191,62],[192,63],[79,64],[78,2],[62,2],[63,2],[12,2],[13,2],[17,2],[16,2],[2,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[25,2],[3,2],[4,2],[29,2],[26,2],[27,2],[28,2],[30,2],[31,2],[32,2],[5,2],[33,2],[34,2],[35,2],[36,2],[6,2],[40,2],[37,2],[38,2],[39,2],[41,2],[7,2],[42,2],[47,2],[48,2],[43,2],[44,2],[45,2],[46,2],[8,2],[52,2],[49,2],[50,2],[51,2],[53,2],[9,2],[54,2],[55,2],[56,2],[59,2],[57,2],[58,2],[60,2],[10,2],[1,2],[11,2],[64,2],[61,2],[15,2],[14,2],[77,65],[67,66],[69,67],[75,68],[71,2],[72,2],[70,69],[73,65],[65,2],[66,2],[76,70],[68,71],[74,72],[81,74]],"semanticDiagnosticsPerFile":[80,82,84,83,86,87,88,89,90,91,85,92,93,95,96,97,98,99,100,101,102,103,104,105,107,106,108,109,110,94,144,111,112,113,145,114,115,116,117,118,119,120,121,122,123,124,125,126,128,127,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,146,147,172,173,148,151,170,171,161,160,158,153,166,164,168,152,165,169,154,155,167,149,156,157,159,163,174,162,150,187,186,181,183,182,175,176,178,180,184,185,177,179,189,188,190,191,192,79,78,62,63,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,10,1,11,64,61,15,14,77,67,69,75,71,72,70,73,65,66,76,68,74,81],"latestChangedDtsFile":"./protocol-parser.d.ts"},"version":"5.0.4"}
\ No newline at end of file
+{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../../../node_modules/zod/lib/helpers/typeAliases.d.ts","../../../node_modules/zod/lib/helpers/util.d.ts","../../../node_modules/zod/lib/ZodError.d.ts","../../../node_modules/zod/lib/locales/en.d.ts","../../../node_modules/zod/lib/errors.d.ts","../../../node_modules/zod/lib/helpers/parseUtil.d.ts","../../../node_modules/zod/lib/helpers/enumUtil.d.ts","../../../node_modules/zod/lib/helpers/errorUtil.d.ts","../../../node_modules/zod/lib/helpers/partialUtil.d.ts","../../../node_modules/zod/lib/types.d.ts","../../../node_modules/zod/lib/external.d.ts","../../../node_modules/zod/lib/index.d.ts","../../../node_modules/zod/index.d.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../protocol/webdriver-bidi.d.ts","../protocol/cdp.d.ts","../protocol/chromium-bidi.d.ts","../protocol/ErrorResponse.d.ts","../protocol/protocol.d.ts","../../../src/protocol-parser/webdriver-bidi.ts","../../../src/protocol-parser/protocol-parser.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"3dda5344576193a4ae48b8d03f105c86f20b2f2aff0a1d1fd7935f5d68649654","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"9d9885c728913c1d16e0d2831b40341d6ad9a0ceecaabc55209b306ad9c736a5","affectsGlobalScope":true},{"version":"17bea081b9c0541f39dd1ae9bc8c78bdd561879a682e60e2f25f688c0ecab248","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f06948deb2a51aae25184561c9640fb66afeddb34531a9212d011792b1d19e0a","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"930b0e15811f84e203d3c23508674d5ded88266df4b10abee7b31b2ac77632d2","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7823c8aa42d88e6cb454fe7dc56996c6fd174b28a9f050e9bdea1c25b7d114ea","5487b97cfa28b26b4a9ef0770f872bdbebd4c46124858de00f242c3eed7519f4","7a01f546ace66019156e4232a1bee2fabc2f8eabeb052473d926ee1693956265","fb53b1c6a6c799b7e3cc2de3fb5c9a1c04a1c60d4380a37792d84c5f8b33933b","8485b6da53ec35637d072e516631d25dae53984500de70a6989058f24354666f","ebe80346928736532e4a822154eb77f57ef3389dbe2b3ba4e571366a15448ef2","c2cb3c8ff388781258ea9ddbcd8a947f751bddd6886e1d3b3ea09ddaa895df80","f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","98a9cc18f661d28e6bd31c436e1984f3980f35e0f0aa9cf795c54f8ccb667ffe","c76b0c5727302341d0bdfa2cc2cee4b19ff185b554edb6e8543f0661d8487116","19903057d0249e45c579bef2b771c37609e4853a8b88adbb0b6b63f9e1d1f372","f5ef066942e4f0bd98200aa6a6694b831e73200c9b3ade77ad0aa2409e8fe1b1","b9e99cd94f4166a245f5158f7286c05406e2a4c694619bceb7a4f3519d1d768e","5568d7c32e5cf5f35e092649f4e5e168c3114c800b1d7545b7ae5e0415704802","ec01464e62357ddcc0900f59beef6bf02e419f6dbe74dbb99cac60a89d3dcdb6","8f42ab85547ff7cf44c75d0922a19e9123aef43e286d4f22bdbb6fbf1fcc7e4a","6d4906ee0b75ce485059a3b9dbcee5de80798a734268e8741aa05c48fe85a9a4","64709d6ed350d96593c08463feea35d650436216e1a08718afbc3ce983440061","d8930ee71e1ab1298a5598f47543ac3fb4f120667529f115e3d6eef6950a5432","cb3f8a0d53b27af2c269fe48584c0d3750982fbdc42ecc2ab02ccf1ba6a905c8","14d514c8b6f88c7da5c186a24ae6cd8ec04742c07a21ec45c3935853c5bd0fd7",{"version":"b6ca96d7b04e3ad9749c9e11106d0e59744eca1b420a941c111bc01e2a36acf8","signature":"50c4ba95acae48b5a35de40d4d3a8ceb52f4dfbca9f344937545aefeb6815950"},{"version":"16b37e080320b647f96269d0084d84db0c59dcb63406efbccebf7aa0d9876e4c","signature":"ca173281d380633ab73017e88f951cb5e5b8930593fe9c89ce8be12e89f33317"},"dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","93b7325b49dfbf613d940ed0e471216657b2d77459dac34f1b5b1678f08f884c","bee89e1eb6425eb49894f3f25e4562dc2564e84e5aa7610b7e13d8ecddf8f5db","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","b9f96255e1048ed2ea33ec553122716f0e57fc1c3ad778e9aa15f5b46547bd23","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","a1a261624efb3a00ff346b13580f70f3463b8cdcc58b60f5793ff11785d52cab","f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","cffac9db07bba0b35754412e48215d1bc5153c03c46409bbeaf315848359822b","aec59f80c62291ec634283d443b27ebe6fc6cf57670057aa9a172927675bfbea","2dd1d4cea14cead7a7fc9eec8f40593089dff0de8c0199458446143c9b8c4ea9","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"root":[85,86],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"useUnknownInCatchVariables":true},"fileIdsList":[[80,143],[78,79,80,143],[80,81,143],[80,81,82,83,143],[143],[88,143],[90,143],[97,143],[100,143],[101,106,134,143],[102,113,114,121,131,142,143],[102,103,113,121,143],[104,143],[105,106,114,122,143],[106,131,139,143],[107,109,113,121,143],[108,143],[109,110,143],[113,143],[111,113,143],[113,114,115,131,142,143],[113,114,115,128,131,134,143],[143,147],[109,113,116,121,131,142,143],[113,114,116,117,121,131,139,142,143],[116,118,131,139,142,143],[97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149],[113,119,143],[120,142,143],[109,113,121,131,143],[122,143],[123,143],[100,124,143],[125,141,143,147],[126,143],[127,143],[113,128,129,143],[128,130,143,145],[101,113,131,132,133,134,143],[101,131,133,143],[131,132,143],[134,143],[135,143],[131,143],[113,137,138,143],[137,138,143],[106,121,131,139,143],[140,143],[121,141,143],[101,116,127,142,143],[106,143],[131,143,144],[143,145],[143,146],[101,106,113,115,124,131,142,143,145,147],[131,143,148],[143,153,192],[143,153,177,192],[143,192],[143,153],[143,153,178,192],[143,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191],[143,178,192],[143,193],[113,116,118,121,142,143,150],[113,116,118,131,139,142,143,148,150],[113,131,143,150],[78,143],[76,143],[65,66,76,143],[67,68,143],[65,66,67,69,70,74,143],[66,67,143],[75,143],[67,143],[65,66,67,70,71,72,73,143],[77,84,85,143],[77,143],[77,84],[77]],"referencedMap":[[83,1],[81,2],[82,3],[84,4],[80,5],[87,5],[89,6],[88,5],[91,7],[92,5],[93,5],[94,5],[95,5],[96,5],[90,5],[97,8],[98,8],[100,9],[101,10],[102,11],[103,12],[104,13],[105,14],[106,15],[107,16],[108,17],[109,18],[110,18],[112,19],[111,20],[113,19],[114,21],[115,22],[99,23],[149,5],[116,24],[117,25],[118,26],[150,27],[119,28],[120,29],[121,30],[122,31],[123,32],[124,33],[125,34],[126,35],[127,36],[128,37],[129,37],[130,38],[131,39],[133,40],[132,41],[134,42],[135,43],[136,44],[137,45],[138,46],[139,47],[140,48],[141,49],[142,50],[143,51],[144,52],[145,53],[146,54],[147,55],[148,56],[151,5],[152,5],[177,57],[178,58],[153,59],[156,59],[175,57],[176,57],[166,57],[165,60],[163,57],[158,57],[171,57],[169,57],[173,57],[157,57],[170,57],[174,57],[159,57],[160,57],[172,57],[154,57],[161,57],[162,57],[164,57],[168,57],[179,61],[167,57],[155,57],[192,62],[191,5],[186,61],[188,63],[187,61],[180,61],[181,61],[183,61],[185,61],[189,63],[190,63],[182,63],[184,63],[194,64],[193,5],[195,65],[196,66],[197,67],[79,68],[78,5],[62,5],[63,5],[12,5],[13,5],[17,5],[16,5],[2,5],[18,5],[19,5],[20,5],[21,5],[22,5],[23,5],[24,5],[25,5],[3,5],[4,5],[29,5],[26,5],[27,5],[28,5],[30,5],[31,5],[32,5],[5,5],[33,5],[34,5],[35,5],[36,5],[6,5],[40,5],[37,5],[38,5],[39,5],[41,5],[7,5],[42,5],[47,5],[48,5],[43,5],[44,5],[45,5],[46,5],[8,5],[52,5],[49,5],[50,5],[51,5],[53,5],[9,5],[54,5],[55,5],[56,5],[59,5],[57,5],[58,5],[60,5],[10,5],[1,5],[11,5],[64,5],[61,5],[15,5],[14,5],[77,69],[67,70],[69,71],[75,72],[71,5],[72,5],[70,73],[73,69],[65,5],[66,5],[76,74],[68,75],[74,76],[86,77],[85,78]],"exportedModulesMap":[[83,1],[81,2],[82,3],[84,4],[80,5],[87,5],[89,6],[88,5],[91,7],[92,5],[93,5],[94,5],[95,5],[96,5],[90,5],[97,8],[98,8],[100,9],[101,10],[102,11],[103,12],[104,13],[105,14],[106,15],[107,16],[108,17],[109,18],[110,18],[112,19],[111,20],[113,19],[114,21],[115,22],[99,23],[149,5],[116,24],[117,25],[118,26],[150,27],[119,28],[120,29],[121,30],[122,31],[123,32],[124,33],[125,34],[126,35],[127,36],[128,37],[129,37],[130,38],[131,39],[133,40],[132,41],[134,42],[135,43],[136,44],[137,45],[138,46],[139,47],[140,48],[141,49],[142,50],[143,51],[144,52],[145,53],[146,54],[147,55],[148,56],[151,5],[152,5],[177,57],[178,58],[153,59],[156,59],[175,57],[176,57],[166,57],[165,60],[163,57],[158,57],[171,57],[169,57],[173,57],[157,57],[170,57],[174,57],[159,57],[160,57],[172,57],[154,57],[161,57],[162,57],[164,57],[168,57],[179,61],[167,57],[155,57],[192,62],[191,5],[186,61],[188,63],[187,61],[180,61],[181,61],[183,61],[185,61],[189,63],[190,63],[182,63],[184,63],[194,64],[193,5],[195,65],[196,66],[197,67],[79,68],[78,5],[62,5],[63,5],[12,5],[13,5],[17,5],[16,5],[2,5],[18,5],[19,5],[20,5],[21,5],[22,5],[23,5],[24,5],[25,5],[3,5],[4,5],[29,5],[26,5],[27,5],[28,5],[30,5],[31,5],[32,5],[5,5],[33,5],[34,5],[35,5],[36,5],[6,5],[40,5],[37,5],[38,5],[39,5],[41,5],[7,5],[42,5],[47,5],[48,5],[43,5],[44,5],[45,5],[46,5],[8,5],[52,5],[49,5],[50,5],[51,5],[53,5],[9,5],[54,5],[55,5],[56,5],[59,5],[57,5],[58,5],[60,5],[10,5],[1,5],[11,5],[64,5],[61,5],[15,5],[14,5],[77,69],[67,70],[69,71],[75,72],[71,5],[72,5],[70,73],[73,69],[65,5],[66,5],[76,74],[68,75],[74,76],[86,79],[85,80]],"semanticDiagnosticsPerFile":[83,81,82,84,80,87,89,88,91,92,93,94,95,96,90,97,98,100,101,102,103,104,105,106,107,108,109,110,112,111,113,114,115,99,149,116,117,118,150,119,120,121,122,123,124,125,126,127,128,129,130,131,133,132,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,151,152,177,178,153,156,175,176,166,165,163,158,171,169,173,157,170,174,159,160,172,154,161,162,164,168,179,167,155,192,191,186,188,187,180,181,183,185,189,190,182,184,194,193,195,196,197,79,78,62,63,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,10,1,11,64,61,15,14,77,67,69,75,71,72,70,73,65,66,76,68,74,86,85],"latestChangedDtsFile":"./protocol-parser.d.ts"},"version":"5.1.6"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol-parser/webdriver-bidi.d.ts b/node_modules/chromium-bidi/lib/cjs/protocol-parser/webdriver-bidi.d.ts
new file mode 100644
index 0000000..3a4c4ba
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/protocol-parser/webdriver-bidi.d.ts
@@ -0,0 +1,48820 @@
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * THIS FILE IS AUTOGENERATED. Run `npm run bidi-types` to regenerate.
+ * @see https://github.com/w3c/webdriver-bidi/blob/master/index.bs
+ */
+import z from 'zod';
+export declare const CommandSchema: z.ZodLazy<z.ZodIntersection<z.ZodIntersection<z.ZodObject<{
+    id: z.ZodLazy<z.ZodNumber>;
+}, "strip", z.ZodTypeAny, {
+    id: number;
+}, {
+    id: number;
+}>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browser.close">;
+    params: z.ZodLazy<z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+}, "strip", z.ZodTypeAny, {
+    params: Record<string, any>;
+    method: "browser.close";
+}, {
+    params: Record<string, any>;
+    method: "browser.close";
+}>>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.activate">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+    }, {
+        context: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+    };
+    method: "browsingContext.activate";
+}, {
+    params: {
+        context: string;
+    };
+    method: "browsingContext.activate";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.captureScreenshot">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        clip: z.ZodOptional<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"viewport">;
+            x: z.ZodNumber;
+            y: z.ZodNumber;
+            width: z.ZodNumber;
+            height: z.ZodNumber;
+        }, "strip", z.ZodTypeAny, {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        }, {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"element">;
+            element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                sharedId: z.ZodLazy<z.ZodString>;
+                handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+            }, "strip", z.ZodTypeAny, {
+                sharedId: string;
+                handle?: string | undefined;
+            }, {
+                sharedId: string;
+                handle?: string | undefined;
+            }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+            scrollIntoView: z.ZodOptional<z.ZodBoolean>;
+        }, "strip", z.ZodTypeAny, {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        }, {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        }>>]>>>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        clip?: {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        } | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        } | undefined;
+    }, {
+        context: string;
+        clip?: {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        } | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        } | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        clip?: {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        } | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        } | undefined;
+    };
+    method: "browsingContext.captureScreenshot";
+}, {
+    params: {
+        context: string;
+        clip?: {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        } | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        } | undefined;
+    };
+    method: "browsingContext.captureScreenshot";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.close">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+    }, {
+        context: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+    };
+    method: "browsingContext.close";
+}, {
+    params: {
+        context: string;
+    };
+    method: "browsingContext.close";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.create">;
+    params: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLazy<z.ZodEnum<["tab", "window"]>>;
+        referenceContext: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        background: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "window" | "tab";
+        referenceContext?: string | undefined;
+        background?: boolean | undefined;
+    }, {
+        type: "window" | "tab";
+        referenceContext?: string | undefined;
+        background?: boolean | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        type: "window" | "tab";
+        referenceContext?: string | undefined;
+        background?: boolean | undefined;
+    };
+    method: "browsingContext.create";
+}, {
+    params: {
+        type: "window" | "tab";
+        referenceContext?: string | undefined;
+        background?: boolean | undefined;
+    };
+    method: "browsingContext.create";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.getTree">;
+    params: z.ZodLazy<z.ZodObject<{
+        maxDepth: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        root: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+    }, "strip", z.ZodTypeAny, {
+        maxDepth?: number | undefined;
+        root?: string | undefined;
+    }, {
+        maxDepth?: number | undefined;
+        root?: string | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        maxDepth?: number | undefined;
+        root?: string | undefined;
+    };
+    method: "browsingContext.getTree";
+}, {
+    params: {
+        maxDepth?: number | undefined;
+        root?: string | undefined;
+    };
+    method: "browsingContext.getTree";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.handleUserPrompt">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        accept: z.ZodOptional<z.ZodBoolean>;
+        userText: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        accept?: boolean | undefined;
+        userText?: string | undefined;
+    }, {
+        context: string;
+        accept?: boolean | undefined;
+        userText?: string | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        accept?: boolean | undefined;
+        userText?: string | undefined;
+    };
+    method: "browsingContext.handleUserPrompt";
+}, {
+    params: {
+        context: string;
+        accept?: boolean | undefined;
+        userText?: string | undefined;
+    };
+    method: "browsingContext.handleUserPrompt";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.navigate">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        url: z.ZodString;
+        wait: z.ZodOptional<z.ZodLazy<z.ZodEnum<["none", "interactive", "complete"]>>>;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        context: string;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    }, {
+        url: string;
+        context: string;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        context: string;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    };
+    method: "browsingContext.navigate";
+}, {
+    params: {
+        url: string;
+        context: string;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    };
+    method: "browsingContext.navigate";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.print">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        background: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+        margin: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            bottom: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            left: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            right: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            top: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        }, {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        }>>>;
+        orientation: z.ZodOptional<z.ZodDefault<z.ZodEnum<["portrait", "landscape"]>>>;
+        page: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            height: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            width: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            height?: number | undefined;
+            width?: number | undefined;
+        }, {
+            height?: number | undefined;
+            width?: number | undefined;
+        }>>>;
+        pageRanges: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodString]>, "many">>;
+        scale: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        shrinkToFit: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        background?: boolean | undefined;
+        margin?: {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        } | undefined;
+        orientation?: "portrait" | "landscape" | undefined;
+        page?: {
+            height?: number | undefined;
+            width?: number | undefined;
+        } | undefined;
+        pageRanges?: (string | number)[] | undefined;
+        scale?: number | undefined;
+        shrinkToFit?: boolean | undefined;
+    }, {
+        context: string;
+        background?: boolean | undefined;
+        margin?: {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        } | undefined;
+        orientation?: "portrait" | "landscape" | undefined;
+        page?: {
+            height?: number | undefined;
+            width?: number | undefined;
+        } | undefined;
+        pageRanges?: (string | number)[] | undefined;
+        scale?: number | undefined;
+        shrinkToFit?: boolean | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        background?: boolean | undefined;
+        margin?: {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        } | undefined;
+        orientation?: "portrait" | "landscape" | undefined;
+        page?: {
+            height?: number | undefined;
+            width?: number | undefined;
+        } | undefined;
+        pageRanges?: (string | number)[] | undefined;
+        scale?: number | undefined;
+        shrinkToFit?: boolean | undefined;
+    };
+    method: "browsingContext.print";
+}, {
+    params: {
+        context: string;
+        background?: boolean | undefined;
+        margin?: {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        } | undefined;
+        orientation?: "portrait" | "landscape" | undefined;
+        page?: {
+            height?: number | undefined;
+            width?: number | undefined;
+        } | undefined;
+        pageRanges?: (string | number)[] | undefined;
+        scale?: number | undefined;
+        shrinkToFit?: boolean | undefined;
+    };
+    method: "browsingContext.print";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.reload">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        ignoreCache: z.ZodOptional<z.ZodBoolean>;
+        wait: z.ZodOptional<z.ZodLazy<z.ZodEnum<["none", "interactive", "complete"]>>>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        ignoreCache?: boolean | undefined;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    }, {
+        context: string;
+        ignoreCache?: boolean | undefined;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        ignoreCache?: boolean | undefined;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    };
+    method: "browsingContext.reload";
+}, {
+    params: {
+        context: string;
+        ignoreCache?: boolean | undefined;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    };
+    method: "browsingContext.reload";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.setViewport">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        viewport: z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            width: z.ZodLazy<z.ZodNumber>;
+            height: z.ZodLazy<z.ZodNumber>;
+        }, "strip", z.ZodTypeAny, {
+            width: number;
+            height: number;
+        }, {
+            width: number;
+            height: number;
+        }>>, z.ZodNull]>;
+    }, "strip", z.ZodTypeAny, {
+        viewport: {
+            width: number;
+            height: number;
+        } | null;
+        context: string;
+    }, {
+        viewport: {
+            width: number;
+            height: number;
+        } | null;
+        context: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        viewport: {
+            width: number;
+            height: number;
+        } | null;
+        context: string;
+    };
+    method: "browsingContext.setViewport";
+}, {
+    params: {
+        viewport: {
+            width: number;
+            height: number;
+        } | null;
+        context: string;
+    };
+    method: "browsingContext.setViewport";
+}>>]>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"input.performActions">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"none">;
+            id: z.ZodString;
+            actions: z.ZodArray<z.ZodLazy<z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"pause">;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pause";
+                duration?: number | undefined;
+            }, {
+                type: "pause";
+                duration?: number | undefined;
+            }>>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        }, {
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"key">;
+            id: z.ZodString;
+            actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"pause">;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pause";
+                duration?: number | undefined;
+            }, {
+                type: "pause";
+                duration?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"keyDown">;
+                value: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                type: "keyDown";
+                value: string;
+            }, {
+                type: "keyDown";
+                value: string;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"keyUp">;
+                value: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                type: "keyUp";
+                value: string;
+            }, {
+                type: "keyUp";
+                value: string;
+            }>>]>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        }, {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"pointer">;
+            id: z.ZodString;
+            parameters: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                pointerType: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodEnum<["mouse", "pen", "touch"]>>>>;
+            }, "strip", z.ZodTypeAny, {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            }, {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            }>>>;
+            actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"pause">;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pause";
+                duration?: number | undefined;
+            }, {
+                type: "pause";
+                duration?: number | undefined;
+            }>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                type: z.ZodLiteral<"pointerDown">;
+                button: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pointerDown";
+                button: number;
+            }, {
+                type: "pointerDown";
+                button: number;
+            }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }>>]>>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                type: z.ZodLiteral<"pointerUp">;
+                button: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pointerUp";
+                button: number;
+            }, {
+                type: "pointerUp";
+                button: number;
+            }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }>>]>>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                type: z.ZodLiteral<"pointerMove">;
+                x: z.ZodLazy<z.ZodNumber>;
+                y: z.ZodLazy<z.ZodNumber>;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                origin: z.ZodOptional<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"element">;
+                    element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                        sharedId: z.ZodLazy<z.ZodString>;
+                        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+                    }, "strip", z.ZodTypeAny, {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    }, {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+                }, "strip", z.ZodTypeAny, {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                }, {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                }>>]>>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            }, {
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }>>]>>>>>]>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        }, {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"wheel">;
+            id: z.ZodString;
+            actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"pause">;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pause";
+                duration?: number | undefined;
+            }, {
+                type: "pause";
+                duration?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"scroll">;
+                x: z.ZodLazy<z.ZodNumber>;
+                y: z.ZodLazy<z.ZodNumber>;
+                deltaX: z.ZodLazy<z.ZodNumber>;
+                deltaY: z.ZodLazy<z.ZodNumber>;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                origin: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"element">;
+                    element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                        sharedId: z.ZodLazy<z.ZodString>;
+                        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+                    }, "strip", z.ZodTypeAny, {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    }, {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+                }, "strip", z.ZodTypeAny, {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                }, {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                }>>]>>>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            }, {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            }>>]>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        }, {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        }>>]>>, "many">;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        actions: ({
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        } | {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        } | {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        } | {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        })[];
+    }, {
+        context: string;
+        actions: ({
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        } | {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        } | {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        } | {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        })[];
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        actions: ({
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        } | {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        } | {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        } | {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        })[];
+    };
+    method: "input.performActions";
+}, {
+    params: {
+        context: string;
+        actions: ({
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        } | {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        } | {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        } | {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        })[];
+    };
+    method: "input.performActions";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"input.releaseActions">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+    }, {
+        context: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+    };
+    method: "input.releaseActions";
+}, {
+    params: {
+        context: string;
+    };
+    method: "input.releaseActions";
+}>>]>>, z.ZodLazy<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.addPreloadScript">;
+    params: z.ZodLazy<z.ZodObject<{
+        functionDeclaration: z.ZodString;
+        arguments: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"channel">;
+            value: z.ZodLazy<z.ZodObject<{
+                channel: z.ZodLazy<z.ZodString>;
+                serializationOptions: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                    maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+                    maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+                    includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+                }, "strip", z.ZodTypeAny, {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                }, {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                }>>>;
+                ownership: z.ZodOptional<z.ZodLazy<z.ZodEnum<["root", "none"]>>>;
+            }, "strip", z.ZodTypeAny, {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            }, {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }, {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }>>, "many">>;
+        sandbox: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        functionDeclaration: string;
+        arguments?: {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }[] | undefined;
+        sandbox?: string | undefined;
+    }, {
+        functionDeclaration: string;
+        arguments?: {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }[] | undefined;
+        sandbox?: string | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        functionDeclaration: string;
+        arguments?: {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }[] | undefined;
+        sandbox?: string | undefined;
+    };
+    method: "script.addPreloadScript";
+}, {
+    params: {
+        functionDeclaration: string;
+        arguments?: {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }[] | undefined;
+        sandbox?: string | undefined;
+    };
+    method: "script.addPreloadScript";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.callFunction">;
+    params: z.ZodLazy<z.ZodObject<{
+        functionDeclaration: z.ZodString;
+        awaitPromise: z.ZodBoolean;
+        target: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+        }, {
+            realm: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            sandbox: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            sandbox?: string | undefined;
+        }, {
+            context: string;
+            sandbox?: string | undefined;
+        }>>]>>;
+        arguments: z.ZodOptional<z.ZodArray<any, "many">>;
+        resultOwnership: z.ZodOptional<z.ZodLazy<z.ZodEnum<["root", "none"]>>>;
+        serializationOptions: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+        }, "strip", z.ZodTypeAny, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }>>>;
+        this: any;
+        userActivation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+    }, "strip", z.ZodTypeAny, {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        functionDeclaration: string;
+        arguments?: any[] | undefined;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        this?: any;
+        userActivation?: boolean | undefined;
+    }, {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        functionDeclaration: string;
+        arguments?: any[] | undefined;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        this?: any;
+        userActivation?: boolean | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        functionDeclaration: string;
+        arguments?: any[] | undefined;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        this?: any;
+        userActivation?: boolean | undefined;
+    };
+    method: "script.callFunction";
+}, {
+    params: {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        functionDeclaration: string;
+        arguments?: any[] | undefined;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        this?: any;
+        userActivation?: boolean | undefined;
+    };
+    method: "script.callFunction";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.disown">;
+    params: z.ZodLazy<z.ZodObject<{
+        handles: z.ZodArray<z.ZodLazy<z.ZodString>, "many">;
+        target: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+        }, {
+            realm: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            sandbox: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            sandbox?: string | undefined;
+        }, {
+            context: string;
+            sandbox?: string | undefined;
+        }>>]>>;
+    }, "strip", z.ZodTypeAny, {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        handles: string[];
+    }, {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        handles: string[];
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        handles: string[];
+    };
+    method: "script.disown";
+}, {
+    params: {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        handles: string[];
+    };
+    method: "script.disown";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.evaluate">;
+    params: z.ZodLazy<z.ZodObject<{
+        expression: z.ZodString;
+        target: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+        }, {
+            realm: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            sandbox: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            sandbox?: string | undefined;
+        }, {
+            context: string;
+            sandbox?: string | undefined;
+        }>>]>>;
+        awaitPromise: z.ZodBoolean;
+        resultOwnership: z.ZodOptional<z.ZodLazy<z.ZodEnum<["root", "none"]>>>;
+        serializationOptions: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+        }, "strip", z.ZodTypeAny, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }>>>;
+        userActivation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+    }, "strip", z.ZodTypeAny, {
+        expression: string;
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        userActivation?: boolean | undefined;
+    }, {
+        expression: string;
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        userActivation?: boolean | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        expression: string;
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        userActivation?: boolean | undefined;
+    };
+    method: "script.evaluate";
+}, {
+    params: {
+        expression: string;
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        userActivation?: boolean | undefined;
+    };
+    method: "script.evaluate";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.getRealms">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        type: z.ZodOptional<z.ZodLazy<z.ZodEnum<["window", "dedicated-worker", "shared-worker", "service-worker", "worker", "paint-worklet", "audio-worklet", "worklet"]>>>;
+    }, "strip", z.ZodTypeAny, {
+        context?: string | undefined;
+        type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+    }, {
+        context?: string | undefined;
+        type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context?: string | undefined;
+        type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+    };
+    method: "script.getRealms";
+}, {
+    params: {
+        context?: string | undefined;
+        type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+    };
+    method: "script.getRealms";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.removePreloadScript">;
+    params: z.ZodLazy<z.ZodObject<{
+        script: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        script: string;
+    }, {
+        script: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        script: string;
+    };
+    method: "script.removePreloadScript";
+}, {
+    params: {
+        script: string;
+    };
+    method: "script.removePreloadScript";
+}>>]>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"session.end">;
+    params: z.ZodLazy<z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+}, "strip", z.ZodTypeAny, {
+    params: Record<string, any>;
+    method: "session.end";
+}, {
+    params: Record<string, any>;
+    method: "session.end";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"session.new">;
+    params: z.ZodLazy<z.ZodObject<{
+        capabilities: z.ZodLazy<z.ZodObject<{
+            alwaysMatch: z.ZodOptional<z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                acceptInsecureCerts: z.ZodOptional<z.ZodBoolean>;
+                browserName: z.ZodOptional<z.ZodString>;
+                browserVersion: z.ZodOptional<z.ZodString>;
+                platformName: z.ZodOptional<z.ZodString>;
+                proxy: z.ZodOptional<z.ZodObject<{
+                    proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+                    proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+                    ftpProxy: z.ZodOptional<z.ZodString>;
+                    httpProxy: z.ZodOptional<z.ZodString>;
+                    noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+                    sslProxy: z.ZodOptional<z.ZodString>;
+                    socksProxy: z.ZodOptional<z.ZodString>;
+                    socksVersion: z.ZodOptional<z.ZodNumber>;
+                }, "strip", z.ZodTypeAny, {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                }, {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                }>>;
+            }, "strip", z.ZodTypeAny, {
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            }, {
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>>;
+            firstMatch: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                acceptInsecureCerts: z.ZodOptional<z.ZodBoolean>;
+                browserName: z.ZodOptional<z.ZodString>;
+                browserVersion: z.ZodOptional<z.ZodString>;
+                platformName: z.ZodOptional<z.ZodString>;
+                proxy: z.ZodOptional<z.ZodObject<{
+                    proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+                    proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+                    ftpProxy: z.ZodOptional<z.ZodString>;
+                    httpProxy: z.ZodOptional<z.ZodString>;
+                    noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+                    sslProxy: z.ZodOptional<z.ZodString>;
+                    socksProxy: z.ZodOptional<z.ZodString>;
+                    socksVersion: z.ZodOptional<z.ZodNumber>;
+                }, "strip", z.ZodTypeAny, {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                }, {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                }>>;
+            }, "strip", z.ZodTypeAny, {
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            }, {
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>, "many">>;
+        }, "strip", z.ZodTypeAny, {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        }, {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        capabilities: {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        };
+    }, {
+        capabilities: {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        };
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        capabilities: {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        };
+    };
+    method: "session.new";
+}, {
+    params: {
+        capabilities: {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        };
+    };
+    method: "session.new";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"session.status">;
+    params: z.ZodLazy<z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+}, "strip", z.ZodTypeAny, {
+    params: Record<string, any>;
+    method: "session.status";
+}, {
+    params: Record<string, any>;
+    method: "session.status";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"session.subscribe">;
+    params: z.ZodLazy<z.ZodObject<{
+        events: z.ZodArray<z.ZodString, "many">;
+        contexts: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodString>, "many">>;
+    }, "strip", z.ZodTypeAny, {
+        events: string[];
+        contexts?: string[] | undefined;
+    }, {
+        events: string[];
+        contexts?: string[] | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        events: string[];
+        contexts?: string[] | undefined;
+    };
+    method: "session.subscribe";
+}, {
+    params: {
+        events: string[];
+        contexts?: string[] | undefined;
+    };
+    method: "session.subscribe";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"session.unsubscribe">;
+    params: z.ZodLazy<z.ZodObject<{
+        events: z.ZodArray<z.ZodString, "many">;
+        contexts: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodString>, "many">>;
+    }, "strip", z.ZodTypeAny, {
+        events: string[];
+        contexts?: string[] | undefined;
+    }, {
+        events: string[];
+        contexts?: string[] | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        events: string[];
+        contexts?: string[] | undefined;
+    };
+    method: "session.unsubscribe";
+}, {
+    params: {
+        events: string[];
+        contexts?: string[] | undefined;
+    };
+    method: "session.unsubscribe";
+}>>]>>]>>>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+export declare const CommandDataSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browser.close">;
+    params: z.ZodLazy<z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+}, "strip", z.ZodTypeAny, {
+    params: Record<string, any>;
+    method: "browser.close";
+}, {
+    params: Record<string, any>;
+    method: "browser.close";
+}>>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.activate">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+    }, {
+        context: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+    };
+    method: "browsingContext.activate";
+}, {
+    params: {
+        context: string;
+    };
+    method: "browsingContext.activate";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.captureScreenshot">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        clip: z.ZodOptional<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"viewport">;
+            x: z.ZodNumber;
+            y: z.ZodNumber;
+            width: z.ZodNumber;
+            height: z.ZodNumber;
+        }, "strip", z.ZodTypeAny, {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        }, {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"element">;
+            element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                sharedId: z.ZodLazy<z.ZodString>;
+                handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+            }, "strip", z.ZodTypeAny, {
+                sharedId: string;
+                handle?: string | undefined;
+            }, {
+                sharedId: string;
+                handle?: string | undefined;
+            }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+            scrollIntoView: z.ZodOptional<z.ZodBoolean>;
+        }, "strip", z.ZodTypeAny, {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        }, {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        }>>]>>>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        clip?: {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        } | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        } | undefined;
+    }, {
+        context: string;
+        clip?: {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        } | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        } | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        clip?: {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        } | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        } | undefined;
+    };
+    method: "browsingContext.captureScreenshot";
+}, {
+    params: {
+        context: string;
+        clip?: {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        } | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        } | undefined;
+    };
+    method: "browsingContext.captureScreenshot";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.close">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+    }, {
+        context: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+    };
+    method: "browsingContext.close";
+}, {
+    params: {
+        context: string;
+    };
+    method: "browsingContext.close";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.create">;
+    params: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLazy<z.ZodEnum<["tab", "window"]>>;
+        referenceContext: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        background: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "window" | "tab";
+        referenceContext?: string | undefined;
+        background?: boolean | undefined;
+    }, {
+        type: "window" | "tab";
+        referenceContext?: string | undefined;
+        background?: boolean | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        type: "window" | "tab";
+        referenceContext?: string | undefined;
+        background?: boolean | undefined;
+    };
+    method: "browsingContext.create";
+}, {
+    params: {
+        type: "window" | "tab";
+        referenceContext?: string | undefined;
+        background?: boolean | undefined;
+    };
+    method: "browsingContext.create";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.getTree">;
+    params: z.ZodLazy<z.ZodObject<{
+        maxDepth: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        root: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+    }, "strip", z.ZodTypeAny, {
+        maxDepth?: number | undefined;
+        root?: string | undefined;
+    }, {
+        maxDepth?: number | undefined;
+        root?: string | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        maxDepth?: number | undefined;
+        root?: string | undefined;
+    };
+    method: "browsingContext.getTree";
+}, {
+    params: {
+        maxDepth?: number | undefined;
+        root?: string | undefined;
+    };
+    method: "browsingContext.getTree";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.handleUserPrompt">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        accept: z.ZodOptional<z.ZodBoolean>;
+        userText: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        accept?: boolean | undefined;
+        userText?: string | undefined;
+    }, {
+        context: string;
+        accept?: boolean | undefined;
+        userText?: string | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        accept?: boolean | undefined;
+        userText?: string | undefined;
+    };
+    method: "browsingContext.handleUserPrompt";
+}, {
+    params: {
+        context: string;
+        accept?: boolean | undefined;
+        userText?: string | undefined;
+    };
+    method: "browsingContext.handleUserPrompt";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.navigate">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        url: z.ZodString;
+        wait: z.ZodOptional<z.ZodLazy<z.ZodEnum<["none", "interactive", "complete"]>>>;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        context: string;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    }, {
+        url: string;
+        context: string;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        context: string;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    };
+    method: "browsingContext.navigate";
+}, {
+    params: {
+        url: string;
+        context: string;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    };
+    method: "browsingContext.navigate";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.print">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        background: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+        margin: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            bottom: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            left: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            right: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            top: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        }, {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        }>>>;
+        orientation: z.ZodOptional<z.ZodDefault<z.ZodEnum<["portrait", "landscape"]>>>;
+        page: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            height: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            width: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            height?: number | undefined;
+            width?: number | undefined;
+        }, {
+            height?: number | undefined;
+            width?: number | undefined;
+        }>>>;
+        pageRanges: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodString]>, "many">>;
+        scale: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        shrinkToFit: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        background?: boolean | undefined;
+        margin?: {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        } | undefined;
+        orientation?: "portrait" | "landscape" | undefined;
+        page?: {
+            height?: number | undefined;
+            width?: number | undefined;
+        } | undefined;
+        pageRanges?: (string | number)[] | undefined;
+        scale?: number | undefined;
+        shrinkToFit?: boolean | undefined;
+    }, {
+        context: string;
+        background?: boolean | undefined;
+        margin?: {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        } | undefined;
+        orientation?: "portrait" | "landscape" | undefined;
+        page?: {
+            height?: number | undefined;
+            width?: number | undefined;
+        } | undefined;
+        pageRanges?: (string | number)[] | undefined;
+        scale?: number | undefined;
+        shrinkToFit?: boolean | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        background?: boolean | undefined;
+        margin?: {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        } | undefined;
+        orientation?: "portrait" | "landscape" | undefined;
+        page?: {
+            height?: number | undefined;
+            width?: number | undefined;
+        } | undefined;
+        pageRanges?: (string | number)[] | undefined;
+        scale?: number | undefined;
+        shrinkToFit?: boolean | undefined;
+    };
+    method: "browsingContext.print";
+}, {
+    params: {
+        context: string;
+        background?: boolean | undefined;
+        margin?: {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        } | undefined;
+        orientation?: "portrait" | "landscape" | undefined;
+        page?: {
+            height?: number | undefined;
+            width?: number | undefined;
+        } | undefined;
+        pageRanges?: (string | number)[] | undefined;
+        scale?: number | undefined;
+        shrinkToFit?: boolean | undefined;
+    };
+    method: "browsingContext.print";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.reload">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        ignoreCache: z.ZodOptional<z.ZodBoolean>;
+        wait: z.ZodOptional<z.ZodLazy<z.ZodEnum<["none", "interactive", "complete"]>>>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        ignoreCache?: boolean | undefined;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    }, {
+        context: string;
+        ignoreCache?: boolean | undefined;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        ignoreCache?: boolean | undefined;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    };
+    method: "browsingContext.reload";
+}, {
+    params: {
+        context: string;
+        ignoreCache?: boolean | undefined;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    };
+    method: "browsingContext.reload";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.setViewport">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        viewport: z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            width: z.ZodLazy<z.ZodNumber>;
+            height: z.ZodLazy<z.ZodNumber>;
+        }, "strip", z.ZodTypeAny, {
+            width: number;
+            height: number;
+        }, {
+            width: number;
+            height: number;
+        }>>, z.ZodNull]>;
+    }, "strip", z.ZodTypeAny, {
+        viewport: {
+            width: number;
+            height: number;
+        } | null;
+        context: string;
+    }, {
+        viewport: {
+            width: number;
+            height: number;
+        } | null;
+        context: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        viewport: {
+            width: number;
+            height: number;
+        } | null;
+        context: string;
+    };
+    method: "browsingContext.setViewport";
+}, {
+    params: {
+        viewport: {
+            width: number;
+            height: number;
+        } | null;
+        context: string;
+    };
+    method: "browsingContext.setViewport";
+}>>]>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"input.performActions">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"none">;
+            id: z.ZodString;
+            actions: z.ZodArray<z.ZodLazy<z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"pause">;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pause";
+                duration?: number | undefined;
+            }, {
+                type: "pause";
+                duration?: number | undefined;
+            }>>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        }, {
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"key">;
+            id: z.ZodString;
+            actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"pause">;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pause";
+                duration?: number | undefined;
+            }, {
+                type: "pause";
+                duration?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"keyDown">;
+                value: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                type: "keyDown";
+                value: string;
+            }, {
+                type: "keyDown";
+                value: string;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"keyUp">;
+                value: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                type: "keyUp";
+                value: string;
+            }, {
+                type: "keyUp";
+                value: string;
+            }>>]>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        }, {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"pointer">;
+            id: z.ZodString;
+            parameters: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                pointerType: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodEnum<["mouse", "pen", "touch"]>>>>;
+            }, "strip", z.ZodTypeAny, {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            }, {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            }>>>;
+            actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"pause">;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pause";
+                duration?: number | undefined;
+            }, {
+                type: "pause";
+                duration?: number | undefined;
+            }>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                type: z.ZodLiteral<"pointerDown">;
+                button: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pointerDown";
+                button: number;
+            }, {
+                type: "pointerDown";
+                button: number;
+            }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }>>]>>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                type: z.ZodLiteral<"pointerUp">;
+                button: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pointerUp";
+                button: number;
+            }, {
+                type: "pointerUp";
+                button: number;
+            }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }>>]>>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                type: z.ZodLiteral<"pointerMove">;
+                x: z.ZodLazy<z.ZodNumber>;
+                y: z.ZodLazy<z.ZodNumber>;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                origin: z.ZodOptional<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"element">;
+                    element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                        sharedId: z.ZodLazy<z.ZodString>;
+                        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+                    }, "strip", z.ZodTypeAny, {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    }, {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+                }, "strip", z.ZodTypeAny, {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                }, {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                }>>]>>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            }, {
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }>>]>>>>>]>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        }, {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"wheel">;
+            id: z.ZodString;
+            actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"pause">;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pause";
+                duration?: number | undefined;
+            }, {
+                type: "pause";
+                duration?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"scroll">;
+                x: z.ZodLazy<z.ZodNumber>;
+                y: z.ZodLazy<z.ZodNumber>;
+                deltaX: z.ZodLazy<z.ZodNumber>;
+                deltaY: z.ZodLazy<z.ZodNumber>;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                origin: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"element">;
+                    element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                        sharedId: z.ZodLazy<z.ZodString>;
+                        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+                    }, "strip", z.ZodTypeAny, {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    }, {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+                }, "strip", z.ZodTypeAny, {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                }, {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                }>>]>>>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            }, {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            }>>]>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        }, {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        }>>]>>, "many">;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        actions: ({
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        } | {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        } | {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        } | {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        })[];
+    }, {
+        context: string;
+        actions: ({
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        } | {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        } | {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        } | {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        })[];
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        actions: ({
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        } | {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        } | {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        } | {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        })[];
+    };
+    method: "input.performActions";
+}, {
+    params: {
+        context: string;
+        actions: ({
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        } | {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        } | {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        } | {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        })[];
+    };
+    method: "input.performActions";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"input.releaseActions">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+    }, {
+        context: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+    };
+    method: "input.releaseActions";
+}, {
+    params: {
+        context: string;
+    };
+    method: "input.releaseActions";
+}>>]>>, z.ZodLazy<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.addPreloadScript">;
+    params: z.ZodLazy<z.ZodObject<{
+        functionDeclaration: z.ZodString;
+        arguments: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"channel">;
+            value: z.ZodLazy<z.ZodObject<{
+                channel: z.ZodLazy<z.ZodString>;
+                serializationOptions: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                    maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+                    maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+                    includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+                }, "strip", z.ZodTypeAny, {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                }, {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                }>>>;
+                ownership: z.ZodOptional<z.ZodLazy<z.ZodEnum<["root", "none"]>>>;
+            }, "strip", z.ZodTypeAny, {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            }, {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }, {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }>>, "many">>;
+        sandbox: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        functionDeclaration: string;
+        arguments?: {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }[] | undefined;
+        sandbox?: string | undefined;
+    }, {
+        functionDeclaration: string;
+        arguments?: {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }[] | undefined;
+        sandbox?: string | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        functionDeclaration: string;
+        arguments?: {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }[] | undefined;
+        sandbox?: string | undefined;
+    };
+    method: "script.addPreloadScript";
+}, {
+    params: {
+        functionDeclaration: string;
+        arguments?: {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }[] | undefined;
+        sandbox?: string | undefined;
+    };
+    method: "script.addPreloadScript";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.callFunction">;
+    params: z.ZodLazy<z.ZodObject<{
+        functionDeclaration: z.ZodString;
+        awaitPromise: z.ZodBoolean;
+        target: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+        }, {
+            realm: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            sandbox: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            sandbox?: string | undefined;
+        }, {
+            context: string;
+            sandbox?: string | undefined;
+        }>>]>>;
+        arguments: z.ZodOptional<z.ZodArray<any, "many">>;
+        resultOwnership: z.ZodOptional<z.ZodLazy<z.ZodEnum<["root", "none"]>>>;
+        serializationOptions: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+        }, "strip", z.ZodTypeAny, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }>>>;
+        this: any;
+        userActivation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+    }, "strip", z.ZodTypeAny, {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        functionDeclaration: string;
+        arguments?: any[] | undefined;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        this?: any;
+        userActivation?: boolean | undefined;
+    }, {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        functionDeclaration: string;
+        arguments?: any[] | undefined;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        this?: any;
+        userActivation?: boolean | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        functionDeclaration: string;
+        arguments?: any[] | undefined;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        this?: any;
+        userActivation?: boolean | undefined;
+    };
+    method: "script.callFunction";
+}, {
+    params: {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        functionDeclaration: string;
+        arguments?: any[] | undefined;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        this?: any;
+        userActivation?: boolean | undefined;
+    };
+    method: "script.callFunction";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.disown">;
+    params: z.ZodLazy<z.ZodObject<{
+        handles: z.ZodArray<z.ZodLazy<z.ZodString>, "many">;
+        target: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+        }, {
+            realm: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            sandbox: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            sandbox?: string | undefined;
+        }, {
+            context: string;
+            sandbox?: string | undefined;
+        }>>]>>;
+    }, "strip", z.ZodTypeAny, {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        handles: string[];
+    }, {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        handles: string[];
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        handles: string[];
+    };
+    method: "script.disown";
+}, {
+    params: {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        handles: string[];
+    };
+    method: "script.disown";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.evaluate">;
+    params: z.ZodLazy<z.ZodObject<{
+        expression: z.ZodString;
+        target: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+        }, {
+            realm: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            sandbox: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            sandbox?: string | undefined;
+        }, {
+            context: string;
+            sandbox?: string | undefined;
+        }>>]>>;
+        awaitPromise: z.ZodBoolean;
+        resultOwnership: z.ZodOptional<z.ZodLazy<z.ZodEnum<["root", "none"]>>>;
+        serializationOptions: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+        }, "strip", z.ZodTypeAny, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }>>>;
+        userActivation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+    }, "strip", z.ZodTypeAny, {
+        expression: string;
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        userActivation?: boolean | undefined;
+    }, {
+        expression: string;
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        userActivation?: boolean | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        expression: string;
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        userActivation?: boolean | undefined;
+    };
+    method: "script.evaluate";
+}, {
+    params: {
+        expression: string;
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        userActivation?: boolean | undefined;
+    };
+    method: "script.evaluate";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.getRealms">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        type: z.ZodOptional<z.ZodLazy<z.ZodEnum<["window", "dedicated-worker", "shared-worker", "service-worker", "worker", "paint-worklet", "audio-worklet", "worklet"]>>>;
+    }, "strip", z.ZodTypeAny, {
+        context?: string | undefined;
+        type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+    }, {
+        context?: string | undefined;
+        type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context?: string | undefined;
+        type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+    };
+    method: "script.getRealms";
+}, {
+    params: {
+        context?: string | undefined;
+        type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+    };
+    method: "script.getRealms";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.removePreloadScript">;
+    params: z.ZodLazy<z.ZodObject<{
+        script: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        script: string;
+    }, {
+        script: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        script: string;
+    };
+    method: "script.removePreloadScript";
+}, {
+    params: {
+        script: string;
+    };
+    method: "script.removePreloadScript";
+}>>]>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"session.end">;
+    params: z.ZodLazy<z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+}, "strip", z.ZodTypeAny, {
+    params: Record<string, any>;
+    method: "session.end";
+}, {
+    params: Record<string, any>;
+    method: "session.end";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"session.new">;
+    params: z.ZodLazy<z.ZodObject<{
+        capabilities: z.ZodLazy<z.ZodObject<{
+            alwaysMatch: z.ZodOptional<z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                acceptInsecureCerts: z.ZodOptional<z.ZodBoolean>;
+                browserName: z.ZodOptional<z.ZodString>;
+                browserVersion: z.ZodOptional<z.ZodString>;
+                platformName: z.ZodOptional<z.ZodString>;
+                proxy: z.ZodOptional<z.ZodObject<{
+                    proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+                    proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+                    ftpProxy: z.ZodOptional<z.ZodString>;
+                    httpProxy: z.ZodOptional<z.ZodString>;
+                    noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+                    sslProxy: z.ZodOptional<z.ZodString>;
+                    socksProxy: z.ZodOptional<z.ZodString>;
+                    socksVersion: z.ZodOptional<z.ZodNumber>;
+                }, "strip", z.ZodTypeAny, {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                }, {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                }>>;
+            }, "strip", z.ZodTypeAny, {
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            }, {
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>>;
+            firstMatch: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                acceptInsecureCerts: z.ZodOptional<z.ZodBoolean>;
+                browserName: z.ZodOptional<z.ZodString>;
+                browserVersion: z.ZodOptional<z.ZodString>;
+                platformName: z.ZodOptional<z.ZodString>;
+                proxy: z.ZodOptional<z.ZodObject<{
+                    proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+                    proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+                    ftpProxy: z.ZodOptional<z.ZodString>;
+                    httpProxy: z.ZodOptional<z.ZodString>;
+                    noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+                    sslProxy: z.ZodOptional<z.ZodString>;
+                    socksProxy: z.ZodOptional<z.ZodString>;
+                    socksVersion: z.ZodOptional<z.ZodNumber>;
+                }, "strip", z.ZodTypeAny, {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                }, {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                }>>;
+            }, "strip", z.ZodTypeAny, {
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            }, {
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>, "many">>;
+        }, "strip", z.ZodTypeAny, {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        }, {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        capabilities: {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        };
+    }, {
+        capabilities: {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        };
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        capabilities: {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        };
+    };
+    method: "session.new";
+}, {
+    params: {
+        capabilities: {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        };
+    };
+    method: "session.new";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"session.status">;
+    params: z.ZodLazy<z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+}, "strip", z.ZodTypeAny, {
+    params: Record<string, any>;
+    method: "session.status";
+}, {
+    params: Record<string, any>;
+    method: "session.status";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"session.subscribe">;
+    params: z.ZodLazy<z.ZodObject<{
+        events: z.ZodArray<z.ZodString, "many">;
+        contexts: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodString>, "many">>;
+    }, "strip", z.ZodTypeAny, {
+        events: string[];
+        contexts?: string[] | undefined;
+    }, {
+        events: string[];
+        contexts?: string[] | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        events: string[];
+        contexts?: string[] | undefined;
+    };
+    method: "session.subscribe";
+}, {
+    params: {
+        events: string[];
+        contexts?: string[] | undefined;
+    };
+    method: "session.subscribe";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"session.unsubscribe">;
+    params: z.ZodLazy<z.ZodObject<{
+        events: z.ZodArray<z.ZodString, "many">;
+        contexts: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodString>, "many">>;
+    }, "strip", z.ZodTypeAny, {
+        events: string[];
+        contexts?: string[] | undefined;
+    }, {
+        events: string[];
+        contexts?: string[] | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        events: string[];
+        contexts?: string[] | undefined;
+    };
+    method: "session.unsubscribe";
+}, {
+    params: {
+        events: string[];
+        contexts?: string[] | undefined;
+    };
+    method: "session.unsubscribe";
+}>>]>>]>>;
+export declare const EmptyParamsSchema: z.ZodLazy<z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+export declare const MessageSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+    type: z.ZodLiteral<"success">;
+    id: z.ZodLazy<z.ZodNumber>;
+    result: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        data: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        data: string;
+    }, {
+        data: string;
+    }>>, z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+    }, {
+        context: string;
+    }>>, z.ZodLazy<z.ZodObject<{
+        contexts: any;
+    }, "strip", z.ZodTypeAny, {
+        contexts?: any;
+    }, {
+        contexts?: any;
+    }>>, z.ZodLazy<z.ZodObject<{
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+    }, {
+        url: string;
+        navigation: string | null;
+    }>>, z.ZodLazy<z.ZodObject<{
+        data: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        data: string;
+    }, {
+        data: string;
+    }>>]>>, z.ZodLazy<z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>, z.ZodLazy<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        script: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        script: string;
+    }, {
+        script: string;
+    }>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"success">;
+        result: any;
+        realm: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        type: "success";
+        realm: string;
+        result?: any;
+    }, {
+        type: "success";
+        realm: string;
+        result?: any;
+    }>>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"exception">;
+        exceptionDetails: z.ZodLazy<z.ZodObject<{
+            columnNumber: z.ZodLazy<z.ZodNumber>;
+            exception: any;
+            lineNumber: z.ZodLazy<z.ZodNumber>;
+            stackTrace: z.ZodLazy<z.ZodObject<{
+                callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    columnNumber: z.ZodLazy<z.ZodNumber>;
+                    functionName: z.ZodString;
+                    lineNumber: z.ZodLazy<z.ZodNumber>;
+                    url: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }>>, "many">;
+            }, "strip", z.ZodTypeAny, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }>>;
+            text: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        }, {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        }>>;
+        realm: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }, {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }>>]>>, z.ZodLazy<z.ZodObject<{
+        realms: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"window">;
+            context: z.ZodLazy<z.ZodString>;
+            sandbox: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }, {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"dedicated-worker">;
+        }, "strip", z.ZodTypeAny, {
+            type: "dedicated-worker";
+        }, {
+            type: "dedicated-worker";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"shared-worker">;
+        }, "strip", z.ZodTypeAny, {
+            type: "shared-worker";
+        }, {
+            type: "shared-worker";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"service-worker">;
+        }, "strip", z.ZodTypeAny, {
+            type: "service-worker";
+        }, {
+            type: "service-worker";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"worker">;
+        }, "strip", z.ZodTypeAny, {
+            type: "worker";
+        }, {
+            type: "worker";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"paint-worklet">;
+        }, "strip", z.ZodTypeAny, {
+            type: "paint-worklet";
+        }, {
+            type: "paint-worklet";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"audio-worklet">;
+        }, "strip", z.ZodTypeAny, {
+            type: "audio-worklet";
+        }, {
+            type: "audio-worklet";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"worklet">;
+        }, "strip", z.ZodTypeAny, {
+            type: "worklet";
+        }, {
+            type: "worklet";
+        }>>>]>>, "many">;
+    }, "strip", z.ZodTypeAny, {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }, {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }>>]>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        sessionId: z.ZodString;
+        capabilities: z.ZodIntersection<z.ZodObject<{
+            acceptInsecureCerts: z.ZodBoolean;
+            browserName: z.ZodString;
+            browserVersion: z.ZodString;
+            platformName: z.ZodString;
+            proxy: z.ZodObject<{
+                proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+                proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+                ftpProxy: z.ZodOptional<z.ZodString>;
+                httpProxy: z.ZodOptional<z.ZodString>;
+                noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+                sslProxy: z.ZodOptional<z.ZodString>;
+                socksProxy: z.ZodOptional<z.ZodString>;
+                socksVersion: z.ZodOptional<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            }, {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            }>;
+            setWindowRect: z.ZodBoolean;
+        }, "strip", z.ZodTypeAny, {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        }, {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+    }, "strip", z.ZodTypeAny, {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }, {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }>>, z.ZodLazy<z.ZodObject<{
+        ready: z.ZodBoolean;
+        message: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        message: string;
+        ready: boolean;
+    }, {
+        message: string;
+        ready: boolean;
+    }>>]>>]>>;
+}, "strip", z.ZodTypeAny, {
+    type: "success";
+    id: number;
+    result: Record<string, any> | {
+        data: string;
+    } | {
+        context: string;
+    } | {
+        contexts?: any;
+    } | {
+        url: string;
+        navigation: string | null;
+    } | {
+        data: string;
+    } | {} | {
+        script: string;
+    } | {
+        type: "success";
+        realm: string;
+        result?: any;
+    } | {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } | {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } | {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } | {
+        message: string;
+        ready: boolean;
+    } | (Record<string, any> & {
+        data: string;
+    }) | (Record<string, any> & {
+        context: string;
+    }) | (Record<string, any> & {
+        contexts?: any;
+    }) | (Record<string, any> & {
+        url: string;
+        navigation: string | null;
+    }) | (Record<string, any> & {
+        data: string;
+    }) | (Record<string, any> & {}) | (Record<string, any> & {
+        script: string;
+    }) | (Record<string, any> & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | (Record<string, any> & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | (Record<string, any> & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | (Record<string, any> & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | (Record<string, any> & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        data: string;
+    } & Record<string, any>) | ({
+        data: string;
+    } & {
+        context: string;
+    }) | ({
+        data: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        data: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        data: string;
+    } & {
+        data: string;
+    }) | ({
+        data: string;
+    } & {}) | ({
+        data: string;
+    } & {
+        script: string;
+    }) | ({
+        data: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        data: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        data: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        data: string;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        data: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        context: string;
+    } & Record<string, any>) | ({
+        context: string;
+    } & {
+        data: string;
+    }) | ({
+        context: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        context: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        context: string;
+    } & {
+        data: string;
+    }) | ({
+        context: string;
+    } & {}) | ({
+        context: string;
+    } & {
+        script: string;
+    }) | ({
+        context: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        context: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        context: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        context: string;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        context: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        contexts?: any;
+    } & Record<string, any>) | ({
+        contexts?: any;
+    } & {
+        data: string;
+    }) | ({
+        contexts?: any;
+    } & {
+        context: string;
+    }) | ({
+        contexts?: any;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        contexts?: any;
+    } & {
+        data: string;
+    }) | ({
+        contexts?: any;
+    } & {}) | ({
+        contexts?: any;
+    } & {
+        script: string;
+    }) | ({
+        contexts?: any;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        contexts?: any;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        contexts?: any;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        contexts?: any;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        contexts?: any;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & Record<string, any>) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        data: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        context: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        contexts?: any;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        data: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {}) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        script: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        data: string;
+    } & Record<string, any>) | ({
+        data: string;
+    } & {
+        data: string;
+    }) | ({
+        data: string;
+    } & {
+        context: string;
+    }) | ({
+        data: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        data: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        data: string;
+    } & {}) | ({
+        data: string;
+    } & {
+        script: string;
+    }) | ({
+        data: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        data: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        data: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        data: string;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        data: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({} & Record<string, any>) | ({} & {
+        data: string;
+    }) | ({} & {
+        context: string;
+    }) | ({} & {
+        contexts?: any;
+    }) | ({} & {
+        url: string;
+        navigation: string | null;
+    }) | ({} & {
+        data: string;
+    }) | ({} & {
+        script: string;
+    }) | ({} & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({} & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({} & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({} & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({} & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        script: string;
+    } & Record<string, any>) | ({
+        script: string;
+    } & {
+        data: string;
+    }) | ({
+        script: string;
+    } & {
+        context: string;
+    }) | ({
+        script: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        script: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        script: string;
+    } & {
+        data: string;
+    }) | ({
+        script: string;
+    } & {}) | ({
+        script: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        script: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        script: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        script: string;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        script: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & Record<string, any>) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        data: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        context: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        contexts?: any;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        data: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {}) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        script: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & Record<string, any>) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        data: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        context: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        contexts?: any;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        data: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {}) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        script: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & Record<string, any>) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        data: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        context: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        contexts?: any;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        data: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {}) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        script: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & Record<string, any>) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        data: string;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        context: string;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        data: string;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {}) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        script: string;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & Record<string, any>) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        data: string;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        context: string;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        contexts?: any;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        data: string;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {}) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        script: string;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    });
+}, {
+    type: "success";
+    id: number;
+    result: Record<string, any> | {
+        data: string;
+    } | {
+        context: string;
+    } | {
+        contexts?: any;
+    } | {
+        url: string;
+        navigation: string | null;
+    } | {
+        data: string;
+    } | {} | {
+        script: string;
+    } | {
+        type: "success";
+        realm: string;
+        result?: any;
+    } | {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } | {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } | {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } | {
+        message: string;
+        ready: boolean;
+    } | (Record<string, any> & {
+        data: string;
+    }) | (Record<string, any> & {
+        context: string;
+    }) | (Record<string, any> & {
+        contexts?: any;
+    }) | (Record<string, any> & {
+        url: string;
+        navigation: string | null;
+    }) | (Record<string, any> & {
+        data: string;
+    }) | (Record<string, any> & {}) | (Record<string, any> & {
+        script: string;
+    }) | (Record<string, any> & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | (Record<string, any> & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | (Record<string, any> & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | (Record<string, any> & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | (Record<string, any> & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        data: string;
+    } & Record<string, any>) | ({
+        data: string;
+    } & {
+        context: string;
+    }) | ({
+        data: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        data: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        data: string;
+    } & {
+        data: string;
+    }) | ({
+        data: string;
+    } & {}) | ({
+        data: string;
+    } & {
+        script: string;
+    }) | ({
+        data: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        data: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        data: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        data: string;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        data: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        context: string;
+    } & Record<string, any>) | ({
+        context: string;
+    } & {
+        data: string;
+    }) | ({
+        context: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        context: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        context: string;
+    } & {
+        data: string;
+    }) | ({
+        context: string;
+    } & {}) | ({
+        context: string;
+    } & {
+        script: string;
+    }) | ({
+        context: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        context: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        context: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        context: string;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        context: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        contexts?: any;
+    } & Record<string, any>) | ({
+        contexts?: any;
+    } & {
+        data: string;
+    }) | ({
+        contexts?: any;
+    } & {
+        context: string;
+    }) | ({
+        contexts?: any;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        contexts?: any;
+    } & {
+        data: string;
+    }) | ({
+        contexts?: any;
+    } & {}) | ({
+        contexts?: any;
+    } & {
+        script: string;
+    }) | ({
+        contexts?: any;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        contexts?: any;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        contexts?: any;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        contexts?: any;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        contexts?: any;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & Record<string, any>) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        data: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        context: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        contexts?: any;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        data: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {}) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        script: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        data: string;
+    } & Record<string, any>) | ({
+        data: string;
+    } & {
+        data: string;
+    }) | ({
+        data: string;
+    } & {
+        context: string;
+    }) | ({
+        data: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        data: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        data: string;
+    } & {}) | ({
+        data: string;
+    } & {
+        script: string;
+    }) | ({
+        data: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        data: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        data: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        data: string;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        data: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({} & Record<string, any>) | ({} & {
+        data: string;
+    }) | ({} & {
+        context: string;
+    }) | ({} & {
+        contexts?: any;
+    }) | ({} & {
+        url: string;
+        navigation: string | null;
+    }) | ({} & {
+        data: string;
+    }) | ({} & {
+        script: string;
+    }) | ({} & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({} & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({} & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({} & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({} & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        script: string;
+    } & Record<string, any>) | ({
+        script: string;
+    } & {
+        data: string;
+    }) | ({
+        script: string;
+    } & {
+        context: string;
+    }) | ({
+        script: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        script: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        script: string;
+    } & {
+        data: string;
+    }) | ({
+        script: string;
+    } & {}) | ({
+        script: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        script: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        script: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        script: string;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        script: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & Record<string, any>) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        data: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        context: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        contexts?: any;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        data: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {}) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        script: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & Record<string, any>) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        data: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        context: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        contexts?: any;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        data: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {}) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        script: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & Record<string, any>) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        data: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        context: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        contexts?: any;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        data: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {}) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        script: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & Record<string, any>) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        data: string;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        context: string;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        data: string;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {}) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        script: string;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & Record<string, any>) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        data: string;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        context: string;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        contexts?: any;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        data: string;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {}) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        script: string;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    });
+}>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+    type: z.ZodLiteral<"error">;
+    id: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+    error: z.ZodLazy<z.ZodEnum<["invalid argument", "invalid session id", "move target out of bounds", "no such alert", "no such element", "no such frame", "no such handle", "no such node", "no such script", "session not created", "unable to capture screen", "unable to close browser", "unknown command", "unknown error", "unsupported operation"]>>;
+    message: z.ZodString;
+    stacktrace: z.ZodOptional<z.ZodString>;
+}, "strip", z.ZodTypeAny, {
+    message: string;
+    type: "error";
+    error: "invalid argument" | "invalid session id" | "move target out of bounds" | "no such alert" | "no such element" | "no such frame" | "no such handle" | "no such node" | "no such script" | "session not created" | "unable to capture screen" | "unable to close browser" | "unknown command" | "unknown error" | "unsupported operation";
+    id: number | null;
+    stacktrace?: string | undefined;
+}, {
+    message: string;
+    type: "error";
+    error: "invalid argument" | "invalid session id" | "move target out of bounds" | "no such alert" | "no such element" | "no such frame" | "no such handle" | "no such node" | "no such script" | "session not created" | "unable to capture screen" | "unable to close browser" | "unknown command" | "unknown error" | "unsupported operation";
+    id: number | null;
+    stacktrace?: string | undefined;
+}>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>, z.ZodLazy<z.ZodIntersection<z.ZodIntersection<z.ZodObject<{
+    type: z.ZodLiteral<"event">;
+}, "strip", z.ZodTypeAny, {
+    type: "event";
+}, {
+    type: "event";
+}>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.contextCreated">;
+    params: any;
+}, "strip", z.ZodTypeAny, {
+    method: "browsingContext.contextCreated";
+    params?: any;
+}, {
+    method: "browsingContext.contextCreated";
+    params?: any;
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.contextDestroyed">;
+    params: any;
+}, "strip", z.ZodTypeAny, {
+    method: "browsingContext.contextDestroyed";
+    params?: any;
+}, {
+    method: "browsingContext.contextDestroyed";
+    params?: any;
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.navigationStarted">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationStarted";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationStarted";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.fragmentNavigated">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.fragmentNavigated";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.fragmentNavigated";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.domContentLoaded">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.domContentLoaded";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.domContentLoaded";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.load">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.load";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.load";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.downloadWillBegin">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.downloadWillBegin";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.downloadWillBegin";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.navigationAborted">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationAborted";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationAborted";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.navigationFailed">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationFailed";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationFailed";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.userPromptClosed">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        accepted: z.ZodBoolean;
+        userText: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    }, {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    };
+    method: "browsingContext.userPromptClosed";
+}, {
+    params: {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    };
+    method: "browsingContext.userPromptClosed";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.userPromptOpened">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        type: z.ZodEnum<["alert", "confirm", "prompt", "beforeunload"]>;
+        message: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    }, {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    };
+    method: "browsingContext.userPromptOpened";
+}, {
+    params: {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    };
+    method: "browsingContext.userPromptOpened";
+}>>]>>, z.ZodLazy<z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"log.entryAdded">;
+    params: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: string;
+    }, {
+        type: string;
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"console">;
+        method: z.ZodString;
+        args: z.ZodArray<any, "many">;
+    }, "strip", z.ZodTypeAny, {
+        type: "console";
+        args: any[];
+        method: string;
+    }, {
+        type: "console";
+        args: any[];
+        method: string;
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"javascript">;
+    }, "strip", z.ZodTypeAny, {
+        type: "javascript";
+    }, {
+        type: "javascript";
+    }>>>]>>;
+}, "strip", z.ZodTypeAny, {
+    params: ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "javascript";
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    } & {
+        type: "javascript";
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    } & {
+        type: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "javascript";
+    } & {
+        type: string;
+    });
+    method: "log.entryAdded";
+}, {
+    params: ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "javascript";
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    } & {
+        type: "javascript";
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    } & {
+        type: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "javascript";
+    } & {
+        type: string;
+    });
+    method: "log.entryAdded";
+}>>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"network.beforeRequestSent">;
+    params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        initiator: z.ZodLazy<z.ZodObject<{
+            type: z.ZodEnum<["parser", "script", "preflight", "other"]>;
+            columnNumber: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            lineNumber: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    columnNumber: z.ZodLazy<z.ZodNumber>;
+                    functionName: z.ZodString;
+                    lineNumber: z.ZodLazy<z.ZodNumber>;
+                    url: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }>>, "many">;
+            }, "strip", z.ZodTypeAny, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }>>>;
+            request: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        }, {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    }, {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    }>>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    };
+    method: "network.beforeRequestSent";
+}, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    };
+    method: "network.beforeRequestSent";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"network.fetchError">;
+    params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        errorText: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        errorText: string;
+    }, {
+        errorText: string;
+    }>>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        errorText: string;
+    };
+    method: "network.fetchError";
+}, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        errorText: string;
+    };
+    method: "network.fetchError";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"network.responseStarted">;
+    params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        response: z.ZodLazy<z.ZodObject<{
+            url: z.ZodString;
+            protocol: z.ZodString;
+            status: z.ZodLazy<z.ZodNumber>;
+            statusText: z.ZodString;
+            fromCache: z.ZodBoolean;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            mimeType: z.ZodString;
+            bytesReceived: z.ZodLazy<z.ZodNumber>;
+            headersSize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            content: z.ZodLazy<z.ZodObject<{
+                size: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                size: number;
+            }, {
+                size: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }>>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    };
+    method: "network.responseStarted";
+}, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    };
+    method: "network.responseStarted";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"network.responseCompleted">;
+    params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        response: z.ZodLazy<z.ZodObject<{
+            url: z.ZodString;
+            protocol: z.ZodString;
+            status: z.ZodLazy<z.ZodNumber>;
+            statusText: z.ZodString;
+            fromCache: z.ZodBoolean;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            mimeType: z.ZodString;
+            bytesReceived: z.ZodLazy<z.ZodNumber>;
+            headersSize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            content: z.ZodLazy<z.ZodObject<{
+                size: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                size: number;
+            }, {
+                size: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }>>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    };
+    method: "network.responseCompleted";
+}, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    };
+    method: "network.responseCompleted";
+}>>]>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.message">;
+    params: z.ZodLazy<z.ZodObject<{
+        channel: z.ZodLazy<z.ZodString>;
+        data: any;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    }, {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    };
+    method: "script.message";
+}, {
+    params: {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    };
+    method: "script.message";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.realmCreated">;
+    params: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"window">;
+        context: z.ZodLazy<z.ZodString>;
+        sandbox: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }, {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"dedicated-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "dedicated-worker";
+    }, {
+        type: "dedicated-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"shared-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "shared-worker";
+    }, {
+        type: "shared-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"service-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "service-worker";
+    }, {
+        type: "service-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "worker";
+    }, {
+        type: "worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"paint-worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "paint-worklet";
+    }, {
+        type: "paint-worklet";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"audio-worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "audio-worklet";
+    }, {
+        type: "audio-worklet";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "worklet";
+    }, {
+        type: "worklet";
+    }>>>]>>;
+}, "strip", z.ZodTypeAny, {
+    params: ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "dedicated-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "shared-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "service-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "paint-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "audio-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worklet";
+    });
+    method: "script.realmCreated";
+}, {
+    params: ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "dedicated-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "shared-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "service-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "paint-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "audio-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worklet";
+    });
+    method: "script.realmCreated";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.realmDestroyed">;
+    params: z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        realm: string;
+    }, {
+        realm: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        realm: string;
+    };
+    method: "script.realmDestroyed";
+}, {
+    params: {
+        realm: string;
+    };
+    method: "script.realmDestroyed";
+}>>]>>]>>>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>]>>;
+export declare const CommandResponseSchema: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+    type: z.ZodLiteral<"success">;
+    id: z.ZodLazy<z.ZodNumber>;
+    result: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        data: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        data: string;
+    }, {
+        data: string;
+    }>>, z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+    }, {
+        context: string;
+    }>>, z.ZodLazy<z.ZodObject<{
+        contexts: any;
+    }, "strip", z.ZodTypeAny, {
+        contexts?: any;
+    }, {
+        contexts?: any;
+    }>>, z.ZodLazy<z.ZodObject<{
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+    }, {
+        url: string;
+        navigation: string | null;
+    }>>, z.ZodLazy<z.ZodObject<{
+        data: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        data: string;
+    }, {
+        data: string;
+    }>>]>>, z.ZodLazy<z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>, z.ZodLazy<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        script: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        script: string;
+    }, {
+        script: string;
+    }>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"success">;
+        result: any;
+        realm: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        type: "success";
+        realm: string;
+        result?: any;
+    }, {
+        type: "success";
+        realm: string;
+        result?: any;
+    }>>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"exception">;
+        exceptionDetails: z.ZodLazy<z.ZodObject<{
+            columnNumber: z.ZodLazy<z.ZodNumber>;
+            exception: any;
+            lineNumber: z.ZodLazy<z.ZodNumber>;
+            stackTrace: z.ZodLazy<z.ZodObject<{
+                callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    columnNumber: z.ZodLazy<z.ZodNumber>;
+                    functionName: z.ZodString;
+                    lineNumber: z.ZodLazy<z.ZodNumber>;
+                    url: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }>>, "many">;
+            }, "strip", z.ZodTypeAny, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }>>;
+            text: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        }, {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        }>>;
+        realm: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }, {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }>>]>>, z.ZodLazy<z.ZodObject<{
+        realms: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"window">;
+            context: z.ZodLazy<z.ZodString>;
+            sandbox: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }, {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"dedicated-worker">;
+        }, "strip", z.ZodTypeAny, {
+            type: "dedicated-worker";
+        }, {
+            type: "dedicated-worker";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"shared-worker">;
+        }, "strip", z.ZodTypeAny, {
+            type: "shared-worker";
+        }, {
+            type: "shared-worker";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"service-worker">;
+        }, "strip", z.ZodTypeAny, {
+            type: "service-worker";
+        }, {
+            type: "service-worker";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"worker">;
+        }, "strip", z.ZodTypeAny, {
+            type: "worker";
+        }, {
+            type: "worker";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"paint-worklet">;
+        }, "strip", z.ZodTypeAny, {
+            type: "paint-worklet";
+        }, {
+            type: "paint-worklet";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"audio-worklet">;
+        }, "strip", z.ZodTypeAny, {
+            type: "audio-worklet";
+        }, {
+            type: "audio-worklet";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"worklet">;
+        }, "strip", z.ZodTypeAny, {
+            type: "worklet";
+        }, {
+            type: "worklet";
+        }>>>]>>, "many">;
+    }, "strip", z.ZodTypeAny, {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }, {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }>>]>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        sessionId: z.ZodString;
+        capabilities: z.ZodIntersection<z.ZodObject<{
+            acceptInsecureCerts: z.ZodBoolean;
+            browserName: z.ZodString;
+            browserVersion: z.ZodString;
+            platformName: z.ZodString;
+            proxy: z.ZodObject<{
+                proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+                proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+                ftpProxy: z.ZodOptional<z.ZodString>;
+                httpProxy: z.ZodOptional<z.ZodString>;
+                noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+                sslProxy: z.ZodOptional<z.ZodString>;
+                socksProxy: z.ZodOptional<z.ZodString>;
+                socksVersion: z.ZodOptional<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            }, {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            }>;
+            setWindowRect: z.ZodBoolean;
+        }, "strip", z.ZodTypeAny, {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        }, {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+    }, "strip", z.ZodTypeAny, {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }, {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }>>, z.ZodLazy<z.ZodObject<{
+        ready: z.ZodBoolean;
+        message: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        message: string;
+        ready: boolean;
+    }, {
+        message: string;
+        ready: boolean;
+    }>>]>>]>>;
+}, "strip", z.ZodTypeAny, {
+    type: "success";
+    id: number;
+    result: Record<string, any> | {
+        data: string;
+    } | {
+        context: string;
+    } | {
+        contexts?: any;
+    } | {
+        url: string;
+        navigation: string | null;
+    } | {
+        data: string;
+    } | {} | {
+        script: string;
+    } | {
+        type: "success";
+        realm: string;
+        result?: any;
+    } | {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } | {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } | {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } | {
+        message: string;
+        ready: boolean;
+    } | (Record<string, any> & {
+        data: string;
+    }) | (Record<string, any> & {
+        context: string;
+    }) | (Record<string, any> & {
+        contexts?: any;
+    }) | (Record<string, any> & {
+        url: string;
+        navigation: string | null;
+    }) | (Record<string, any> & {
+        data: string;
+    }) | (Record<string, any> & {}) | (Record<string, any> & {
+        script: string;
+    }) | (Record<string, any> & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | (Record<string, any> & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | (Record<string, any> & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | (Record<string, any> & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | (Record<string, any> & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        data: string;
+    } & Record<string, any>) | ({
+        data: string;
+    } & {
+        context: string;
+    }) | ({
+        data: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        data: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        data: string;
+    } & {
+        data: string;
+    }) | ({
+        data: string;
+    } & {}) | ({
+        data: string;
+    } & {
+        script: string;
+    }) | ({
+        data: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        data: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        data: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        data: string;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        data: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        context: string;
+    } & Record<string, any>) | ({
+        context: string;
+    } & {
+        data: string;
+    }) | ({
+        context: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        context: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        context: string;
+    } & {
+        data: string;
+    }) | ({
+        context: string;
+    } & {}) | ({
+        context: string;
+    } & {
+        script: string;
+    }) | ({
+        context: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        context: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        context: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        context: string;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        context: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        contexts?: any;
+    } & Record<string, any>) | ({
+        contexts?: any;
+    } & {
+        data: string;
+    }) | ({
+        contexts?: any;
+    } & {
+        context: string;
+    }) | ({
+        contexts?: any;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        contexts?: any;
+    } & {
+        data: string;
+    }) | ({
+        contexts?: any;
+    } & {}) | ({
+        contexts?: any;
+    } & {
+        script: string;
+    }) | ({
+        contexts?: any;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        contexts?: any;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        contexts?: any;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        contexts?: any;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        contexts?: any;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & Record<string, any>) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        data: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        context: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        contexts?: any;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        data: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {}) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        script: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        data: string;
+    } & Record<string, any>) | ({
+        data: string;
+    } & {
+        data: string;
+    }) | ({
+        data: string;
+    } & {
+        context: string;
+    }) | ({
+        data: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        data: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        data: string;
+    } & {}) | ({
+        data: string;
+    } & {
+        script: string;
+    }) | ({
+        data: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        data: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        data: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        data: string;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        data: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({} & Record<string, any>) | ({} & {
+        data: string;
+    }) | ({} & {
+        context: string;
+    }) | ({} & {
+        contexts?: any;
+    }) | ({} & {
+        url: string;
+        navigation: string | null;
+    }) | ({} & {
+        data: string;
+    }) | ({} & {
+        script: string;
+    }) | ({} & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({} & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({} & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({} & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({} & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        script: string;
+    } & Record<string, any>) | ({
+        script: string;
+    } & {
+        data: string;
+    }) | ({
+        script: string;
+    } & {
+        context: string;
+    }) | ({
+        script: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        script: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        script: string;
+    } & {
+        data: string;
+    }) | ({
+        script: string;
+    } & {}) | ({
+        script: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        script: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        script: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        script: string;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        script: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & Record<string, any>) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        data: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        context: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        contexts?: any;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        data: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {}) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        script: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & Record<string, any>) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        data: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        context: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        contexts?: any;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        data: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {}) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        script: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & Record<string, any>) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        data: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        context: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        contexts?: any;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        data: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {}) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        script: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & Record<string, any>) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        data: string;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        context: string;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        data: string;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {}) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        script: string;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & Record<string, any>) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        data: string;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        context: string;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        contexts?: any;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        data: string;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {}) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        script: string;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    });
+}, {
+    type: "success";
+    id: number;
+    result: Record<string, any> | {
+        data: string;
+    } | {
+        context: string;
+    } | {
+        contexts?: any;
+    } | {
+        url: string;
+        navigation: string | null;
+    } | {
+        data: string;
+    } | {} | {
+        script: string;
+    } | {
+        type: "success";
+        realm: string;
+        result?: any;
+    } | {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } | {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } | {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } | {
+        message: string;
+        ready: boolean;
+    } | (Record<string, any> & {
+        data: string;
+    }) | (Record<string, any> & {
+        context: string;
+    }) | (Record<string, any> & {
+        contexts?: any;
+    }) | (Record<string, any> & {
+        url: string;
+        navigation: string | null;
+    }) | (Record<string, any> & {
+        data: string;
+    }) | (Record<string, any> & {}) | (Record<string, any> & {
+        script: string;
+    }) | (Record<string, any> & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | (Record<string, any> & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | (Record<string, any> & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | (Record<string, any> & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | (Record<string, any> & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        data: string;
+    } & Record<string, any>) | ({
+        data: string;
+    } & {
+        context: string;
+    }) | ({
+        data: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        data: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        data: string;
+    } & {
+        data: string;
+    }) | ({
+        data: string;
+    } & {}) | ({
+        data: string;
+    } & {
+        script: string;
+    }) | ({
+        data: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        data: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        data: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        data: string;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        data: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        context: string;
+    } & Record<string, any>) | ({
+        context: string;
+    } & {
+        data: string;
+    }) | ({
+        context: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        context: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        context: string;
+    } & {
+        data: string;
+    }) | ({
+        context: string;
+    } & {}) | ({
+        context: string;
+    } & {
+        script: string;
+    }) | ({
+        context: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        context: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        context: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        context: string;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        context: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        contexts?: any;
+    } & Record<string, any>) | ({
+        contexts?: any;
+    } & {
+        data: string;
+    }) | ({
+        contexts?: any;
+    } & {
+        context: string;
+    }) | ({
+        contexts?: any;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        contexts?: any;
+    } & {
+        data: string;
+    }) | ({
+        contexts?: any;
+    } & {}) | ({
+        contexts?: any;
+    } & {
+        script: string;
+    }) | ({
+        contexts?: any;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        contexts?: any;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        contexts?: any;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        contexts?: any;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        contexts?: any;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & Record<string, any>) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        data: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        context: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        contexts?: any;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        data: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {}) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        script: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        url: string;
+        navigation: string | null;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        data: string;
+    } & Record<string, any>) | ({
+        data: string;
+    } & {
+        data: string;
+    }) | ({
+        data: string;
+    } & {
+        context: string;
+    }) | ({
+        data: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        data: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        data: string;
+    } & {}) | ({
+        data: string;
+    } & {
+        script: string;
+    }) | ({
+        data: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        data: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        data: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        data: string;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        data: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({} & Record<string, any>) | ({} & {
+        data: string;
+    }) | ({} & {
+        context: string;
+    }) | ({} & {
+        contexts?: any;
+    }) | ({} & {
+        url: string;
+        navigation: string | null;
+    }) | ({} & {
+        data: string;
+    }) | ({} & {
+        script: string;
+    }) | ({} & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({} & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({} & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({} & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({} & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        script: string;
+    } & Record<string, any>) | ({
+        script: string;
+    } & {
+        data: string;
+    }) | ({
+        script: string;
+    } & {
+        context: string;
+    }) | ({
+        script: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        script: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        script: string;
+    } & {
+        data: string;
+    }) | ({
+        script: string;
+    } & {}) | ({
+        script: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        script: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        script: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        script: string;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        script: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & Record<string, any>) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        data: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        context: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        contexts?: any;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        data: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {}) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        script: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        type: "success";
+        realm: string;
+        result?: any;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & Record<string, any>) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        data: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        context: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        contexts?: any;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        data: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {}) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        script: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & Record<string, any>) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        data: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        context: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        contexts?: any;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        data: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {}) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        script: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }) | ({
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & Record<string, any>) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        data: string;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        context: string;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        contexts?: any;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        data: string;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {}) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        script: string;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    } & {
+        message: string;
+        ready: boolean;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & Record<string, any>) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        data: string;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        context: string;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        contexts?: any;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        url: string;
+        navigation: string | null;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        data: string;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {}) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        script: string;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        type: "success";
+        realm: string;
+        result?: any;
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }) | ({
+        message: string;
+        ready: boolean;
+    } & {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    });
+}>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+export declare const ErrorResponseSchema: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+    type: z.ZodLiteral<"error">;
+    id: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+    error: z.ZodLazy<z.ZodEnum<["invalid argument", "invalid session id", "move target out of bounds", "no such alert", "no such element", "no such frame", "no such handle", "no such node", "no such script", "session not created", "unable to capture screen", "unable to close browser", "unknown command", "unknown error", "unsupported operation"]>>;
+    message: z.ZodString;
+    stacktrace: z.ZodOptional<z.ZodString>;
+}, "strip", z.ZodTypeAny, {
+    message: string;
+    type: "error";
+    error: "invalid argument" | "invalid session id" | "move target out of bounds" | "no such alert" | "no such element" | "no such frame" | "no such handle" | "no such node" | "no such script" | "session not created" | "unable to capture screen" | "unable to close browser" | "unknown command" | "unknown error" | "unsupported operation";
+    id: number | null;
+    stacktrace?: string | undefined;
+}, {
+    message: string;
+    type: "error";
+    error: "invalid argument" | "invalid session id" | "move target out of bounds" | "no such alert" | "no such element" | "no such frame" | "no such handle" | "no such node" | "no such script" | "session not created" | "unable to capture screen" | "unable to close browser" | "unknown command" | "unknown error" | "unsupported operation";
+    id: number | null;
+    stacktrace?: string | undefined;
+}>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+export declare const ResultDataSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    data: z.ZodString;
+}, "strip", z.ZodTypeAny, {
+    data: string;
+}, {
+    data: string;
+}>>, z.ZodLazy<z.ZodObject<{
+    context: z.ZodLazy<z.ZodString>;
+}, "strip", z.ZodTypeAny, {
+    context: string;
+}, {
+    context: string;
+}>>, z.ZodLazy<z.ZodObject<{
+    contexts: any;
+}, "strip", z.ZodTypeAny, {
+    contexts?: any;
+}, {
+    contexts?: any;
+}>>, z.ZodLazy<z.ZodObject<{
+    navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+    url: z.ZodString;
+}, "strip", z.ZodTypeAny, {
+    url: string;
+    navigation: string | null;
+}, {
+    url: string;
+    navigation: string | null;
+}>>, z.ZodLazy<z.ZodObject<{
+    data: z.ZodString;
+}, "strip", z.ZodTypeAny, {
+    data: string;
+}, {
+    data: string;
+}>>]>>, z.ZodLazy<z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>, z.ZodLazy<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    script: z.ZodLazy<z.ZodString>;
+}, "strip", z.ZodTypeAny, {
+    script: string;
+}, {
+    script: string;
+}>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    type: z.ZodLiteral<"success">;
+    result: any;
+    realm: z.ZodLazy<z.ZodString>;
+}, "strip", z.ZodTypeAny, {
+    type: "success";
+    realm: string;
+    result?: any;
+}, {
+    type: "success";
+    realm: string;
+    result?: any;
+}>>, z.ZodLazy<z.ZodObject<{
+    type: z.ZodLiteral<"exception">;
+    exceptionDetails: z.ZodLazy<z.ZodObject<{
+        columnNumber: z.ZodLazy<z.ZodNumber>;
+        exception: any;
+        lineNumber: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>;
+        text: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        columnNumber: number;
+        lineNumber: number;
+        text: string;
+        stackTrace: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        };
+        exception?: any;
+    }, {
+        columnNumber: number;
+        lineNumber: number;
+        text: string;
+        stackTrace: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        };
+        exception?: any;
+    }>>;
+    realm: z.ZodLazy<z.ZodString>;
+}, "strip", z.ZodTypeAny, {
+    type: "exception";
+    realm: string;
+    exceptionDetails: {
+        columnNumber: number;
+        lineNumber: number;
+        text: string;
+        stackTrace: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        };
+        exception?: any;
+    };
+}, {
+    type: "exception";
+    realm: string;
+    exceptionDetails: {
+        columnNumber: number;
+        lineNumber: number;
+        text: string;
+        stackTrace: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        };
+        exception?: any;
+    };
+}>>]>>, z.ZodLazy<z.ZodObject<{
+    realms: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"window">;
+        context: z.ZodLazy<z.ZodString>;
+        sandbox: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }, {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"dedicated-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "dedicated-worker";
+    }, {
+        type: "dedicated-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"shared-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "shared-worker";
+    }, {
+        type: "shared-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"service-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "service-worker";
+    }, {
+        type: "service-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "worker";
+    }, {
+        type: "worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"paint-worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "paint-worklet";
+    }, {
+        type: "paint-worklet";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"audio-worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "audio-worklet";
+    }, {
+        type: "audio-worklet";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "worklet";
+    }, {
+        type: "worklet";
+    }>>>]>>, "many">;
+}, "strip", z.ZodTypeAny, {
+    realms: (({
+        origin: string;
+        realm: string;
+    } & {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "dedicated-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "shared-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "service-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "paint-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "audio-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worklet";
+    }))[];
+}, {
+    realms: (({
+        origin: string;
+        realm: string;
+    } & {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "dedicated-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "shared-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "service-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "paint-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "audio-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worklet";
+    }))[];
+}>>]>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    sessionId: z.ZodString;
+    capabilities: z.ZodIntersection<z.ZodObject<{
+        acceptInsecureCerts: z.ZodBoolean;
+        browserName: z.ZodString;
+        browserVersion: z.ZodString;
+        platformName: z.ZodString;
+        proxy: z.ZodObject<{
+            proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+            proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+            ftpProxy: z.ZodOptional<z.ZodString>;
+            httpProxy: z.ZodOptional<z.ZodString>;
+            noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+            sslProxy: z.ZodOptional<z.ZodString>;
+            socksProxy: z.ZodOptional<z.ZodString>;
+            socksVersion: z.ZodOptional<z.ZodNumber>;
+        }, "strip", z.ZodTypeAny, {
+            proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+            proxyAutoconfigUrl?: string | undefined;
+            ftpProxy?: string | undefined;
+            httpProxy?: string | undefined;
+            noProxy?: string[] | undefined;
+            sslProxy?: string | undefined;
+            socksProxy?: string | undefined;
+            socksVersion?: number | undefined;
+        }, {
+            proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+            proxyAutoconfigUrl?: string | undefined;
+            ftpProxy?: string | undefined;
+            httpProxy?: string | undefined;
+            noProxy?: string[] | undefined;
+            sslProxy?: string | undefined;
+            socksProxy?: string | undefined;
+            socksVersion?: number | undefined;
+        }>;
+        setWindowRect: z.ZodBoolean;
+    }, "strip", z.ZodTypeAny, {
+        proxy: {
+            proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+            proxyAutoconfigUrl?: string | undefined;
+            ftpProxy?: string | undefined;
+            httpProxy?: string | undefined;
+            noProxy?: string[] | undefined;
+            sslProxy?: string | undefined;
+            socksProxy?: string | undefined;
+            socksVersion?: number | undefined;
+        };
+        acceptInsecureCerts: boolean;
+        browserName: string;
+        browserVersion: string;
+        platformName: string;
+        setWindowRect: boolean;
+    }, {
+        proxy: {
+            proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+            proxyAutoconfigUrl?: string | undefined;
+            ftpProxy?: string | undefined;
+            httpProxy?: string | undefined;
+            noProxy?: string[] | undefined;
+            sslProxy?: string | undefined;
+            socksProxy?: string | undefined;
+            socksVersion?: number | undefined;
+        };
+        acceptInsecureCerts: boolean;
+        browserName: string;
+        browserVersion: string;
+        platformName: string;
+        setWindowRect: boolean;
+    }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+}, "strip", z.ZodTypeAny, {
+    capabilities: {
+        proxy: {
+            proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+            proxyAutoconfigUrl?: string | undefined;
+            ftpProxy?: string | undefined;
+            httpProxy?: string | undefined;
+            noProxy?: string[] | undefined;
+            sslProxy?: string | undefined;
+            socksProxy?: string | undefined;
+            socksVersion?: number | undefined;
+        };
+        acceptInsecureCerts: boolean;
+        browserName: string;
+        browserVersion: string;
+        platformName: string;
+        setWindowRect: boolean;
+    } & Record<string, any>;
+    sessionId: string;
+}, {
+    capabilities: {
+        proxy: {
+            proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+            proxyAutoconfigUrl?: string | undefined;
+            ftpProxy?: string | undefined;
+            httpProxy?: string | undefined;
+            noProxy?: string[] | undefined;
+            sslProxy?: string | undefined;
+            socksProxy?: string | undefined;
+            socksVersion?: number | undefined;
+        };
+        acceptInsecureCerts: boolean;
+        browserName: string;
+        browserVersion: string;
+        platformName: string;
+        setWindowRect: boolean;
+    } & Record<string, any>;
+    sessionId: string;
+}>>, z.ZodLazy<z.ZodObject<{
+    ready: z.ZodBoolean;
+    message: z.ZodString;
+}, "strip", z.ZodTypeAny, {
+    message: string;
+    ready: boolean;
+}, {
+    message: string;
+    ready: boolean;
+}>>]>>]>>;
+export declare const EmptyResultSchema: z.ZodLazy<z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+export declare const EventSchema: z.ZodLazy<z.ZodIntersection<z.ZodIntersection<z.ZodObject<{
+    type: z.ZodLiteral<"event">;
+}, "strip", z.ZodTypeAny, {
+    type: "event";
+}, {
+    type: "event";
+}>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.contextCreated">;
+    params: any;
+}, "strip", z.ZodTypeAny, {
+    method: "browsingContext.contextCreated";
+    params?: any;
+}, {
+    method: "browsingContext.contextCreated";
+    params?: any;
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.contextDestroyed">;
+    params: any;
+}, "strip", z.ZodTypeAny, {
+    method: "browsingContext.contextDestroyed";
+    params?: any;
+}, {
+    method: "browsingContext.contextDestroyed";
+    params?: any;
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.navigationStarted">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationStarted";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationStarted";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.fragmentNavigated">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.fragmentNavigated";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.fragmentNavigated";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.domContentLoaded">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.domContentLoaded";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.domContentLoaded";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.load">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.load";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.load";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.downloadWillBegin">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.downloadWillBegin";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.downloadWillBegin";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.navigationAborted">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationAborted";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationAborted";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.navigationFailed">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationFailed";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationFailed";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.userPromptClosed">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        accepted: z.ZodBoolean;
+        userText: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    }, {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    };
+    method: "browsingContext.userPromptClosed";
+}, {
+    params: {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    };
+    method: "browsingContext.userPromptClosed";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.userPromptOpened">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        type: z.ZodEnum<["alert", "confirm", "prompt", "beforeunload"]>;
+        message: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    }, {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    };
+    method: "browsingContext.userPromptOpened";
+}, {
+    params: {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    };
+    method: "browsingContext.userPromptOpened";
+}>>]>>, z.ZodLazy<z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"log.entryAdded">;
+    params: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: string;
+    }, {
+        type: string;
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"console">;
+        method: z.ZodString;
+        args: z.ZodArray<any, "many">;
+    }, "strip", z.ZodTypeAny, {
+        type: "console";
+        args: any[];
+        method: string;
+    }, {
+        type: "console";
+        args: any[];
+        method: string;
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"javascript">;
+    }, "strip", z.ZodTypeAny, {
+        type: "javascript";
+    }, {
+        type: "javascript";
+    }>>>]>>;
+}, "strip", z.ZodTypeAny, {
+    params: ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "javascript";
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    } & {
+        type: "javascript";
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    } & {
+        type: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "javascript";
+    } & {
+        type: string;
+    });
+    method: "log.entryAdded";
+}, {
+    params: ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "javascript";
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    } & {
+        type: "javascript";
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    } & {
+        type: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "javascript";
+    } & {
+        type: string;
+    });
+    method: "log.entryAdded";
+}>>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"network.beforeRequestSent">;
+    params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        initiator: z.ZodLazy<z.ZodObject<{
+            type: z.ZodEnum<["parser", "script", "preflight", "other"]>;
+            columnNumber: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            lineNumber: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    columnNumber: z.ZodLazy<z.ZodNumber>;
+                    functionName: z.ZodString;
+                    lineNumber: z.ZodLazy<z.ZodNumber>;
+                    url: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }>>, "many">;
+            }, "strip", z.ZodTypeAny, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }>>>;
+            request: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        }, {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    }, {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    }>>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    };
+    method: "network.beforeRequestSent";
+}, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    };
+    method: "network.beforeRequestSent";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"network.fetchError">;
+    params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        errorText: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        errorText: string;
+    }, {
+        errorText: string;
+    }>>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        errorText: string;
+    };
+    method: "network.fetchError";
+}, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        errorText: string;
+    };
+    method: "network.fetchError";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"network.responseStarted">;
+    params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        response: z.ZodLazy<z.ZodObject<{
+            url: z.ZodString;
+            protocol: z.ZodString;
+            status: z.ZodLazy<z.ZodNumber>;
+            statusText: z.ZodString;
+            fromCache: z.ZodBoolean;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            mimeType: z.ZodString;
+            bytesReceived: z.ZodLazy<z.ZodNumber>;
+            headersSize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            content: z.ZodLazy<z.ZodObject<{
+                size: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                size: number;
+            }, {
+                size: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }>>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    };
+    method: "network.responseStarted";
+}, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    };
+    method: "network.responseStarted";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"network.responseCompleted">;
+    params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        response: z.ZodLazy<z.ZodObject<{
+            url: z.ZodString;
+            protocol: z.ZodString;
+            status: z.ZodLazy<z.ZodNumber>;
+            statusText: z.ZodString;
+            fromCache: z.ZodBoolean;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            mimeType: z.ZodString;
+            bytesReceived: z.ZodLazy<z.ZodNumber>;
+            headersSize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            content: z.ZodLazy<z.ZodObject<{
+                size: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                size: number;
+            }, {
+                size: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }>>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    };
+    method: "network.responseCompleted";
+}, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    };
+    method: "network.responseCompleted";
+}>>]>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.message">;
+    params: z.ZodLazy<z.ZodObject<{
+        channel: z.ZodLazy<z.ZodString>;
+        data: any;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    }, {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    };
+    method: "script.message";
+}, {
+    params: {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    };
+    method: "script.message";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.realmCreated">;
+    params: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"window">;
+        context: z.ZodLazy<z.ZodString>;
+        sandbox: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }, {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"dedicated-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "dedicated-worker";
+    }, {
+        type: "dedicated-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"shared-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "shared-worker";
+    }, {
+        type: "shared-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"service-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "service-worker";
+    }, {
+        type: "service-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "worker";
+    }, {
+        type: "worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"paint-worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "paint-worklet";
+    }, {
+        type: "paint-worklet";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"audio-worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "audio-worklet";
+    }, {
+        type: "audio-worklet";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "worklet";
+    }, {
+        type: "worklet";
+    }>>>]>>;
+}, "strip", z.ZodTypeAny, {
+    params: ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "dedicated-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "shared-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "service-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "paint-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "audio-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worklet";
+    });
+    method: "script.realmCreated";
+}, {
+    params: ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "dedicated-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "shared-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "service-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "paint-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "audio-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worklet";
+    });
+    method: "script.realmCreated";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.realmDestroyed">;
+    params: z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        realm: string;
+    }, {
+        realm: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        realm: string;
+    };
+    method: "script.realmDestroyed";
+}, {
+    params: {
+        realm: string;
+    };
+    method: "script.realmDestroyed";
+}>>]>>]>>>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+export declare const EventDataSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.contextCreated">;
+    params: any;
+}, "strip", z.ZodTypeAny, {
+    method: "browsingContext.contextCreated";
+    params?: any;
+}, {
+    method: "browsingContext.contextCreated";
+    params?: any;
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.contextDestroyed">;
+    params: any;
+}, "strip", z.ZodTypeAny, {
+    method: "browsingContext.contextDestroyed";
+    params?: any;
+}, {
+    method: "browsingContext.contextDestroyed";
+    params?: any;
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.navigationStarted">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationStarted";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationStarted";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.fragmentNavigated">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.fragmentNavigated";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.fragmentNavigated";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.domContentLoaded">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.domContentLoaded";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.domContentLoaded";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.load">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.load";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.load";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.downloadWillBegin">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.downloadWillBegin";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.downloadWillBegin";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.navigationAborted">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationAborted";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationAborted";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.navigationFailed">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationFailed";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationFailed";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.userPromptClosed">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        accepted: z.ZodBoolean;
+        userText: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    }, {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    };
+    method: "browsingContext.userPromptClosed";
+}, {
+    params: {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    };
+    method: "browsingContext.userPromptClosed";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.userPromptOpened">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        type: z.ZodEnum<["alert", "confirm", "prompt", "beforeunload"]>;
+        message: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    }, {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    };
+    method: "browsingContext.userPromptOpened";
+}, {
+    params: {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    };
+    method: "browsingContext.userPromptOpened";
+}>>]>>, z.ZodLazy<z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"log.entryAdded">;
+    params: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: string;
+    }, {
+        type: string;
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"console">;
+        method: z.ZodString;
+        args: z.ZodArray<any, "many">;
+    }, "strip", z.ZodTypeAny, {
+        type: "console";
+        args: any[];
+        method: string;
+    }, {
+        type: "console";
+        args: any[];
+        method: string;
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"javascript">;
+    }, "strip", z.ZodTypeAny, {
+        type: "javascript";
+    }, {
+        type: "javascript";
+    }>>>]>>;
+}, "strip", z.ZodTypeAny, {
+    params: ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "javascript";
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    } & {
+        type: "javascript";
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    } & {
+        type: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "javascript";
+    } & {
+        type: string;
+    });
+    method: "log.entryAdded";
+}, {
+    params: ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "javascript";
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    } & {
+        type: "javascript";
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    } & {
+        type: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "javascript";
+    } & {
+        type: string;
+    });
+    method: "log.entryAdded";
+}>>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"network.beforeRequestSent">;
+    params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        initiator: z.ZodLazy<z.ZodObject<{
+            type: z.ZodEnum<["parser", "script", "preflight", "other"]>;
+            columnNumber: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            lineNumber: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    columnNumber: z.ZodLazy<z.ZodNumber>;
+                    functionName: z.ZodString;
+                    lineNumber: z.ZodLazy<z.ZodNumber>;
+                    url: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }>>, "many">;
+            }, "strip", z.ZodTypeAny, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }>>>;
+            request: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        }, {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    }, {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    }>>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    };
+    method: "network.beforeRequestSent";
+}, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    };
+    method: "network.beforeRequestSent";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"network.fetchError">;
+    params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        errorText: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        errorText: string;
+    }, {
+        errorText: string;
+    }>>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        errorText: string;
+    };
+    method: "network.fetchError";
+}, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        errorText: string;
+    };
+    method: "network.fetchError";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"network.responseStarted">;
+    params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        response: z.ZodLazy<z.ZodObject<{
+            url: z.ZodString;
+            protocol: z.ZodString;
+            status: z.ZodLazy<z.ZodNumber>;
+            statusText: z.ZodString;
+            fromCache: z.ZodBoolean;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            mimeType: z.ZodString;
+            bytesReceived: z.ZodLazy<z.ZodNumber>;
+            headersSize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            content: z.ZodLazy<z.ZodObject<{
+                size: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                size: number;
+            }, {
+                size: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }>>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    };
+    method: "network.responseStarted";
+}, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    };
+    method: "network.responseStarted";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"network.responseCompleted">;
+    params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        response: z.ZodLazy<z.ZodObject<{
+            url: z.ZodString;
+            protocol: z.ZodString;
+            status: z.ZodLazy<z.ZodNumber>;
+            statusText: z.ZodString;
+            fromCache: z.ZodBoolean;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            mimeType: z.ZodString;
+            bytesReceived: z.ZodLazy<z.ZodNumber>;
+            headersSize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            content: z.ZodLazy<z.ZodObject<{
+                size: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                size: number;
+            }, {
+                size: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }>>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    };
+    method: "network.responseCompleted";
+}, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    };
+    method: "network.responseCompleted";
+}>>]>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.message">;
+    params: z.ZodLazy<z.ZodObject<{
+        channel: z.ZodLazy<z.ZodString>;
+        data: any;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    }, {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    };
+    method: "script.message";
+}, {
+    params: {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    };
+    method: "script.message";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.realmCreated">;
+    params: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"window">;
+        context: z.ZodLazy<z.ZodString>;
+        sandbox: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }, {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"dedicated-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "dedicated-worker";
+    }, {
+        type: "dedicated-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"shared-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "shared-worker";
+    }, {
+        type: "shared-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"service-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "service-worker";
+    }, {
+        type: "service-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "worker";
+    }, {
+        type: "worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"paint-worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "paint-worklet";
+    }, {
+        type: "paint-worklet";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"audio-worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "audio-worklet";
+    }, {
+        type: "audio-worklet";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "worklet";
+    }, {
+        type: "worklet";
+    }>>>]>>;
+}, "strip", z.ZodTypeAny, {
+    params: ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "dedicated-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "shared-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "service-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "paint-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "audio-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worklet";
+    });
+    method: "script.realmCreated";
+}, {
+    params: ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "dedicated-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "shared-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "service-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "paint-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "audio-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worklet";
+    });
+    method: "script.realmCreated";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.realmDestroyed">;
+    params: z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        realm: string;
+    }, {
+        realm: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        realm: string;
+    };
+    method: "script.realmDestroyed";
+}, {
+    params: {
+        realm: string;
+    };
+    method: "script.realmDestroyed";
+}>>]>>]>>;
+export declare const ExtensibleSchema: z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>;
+export declare const JsIntSchema: z.ZodLazy<z.ZodNumber>;
+export declare const JsUintSchema: z.ZodLazy<z.ZodNumber>;
+export declare const ErrorCodeSchema: z.ZodLazy<z.ZodEnum<["invalid argument", "invalid session id", "move target out of bounds", "no such alert", "no such element", "no such frame", "no such handle", "no such node", "no such script", "session not created", "unable to capture screen", "unable to close browser", "unknown command", "unknown error", "unsupported operation"]>>;
+export declare const SessionCommandSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"session.end">;
+    params: z.ZodLazy<z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+}, "strip", z.ZodTypeAny, {
+    params: Record<string, any>;
+    method: "session.end";
+}, {
+    params: Record<string, any>;
+    method: "session.end";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"session.new">;
+    params: z.ZodLazy<z.ZodObject<{
+        capabilities: z.ZodLazy<z.ZodObject<{
+            alwaysMatch: z.ZodOptional<z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                acceptInsecureCerts: z.ZodOptional<z.ZodBoolean>;
+                browserName: z.ZodOptional<z.ZodString>;
+                browserVersion: z.ZodOptional<z.ZodString>;
+                platformName: z.ZodOptional<z.ZodString>;
+                proxy: z.ZodOptional<z.ZodObject<{
+                    proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+                    proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+                    ftpProxy: z.ZodOptional<z.ZodString>;
+                    httpProxy: z.ZodOptional<z.ZodString>;
+                    noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+                    sslProxy: z.ZodOptional<z.ZodString>;
+                    socksProxy: z.ZodOptional<z.ZodString>;
+                    socksVersion: z.ZodOptional<z.ZodNumber>;
+                }, "strip", z.ZodTypeAny, {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                }, {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                }>>;
+            }, "strip", z.ZodTypeAny, {
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            }, {
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>>;
+            firstMatch: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                acceptInsecureCerts: z.ZodOptional<z.ZodBoolean>;
+                browserName: z.ZodOptional<z.ZodString>;
+                browserVersion: z.ZodOptional<z.ZodString>;
+                platformName: z.ZodOptional<z.ZodString>;
+                proxy: z.ZodOptional<z.ZodObject<{
+                    proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+                    proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+                    ftpProxy: z.ZodOptional<z.ZodString>;
+                    httpProxy: z.ZodOptional<z.ZodString>;
+                    noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+                    sslProxy: z.ZodOptional<z.ZodString>;
+                    socksProxy: z.ZodOptional<z.ZodString>;
+                    socksVersion: z.ZodOptional<z.ZodNumber>;
+                }, "strip", z.ZodTypeAny, {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                }, {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                }>>;
+            }, "strip", z.ZodTypeAny, {
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            }, {
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>, "many">>;
+        }, "strip", z.ZodTypeAny, {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        }, {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        capabilities: {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        };
+    }, {
+        capabilities: {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        };
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        capabilities: {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        };
+    };
+    method: "session.new";
+}, {
+    params: {
+        capabilities: {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        };
+    };
+    method: "session.new";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"session.status">;
+    params: z.ZodLazy<z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+}, "strip", z.ZodTypeAny, {
+    params: Record<string, any>;
+    method: "session.status";
+}, {
+    params: Record<string, any>;
+    method: "session.status";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"session.subscribe">;
+    params: z.ZodLazy<z.ZodObject<{
+        events: z.ZodArray<z.ZodString, "many">;
+        contexts: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodString>, "many">>;
+    }, "strip", z.ZodTypeAny, {
+        events: string[];
+        contexts?: string[] | undefined;
+    }, {
+        events: string[];
+        contexts?: string[] | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        events: string[];
+        contexts?: string[] | undefined;
+    };
+    method: "session.subscribe";
+}, {
+    params: {
+        events: string[];
+        contexts?: string[] | undefined;
+    };
+    method: "session.subscribe";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"session.unsubscribe">;
+    params: z.ZodLazy<z.ZodObject<{
+        events: z.ZodArray<z.ZodString, "many">;
+        contexts: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodString>, "many">>;
+    }, "strip", z.ZodTypeAny, {
+        events: string[];
+        contexts?: string[] | undefined;
+    }, {
+        events: string[];
+        contexts?: string[] | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        events: string[];
+        contexts?: string[] | undefined;
+    };
+    method: "session.unsubscribe";
+}, {
+    params: {
+        events: string[];
+        contexts?: string[] | undefined;
+    };
+    method: "session.unsubscribe";
+}>>]>>;
+export declare const SessionResultSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    sessionId: z.ZodString;
+    capabilities: z.ZodIntersection<z.ZodObject<{
+        acceptInsecureCerts: z.ZodBoolean;
+        browserName: z.ZodString;
+        browserVersion: z.ZodString;
+        platformName: z.ZodString;
+        proxy: z.ZodObject<{
+            proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+            proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+            ftpProxy: z.ZodOptional<z.ZodString>;
+            httpProxy: z.ZodOptional<z.ZodString>;
+            noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+            sslProxy: z.ZodOptional<z.ZodString>;
+            socksProxy: z.ZodOptional<z.ZodString>;
+            socksVersion: z.ZodOptional<z.ZodNumber>;
+        }, "strip", z.ZodTypeAny, {
+            proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+            proxyAutoconfigUrl?: string | undefined;
+            ftpProxy?: string | undefined;
+            httpProxy?: string | undefined;
+            noProxy?: string[] | undefined;
+            sslProxy?: string | undefined;
+            socksProxy?: string | undefined;
+            socksVersion?: number | undefined;
+        }, {
+            proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+            proxyAutoconfigUrl?: string | undefined;
+            ftpProxy?: string | undefined;
+            httpProxy?: string | undefined;
+            noProxy?: string[] | undefined;
+            sslProxy?: string | undefined;
+            socksProxy?: string | undefined;
+            socksVersion?: number | undefined;
+        }>;
+        setWindowRect: z.ZodBoolean;
+    }, "strip", z.ZodTypeAny, {
+        proxy: {
+            proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+            proxyAutoconfigUrl?: string | undefined;
+            ftpProxy?: string | undefined;
+            httpProxy?: string | undefined;
+            noProxy?: string[] | undefined;
+            sslProxy?: string | undefined;
+            socksProxy?: string | undefined;
+            socksVersion?: number | undefined;
+        };
+        acceptInsecureCerts: boolean;
+        browserName: string;
+        browserVersion: string;
+        platformName: string;
+        setWindowRect: boolean;
+    }, {
+        proxy: {
+            proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+            proxyAutoconfigUrl?: string | undefined;
+            ftpProxy?: string | undefined;
+            httpProxy?: string | undefined;
+            noProxy?: string[] | undefined;
+            sslProxy?: string | undefined;
+            socksProxy?: string | undefined;
+            socksVersion?: number | undefined;
+        };
+        acceptInsecureCerts: boolean;
+        browserName: string;
+        browserVersion: string;
+        platformName: string;
+        setWindowRect: boolean;
+    }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+}, "strip", z.ZodTypeAny, {
+    capabilities: {
+        proxy: {
+            proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+            proxyAutoconfigUrl?: string | undefined;
+            ftpProxy?: string | undefined;
+            httpProxy?: string | undefined;
+            noProxy?: string[] | undefined;
+            sslProxy?: string | undefined;
+            socksProxy?: string | undefined;
+            socksVersion?: number | undefined;
+        };
+        acceptInsecureCerts: boolean;
+        browserName: string;
+        browserVersion: string;
+        platformName: string;
+        setWindowRect: boolean;
+    } & Record<string, any>;
+    sessionId: string;
+}, {
+    capabilities: {
+        proxy: {
+            proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+            proxyAutoconfigUrl?: string | undefined;
+            ftpProxy?: string | undefined;
+            httpProxy?: string | undefined;
+            noProxy?: string[] | undefined;
+            sslProxy?: string | undefined;
+            socksProxy?: string | undefined;
+            socksVersion?: number | undefined;
+        };
+        acceptInsecureCerts: boolean;
+        browserName: string;
+        browserVersion: string;
+        platformName: string;
+        setWindowRect: boolean;
+    } & Record<string, any>;
+    sessionId: string;
+}>>, z.ZodLazy<z.ZodObject<{
+    ready: z.ZodBoolean;
+    message: z.ZodString;
+}, "strip", z.ZodTypeAny, {
+    message: string;
+    ready: boolean;
+}, {
+    message: string;
+    ready: boolean;
+}>>]>>;
+export declare namespace Session {
+    const CapabilitiesRequestSchema: z.ZodLazy<z.ZodObject<{
+        alwaysMatch: z.ZodOptional<z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            acceptInsecureCerts: z.ZodOptional<z.ZodBoolean>;
+            browserName: z.ZodOptional<z.ZodString>;
+            browserVersion: z.ZodOptional<z.ZodString>;
+            platformName: z.ZodOptional<z.ZodString>;
+            proxy: z.ZodOptional<z.ZodObject<{
+                proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+                proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+                ftpProxy: z.ZodOptional<z.ZodString>;
+                httpProxy: z.ZodOptional<z.ZodString>;
+                noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+                sslProxy: z.ZodOptional<z.ZodString>;
+                socksProxy: z.ZodOptional<z.ZodString>;
+                socksVersion: z.ZodOptional<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            }, {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            acceptInsecureCerts?: boolean | undefined;
+            browserName?: string | undefined;
+            browserVersion?: string | undefined;
+            platformName?: string | undefined;
+            proxy?: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            } | undefined;
+        }, {
+            acceptInsecureCerts?: boolean | undefined;
+            browserName?: string | undefined;
+            browserVersion?: string | undefined;
+            platformName?: string | undefined;
+            proxy?: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            } | undefined;
+        }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>>;
+        firstMatch: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            acceptInsecureCerts: z.ZodOptional<z.ZodBoolean>;
+            browserName: z.ZodOptional<z.ZodString>;
+            browserVersion: z.ZodOptional<z.ZodString>;
+            platformName: z.ZodOptional<z.ZodString>;
+            proxy: z.ZodOptional<z.ZodObject<{
+                proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+                proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+                ftpProxy: z.ZodOptional<z.ZodString>;
+                httpProxy: z.ZodOptional<z.ZodString>;
+                noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+                sslProxy: z.ZodOptional<z.ZodString>;
+                socksProxy: z.ZodOptional<z.ZodString>;
+                socksVersion: z.ZodOptional<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            }, {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            acceptInsecureCerts?: boolean | undefined;
+            browserName?: string | undefined;
+            browserVersion?: string | undefined;
+            platformName?: string | undefined;
+            proxy?: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            } | undefined;
+        }, {
+            acceptInsecureCerts?: boolean | undefined;
+            browserName?: string | undefined;
+            browserVersion?: string | undefined;
+            platformName?: string | undefined;
+            proxy?: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            } | undefined;
+        }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>, "many">>;
+    }, "strip", z.ZodTypeAny, {
+        alwaysMatch?: ({
+            acceptInsecureCerts?: boolean | undefined;
+            browserName?: string | undefined;
+            browserVersion?: string | undefined;
+            platformName?: string | undefined;
+            proxy?: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            } | undefined;
+        } & Record<string, any>) | undefined;
+        firstMatch?: ({
+            acceptInsecureCerts?: boolean | undefined;
+            browserName?: string | undefined;
+            browserVersion?: string | undefined;
+            platformName?: string | undefined;
+            proxy?: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            } | undefined;
+        } & Record<string, any>)[] | undefined;
+    }, {
+        alwaysMatch?: ({
+            acceptInsecureCerts?: boolean | undefined;
+            browserName?: string | undefined;
+            browserVersion?: string | undefined;
+            platformName?: string | undefined;
+            proxy?: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            } | undefined;
+        } & Record<string, any>) | undefined;
+        firstMatch?: ({
+            acceptInsecureCerts?: boolean | undefined;
+            browserName?: string | undefined;
+            browserVersion?: string | undefined;
+            platformName?: string | undefined;
+            proxy?: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            } | undefined;
+        } & Record<string, any>)[] | undefined;
+    }>>;
+}
+export declare namespace Session {
+    const CapabilityRequestSchema: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        acceptInsecureCerts: z.ZodOptional<z.ZodBoolean>;
+        browserName: z.ZodOptional<z.ZodString>;
+        browserVersion: z.ZodOptional<z.ZodString>;
+        platformName: z.ZodOptional<z.ZodString>;
+        proxy: z.ZodOptional<z.ZodObject<{
+            proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+            proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+            ftpProxy: z.ZodOptional<z.ZodString>;
+            httpProxy: z.ZodOptional<z.ZodString>;
+            noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+            sslProxy: z.ZodOptional<z.ZodString>;
+            socksProxy: z.ZodOptional<z.ZodString>;
+            socksVersion: z.ZodOptional<z.ZodNumber>;
+        }, "strip", z.ZodTypeAny, {
+            proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+            proxyAutoconfigUrl?: string | undefined;
+            ftpProxy?: string | undefined;
+            httpProxy?: string | undefined;
+            noProxy?: string[] | undefined;
+            sslProxy?: string | undefined;
+            socksProxy?: string | undefined;
+            socksVersion?: number | undefined;
+        }, {
+            proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+            proxyAutoconfigUrl?: string | undefined;
+            ftpProxy?: string | undefined;
+            httpProxy?: string | undefined;
+            noProxy?: string[] | undefined;
+            sslProxy?: string | undefined;
+            socksProxy?: string | undefined;
+            socksVersion?: number | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        acceptInsecureCerts?: boolean | undefined;
+        browserName?: string | undefined;
+        browserVersion?: string | undefined;
+        platformName?: string | undefined;
+        proxy?: {
+            proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+            proxyAutoconfigUrl?: string | undefined;
+            ftpProxy?: string | undefined;
+            httpProxy?: string | undefined;
+            noProxy?: string[] | undefined;
+            sslProxy?: string | undefined;
+            socksProxy?: string | undefined;
+            socksVersion?: number | undefined;
+        } | undefined;
+    }, {
+        acceptInsecureCerts?: boolean | undefined;
+        browserName?: string | undefined;
+        browserVersion?: string | undefined;
+        platformName?: string | undefined;
+        proxy?: {
+            proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+            proxyAutoconfigUrl?: string | undefined;
+            ftpProxy?: string | undefined;
+            httpProxy?: string | undefined;
+            noProxy?: string[] | undefined;
+            sslProxy?: string | undefined;
+            socksProxy?: string | undefined;
+            socksVersion?: number | undefined;
+        } | undefined;
+    }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+}
+export declare namespace Session {
+    const SubscriptionRequestSchema: z.ZodLazy<z.ZodObject<{
+        events: z.ZodArray<z.ZodString, "many">;
+        contexts: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodString>, "many">>;
+    }, "strip", z.ZodTypeAny, {
+        events: string[];
+        contexts?: string[] | undefined;
+    }, {
+        events: string[];
+        contexts?: string[] | undefined;
+    }>>;
+}
+export declare namespace Session {
+    const StatusSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"session.status">;
+        params: z.ZodLazy<z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+    }, "strip", z.ZodTypeAny, {
+        params: Record<string, any>;
+        method: "session.status";
+    }, {
+        params: Record<string, any>;
+        method: "session.status";
+    }>>;
+}
+export declare namespace Session {
+    const StatusResultSchema: z.ZodLazy<z.ZodObject<{
+        ready: z.ZodBoolean;
+        message: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        message: string;
+        ready: boolean;
+    }, {
+        message: string;
+        ready: boolean;
+    }>>;
+}
+export declare namespace Session {
+    const NewSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"session.new">;
+        params: z.ZodLazy<z.ZodObject<{
+            capabilities: z.ZodLazy<z.ZodObject<{
+                alwaysMatch: z.ZodOptional<z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                    acceptInsecureCerts: z.ZodOptional<z.ZodBoolean>;
+                    browserName: z.ZodOptional<z.ZodString>;
+                    browserVersion: z.ZodOptional<z.ZodString>;
+                    platformName: z.ZodOptional<z.ZodString>;
+                    proxy: z.ZodOptional<z.ZodObject<{
+                        proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+                        proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+                        ftpProxy: z.ZodOptional<z.ZodString>;
+                        httpProxy: z.ZodOptional<z.ZodString>;
+                        noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+                        sslProxy: z.ZodOptional<z.ZodString>;
+                        socksProxy: z.ZodOptional<z.ZodString>;
+                        socksVersion: z.ZodOptional<z.ZodNumber>;
+                    }, "strip", z.ZodTypeAny, {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    }, {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    }>>;
+                }, "strip", z.ZodTypeAny, {
+                    acceptInsecureCerts?: boolean | undefined;
+                    browserName?: string | undefined;
+                    browserVersion?: string | undefined;
+                    platformName?: string | undefined;
+                    proxy?: {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    } | undefined;
+                }, {
+                    acceptInsecureCerts?: boolean | undefined;
+                    browserName?: string | undefined;
+                    browserVersion?: string | undefined;
+                    platformName?: string | undefined;
+                    proxy?: {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    } | undefined;
+                }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>>;
+                firstMatch: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                    acceptInsecureCerts: z.ZodOptional<z.ZodBoolean>;
+                    browserName: z.ZodOptional<z.ZodString>;
+                    browserVersion: z.ZodOptional<z.ZodString>;
+                    platformName: z.ZodOptional<z.ZodString>;
+                    proxy: z.ZodOptional<z.ZodObject<{
+                        proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+                        proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+                        ftpProxy: z.ZodOptional<z.ZodString>;
+                        httpProxy: z.ZodOptional<z.ZodString>;
+                        noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+                        sslProxy: z.ZodOptional<z.ZodString>;
+                        socksProxy: z.ZodOptional<z.ZodString>;
+                        socksVersion: z.ZodOptional<z.ZodNumber>;
+                    }, "strip", z.ZodTypeAny, {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    }, {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    }>>;
+                }, "strip", z.ZodTypeAny, {
+                    acceptInsecureCerts?: boolean | undefined;
+                    browserName?: string | undefined;
+                    browserVersion?: string | undefined;
+                    platformName?: string | undefined;
+                    proxy?: {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    } | undefined;
+                }, {
+                    acceptInsecureCerts?: boolean | undefined;
+                    browserName?: string | undefined;
+                    browserVersion?: string | undefined;
+                    platformName?: string | undefined;
+                    proxy?: {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    } | undefined;
+                }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>, "many">>;
+            }, "strip", z.ZodTypeAny, {
+                alwaysMatch?: ({
+                    acceptInsecureCerts?: boolean | undefined;
+                    browserName?: string | undefined;
+                    browserVersion?: string | undefined;
+                    platformName?: string | undefined;
+                    proxy?: {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    } | undefined;
+                } & Record<string, any>) | undefined;
+                firstMatch?: ({
+                    acceptInsecureCerts?: boolean | undefined;
+                    browserName?: string | undefined;
+                    browserVersion?: string | undefined;
+                    platformName?: string | undefined;
+                    proxy?: {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    } | undefined;
+                } & Record<string, any>)[] | undefined;
+            }, {
+                alwaysMatch?: ({
+                    acceptInsecureCerts?: boolean | undefined;
+                    browserName?: string | undefined;
+                    browserVersion?: string | undefined;
+                    platformName?: string | undefined;
+                    proxy?: {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    } | undefined;
+                } & Record<string, any>) | undefined;
+                firstMatch?: ({
+                    acceptInsecureCerts?: boolean | undefined;
+                    browserName?: string | undefined;
+                    browserVersion?: string | undefined;
+                    platformName?: string | undefined;
+                    proxy?: {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    } | undefined;
+                } & Record<string, any>)[] | undefined;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            capabilities: {
+                alwaysMatch?: ({
+                    acceptInsecureCerts?: boolean | undefined;
+                    browserName?: string | undefined;
+                    browserVersion?: string | undefined;
+                    platformName?: string | undefined;
+                    proxy?: {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    } | undefined;
+                } & Record<string, any>) | undefined;
+                firstMatch?: ({
+                    acceptInsecureCerts?: boolean | undefined;
+                    browserName?: string | undefined;
+                    browserVersion?: string | undefined;
+                    platformName?: string | undefined;
+                    proxy?: {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    } | undefined;
+                } & Record<string, any>)[] | undefined;
+            };
+        }, {
+            capabilities: {
+                alwaysMatch?: ({
+                    acceptInsecureCerts?: boolean | undefined;
+                    browserName?: string | undefined;
+                    browserVersion?: string | undefined;
+                    platformName?: string | undefined;
+                    proxy?: {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    } | undefined;
+                } & Record<string, any>) | undefined;
+                firstMatch?: ({
+                    acceptInsecureCerts?: boolean | undefined;
+                    browserName?: string | undefined;
+                    browserVersion?: string | undefined;
+                    platformName?: string | undefined;
+                    proxy?: {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    } | undefined;
+                } & Record<string, any>)[] | undefined;
+            };
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            capabilities: {
+                alwaysMatch?: ({
+                    acceptInsecureCerts?: boolean | undefined;
+                    browserName?: string | undefined;
+                    browserVersion?: string | undefined;
+                    platformName?: string | undefined;
+                    proxy?: {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    } | undefined;
+                } & Record<string, any>) | undefined;
+                firstMatch?: ({
+                    acceptInsecureCerts?: boolean | undefined;
+                    browserName?: string | undefined;
+                    browserVersion?: string | undefined;
+                    platformName?: string | undefined;
+                    proxy?: {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    } | undefined;
+                } & Record<string, any>)[] | undefined;
+            };
+        };
+        method: "session.new";
+    }, {
+        params: {
+            capabilities: {
+                alwaysMatch?: ({
+                    acceptInsecureCerts?: boolean | undefined;
+                    browserName?: string | undefined;
+                    browserVersion?: string | undefined;
+                    platformName?: string | undefined;
+                    proxy?: {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    } | undefined;
+                } & Record<string, any>) | undefined;
+                firstMatch?: ({
+                    acceptInsecureCerts?: boolean | undefined;
+                    browserName?: string | undefined;
+                    browserVersion?: string | undefined;
+                    platformName?: string | undefined;
+                    proxy?: {
+                        proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                        proxyAutoconfigUrl?: string | undefined;
+                        ftpProxy?: string | undefined;
+                        httpProxy?: string | undefined;
+                        noProxy?: string[] | undefined;
+                        sslProxy?: string | undefined;
+                        socksProxy?: string | undefined;
+                        socksVersion?: number | undefined;
+                    } | undefined;
+                } & Record<string, any>)[] | undefined;
+            };
+        };
+        method: "session.new";
+    }>>;
+}
+export declare namespace Session {
+    const NewParametersSchema: z.ZodLazy<z.ZodObject<{
+        capabilities: z.ZodLazy<z.ZodObject<{
+            alwaysMatch: z.ZodOptional<z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                acceptInsecureCerts: z.ZodOptional<z.ZodBoolean>;
+                browserName: z.ZodOptional<z.ZodString>;
+                browserVersion: z.ZodOptional<z.ZodString>;
+                platformName: z.ZodOptional<z.ZodString>;
+                proxy: z.ZodOptional<z.ZodObject<{
+                    proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+                    proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+                    ftpProxy: z.ZodOptional<z.ZodString>;
+                    httpProxy: z.ZodOptional<z.ZodString>;
+                    noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+                    sslProxy: z.ZodOptional<z.ZodString>;
+                    socksProxy: z.ZodOptional<z.ZodString>;
+                    socksVersion: z.ZodOptional<z.ZodNumber>;
+                }, "strip", z.ZodTypeAny, {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                }, {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                }>>;
+            }, "strip", z.ZodTypeAny, {
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            }, {
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>>;
+            firstMatch: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                acceptInsecureCerts: z.ZodOptional<z.ZodBoolean>;
+                browserName: z.ZodOptional<z.ZodString>;
+                browserVersion: z.ZodOptional<z.ZodString>;
+                platformName: z.ZodOptional<z.ZodString>;
+                proxy: z.ZodOptional<z.ZodObject<{
+                    proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+                    proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+                    ftpProxy: z.ZodOptional<z.ZodString>;
+                    httpProxy: z.ZodOptional<z.ZodString>;
+                    noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+                    sslProxy: z.ZodOptional<z.ZodString>;
+                    socksProxy: z.ZodOptional<z.ZodString>;
+                    socksVersion: z.ZodOptional<z.ZodNumber>;
+                }, "strip", z.ZodTypeAny, {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                }, {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                }>>;
+            }, "strip", z.ZodTypeAny, {
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            }, {
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>, "many">>;
+        }, "strip", z.ZodTypeAny, {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        }, {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        capabilities: {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        };
+    }, {
+        capabilities: {
+            alwaysMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>) | undefined;
+            firstMatch?: ({
+                acceptInsecureCerts?: boolean | undefined;
+                browserName?: string | undefined;
+                browserVersion?: string | undefined;
+                platformName?: string | undefined;
+                proxy?: {
+                    proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                    proxyAutoconfigUrl?: string | undefined;
+                    ftpProxy?: string | undefined;
+                    httpProxy?: string | undefined;
+                    noProxy?: string[] | undefined;
+                    sslProxy?: string | undefined;
+                    socksProxy?: string | undefined;
+                    socksVersion?: number | undefined;
+                } | undefined;
+            } & Record<string, any>)[] | undefined;
+        };
+    }>>;
+}
+export declare namespace Session {
+    const NewResultSchema: z.ZodLazy<z.ZodObject<{
+        sessionId: z.ZodString;
+        capabilities: z.ZodIntersection<z.ZodObject<{
+            acceptInsecureCerts: z.ZodBoolean;
+            browserName: z.ZodString;
+            browserVersion: z.ZodString;
+            platformName: z.ZodString;
+            proxy: z.ZodObject<{
+                proxyType: z.ZodOptional<z.ZodEnum<["pac", "direct", "autodetect", "system", "manual"]>>;
+                proxyAutoconfigUrl: z.ZodOptional<z.ZodString>;
+                ftpProxy: z.ZodOptional<z.ZodString>;
+                httpProxy: z.ZodOptional<z.ZodString>;
+                noProxy: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
+                sslProxy: z.ZodOptional<z.ZodString>;
+                socksProxy: z.ZodOptional<z.ZodString>;
+                socksVersion: z.ZodOptional<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            }, {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            }>;
+            setWindowRect: z.ZodBoolean;
+        }, "strip", z.ZodTypeAny, {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        }, {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+    }, "strip", z.ZodTypeAny, {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }, {
+        capabilities: {
+            proxy: {
+                proxyType?: "system" | "pac" | "direct" | "autodetect" | "manual" | undefined;
+                proxyAutoconfigUrl?: string | undefined;
+                ftpProxy?: string | undefined;
+                httpProxy?: string | undefined;
+                noProxy?: string[] | undefined;
+                sslProxy?: string | undefined;
+                socksProxy?: string | undefined;
+                socksVersion?: number | undefined;
+            };
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            setWindowRect: boolean;
+        } & Record<string, any>;
+        sessionId: string;
+    }>>;
+}
+export declare namespace Session {
+    const EndSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"session.end">;
+        params: z.ZodLazy<z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+    }, "strip", z.ZodTypeAny, {
+        params: Record<string, any>;
+        method: "session.end";
+    }, {
+        params: Record<string, any>;
+        method: "session.end";
+    }>>;
+}
+export declare namespace Session {
+    const SubscribeSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"session.subscribe">;
+        params: z.ZodLazy<z.ZodObject<{
+            events: z.ZodArray<z.ZodString, "many">;
+            contexts: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodString>, "many">>;
+        }, "strip", z.ZodTypeAny, {
+            events: string[];
+            contexts?: string[] | undefined;
+        }, {
+            events: string[];
+            contexts?: string[] | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            events: string[];
+            contexts?: string[] | undefined;
+        };
+        method: "session.subscribe";
+    }, {
+        params: {
+            events: string[];
+            contexts?: string[] | undefined;
+        };
+        method: "session.subscribe";
+    }>>;
+}
+export declare namespace Session {
+    const UnsubscribeSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"session.unsubscribe">;
+        params: z.ZodLazy<z.ZodObject<{
+            events: z.ZodArray<z.ZodString, "many">;
+            contexts: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodString>, "many">>;
+        }, "strip", z.ZodTypeAny, {
+            events: string[];
+            contexts?: string[] | undefined;
+        }, {
+            events: string[];
+            contexts?: string[] | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            events: string[];
+            contexts?: string[] | undefined;
+        };
+        method: "session.unsubscribe";
+    }, {
+        params: {
+            events: string[];
+            contexts?: string[] | undefined;
+        };
+        method: "session.unsubscribe";
+    }>>;
+}
+export declare const BrowserCommandSchema: z.ZodLazy<z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browser.close">;
+    params: z.ZodLazy<z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+}, "strip", z.ZodTypeAny, {
+    params: Record<string, any>;
+    method: "browser.close";
+}, {
+    params: Record<string, any>;
+    method: "browser.close";
+}>>>;
+export declare namespace Browser {
+    const CloseSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browser.close">;
+        params: z.ZodLazy<z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>;
+    }, "strip", z.ZodTypeAny, {
+        params: Record<string, any>;
+        method: "browser.close";
+    }, {
+        params: Record<string, any>;
+        method: "browser.close";
+    }>>;
+}
+export declare const BrowsingContextCommandSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.activate">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+    }, {
+        context: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+    };
+    method: "browsingContext.activate";
+}, {
+    params: {
+        context: string;
+    };
+    method: "browsingContext.activate";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.captureScreenshot">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        clip: z.ZodOptional<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"viewport">;
+            x: z.ZodNumber;
+            y: z.ZodNumber;
+            width: z.ZodNumber;
+            height: z.ZodNumber;
+        }, "strip", z.ZodTypeAny, {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        }, {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"element">;
+            element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                sharedId: z.ZodLazy<z.ZodString>;
+                handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+            }, "strip", z.ZodTypeAny, {
+                sharedId: string;
+                handle?: string | undefined;
+            }, {
+                sharedId: string;
+                handle?: string | undefined;
+            }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+            scrollIntoView: z.ZodOptional<z.ZodBoolean>;
+        }, "strip", z.ZodTypeAny, {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        }, {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        }>>]>>>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        clip?: {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        } | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        } | undefined;
+    }, {
+        context: string;
+        clip?: {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        } | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        } | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        clip?: {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        } | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        } | undefined;
+    };
+    method: "browsingContext.captureScreenshot";
+}, {
+    params: {
+        context: string;
+        clip?: {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        } | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        } | undefined;
+    };
+    method: "browsingContext.captureScreenshot";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.close">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+    }, {
+        context: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+    };
+    method: "browsingContext.close";
+}, {
+    params: {
+        context: string;
+    };
+    method: "browsingContext.close";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.create">;
+    params: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLazy<z.ZodEnum<["tab", "window"]>>;
+        referenceContext: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        background: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "window" | "tab";
+        referenceContext?: string | undefined;
+        background?: boolean | undefined;
+    }, {
+        type: "window" | "tab";
+        referenceContext?: string | undefined;
+        background?: boolean | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        type: "window" | "tab";
+        referenceContext?: string | undefined;
+        background?: boolean | undefined;
+    };
+    method: "browsingContext.create";
+}, {
+    params: {
+        type: "window" | "tab";
+        referenceContext?: string | undefined;
+        background?: boolean | undefined;
+    };
+    method: "browsingContext.create";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.getTree">;
+    params: z.ZodLazy<z.ZodObject<{
+        maxDepth: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        root: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+    }, "strip", z.ZodTypeAny, {
+        maxDepth?: number | undefined;
+        root?: string | undefined;
+    }, {
+        maxDepth?: number | undefined;
+        root?: string | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        maxDepth?: number | undefined;
+        root?: string | undefined;
+    };
+    method: "browsingContext.getTree";
+}, {
+    params: {
+        maxDepth?: number | undefined;
+        root?: string | undefined;
+    };
+    method: "browsingContext.getTree";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.handleUserPrompt">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        accept: z.ZodOptional<z.ZodBoolean>;
+        userText: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        accept?: boolean | undefined;
+        userText?: string | undefined;
+    }, {
+        context: string;
+        accept?: boolean | undefined;
+        userText?: string | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        accept?: boolean | undefined;
+        userText?: string | undefined;
+    };
+    method: "browsingContext.handleUserPrompt";
+}, {
+    params: {
+        context: string;
+        accept?: boolean | undefined;
+        userText?: string | undefined;
+    };
+    method: "browsingContext.handleUserPrompt";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.navigate">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        url: z.ZodString;
+        wait: z.ZodOptional<z.ZodLazy<z.ZodEnum<["none", "interactive", "complete"]>>>;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        context: string;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    }, {
+        url: string;
+        context: string;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        context: string;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    };
+    method: "browsingContext.navigate";
+}, {
+    params: {
+        url: string;
+        context: string;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    };
+    method: "browsingContext.navigate";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.print">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        background: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+        margin: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            bottom: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            left: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            right: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            top: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        }, {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        }>>>;
+        orientation: z.ZodOptional<z.ZodDefault<z.ZodEnum<["portrait", "landscape"]>>>;
+        page: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            height: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            width: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            height?: number | undefined;
+            width?: number | undefined;
+        }, {
+            height?: number | undefined;
+            width?: number | undefined;
+        }>>>;
+        pageRanges: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodString]>, "many">>;
+        scale: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        shrinkToFit: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        background?: boolean | undefined;
+        margin?: {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        } | undefined;
+        orientation?: "portrait" | "landscape" | undefined;
+        page?: {
+            height?: number | undefined;
+            width?: number | undefined;
+        } | undefined;
+        pageRanges?: (string | number)[] | undefined;
+        scale?: number | undefined;
+        shrinkToFit?: boolean | undefined;
+    }, {
+        context: string;
+        background?: boolean | undefined;
+        margin?: {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        } | undefined;
+        orientation?: "portrait" | "landscape" | undefined;
+        page?: {
+            height?: number | undefined;
+            width?: number | undefined;
+        } | undefined;
+        pageRanges?: (string | number)[] | undefined;
+        scale?: number | undefined;
+        shrinkToFit?: boolean | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        background?: boolean | undefined;
+        margin?: {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        } | undefined;
+        orientation?: "portrait" | "landscape" | undefined;
+        page?: {
+            height?: number | undefined;
+            width?: number | undefined;
+        } | undefined;
+        pageRanges?: (string | number)[] | undefined;
+        scale?: number | undefined;
+        shrinkToFit?: boolean | undefined;
+    };
+    method: "browsingContext.print";
+}, {
+    params: {
+        context: string;
+        background?: boolean | undefined;
+        margin?: {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        } | undefined;
+        orientation?: "portrait" | "landscape" | undefined;
+        page?: {
+            height?: number | undefined;
+            width?: number | undefined;
+        } | undefined;
+        pageRanges?: (string | number)[] | undefined;
+        scale?: number | undefined;
+        shrinkToFit?: boolean | undefined;
+    };
+    method: "browsingContext.print";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.reload">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        ignoreCache: z.ZodOptional<z.ZodBoolean>;
+        wait: z.ZodOptional<z.ZodLazy<z.ZodEnum<["none", "interactive", "complete"]>>>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        ignoreCache?: boolean | undefined;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    }, {
+        context: string;
+        ignoreCache?: boolean | undefined;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        ignoreCache?: boolean | undefined;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    };
+    method: "browsingContext.reload";
+}, {
+    params: {
+        context: string;
+        ignoreCache?: boolean | undefined;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    };
+    method: "browsingContext.reload";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.setViewport">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        viewport: z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            width: z.ZodLazy<z.ZodNumber>;
+            height: z.ZodLazy<z.ZodNumber>;
+        }, "strip", z.ZodTypeAny, {
+            width: number;
+            height: number;
+        }, {
+            width: number;
+            height: number;
+        }>>, z.ZodNull]>;
+    }, "strip", z.ZodTypeAny, {
+        viewport: {
+            width: number;
+            height: number;
+        } | null;
+        context: string;
+    }, {
+        viewport: {
+            width: number;
+            height: number;
+        } | null;
+        context: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        viewport: {
+            width: number;
+            height: number;
+        } | null;
+        context: string;
+    };
+    method: "browsingContext.setViewport";
+}, {
+    params: {
+        viewport: {
+            width: number;
+            height: number;
+        } | null;
+        context: string;
+    };
+    method: "browsingContext.setViewport";
+}>>]>>;
+export declare const BrowsingContextResultSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    data: z.ZodString;
+}, "strip", z.ZodTypeAny, {
+    data: string;
+}, {
+    data: string;
+}>>, z.ZodLazy<z.ZodObject<{
+    context: z.ZodLazy<z.ZodString>;
+}, "strip", z.ZodTypeAny, {
+    context: string;
+}, {
+    context: string;
+}>>, z.ZodLazy<z.ZodObject<{
+    contexts: any;
+}, "strip", z.ZodTypeAny, {
+    contexts?: any;
+}, {
+    contexts?: any;
+}>>, z.ZodLazy<z.ZodObject<{
+    navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+    url: z.ZodString;
+}, "strip", z.ZodTypeAny, {
+    url: string;
+    navigation: string | null;
+}, {
+    url: string;
+    navigation: string | null;
+}>>, z.ZodLazy<z.ZodObject<{
+    data: z.ZodString;
+}, "strip", z.ZodTypeAny, {
+    data: string;
+}, {
+    data: string;
+}>>]>>;
+export declare const BrowsingContextEventSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.contextCreated">;
+    params: any;
+}, "strip", z.ZodTypeAny, {
+    method: "browsingContext.contextCreated";
+    params?: any;
+}, {
+    method: "browsingContext.contextCreated";
+    params?: any;
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.contextDestroyed">;
+    params: any;
+}, "strip", z.ZodTypeAny, {
+    method: "browsingContext.contextDestroyed";
+    params?: any;
+}, {
+    method: "browsingContext.contextDestroyed";
+    params?: any;
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.navigationStarted">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationStarted";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationStarted";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.fragmentNavigated">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.fragmentNavigated";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.fragmentNavigated";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.domContentLoaded">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.domContentLoaded";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.domContentLoaded";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.load">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.load";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.load";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.downloadWillBegin">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.downloadWillBegin";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.downloadWillBegin";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.navigationAborted">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationAborted";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationAborted";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.navigationFailed">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationFailed";
+}, {
+    params: {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    };
+    method: "browsingContext.navigationFailed";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.userPromptClosed">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        accepted: z.ZodBoolean;
+        userText: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    }, {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    };
+    method: "browsingContext.userPromptClosed";
+}, {
+    params: {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    };
+    method: "browsingContext.userPromptClosed";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"browsingContext.userPromptOpened">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        type: z.ZodEnum<["alert", "confirm", "prompt", "beforeunload"]>;
+        message: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    }, {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    };
+    method: "browsingContext.userPromptOpened";
+}, {
+    params: {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    };
+    method: "browsingContext.userPromptOpened";
+}>>]>>;
+export declare namespace BrowsingContext {
+    const BrowsingContextSchema: z.ZodLazy<z.ZodString>;
+}
+export declare namespace BrowsingContext {
+    const InfoListSchema: any;
+}
+export declare namespace BrowsingContext {
+    const InfoSchema: any;
+}
+export declare namespace BrowsingContext {
+    const NavigationSchema: z.ZodLazy<z.ZodString>;
+}
+export declare namespace BrowsingContext {
+    const NavigationInfoSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }, {
+        url: string;
+        navigation: string | null;
+        context: string;
+        timestamp: number;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const ReadinessStateSchema: z.ZodLazy<z.ZodEnum<["none", "interactive", "complete"]>>;
+}
+export declare namespace BrowsingContext {
+    const ActivateSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.activate">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+        }, {
+            context: string;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            context: string;
+        };
+        method: "browsingContext.activate";
+    }, {
+        params: {
+            context: string;
+        };
+        method: "browsingContext.activate";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const ActivateParametersSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+    }, {
+        context: string;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const CaptureScreenshotSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.captureScreenshot">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            clip: z.ZodOptional<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"viewport">;
+                x: z.ZodNumber;
+                y: z.ZodNumber;
+                width: z.ZodNumber;
+                height: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                type: "viewport";
+                x: number;
+                y: number;
+                width: number;
+                height: number;
+            }, {
+                type: "viewport";
+                x: number;
+                y: number;
+                width: number;
+                height: number;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"element">;
+                element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                    sharedId: z.ZodLazy<z.ZodString>;
+                    handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+                }, "strip", z.ZodTypeAny, {
+                    sharedId: string;
+                    handle?: string | undefined;
+                }, {
+                    sharedId: string;
+                    handle?: string | undefined;
+                }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+                scrollIntoView: z.ZodOptional<z.ZodBoolean>;
+            }, "strip", z.ZodTypeAny, {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+                scrollIntoView?: boolean | undefined;
+            }, {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+                scrollIntoView?: boolean | undefined;
+            }>>]>>>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            clip?: {
+                type: "viewport";
+                x: number;
+                y: number;
+                width: number;
+                height: number;
+            } | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+                scrollIntoView?: boolean | undefined;
+            } | undefined;
+        }, {
+            context: string;
+            clip?: {
+                type: "viewport";
+                x: number;
+                y: number;
+                width: number;
+                height: number;
+            } | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+                scrollIntoView?: boolean | undefined;
+            } | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            context: string;
+            clip?: {
+                type: "viewport";
+                x: number;
+                y: number;
+                width: number;
+                height: number;
+            } | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+                scrollIntoView?: boolean | undefined;
+            } | undefined;
+        };
+        method: "browsingContext.captureScreenshot";
+    }, {
+        params: {
+            context: string;
+            clip?: {
+                type: "viewport";
+                x: number;
+                y: number;
+                width: number;
+                height: number;
+            } | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+                scrollIntoView?: boolean | undefined;
+            } | undefined;
+        };
+        method: "browsingContext.captureScreenshot";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const CaptureScreenshotParametersSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        clip: z.ZodOptional<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"viewport">;
+            x: z.ZodNumber;
+            y: z.ZodNumber;
+            width: z.ZodNumber;
+            height: z.ZodNumber;
+        }, "strip", z.ZodTypeAny, {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        }, {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"element">;
+            element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                sharedId: z.ZodLazy<z.ZodString>;
+                handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+            }, "strip", z.ZodTypeAny, {
+                sharedId: string;
+                handle?: string | undefined;
+            }, {
+                sharedId: string;
+                handle?: string | undefined;
+            }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+            scrollIntoView: z.ZodOptional<z.ZodBoolean>;
+        }, "strip", z.ZodTypeAny, {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        }, {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        }>>]>>>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        clip?: {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        } | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        } | undefined;
+    }, {
+        context: string;
+        clip?: {
+            type: "viewport";
+            x: number;
+            y: number;
+            width: number;
+            height: number;
+        } | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+            scrollIntoView?: boolean | undefined;
+        } | undefined;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const ClipRectangleSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"viewport">;
+        x: z.ZodNumber;
+        y: z.ZodNumber;
+        width: z.ZodNumber;
+        height: z.ZodNumber;
+    }, "strip", z.ZodTypeAny, {
+        type: "viewport";
+        x: number;
+        y: number;
+        width: number;
+        height: number;
+    }, {
+        type: "viewport";
+        x: number;
+        y: number;
+        width: number;
+        height: number;
+    }>>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"element">;
+        element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            sharedId: z.ZodLazy<z.ZodString>;
+            handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            sharedId: string;
+            handle?: string | undefined;
+        }, {
+            sharedId: string;
+            handle?: string | undefined;
+        }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+        scrollIntoView: z.ZodOptional<z.ZodBoolean>;
+    }, "strip", z.ZodTypeAny, {
+        type: "element";
+        element: {
+            sharedId: string;
+            handle?: string | undefined;
+        } & Record<string, any>;
+        scrollIntoView?: boolean | undefined;
+    }, {
+        type: "element";
+        element: {
+            sharedId: string;
+            handle?: string | undefined;
+        } & Record<string, any>;
+        scrollIntoView?: boolean | undefined;
+    }>>]>>;
+}
+export declare namespace BrowsingContext {
+    const ElementClipRectangleSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"element">;
+        element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            sharedId: z.ZodLazy<z.ZodString>;
+            handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            sharedId: string;
+            handle?: string | undefined;
+        }, {
+            sharedId: string;
+            handle?: string | undefined;
+        }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+        scrollIntoView: z.ZodOptional<z.ZodBoolean>;
+    }, "strip", z.ZodTypeAny, {
+        type: "element";
+        element: {
+            sharedId: string;
+            handle?: string | undefined;
+        } & Record<string, any>;
+        scrollIntoView?: boolean | undefined;
+    }, {
+        type: "element";
+        element: {
+            sharedId: string;
+            handle?: string | undefined;
+        } & Record<string, any>;
+        scrollIntoView?: boolean | undefined;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const BoxClipRectangleSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"viewport">;
+        x: z.ZodNumber;
+        y: z.ZodNumber;
+        width: z.ZodNumber;
+        height: z.ZodNumber;
+    }, "strip", z.ZodTypeAny, {
+        type: "viewport";
+        x: number;
+        y: number;
+        width: number;
+        height: number;
+    }, {
+        type: "viewport";
+        x: number;
+        y: number;
+        width: number;
+        height: number;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const CaptureScreenshotResultSchema: z.ZodLazy<z.ZodObject<{
+        data: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        data: string;
+    }, {
+        data: string;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const CloseSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.close">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+        }, {
+            context: string;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            context: string;
+        };
+        method: "browsingContext.close";
+    }, {
+        params: {
+            context: string;
+        };
+        method: "browsingContext.close";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const CloseParametersSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+    }, {
+        context: string;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const CreateSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.create">;
+        params: z.ZodLazy<z.ZodObject<{
+            type: z.ZodLazy<z.ZodEnum<["tab", "window"]>>;
+            referenceContext: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+            background: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "window" | "tab";
+            referenceContext?: string | undefined;
+            background?: boolean | undefined;
+        }, {
+            type: "window" | "tab";
+            referenceContext?: string | undefined;
+            background?: boolean | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            type: "window" | "tab";
+            referenceContext?: string | undefined;
+            background?: boolean | undefined;
+        };
+        method: "browsingContext.create";
+    }, {
+        params: {
+            type: "window" | "tab";
+            referenceContext?: string | undefined;
+            background?: boolean | undefined;
+        };
+        method: "browsingContext.create";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const CreateTypeSchema: z.ZodLazy<z.ZodEnum<["tab", "window"]>>;
+}
+export declare namespace BrowsingContext {
+    const CreateParametersSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLazy<z.ZodEnum<["tab", "window"]>>;
+        referenceContext: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        background: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "window" | "tab";
+        referenceContext?: string | undefined;
+        background?: boolean | undefined;
+    }, {
+        type: "window" | "tab";
+        referenceContext?: string | undefined;
+        background?: boolean | undefined;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const CreateResultSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+    }, {
+        context: string;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const GetTreeSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.getTree">;
+        params: z.ZodLazy<z.ZodObject<{
+            maxDepth: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            root: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            maxDepth?: number | undefined;
+            root?: string | undefined;
+        }, {
+            maxDepth?: number | undefined;
+            root?: string | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            maxDepth?: number | undefined;
+            root?: string | undefined;
+        };
+        method: "browsingContext.getTree";
+    }, {
+        params: {
+            maxDepth?: number | undefined;
+            root?: string | undefined;
+        };
+        method: "browsingContext.getTree";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const GetTreeParametersSchema: z.ZodLazy<z.ZodObject<{
+        maxDepth: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        root: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+    }, "strip", z.ZodTypeAny, {
+        maxDepth?: number | undefined;
+        root?: string | undefined;
+    }, {
+        maxDepth?: number | undefined;
+        root?: string | undefined;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const GetTreeResultSchema: z.ZodLazy<z.ZodObject<{
+        contexts: any;
+    }, "strip", z.ZodTypeAny, {
+        contexts?: any;
+    }, {
+        contexts?: any;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const HandleUserPromptSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.handleUserPrompt">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            accept: z.ZodOptional<z.ZodBoolean>;
+            userText: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            accept?: boolean | undefined;
+            userText?: string | undefined;
+        }, {
+            context: string;
+            accept?: boolean | undefined;
+            userText?: string | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            context: string;
+            accept?: boolean | undefined;
+            userText?: string | undefined;
+        };
+        method: "browsingContext.handleUserPrompt";
+    }, {
+        params: {
+            context: string;
+            accept?: boolean | undefined;
+            userText?: string | undefined;
+        };
+        method: "browsingContext.handleUserPrompt";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const HandleUserPromptParametersSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        accept: z.ZodOptional<z.ZodBoolean>;
+        userText: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        accept?: boolean | undefined;
+        userText?: string | undefined;
+    }, {
+        context: string;
+        accept?: boolean | undefined;
+        userText?: string | undefined;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const NavigateSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.navigate">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            wait: z.ZodOptional<z.ZodLazy<z.ZodEnum<["none", "interactive", "complete"]>>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            context: string;
+            wait?: "none" | "interactive" | "complete" | undefined;
+        }, {
+            url: string;
+            context: string;
+            wait?: "none" | "interactive" | "complete" | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            url: string;
+            context: string;
+            wait?: "none" | "interactive" | "complete" | undefined;
+        };
+        method: "browsingContext.navigate";
+    }, {
+        params: {
+            url: string;
+            context: string;
+            wait?: "none" | "interactive" | "complete" | undefined;
+        };
+        method: "browsingContext.navigate";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const NavigateParametersSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        url: z.ZodString;
+        wait: z.ZodOptional<z.ZodLazy<z.ZodEnum<["none", "interactive", "complete"]>>>;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        context: string;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    }, {
+        url: string;
+        context: string;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const NavigateResultSchema: z.ZodLazy<z.ZodObject<{
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        navigation: string | null;
+    }, {
+        url: string;
+        navigation: string | null;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const PrintSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.print">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            background: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+            margin: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                bottom: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                left: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                right: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                top: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                bottom?: number | undefined;
+                left?: number | undefined;
+                right?: number | undefined;
+                top?: number | undefined;
+            }, {
+                bottom?: number | undefined;
+                left?: number | undefined;
+                right?: number | undefined;
+                top?: number | undefined;
+            }>>>;
+            orientation: z.ZodOptional<z.ZodDefault<z.ZodEnum<["portrait", "landscape"]>>>;
+            page: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                height: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                width: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                height?: number | undefined;
+                width?: number | undefined;
+            }, {
+                height?: number | undefined;
+                width?: number | undefined;
+            }>>>;
+            pageRanges: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodString]>, "many">>;
+            scale: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            shrinkToFit: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            background?: boolean | undefined;
+            margin?: {
+                bottom?: number | undefined;
+                left?: number | undefined;
+                right?: number | undefined;
+                top?: number | undefined;
+            } | undefined;
+            orientation?: "portrait" | "landscape" | undefined;
+            page?: {
+                height?: number | undefined;
+                width?: number | undefined;
+            } | undefined;
+            pageRanges?: (string | number)[] | undefined;
+            scale?: number | undefined;
+            shrinkToFit?: boolean | undefined;
+        }, {
+            context: string;
+            background?: boolean | undefined;
+            margin?: {
+                bottom?: number | undefined;
+                left?: number | undefined;
+                right?: number | undefined;
+                top?: number | undefined;
+            } | undefined;
+            orientation?: "portrait" | "landscape" | undefined;
+            page?: {
+                height?: number | undefined;
+                width?: number | undefined;
+            } | undefined;
+            pageRanges?: (string | number)[] | undefined;
+            scale?: number | undefined;
+            shrinkToFit?: boolean | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            context: string;
+            background?: boolean | undefined;
+            margin?: {
+                bottom?: number | undefined;
+                left?: number | undefined;
+                right?: number | undefined;
+                top?: number | undefined;
+            } | undefined;
+            orientation?: "portrait" | "landscape" | undefined;
+            page?: {
+                height?: number | undefined;
+                width?: number | undefined;
+            } | undefined;
+            pageRanges?: (string | number)[] | undefined;
+            scale?: number | undefined;
+            shrinkToFit?: boolean | undefined;
+        };
+        method: "browsingContext.print";
+    }, {
+        params: {
+            context: string;
+            background?: boolean | undefined;
+            margin?: {
+                bottom?: number | undefined;
+                left?: number | undefined;
+                right?: number | undefined;
+                top?: number | undefined;
+            } | undefined;
+            orientation?: "portrait" | "landscape" | undefined;
+            page?: {
+                height?: number | undefined;
+                width?: number | undefined;
+            } | undefined;
+            pageRanges?: (string | number)[] | undefined;
+            scale?: number | undefined;
+            shrinkToFit?: boolean | undefined;
+        };
+        method: "browsingContext.print";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const PrintParametersSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        background: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+        margin: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            bottom: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            left: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            right: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            top: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        }, {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        }>>>;
+        orientation: z.ZodOptional<z.ZodDefault<z.ZodEnum<["portrait", "landscape"]>>>;
+        page: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            height: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            width: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            height?: number | undefined;
+            width?: number | undefined;
+        }, {
+            height?: number | undefined;
+            width?: number | undefined;
+        }>>>;
+        pageRanges: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodString]>, "many">>;
+        scale: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        shrinkToFit: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        background?: boolean | undefined;
+        margin?: {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        } | undefined;
+        orientation?: "portrait" | "landscape" | undefined;
+        page?: {
+            height?: number | undefined;
+            width?: number | undefined;
+        } | undefined;
+        pageRanges?: (string | number)[] | undefined;
+        scale?: number | undefined;
+        shrinkToFit?: boolean | undefined;
+    }, {
+        context: string;
+        background?: boolean | undefined;
+        margin?: {
+            bottom?: number | undefined;
+            left?: number | undefined;
+            right?: number | undefined;
+            top?: number | undefined;
+        } | undefined;
+        orientation?: "portrait" | "landscape" | undefined;
+        page?: {
+            height?: number | undefined;
+            width?: number | undefined;
+        } | undefined;
+        pageRanges?: (string | number)[] | undefined;
+        scale?: number | undefined;
+        shrinkToFit?: boolean | undefined;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const PrintMarginParametersSchema: z.ZodLazy<z.ZodObject<{
+        bottom: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        left: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        right: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        top: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        bottom?: number | undefined;
+        left?: number | undefined;
+        right?: number | undefined;
+        top?: number | undefined;
+    }, {
+        bottom?: number | undefined;
+        left?: number | undefined;
+        right?: number | undefined;
+        top?: number | undefined;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const PrintPageParametersSchema: z.ZodLazy<z.ZodObject<{
+        height: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        width: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        height?: number | undefined;
+        width?: number | undefined;
+    }, {
+        height?: number | undefined;
+        width?: number | undefined;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const PrintResultSchema: z.ZodLazy<z.ZodObject<{
+        data: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        data: string;
+    }, {
+        data: string;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const ReloadSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.reload">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            ignoreCache: z.ZodOptional<z.ZodBoolean>;
+            wait: z.ZodOptional<z.ZodLazy<z.ZodEnum<["none", "interactive", "complete"]>>>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            ignoreCache?: boolean | undefined;
+            wait?: "none" | "interactive" | "complete" | undefined;
+        }, {
+            context: string;
+            ignoreCache?: boolean | undefined;
+            wait?: "none" | "interactive" | "complete" | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            context: string;
+            ignoreCache?: boolean | undefined;
+            wait?: "none" | "interactive" | "complete" | undefined;
+        };
+        method: "browsingContext.reload";
+    }, {
+        params: {
+            context: string;
+            ignoreCache?: boolean | undefined;
+            wait?: "none" | "interactive" | "complete" | undefined;
+        };
+        method: "browsingContext.reload";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const ReloadParametersSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        ignoreCache: z.ZodOptional<z.ZodBoolean>;
+        wait: z.ZodOptional<z.ZodLazy<z.ZodEnum<["none", "interactive", "complete"]>>>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        ignoreCache?: boolean | undefined;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    }, {
+        context: string;
+        ignoreCache?: boolean | undefined;
+        wait?: "none" | "interactive" | "complete" | undefined;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const SetViewportSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.setViewport">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            viewport: z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                width: z.ZodLazy<z.ZodNumber>;
+                height: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                width: number;
+                height: number;
+            }, {
+                width: number;
+                height: number;
+            }>>, z.ZodNull]>;
+        }, "strip", z.ZodTypeAny, {
+            viewport: {
+                width: number;
+                height: number;
+            } | null;
+            context: string;
+        }, {
+            viewport: {
+                width: number;
+                height: number;
+            } | null;
+            context: string;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            viewport: {
+                width: number;
+                height: number;
+            } | null;
+            context: string;
+        };
+        method: "browsingContext.setViewport";
+    }, {
+        params: {
+            viewport: {
+                width: number;
+                height: number;
+            } | null;
+            context: string;
+        };
+        method: "browsingContext.setViewport";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const SetViewportParametersSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        viewport: z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            width: z.ZodLazy<z.ZodNumber>;
+            height: z.ZodLazy<z.ZodNumber>;
+        }, "strip", z.ZodTypeAny, {
+            width: number;
+            height: number;
+        }, {
+            width: number;
+            height: number;
+        }>>, z.ZodNull]>;
+    }, "strip", z.ZodTypeAny, {
+        viewport: {
+            width: number;
+            height: number;
+        } | null;
+        context: string;
+    }, {
+        viewport: {
+            width: number;
+            height: number;
+        } | null;
+        context: string;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const ViewportSchema: z.ZodLazy<z.ZodObject<{
+        width: z.ZodLazy<z.ZodNumber>;
+        height: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        width: number;
+        height: number;
+    }, {
+        width: number;
+        height: number;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const ContextCreatedSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.contextCreated">;
+        params: any;
+    }, "strip", z.ZodTypeAny, {
+        method: "browsingContext.contextCreated";
+        params?: any;
+    }, {
+        method: "browsingContext.contextCreated";
+        params?: any;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const ContextDestroyedSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.contextDestroyed">;
+        params: any;
+    }, "strip", z.ZodTypeAny, {
+        method: "browsingContext.contextDestroyed";
+        params?: any;
+    }, {
+        method: "browsingContext.contextDestroyed";
+        params?: any;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const NavigationStartedSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.navigationStarted">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+            timestamp: z.ZodLazy<z.ZodNumber>;
+            url: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        }, {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        };
+        method: "browsingContext.navigationStarted";
+    }, {
+        params: {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        };
+        method: "browsingContext.navigationStarted";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const FragmentNavigatedSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.fragmentNavigated">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+            timestamp: z.ZodLazy<z.ZodNumber>;
+            url: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        }, {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        };
+        method: "browsingContext.fragmentNavigated";
+    }, {
+        params: {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        };
+        method: "browsingContext.fragmentNavigated";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const DomContentLoadedSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.domContentLoaded">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+            timestamp: z.ZodLazy<z.ZodNumber>;
+            url: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        }, {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        };
+        method: "browsingContext.domContentLoaded";
+    }, {
+        params: {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        };
+        method: "browsingContext.domContentLoaded";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const LoadSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.load">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+            timestamp: z.ZodLazy<z.ZodNumber>;
+            url: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        }, {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        };
+        method: "browsingContext.load";
+    }, {
+        params: {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        };
+        method: "browsingContext.load";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const DownloadWillBeginSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.downloadWillBegin">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+            timestamp: z.ZodLazy<z.ZodNumber>;
+            url: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        }, {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        };
+        method: "browsingContext.downloadWillBegin";
+    }, {
+        params: {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        };
+        method: "browsingContext.downloadWillBegin";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const NavigationAbortedSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.navigationAborted">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+            timestamp: z.ZodLazy<z.ZodNumber>;
+            url: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        }, {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        };
+        method: "browsingContext.navigationAborted";
+    }, {
+        params: {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        };
+        method: "browsingContext.navigationAborted";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const NavigationFailedSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.navigationFailed">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+            timestamp: z.ZodLazy<z.ZodNumber>;
+            url: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        }, {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        };
+        method: "browsingContext.navigationFailed";
+    }, {
+        params: {
+            url: string;
+            navigation: string | null;
+            context: string;
+            timestamp: number;
+        };
+        method: "browsingContext.navigationFailed";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const UserPromptClosedSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.userPromptClosed">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            accepted: z.ZodBoolean;
+            userText: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            accepted: boolean;
+            userText?: string | undefined;
+        }, {
+            context: string;
+            accepted: boolean;
+            userText?: string | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            context: string;
+            accepted: boolean;
+            userText?: string | undefined;
+        };
+        method: "browsingContext.userPromptClosed";
+    }, {
+        params: {
+            context: string;
+            accepted: boolean;
+            userText?: string | undefined;
+        };
+        method: "browsingContext.userPromptClosed";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const UserPromptClosedParametersSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        accepted: z.ZodBoolean;
+        userText: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    }, {
+        context: string;
+        accepted: boolean;
+        userText?: string | undefined;
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const UserPromptOpenedSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"browsingContext.userPromptOpened">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            type: z.ZodEnum<["alert", "confirm", "prompt", "beforeunload"]>;
+            message: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            message: string;
+            type: "prompt" | "alert" | "confirm" | "beforeunload";
+            context: string;
+        }, {
+            message: string;
+            type: "prompt" | "alert" | "confirm" | "beforeunload";
+            context: string;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            message: string;
+            type: "prompt" | "alert" | "confirm" | "beforeunload";
+            context: string;
+        };
+        method: "browsingContext.userPromptOpened";
+    }, {
+        params: {
+            message: string;
+            type: "prompt" | "alert" | "confirm" | "beforeunload";
+            context: string;
+        };
+        method: "browsingContext.userPromptOpened";
+    }>>;
+}
+export declare namespace BrowsingContext {
+    const UserPromptOpenedParametersSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        type: z.ZodEnum<["alert", "confirm", "prompt", "beforeunload"]>;
+        message: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    }, {
+        message: string;
+        type: "prompt" | "alert" | "confirm" | "beforeunload";
+        context: string;
+    }>>;
+}
+export declare const NetworkCommandSchema: z.ZodLazy<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
+export declare const NetworkResultSchema: z.ZodLazy<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
+export declare const NetworkEventSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"network.beforeRequestSent">;
+    params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        initiator: z.ZodLazy<z.ZodObject<{
+            type: z.ZodEnum<["parser", "script", "preflight", "other"]>;
+            columnNumber: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            lineNumber: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    columnNumber: z.ZodLazy<z.ZodNumber>;
+                    functionName: z.ZodString;
+                    lineNumber: z.ZodLazy<z.ZodNumber>;
+                    url: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }>>, "many">;
+            }, "strip", z.ZodTypeAny, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }>>>;
+            request: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        }, {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    }, {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    }>>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    };
+    method: "network.beforeRequestSent";
+}, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    };
+    method: "network.beforeRequestSent";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"network.fetchError">;
+    params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        errorText: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        errorText: string;
+    }, {
+        errorText: string;
+    }>>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        errorText: string;
+    };
+    method: "network.fetchError";
+}, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        errorText: string;
+    };
+    method: "network.fetchError";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"network.responseStarted">;
+    params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        response: z.ZodLazy<z.ZodObject<{
+            url: z.ZodString;
+            protocol: z.ZodString;
+            status: z.ZodLazy<z.ZodNumber>;
+            statusText: z.ZodString;
+            fromCache: z.ZodBoolean;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            mimeType: z.ZodString;
+            bytesReceived: z.ZodLazy<z.ZodNumber>;
+            headersSize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            content: z.ZodLazy<z.ZodObject<{
+                size: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                size: number;
+            }, {
+                size: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }>>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    };
+    method: "network.responseStarted";
+}, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    };
+    method: "network.responseStarted";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"network.responseCompleted">;
+    params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        response: z.ZodLazy<z.ZodObject<{
+            url: z.ZodString;
+            protocol: z.ZodString;
+            status: z.ZodLazy<z.ZodNumber>;
+            statusText: z.ZodString;
+            fromCache: z.ZodBoolean;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            mimeType: z.ZodString;
+            bytesReceived: z.ZodLazy<z.ZodNumber>;
+            headersSize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            content: z.ZodLazy<z.ZodObject<{
+                size: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                size: number;
+            }, {
+                size: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }>>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    };
+    method: "network.responseCompleted";
+}, {
+    params: {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    } & {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    };
+    method: "network.responseCompleted";
+}>>]>>;
+export declare namespace Network {
+    const BaseParametersSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>;
+}
+export declare namespace Network {
+    const BytesValueSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"string">;
+        value: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: "string";
+        value: string;
+    }, {
+        type: "string";
+        value: string;
+    }>>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"base64">;
+        value: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: "base64";
+        value: string;
+    }, {
+        type: "base64";
+        value: string;
+    }>>]>>;
+}
+export declare namespace Network {
+    const StringValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"string">;
+        value: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: "string";
+        value: string;
+    }, {
+        type: "string";
+        value: string;
+    }>>;
+}
+export declare namespace Network {
+    const Base64ValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"base64">;
+        value: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: "base64";
+        value: string;
+    }, {
+        type: "base64";
+        value: string;
+    }>>;
+}
+export declare namespace Network {
+    const CookieSchema: z.ZodLazy<z.ZodObject<{
+        name: z.ZodString;
+        value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"string">;
+            value: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            type: "string";
+            value: string;
+        }, {
+            type: "string";
+            value: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"base64">;
+            value: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            type: "base64";
+            value: string;
+        }, {
+            type: "base64";
+            value: string;
+        }>>]>>;
+        domain: z.ZodString;
+        path: z.ZodString;
+        expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        size: z.ZodLazy<z.ZodNumber>;
+        httpOnly: z.ZodBoolean;
+        secure: z.ZodBoolean;
+        sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+    }, "strip", z.ZodTypeAny, {
+        path: string;
+        value: {
+            type: "string";
+            value: string;
+        } | {
+            type: "base64";
+            value: string;
+        };
+        size: number;
+        secure: boolean;
+        name: string;
+        domain: string;
+        httpOnly: boolean;
+        sameSite: "strict" | "none" | "lax";
+        expires?: number | undefined;
+    }, {
+        path: string;
+        value: {
+            type: "string";
+            value: string;
+        } | {
+            type: "base64";
+            value: string;
+        };
+        size: number;
+        secure: boolean;
+        name: string;
+        domain: string;
+        httpOnly: boolean;
+        sameSite: "strict" | "none" | "lax";
+        expires?: number | undefined;
+    }>>;
+}
+export declare namespace Network {
+    const FetchTimingInfoSchema: z.ZodLazy<z.ZodObject<{
+        timeOrigin: z.ZodNumber;
+        requestTime: z.ZodNumber;
+        redirectStart: z.ZodNumber;
+        redirectEnd: z.ZodNumber;
+        fetchStart: z.ZodNumber;
+        dnsStart: z.ZodNumber;
+        dnsEnd: z.ZodNumber;
+        connectStart: z.ZodNumber;
+        connectEnd: z.ZodNumber;
+        tlsStart: z.ZodNumber;
+        requestStart: z.ZodNumber;
+        responseStart: z.ZodNumber;
+        responseEnd: z.ZodNumber;
+    }, "strip", z.ZodTypeAny, {
+        timeOrigin: number;
+        requestTime: number;
+        redirectStart: number;
+        redirectEnd: number;
+        fetchStart: number;
+        dnsStart: number;
+        dnsEnd: number;
+        connectStart: number;
+        connectEnd: number;
+        tlsStart: number;
+        requestStart: number;
+        responseStart: number;
+        responseEnd: number;
+    }, {
+        timeOrigin: number;
+        requestTime: number;
+        redirectStart: number;
+        redirectEnd: number;
+        fetchStart: number;
+        dnsStart: number;
+        dnsEnd: number;
+        connectStart: number;
+        connectEnd: number;
+        tlsStart: number;
+        requestStart: number;
+        responseStart: number;
+        responseEnd: number;
+    }>>;
+}
+export declare namespace Network {
+    const HeaderSchema: z.ZodLazy<z.ZodObject<{
+        name: z.ZodString;
+        value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"string">;
+            value: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            type: "string";
+            value: string;
+        }, {
+            type: "string";
+            value: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"base64">;
+            value: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            type: "base64";
+            value: string;
+        }, {
+            type: "base64";
+            value: string;
+        }>>]>>;
+    }, "strip", z.ZodTypeAny, {
+        value: {
+            type: "string";
+            value: string;
+        } | {
+            type: "base64";
+            value: string;
+        };
+        name: string;
+    }, {
+        value: {
+            type: "string";
+            value: string;
+        } | {
+            type: "base64";
+            value: string;
+        };
+        name: string;
+    }>>;
+}
+export declare namespace Network {
+    const InitiatorSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodEnum<["parser", "script", "preflight", "other"]>;
+        columnNumber: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        lineNumber: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+        request: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "other" | "script" | "parser" | "preflight";
+        columnNumber?: number | undefined;
+        lineNumber?: number | undefined;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+        request?: string | undefined;
+    }, {
+        type: "other" | "script" | "parser" | "preflight";
+        columnNumber?: number | undefined;
+        lineNumber?: number | undefined;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+        request?: string | undefined;
+    }>>;
+}
+export declare namespace Network {
+    const RequestSchema: z.ZodLazy<z.ZodString>;
+}
+export declare namespace Network {
+    const RequestDataSchema: z.ZodLazy<z.ZodObject<{
+        request: z.ZodLazy<z.ZodString>;
+        url: z.ZodString;
+        method: z.ZodString;
+        headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+            name: z.ZodString;
+            value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"string">;
+                value: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                type: "string";
+                value: string;
+            }, {
+                type: "string";
+                value: string;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"base64">;
+                value: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                type: "base64";
+                value: string;
+            }, {
+                type: "base64";
+                value: string;
+            }>>]>>;
+        }, "strip", z.ZodTypeAny, {
+            value: {
+                type: "string";
+                value: string;
+            } | {
+                type: "base64";
+                value: string;
+            };
+            name: string;
+        }, {
+            value: {
+                type: "string";
+                value: string;
+            } | {
+                type: "base64";
+                value: string;
+            };
+            name: string;
+        }>>, "many">;
+        cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+            name: z.ZodString;
+            value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"string">;
+                value: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                type: "string";
+                value: string;
+            }, {
+                type: "string";
+                value: string;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"base64">;
+                value: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                type: "base64";
+                value: string;
+            }, {
+                type: "base64";
+                value: string;
+            }>>]>>;
+            domain: z.ZodString;
+            path: z.ZodString;
+            expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            size: z.ZodLazy<z.ZodNumber>;
+            httpOnly: z.ZodBoolean;
+            secure: z.ZodBoolean;
+            sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+        }, "strip", z.ZodTypeAny, {
+            path: string;
+            value: {
+                type: "string";
+                value: string;
+            } | {
+                type: "base64";
+                value: string;
+            };
+            size: number;
+            secure: boolean;
+            name: string;
+            domain: string;
+            httpOnly: boolean;
+            sameSite: "strict" | "none" | "lax";
+            expires?: number | undefined;
+        }, {
+            path: string;
+            value: {
+                type: "string";
+                value: string;
+            } | {
+                type: "base64";
+                value: string;
+            };
+            size: number;
+            secure: boolean;
+            name: string;
+            domain: string;
+            httpOnly: boolean;
+            sameSite: "strict" | "none" | "lax";
+            expires?: number | undefined;
+        }>>, "many">;
+        headersSize: z.ZodLazy<z.ZodNumber>;
+        bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+        timings: z.ZodLazy<z.ZodObject<{
+            timeOrigin: z.ZodNumber;
+            requestTime: z.ZodNumber;
+            redirectStart: z.ZodNumber;
+            redirectEnd: z.ZodNumber;
+            fetchStart: z.ZodNumber;
+            dnsStart: z.ZodNumber;
+            dnsEnd: z.ZodNumber;
+            connectStart: z.ZodNumber;
+            connectEnd: z.ZodNumber;
+            tlsStart: z.ZodNumber;
+            requestStart: z.ZodNumber;
+            responseStart: z.ZodNumber;
+            responseEnd: z.ZodNumber;
+        }, "strip", z.ZodTypeAny, {
+            timeOrigin: number;
+            requestTime: number;
+            redirectStart: number;
+            redirectEnd: number;
+            fetchStart: number;
+            dnsStart: number;
+            dnsEnd: number;
+            connectStart: number;
+            connectEnd: number;
+            tlsStart: number;
+            requestStart: number;
+            responseStart: number;
+            responseEnd: number;
+        }, {
+            timeOrigin: number;
+            requestTime: number;
+            redirectStart: number;
+            redirectEnd: number;
+            fetchStart: number;
+            dnsStart: number;
+            dnsEnd: number;
+            connectStart: number;
+            connectEnd: number;
+            tlsStart: number;
+            requestStart: number;
+            responseStart: number;
+            responseEnd: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        cookies: {
+            path: string;
+            value: {
+                type: "string";
+                value: string;
+            } | {
+                type: "base64";
+                value: string;
+            };
+            size: number;
+            secure: boolean;
+            name: string;
+            domain: string;
+            httpOnly: boolean;
+            sameSite: "strict" | "none" | "lax";
+            expires?: number | undefined;
+        }[];
+        method: string;
+        request: string;
+        headers: {
+            value: {
+                type: "string";
+                value: string;
+            } | {
+                type: "base64";
+                value: string;
+            };
+            name: string;
+        }[];
+        headersSize: number;
+        bodySize: number | null;
+        timings: {
+            timeOrigin: number;
+            requestTime: number;
+            redirectStart: number;
+            redirectEnd: number;
+            fetchStart: number;
+            dnsStart: number;
+            dnsEnd: number;
+            connectStart: number;
+            connectEnd: number;
+            tlsStart: number;
+            requestStart: number;
+            responseStart: number;
+            responseEnd: number;
+        };
+    }, {
+        url: string;
+        cookies: {
+            path: string;
+            value: {
+                type: "string";
+                value: string;
+            } | {
+                type: "base64";
+                value: string;
+            };
+            size: number;
+            secure: boolean;
+            name: string;
+            domain: string;
+            httpOnly: boolean;
+            sameSite: "strict" | "none" | "lax";
+            expires?: number | undefined;
+        }[];
+        method: string;
+        request: string;
+        headers: {
+            value: {
+                type: "string";
+                value: string;
+            } | {
+                type: "base64";
+                value: string;
+            };
+            name: string;
+        }[];
+        headersSize: number;
+        bodySize: number | null;
+        timings: {
+            timeOrigin: number;
+            requestTime: number;
+            redirectStart: number;
+            redirectEnd: number;
+            fetchStart: number;
+            dnsStart: number;
+            dnsEnd: number;
+            connectStart: number;
+            connectEnd: number;
+            tlsStart: number;
+            requestStart: number;
+            responseStart: number;
+            responseEnd: number;
+        };
+    }>>;
+}
+export declare namespace Network {
+    const ResponseContentSchema: z.ZodLazy<z.ZodObject<{
+        size: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        size: number;
+    }, {
+        size: number;
+    }>>;
+}
+export declare namespace Network {
+    const ResponseDataSchema: z.ZodLazy<z.ZodObject<{
+        url: z.ZodString;
+        protocol: z.ZodString;
+        status: z.ZodLazy<z.ZodNumber>;
+        statusText: z.ZodString;
+        fromCache: z.ZodBoolean;
+        headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+            name: z.ZodString;
+            value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"string">;
+                value: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                type: "string";
+                value: string;
+            }, {
+                type: "string";
+                value: string;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"base64">;
+                value: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                type: "base64";
+                value: string;
+            }, {
+                type: "base64";
+                value: string;
+            }>>]>>;
+        }, "strip", z.ZodTypeAny, {
+            value: {
+                type: "string";
+                value: string;
+            } | {
+                type: "base64";
+                value: string;
+            };
+            name: string;
+        }, {
+            value: {
+                type: "string";
+                value: string;
+            } | {
+                type: "base64";
+                value: string;
+            };
+            name: string;
+        }>>, "many">;
+        mimeType: z.ZodString;
+        bytesReceived: z.ZodLazy<z.ZodNumber>;
+        headersSize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+        bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+        content: z.ZodLazy<z.ZodObject<{
+            size: z.ZodLazy<z.ZodNumber>;
+        }, "strip", z.ZodTypeAny, {
+            size: number;
+        }, {
+            size: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        status: number;
+        headers: {
+            value: {
+                type: "string";
+                value: string;
+            } | {
+                type: "base64";
+                value: string;
+            };
+            name: string;
+        }[];
+        protocol: string;
+        content: {
+            size: number;
+        };
+        headersSize: number | null;
+        bodySize: number | null;
+        statusText: string;
+        fromCache: boolean;
+        mimeType: string;
+        bytesReceived: number;
+    }, {
+        url: string;
+        status: number;
+        headers: {
+            value: {
+                type: "string";
+                value: string;
+            } | {
+                type: "base64";
+                value: string;
+            };
+            name: string;
+        }[];
+        protocol: string;
+        content: {
+            size: number;
+        };
+        headersSize: number | null;
+        bodySize: number | null;
+        statusText: string;
+        fromCache: boolean;
+        mimeType: string;
+        bytesReceived: number;
+    }>>;
+}
+export declare namespace Network {
+    const BeforeRequestSentSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"network.beforeRequestSent">;
+        params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+            navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+            redirectCount: z.ZodLazy<z.ZodNumber>;
+            request: z.ZodLazy<z.ZodObject<{
+                request: z.ZodLazy<z.ZodString>;
+                url: z.ZodString;
+                method: z.ZodString;
+                headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    name: z.ZodString;
+                    value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"string">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "string";
+                        value: string;
+                    }, {
+                        type: "string";
+                        value: string;
+                    }>>, z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"base64">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "base64";
+                        value: string;
+                    }, {
+                        type: "base64";
+                        value: string;
+                    }>>]>>;
+                }, "strip", z.ZodTypeAny, {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }, {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }>>, "many">;
+                cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    name: z.ZodString;
+                    value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"string">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "string";
+                        value: string;
+                    }, {
+                        type: "string";
+                        value: string;
+                    }>>, z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"base64">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "base64";
+                        value: string;
+                    }, {
+                        type: "base64";
+                        value: string;
+                    }>>]>>;
+                    domain: z.ZodString;
+                    path: z.ZodString;
+                    expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                    size: z.ZodLazy<z.ZodNumber>;
+                    httpOnly: z.ZodBoolean;
+                    secure: z.ZodBoolean;
+                    sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+                }, "strip", z.ZodTypeAny, {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }, {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }>>, "many">;
+                headersSize: z.ZodLazy<z.ZodNumber>;
+                bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+                timings: z.ZodLazy<z.ZodObject<{
+                    timeOrigin: z.ZodNumber;
+                    requestTime: z.ZodNumber;
+                    redirectStart: z.ZodNumber;
+                    redirectEnd: z.ZodNumber;
+                    fetchStart: z.ZodNumber;
+                    dnsStart: z.ZodNumber;
+                    dnsEnd: z.ZodNumber;
+                    connectStart: z.ZodNumber;
+                    connectEnd: z.ZodNumber;
+                    tlsStart: z.ZodNumber;
+                    requestStart: z.ZodNumber;
+                    responseStart: z.ZodNumber;
+                    responseEnd: z.ZodNumber;
+                }, "strip", z.ZodTypeAny, {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                }, {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                }>>;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            }, {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            }>>;
+            timestamp: z.ZodLazy<z.ZodNumber>;
+        }, "strip", z.ZodTypeAny, {
+            navigation: string | null;
+            context: string | null;
+            request: {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            };
+            timestamp: number;
+            redirectCount: number;
+        }, {
+            navigation: string | null;
+            context: string | null;
+            request: {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            };
+            timestamp: number;
+            redirectCount: number;
+        }>>, z.ZodObject<{
+            initiator: z.ZodLazy<z.ZodObject<{
+                type: z.ZodEnum<["parser", "script", "preflight", "other"]>;
+                columnNumber: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                lineNumber: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                    callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                        columnNumber: z.ZodLazy<z.ZodNumber>;
+                        functionName: z.ZodString;
+                        lineNumber: z.ZodLazy<z.ZodNumber>;
+                        url: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        url: string;
+                        columnNumber: number;
+                        lineNumber: number;
+                        functionName: string;
+                    }, {
+                        url: string;
+                        columnNumber: number;
+                        lineNumber: number;
+                        functionName: string;
+                    }>>, "many">;
+                }, "strip", z.ZodTypeAny, {
+                    callFrames: {
+                        url: string;
+                        columnNumber: number;
+                        lineNumber: number;
+                        functionName: string;
+                    }[];
+                }, {
+                    callFrames: {
+                        url: string;
+                        columnNumber: number;
+                        lineNumber: number;
+                        functionName: string;
+                    }[];
+                }>>>;
+                request: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "other" | "script" | "parser" | "preflight";
+                columnNumber?: number | undefined;
+                lineNumber?: number | undefined;
+                stackTrace?: {
+                    callFrames: {
+                        url: string;
+                        columnNumber: number;
+                        lineNumber: number;
+                        functionName: string;
+                    }[];
+                } | undefined;
+                request?: string | undefined;
+            }, {
+                type: "other" | "script" | "parser" | "preflight";
+                columnNumber?: number | undefined;
+                lineNumber?: number | undefined;
+                stackTrace?: {
+                    callFrames: {
+                        url: string;
+                        columnNumber: number;
+                        lineNumber: number;
+                        functionName: string;
+                    }[];
+                } | undefined;
+                request?: string | undefined;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            initiator: {
+                type: "other" | "script" | "parser" | "preflight";
+                columnNumber?: number | undefined;
+                lineNumber?: number | undefined;
+                stackTrace?: {
+                    callFrames: {
+                        url: string;
+                        columnNumber: number;
+                        lineNumber: number;
+                        functionName: string;
+                    }[];
+                } | undefined;
+                request?: string | undefined;
+            };
+        }, {
+            initiator: {
+                type: "other" | "script" | "parser" | "preflight";
+                columnNumber?: number | undefined;
+                lineNumber?: number | undefined;
+                stackTrace?: {
+                    callFrames: {
+                        url: string;
+                        columnNumber: number;
+                        lineNumber: number;
+                        functionName: string;
+                    }[];
+                } | undefined;
+                request?: string | undefined;
+            };
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            navigation: string | null;
+            context: string | null;
+            request: {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            };
+            timestamp: number;
+            redirectCount: number;
+        } & {
+            initiator: {
+                type: "other" | "script" | "parser" | "preflight";
+                columnNumber?: number | undefined;
+                lineNumber?: number | undefined;
+                stackTrace?: {
+                    callFrames: {
+                        url: string;
+                        columnNumber: number;
+                        lineNumber: number;
+                        functionName: string;
+                    }[];
+                } | undefined;
+                request?: string | undefined;
+            };
+        };
+        method: "network.beforeRequestSent";
+    }, {
+        params: {
+            navigation: string | null;
+            context: string | null;
+            request: {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            };
+            timestamp: number;
+            redirectCount: number;
+        } & {
+            initiator: {
+                type: "other" | "script" | "parser" | "preflight";
+                columnNumber?: number | undefined;
+                lineNumber?: number | undefined;
+                stackTrace?: {
+                    callFrames: {
+                        url: string;
+                        columnNumber: number;
+                        lineNumber: number;
+                        functionName: string;
+                    }[];
+                } | undefined;
+                request?: string | undefined;
+            };
+        };
+        method: "network.beforeRequestSent";
+    }>>;
+}
+export declare namespace Network {
+    const BeforeRequestSentParametersSchema: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        initiator: z.ZodLazy<z.ZodObject<{
+            type: z.ZodEnum<["parser", "script", "preflight", "other"]>;
+            columnNumber: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            lineNumber: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    columnNumber: z.ZodLazy<z.ZodNumber>;
+                    functionName: z.ZodString;
+                    lineNumber: z.ZodLazy<z.ZodNumber>;
+                    url: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }>>, "many">;
+            }, "strip", z.ZodTypeAny, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }>>>;
+            request: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        }, {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    }, {
+        initiator: {
+            type: "other" | "script" | "parser" | "preflight";
+            columnNumber?: number | undefined;
+            lineNumber?: number | undefined;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+            request?: string | undefined;
+        };
+    }>>>;
+}
+export declare namespace Network {
+    const FetchErrorSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"network.fetchError">;
+        params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+            navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+            redirectCount: z.ZodLazy<z.ZodNumber>;
+            request: z.ZodLazy<z.ZodObject<{
+                request: z.ZodLazy<z.ZodString>;
+                url: z.ZodString;
+                method: z.ZodString;
+                headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    name: z.ZodString;
+                    value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"string">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "string";
+                        value: string;
+                    }, {
+                        type: "string";
+                        value: string;
+                    }>>, z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"base64">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "base64";
+                        value: string;
+                    }, {
+                        type: "base64";
+                        value: string;
+                    }>>]>>;
+                }, "strip", z.ZodTypeAny, {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }, {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }>>, "many">;
+                cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    name: z.ZodString;
+                    value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"string">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "string";
+                        value: string;
+                    }, {
+                        type: "string";
+                        value: string;
+                    }>>, z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"base64">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "base64";
+                        value: string;
+                    }, {
+                        type: "base64";
+                        value: string;
+                    }>>]>>;
+                    domain: z.ZodString;
+                    path: z.ZodString;
+                    expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                    size: z.ZodLazy<z.ZodNumber>;
+                    httpOnly: z.ZodBoolean;
+                    secure: z.ZodBoolean;
+                    sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+                }, "strip", z.ZodTypeAny, {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }, {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }>>, "many">;
+                headersSize: z.ZodLazy<z.ZodNumber>;
+                bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+                timings: z.ZodLazy<z.ZodObject<{
+                    timeOrigin: z.ZodNumber;
+                    requestTime: z.ZodNumber;
+                    redirectStart: z.ZodNumber;
+                    redirectEnd: z.ZodNumber;
+                    fetchStart: z.ZodNumber;
+                    dnsStart: z.ZodNumber;
+                    dnsEnd: z.ZodNumber;
+                    connectStart: z.ZodNumber;
+                    connectEnd: z.ZodNumber;
+                    tlsStart: z.ZodNumber;
+                    requestStart: z.ZodNumber;
+                    responseStart: z.ZodNumber;
+                    responseEnd: z.ZodNumber;
+                }, "strip", z.ZodTypeAny, {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                }, {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                }>>;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            }, {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            }>>;
+            timestamp: z.ZodLazy<z.ZodNumber>;
+        }, "strip", z.ZodTypeAny, {
+            navigation: string | null;
+            context: string | null;
+            request: {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            };
+            timestamp: number;
+            redirectCount: number;
+        }, {
+            navigation: string | null;
+            context: string | null;
+            request: {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            };
+            timestamp: number;
+            redirectCount: number;
+        }>>, z.ZodObject<{
+            errorText: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            errorText: string;
+        }, {
+            errorText: string;
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            navigation: string | null;
+            context: string | null;
+            request: {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            };
+            timestamp: number;
+            redirectCount: number;
+        } & {
+            errorText: string;
+        };
+        method: "network.fetchError";
+    }, {
+        params: {
+            navigation: string | null;
+            context: string | null;
+            request: {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            };
+            timestamp: number;
+            redirectCount: number;
+        } & {
+            errorText: string;
+        };
+        method: "network.fetchError";
+    }>>;
+}
+export declare namespace Network {
+    const FetchErrorParametersSchema: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        errorText: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        errorText: string;
+    }, {
+        errorText: string;
+    }>>>;
+}
+export declare namespace Network {
+    const ResponseCompletedSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"network.responseCompleted">;
+        params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+            navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+            redirectCount: z.ZodLazy<z.ZodNumber>;
+            request: z.ZodLazy<z.ZodObject<{
+                request: z.ZodLazy<z.ZodString>;
+                url: z.ZodString;
+                method: z.ZodString;
+                headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    name: z.ZodString;
+                    value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"string">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "string";
+                        value: string;
+                    }, {
+                        type: "string";
+                        value: string;
+                    }>>, z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"base64">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "base64";
+                        value: string;
+                    }, {
+                        type: "base64";
+                        value: string;
+                    }>>]>>;
+                }, "strip", z.ZodTypeAny, {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }, {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }>>, "many">;
+                cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    name: z.ZodString;
+                    value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"string">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "string";
+                        value: string;
+                    }, {
+                        type: "string";
+                        value: string;
+                    }>>, z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"base64">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "base64";
+                        value: string;
+                    }, {
+                        type: "base64";
+                        value: string;
+                    }>>]>>;
+                    domain: z.ZodString;
+                    path: z.ZodString;
+                    expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                    size: z.ZodLazy<z.ZodNumber>;
+                    httpOnly: z.ZodBoolean;
+                    secure: z.ZodBoolean;
+                    sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+                }, "strip", z.ZodTypeAny, {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }, {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }>>, "many">;
+                headersSize: z.ZodLazy<z.ZodNumber>;
+                bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+                timings: z.ZodLazy<z.ZodObject<{
+                    timeOrigin: z.ZodNumber;
+                    requestTime: z.ZodNumber;
+                    redirectStart: z.ZodNumber;
+                    redirectEnd: z.ZodNumber;
+                    fetchStart: z.ZodNumber;
+                    dnsStart: z.ZodNumber;
+                    dnsEnd: z.ZodNumber;
+                    connectStart: z.ZodNumber;
+                    connectEnd: z.ZodNumber;
+                    tlsStart: z.ZodNumber;
+                    requestStart: z.ZodNumber;
+                    responseStart: z.ZodNumber;
+                    responseEnd: z.ZodNumber;
+                }, "strip", z.ZodTypeAny, {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                }, {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                }>>;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            }, {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            }>>;
+            timestamp: z.ZodLazy<z.ZodNumber>;
+        }, "strip", z.ZodTypeAny, {
+            navigation: string | null;
+            context: string | null;
+            request: {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            };
+            timestamp: number;
+            redirectCount: number;
+        }, {
+            navigation: string | null;
+            context: string | null;
+            request: {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            };
+            timestamp: number;
+            redirectCount: number;
+        }>>, z.ZodObject<{
+            response: z.ZodLazy<z.ZodObject<{
+                url: z.ZodString;
+                protocol: z.ZodString;
+                status: z.ZodLazy<z.ZodNumber>;
+                statusText: z.ZodString;
+                fromCache: z.ZodBoolean;
+                headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    name: z.ZodString;
+                    value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"string">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "string";
+                        value: string;
+                    }, {
+                        type: "string";
+                        value: string;
+                    }>>, z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"base64">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "base64";
+                        value: string;
+                    }, {
+                        type: "base64";
+                        value: string;
+                    }>>]>>;
+                }, "strip", z.ZodTypeAny, {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }, {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }>>, "many">;
+                mimeType: z.ZodString;
+                bytesReceived: z.ZodLazy<z.ZodNumber>;
+                headersSize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+                bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+                content: z.ZodLazy<z.ZodObject<{
+                    size: z.ZodLazy<z.ZodNumber>;
+                }, "strip", z.ZodTypeAny, {
+                    size: number;
+                }, {
+                    size: number;
+                }>>;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                status: number;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                protocol: string;
+                content: {
+                    size: number;
+                };
+                headersSize: number | null;
+                bodySize: number | null;
+                statusText: string;
+                fromCache: boolean;
+                mimeType: string;
+                bytesReceived: number;
+            }, {
+                url: string;
+                status: number;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                protocol: string;
+                content: {
+                    size: number;
+                };
+                headersSize: number | null;
+                bodySize: number | null;
+                statusText: string;
+                fromCache: boolean;
+                mimeType: string;
+                bytesReceived: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            response: {
+                url: string;
+                status: number;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                protocol: string;
+                content: {
+                    size: number;
+                };
+                headersSize: number | null;
+                bodySize: number | null;
+                statusText: string;
+                fromCache: boolean;
+                mimeType: string;
+                bytesReceived: number;
+            };
+        }, {
+            response: {
+                url: string;
+                status: number;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                protocol: string;
+                content: {
+                    size: number;
+                };
+                headersSize: number | null;
+                bodySize: number | null;
+                statusText: string;
+                fromCache: boolean;
+                mimeType: string;
+                bytesReceived: number;
+            };
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            navigation: string | null;
+            context: string | null;
+            request: {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            };
+            timestamp: number;
+            redirectCount: number;
+        } & {
+            response: {
+                url: string;
+                status: number;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                protocol: string;
+                content: {
+                    size: number;
+                };
+                headersSize: number | null;
+                bodySize: number | null;
+                statusText: string;
+                fromCache: boolean;
+                mimeType: string;
+                bytesReceived: number;
+            };
+        };
+        method: "network.responseCompleted";
+    }, {
+        params: {
+            navigation: string | null;
+            context: string | null;
+            request: {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            };
+            timestamp: number;
+            redirectCount: number;
+        } & {
+            response: {
+                url: string;
+                status: number;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                protocol: string;
+                content: {
+                    size: number;
+                };
+                headersSize: number | null;
+                bodySize: number | null;
+                statusText: string;
+                fromCache: boolean;
+                mimeType: string;
+                bytesReceived: number;
+            };
+        };
+        method: "network.responseCompleted";
+    }>>;
+}
+export declare namespace Network {
+    const ResponseCompletedParametersSchema: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        response: z.ZodLazy<z.ZodObject<{
+            url: z.ZodString;
+            protocol: z.ZodString;
+            status: z.ZodLazy<z.ZodNumber>;
+            statusText: z.ZodString;
+            fromCache: z.ZodBoolean;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            mimeType: z.ZodString;
+            bytesReceived: z.ZodLazy<z.ZodNumber>;
+            headersSize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            content: z.ZodLazy<z.ZodObject<{
+                size: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                size: number;
+            }, {
+                size: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }>>>;
+}
+export declare namespace Network {
+    const ResponseStartedSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"network.responseStarted">;
+        params: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+            navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+            redirectCount: z.ZodLazy<z.ZodNumber>;
+            request: z.ZodLazy<z.ZodObject<{
+                request: z.ZodLazy<z.ZodString>;
+                url: z.ZodString;
+                method: z.ZodString;
+                headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    name: z.ZodString;
+                    value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"string">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "string";
+                        value: string;
+                    }, {
+                        type: "string";
+                        value: string;
+                    }>>, z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"base64">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "base64";
+                        value: string;
+                    }, {
+                        type: "base64";
+                        value: string;
+                    }>>]>>;
+                }, "strip", z.ZodTypeAny, {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }, {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }>>, "many">;
+                cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    name: z.ZodString;
+                    value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"string">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "string";
+                        value: string;
+                    }, {
+                        type: "string";
+                        value: string;
+                    }>>, z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"base64">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "base64";
+                        value: string;
+                    }, {
+                        type: "base64";
+                        value: string;
+                    }>>]>>;
+                    domain: z.ZodString;
+                    path: z.ZodString;
+                    expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                    size: z.ZodLazy<z.ZodNumber>;
+                    httpOnly: z.ZodBoolean;
+                    secure: z.ZodBoolean;
+                    sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+                }, "strip", z.ZodTypeAny, {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }, {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }>>, "many">;
+                headersSize: z.ZodLazy<z.ZodNumber>;
+                bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+                timings: z.ZodLazy<z.ZodObject<{
+                    timeOrigin: z.ZodNumber;
+                    requestTime: z.ZodNumber;
+                    redirectStart: z.ZodNumber;
+                    redirectEnd: z.ZodNumber;
+                    fetchStart: z.ZodNumber;
+                    dnsStart: z.ZodNumber;
+                    dnsEnd: z.ZodNumber;
+                    connectStart: z.ZodNumber;
+                    connectEnd: z.ZodNumber;
+                    tlsStart: z.ZodNumber;
+                    requestStart: z.ZodNumber;
+                    responseStart: z.ZodNumber;
+                    responseEnd: z.ZodNumber;
+                }, "strip", z.ZodTypeAny, {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                }, {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                }>>;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            }, {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            }>>;
+            timestamp: z.ZodLazy<z.ZodNumber>;
+        }, "strip", z.ZodTypeAny, {
+            navigation: string | null;
+            context: string | null;
+            request: {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            };
+            timestamp: number;
+            redirectCount: number;
+        }, {
+            navigation: string | null;
+            context: string | null;
+            request: {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            };
+            timestamp: number;
+            redirectCount: number;
+        }>>, z.ZodObject<{
+            response: z.ZodLazy<z.ZodObject<{
+                url: z.ZodString;
+                protocol: z.ZodString;
+                status: z.ZodLazy<z.ZodNumber>;
+                statusText: z.ZodString;
+                fromCache: z.ZodBoolean;
+                headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    name: z.ZodString;
+                    value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"string">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "string";
+                        value: string;
+                    }, {
+                        type: "string";
+                        value: string;
+                    }>>, z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"base64">;
+                        value: z.ZodString;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "base64";
+                        value: string;
+                    }, {
+                        type: "base64";
+                        value: string;
+                    }>>]>>;
+                }, "strip", z.ZodTypeAny, {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }, {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }>>, "many">;
+                mimeType: z.ZodString;
+                bytesReceived: z.ZodLazy<z.ZodNumber>;
+                headersSize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+                bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+                content: z.ZodLazy<z.ZodObject<{
+                    size: z.ZodLazy<z.ZodNumber>;
+                }, "strip", z.ZodTypeAny, {
+                    size: number;
+                }, {
+                    size: number;
+                }>>;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                status: number;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                protocol: string;
+                content: {
+                    size: number;
+                };
+                headersSize: number | null;
+                bodySize: number | null;
+                statusText: string;
+                fromCache: boolean;
+                mimeType: string;
+                bytesReceived: number;
+            }, {
+                url: string;
+                status: number;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                protocol: string;
+                content: {
+                    size: number;
+                };
+                headersSize: number | null;
+                bodySize: number | null;
+                statusText: string;
+                fromCache: boolean;
+                mimeType: string;
+                bytesReceived: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            response: {
+                url: string;
+                status: number;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                protocol: string;
+                content: {
+                    size: number;
+                };
+                headersSize: number | null;
+                bodySize: number | null;
+                statusText: string;
+                fromCache: boolean;
+                mimeType: string;
+                bytesReceived: number;
+            };
+        }, {
+            response: {
+                url: string;
+                status: number;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                protocol: string;
+                content: {
+                    size: number;
+                };
+                headersSize: number | null;
+                bodySize: number | null;
+                statusText: string;
+                fromCache: boolean;
+                mimeType: string;
+                bytesReceived: number;
+            };
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            navigation: string | null;
+            context: string | null;
+            request: {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            };
+            timestamp: number;
+            redirectCount: number;
+        } & {
+            response: {
+                url: string;
+                status: number;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                protocol: string;
+                content: {
+                    size: number;
+                };
+                headersSize: number | null;
+                bodySize: number | null;
+                statusText: string;
+                fromCache: boolean;
+                mimeType: string;
+                bytesReceived: number;
+            };
+        };
+        method: "network.responseStarted";
+    }, {
+        params: {
+            navigation: string | null;
+            context: string | null;
+            request: {
+                url: string;
+                cookies: {
+                    path: string;
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    size: number;
+                    secure: boolean;
+                    name: string;
+                    domain: string;
+                    httpOnly: boolean;
+                    sameSite: "strict" | "none" | "lax";
+                    expires?: number | undefined;
+                }[];
+                method: string;
+                request: string;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                headersSize: number;
+                bodySize: number | null;
+                timings: {
+                    timeOrigin: number;
+                    requestTime: number;
+                    redirectStart: number;
+                    redirectEnd: number;
+                    fetchStart: number;
+                    dnsStart: number;
+                    dnsEnd: number;
+                    connectStart: number;
+                    connectEnd: number;
+                    tlsStart: number;
+                    requestStart: number;
+                    responseStart: number;
+                    responseEnd: number;
+                };
+            };
+            timestamp: number;
+            redirectCount: number;
+        } & {
+            response: {
+                url: string;
+                status: number;
+                headers: {
+                    value: {
+                        type: "string";
+                        value: string;
+                    } | {
+                        type: "base64";
+                        value: string;
+                    };
+                    name: string;
+                }[];
+                protocol: string;
+                content: {
+                    size: number;
+                };
+                headersSize: number | null;
+                bodySize: number | null;
+                statusText: string;
+                fromCache: boolean;
+                mimeType: string;
+                bytesReceived: number;
+            };
+        };
+        method: "network.responseStarted";
+    }>>;
+}
+export declare namespace Network {
+    const ResponseStartedParametersSchema: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        context: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        navigation: z.ZodUnion<[z.ZodLazy<z.ZodString>, z.ZodNull]>;
+        redirectCount: z.ZodLazy<z.ZodNumber>;
+        request: z.ZodLazy<z.ZodObject<{
+            request: z.ZodLazy<z.ZodString>;
+            url: z.ZodString;
+            method: z.ZodString;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            cookies: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+                domain: z.ZodString;
+                path: z.ZodString;
+                expires: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                size: z.ZodLazy<z.ZodNumber>;
+                httpOnly: z.ZodBoolean;
+                secure: z.ZodBoolean;
+                sameSite: z.ZodEnum<["strict", "lax", "none"]>;
+            }, "strip", z.ZodTypeAny, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }, {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }>>, "many">;
+            headersSize: z.ZodLazy<z.ZodNumber>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            timings: z.ZodLazy<z.ZodObject<{
+                timeOrigin: z.ZodNumber;
+                requestTime: z.ZodNumber;
+                redirectStart: z.ZodNumber;
+                redirectEnd: z.ZodNumber;
+                fetchStart: z.ZodNumber;
+                dnsStart: z.ZodNumber;
+                dnsEnd: z.ZodNumber;
+                connectStart: z.ZodNumber;
+                connectEnd: z.ZodNumber;
+                tlsStart: z.ZodNumber;
+                requestStart: z.ZodNumber;
+                responseStart: z.ZodNumber;
+                responseEnd: z.ZodNumber;
+            }, "strip", z.ZodTypeAny, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }, {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }, {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        }>>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }, {
+        navigation: string | null;
+        context: string | null;
+        request: {
+            url: string;
+            cookies: {
+                path: string;
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                size: number;
+                secure: boolean;
+                name: string;
+                domain: string;
+                httpOnly: boolean;
+                sameSite: "strict" | "none" | "lax";
+                expires?: number | undefined;
+            }[];
+            method: string;
+            request: string;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            headersSize: number;
+            bodySize: number | null;
+            timings: {
+                timeOrigin: number;
+                requestTime: number;
+                redirectStart: number;
+                redirectEnd: number;
+                fetchStart: number;
+                dnsStart: number;
+                dnsEnd: number;
+                connectStart: number;
+                connectEnd: number;
+                tlsStart: number;
+                requestStart: number;
+                responseStart: number;
+                responseEnd: number;
+            };
+        };
+        timestamp: number;
+        redirectCount: number;
+    }>>, z.ZodObject<{
+        response: z.ZodLazy<z.ZodObject<{
+            url: z.ZodString;
+            protocol: z.ZodString;
+            status: z.ZodLazy<z.ZodNumber>;
+            statusText: z.ZodString;
+            fromCache: z.ZodBoolean;
+            headers: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                name: z.ZodString;
+                value: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"string">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "string";
+                    value: string;
+                }, {
+                    type: "string";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"base64">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "base64";
+                    value: string;
+                }, {
+                    type: "base64";
+                    value: string;
+                }>>]>>;
+            }, "strip", z.ZodTypeAny, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }, {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }>>, "many">;
+            mimeType: z.ZodString;
+            bytesReceived: z.ZodLazy<z.ZodNumber>;
+            headersSize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            bodySize: z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>;
+            content: z.ZodLazy<z.ZodObject<{
+                size: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                size: number;
+            }, {
+                size: number;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }, {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }, {
+        response: {
+            url: string;
+            status: number;
+            headers: {
+                value: {
+                    type: "string";
+                    value: string;
+                } | {
+                    type: "base64";
+                    value: string;
+                };
+                name: string;
+            }[];
+            protocol: string;
+            content: {
+                size: number;
+            };
+            headersSize: number | null;
+            bodySize: number | null;
+            statusText: string;
+            fromCache: boolean;
+            mimeType: string;
+            bytesReceived: number;
+        };
+    }>>>;
+}
+export declare const ScriptCommandSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.addPreloadScript">;
+    params: z.ZodLazy<z.ZodObject<{
+        functionDeclaration: z.ZodString;
+        arguments: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"channel">;
+            value: z.ZodLazy<z.ZodObject<{
+                channel: z.ZodLazy<z.ZodString>;
+                serializationOptions: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                    maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+                    maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+                    includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+                }, "strip", z.ZodTypeAny, {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                }, {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                }>>>;
+                ownership: z.ZodOptional<z.ZodLazy<z.ZodEnum<["root", "none"]>>>;
+            }, "strip", z.ZodTypeAny, {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            }, {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }, {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }>>, "many">>;
+        sandbox: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        functionDeclaration: string;
+        arguments?: {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }[] | undefined;
+        sandbox?: string | undefined;
+    }, {
+        functionDeclaration: string;
+        arguments?: {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }[] | undefined;
+        sandbox?: string | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        functionDeclaration: string;
+        arguments?: {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }[] | undefined;
+        sandbox?: string | undefined;
+    };
+    method: "script.addPreloadScript";
+}, {
+    params: {
+        functionDeclaration: string;
+        arguments?: {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }[] | undefined;
+        sandbox?: string | undefined;
+    };
+    method: "script.addPreloadScript";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.callFunction">;
+    params: z.ZodLazy<z.ZodObject<{
+        functionDeclaration: z.ZodString;
+        awaitPromise: z.ZodBoolean;
+        target: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+        }, {
+            realm: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            sandbox: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            sandbox?: string | undefined;
+        }, {
+            context: string;
+            sandbox?: string | undefined;
+        }>>]>>;
+        arguments: z.ZodOptional<z.ZodArray<any, "many">>;
+        resultOwnership: z.ZodOptional<z.ZodLazy<z.ZodEnum<["root", "none"]>>>;
+        serializationOptions: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+        }, "strip", z.ZodTypeAny, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }>>>;
+        this: any;
+        userActivation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+    }, "strip", z.ZodTypeAny, {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        functionDeclaration: string;
+        arguments?: any[] | undefined;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        this?: any;
+        userActivation?: boolean | undefined;
+    }, {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        functionDeclaration: string;
+        arguments?: any[] | undefined;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        this?: any;
+        userActivation?: boolean | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        functionDeclaration: string;
+        arguments?: any[] | undefined;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        this?: any;
+        userActivation?: boolean | undefined;
+    };
+    method: "script.callFunction";
+}, {
+    params: {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        functionDeclaration: string;
+        arguments?: any[] | undefined;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        this?: any;
+        userActivation?: boolean | undefined;
+    };
+    method: "script.callFunction";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.disown">;
+    params: z.ZodLazy<z.ZodObject<{
+        handles: z.ZodArray<z.ZodLazy<z.ZodString>, "many">;
+        target: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+        }, {
+            realm: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            sandbox: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            sandbox?: string | undefined;
+        }, {
+            context: string;
+            sandbox?: string | undefined;
+        }>>]>>;
+    }, "strip", z.ZodTypeAny, {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        handles: string[];
+    }, {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        handles: string[];
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        handles: string[];
+    };
+    method: "script.disown";
+}, {
+    params: {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        handles: string[];
+    };
+    method: "script.disown";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.evaluate">;
+    params: z.ZodLazy<z.ZodObject<{
+        expression: z.ZodString;
+        target: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+        }, {
+            realm: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            sandbox: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            sandbox?: string | undefined;
+        }, {
+            context: string;
+            sandbox?: string | undefined;
+        }>>]>>;
+        awaitPromise: z.ZodBoolean;
+        resultOwnership: z.ZodOptional<z.ZodLazy<z.ZodEnum<["root", "none"]>>>;
+        serializationOptions: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+        }, "strip", z.ZodTypeAny, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }>>>;
+        userActivation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+    }, "strip", z.ZodTypeAny, {
+        expression: string;
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        userActivation?: boolean | undefined;
+    }, {
+        expression: string;
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        userActivation?: boolean | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        expression: string;
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        userActivation?: boolean | undefined;
+    };
+    method: "script.evaluate";
+}, {
+    params: {
+        expression: string;
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        userActivation?: boolean | undefined;
+    };
+    method: "script.evaluate";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.getRealms">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        type: z.ZodOptional<z.ZodLazy<z.ZodEnum<["window", "dedicated-worker", "shared-worker", "service-worker", "worker", "paint-worklet", "audio-worklet", "worklet"]>>>;
+    }, "strip", z.ZodTypeAny, {
+        context?: string | undefined;
+        type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+    }, {
+        context?: string | undefined;
+        type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context?: string | undefined;
+        type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+    };
+    method: "script.getRealms";
+}, {
+    params: {
+        context?: string | undefined;
+        type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+    };
+    method: "script.getRealms";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.removePreloadScript">;
+    params: z.ZodLazy<z.ZodObject<{
+        script: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        script: string;
+    }, {
+        script: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        script: string;
+    };
+    method: "script.removePreloadScript";
+}, {
+    params: {
+        script: string;
+    };
+    method: "script.removePreloadScript";
+}>>]>>;
+export declare const ScriptResultSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    script: z.ZodLazy<z.ZodString>;
+}, "strip", z.ZodTypeAny, {
+    script: string;
+}, {
+    script: string;
+}>>, z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    type: z.ZodLiteral<"success">;
+    result: any;
+    realm: z.ZodLazy<z.ZodString>;
+}, "strip", z.ZodTypeAny, {
+    type: "success";
+    realm: string;
+    result?: any;
+}, {
+    type: "success";
+    realm: string;
+    result?: any;
+}>>, z.ZodLazy<z.ZodObject<{
+    type: z.ZodLiteral<"exception">;
+    exceptionDetails: z.ZodLazy<z.ZodObject<{
+        columnNumber: z.ZodLazy<z.ZodNumber>;
+        exception: any;
+        lineNumber: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>;
+        text: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        columnNumber: number;
+        lineNumber: number;
+        text: string;
+        stackTrace: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        };
+        exception?: any;
+    }, {
+        columnNumber: number;
+        lineNumber: number;
+        text: string;
+        stackTrace: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        };
+        exception?: any;
+    }>>;
+    realm: z.ZodLazy<z.ZodString>;
+}, "strip", z.ZodTypeAny, {
+    type: "exception";
+    realm: string;
+    exceptionDetails: {
+        columnNumber: number;
+        lineNumber: number;
+        text: string;
+        stackTrace: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        };
+        exception?: any;
+    };
+}, {
+    type: "exception";
+    realm: string;
+    exceptionDetails: {
+        columnNumber: number;
+        lineNumber: number;
+        text: string;
+        stackTrace: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        };
+        exception?: any;
+    };
+}>>]>>, z.ZodLazy<z.ZodObject<{
+    realms: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"window">;
+        context: z.ZodLazy<z.ZodString>;
+        sandbox: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }, {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"dedicated-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "dedicated-worker";
+    }, {
+        type: "dedicated-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"shared-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "shared-worker";
+    }, {
+        type: "shared-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"service-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "service-worker";
+    }, {
+        type: "service-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "worker";
+    }, {
+        type: "worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"paint-worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "paint-worklet";
+    }, {
+        type: "paint-worklet";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"audio-worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "audio-worklet";
+    }, {
+        type: "audio-worklet";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "worklet";
+    }, {
+        type: "worklet";
+    }>>>]>>, "many">;
+}, "strip", z.ZodTypeAny, {
+    realms: (({
+        origin: string;
+        realm: string;
+    } & {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "dedicated-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "shared-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "service-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "paint-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "audio-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worklet";
+    }))[];
+}, {
+    realms: (({
+        origin: string;
+        realm: string;
+    } & {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "dedicated-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "shared-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "service-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "paint-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "audio-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worklet";
+    }))[];
+}>>]>>;
+export declare const ScriptEventSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.message">;
+    params: z.ZodLazy<z.ZodObject<{
+        channel: z.ZodLazy<z.ZodString>;
+        data: any;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    }, {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    };
+    method: "script.message";
+}, {
+    params: {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    };
+    method: "script.message";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.realmCreated">;
+    params: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"window">;
+        context: z.ZodLazy<z.ZodString>;
+        sandbox: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }, {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"dedicated-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "dedicated-worker";
+    }, {
+        type: "dedicated-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"shared-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "shared-worker";
+    }, {
+        type: "shared-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"service-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "service-worker";
+    }, {
+        type: "service-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "worker";
+    }, {
+        type: "worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"paint-worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "paint-worklet";
+    }, {
+        type: "paint-worklet";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"audio-worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "audio-worklet";
+    }, {
+        type: "audio-worklet";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "worklet";
+    }, {
+        type: "worklet";
+    }>>>]>>;
+}, "strip", z.ZodTypeAny, {
+    params: ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "dedicated-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "shared-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "service-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "paint-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "audio-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worklet";
+    });
+    method: "script.realmCreated";
+}, {
+    params: ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "dedicated-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "shared-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "service-worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worker";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "paint-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "audio-worklet";
+    }) | ({
+        origin: string;
+        realm: string;
+    } & {
+        type: "worklet";
+    });
+    method: "script.realmCreated";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"script.realmDestroyed">;
+    params: z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        realm: string;
+    }, {
+        realm: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        realm: string;
+    };
+    method: "script.realmDestroyed";
+}, {
+    params: {
+        realm: string;
+    };
+    method: "script.realmDestroyed";
+}>>]>>;
+export declare namespace Script {
+    const ChannelSchema: z.ZodLazy<z.ZodString>;
+}
+export declare namespace Script {
+    const ChannelValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"channel">;
+        value: z.ZodLazy<z.ZodObject<{
+            channel: z.ZodLazy<z.ZodString>;
+            serializationOptions: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+                maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+                includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+            }, "strip", z.ZodTypeAny, {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            }, {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            }>>>;
+            ownership: z.ZodOptional<z.ZodLazy<z.ZodEnum<["root", "none"]>>>;
+        }, "strip", z.ZodTypeAny, {
+            channel: string;
+            serializationOptions?: {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            } | undefined;
+            ownership?: "none" | "root" | undefined;
+        }, {
+            channel: string;
+            serializationOptions?: {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            } | undefined;
+            ownership?: "none" | "root" | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "channel";
+        value: {
+            channel: string;
+            serializationOptions?: {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            } | undefined;
+            ownership?: "none" | "root" | undefined;
+        };
+    }, {
+        type: "channel";
+        value: {
+            channel: string;
+            serializationOptions?: {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            } | undefined;
+            ownership?: "none" | "root" | undefined;
+        };
+    }>>;
+}
+export declare namespace Script {
+    const ChannelPropertiesSchema: z.ZodLazy<z.ZodObject<{
+        channel: z.ZodLazy<z.ZodString>;
+        serializationOptions: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+        }, "strip", z.ZodTypeAny, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }>>>;
+        ownership: z.ZodOptional<z.ZodLazy<z.ZodEnum<["root", "none"]>>>;
+    }, "strip", z.ZodTypeAny, {
+        channel: string;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        ownership?: "none" | "root" | undefined;
+    }, {
+        channel: string;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        ownership?: "none" | "root" | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const EvaluateResultSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"success">;
+        result: any;
+        realm: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        type: "success";
+        realm: string;
+        result?: any;
+    }, {
+        type: "success";
+        realm: string;
+        result?: any;
+    }>>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"exception">;
+        exceptionDetails: z.ZodLazy<z.ZodObject<{
+            columnNumber: z.ZodLazy<z.ZodNumber>;
+            exception: any;
+            lineNumber: z.ZodLazy<z.ZodNumber>;
+            stackTrace: z.ZodLazy<z.ZodObject<{
+                callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    columnNumber: z.ZodLazy<z.ZodNumber>;
+                    functionName: z.ZodString;
+                    lineNumber: z.ZodLazy<z.ZodNumber>;
+                    url: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }>>, "many">;
+            }, "strip", z.ZodTypeAny, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }>>;
+            text: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        }, {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        }>>;
+        realm: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }, {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }>>]>>;
+}
+export declare namespace Script {
+    const EvaluateResultSuccessSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"success">;
+        result: any;
+        realm: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        type: "success";
+        realm: string;
+        result?: any;
+    }, {
+        type: "success";
+        realm: string;
+        result?: any;
+    }>>;
+}
+export declare namespace Script {
+    const EvaluateResultExceptionSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"exception">;
+        exceptionDetails: z.ZodLazy<z.ZodObject<{
+            columnNumber: z.ZodLazy<z.ZodNumber>;
+            exception: any;
+            lineNumber: z.ZodLazy<z.ZodNumber>;
+            stackTrace: z.ZodLazy<z.ZodObject<{
+                callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    columnNumber: z.ZodLazy<z.ZodNumber>;
+                    functionName: z.ZodString;
+                    lineNumber: z.ZodLazy<z.ZodNumber>;
+                    url: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }>>, "many">;
+            }, "strip", z.ZodTypeAny, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }>>;
+            text: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        }, {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        }>>;
+        realm: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }, {
+        type: "exception";
+        realm: string;
+        exceptionDetails: {
+            columnNumber: number;
+            lineNumber: number;
+            text: string;
+            stackTrace: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            };
+            exception?: any;
+        };
+    }>>;
+}
+export declare namespace Script {
+    const ExceptionDetailsSchema: z.ZodLazy<z.ZodObject<{
+        columnNumber: z.ZodLazy<z.ZodNumber>;
+        exception: any;
+        lineNumber: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>;
+        text: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        columnNumber: number;
+        lineNumber: number;
+        text: string;
+        stackTrace: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        };
+        exception?: any;
+    }, {
+        columnNumber: number;
+        lineNumber: number;
+        text: string;
+        stackTrace: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        };
+        exception?: any;
+    }>>;
+}
+export declare namespace Script {
+    const HandleSchema: z.ZodLazy<z.ZodString>;
+}
+export declare namespace Script {
+    const LocalValueSchema: any;
+}
+export declare namespace Script {
+    const ListLocalValueSchema: any;
+}
+export declare namespace Script {
+    const ArrayLocalValueSchema: any;
+}
+export declare namespace Script {
+    const DateLocalValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"date">;
+        value: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: "date";
+        value: string;
+    }, {
+        type: "date";
+        value: string;
+    }>>;
+}
+export declare namespace Script {
+    const MappingLocalValueSchema: z.ZodLazy<z.ZodArray<z.ZodTuple<[z.ZodUnion<[any, z.ZodString]>, any], null>, "many">>;
+}
+export declare namespace Script {
+    const MapLocalValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"map">;
+        value: z.ZodLazy<z.ZodArray<z.ZodTuple<[z.ZodUnion<[any, z.ZodString]>, any], null>, "many">>;
+    }, "strip", z.ZodTypeAny, {
+        type: "map";
+        value: [any, any][];
+    }, {
+        type: "map";
+        value: [any, any][];
+    }>>;
+}
+export declare namespace Script {
+    const ObjectLocalValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"object">;
+        value: z.ZodLazy<z.ZodArray<z.ZodTuple<[z.ZodUnion<[any, z.ZodString]>, any], null>, "many">>;
+    }, "strip", z.ZodTypeAny, {
+        type: "object";
+        value: [any, any][];
+    }, {
+        type: "object";
+        value: [any, any][];
+    }>>;
+}
+export declare namespace Script {
+    const RegExpValueSchema: z.ZodLazy<z.ZodObject<{
+        pattern: z.ZodString;
+        flags: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        pattern: string;
+        flags?: string | undefined;
+    }, {
+        pattern: string;
+        flags?: string | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const RegExpLocalValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"regexp">;
+        value: z.ZodLazy<z.ZodObject<{
+            pattern: z.ZodString;
+            flags: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            pattern: string;
+            flags?: string | undefined;
+        }, {
+            pattern: string;
+            flags?: string | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "regexp";
+        value: {
+            pattern: string;
+            flags?: string | undefined;
+        };
+    }, {
+        type: "regexp";
+        value: {
+            pattern: string;
+            flags?: string | undefined;
+        };
+    }>>;
+}
+export declare namespace Script {
+    const SetLocalValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"set">;
+        value: any;
+    }, "strip", z.ZodTypeAny, {
+        type: "set";
+        value?: any;
+    }, {
+        type: "set";
+        value?: any;
+    }>>;
+}
+export declare namespace Script {
+    const PreloadScriptSchema: z.ZodLazy<z.ZodString>;
+}
+export declare namespace Script {
+    const RealmSchema: z.ZodLazy<z.ZodString>;
+}
+export declare namespace Script {
+    const PrimitiveProtocolValueSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"undefined">;
+    }, "strip", z.ZodTypeAny, {
+        type: "undefined";
+    }, {
+        type: "undefined";
+    }>>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"null">;
+    }, "strip", z.ZodTypeAny, {
+        type: "null";
+    }, {
+        type: "null";
+    }>>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"string">;
+        value: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: "string";
+        value: string;
+    }, {
+        type: "string";
+        value: string;
+    }>>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"number">;
+        value: z.ZodUnion<[z.ZodNumber, z.ZodLazy<z.ZodEnum<["NaN", "-0", "Infinity", "-Infinity"]>>]>;
+    }, "strip", z.ZodTypeAny, {
+        type: "number";
+        value: number | "NaN" | "-0" | "Infinity" | "-Infinity";
+    }, {
+        type: "number";
+        value: number | "NaN" | "-0" | "Infinity" | "-Infinity";
+    }>>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"boolean">;
+        value: z.ZodBoolean;
+    }, "strip", z.ZodTypeAny, {
+        type: "boolean";
+        value: boolean;
+    }, {
+        type: "boolean";
+        value: boolean;
+    }>>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"bigint">;
+        value: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: "bigint";
+        value: string;
+    }, {
+        type: "bigint";
+        value: string;
+    }>>]>>;
+}
+export declare namespace Script {
+    const UndefinedValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"undefined">;
+    }, "strip", z.ZodTypeAny, {
+        type: "undefined";
+    }, {
+        type: "undefined";
+    }>>;
+}
+export declare namespace Script {
+    const NullValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"null">;
+    }, "strip", z.ZodTypeAny, {
+        type: "null";
+    }, {
+        type: "null";
+    }>>;
+}
+export declare namespace Script {
+    const StringValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"string">;
+        value: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: "string";
+        value: string;
+    }, {
+        type: "string";
+        value: string;
+    }>>;
+}
+export declare namespace Script {
+    const SpecialNumberSchema: z.ZodLazy<z.ZodEnum<["NaN", "-0", "Infinity", "-Infinity"]>>;
+}
+export declare namespace Script {
+    const NumberValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"number">;
+        value: z.ZodUnion<[z.ZodNumber, z.ZodLazy<z.ZodEnum<["NaN", "-0", "Infinity", "-Infinity"]>>]>;
+    }, "strip", z.ZodTypeAny, {
+        type: "number";
+        value: number | "NaN" | "-0" | "Infinity" | "-Infinity";
+    }, {
+        type: "number";
+        value: number | "NaN" | "-0" | "Infinity" | "-Infinity";
+    }>>;
+}
+export declare namespace Script {
+    const BooleanValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"boolean">;
+        value: z.ZodBoolean;
+    }, "strip", z.ZodTypeAny, {
+        type: "boolean";
+        value: boolean;
+    }, {
+        type: "boolean";
+        value: boolean;
+    }>>;
+}
+export declare namespace Script {
+    const BigIntValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"bigint">;
+        value: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: "bigint";
+        value: string;
+    }, {
+        type: "bigint";
+        value: string;
+    }>>;
+}
+export declare namespace Script {
+    const RealmInfoSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"window">;
+        context: z.ZodLazy<z.ZodString>;
+        sandbox: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }, {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"dedicated-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "dedicated-worker";
+    }, {
+        type: "dedicated-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"shared-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "shared-worker";
+    }, {
+        type: "shared-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"service-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "service-worker";
+    }, {
+        type: "service-worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "worker";
+    }, {
+        type: "worker";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"paint-worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "paint-worklet";
+    }, {
+        type: "paint-worklet";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"audio-worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "audio-worklet";
+    }, {
+        type: "audio-worklet";
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "worklet";
+    }, {
+        type: "worklet";
+    }>>>]>>;
+}
+export declare namespace Script {
+    const BaseRealmInfoSchema: z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>;
+}
+export declare namespace Script {
+    const WindowRealmInfoSchema: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"window">;
+        context: z.ZodLazy<z.ZodString>;
+        sandbox: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }, {
+        type: "window";
+        context: string;
+        sandbox?: string | undefined;
+    }>>>;
+}
+export declare namespace Script {
+    const DedicatedWorkerRealmInfoSchema: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"dedicated-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "dedicated-worker";
+    }, {
+        type: "dedicated-worker";
+    }>>>;
+}
+export declare namespace Script {
+    const SharedWorkerRealmInfoSchema: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"shared-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "shared-worker";
+    }, {
+        type: "shared-worker";
+    }>>>;
+}
+export declare namespace Script {
+    const ServiceWorkerRealmInfoSchema: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"service-worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "service-worker";
+    }, {
+        type: "service-worker";
+    }>>>;
+}
+export declare namespace Script {
+    const WorkerRealmInfoSchema: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"worker">;
+    }, "strip", z.ZodTypeAny, {
+        type: "worker";
+    }, {
+        type: "worker";
+    }>>>;
+}
+export declare namespace Script {
+    const PaintWorkletRealmInfoSchema: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"paint-worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "paint-worklet";
+    }, {
+        type: "paint-worklet";
+    }>>>;
+}
+export declare namespace Script {
+    const AudioWorkletRealmInfoSchema: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"audio-worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "audio-worklet";
+    }, {
+        type: "audio-worklet";
+    }>>>;
+}
+export declare namespace Script {
+    const WorkletRealmInfoSchema: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        origin: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        origin: string;
+        realm: string;
+    }, {
+        origin: string;
+        realm: string;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"worklet">;
+    }, "strip", z.ZodTypeAny, {
+        type: "worklet";
+    }, {
+        type: "worklet";
+    }>>>;
+}
+export declare namespace Script {
+    const RealmTypeSchema: z.ZodLazy<z.ZodEnum<["window", "dedicated-worker", "shared-worker", "service-worker", "worker", "paint-worklet", "audio-worklet", "worklet"]>>;
+}
+export declare namespace Script {
+    const RemoteReferenceSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        sharedId: z.ZodLazy<z.ZodString>;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+    }, "strip", z.ZodTypeAny, {
+        sharedId: string;
+        handle?: string | undefined;
+    }, {
+        sharedId: string;
+        handle?: string | undefined;
+    }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        handle: z.ZodLazy<z.ZodString>;
+        sharedId: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+    }, "strip", z.ZodTypeAny, {
+        handle: string;
+        sharedId?: string | undefined;
+    }, {
+        handle: string;
+        sharedId?: string | undefined;
+    }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>]>>;
+}
+export declare namespace Script {
+    const SharedReferenceSchema: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        sharedId: z.ZodLazy<z.ZodString>;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+    }, "strip", z.ZodTypeAny, {
+        sharedId: string;
+        handle?: string | undefined;
+    }, {
+        sharedId: string;
+        handle?: string | undefined;
+    }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+}
+export declare namespace Script {
+    const RemoteObjectReferenceSchema: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        handle: z.ZodLazy<z.ZodString>;
+        sharedId: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+    }, "strip", z.ZodTypeAny, {
+        handle: string;
+        sharedId?: string | undefined;
+    }, {
+        handle: string;
+        sharedId?: string | undefined;
+    }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+}
+export declare namespace Script {
+    const RemoteValueSchema: any;
+}
+export declare namespace Script {
+    const InternalIdSchema: z.ZodLazy<z.ZodLazy<z.ZodNumber>>;
+}
+export declare namespace Script {
+    const ListRemoteValueSchema: any;
+}
+export declare namespace Script {
+    const MappingRemoteValueSchema: z.ZodLazy<z.ZodArray<z.ZodTuple<[z.ZodUnion<[any, z.ZodString]>, any], null>, "many">>;
+}
+export declare namespace Script {
+    const SymbolRemoteValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"symbol">;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "symbol";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }, {
+        type: "symbol";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const ArrayRemoteValueSchema: any;
+}
+export declare namespace Script {
+    const ObjectRemoteValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"object">;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+        value: z.ZodOptional<z.ZodLazy<z.ZodArray<z.ZodTuple<[z.ZodUnion<[any, z.ZodString]>, any], null>, "many">>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "object";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+        value?: [any, any][] | undefined;
+    }, {
+        type: "object";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+        value?: [any, any][] | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const FunctionRemoteValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"function">;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "function";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }, {
+        type: "function";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const RegExpRemoteValueSchema: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+    }, "strip", z.ZodTypeAny, {
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }, {
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"regexp">;
+        value: z.ZodLazy<z.ZodObject<{
+            pattern: z.ZodString;
+            flags: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            pattern: string;
+            flags?: string | undefined;
+        }, {
+            pattern: string;
+            flags?: string | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "regexp";
+        value: {
+            pattern: string;
+            flags?: string | undefined;
+        };
+    }, {
+        type: "regexp";
+        value: {
+            pattern: string;
+            flags?: string | undefined;
+        };
+    }>>>>;
+}
+export declare namespace Script {
+    const DateRemoteValueSchema: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+    }, "strip", z.ZodTypeAny, {
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }, {
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"date">;
+        value: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: "date";
+        value: string;
+    }, {
+        type: "date";
+        value: string;
+    }>>>>;
+}
+export declare namespace Script {
+    const MapRemoteValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"map">;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+        value: z.ZodOptional<z.ZodLazy<z.ZodArray<z.ZodTuple<[z.ZodUnion<[any, z.ZodString]>, any], null>, "many">>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "map";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+        value?: [any, any][] | undefined;
+    }, {
+        type: "map";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+        value?: [any, any][] | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const SetRemoteValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"set">;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+        value: any;
+    }, "strip", z.ZodTypeAny, {
+        type: "set";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+        value?: any;
+    }, {
+        type: "set";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+        value?: any;
+    }>>;
+}
+export declare namespace Script {
+    const WeakMapRemoteValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"weakmap">;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "weakmap";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }, {
+        type: "weakmap";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const WeakSetRemoteValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"weakset">;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "weakset";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }, {
+        type: "weakset";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const IteratorRemoteValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"iterator">;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "iterator";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }, {
+        type: "iterator";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const GeneratorRemoteValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"generator">;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "generator";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }, {
+        type: "generator";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const ErrorRemoteValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"error">;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "error";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }, {
+        type: "error";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const ProxyRemoteValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"proxy">;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "proxy";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }, {
+        type: "proxy";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const PromiseRemoteValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"promise">;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "promise";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }, {
+        type: "promise";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const TypedArrayRemoteValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"typedarray">;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "typedarray";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }, {
+        type: "typedarray";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const ArrayBufferRemoteValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"arraybuffer">;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "arraybuffer";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }, {
+        type: "arraybuffer";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const NodeListRemoteValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"nodelist">;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+        value: any;
+    }, "strip", z.ZodTypeAny, {
+        type: "nodelist";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+        value?: any;
+    }, {
+        type: "nodelist";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+        value?: any;
+    }>>;
+}
+export declare namespace Script {
+    const HtmlCollectionRemoteValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"htmlcollection">;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+        value: any;
+    }, "strip", z.ZodTypeAny, {
+        type: "htmlcollection";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+        value?: any;
+    }, {
+        type: "htmlcollection";
+        handle?: string | undefined;
+        internalId?: number | undefined;
+        value?: any;
+    }>>;
+}
+export declare namespace Script {
+    const NodeRemoteValueSchema: any;
+}
+export declare namespace Script {
+    const NodePropertiesSchema: any;
+}
+export declare namespace Script {
+    const WindowProxyRemoteValueSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"window">;
+        value: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+        }, {
+            context: string;
+        }>>;
+        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        internalId: z.ZodOptional<z.ZodLazy<z.ZodLazy<z.ZodNumber>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "window";
+        value: {
+            context: string;
+        };
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }, {
+        type: "window";
+        value: {
+            context: string;
+        };
+        handle?: string | undefined;
+        internalId?: number | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const WindowProxyPropertiesSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+    }, {
+        context: string;
+    }>>;
+}
+export declare namespace Script {
+    const ResultOwnershipSchema: z.ZodLazy<z.ZodEnum<["root", "none"]>>;
+}
+export declare namespace Script {
+    const SerializationOptionsSchema: z.ZodLazy<z.ZodObject<{
+        maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+        maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+        includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+    }, "strip", z.ZodTypeAny, {
+        maxDomDepth?: number | null | undefined;
+        maxObjectDepth?: number | null | undefined;
+        includeShadowTree?: "none" | "all" | "open" | undefined;
+    }, {
+        maxDomDepth?: number | null | undefined;
+        maxObjectDepth?: number | null | undefined;
+        includeShadowTree?: "none" | "all" | "open" | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const SharedIdSchema: z.ZodLazy<z.ZodString>;
+}
+export declare namespace Script {
+    const StackFrameSchema: z.ZodLazy<z.ZodObject<{
+        columnNumber: z.ZodLazy<z.ZodNumber>;
+        functionName: z.ZodString;
+        lineNumber: z.ZodLazy<z.ZodNumber>;
+        url: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        url: string;
+        columnNumber: number;
+        lineNumber: number;
+        functionName: string;
+    }, {
+        url: string;
+        columnNumber: number;
+        lineNumber: number;
+        functionName: string;
+    }>>;
+}
+export declare namespace Script {
+    const StackTraceSchema: z.ZodLazy<z.ZodObject<{
+        callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+            columnNumber: z.ZodLazy<z.ZodNumber>;
+            functionName: z.ZodString;
+            lineNumber: z.ZodLazy<z.ZodNumber>;
+            url: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            url: string;
+            columnNumber: number;
+            lineNumber: number;
+            functionName: string;
+        }, {
+            url: string;
+            columnNumber: number;
+            lineNumber: number;
+            functionName: string;
+        }>>, "many">;
+    }, "strip", z.ZodTypeAny, {
+        callFrames: {
+            url: string;
+            columnNumber: number;
+            lineNumber: number;
+            functionName: string;
+        }[];
+    }, {
+        callFrames: {
+            url: string;
+            columnNumber: number;
+            lineNumber: number;
+            functionName: string;
+        }[];
+    }>>;
+}
+export declare namespace Script {
+    const SourceSchema: z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+        context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+    }, "strip", z.ZodTypeAny, {
+        realm: string;
+        context?: string | undefined;
+    }, {
+        realm: string;
+        context?: string | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const RealmTargetSchema: z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        realm: string;
+    }, {
+        realm: string;
+    }>>;
+}
+export declare namespace Script {
+    const ContextTargetSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        sandbox: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        sandbox?: string | undefined;
+    }, {
+        context: string;
+        sandbox?: string | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const TargetSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        realm: string;
+    }, {
+        realm: string;
+    }>>, z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        sandbox: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        sandbox?: string | undefined;
+    }, {
+        context: string;
+        sandbox?: string | undefined;
+    }>>]>>;
+}
+export declare namespace Script {
+    const AddPreloadScriptCommandSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"script.addPreloadScript">;
+        params: z.ZodLazy<z.ZodObject<{
+            functionDeclaration: z.ZodString;
+            arguments: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"channel">;
+                value: z.ZodLazy<z.ZodObject<{
+                    channel: z.ZodLazy<z.ZodString>;
+                    serializationOptions: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                        maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+                        maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+                        includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+                    }, "strip", z.ZodTypeAny, {
+                        maxDomDepth?: number | null | undefined;
+                        maxObjectDepth?: number | null | undefined;
+                        includeShadowTree?: "none" | "all" | "open" | undefined;
+                    }, {
+                        maxDomDepth?: number | null | undefined;
+                        maxObjectDepth?: number | null | undefined;
+                        includeShadowTree?: "none" | "all" | "open" | undefined;
+                    }>>>;
+                    ownership: z.ZodOptional<z.ZodLazy<z.ZodEnum<["root", "none"]>>>;
+                }, "strip", z.ZodTypeAny, {
+                    channel: string;
+                    serializationOptions?: {
+                        maxDomDepth?: number | null | undefined;
+                        maxObjectDepth?: number | null | undefined;
+                        includeShadowTree?: "none" | "all" | "open" | undefined;
+                    } | undefined;
+                    ownership?: "none" | "root" | undefined;
+                }, {
+                    channel: string;
+                    serializationOptions?: {
+                        maxDomDepth?: number | null | undefined;
+                        maxObjectDepth?: number | null | undefined;
+                        includeShadowTree?: "none" | "all" | "open" | undefined;
+                    } | undefined;
+                    ownership?: "none" | "root" | undefined;
+                }>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "channel";
+                value: {
+                    channel: string;
+                    serializationOptions?: {
+                        maxDomDepth?: number | null | undefined;
+                        maxObjectDepth?: number | null | undefined;
+                        includeShadowTree?: "none" | "all" | "open" | undefined;
+                    } | undefined;
+                    ownership?: "none" | "root" | undefined;
+                };
+            }, {
+                type: "channel";
+                value: {
+                    channel: string;
+                    serializationOptions?: {
+                        maxDomDepth?: number | null | undefined;
+                        maxObjectDepth?: number | null | undefined;
+                        includeShadowTree?: "none" | "all" | "open" | undefined;
+                    } | undefined;
+                    ownership?: "none" | "root" | undefined;
+                };
+            }>>, "many">>;
+            sandbox: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            functionDeclaration: string;
+            arguments?: {
+                type: "channel";
+                value: {
+                    channel: string;
+                    serializationOptions?: {
+                        maxDomDepth?: number | null | undefined;
+                        maxObjectDepth?: number | null | undefined;
+                        includeShadowTree?: "none" | "all" | "open" | undefined;
+                    } | undefined;
+                    ownership?: "none" | "root" | undefined;
+                };
+            }[] | undefined;
+            sandbox?: string | undefined;
+        }, {
+            functionDeclaration: string;
+            arguments?: {
+                type: "channel";
+                value: {
+                    channel: string;
+                    serializationOptions?: {
+                        maxDomDepth?: number | null | undefined;
+                        maxObjectDepth?: number | null | undefined;
+                        includeShadowTree?: "none" | "all" | "open" | undefined;
+                    } | undefined;
+                    ownership?: "none" | "root" | undefined;
+                };
+            }[] | undefined;
+            sandbox?: string | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            functionDeclaration: string;
+            arguments?: {
+                type: "channel";
+                value: {
+                    channel: string;
+                    serializationOptions?: {
+                        maxDomDepth?: number | null | undefined;
+                        maxObjectDepth?: number | null | undefined;
+                        includeShadowTree?: "none" | "all" | "open" | undefined;
+                    } | undefined;
+                    ownership?: "none" | "root" | undefined;
+                };
+            }[] | undefined;
+            sandbox?: string | undefined;
+        };
+        method: "script.addPreloadScript";
+    }, {
+        params: {
+            functionDeclaration: string;
+            arguments?: {
+                type: "channel";
+                value: {
+                    channel: string;
+                    serializationOptions?: {
+                        maxDomDepth?: number | null | undefined;
+                        maxObjectDepth?: number | null | undefined;
+                        includeShadowTree?: "none" | "all" | "open" | undefined;
+                    } | undefined;
+                    ownership?: "none" | "root" | undefined;
+                };
+            }[] | undefined;
+            sandbox?: string | undefined;
+        };
+        method: "script.addPreloadScript";
+    }>>;
+}
+export declare namespace Script {
+    const AddPreloadScriptParametersSchema: z.ZodLazy<z.ZodObject<{
+        functionDeclaration: z.ZodString;
+        arguments: z.ZodOptional<z.ZodArray<z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"channel">;
+            value: z.ZodLazy<z.ZodObject<{
+                channel: z.ZodLazy<z.ZodString>;
+                serializationOptions: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                    maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+                    maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+                    includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+                }, "strip", z.ZodTypeAny, {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                }, {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                }>>>;
+                ownership: z.ZodOptional<z.ZodLazy<z.ZodEnum<["root", "none"]>>>;
+            }, "strip", z.ZodTypeAny, {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            }, {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }, {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }>>, "many">>;
+        sandbox: z.ZodOptional<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        functionDeclaration: string;
+        arguments?: {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }[] | undefined;
+        sandbox?: string | undefined;
+    }, {
+        functionDeclaration: string;
+        arguments?: {
+            type: "channel";
+            value: {
+                channel: string;
+                serializationOptions?: {
+                    maxDomDepth?: number | null | undefined;
+                    maxObjectDepth?: number | null | undefined;
+                    includeShadowTree?: "none" | "all" | "open" | undefined;
+                } | undefined;
+                ownership?: "none" | "root" | undefined;
+            };
+        }[] | undefined;
+        sandbox?: string | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const AddPreloadScriptResultSchema: z.ZodLazy<z.ZodObject<{
+        script: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        script: string;
+    }, {
+        script: string;
+    }>>;
+}
+export declare namespace Script {
+    const DisownSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"script.disown">;
+        params: z.ZodLazy<z.ZodObject<{
+            handles: z.ZodArray<z.ZodLazy<z.ZodString>, "many">;
+            target: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                realm: z.ZodLazy<z.ZodString>;
+            }, "strip", z.ZodTypeAny, {
+                realm: string;
+            }, {
+                realm: string;
+            }>>, z.ZodLazy<z.ZodObject<{
+                context: z.ZodLazy<z.ZodString>;
+                sandbox: z.ZodOptional<z.ZodString>;
+            }, "strip", z.ZodTypeAny, {
+                context: string;
+                sandbox?: string | undefined;
+            }, {
+                context: string;
+                sandbox?: string | undefined;
+            }>>]>>;
+        }, "strip", z.ZodTypeAny, {
+            target: ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            }) & ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            } | undefined);
+            handles: string[];
+        }, {
+            target: ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            }) & ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            } | undefined);
+            handles: string[];
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            target: ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            }) & ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            } | undefined);
+            handles: string[];
+        };
+        method: "script.disown";
+    }, {
+        params: {
+            target: ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            }) & ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            } | undefined);
+            handles: string[];
+        };
+        method: "script.disown";
+    }>>;
+}
+export declare namespace Script {
+    const DisownParametersSchema: z.ZodLazy<z.ZodObject<{
+        handles: z.ZodArray<z.ZodLazy<z.ZodString>, "many">;
+        target: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+        }, {
+            realm: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            sandbox: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            sandbox?: string | undefined;
+        }, {
+            context: string;
+            sandbox?: string | undefined;
+        }>>]>>;
+    }, "strip", z.ZodTypeAny, {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        handles: string[];
+    }, {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        handles: string[];
+    }>>;
+}
+export declare namespace Script {
+    const CallFunctionSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"script.callFunction">;
+        params: z.ZodLazy<z.ZodObject<{
+            functionDeclaration: z.ZodString;
+            awaitPromise: z.ZodBoolean;
+            target: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                realm: z.ZodLazy<z.ZodString>;
+            }, "strip", z.ZodTypeAny, {
+                realm: string;
+            }, {
+                realm: string;
+            }>>, z.ZodLazy<z.ZodObject<{
+                context: z.ZodLazy<z.ZodString>;
+                sandbox: z.ZodOptional<z.ZodString>;
+            }, "strip", z.ZodTypeAny, {
+                context: string;
+                sandbox?: string | undefined;
+            }, {
+                context: string;
+                sandbox?: string | undefined;
+            }>>]>>;
+            arguments: z.ZodOptional<z.ZodArray<any, "many">>;
+            resultOwnership: z.ZodOptional<z.ZodLazy<z.ZodEnum<["root", "none"]>>>;
+            serializationOptions: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+                maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+                includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+            }, "strip", z.ZodTypeAny, {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            }, {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            }>>>;
+            this: any;
+            userActivation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+        }, "strip", z.ZodTypeAny, {
+            target: ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            }) & ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            } | undefined);
+            awaitPromise: boolean;
+            functionDeclaration: string;
+            arguments?: any[] | undefined;
+            resultOwnership?: "none" | "root" | undefined;
+            serializationOptions?: {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            } | undefined;
+            this?: any;
+            userActivation?: boolean | undefined;
+        }, {
+            target: ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            }) & ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            } | undefined);
+            awaitPromise: boolean;
+            functionDeclaration: string;
+            arguments?: any[] | undefined;
+            resultOwnership?: "none" | "root" | undefined;
+            serializationOptions?: {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            } | undefined;
+            this?: any;
+            userActivation?: boolean | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            target: ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            }) & ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            } | undefined);
+            awaitPromise: boolean;
+            functionDeclaration: string;
+            arguments?: any[] | undefined;
+            resultOwnership?: "none" | "root" | undefined;
+            serializationOptions?: {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            } | undefined;
+            this?: any;
+            userActivation?: boolean | undefined;
+        };
+        method: "script.callFunction";
+    }, {
+        params: {
+            target: ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            }) & ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            } | undefined);
+            awaitPromise: boolean;
+            functionDeclaration: string;
+            arguments?: any[] | undefined;
+            resultOwnership?: "none" | "root" | undefined;
+            serializationOptions?: {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            } | undefined;
+            this?: any;
+            userActivation?: boolean | undefined;
+        };
+        method: "script.callFunction";
+    }>>;
+}
+export declare namespace Script {
+    const CallFunctionParametersSchema: z.ZodLazy<z.ZodObject<{
+        functionDeclaration: z.ZodString;
+        awaitPromise: z.ZodBoolean;
+        target: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+        }, {
+            realm: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            sandbox: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            sandbox?: string | undefined;
+        }, {
+            context: string;
+            sandbox?: string | undefined;
+        }>>]>>;
+        arguments: z.ZodOptional<z.ZodArray<any, "many">>;
+        resultOwnership: z.ZodOptional<z.ZodLazy<z.ZodEnum<["root", "none"]>>>;
+        serializationOptions: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+        }, "strip", z.ZodTypeAny, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }>>>;
+        this: any;
+        userActivation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+    }, "strip", z.ZodTypeAny, {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        functionDeclaration: string;
+        arguments?: any[] | undefined;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        this?: any;
+        userActivation?: boolean | undefined;
+    }, {
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        functionDeclaration: string;
+        arguments?: any[] | undefined;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        this?: any;
+        userActivation?: boolean | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const EvaluateSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"script.evaluate">;
+        params: z.ZodLazy<z.ZodObject<{
+            expression: z.ZodString;
+            target: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                realm: z.ZodLazy<z.ZodString>;
+            }, "strip", z.ZodTypeAny, {
+                realm: string;
+            }, {
+                realm: string;
+            }>>, z.ZodLazy<z.ZodObject<{
+                context: z.ZodLazy<z.ZodString>;
+                sandbox: z.ZodOptional<z.ZodString>;
+            }, "strip", z.ZodTypeAny, {
+                context: string;
+                sandbox?: string | undefined;
+            }, {
+                context: string;
+                sandbox?: string | undefined;
+            }>>]>>;
+            awaitPromise: z.ZodBoolean;
+            resultOwnership: z.ZodOptional<z.ZodLazy<z.ZodEnum<["root", "none"]>>>;
+            serializationOptions: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+                maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+                includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+            }, "strip", z.ZodTypeAny, {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            }, {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            }>>>;
+            userActivation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+        }, "strip", z.ZodTypeAny, {
+            expression: string;
+            target: ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            }) & ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            } | undefined);
+            awaitPromise: boolean;
+            resultOwnership?: "none" | "root" | undefined;
+            serializationOptions?: {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            } | undefined;
+            userActivation?: boolean | undefined;
+        }, {
+            expression: string;
+            target: ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            }) & ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            } | undefined);
+            awaitPromise: boolean;
+            resultOwnership?: "none" | "root" | undefined;
+            serializationOptions?: {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            } | undefined;
+            userActivation?: boolean | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            expression: string;
+            target: ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            }) & ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            } | undefined);
+            awaitPromise: boolean;
+            resultOwnership?: "none" | "root" | undefined;
+            serializationOptions?: {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            } | undefined;
+            userActivation?: boolean | undefined;
+        };
+        method: "script.evaluate";
+    }, {
+        params: {
+            expression: string;
+            target: ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            }) & ({
+                realm: string;
+            } | {
+                context: string;
+                sandbox?: string | undefined;
+            } | undefined);
+            awaitPromise: boolean;
+            resultOwnership?: "none" | "root" | undefined;
+            serializationOptions?: {
+                maxDomDepth?: number | null | undefined;
+                maxObjectDepth?: number | null | undefined;
+                includeShadowTree?: "none" | "all" | "open" | undefined;
+            } | undefined;
+            userActivation?: boolean | undefined;
+        };
+        method: "script.evaluate";
+    }>>;
+}
+export declare namespace Script {
+    const EvaluateParametersSchema: z.ZodLazy<z.ZodObject<{
+        expression: z.ZodString;
+        target: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+        }, {
+            realm: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            sandbox: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            sandbox?: string | undefined;
+        }, {
+            context: string;
+            sandbox?: string | undefined;
+        }>>]>>;
+        awaitPromise: z.ZodBoolean;
+        resultOwnership: z.ZodOptional<z.ZodLazy<z.ZodEnum<["root", "none"]>>>;
+        serializationOptions: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            maxDomDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            maxObjectDepth: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodLazy<z.ZodNumber>, z.ZodNull]>>>;
+            includeShadowTree: z.ZodOptional<z.ZodDefault<z.ZodEnum<["none", "open", "all"]>>>;
+        }, "strip", z.ZodTypeAny, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }, {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        }>>>;
+        userActivation: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
+    }, "strip", z.ZodTypeAny, {
+        expression: string;
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        userActivation?: boolean | undefined;
+    }, {
+        expression: string;
+        target: ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        }) & ({
+            realm: string;
+        } | {
+            context: string;
+            sandbox?: string | undefined;
+        } | undefined);
+        awaitPromise: boolean;
+        resultOwnership?: "none" | "root" | undefined;
+        serializationOptions?: {
+            maxDomDepth?: number | null | undefined;
+            maxObjectDepth?: number | null | undefined;
+            includeShadowTree?: "none" | "all" | "open" | undefined;
+        } | undefined;
+        userActivation?: boolean | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const GetRealmsSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"script.getRealms">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+            type: z.ZodOptional<z.ZodLazy<z.ZodEnum<["window", "dedicated-worker", "shared-worker", "service-worker", "worker", "paint-worklet", "audio-worklet", "worklet"]>>>;
+        }, "strip", z.ZodTypeAny, {
+            context?: string | undefined;
+            type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+        }, {
+            context?: string | undefined;
+            type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            context?: string | undefined;
+            type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+        };
+        method: "script.getRealms";
+    }, {
+        params: {
+            context?: string | undefined;
+            type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+        };
+        method: "script.getRealms";
+    }>>;
+}
+export declare namespace Script {
+    const GetRealmsParametersSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        type: z.ZodOptional<z.ZodLazy<z.ZodEnum<["window", "dedicated-worker", "shared-worker", "service-worker", "worker", "paint-worklet", "audio-worklet", "worklet"]>>>;
+    }, "strip", z.ZodTypeAny, {
+        context?: string | undefined;
+        type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+    }, {
+        context?: string | undefined;
+        type?: "worker" | "window" | "dedicated-worker" | "shared-worker" | "service-worker" | "paint-worklet" | "audio-worklet" | "worklet" | undefined;
+    }>>;
+}
+export declare namespace Script {
+    const GetRealmsResultSchema: z.ZodLazy<z.ZodObject<{
+        realms: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"window">;
+            context: z.ZodLazy<z.ZodString>;
+            sandbox: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }, {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"dedicated-worker">;
+        }, "strip", z.ZodTypeAny, {
+            type: "dedicated-worker";
+        }, {
+            type: "dedicated-worker";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"shared-worker">;
+        }, "strip", z.ZodTypeAny, {
+            type: "shared-worker";
+        }, {
+            type: "shared-worker";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"service-worker">;
+        }, "strip", z.ZodTypeAny, {
+            type: "service-worker";
+        }, {
+            type: "service-worker";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"worker">;
+        }, "strip", z.ZodTypeAny, {
+            type: "worker";
+        }, {
+            type: "worker";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"paint-worklet">;
+        }, "strip", z.ZodTypeAny, {
+            type: "paint-worklet";
+        }, {
+            type: "paint-worklet";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"audio-worklet">;
+        }, "strip", z.ZodTypeAny, {
+            type: "audio-worklet";
+        }, {
+            type: "audio-worklet";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"worklet">;
+        }, "strip", z.ZodTypeAny, {
+            type: "worklet";
+        }, {
+            type: "worklet";
+        }>>>]>>, "many">;
+    }, "strip", z.ZodTypeAny, {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }, {
+        realms: (({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        }))[];
+    }>>;
+}
+export declare namespace Script {
+    const RemovePreloadScriptCommandSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"script.removePreloadScript">;
+        params: z.ZodLazy<z.ZodObject<{
+            script: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            script: string;
+        }, {
+            script: string;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            script: string;
+        };
+        method: "script.removePreloadScript";
+    }, {
+        params: {
+            script: string;
+        };
+        method: "script.removePreloadScript";
+    }>>;
+}
+export declare namespace Script {
+    const RemovePreloadScriptParametersSchema: z.ZodLazy<z.ZodObject<{
+        script: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        script: string;
+    }, {
+        script: string;
+    }>>;
+}
+export declare namespace Script {
+    const MessageSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"script.message">;
+        params: z.ZodLazy<z.ZodObject<{
+            channel: z.ZodLazy<z.ZodString>;
+            data: any;
+            source: z.ZodLazy<z.ZodObject<{
+                realm: z.ZodLazy<z.ZodString>;
+                context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+            }, "strip", z.ZodTypeAny, {
+                realm: string;
+                context?: string | undefined;
+            }, {
+                realm: string;
+                context?: string | undefined;
+            }>>;
+        }, "strip", z.ZodTypeAny, {
+            channel: string;
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            data?: any;
+        }, {
+            channel: string;
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            data?: any;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            channel: string;
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            data?: any;
+        };
+        method: "script.message";
+    }, {
+        params: {
+            channel: string;
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            data?: any;
+        };
+        method: "script.message";
+    }>>;
+}
+export declare namespace Script {
+    const MessageParametersSchema: z.ZodLazy<z.ZodObject<{
+        channel: z.ZodLazy<z.ZodString>;
+        data: any;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    }, {
+        channel: string;
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        data?: any;
+    }>>;
+}
+export declare namespace Script {
+    const RealmCreatedSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"script.realmCreated">;
+        params: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"window">;
+            context: z.ZodLazy<z.ZodString>;
+            sandbox: z.ZodOptional<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }, {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"dedicated-worker">;
+        }, "strip", z.ZodTypeAny, {
+            type: "dedicated-worker";
+        }, {
+            type: "dedicated-worker";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"shared-worker">;
+        }, "strip", z.ZodTypeAny, {
+            type: "shared-worker";
+        }, {
+            type: "shared-worker";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"service-worker">;
+        }, "strip", z.ZodTypeAny, {
+            type: "service-worker";
+        }, {
+            type: "service-worker";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"worker">;
+        }, "strip", z.ZodTypeAny, {
+            type: "worker";
+        }, {
+            type: "worker";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"paint-worklet">;
+        }, "strip", z.ZodTypeAny, {
+            type: "paint-worklet";
+        }, {
+            type: "paint-worklet";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"audio-worklet">;
+        }, "strip", z.ZodTypeAny, {
+            type: "audio-worklet";
+        }, {
+            type: "audio-worklet";
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            origin: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            origin: string;
+            realm: string;
+        }, {
+            origin: string;
+            realm: string;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"worklet">;
+        }, "strip", z.ZodTypeAny, {
+            type: "worklet";
+        }, {
+            type: "worklet";
+        }>>>]>>;
+    }, "strip", z.ZodTypeAny, {
+        params: ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        });
+        method: "script.realmCreated";
+    }, {
+        params: ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "window";
+            context: string;
+            sandbox?: string | undefined;
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "dedicated-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "shared-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "service-worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worker";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "paint-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "audio-worklet";
+        }) | ({
+            origin: string;
+            realm: string;
+        } & {
+            type: "worklet";
+        });
+        method: "script.realmCreated";
+    }>>;
+}
+export declare namespace Script {
+    const RealmDestroyedSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"script.realmDestroyed">;
+        params: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+        }, {
+            realm: string;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            realm: string;
+        };
+        method: "script.realmDestroyed";
+    }, {
+        params: {
+            realm: string;
+        };
+        method: "script.realmDestroyed";
+    }>>;
+}
+export declare namespace Script {
+    const RealmDestroyedParametersSchema: z.ZodLazy<z.ZodObject<{
+        realm: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        realm: string;
+    }, {
+        realm: string;
+    }>>;
+}
+export declare const LogEventSchema: z.ZodLazy<z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"log.entryAdded">;
+    params: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: string;
+    }, {
+        type: string;
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"console">;
+        method: z.ZodString;
+        args: z.ZodArray<any, "many">;
+    }, "strip", z.ZodTypeAny, {
+        type: "console";
+        args: any[];
+        method: string;
+    }, {
+        type: "console";
+        args: any[];
+        method: string;
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"javascript">;
+    }, "strip", z.ZodTypeAny, {
+        type: "javascript";
+    }, {
+        type: "javascript";
+    }>>>]>>;
+}, "strip", z.ZodTypeAny, {
+    params: ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "javascript";
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    } & {
+        type: "javascript";
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    } & {
+        type: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "javascript";
+    } & {
+        type: string;
+    });
+    method: "log.entryAdded";
+}, {
+    params: ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "javascript";
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: string;
+    } & {
+        type: "javascript";
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "console";
+        args: any[];
+        method: string;
+    } & {
+        type: string;
+    }) | ({
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    } & {
+        type: "javascript";
+    } & {
+        type: string;
+    });
+    method: "log.entryAdded";
+}>>>;
+export declare namespace Log {
+    const LevelSchema: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+}
+export declare namespace Log {
+    const EntrySchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: string;
+    }, {
+        type: string;
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"console">;
+        method: z.ZodString;
+        args: z.ZodArray<any, "many">;
+    }, "strip", z.ZodTypeAny, {
+        type: "console";
+        args: any[];
+        method: string;
+    }, {
+        type: "console";
+        args: any[];
+        method: string;
+    }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"javascript">;
+    }, "strip", z.ZodTypeAny, {
+        type: "javascript";
+    }, {
+        type: "javascript";
+    }>>>]>>;
+}
+export declare namespace Log {
+    const BaseLogEntrySchema: z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>;
+}
+export declare namespace Log {
+    const GenericLogEntrySchema: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: string;
+    }, {
+        type: string;
+    }>>>;
+}
+export declare namespace Log {
+    const ConsoleLogEntrySchema: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"console">;
+        method: z.ZodString;
+        args: z.ZodArray<any, "many">;
+    }, "strip", z.ZodTypeAny, {
+        type: "console";
+        args: any[];
+        method: string;
+    }, {
+        type: "console";
+        args: any[];
+        method: string;
+    }>>>;
+}
+export declare namespace Log {
+    const JavascriptLogEntrySchema: z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+        level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+        source: z.ZodLazy<z.ZodObject<{
+            realm: z.ZodLazy<z.ZodString>;
+            context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            realm: string;
+            context?: string | undefined;
+        }, {
+            realm: string;
+            context?: string | undefined;
+        }>>;
+        text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+        timestamp: z.ZodLazy<z.ZodNumber>;
+        stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                columnNumber: z.ZodLazy<z.ZodNumber>;
+                functionName: z.ZodString;
+                lineNumber: z.ZodLazy<z.ZodNumber>;
+                url: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }, {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }, {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        }>>>;
+    }, "strip", z.ZodTypeAny, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }, {
+        level: "error" | "debug" | "info" | "warn";
+        source: {
+            realm: string;
+            context?: string | undefined;
+        };
+        text: string | null;
+        timestamp: number;
+        stackTrace?: {
+            callFrames: {
+                url: string;
+                columnNumber: number;
+                lineNumber: number;
+                functionName: string;
+            }[];
+        } | undefined;
+    }>>, z.ZodObject<{
+        type: z.ZodLiteral<"javascript">;
+    }, "strip", z.ZodTypeAny, {
+        type: "javascript";
+    }, {
+        type: "javascript";
+    }>>>;
+}
+export declare namespace Log {
+    const EntryAddedSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"log.entryAdded">;
+        params: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+            source: z.ZodLazy<z.ZodObject<{
+                realm: z.ZodLazy<z.ZodString>;
+                context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+            }, "strip", z.ZodTypeAny, {
+                realm: string;
+                context?: string | undefined;
+            }, {
+                realm: string;
+                context?: string | undefined;
+            }>>;
+            text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+            timestamp: z.ZodLazy<z.ZodNumber>;
+            stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    columnNumber: z.ZodLazy<z.ZodNumber>;
+                    functionName: z.ZodString;
+                    lineNumber: z.ZodLazy<z.ZodNumber>;
+                    url: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }>>, "many">;
+            }, "strip", z.ZodTypeAny, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }>>>;
+        }, "strip", z.ZodTypeAny, {
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        }, {
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        }>>, z.ZodObject<{
+            type: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            type: string;
+        }, {
+            type: string;
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+            source: z.ZodLazy<z.ZodObject<{
+                realm: z.ZodLazy<z.ZodString>;
+                context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+            }, "strip", z.ZodTypeAny, {
+                realm: string;
+                context?: string | undefined;
+            }, {
+                realm: string;
+                context?: string | undefined;
+            }>>;
+            text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+            timestamp: z.ZodLazy<z.ZodNumber>;
+            stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    columnNumber: z.ZodLazy<z.ZodNumber>;
+                    functionName: z.ZodString;
+                    lineNumber: z.ZodLazy<z.ZodNumber>;
+                    url: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }>>, "many">;
+            }, "strip", z.ZodTypeAny, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }>>>;
+        }, "strip", z.ZodTypeAny, {
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        }, {
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"console">;
+            method: z.ZodString;
+            args: z.ZodArray<any, "many">;
+        }, "strip", z.ZodTypeAny, {
+            type: "console";
+            args: any[];
+            method: string;
+        }, {
+            type: "console";
+            args: any[];
+            method: string;
+        }>>>, z.ZodLazy<z.ZodIntersection<z.ZodLazy<z.ZodObject<{
+            level: z.ZodLazy<z.ZodEnum<["debug", "info", "warn", "error"]>>;
+            source: z.ZodLazy<z.ZodObject<{
+                realm: z.ZodLazy<z.ZodString>;
+                context: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+            }, "strip", z.ZodTypeAny, {
+                realm: string;
+                context?: string | undefined;
+            }, {
+                realm: string;
+                context?: string | undefined;
+            }>>;
+            text: z.ZodUnion<[z.ZodString, z.ZodNull]>;
+            timestamp: z.ZodLazy<z.ZodNumber>;
+            stackTrace: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                callFrames: z.ZodArray<z.ZodLazy<z.ZodObject<{
+                    columnNumber: z.ZodLazy<z.ZodNumber>;
+                    functionName: z.ZodString;
+                    lineNumber: z.ZodLazy<z.ZodNumber>;
+                    url: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }, {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }>>, "many">;
+            }, "strip", z.ZodTypeAny, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }, {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            }>>>;
+        }, "strip", z.ZodTypeAny, {
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        }, {
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        }>>, z.ZodObject<{
+            type: z.ZodLiteral<"javascript">;
+        }, "strip", z.ZodTypeAny, {
+            type: "javascript";
+        }, {
+            type: "javascript";
+        }>>>]>>;
+    }, "strip", z.ZodTypeAny, {
+        params: ({
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        } & {
+            type: string;
+        }) | ({
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        } & {
+            type: "console";
+            args: any[];
+            method: string;
+        }) | ({
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        } & {
+            type: "javascript";
+        }) | ({
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        } & {
+            type: string;
+        } & {
+            type: "console";
+            args: any[];
+            method: string;
+        }) | ({
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        } & {
+            type: string;
+        } & {
+            type: "javascript";
+        }) | ({
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        } & {
+            type: "console";
+            args: any[];
+            method: string;
+        } & {
+            type: string;
+        }) | ({
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        } & {
+            type: "javascript";
+        } & {
+            type: string;
+        });
+        method: "log.entryAdded";
+    }, {
+        params: ({
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        } & {
+            type: string;
+        }) | ({
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        } & {
+            type: "console";
+            args: any[];
+            method: string;
+        }) | ({
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        } & {
+            type: "javascript";
+        }) | ({
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        } & {
+            type: string;
+        } & {
+            type: "console";
+            args: any[];
+            method: string;
+        }) | ({
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        } & {
+            type: string;
+        } & {
+            type: "javascript";
+        }) | ({
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        } & {
+            type: "console";
+            args: any[];
+            method: string;
+        } & {
+            type: string;
+        }) | ({
+            level: "error" | "debug" | "info" | "warn";
+            source: {
+                realm: string;
+                context?: string | undefined;
+            };
+            text: string | null;
+            timestamp: number;
+            stackTrace?: {
+                callFrames: {
+                    url: string;
+                    columnNumber: number;
+                    lineNumber: number;
+                    functionName: string;
+                }[];
+            } | undefined;
+        } & {
+            type: "javascript";
+        } & {
+            type: string;
+        });
+        method: "log.entryAdded";
+    }>>;
+}
+export declare const InputCommandSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"input.performActions">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"none">;
+            id: z.ZodString;
+            actions: z.ZodArray<z.ZodLazy<z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"pause">;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pause";
+                duration?: number | undefined;
+            }, {
+                type: "pause";
+                duration?: number | undefined;
+            }>>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        }, {
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"key">;
+            id: z.ZodString;
+            actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"pause">;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pause";
+                duration?: number | undefined;
+            }, {
+                type: "pause";
+                duration?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"keyDown">;
+                value: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                type: "keyDown";
+                value: string;
+            }, {
+                type: "keyDown";
+                value: string;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"keyUp">;
+                value: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                type: "keyUp";
+                value: string;
+            }, {
+                type: "keyUp";
+                value: string;
+            }>>]>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        }, {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"pointer">;
+            id: z.ZodString;
+            parameters: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                pointerType: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodEnum<["mouse", "pen", "touch"]>>>>;
+            }, "strip", z.ZodTypeAny, {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            }, {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            }>>>;
+            actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"pause">;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pause";
+                duration?: number | undefined;
+            }, {
+                type: "pause";
+                duration?: number | undefined;
+            }>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                type: z.ZodLiteral<"pointerDown">;
+                button: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pointerDown";
+                button: number;
+            }, {
+                type: "pointerDown";
+                button: number;
+            }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }>>]>>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                type: z.ZodLiteral<"pointerUp">;
+                button: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pointerUp";
+                button: number;
+            }, {
+                type: "pointerUp";
+                button: number;
+            }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }>>]>>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                type: z.ZodLiteral<"pointerMove">;
+                x: z.ZodLazy<z.ZodNumber>;
+                y: z.ZodLazy<z.ZodNumber>;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                origin: z.ZodOptional<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"element">;
+                    element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                        sharedId: z.ZodLazy<z.ZodString>;
+                        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+                    }, "strip", z.ZodTypeAny, {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    }, {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+                }, "strip", z.ZodTypeAny, {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                }, {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                }>>]>>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            }, {
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }>>]>>>>>]>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        }, {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"wheel">;
+            id: z.ZodString;
+            actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"pause">;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pause";
+                duration?: number | undefined;
+            }, {
+                type: "pause";
+                duration?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"scroll">;
+                x: z.ZodLazy<z.ZodNumber>;
+                y: z.ZodLazy<z.ZodNumber>;
+                deltaX: z.ZodLazy<z.ZodNumber>;
+                deltaY: z.ZodLazy<z.ZodNumber>;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                origin: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"element">;
+                    element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                        sharedId: z.ZodLazy<z.ZodString>;
+                        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+                    }, "strip", z.ZodTypeAny, {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    }, {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+                }, "strip", z.ZodTypeAny, {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                }, {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                }>>]>>>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            }, {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            }>>]>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        }, {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        }>>]>>, "many">;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        actions: ({
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        } | {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        } | {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        } | {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        })[];
+    }, {
+        context: string;
+        actions: ({
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        } | {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        } | {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        } | {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        })[];
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+        actions: ({
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        } | {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        } | {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        } | {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        })[];
+    };
+    method: "input.performActions";
+}, {
+    params: {
+        context: string;
+        actions: ({
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        } | {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        } | {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        } | {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        })[];
+    };
+    method: "input.performActions";
+}>>, z.ZodLazy<z.ZodObject<{
+    method: z.ZodLiteral<"input.releaseActions">;
+    params: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+    }, {
+        context: string;
+    }>>;
+}, "strip", z.ZodTypeAny, {
+    params: {
+        context: string;
+    };
+    method: "input.releaseActions";
+}, {
+    params: {
+        context: string;
+    };
+    method: "input.releaseActions";
+}>>]>>;
+export declare namespace Input {
+    const ElementOriginSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"element">;
+        element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            sharedId: z.ZodLazy<z.ZodString>;
+            handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            sharedId: string;
+            handle?: string | undefined;
+        }, {
+            sharedId: string;
+            handle?: string | undefined;
+        }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "element";
+        element: {
+            sharedId: string;
+            handle?: string | undefined;
+        } & Record<string, any>;
+    }, {
+        type: "element";
+        element: {
+            sharedId: string;
+            handle?: string | undefined;
+        } & Record<string, any>;
+    }>>;
+}
+export declare namespace Input {
+    const PerformActionsSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"input.performActions">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+            actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"none">;
+                id: z.ZodString;
+                actions: z.ZodArray<z.ZodLazy<z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"pause">;
+                    duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                }, "strip", z.ZodTypeAny, {
+                    type: "pause";
+                    duration?: number | undefined;
+                }, {
+                    type: "pause";
+                    duration?: number | undefined;
+                }>>>, "many">;
+            }, "strip", z.ZodTypeAny, {
+                type: "none";
+                actions: {
+                    type: "pause";
+                    duration?: number | undefined;
+                }[];
+                id: string;
+            }, {
+                type: "none";
+                actions: {
+                    type: "pause";
+                    duration?: number | undefined;
+                }[];
+                id: string;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"key">;
+                id: z.ZodString;
+                actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"pause">;
+                    duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                }, "strip", z.ZodTypeAny, {
+                    type: "pause";
+                    duration?: number | undefined;
+                }, {
+                    type: "pause";
+                    duration?: number | undefined;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"keyDown">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "keyDown";
+                    value: string;
+                }, {
+                    type: "keyDown";
+                    value: string;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"keyUp">;
+                    value: z.ZodString;
+                }, "strip", z.ZodTypeAny, {
+                    type: "keyUp";
+                    value: string;
+                }, {
+                    type: "keyUp";
+                    value: string;
+                }>>]>>, "many">;
+            }, "strip", z.ZodTypeAny, {
+                type: "key";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | {
+                    type: "keyDown";
+                    value: string;
+                } | {
+                    type: "keyUp";
+                    value: string;
+                })[];
+                id: string;
+            }, {
+                type: "key";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | {
+                    type: "keyDown";
+                    value: string;
+                } | {
+                    type: "keyUp";
+                    value: string;
+                })[];
+                id: string;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"pointer">;
+                id: z.ZodString;
+                parameters: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                    pointerType: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodEnum<["mouse", "pen", "touch"]>>>>;
+                }, "strip", z.ZodTypeAny, {
+                    pointerType?: "touch" | "mouse" | "pen" | undefined;
+                }, {
+                    pointerType?: "touch" | "mouse" | "pen" | undefined;
+                }>>>;
+                actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"pause">;
+                    duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                }, "strip", z.ZodTypeAny, {
+                    type: "pause";
+                    duration?: number | undefined;
+                }, {
+                    type: "pause";
+                    duration?: number | undefined;
+                }>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                    type: z.ZodLiteral<"pointerDown">;
+                    button: z.ZodLazy<z.ZodNumber>;
+                }, "strip", z.ZodTypeAny, {
+                    type: "pointerDown";
+                    button: number;
+                }, {
+                    type: "pointerDown";
+                    button: number;
+                }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                    width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                    height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                    pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                    tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                    twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                }, "strip", z.ZodTypeAny, {
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                }, {
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                    tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                }, "strip", z.ZodTypeAny, {
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                }, {
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                    azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                }, "strip", z.ZodTypeAny, {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }, {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }>>]>>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                    type: z.ZodLiteral<"pointerUp">;
+                    button: z.ZodLazy<z.ZodNumber>;
+                }, "strip", z.ZodTypeAny, {
+                    type: "pointerUp";
+                    button: number;
+                }, {
+                    type: "pointerUp";
+                    button: number;
+                }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                    width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                    height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                    pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                    tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                    twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                }, "strip", z.ZodTypeAny, {
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                }, {
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                    tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                }, "strip", z.ZodTypeAny, {
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                }, {
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                    azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                }, "strip", z.ZodTypeAny, {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }, {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }>>]>>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                    type: z.ZodLiteral<"pointerMove">;
+                    x: z.ZodLazy<z.ZodNumber>;
+                    y: z.ZodLazy<z.ZodNumber>;
+                    duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                    origin: z.ZodOptional<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"element">;
+                        element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                            sharedId: z.ZodLazy<z.ZodString>;
+                            handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+                        }, "strip", z.ZodTypeAny, {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        }, {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    }, {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    }>>]>>>;
+                }, "strip", z.ZodTypeAny, {
+                    type: "pointerMove";
+                    x: number;
+                    y: number;
+                    duration?: number | undefined;
+                    origin?: "viewport" | "pointer" | {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    } | undefined;
+                }, {
+                    type: "pointerMove";
+                    x: number;
+                    y: number;
+                    duration?: number | undefined;
+                    origin?: "viewport" | "pointer" | {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    } | undefined;
+                }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                    width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                    height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                    pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                    tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                    twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                }, "strip", z.ZodTypeAny, {
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                }, {
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                    tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                }, "strip", z.ZodTypeAny, {
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                }, {
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                    azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                }, "strip", z.ZodTypeAny, {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }, {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }>>]>>>>>]>>, "many">;
+            }, "strip", z.ZodTypeAny, {
+                type: "pointer";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | ({
+                    type: "pointerDown";
+                    button: number;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))) | ({
+                    type: "pointerUp";
+                    button: number;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))) | ({
+                    type: "pointerMove";
+                    x: number;
+                    y: number;
+                    duration?: number | undefined;
+                    origin?: "viewport" | "pointer" | {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    } | undefined;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))))[];
+                id: string;
+                parameters?: {
+                    pointerType?: "touch" | "mouse" | "pen" | undefined;
+                } | undefined;
+            }, {
+                type: "pointer";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | ({
+                    type: "pointerDown";
+                    button: number;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))) | ({
+                    type: "pointerUp";
+                    button: number;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))) | ({
+                    type: "pointerMove";
+                    x: number;
+                    y: number;
+                    duration?: number | undefined;
+                    origin?: "viewport" | "pointer" | {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    } | undefined;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))))[];
+                id: string;
+                parameters?: {
+                    pointerType?: "touch" | "mouse" | "pen" | undefined;
+                } | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"wheel">;
+                id: z.ZodString;
+                actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"pause">;
+                    duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                }, "strip", z.ZodTypeAny, {
+                    type: "pause";
+                    duration?: number | undefined;
+                }, {
+                    type: "pause";
+                    duration?: number | undefined;
+                }>>, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"scroll">;
+                    x: z.ZodLazy<z.ZodNumber>;
+                    y: z.ZodLazy<z.ZodNumber>;
+                    deltaX: z.ZodLazy<z.ZodNumber>;
+                    deltaY: z.ZodLazy<z.ZodNumber>;
+                    duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                    origin: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+                        type: z.ZodLiteral<"element">;
+                        element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                            sharedId: z.ZodLazy<z.ZodString>;
+                            handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+                        }, "strip", z.ZodTypeAny, {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        }, {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+                    }, "strip", z.ZodTypeAny, {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    }, {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    }>>]>>>>;
+                }, "strip", z.ZodTypeAny, {
+                    type: "scroll";
+                    x: number;
+                    y: number;
+                    deltaX: number;
+                    deltaY: number;
+                    duration?: number | undefined;
+                    origin?: "viewport" | "pointer" | {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    } | undefined;
+                }, {
+                    type: "scroll";
+                    x: number;
+                    y: number;
+                    deltaX: number;
+                    deltaY: number;
+                    duration?: number | undefined;
+                    origin?: "viewport" | "pointer" | {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    } | undefined;
+                }>>]>>, "many">;
+            }, "strip", z.ZodTypeAny, {
+                type: "wheel";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | {
+                    type: "scroll";
+                    x: number;
+                    y: number;
+                    deltaX: number;
+                    deltaY: number;
+                    duration?: number | undefined;
+                    origin?: "viewport" | "pointer" | {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    } | undefined;
+                })[];
+                id: string;
+            }, {
+                type: "wheel";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | {
+                    type: "scroll";
+                    x: number;
+                    y: number;
+                    deltaX: number;
+                    deltaY: number;
+                    duration?: number | undefined;
+                    origin?: "viewport" | "pointer" | {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    } | undefined;
+                })[];
+                id: string;
+            }>>]>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+            actions: ({
+                type: "none";
+                actions: {
+                    type: "pause";
+                    duration?: number | undefined;
+                }[];
+                id: string;
+            } | {
+                type: "key";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | {
+                    type: "keyDown";
+                    value: string;
+                } | {
+                    type: "keyUp";
+                    value: string;
+                })[];
+                id: string;
+            } | {
+                type: "pointer";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | ({
+                    type: "pointerDown";
+                    button: number;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))) | ({
+                    type: "pointerUp";
+                    button: number;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))) | ({
+                    type: "pointerMove";
+                    x: number;
+                    y: number;
+                    duration?: number | undefined;
+                    origin?: "viewport" | "pointer" | {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    } | undefined;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))))[];
+                id: string;
+                parameters?: {
+                    pointerType?: "touch" | "mouse" | "pen" | undefined;
+                } | undefined;
+            } | {
+                type: "wheel";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | {
+                    type: "scroll";
+                    x: number;
+                    y: number;
+                    deltaX: number;
+                    deltaY: number;
+                    duration?: number | undefined;
+                    origin?: "viewport" | "pointer" | {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    } | undefined;
+                })[];
+                id: string;
+            })[];
+        }, {
+            context: string;
+            actions: ({
+                type: "none";
+                actions: {
+                    type: "pause";
+                    duration?: number | undefined;
+                }[];
+                id: string;
+            } | {
+                type: "key";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | {
+                    type: "keyDown";
+                    value: string;
+                } | {
+                    type: "keyUp";
+                    value: string;
+                })[];
+                id: string;
+            } | {
+                type: "pointer";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | ({
+                    type: "pointerDown";
+                    button: number;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))) | ({
+                    type: "pointerUp";
+                    button: number;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))) | ({
+                    type: "pointerMove";
+                    x: number;
+                    y: number;
+                    duration?: number | undefined;
+                    origin?: "viewport" | "pointer" | {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    } | undefined;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))))[];
+                id: string;
+                parameters?: {
+                    pointerType?: "touch" | "mouse" | "pen" | undefined;
+                } | undefined;
+            } | {
+                type: "wheel";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | {
+                    type: "scroll";
+                    x: number;
+                    y: number;
+                    deltaX: number;
+                    deltaY: number;
+                    duration?: number | undefined;
+                    origin?: "viewport" | "pointer" | {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    } | undefined;
+                })[];
+                id: string;
+            })[];
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            context: string;
+            actions: ({
+                type: "none";
+                actions: {
+                    type: "pause";
+                    duration?: number | undefined;
+                }[];
+                id: string;
+            } | {
+                type: "key";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | {
+                    type: "keyDown";
+                    value: string;
+                } | {
+                    type: "keyUp";
+                    value: string;
+                })[];
+                id: string;
+            } | {
+                type: "pointer";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | ({
+                    type: "pointerDown";
+                    button: number;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))) | ({
+                    type: "pointerUp";
+                    button: number;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))) | ({
+                    type: "pointerMove";
+                    x: number;
+                    y: number;
+                    duration?: number | undefined;
+                    origin?: "viewport" | "pointer" | {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    } | undefined;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))))[];
+                id: string;
+                parameters?: {
+                    pointerType?: "touch" | "mouse" | "pen" | undefined;
+                } | undefined;
+            } | {
+                type: "wheel";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | {
+                    type: "scroll";
+                    x: number;
+                    y: number;
+                    deltaX: number;
+                    deltaY: number;
+                    duration?: number | undefined;
+                    origin?: "viewport" | "pointer" | {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    } | undefined;
+                })[];
+                id: string;
+            })[];
+        };
+        method: "input.performActions";
+    }, {
+        params: {
+            context: string;
+            actions: ({
+                type: "none";
+                actions: {
+                    type: "pause";
+                    duration?: number | undefined;
+                }[];
+                id: string;
+            } | {
+                type: "key";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | {
+                    type: "keyDown";
+                    value: string;
+                } | {
+                    type: "keyUp";
+                    value: string;
+                })[];
+                id: string;
+            } | {
+                type: "pointer";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | ({
+                    type: "pointerDown";
+                    button: number;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))) | ({
+                    type: "pointerUp";
+                    button: number;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))) | ({
+                    type: "pointerMove";
+                    x: number;
+                    y: number;
+                    duration?: number | undefined;
+                    origin?: "viewport" | "pointer" | {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    } | undefined;
+                } & ({
+                    width?: number | undefined;
+                    height?: number | undefined;
+                    pressure?: number | undefined;
+                    tangentialPressure?: number | undefined;
+                    twist?: number | undefined;
+                } & ({
+                    tiltX?: number | undefined;
+                    tiltY?: number | undefined;
+                } | {
+                    altitudeAngle?: number | undefined;
+                    azimuthAngle?: number | undefined;
+                }))))[];
+                id: string;
+                parameters?: {
+                    pointerType?: "touch" | "mouse" | "pen" | undefined;
+                } | undefined;
+            } | {
+                type: "wheel";
+                actions: ({
+                    type: "pause";
+                    duration?: number | undefined;
+                } | {
+                    type: "scroll";
+                    x: number;
+                    y: number;
+                    deltaX: number;
+                    deltaY: number;
+                    duration?: number | undefined;
+                    origin?: "viewport" | "pointer" | {
+                        type: "element";
+                        element: {
+                            sharedId: string;
+                            handle?: string | undefined;
+                        } & Record<string, any>;
+                    } | undefined;
+                })[];
+                id: string;
+            })[];
+        };
+        method: "input.performActions";
+    }>>;
+}
+export declare namespace Input {
+    const PerformActionsParametersSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+        actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"none">;
+            id: z.ZodString;
+            actions: z.ZodArray<z.ZodLazy<z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"pause">;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pause";
+                duration?: number | undefined;
+            }, {
+                type: "pause";
+                duration?: number | undefined;
+            }>>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        }, {
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"key">;
+            id: z.ZodString;
+            actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"pause">;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pause";
+                duration?: number | undefined;
+            }, {
+                type: "pause";
+                duration?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"keyDown">;
+                value: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                type: "keyDown";
+                value: string;
+            }, {
+                type: "keyDown";
+                value: string;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"keyUp">;
+                value: z.ZodString;
+            }, "strip", z.ZodTypeAny, {
+                type: "keyUp";
+                value: string;
+            }, {
+                type: "keyUp";
+                value: string;
+            }>>]>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        }, {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"pointer">;
+            id: z.ZodString;
+            parameters: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+                pointerType: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodEnum<["mouse", "pen", "touch"]>>>>;
+            }, "strip", z.ZodTypeAny, {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            }, {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            }>>>;
+            actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"pause">;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pause";
+                duration?: number | undefined;
+            }, {
+                type: "pause";
+                duration?: number | undefined;
+            }>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                type: z.ZodLiteral<"pointerDown">;
+                button: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pointerDown";
+                button: number;
+            }, {
+                type: "pointerDown";
+                button: number;
+            }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }>>]>>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                type: z.ZodLiteral<"pointerUp">;
+                button: z.ZodLazy<z.ZodNumber>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pointerUp";
+                button: number;
+            }, {
+                type: "pointerUp";
+                button: number;
+            }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }>>]>>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                type: z.ZodLiteral<"pointerMove">;
+                x: z.ZodLazy<z.ZodNumber>;
+                y: z.ZodLazy<z.ZodNumber>;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                origin: z.ZodOptional<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"element">;
+                    element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                        sharedId: z.ZodLazy<z.ZodString>;
+                        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+                    }, "strip", z.ZodTypeAny, {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    }, {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+                }, "strip", z.ZodTypeAny, {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                }, {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                }>>]>>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            }, {
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+                pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }, {
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }, {
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+                azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }, {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }>>]>>>>>]>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        }, {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"wheel">;
+            id: z.ZodString;
+            actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"pause">;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "pause";
+                duration?: number | undefined;
+            }, {
+                type: "pause";
+                duration?: number | undefined;
+            }>>, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"scroll">;
+                x: z.ZodLazy<z.ZodNumber>;
+                y: z.ZodLazy<z.ZodNumber>;
+                deltaX: z.ZodLazy<z.ZodNumber>;
+                deltaY: z.ZodLazy<z.ZodNumber>;
+                duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+                origin: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+                    type: z.ZodLiteral<"element">;
+                    element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                        sharedId: z.ZodLazy<z.ZodString>;
+                        handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+                    }, "strip", z.ZodTypeAny, {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    }, {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+                }, "strip", z.ZodTypeAny, {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                }, {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                }>>]>>>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            }, {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            }>>]>>, "many">;
+        }, "strip", z.ZodTypeAny, {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        }, {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        }>>]>>, "many">;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+        actions: ({
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        } | {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        } | {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        } | {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        })[];
+    }, {
+        context: string;
+        actions: ({
+            type: "none";
+            actions: {
+                type: "pause";
+                duration?: number | undefined;
+            }[];
+            id: string;
+        } | {
+            type: "key";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "keyDown";
+                value: string;
+            } | {
+                type: "keyUp";
+                value: string;
+            })[];
+            id: string;
+        } | {
+            type: "pointer";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | ({
+                type: "pointerDown";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerUp";
+                button: number;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))) | ({
+                type: "pointerMove";
+                x: number;
+                y: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            } & ({
+                width?: number | undefined;
+                height?: number | undefined;
+                pressure?: number | undefined;
+                tangentialPressure?: number | undefined;
+                twist?: number | undefined;
+            } & ({
+                tiltX?: number | undefined;
+                tiltY?: number | undefined;
+            } | {
+                altitudeAngle?: number | undefined;
+                azimuthAngle?: number | undefined;
+            }))))[];
+            id: string;
+            parameters?: {
+                pointerType?: "touch" | "mouse" | "pen" | undefined;
+            } | undefined;
+        } | {
+            type: "wheel";
+            actions: ({
+                type: "pause";
+                duration?: number | undefined;
+            } | {
+                type: "scroll";
+                x: number;
+                y: number;
+                deltaX: number;
+                deltaY: number;
+                duration?: number | undefined;
+                origin?: "viewport" | "pointer" | {
+                    type: "element";
+                    element: {
+                        sharedId: string;
+                        handle?: string | undefined;
+                    } & Record<string, any>;
+                } | undefined;
+            })[];
+            id: string;
+        })[];
+    }>>;
+}
+export declare namespace Input {
+    const SourceActionsSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"none">;
+        id: z.ZodString;
+        actions: z.ZodArray<z.ZodLazy<z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"pause">;
+            duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "pause";
+            duration?: number | undefined;
+        }, {
+            type: "pause";
+            duration?: number | undefined;
+        }>>>, "many">;
+    }, "strip", z.ZodTypeAny, {
+        type: "none";
+        actions: {
+            type: "pause";
+            duration?: number | undefined;
+        }[];
+        id: string;
+    }, {
+        type: "none";
+        actions: {
+            type: "pause";
+            duration?: number | undefined;
+        }[];
+        id: string;
+    }>>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"key">;
+        id: z.ZodString;
+        actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"pause">;
+            duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "pause";
+            duration?: number | undefined;
+        }, {
+            type: "pause";
+            duration?: number | undefined;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"keyDown">;
+            value: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            type: "keyDown";
+            value: string;
+        }, {
+            type: "keyDown";
+            value: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"keyUp">;
+            value: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            type: "keyUp";
+            value: string;
+        }, {
+            type: "keyUp";
+            value: string;
+        }>>]>>, "many">;
+    }, "strip", z.ZodTypeAny, {
+        type: "key";
+        actions: ({
+            type: "pause";
+            duration?: number | undefined;
+        } | {
+            type: "keyDown";
+            value: string;
+        } | {
+            type: "keyUp";
+            value: string;
+        })[];
+        id: string;
+    }, {
+        type: "key";
+        actions: ({
+            type: "pause";
+            duration?: number | undefined;
+        } | {
+            type: "keyDown";
+            value: string;
+        } | {
+            type: "keyUp";
+            value: string;
+        })[];
+        id: string;
+    }>>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"pointer">;
+        id: z.ZodString;
+        parameters: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            pointerType: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodEnum<["mouse", "pen", "touch"]>>>>;
+        }, "strip", z.ZodTypeAny, {
+            pointerType?: "touch" | "mouse" | "pen" | undefined;
+        }, {
+            pointerType?: "touch" | "mouse" | "pen" | undefined;
+        }>>>;
+        actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"pause">;
+            duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "pause";
+            duration?: number | undefined;
+        }, {
+            type: "pause";
+            duration?: number | undefined;
+        }>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            type: z.ZodLiteral<"pointerDown">;
+            button: z.ZodLazy<z.ZodNumber>;
+        }, "strip", z.ZodTypeAny, {
+            type: "pointerDown";
+            button: number;
+        }, {
+            type: "pointerDown";
+            button: number;
+        }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+            height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+            pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        }, {
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        }, {
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        }>>, z.ZodLazy<z.ZodObject<{
+            altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }, {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }>>]>>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            type: z.ZodLiteral<"pointerUp">;
+            button: z.ZodLazy<z.ZodNumber>;
+        }, "strip", z.ZodTypeAny, {
+            type: "pointerUp";
+            button: number;
+        }, {
+            type: "pointerUp";
+            button: number;
+        }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+            height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+            pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        }, {
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        }, {
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        }>>, z.ZodLazy<z.ZodObject<{
+            altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }, {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }>>]>>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            type: z.ZodLiteral<"pointerMove">;
+            x: z.ZodLazy<z.ZodNumber>;
+            y: z.ZodLazy<z.ZodNumber>;
+            duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            origin: z.ZodOptional<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"element">;
+                element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                    sharedId: z.ZodLazy<z.ZodString>;
+                    handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+                }, "strip", z.ZodTypeAny, {
+                    sharedId: string;
+                    handle?: string | undefined;
+                }, {
+                    sharedId: string;
+                    handle?: string | undefined;
+                }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            }, {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            }>>]>>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "pointerMove";
+            x: number;
+            y: number;
+            duration?: number | undefined;
+            origin?: "viewport" | "pointer" | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            } | undefined;
+        }, {
+            type: "pointerMove";
+            x: number;
+            y: number;
+            duration?: number | undefined;
+            origin?: "viewport" | "pointer" | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            } | undefined;
+        }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+            height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+            pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        }, {
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        }, {
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        }>>, z.ZodLazy<z.ZodObject<{
+            altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }, {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }>>]>>>>>]>>, "many">;
+    }, "strip", z.ZodTypeAny, {
+        type: "pointer";
+        actions: ({
+            type: "pause";
+            duration?: number | undefined;
+        } | ({
+            type: "pointerDown";
+            button: number;
+        } & ({
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        } & ({
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        } | {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }))) | ({
+            type: "pointerUp";
+            button: number;
+        } & ({
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        } & ({
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        } | {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }))) | ({
+            type: "pointerMove";
+            x: number;
+            y: number;
+            duration?: number | undefined;
+            origin?: "viewport" | "pointer" | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            } | undefined;
+        } & ({
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        } & ({
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        } | {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }))))[];
+        id: string;
+        parameters?: {
+            pointerType?: "touch" | "mouse" | "pen" | undefined;
+        } | undefined;
+    }, {
+        type: "pointer";
+        actions: ({
+            type: "pause";
+            duration?: number | undefined;
+        } | ({
+            type: "pointerDown";
+            button: number;
+        } & ({
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        } & ({
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        } | {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }))) | ({
+            type: "pointerUp";
+            button: number;
+        } & ({
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        } & ({
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        } | {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }))) | ({
+            type: "pointerMove";
+            x: number;
+            y: number;
+            duration?: number | undefined;
+            origin?: "viewport" | "pointer" | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            } | undefined;
+        } & ({
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        } & ({
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        } | {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }))))[];
+        id: string;
+        parameters?: {
+            pointerType?: "touch" | "mouse" | "pen" | undefined;
+        } | undefined;
+    }>>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"wheel">;
+        id: z.ZodString;
+        actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"pause">;
+            duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "pause";
+            duration?: number | undefined;
+        }, {
+            type: "pause";
+            duration?: number | undefined;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"scroll">;
+            x: z.ZodLazy<z.ZodNumber>;
+            y: z.ZodLazy<z.ZodNumber>;
+            deltaX: z.ZodLazy<z.ZodNumber>;
+            deltaY: z.ZodLazy<z.ZodNumber>;
+            duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            origin: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"element">;
+                element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                    sharedId: z.ZodLazy<z.ZodString>;
+                    handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+                }, "strip", z.ZodTypeAny, {
+                    sharedId: string;
+                    handle?: string | undefined;
+                }, {
+                    sharedId: string;
+                    handle?: string | undefined;
+                }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            }, {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            }>>]>>>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "scroll";
+            x: number;
+            y: number;
+            deltaX: number;
+            deltaY: number;
+            duration?: number | undefined;
+            origin?: "viewport" | "pointer" | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            } | undefined;
+        }, {
+            type: "scroll";
+            x: number;
+            y: number;
+            deltaX: number;
+            deltaY: number;
+            duration?: number | undefined;
+            origin?: "viewport" | "pointer" | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            } | undefined;
+        }>>]>>, "many">;
+    }, "strip", z.ZodTypeAny, {
+        type: "wheel";
+        actions: ({
+            type: "pause";
+            duration?: number | undefined;
+        } | {
+            type: "scroll";
+            x: number;
+            y: number;
+            deltaX: number;
+            deltaY: number;
+            duration?: number | undefined;
+            origin?: "viewport" | "pointer" | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            } | undefined;
+        })[];
+        id: string;
+    }, {
+        type: "wheel";
+        actions: ({
+            type: "pause";
+            duration?: number | undefined;
+        } | {
+            type: "scroll";
+            x: number;
+            y: number;
+            deltaX: number;
+            deltaY: number;
+            duration?: number | undefined;
+            origin?: "viewport" | "pointer" | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            } | undefined;
+        })[];
+        id: string;
+    }>>]>>;
+}
+export declare namespace Input {
+    const NoneSourceActionsSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"none">;
+        id: z.ZodString;
+        actions: z.ZodArray<z.ZodLazy<z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"pause">;
+            duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "pause";
+            duration?: number | undefined;
+        }, {
+            type: "pause";
+            duration?: number | undefined;
+        }>>>, "many">;
+    }, "strip", z.ZodTypeAny, {
+        type: "none";
+        actions: {
+            type: "pause";
+            duration?: number | undefined;
+        }[];
+        id: string;
+    }, {
+        type: "none";
+        actions: {
+            type: "pause";
+            duration?: number | undefined;
+        }[];
+        id: string;
+    }>>;
+}
+export declare namespace Input {
+    const NoneSourceActionSchema: z.ZodLazy<z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"pause">;
+        duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "pause";
+        duration?: number | undefined;
+    }, {
+        type: "pause";
+        duration?: number | undefined;
+    }>>>;
+}
+export declare namespace Input {
+    const KeySourceActionsSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"key">;
+        id: z.ZodString;
+        actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"pause">;
+            duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "pause";
+            duration?: number | undefined;
+        }, {
+            type: "pause";
+            duration?: number | undefined;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"keyDown">;
+            value: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            type: "keyDown";
+            value: string;
+        }, {
+            type: "keyDown";
+            value: string;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"keyUp">;
+            value: z.ZodString;
+        }, "strip", z.ZodTypeAny, {
+            type: "keyUp";
+            value: string;
+        }, {
+            type: "keyUp";
+            value: string;
+        }>>]>>, "many">;
+    }, "strip", z.ZodTypeAny, {
+        type: "key";
+        actions: ({
+            type: "pause";
+            duration?: number | undefined;
+        } | {
+            type: "keyDown";
+            value: string;
+        } | {
+            type: "keyUp";
+            value: string;
+        })[];
+        id: string;
+    }, {
+        type: "key";
+        actions: ({
+            type: "pause";
+            duration?: number | undefined;
+        } | {
+            type: "keyDown";
+            value: string;
+        } | {
+            type: "keyUp";
+            value: string;
+        })[];
+        id: string;
+    }>>;
+}
+export declare namespace Input {
+    const KeySourceActionSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"pause">;
+        duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "pause";
+        duration?: number | undefined;
+    }, {
+        type: "pause";
+        duration?: number | undefined;
+    }>>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"keyDown">;
+        value: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: "keyDown";
+        value: string;
+    }, {
+        type: "keyDown";
+        value: string;
+    }>>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"keyUp">;
+        value: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: "keyUp";
+        value: string;
+    }, {
+        type: "keyUp";
+        value: string;
+    }>>]>>;
+}
+export declare namespace Input {
+    const PointerSourceActionsSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"pointer">;
+        id: z.ZodString;
+        parameters: z.ZodOptional<z.ZodLazy<z.ZodObject<{
+            pointerType: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodEnum<["mouse", "pen", "touch"]>>>>;
+        }, "strip", z.ZodTypeAny, {
+            pointerType?: "touch" | "mouse" | "pen" | undefined;
+        }, {
+            pointerType?: "touch" | "mouse" | "pen" | undefined;
+        }>>>;
+        actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"pause">;
+            duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "pause";
+            duration?: number | undefined;
+        }, {
+            type: "pause";
+            duration?: number | undefined;
+        }>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            type: z.ZodLiteral<"pointerDown">;
+            button: z.ZodLazy<z.ZodNumber>;
+        }, "strip", z.ZodTypeAny, {
+            type: "pointerDown";
+            button: number;
+        }, {
+            type: "pointerDown";
+            button: number;
+        }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+            height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+            pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        }, {
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        }, {
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        }>>, z.ZodLazy<z.ZodObject<{
+            altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }, {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }>>]>>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            type: z.ZodLiteral<"pointerUp">;
+            button: z.ZodLazy<z.ZodNumber>;
+        }, "strip", z.ZodTypeAny, {
+            type: "pointerUp";
+            button: number;
+        }, {
+            type: "pointerUp";
+            button: number;
+        }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+            height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+            pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        }, {
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        }, {
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        }>>, z.ZodLazy<z.ZodObject<{
+            altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }, {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }>>]>>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            type: z.ZodLiteral<"pointerMove">;
+            x: z.ZodLazy<z.ZodNumber>;
+            y: z.ZodLazy<z.ZodNumber>;
+            duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            origin: z.ZodOptional<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"element">;
+                element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                    sharedId: z.ZodLazy<z.ZodString>;
+                    handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+                }, "strip", z.ZodTypeAny, {
+                    sharedId: string;
+                    handle?: string | undefined;
+                }, {
+                    sharedId: string;
+                    handle?: string | undefined;
+                }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            }, {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            }>>]>>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "pointerMove";
+            x: number;
+            y: number;
+            duration?: number | undefined;
+            origin?: "viewport" | "pointer" | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            } | undefined;
+        }, {
+            type: "pointerMove";
+            x: number;
+            y: number;
+            duration?: number | undefined;
+            origin?: "viewport" | "pointer" | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            } | undefined;
+        }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+            height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+            pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        }, {
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        }, {
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        }>>, z.ZodLazy<z.ZodObject<{
+            altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+            azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }, {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }>>]>>>>>]>>, "many">;
+    }, "strip", z.ZodTypeAny, {
+        type: "pointer";
+        actions: ({
+            type: "pause";
+            duration?: number | undefined;
+        } | ({
+            type: "pointerDown";
+            button: number;
+        } & ({
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        } & ({
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        } | {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }))) | ({
+            type: "pointerUp";
+            button: number;
+        } & ({
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        } & ({
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        } | {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }))) | ({
+            type: "pointerMove";
+            x: number;
+            y: number;
+            duration?: number | undefined;
+            origin?: "viewport" | "pointer" | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            } | undefined;
+        } & ({
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        } & ({
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        } | {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }))))[];
+        id: string;
+        parameters?: {
+            pointerType?: "touch" | "mouse" | "pen" | undefined;
+        } | undefined;
+    }, {
+        type: "pointer";
+        actions: ({
+            type: "pause";
+            duration?: number | undefined;
+        } | ({
+            type: "pointerDown";
+            button: number;
+        } & ({
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        } & ({
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        } | {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }))) | ({
+            type: "pointerUp";
+            button: number;
+        } & ({
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        } & ({
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        } | {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }))) | ({
+            type: "pointerMove";
+            x: number;
+            y: number;
+            duration?: number | undefined;
+            origin?: "viewport" | "pointer" | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            } | undefined;
+        } & ({
+            width?: number | undefined;
+            height?: number | undefined;
+            pressure?: number | undefined;
+            tangentialPressure?: number | undefined;
+            twist?: number | undefined;
+        } & ({
+            tiltX?: number | undefined;
+            tiltY?: number | undefined;
+        } | {
+            altitudeAngle?: number | undefined;
+            azimuthAngle?: number | undefined;
+        }))))[];
+        id: string;
+        parameters?: {
+            pointerType?: "touch" | "mouse" | "pen" | undefined;
+        } | undefined;
+    }>>;
+}
+export declare namespace Input {
+    const PointerTypeSchema: z.ZodLazy<z.ZodEnum<["mouse", "pen", "touch"]>>;
+}
+export declare namespace Input {
+    const PointerParametersSchema: z.ZodLazy<z.ZodObject<{
+        pointerType: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodEnum<["mouse", "pen", "touch"]>>>>;
+    }, "strip", z.ZodTypeAny, {
+        pointerType?: "touch" | "mouse" | "pen" | undefined;
+    }, {
+        pointerType?: "touch" | "mouse" | "pen" | undefined;
+    }>>;
+}
+export declare namespace Input {
+    const PointerSourceActionSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"pause">;
+        duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "pause";
+        duration?: number | undefined;
+    }, {
+        type: "pause";
+        duration?: number | undefined;
+    }>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        type: z.ZodLiteral<"pointerDown">;
+        button: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        type: "pointerDown";
+        button: number;
+    }, {
+        type: "pointerDown";
+        button: number;
+    }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+        height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+        pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        width?: number | undefined;
+        height?: number | undefined;
+        pressure?: number | undefined;
+        tangentialPressure?: number | undefined;
+        twist?: number | undefined;
+    }, {
+        width?: number | undefined;
+        height?: number | undefined;
+        pressure?: number | undefined;
+        tangentialPressure?: number | undefined;
+        twist?: number | undefined;
+    }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        tiltX?: number | undefined;
+        tiltY?: number | undefined;
+    }, {
+        tiltX?: number | undefined;
+        tiltY?: number | undefined;
+    }>>, z.ZodLazy<z.ZodObject<{
+        altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        altitudeAngle?: number | undefined;
+        azimuthAngle?: number | undefined;
+    }, {
+        altitudeAngle?: number | undefined;
+        azimuthAngle?: number | undefined;
+    }>>]>>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        type: z.ZodLiteral<"pointerUp">;
+        button: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        type: "pointerUp";
+        button: number;
+    }, {
+        type: "pointerUp";
+        button: number;
+    }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+        height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+        pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        width?: number | undefined;
+        height?: number | undefined;
+        pressure?: number | undefined;
+        tangentialPressure?: number | undefined;
+        twist?: number | undefined;
+    }, {
+        width?: number | undefined;
+        height?: number | undefined;
+        pressure?: number | undefined;
+        tangentialPressure?: number | undefined;
+        twist?: number | undefined;
+    }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        tiltX?: number | undefined;
+        tiltY?: number | undefined;
+    }, {
+        tiltX?: number | undefined;
+        tiltY?: number | undefined;
+    }>>, z.ZodLazy<z.ZodObject<{
+        altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        altitudeAngle?: number | undefined;
+        azimuthAngle?: number | undefined;
+    }, {
+        altitudeAngle?: number | undefined;
+        azimuthAngle?: number | undefined;
+    }>>]>>>>>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        type: z.ZodLiteral<"pointerMove">;
+        x: z.ZodLazy<z.ZodNumber>;
+        y: z.ZodLazy<z.ZodNumber>;
+        duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        origin: z.ZodOptional<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"element">;
+            element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                sharedId: z.ZodLazy<z.ZodString>;
+                handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+            }, "strip", z.ZodTypeAny, {
+                sharedId: string;
+                handle?: string | undefined;
+            }, {
+                sharedId: string;
+                handle?: string | undefined;
+            }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+        }, {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+        }>>]>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "pointerMove";
+        x: number;
+        y: number;
+        duration?: number | undefined;
+        origin?: "viewport" | "pointer" | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+        } | undefined;
+    }, {
+        type: "pointerMove";
+        x: number;
+        y: number;
+        duration?: number | undefined;
+        origin?: "viewport" | "pointer" | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+        } | undefined;
+    }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+        height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+        pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        width?: number | undefined;
+        height?: number | undefined;
+        pressure?: number | undefined;
+        tangentialPressure?: number | undefined;
+        twist?: number | undefined;
+    }, {
+        width?: number | undefined;
+        height?: number | undefined;
+        pressure?: number | undefined;
+        tangentialPressure?: number | undefined;
+        twist?: number | undefined;
+    }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        tiltX?: number | undefined;
+        tiltY?: number | undefined;
+    }, {
+        tiltX?: number | undefined;
+        tiltY?: number | undefined;
+    }>>, z.ZodLazy<z.ZodObject<{
+        altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        altitudeAngle?: number | undefined;
+        azimuthAngle?: number | undefined;
+    }, {
+        altitudeAngle?: number | undefined;
+        azimuthAngle?: number | undefined;
+    }>>]>>>>>]>>;
+}
+export declare namespace Input {
+    const WheelSourceActionsSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"wheel">;
+        id: z.ZodString;
+        actions: z.ZodArray<z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"pause">;
+            duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "pause";
+            duration?: number | undefined;
+        }, {
+            type: "pause";
+            duration?: number | undefined;
+        }>>, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"scroll">;
+            x: z.ZodLazy<z.ZodNumber>;
+            y: z.ZodLazy<z.ZodNumber>;
+            deltaX: z.ZodLazy<z.ZodNumber>;
+            deltaY: z.ZodLazy<z.ZodNumber>;
+            duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+            origin: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+                type: z.ZodLiteral<"element">;
+                element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                    sharedId: z.ZodLazy<z.ZodString>;
+                    handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+                }, "strip", z.ZodTypeAny, {
+                    sharedId: string;
+                    handle?: string | undefined;
+                }, {
+                    sharedId: string;
+                    handle?: string | undefined;
+                }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+            }, "strip", z.ZodTypeAny, {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            }, {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            }>>]>>>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "scroll";
+            x: number;
+            y: number;
+            deltaX: number;
+            deltaY: number;
+            duration?: number | undefined;
+            origin?: "viewport" | "pointer" | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            } | undefined;
+        }, {
+            type: "scroll";
+            x: number;
+            y: number;
+            deltaX: number;
+            deltaY: number;
+            duration?: number | undefined;
+            origin?: "viewport" | "pointer" | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            } | undefined;
+        }>>]>>, "many">;
+    }, "strip", z.ZodTypeAny, {
+        type: "wheel";
+        actions: ({
+            type: "pause";
+            duration?: number | undefined;
+        } | {
+            type: "scroll";
+            x: number;
+            y: number;
+            deltaX: number;
+            deltaY: number;
+            duration?: number | undefined;
+            origin?: "viewport" | "pointer" | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            } | undefined;
+        })[];
+        id: string;
+    }, {
+        type: "wheel";
+        actions: ({
+            type: "pause";
+            duration?: number | undefined;
+        } | {
+            type: "scroll";
+            x: number;
+            y: number;
+            deltaX: number;
+            deltaY: number;
+            duration?: number | undefined;
+            origin?: "viewport" | "pointer" | {
+                type: "element";
+                element: {
+                    sharedId: string;
+                    handle?: string | undefined;
+                } & Record<string, any>;
+            } | undefined;
+        })[];
+        id: string;
+    }>>;
+}
+export declare namespace Input {
+    const WheelSourceActionSchema: z.ZodLazy<z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"pause">;
+        duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "pause";
+        duration?: number | undefined;
+    }, {
+        type: "pause";
+        duration?: number | undefined;
+    }>>, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"scroll">;
+        x: z.ZodLazy<z.ZodNumber>;
+        y: z.ZodLazy<z.ZodNumber>;
+        deltaX: z.ZodLazy<z.ZodNumber>;
+        deltaY: z.ZodLazy<z.ZodNumber>;
+        duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        origin: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"element">;
+            element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                sharedId: z.ZodLazy<z.ZodString>;
+                handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+            }, "strip", z.ZodTypeAny, {
+                sharedId: string;
+                handle?: string | undefined;
+            }, {
+                sharedId: string;
+                handle?: string | undefined;
+            }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+        }, {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+        }>>]>>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "scroll";
+        x: number;
+        y: number;
+        deltaX: number;
+        deltaY: number;
+        duration?: number | undefined;
+        origin?: "viewport" | "pointer" | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+        } | undefined;
+    }, {
+        type: "scroll";
+        x: number;
+        y: number;
+        deltaX: number;
+        deltaY: number;
+        duration?: number | undefined;
+        origin?: "viewport" | "pointer" | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+        } | undefined;
+    }>>]>>;
+}
+export declare namespace Input {
+    const PauseActionSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"pause">;
+        duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "pause";
+        duration?: number | undefined;
+    }, {
+        type: "pause";
+        duration?: number | undefined;
+    }>>;
+}
+export declare namespace Input {
+    const KeyDownActionSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"keyDown">;
+        value: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: "keyDown";
+        value: string;
+    }, {
+        type: "keyDown";
+        value: string;
+    }>>;
+}
+export declare namespace Input {
+    const KeyUpActionSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"keyUp">;
+        value: z.ZodString;
+    }, "strip", z.ZodTypeAny, {
+        type: "keyUp";
+        value: string;
+    }, {
+        type: "keyUp";
+        value: string;
+    }>>;
+}
+export declare namespace Input {
+    const PointerUpActionSchema: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        type: z.ZodLiteral<"pointerUp">;
+        button: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        type: "pointerUp";
+        button: number;
+    }, {
+        type: "pointerUp";
+        button: number;
+    }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+        height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+        pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        width?: number | undefined;
+        height?: number | undefined;
+        pressure?: number | undefined;
+        tangentialPressure?: number | undefined;
+        twist?: number | undefined;
+    }, {
+        width?: number | undefined;
+        height?: number | undefined;
+        pressure?: number | undefined;
+        tangentialPressure?: number | undefined;
+        twist?: number | undefined;
+    }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        tiltX?: number | undefined;
+        tiltY?: number | undefined;
+    }, {
+        tiltX?: number | undefined;
+        tiltY?: number | undefined;
+    }>>, z.ZodLazy<z.ZodObject<{
+        altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        altitudeAngle?: number | undefined;
+        azimuthAngle?: number | undefined;
+    }, {
+        altitudeAngle?: number | undefined;
+        azimuthAngle?: number | undefined;
+    }>>]>>>>>;
+}
+export declare namespace Input {
+    const PointerDownActionSchema: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        type: z.ZodLiteral<"pointerDown">;
+        button: z.ZodLazy<z.ZodNumber>;
+    }, "strip", z.ZodTypeAny, {
+        type: "pointerDown";
+        button: number;
+    }, {
+        type: "pointerDown";
+        button: number;
+    }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+        height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+        pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        width?: number | undefined;
+        height?: number | undefined;
+        pressure?: number | undefined;
+        tangentialPressure?: number | undefined;
+        twist?: number | undefined;
+    }, {
+        width?: number | undefined;
+        height?: number | undefined;
+        pressure?: number | undefined;
+        tangentialPressure?: number | undefined;
+        twist?: number | undefined;
+    }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        tiltX?: number | undefined;
+        tiltY?: number | undefined;
+    }, {
+        tiltX?: number | undefined;
+        tiltY?: number | undefined;
+    }>>, z.ZodLazy<z.ZodObject<{
+        altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        altitudeAngle?: number | undefined;
+        azimuthAngle?: number | undefined;
+    }, {
+        altitudeAngle?: number | undefined;
+        azimuthAngle?: number | undefined;
+    }>>]>>>>>;
+}
+export declare namespace Input {
+    const PointerMoveActionSchema: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        type: z.ZodLiteral<"pointerMove">;
+        x: z.ZodLazy<z.ZodNumber>;
+        y: z.ZodLazy<z.ZodNumber>;
+        duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        origin: z.ZodOptional<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"element">;
+            element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                sharedId: z.ZodLazy<z.ZodString>;
+                handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+            }, "strip", z.ZodTypeAny, {
+                sharedId: string;
+                handle?: string | undefined;
+            }, {
+                sharedId: string;
+                handle?: string | undefined;
+            }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+        }, {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+        }>>]>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "pointerMove";
+        x: number;
+        y: number;
+        duration?: number | undefined;
+        origin?: "viewport" | "pointer" | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+        } | undefined;
+    }, {
+        type: "pointerMove";
+        x: number;
+        y: number;
+        duration?: number | undefined;
+        origin?: "viewport" | "pointer" | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+        } | undefined;
+    }>, z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+        height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+        pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        width?: number | undefined;
+        height?: number | undefined;
+        pressure?: number | undefined;
+        tangentialPressure?: number | undefined;
+        twist?: number | undefined;
+    }, {
+        width?: number | undefined;
+        height?: number | undefined;
+        pressure?: number | undefined;
+        tangentialPressure?: number | undefined;
+        twist?: number | undefined;
+    }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        tiltX?: number | undefined;
+        tiltY?: number | undefined;
+    }, {
+        tiltX?: number | undefined;
+        tiltY?: number | undefined;
+    }>>, z.ZodLazy<z.ZodObject<{
+        altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        altitudeAngle?: number | undefined;
+        azimuthAngle?: number | undefined;
+    }, {
+        altitudeAngle?: number | undefined;
+        azimuthAngle?: number | undefined;
+    }>>]>>>>>;
+}
+export declare namespace Input {
+    const WheelScrollActionSchema: z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"scroll">;
+        x: z.ZodLazy<z.ZodNumber>;
+        y: z.ZodLazy<z.ZodNumber>;
+        deltaX: z.ZodLazy<z.ZodNumber>;
+        deltaY: z.ZodLazy<z.ZodNumber>;
+        duration: z.ZodOptional<z.ZodLazy<z.ZodNumber>>;
+        origin: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+            type: z.ZodLiteral<"element">;
+            element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+                sharedId: z.ZodLazy<z.ZodString>;
+                handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+            }, "strip", z.ZodTypeAny, {
+                sharedId: string;
+                handle?: string | undefined;
+            }, {
+                sharedId: string;
+                handle?: string | undefined;
+            }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+        }, "strip", z.ZodTypeAny, {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+        }, {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+        }>>]>>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "scroll";
+        x: number;
+        y: number;
+        deltaX: number;
+        deltaY: number;
+        duration?: number | undefined;
+        origin?: "viewport" | "pointer" | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+        } | undefined;
+    }, {
+        type: "scroll";
+        x: number;
+        y: number;
+        deltaX: number;
+        deltaY: number;
+        duration?: number | undefined;
+        origin?: "viewport" | "pointer" | {
+            type: "element";
+            element: {
+                sharedId: string;
+                handle?: string | undefined;
+            } & Record<string, any>;
+        } | undefined;
+    }>>;
+}
+export declare namespace Input {
+    const PointerCommonPropertiesSchema: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+        width: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+        height: z.ZodOptional<z.ZodDefault<z.ZodLazy<z.ZodNumber>>>;
+        pressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        tangentialPressure: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        twist: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        width?: number | undefined;
+        height?: number | undefined;
+        pressure?: number | undefined;
+        tangentialPressure?: number | undefined;
+        twist?: number | undefined;
+    }, {
+        width?: number | undefined;
+        height?: number | undefined;
+        pressure?: number | undefined;
+        tangentialPressure?: number | undefined;
+        twist?: number | undefined;
+    }>, z.ZodUnion<[z.ZodLazy<z.ZodObject<{
+        tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        tiltX?: number | undefined;
+        tiltY?: number | undefined;
+    }, {
+        tiltX?: number | undefined;
+        tiltY?: number | undefined;
+    }>>, z.ZodLazy<z.ZodObject<{
+        altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        altitudeAngle?: number | undefined;
+        azimuthAngle?: number | undefined;
+    }, {
+        altitudeAngle?: number | undefined;
+        azimuthAngle?: number | undefined;
+    }>>]>>>;
+}
+export declare namespace Input {
+    const AnglePropertiesSchema: z.ZodLazy<z.ZodObject<{
+        altitudeAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        azimuthAngle: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        altitudeAngle?: number | undefined;
+        azimuthAngle?: number | undefined;
+    }, {
+        altitudeAngle?: number | undefined;
+        azimuthAngle?: number | undefined;
+    }>>;
+}
+export declare namespace Input {
+    const TiltPropertiesSchema: z.ZodLazy<z.ZodObject<{
+        tiltX: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+        tiltY: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
+    }, "strip", z.ZodTypeAny, {
+        tiltX?: number | undefined;
+        tiltY?: number | undefined;
+    }, {
+        tiltX?: number | undefined;
+        tiltY?: number | undefined;
+    }>>;
+}
+export declare namespace Input {
+    const OriginSchema: z.ZodLazy<z.ZodUnion<[z.ZodLiteral<"viewport">, z.ZodLiteral<"pointer">, z.ZodLazy<z.ZodObject<{
+        type: z.ZodLiteral<"element">;
+        element: z.ZodLazy<z.ZodIntersection<z.ZodObject<{
+            sharedId: z.ZodLazy<z.ZodString>;
+            handle: z.ZodOptional<z.ZodLazy<z.ZodString>>;
+        }, "strip", z.ZodTypeAny, {
+            sharedId: string;
+            handle?: string | undefined;
+        }, {
+            sharedId: string;
+            handle?: string | undefined;
+        }>, z.ZodLazy<z.ZodRecord<z.ZodString, z.ZodAny>>>>;
+    }, "strip", z.ZodTypeAny, {
+        type: "element";
+        element: {
+            sharedId: string;
+            handle?: string | undefined;
+        } & Record<string, any>;
+    }, {
+        type: "element";
+        element: {
+            sharedId: string;
+            handle?: string | undefined;
+        } & Record<string, any>;
+    }>>]>>;
+}
+export declare namespace Input {
+    const ReleaseActionsSchema: z.ZodLazy<z.ZodObject<{
+        method: z.ZodLiteral<"input.releaseActions">;
+        params: z.ZodLazy<z.ZodObject<{
+            context: z.ZodLazy<z.ZodString>;
+        }, "strip", z.ZodTypeAny, {
+            context: string;
+        }, {
+            context: string;
+        }>>;
+    }, "strip", z.ZodTypeAny, {
+        params: {
+            context: string;
+        };
+        method: "input.releaseActions";
+    }, {
+        params: {
+            context: string;
+        };
+        method: "input.releaseActions";
+    }>>;
+}
+export declare namespace Input {
+    const ReleaseActionsParametersSchema: z.ZodLazy<z.ZodObject<{
+        context: z.ZodLazy<z.ZodString>;
+    }, "strip", z.ZodTypeAny, {
+        context: string;
+    }, {
+        context: string;
+    }>>;
+}
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol-parser/webdriver-bidi.js b/node_modules/chromium-bidi/lib/cjs/protocol-parser/webdriver-bidi.js
new file mode 100644
index 0000000..03fa08b
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/protocol-parser/webdriver-bidi.js
@@ -0,0 +1,1633 @@
+"use strict";
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Input = exports.InputCommandSchema = exports.Log = exports.LogEventSchema = exports.Script = exports.ScriptEventSchema = exports.ScriptResultSchema = exports.ScriptCommandSchema = exports.Network = exports.NetworkEventSchema = exports.NetworkResultSchema = exports.NetworkCommandSchema = exports.BrowsingContext = exports.BrowsingContextEventSchema = exports.BrowsingContextResultSchema = exports.BrowsingContextCommandSchema = exports.Browser = exports.BrowserCommandSchema = exports.Session = exports.SessionResultSchema = exports.SessionCommandSchema = exports.ErrorCodeSchema = exports.JsUintSchema = exports.JsIntSchema = exports.ExtensibleSchema = exports.EventDataSchema = exports.EventSchema = exports.EmptyResultSchema = exports.ResultDataSchema = exports.ErrorResponseSchema = exports.CommandResponseSchema = exports.MessageSchema = exports.EmptyParamsSchema = exports.CommandDataSchema = exports.CommandSchema = void 0;
+/**
+ * THIS FILE IS AUTOGENERATED. Run `npm run bidi-types` to regenerate.
+ * @see https://github.com/w3c/webdriver-bidi/blob/master/index.bs
+ */
+// eslint-disable-next-line @typescript-eslint/ban-ts-comment
+// @ts-nocheck Some types may be circular.
+const zod_1 = __importDefault(require("zod"));
+exports.CommandSchema = zod_1.default.lazy(() => zod_1.default
+    .object({
+    id: exports.JsUintSchema,
+})
+    .and(exports.CommandDataSchema)
+    .and(exports.ExtensibleSchema));
+exports.CommandDataSchema = zod_1.default.lazy(() => zod_1.default.union([
+    exports.BrowserCommandSchema,
+    exports.BrowsingContextCommandSchema,
+    exports.InputCommandSchema,
+    exports.NetworkCommandSchema,
+    exports.ScriptCommandSchema,
+    exports.SessionCommandSchema,
+]));
+exports.EmptyParamsSchema = zod_1.default.lazy(() => exports.ExtensibleSchema);
+exports.MessageSchema = zod_1.default.lazy(() => zod_1.default.union([exports.CommandResponseSchema, exports.ErrorResponseSchema, exports.EventSchema]));
+exports.CommandResponseSchema = zod_1.default.lazy(() => zod_1.default
+    .object({
+    type: zod_1.default.literal('success'),
+    id: exports.JsUintSchema,
+    result: exports.ResultDataSchema,
+})
+    .and(exports.ExtensibleSchema));
+exports.ErrorResponseSchema = zod_1.default.lazy(() => zod_1.default
+    .object({
+    type: zod_1.default.literal('error'),
+    id: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]),
+    error: exports.ErrorCodeSchema,
+    message: zod_1.default.string(),
+    stacktrace: zod_1.default.string().optional(),
+})
+    .and(exports.ExtensibleSchema));
+exports.ResultDataSchema = zod_1.default.lazy(() => zod_1.default.union([
+    exports.BrowsingContextResultSchema,
+    exports.EmptyResultSchema,
+    exports.NetworkResultSchema,
+    exports.ScriptResultSchema,
+    exports.SessionResultSchema,
+]));
+exports.EmptyResultSchema = zod_1.default.lazy(() => exports.ExtensibleSchema);
+exports.EventSchema = zod_1.default.lazy(() => zod_1.default
+    .object({
+    type: zod_1.default.literal('event'),
+})
+    .and(exports.EventDataSchema)
+    .and(exports.ExtensibleSchema));
+exports.EventDataSchema = zod_1.default.lazy(() => zod_1.default.union([
+    exports.BrowsingContextEventSchema,
+    exports.LogEventSchema,
+    exports.NetworkEventSchema,
+    exports.ScriptEventSchema,
+]));
+exports.ExtensibleSchema = zod_1.default.lazy(() => zod_1.default.record(zod_1.default.string(), zod_1.default.any()));
+exports.JsIntSchema = zod_1.default.lazy(() => zod_1.default.number().int().gte(-9007199254740991).lte(9007199254740991));
+exports.JsUintSchema = zod_1.default.lazy(() => zod_1.default.number().int().nonnegative().gte(0).lte(9007199254740991));
+exports.ErrorCodeSchema = zod_1.default.lazy(() => zod_1.default.enum([
+    'invalid argument',
+    'invalid session id',
+    'move target out of bounds',
+    'no such alert',
+    'no such element',
+    'no such frame',
+    'no such handle',
+    'no such node',
+    'no such script',
+    'session not created',
+    'unable to capture screen',
+    'unable to close browser',
+    'unknown command',
+    'unknown error',
+    'unsupported operation',
+]));
+exports.SessionCommandSchema = zod_1.default.lazy(() => zod_1.default.union([
+    Session.EndSchema,
+    Session.NewSchema,
+    Session.StatusSchema,
+    Session.SubscribeSchema,
+    Session.UnsubscribeSchema,
+]));
+exports.SessionResultSchema = zod_1.default.lazy(() => zod_1.default.union([Session.NewResultSchema, Session.StatusResultSchema]));
+var Session;
+(function (Session) {
+    Session.CapabilitiesRequestSchema = zod_1.default.lazy(() => zod_1.default.object({
+        alwaysMatch: Session.CapabilityRequestSchema.optional(),
+        firstMatch: zod_1.default.array(Session.CapabilityRequestSchema).optional(),
+    }));
+})(Session || (exports.Session = Session = {}));
+(function (Session) {
+    Session.CapabilityRequestSchema = zod_1.default.lazy(() => zod_1.default
+        .object({
+        acceptInsecureCerts: zod_1.default.boolean().optional(),
+        browserName: zod_1.default.string().optional(),
+        browserVersion: zod_1.default.string().optional(),
+        platformName: zod_1.default.string().optional(),
+        proxy: zod_1.default
+            .object({
+            proxyType: zod_1.default
+                .enum(['pac', 'direct', 'autodetect', 'system', 'manual'])
+                .optional(),
+            proxyAutoconfigUrl: zod_1.default.string().optional(),
+            ftpProxy: zod_1.default.string().optional(),
+            httpProxy: zod_1.default.string().optional(),
+            noProxy: zod_1.default.array(zod_1.default.string()).optional(),
+            sslProxy: zod_1.default.string().optional(),
+            socksProxy: zod_1.default.string().optional(),
+            socksVersion: zod_1.default
+                .number()
+                .int()
+                .nonnegative()
+                .gte(0)
+                .lte(255)
+                .optional(),
+        })
+            .optional(),
+    })
+        .and(exports.ExtensibleSchema));
+})(Session || (exports.Session = Session = {}));
+(function (Session) {
+    Session.SubscriptionRequestSchema = zod_1.default.lazy(() => zod_1.default.object({
+        events: zod_1.default.array(zod_1.default.string()),
+        contexts: zod_1.default.array(BrowsingContext.BrowsingContextSchema).optional(),
+    }));
+})(Session || (exports.Session = Session = {}));
+(function (Session) {
+    Session.StatusSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('session.status'),
+        params: exports.EmptyParamsSchema,
+    }));
+})(Session || (exports.Session = Session = {}));
+(function (Session) {
+    Session.StatusResultSchema = zod_1.default.lazy(() => zod_1.default.object({
+        ready: zod_1.default.boolean(),
+        message: zod_1.default.string(),
+    }));
+})(Session || (exports.Session = Session = {}));
+(function (Session) {
+    Session.NewSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('session.new'),
+        params: Session.NewParametersSchema,
+    }));
+})(Session || (exports.Session = Session = {}));
+(function (Session) {
+    Session.NewParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        capabilities: Session.CapabilitiesRequestSchema,
+    }));
+})(Session || (exports.Session = Session = {}));
+(function (Session) {
+    Session.NewResultSchema = zod_1.default.lazy(() => zod_1.default.object({
+        sessionId: zod_1.default.string(),
+        capabilities: zod_1.default
+            .object({
+            acceptInsecureCerts: zod_1.default.boolean(),
+            browserName: zod_1.default.string(),
+            browserVersion: zod_1.default.string(),
+            platformName: zod_1.default.string(),
+            proxy: zod_1.default.object({
+                proxyType: zod_1.default
+                    .enum(['pac', 'direct', 'autodetect', 'system', 'manual'])
+                    .optional(),
+                proxyAutoconfigUrl: zod_1.default.string().optional(),
+                ftpProxy: zod_1.default.string().optional(),
+                httpProxy: zod_1.default.string().optional(),
+                noProxy: zod_1.default.array(zod_1.default.string()).optional(),
+                sslProxy: zod_1.default.string().optional(),
+                socksProxy: zod_1.default.string().optional(),
+                socksVersion: zod_1.default
+                    .number()
+                    .int()
+                    .nonnegative()
+                    .gte(0)
+                    .lte(255)
+                    .optional(),
+            }),
+            setWindowRect: zod_1.default.boolean(),
+        })
+            .and(exports.ExtensibleSchema),
+    }));
+})(Session || (exports.Session = Session = {}));
+(function (Session) {
+    Session.EndSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('session.end'),
+        params: exports.EmptyParamsSchema,
+    }));
+})(Session || (exports.Session = Session = {}));
+(function (Session) {
+    Session.SubscribeSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('session.subscribe'),
+        params: Session.SubscriptionRequestSchema,
+    }));
+})(Session || (exports.Session = Session = {}));
+(function (Session) {
+    Session.UnsubscribeSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('session.unsubscribe'),
+        params: Session.SubscriptionRequestSchema,
+    }));
+})(Session || (exports.Session = Session = {}));
+exports.BrowserCommandSchema = zod_1.default.lazy(() => Browser.CloseSchema);
+var Browser;
+(function (Browser) {
+    Browser.CloseSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browser.close'),
+        params: exports.EmptyParamsSchema,
+    }));
+})(Browser || (exports.Browser = Browser = {}));
+exports.BrowsingContextCommandSchema = zod_1.default.lazy(() => zod_1.default.union([
+    BrowsingContext.ActivateSchema,
+    BrowsingContext.CaptureScreenshotSchema,
+    BrowsingContext.CloseSchema,
+    BrowsingContext.CreateSchema,
+    BrowsingContext.GetTreeSchema,
+    BrowsingContext.HandleUserPromptSchema,
+    BrowsingContext.NavigateSchema,
+    BrowsingContext.PrintSchema,
+    BrowsingContext.ReloadSchema,
+    BrowsingContext.SetViewportSchema,
+]));
+exports.BrowsingContextResultSchema = zod_1.default.lazy(() => zod_1.default.union([
+    BrowsingContext.CaptureScreenshotResultSchema,
+    BrowsingContext.CreateResultSchema,
+    BrowsingContext.GetTreeResultSchema,
+    BrowsingContext.NavigateResultSchema,
+    BrowsingContext.PrintResultSchema,
+]));
+exports.BrowsingContextEventSchema = zod_1.default.lazy(() => zod_1.default.union([
+    BrowsingContext.ContextCreatedSchema,
+    BrowsingContext.ContextDestroyedSchema,
+    BrowsingContext.NavigationStartedSchema,
+    BrowsingContext.FragmentNavigatedSchema,
+    BrowsingContext.DomContentLoadedSchema,
+    BrowsingContext.LoadSchema,
+    BrowsingContext.DownloadWillBeginSchema,
+    BrowsingContext.NavigationAbortedSchema,
+    BrowsingContext.NavigationFailedSchema,
+    BrowsingContext.UserPromptClosedSchema,
+    BrowsingContext.UserPromptOpenedSchema,
+]));
+var BrowsingContext;
+(function (BrowsingContext) {
+    BrowsingContext.BrowsingContextSchema = zod_1.default.lazy(() => zod_1.default.string());
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.InfoListSchema = zod_1.default.lazy(() => zod_1.default.array(BrowsingContext.InfoSchema));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.InfoSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema,
+        url: zod_1.default.string(),
+        children: zod_1.default.union([BrowsingContext.InfoListSchema, zod_1.default.null()]),
+        parent: zod_1.default
+            .union([BrowsingContext.BrowsingContextSchema, zod_1.default.null()])
+            .optional(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.NavigationSchema = zod_1.default.lazy(() => zod_1.default.string());
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.NavigationInfoSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema,
+        navigation: zod_1.default.union([BrowsingContext.NavigationSchema, zod_1.default.null()]),
+        timestamp: exports.JsUintSchema,
+        url: zod_1.default.string(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.ReadinessStateSchema = zod_1.default.lazy(() => zod_1.default.enum(['none', 'interactive', 'complete']));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.ActivateSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.activate'),
+        params: BrowsingContext.ActivateParametersSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.ActivateParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.CaptureScreenshotSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.captureScreenshot'),
+        params: BrowsingContext.CaptureScreenshotParametersSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.CaptureScreenshotParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema,
+        clip: BrowsingContext.ClipRectangleSchema.optional(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.ClipRectangleSchema = zod_1.default.lazy(() => zod_1.default.union([
+        BrowsingContext.BoxClipRectangleSchema,
+        BrowsingContext.ElementClipRectangleSchema,
+    ]));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.ElementClipRectangleSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('element'),
+        element: Script.SharedReferenceSchema,
+        scrollIntoView: zod_1.default.boolean().optional(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.BoxClipRectangleSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('viewport'),
+        x: zod_1.default.number(),
+        y: zod_1.default.number(),
+        width: zod_1.default.number(),
+        height: zod_1.default.number(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.CaptureScreenshotResultSchema = zod_1.default.lazy(() => zod_1.default.object({
+        data: zod_1.default.string(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.CloseSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.close'),
+        params: BrowsingContext.CloseParametersSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.CloseParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.CreateSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.create'),
+        params: BrowsingContext.CreateParametersSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.CreateTypeSchema = zod_1.default.lazy(() => zod_1.default.enum(['tab', 'window']));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.CreateParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: BrowsingContext.CreateTypeSchema,
+        referenceContext: BrowsingContext.BrowsingContextSchema.optional(),
+        background: zod_1.default.boolean().default(false).optional(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.CreateResultSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.GetTreeSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.getTree'),
+        params: BrowsingContext.GetTreeParametersSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.GetTreeParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        maxDepth: exports.JsUintSchema.optional(),
+        root: BrowsingContext.BrowsingContextSchema.optional(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.GetTreeResultSchema = zod_1.default.lazy(() => zod_1.default.object({
+        contexts: BrowsingContext.InfoListSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.HandleUserPromptSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.handleUserPrompt'),
+        params: BrowsingContext.HandleUserPromptParametersSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.HandleUserPromptParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema,
+        accept: zod_1.default.boolean().optional(),
+        userText: zod_1.default.string().optional(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.NavigateSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.navigate'),
+        params: BrowsingContext.NavigateParametersSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.NavigateParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema,
+        url: zod_1.default.string(),
+        wait: BrowsingContext.ReadinessStateSchema.optional(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.NavigateResultSchema = zod_1.default.lazy(() => zod_1.default.object({
+        navigation: zod_1.default.union([BrowsingContext.NavigationSchema, zod_1.default.null()]),
+        url: zod_1.default.string(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.PrintSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.print'),
+        params: BrowsingContext.PrintParametersSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.PrintParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema,
+        background: zod_1.default.boolean().default(false).optional(),
+        margin: BrowsingContext.PrintMarginParametersSchema.optional(),
+        orientation: zod_1.default
+            .enum(['portrait', 'landscape'])
+            .default('portrait')
+            .optional(),
+        page: BrowsingContext.PrintPageParametersSchema.optional(),
+        pageRanges: zod_1.default.array(zod_1.default.union([exports.JsUintSchema, zod_1.default.string()])).optional(),
+        scale: zod_1.default.number().gte(0.1).lte(2).default(1).optional(),
+        shrinkToFit: zod_1.default.boolean().default(true).optional(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.PrintMarginParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        bottom: zod_1.default.number().gte(0).default(1).optional(),
+        left: zod_1.default.number().gte(0).default(1).optional(),
+        right: zod_1.default.number().gte(0).default(1).optional(),
+        top: zod_1.default.number().gte(0).default(1).optional(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.PrintPageParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        height: zod_1.default.number().gte(0).default(27.94).optional(),
+        width: zod_1.default.number().gte(0).default(21.59).optional(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.PrintResultSchema = zod_1.default.lazy(() => zod_1.default.object({
+        data: zod_1.default.string(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.ReloadSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.reload'),
+        params: BrowsingContext.ReloadParametersSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.ReloadParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema,
+        ignoreCache: zod_1.default.boolean().optional(),
+        wait: BrowsingContext.ReadinessStateSchema.optional(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.SetViewportSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.setViewport'),
+        params: BrowsingContext.SetViewportParametersSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.SetViewportParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema,
+        viewport: zod_1.default.union([BrowsingContext.ViewportSchema, zod_1.default.null()]),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.ViewportSchema = zod_1.default.lazy(() => zod_1.default.object({
+        width: exports.JsUintSchema,
+        height: exports.JsUintSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.ContextCreatedSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.contextCreated'),
+        params: BrowsingContext.InfoSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.ContextDestroyedSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.contextDestroyed'),
+        params: BrowsingContext.InfoSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.NavigationStartedSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.navigationStarted'),
+        params: BrowsingContext.NavigationInfoSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.FragmentNavigatedSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.fragmentNavigated'),
+        params: BrowsingContext.NavigationInfoSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.DomContentLoadedSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.domContentLoaded'),
+        params: BrowsingContext.NavigationInfoSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.LoadSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.load'),
+        params: BrowsingContext.NavigationInfoSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.DownloadWillBeginSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.downloadWillBegin'),
+        params: BrowsingContext.NavigationInfoSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.NavigationAbortedSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.navigationAborted'),
+        params: BrowsingContext.NavigationInfoSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.NavigationFailedSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.navigationFailed'),
+        params: BrowsingContext.NavigationInfoSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.UserPromptClosedSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.userPromptClosed'),
+        params: BrowsingContext.UserPromptClosedParametersSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.UserPromptClosedParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema,
+        accepted: zod_1.default.boolean(),
+        userText: zod_1.default.string().optional(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.UserPromptOpenedSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('browsingContext.userPromptOpened'),
+        params: BrowsingContext.UserPromptOpenedParametersSchema,
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+(function (BrowsingContext) {
+    BrowsingContext.UserPromptOpenedParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema,
+        type: zod_1.default.enum(['alert', 'confirm', 'prompt', 'beforeunload']),
+        message: zod_1.default.string(),
+    }));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+exports.NetworkCommandSchema = zod_1.default.lazy(() => zod_1.default.object({}));
+exports.NetworkResultSchema = zod_1.default.lazy(() => zod_1.default.object({}));
+exports.NetworkEventSchema = zod_1.default.lazy(() => zod_1.default.union([
+    Network.BeforeRequestSentSchema,
+    Network.FetchErrorSchema,
+    Network.ResponseStartedSchema,
+    Network.ResponseCompletedSchema,
+]));
+var Network;
+(function (Network) {
+    Network.BaseParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: zod_1.default.union([BrowsingContext.BrowsingContextSchema, zod_1.default.null()]),
+        navigation: zod_1.default.union([BrowsingContext.NavigationSchema, zod_1.default.null()]),
+        redirectCount: exports.JsUintSchema,
+        request: Network.RequestDataSchema,
+        timestamp: exports.JsUintSchema,
+    }));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.BytesValueSchema = zod_1.default.lazy(() => zod_1.default.union([Network.StringValueSchema, Network.Base64ValueSchema]));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.StringValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('string'),
+        value: zod_1.default.string(),
+    }));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.Base64ValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('base64'),
+        value: zod_1.default.string(),
+    }));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.CookieSchema = zod_1.default.lazy(() => zod_1.default.object({
+        name: zod_1.default.string(),
+        value: Network.BytesValueSchema,
+        domain: zod_1.default.string(),
+        path: zod_1.default.string(),
+        expires: exports.JsUintSchema.optional(),
+        size: exports.JsUintSchema,
+        httpOnly: zod_1.default.boolean(),
+        secure: zod_1.default.boolean(),
+        sameSite: zod_1.default.enum(['strict', 'lax', 'none']),
+    }));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.FetchTimingInfoSchema = zod_1.default.lazy(() => zod_1.default.object({
+        timeOrigin: zod_1.default.number(),
+        requestTime: zod_1.default.number(),
+        redirectStart: zod_1.default.number(),
+        redirectEnd: zod_1.default.number(),
+        fetchStart: zod_1.default.number(),
+        dnsStart: zod_1.default.number(),
+        dnsEnd: zod_1.default.number(),
+        connectStart: zod_1.default.number(),
+        connectEnd: zod_1.default.number(),
+        tlsStart: zod_1.default.number(),
+        requestStart: zod_1.default.number(),
+        responseStart: zod_1.default.number(),
+        responseEnd: zod_1.default.number(),
+    }));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.HeaderSchema = zod_1.default.lazy(() => zod_1.default.object({
+        name: zod_1.default.string(),
+        value: Network.BytesValueSchema,
+    }));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.InitiatorSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.enum(['parser', 'script', 'preflight', 'other']),
+        columnNumber: exports.JsUintSchema.optional(),
+        lineNumber: exports.JsUintSchema.optional(),
+        stackTrace: Script.StackTraceSchema.optional(),
+        request: Network.RequestSchema.optional(),
+    }));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.RequestSchema = zod_1.default.lazy(() => zod_1.default.string());
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.RequestDataSchema = zod_1.default.lazy(() => zod_1.default.object({
+        request: Network.RequestSchema,
+        url: zod_1.default.string(),
+        method: zod_1.default.string(),
+        headers: zod_1.default.array(Network.HeaderSchema),
+        cookies: zod_1.default.array(Network.CookieSchema),
+        headersSize: exports.JsUintSchema,
+        bodySize: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]),
+        timings: Network.FetchTimingInfoSchema,
+    }));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.ResponseContentSchema = zod_1.default.lazy(() => zod_1.default.object({
+        size: exports.JsUintSchema,
+    }));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.ResponseDataSchema = zod_1.default.lazy(() => zod_1.default.object({
+        url: zod_1.default.string(),
+        protocol: zod_1.default.string(),
+        status: exports.JsUintSchema,
+        statusText: zod_1.default.string(),
+        fromCache: zod_1.default.boolean(),
+        headers: zod_1.default.array(Network.HeaderSchema),
+        mimeType: zod_1.default.string(),
+        bytesReceived: exports.JsUintSchema,
+        headersSize: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]),
+        bodySize: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]),
+        content: Network.ResponseContentSchema,
+    }));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.BeforeRequestSentSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('network.beforeRequestSent'),
+        params: Network.BeforeRequestSentParametersSchema,
+    }));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.BeforeRequestSentParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({
+        initiator: Network.InitiatorSchema,
+    })));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.FetchErrorSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('network.fetchError'),
+        params: Network.FetchErrorParametersSchema,
+    }));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.FetchErrorParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({
+        errorText: zod_1.default.string(),
+    })));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.ResponseCompletedSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('network.responseCompleted'),
+        params: Network.ResponseCompletedParametersSchema,
+    }));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.ResponseCompletedParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({
+        response: Network.ResponseDataSchema,
+    })));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.ResponseStartedSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('network.responseStarted'),
+        params: Network.ResponseStartedParametersSchema,
+    }));
+})(Network || (exports.Network = Network = {}));
+(function (Network) {
+    Network.ResponseStartedParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({
+        response: Network.ResponseDataSchema,
+    })));
+})(Network || (exports.Network = Network = {}));
+exports.ScriptCommandSchema = zod_1.default.lazy(() => zod_1.default.union([
+    Script.AddPreloadScriptCommandSchema,
+    Script.CallFunctionSchema,
+    Script.DisownSchema,
+    Script.EvaluateSchema,
+    Script.GetRealmsSchema,
+    Script.RemovePreloadScriptCommandSchema,
+]));
+exports.ScriptResultSchema = zod_1.default.lazy(() => zod_1.default.union([
+    Script.AddPreloadScriptResultSchema,
+    Script.EvaluateResultSchema,
+    Script.GetRealmsResultSchema,
+]));
+exports.ScriptEventSchema = zod_1.default.lazy(() => zod_1.default.union([
+    Script.MessageSchema,
+    Script.RealmCreatedSchema,
+    Script.RealmDestroyedSchema,
+]));
+var Script;
+(function (Script) {
+    Script.ChannelSchema = zod_1.default.lazy(() => zod_1.default.string());
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.ChannelValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('channel'),
+        value: Script.ChannelPropertiesSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.ChannelPropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({
+        channel: Script.ChannelSchema,
+        serializationOptions: Script.SerializationOptionsSchema.optional(),
+        ownership: Script.ResultOwnershipSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.EvaluateResultSchema = zod_1.default.lazy(() => zod_1.default.union([
+        Script.EvaluateResultSuccessSchema,
+        Script.EvaluateResultExceptionSchema,
+    ]));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.EvaluateResultSuccessSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('success'),
+        result: Script.RemoteValueSchema,
+        realm: Script.RealmSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.EvaluateResultExceptionSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('exception'),
+        exceptionDetails: Script.ExceptionDetailsSchema,
+        realm: Script.RealmSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.ExceptionDetailsSchema = zod_1.default.lazy(() => zod_1.default.object({
+        columnNumber: exports.JsUintSchema,
+        exception: Script.RemoteValueSchema,
+        lineNumber: exports.JsUintSchema,
+        stackTrace: Script.StackTraceSchema,
+        text: zod_1.default.string(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.HandleSchema = zod_1.default.lazy(() => zod_1.default.string());
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.LocalValueSchema = zod_1.default.lazy(() => zod_1.default.union([
+        Script.RemoteReferenceSchema,
+        Script.PrimitiveProtocolValueSchema,
+        Script.ChannelValueSchema,
+        Script.ArrayLocalValueSchema,
+        Script.DateLocalValueSchema,
+        Script.MapLocalValueSchema,
+        Script.ObjectLocalValueSchema,
+        Script.RegExpLocalValueSchema,
+        Script.SetLocalValueSchema,
+    ]));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.ListLocalValueSchema = zod_1.default.lazy(() => zod_1.default.array(Script.LocalValueSchema));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.ArrayLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('array'),
+        value: Script.ListLocalValueSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.DateLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('date'),
+        value: zod_1.default.string(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.MappingLocalValueSchema = zod_1.default.lazy(() => zod_1.default.array(zod_1.default.tuple([
+        zod_1.default.union([Script.LocalValueSchema, zod_1.default.string()]),
+        Script.LocalValueSchema,
+    ])));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.MapLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('map'),
+        value: Script.MappingLocalValueSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.ObjectLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('object'),
+        value: Script.MappingLocalValueSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.RegExpValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        pattern: zod_1.default.string(),
+        flags: zod_1.default.string().optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.RegExpLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('regexp'),
+        value: Script.RegExpValueSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.SetLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('set'),
+        value: Script.ListLocalValueSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.PreloadScriptSchema = zod_1.default.lazy(() => zod_1.default.string());
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.RealmSchema = zod_1.default.lazy(() => zod_1.default.string());
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.PrimitiveProtocolValueSchema = zod_1.default.lazy(() => zod_1.default.union([
+        Script.UndefinedValueSchema,
+        Script.NullValueSchema,
+        Script.StringValueSchema,
+        Script.NumberValueSchema,
+        Script.BooleanValueSchema,
+        Script.BigIntValueSchema,
+    ]));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.UndefinedValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('undefined'),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.NullValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('null'),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.StringValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('string'),
+        value: zod_1.default.string(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.SpecialNumberSchema = zod_1.default.lazy(() => zod_1.default.enum(['NaN', '-0', 'Infinity', '-Infinity']));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.NumberValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('number'),
+        value: zod_1.default.union([zod_1.default.number(), Script.SpecialNumberSchema]),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.BooleanValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('boolean'),
+        value: zod_1.default.boolean(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.BigIntValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('bigint'),
+        value: zod_1.default.string(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.RealmInfoSchema = zod_1.default.lazy(() => zod_1.default.union([
+        Script.WindowRealmInfoSchema,
+        Script.DedicatedWorkerRealmInfoSchema,
+        Script.SharedWorkerRealmInfoSchema,
+        Script.ServiceWorkerRealmInfoSchema,
+        Script.WorkerRealmInfoSchema,
+        Script.PaintWorkletRealmInfoSchema,
+        Script.AudioWorkletRealmInfoSchema,
+        Script.WorkletRealmInfoSchema,
+    ]));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.BaseRealmInfoSchema = zod_1.default.lazy(() => zod_1.default.object({
+        realm: Script.RealmSchema,
+        origin: zod_1.default.string(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.WindowRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({
+        type: zod_1.default.literal('window'),
+        context: BrowsingContext.BrowsingContextSchema,
+        sandbox: zod_1.default.string().optional(),
+    })));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.DedicatedWorkerRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({
+        type: zod_1.default.literal('dedicated-worker'),
+    })));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.SharedWorkerRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({
+        type: zod_1.default.literal('shared-worker'),
+    })));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.ServiceWorkerRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({
+        type: zod_1.default.literal('service-worker'),
+    })));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.WorkerRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({
+        type: zod_1.default.literal('worker'),
+    })));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.PaintWorkletRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({
+        type: zod_1.default.literal('paint-worklet'),
+    })));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.AudioWorkletRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({
+        type: zod_1.default.literal('audio-worklet'),
+    })));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.WorkletRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({
+        type: zod_1.default.literal('worklet'),
+    })));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.RealmTypeSchema = zod_1.default.lazy(() => zod_1.default.enum([
+        'window',
+        'dedicated-worker',
+        'shared-worker',
+        'service-worker',
+        'worker',
+        'paint-worklet',
+        'audio-worklet',
+        'worklet',
+    ]));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.RemoteReferenceSchema = zod_1.default.lazy(() => zod_1.default.union([Script.SharedReferenceSchema, Script.RemoteObjectReferenceSchema]));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.SharedReferenceSchema = zod_1.default.lazy(() => zod_1.default
+        .object({
+        sharedId: Script.SharedIdSchema,
+        handle: Script.HandleSchema.optional(),
+    })
+        .and(exports.ExtensibleSchema));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.RemoteObjectReferenceSchema = zod_1.default.lazy(() => zod_1.default
+        .object({
+        handle: Script.HandleSchema,
+        sharedId: Script.SharedIdSchema.optional(),
+    })
+        .and(exports.ExtensibleSchema));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.RemoteValueSchema = zod_1.default.lazy(() => zod_1.default.union([
+        Script.PrimitiveProtocolValueSchema,
+        Script.SymbolRemoteValueSchema,
+        Script.ArrayRemoteValueSchema,
+        Script.ObjectRemoteValueSchema,
+        Script.FunctionRemoteValueSchema,
+        Script.RegExpRemoteValueSchema,
+        Script.DateRemoteValueSchema,
+        Script.MapRemoteValueSchema,
+        Script.SetRemoteValueSchema,
+        Script.WeakMapRemoteValueSchema,
+        Script.WeakSetRemoteValueSchema,
+        Script.IteratorRemoteValueSchema,
+        Script.GeneratorRemoteValueSchema,
+        Script.ErrorRemoteValueSchema,
+        Script.ProxyRemoteValueSchema,
+        Script.PromiseRemoteValueSchema,
+        Script.TypedArrayRemoteValueSchema,
+        Script.ArrayBufferRemoteValueSchema,
+        Script.NodeListRemoteValueSchema,
+        Script.HtmlCollectionRemoteValueSchema,
+        Script.NodeRemoteValueSchema,
+        Script.WindowProxyRemoteValueSchema,
+    ]));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.InternalIdSchema = zod_1.default.lazy(() => exports.JsUintSchema);
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.ListRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.array(Script.RemoteValueSchema));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.MappingRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.array(zod_1.default.tuple([
+        zod_1.default.union([Script.RemoteValueSchema, zod_1.default.string()]),
+        Script.RemoteValueSchema,
+    ])));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.SymbolRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('symbol'),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.ArrayRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('array'),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+        value: Script.ListRemoteValueSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.ObjectRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('object'),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+        value: Script.MappingRemoteValueSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.FunctionRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('function'),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.RegExpRemoteValueSchema = zod_1.default.lazy(() => zod_1.default
+        .object({
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+    })
+        .and(Script.RegExpLocalValueSchema));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.DateRemoteValueSchema = zod_1.default.lazy(() => zod_1.default
+        .object({
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+    })
+        .and(Script.DateLocalValueSchema));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.MapRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('map'),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+        value: Script.MappingRemoteValueSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.SetRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('set'),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+        value: Script.ListRemoteValueSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.WeakMapRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('weakmap'),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.WeakSetRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('weakset'),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.IteratorRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('iterator'),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.GeneratorRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('generator'),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.ErrorRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('error'),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.ProxyRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('proxy'),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.PromiseRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('promise'),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.TypedArrayRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('typedarray'),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.ArrayBufferRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('arraybuffer'),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.NodeListRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('nodelist'),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+        value: Script.ListRemoteValueSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.HtmlCollectionRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('htmlcollection'),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+        value: Script.ListRemoteValueSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.NodeRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('node'),
+        sharedId: Script.SharedIdSchema.optional(),
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+        value: Script.NodePropertiesSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.NodePropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({
+        nodeType: exports.JsUintSchema,
+        childNodeCount: exports.JsUintSchema,
+        attributes: zod_1.default.record(zod_1.default.string(), zod_1.default.string()).optional(),
+        children: zod_1.default.array(Script.NodeRemoteValueSchema).optional(),
+        localName: zod_1.default.string().optional(),
+        mode: zod_1.default.enum(['open', 'closed']).optional(),
+        namespaceURI: zod_1.default.string().optional(),
+        nodeValue: zod_1.default.string().optional(),
+        shadowRoot: zod_1.default.union([Script.NodeRemoteValueSchema, zod_1.default.null()]).optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.WindowProxyRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('window'),
+        value: Script.WindowProxyPropertiesSchema,
+        handle: Script.HandleSchema.optional(),
+        internalId: Script.InternalIdSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.WindowProxyPropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.ResultOwnershipSchema = zod_1.default.lazy(() => zod_1.default.enum(['root', 'none']));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.SerializationOptionsSchema = zod_1.default.lazy(() => zod_1.default.object({
+        maxDomDepth: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]).default(0).optional(),
+        maxObjectDepth: zod_1.default
+            .union([exports.JsUintSchema, zod_1.default.null()])
+            .default(null)
+            .optional(),
+        includeShadowTree: zod_1.default
+            .enum(['none', 'open', 'all'])
+            .default('none')
+            .optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.SharedIdSchema = zod_1.default.lazy(() => zod_1.default.string());
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.StackFrameSchema = zod_1.default.lazy(() => zod_1.default.object({
+        columnNumber: exports.JsUintSchema,
+        functionName: zod_1.default.string(),
+        lineNumber: exports.JsUintSchema,
+        url: zod_1.default.string(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.StackTraceSchema = zod_1.default.lazy(() => zod_1.default.object({
+        callFrames: zod_1.default.array(Script.StackFrameSchema),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.SourceSchema = zod_1.default.lazy(() => zod_1.default.object({
+        realm: Script.RealmSchema,
+        context: BrowsingContext.BrowsingContextSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.RealmTargetSchema = zod_1.default.lazy(() => zod_1.default.object({
+        realm: Script.RealmSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.ContextTargetSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema,
+        sandbox: zod_1.default.string().optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.TargetSchema = zod_1.default.lazy(() => zod_1.default.union([Script.RealmTargetSchema, Script.ContextTargetSchema]));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.AddPreloadScriptCommandSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('script.addPreloadScript'),
+        params: Script.AddPreloadScriptParametersSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.AddPreloadScriptParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        functionDeclaration: zod_1.default.string(),
+        arguments: zod_1.default.array(Script.ChannelValueSchema).optional(),
+        sandbox: zod_1.default.string().optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.AddPreloadScriptResultSchema = zod_1.default.lazy(() => zod_1.default.object({
+        script: Script.PreloadScriptSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.DisownSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('script.disown'),
+        params: Script.DisownParametersSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.DisownParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        handles: zod_1.default.array(Script.HandleSchema),
+        target: Script.TargetSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.CallFunctionSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('script.callFunction'),
+        params: Script.CallFunctionParametersSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.CallFunctionParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        functionDeclaration: zod_1.default.string(),
+        awaitPromise: zod_1.default.boolean(),
+        target: Script.TargetSchema,
+        arguments: zod_1.default.array(Script.LocalValueSchema).optional(),
+        resultOwnership: Script.ResultOwnershipSchema.optional(),
+        serializationOptions: Script.SerializationOptionsSchema.optional(),
+        this: Script.LocalValueSchema.optional(),
+        userActivation: zod_1.default.boolean().default(false).optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.EvaluateSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('script.evaluate'),
+        params: Script.EvaluateParametersSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.EvaluateParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        expression: zod_1.default.string(),
+        target: Script.TargetSchema,
+        awaitPromise: zod_1.default.boolean(),
+        resultOwnership: Script.ResultOwnershipSchema.optional(),
+        serializationOptions: Script.SerializationOptionsSchema.optional(),
+        userActivation: zod_1.default.boolean().default(false).optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.GetRealmsSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('script.getRealms'),
+        params: Script.GetRealmsParametersSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.GetRealmsParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema.optional(),
+        type: Script.RealmTypeSchema.optional(),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.GetRealmsResultSchema = zod_1.default.lazy(() => zod_1.default.object({
+        realms: zod_1.default.array(Script.RealmInfoSchema),
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.RemovePreloadScriptCommandSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('script.removePreloadScript'),
+        params: Script.RemovePreloadScriptParametersSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.RemovePreloadScriptParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        script: Script.PreloadScriptSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.MessageSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('script.message'),
+        params: Script.MessageParametersSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.MessageParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        channel: Script.ChannelSchema,
+        data: Script.RemoteValueSchema,
+        source: Script.SourceSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.RealmCreatedSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('script.realmCreated'),
+        params: Script.RealmInfoSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.RealmDestroyedSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('script.realmDestroyed'),
+        params: Script.RealmDestroyedParametersSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+(function (Script) {
+    Script.RealmDestroyedParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        realm: Script.RealmSchema,
+    }));
+})(Script || (exports.Script = Script = {}));
+exports.LogEventSchema = zod_1.default.lazy(() => Log.EntryAddedSchema);
+var Log;
+(function (Log) {
+    Log.LevelSchema = zod_1.default.lazy(() => zod_1.default.enum(['debug', 'info', 'warn', 'error']));
+})(Log || (exports.Log = Log = {}));
+(function (Log) {
+    Log.EntrySchema = zod_1.default.lazy(() => zod_1.default.union([
+        Log.GenericLogEntrySchema,
+        Log.ConsoleLogEntrySchema,
+        Log.JavascriptLogEntrySchema,
+    ]));
+})(Log || (exports.Log = Log = {}));
+(function (Log) {
+    Log.BaseLogEntrySchema = zod_1.default.lazy(() => zod_1.default.object({
+        level: Log.LevelSchema,
+        source: Script.SourceSchema,
+        text: zod_1.default.union([zod_1.default.string(), zod_1.default.null()]),
+        timestamp: exports.JsUintSchema,
+        stackTrace: Script.StackTraceSchema.optional(),
+    }));
+})(Log || (exports.Log = Log = {}));
+(function (Log) {
+    Log.GenericLogEntrySchema = zod_1.default.lazy(() => Log.BaseLogEntrySchema.and(zod_1.default.object({
+        type: zod_1.default.string(),
+    })));
+})(Log || (exports.Log = Log = {}));
+(function (Log) {
+    Log.ConsoleLogEntrySchema = zod_1.default.lazy(() => Log.BaseLogEntrySchema.and(zod_1.default.object({
+        type: zod_1.default.literal('console'),
+        method: zod_1.default.string(),
+        args: zod_1.default.array(Script.RemoteValueSchema),
+    })));
+})(Log || (exports.Log = Log = {}));
+(function (Log) {
+    Log.JavascriptLogEntrySchema = zod_1.default.lazy(() => Log.BaseLogEntrySchema.and(zod_1.default.object({
+        type: zod_1.default.literal('javascript'),
+    })));
+})(Log || (exports.Log = Log = {}));
+(function (Log) {
+    Log.EntryAddedSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('log.entryAdded'),
+        params: Log.EntrySchema,
+    }));
+})(Log || (exports.Log = Log = {}));
+exports.InputCommandSchema = zod_1.default.lazy(() => zod_1.default.union([Input.PerformActionsSchema, Input.ReleaseActionsSchema]));
+var Input;
+(function (Input) {
+    Input.ElementOriginSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('element'),
+        element: Script.SharedReferenceSchema,
+    }));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.PerformActionsSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('input.performActions'),
+        params: Input.PerformActionsParametersSchema,
+    }));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.PerformActionsParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema,
+        actions: zod_1.default.array(Input.SourceActionsSchema),
+    }));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.SourceActionsSchema = zod_1.default.lazy(() => zod_1.default.union([
+        Input.NoneSourceActionsSchema,
+        Input.KeySourceActionsSchema,
+        Input.PointerSourceActionsSchema,
+        Input.WheelSourceActionsSchema,
+    ]));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.NoneSourceActionsSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('none'),
+        id: zod_1.default.string(),
+        actions: zod_1.default.array(Input.NoneSourceActionSchema),
+    }));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.NoneSourceActionSchema = zod_1.default.lazy(() => Input.PauseActionSchema);
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.KeySourceActionsSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('key'),
+        id: zod_1.default.string(),
+        actions: zod_1.default.array(Input.KeySourceActionSchema),
+    }));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.KeySourceActionSchema = zod_1.default.lazy(() => zod_1.default.union([
+        Input.PauseActionSchema,
+        Input.KeyDownActionSchema,
+        Input.KeyUpActionSchema,
+    ]));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.PointerSourceActionsSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('pointer'),
+        id: zod_1.default.string(),
+        parameters: Input.PointerParametersSchema.optional(),
+        actions: zod_1.default.array(Input.PointerSourceActionSchema),
+    }));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.PointerTypeSchema = zod_1.default.lazy(() => zod_1.default.enum(['mouse', 'pen', 'touch']));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.PointerParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        pointerType: Input.PointerTypeSchema.default('mouse').optional(),
+    }));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.PointerSourceActionSchema = zod_1.default.lazy(() => zod_1.default.union([
+        Input.PauseActionSchema,
+        Input.PointerDownActionSchema,
+        Input.PointerUpActionSchema,
+        Input.PointerMoveActionSchema,
+    ]));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.WheelSourceActionsSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('wheel'),
+        id: zod_1.default.string(),
+        actions: zod_1.default.array(Input.WheelSourceActionSchema),
+    }));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.WheelSourceActionSchema = zod_1.default.lazy(() => zod_1.default.union([Input.PauseActionSchema, Input.WheelScrollActionSchema]));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.PauseActionSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('pause'),
+        duration: exports.JsUintSchema.optional(),
+    }));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.KeyDownActionSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('keyDown'),
+        value: zod_1.default.string(),
+    }));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.KeyUpActionSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('keyUp'),
+        value: zod_1.default.string(),
+    }));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.PointerUpActionSchema = zod_1.default.lazy(() => zod_1.default
+        .object({
+        type: zod_1.default.literal('pointerUp'),
+        button: exports.JsUintSchema,
+    })
+        .and(Input.PointerCommonPropertiesSchema));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.PointerDownActionSchema = zod_1.default.lazy(() => zod_1.default
+        .object({
+        type: zod_1.default.literal('pointerDown'),
+        button: exports.JsUintSchema,
+    })
+        .and(Input.PointerCommonPropertiesSchema));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.PointerMoveActionSchema = zod_1.default.lazy(() => zod_1.default
+        .object({
+        type: zod_1.default.literal('pointerMove'),
+        x: exports.JsIntSchema,
+        y: exports.JsIntSchema,
+        duration: exports.JsUintSchema.optional(),
+        origin: Input.OriginSchema.optional(),
+    })
+        .and(Input.PointerCommonPropertiesSchema));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.WheelScrollActionSchema = zod_1.default.lazy(() => zod_1.default.object({
+        type: zod_1.default.literal('scroll'),
+        x: exports.JsIntSchema,
+        y: exports.JsIntSchema,
+        deltaX: exports.JsIntSchema,
+        deltaY: exports.JsIntSchema,
+        duration: exports.JsUintSchema.optional(),
+        origin: Input.OriginSchema.default('viewport').optional(),
+    }));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.PointerCommonPropertiesSchema = zod_1.default.lazy(() => zod_1.default
+        .object({
+        width: exports.JsUintSchema.default(1).optional(),
+        height: exports.JsUintSchema.default(1).optional(),
+        pressure: zod_1.default.number().default(0).optional(),
+        tangentialPressure: zod_1.default.number().default(0).optional(),
+        twist: zod_1.default
+            .number()
+            .int()
+            .nonnegative()
+            .gte(0)
+            .lte(359)
+            .default(0)
+            .optional(),
+    })
+        .and(zod_1.default.union([Input.TiltPropertiesSchema, Input.AnglePropertiesSchema])));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.AnglePropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({
+        altitudeAngle: zod_1.default.number().default(0).optional(),
+        azimuthAngle: zod_1.default.number().default(0).optional(),
+    }));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.TiltPropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({
+        tiltX: zod_1.default.number().int().gte(-90).lte(90).default(0).optional(),
+        tiltY: zod_1.default.number().int().gte(-90).lte(90).default(0).optional(),
+    }));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.OriginSchema = zod_1.default.lazy(() => zod_1.default.union([
+        zod_1.default.literal('viewport'),
+        zod_1.default.literal('pointer'),
+        Input.ElementOriginSchema,
+    ]));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.ReleaseActionsSchema = zod_1.default.lazy(() => zod_1.default.object({
+        method: zod_1.default.literal('input.releaseActions'),
+        params: Input.ReleaseActionsParametersSchema,
+    }));
+})(Input || (exports.Input = Input = {}));
+(function (Input) {
+    Input.ReleaseActionsParametersSchema = zod_1.default.lazy(() => zod_1.default.object({
+        context: BrowsingContext.BrowsingContextSchema,
+    }));
+})(Input || (exports.Input = Input = {}));
+//# sourceMappingURL=webdriver-bidi.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol-parser/webdriver-bidi.js.map b/node_modules/chromium-bidi/lib/cjs/protocol-parser/webdriver-bidi.js.map
new file mode 100644
index 0000000..741f977
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/protocol-parser/webdriver-bidi.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"webdriver-bidi.js","sourceRoot":"","sources":["../../../src/protocol-parser/webdriver-bidi.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol/ErrorResponse.d.ts b/node_modules/chromium-bidi/lib/cjs/protocol/ErrorResponse.d.ts
new file mode 100644
index 0000000..81abf24
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/protocol/ErrorResponse.d.ts
@@ -0,0 +1,70 @@
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import type { ErrorResponse } from './webdriver-bidi.js';
+import { ErrorCode } from './webdriver-bidi.js';
+export declare class Exception {
+    error: ErrorCode;
+    message: string;
+    stacktrace?: string | undefined;
+    constructor(error: ErrorCode, message: string, stacktrace?: string | undefined);
+    toErrorResponse(commandId: number): ErrorResponse;
+}
+export declare class InvalidArgumentException extends Exception {
+    constructor(message: string, stacktrace?: string);
+}
+export declare class InvalidSessionIdException extends Exception {
+    constructor(message: string, stacktrace?: string);
+}
+export declare class MoveTargetOutOfBoundsException extends Exception {
+    constructor(message: string, stacktrace?: string);
+}
+export declare class NoSuchAlertException extends Exception {
+    constructor(message: string, stacktrace?: string);
+}
+export declare class NoSuchElementException extends Exception {
+    constructor(message: string, stacktrace?: string);
+}
+export declare class NoSuchFrameException extends Exception {
+    constructor(message: string, stacktrace?: string);
+}
+export declare class NoSuchHandleException extends Exception {
+    constructor(message: string, stacktrace?: string);
+}
+export declare class NoSuchNodeException extends Exception {
+    constructor(message: string, stacktrace?: string);
+}
+export declare class NoSuchScriptException extends Exception {
+    constructor(message: string, stacktrace?: string);
+}
+export declare class SessionNotCreatedException extends Exception {
+    constructor(message: string, stacktrace?: string);
+}
+export declare class UnknownCommandException extends Exception {
+    constructor(message: string, stacktrace?: string);
+}
+export declare class UnknownErrorException extends Exception {
+    constructor(message: string, stacktrace?: string | undefined);
+}
+export declare class UnableToCaptureScreenException extends Exception {
+    constructor(message: string, stacktrace?: string);
+}
+export declare class UnableToCloseBrowserException extends Exception {
+    constructor(message: string, stacktrace?: string);
+}
+export declare class UnsupportedOperationException extends Exception {
+    constructor(message: string, stacktrace?: string);
+}
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol/ErrorResponse.js b/node_modules/chromium-bidi/lib/cjs/protocol/ErrorResponse.js
new file mode 100644
index 0000000..752308a
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/protocol/ErrorResponse.js
@@ -0,0 +1,114 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.UnsupportedOperationException = exports.UnableToCloseBrowserException = exports.UnableToCaptureScreenException = exports.UnknownErrorException = exports.UnknownCommandException = exports.SessionNotCreatedException = exports.NoSuchScriptException = exports.NoSuchNodeException = exports.NoSuchHandleException = exports.NoSuchFrameException = exports.NoSuchElementException = exports.NoSuchAlertException = exports.MoveTargetOutOfBoundsException = exports.InvalidSessionIdException = exports.InvalidArgumentException = exports.Exception = void 0;
+class Exception {
+    error;
+    message;
+    stacktrace;
+    constructor(error, message, stacktrace) {
+        this.error = error;
+        this.message = message;
+        this.stacktrace = stacktrace;
+    }
+    toErrorResponse(commandId) {
+        return {
+            type: 'error',
+            id: commandId,
+            error: this.error,
+            message: this.message,
+            stacktrace: this.stacktrace,
+        };
+    }
+}
+exports.Exception = Exception;
+class InvalidArgumentException extends Exception {
+    constructor(message, stacktrace) {
+        super("invalid argument" /* ErrorCode.InvalidArgument */, message, stacktrace);
+    }
+}
+exports.InvalidArgumentException = InvalidArgumentException;
+class InvalidSessionIdException extends Exception {
+    constructor(message, stacktrace) {
+        super("invalid session id" /* ErrorCode.InvalidSessionId */, message, stacktrace);
+    }
+}
+exports.InvalidSessionIdException = InvalidSessionIdException;
+class MoveTargetOutOfBoundsException extends Exception {
+    constructor(message, stacktrace) {
+        super("move target out of bounds" /* ErrorCode.MoveTargetOutOfBounds */, message, stacktrace);
+    }
+}
+exports.MoveTargetOutOfBoundsException = MoveTargetOutOfBoundsException;
+class NoSuchAlertException extends Exception {
+    constructor(message, stacktrace) {
+        super("no such alert" /* ErrorCode.NoSuchAlert */, message, stacktrace);
+    }
+}
+exports.NoSuchAlertException = NoSuchAlertException;
+class NoSuchElementException extends Exception {
+    constructor(message, stacktrace) {
+        super("no such element" /* ErrorCode.NoSuchElement */, message, stacktrace);
+    }
+}
+exports.NoSuchElementException = NoSuchElementException;
+class NoSuchFrameException extends Exception {
+    constructor(message, stacktrace) {
+        super("no such frame" /* ErrorCode.NoSuchFrame */, message, stacktrace);
+    }
+}
+exports.NoSuchFrameException = NoSuchFrameException;
+class NoSuchHandleException extends Exception {
+    constructor(message, stacktrace) {
+        super("no such handle" /* ErrorCode.NoSuchHandle */, message, stacktrace);
+    }
+}
+exports.NoSuchHandleException = NoSuchHandleException;
+class NoSuchNodeException extends Exception {
+    constructor(message, stacktrace) {
+        super("no such node" /* ErrorCode.NoSuchNode */, message, stacktrace);
+    }
+}
+exports.NoSuchNodeException = NoSuchNodeException;
+class NoSuchScriptException extends Exception {
+    constructor(message, stacktrace) {
+        super("no such script" /* ErrorCode.NoSuchScript */, message, stacktrace);
+    }
+}
+exports.NoSuchScriptException = NoSuchScriptException;
+class SessionNotCreatedException extends Exception {
+    constructor(message, stacktrace) {
+        super("session not created" /* ErrorCode.SessionNotCreated */, message, stacktrace);
+    }
+}
+exports.SessionNotCreatedException = SessionNotCreatedException;
+class UnknownCommandException extends Exception {
+    constructor(message, stacktrace) {
+        super("unknown command" /* ErrorCode.UnknownCommand */, message, stacktrace);
+    }
+}
+exports.UnknownCommandException = UnknownCommandException;
+class UnknownErrorException extends Exception {
+    constructor(message, stacktrace = new Error().stack) {
+        super("unknown error" /* ErrorCode.UnknownError */, message, stacktrace);
+    }
+}
+exports.UnknownErrorException = UnknownErrorException;
+class UnableToCaptureScreenException extends Exception {
+    constructor(message, stacktrace) {
+        super("unable to capture screen" /* ErrorCode.UnableToCaptureScreen */, message, stacktrace);
+    }
+}
+exports.UnableToCaptureScreenException = UnableToCaptureScreenException;
+class UnableToCloseBrowserException extends Exception {
+    constructor(message, stacktrace) {
+        super("unable to close browser" /* ErrorCode.UnableToCloseBrowser */, message, stacktrace);
+    }
+}
+exports.UnableToCloseBrowserException = UnableToCloseBrowserException;
+class UnsupportedOperationException extends Exception {
+    constructor(message, stacktrace) {
+        super("unsupported operation" /* ErrorCode.UnsupportedOperation */, message, stacktrace);
+    }
+}
+exports.UnsupportedOperationException = UnsupportedOperationException;
+//# sourceMappingURL=ErrorResponse.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol/ErrorResponse.js.map b/node_modules/chromium-bidi/lib/cjs/protocol/ErrorResponse.js.map
new file mode 100644
index 0000000..8e68ce7
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/protocol/ErrorResponse.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"ErrorResponse.js","sourceRoot":"","sources":["../../../src/protocol/ErrorResponse.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol/cdp.d.ts b/node_modules/chromium-bidi/lib/cjs/protocol/cdp.d.ts
new file mode 100644
index 0000000..23cd062
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/protocol/cdp.d.ts
@@ -0,0 +1,67 @@
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import type { ProtocolMapping } from 'devtools-protocol/types/protocol-mapping.js';
+import type Protocol from 'devtools-protocol';
+import type { BrowsingContext, JsUint } from './webdriver-bidi.js';
+export type Message = CommandResponse | Event;
+export type Command = {
+    id: JsUint;
+} & CommandData;
+export type CommandData = SendCommandCommand | GetSessionCommand;
+export type CommandResponse = {
+    type: 'success';
+    id: JsUint;
+    result: ResultData;
+};
+export type ResultData = SendCommandResult | GetSessionResult;
+export type Event = {
+    type: 'event';
+} & EventData;
+export type EventData = EventReceivedEvent;
+export type SendCommandCommand = {
+    method: 'cdp.sendCommand';
+    params: SendCommandParameters;
+};
+export type SendCommandParameters<Command extends keyof ProtocolMapping.Commands = keyof ProtocolMapping.Commands> = {
+    method: Command;
+    params?: ProtocolMapping.Commands[Command]['paramsType'][0];
+    session?: Protocol.Target.SessionID;
+};
+export type SendCommandResult = {
+    result: ProtocolMapping.Commands[keyof ProtocolMapping.Commands]['returnType'];
+    session?: Protocol.Target.SessionID;
+};
+export type GetSessionCommand = {
+    method: 'cdp.getSession';
+    params: GetSessionParameters;
+};
+export type GetSessionParameters = {
+    context: BrowsingContext.BrowsingContext;
+};
+export type GetSessionResult = {
+    session?: Protocol.Target.SessionID;
+};
+export type EventReceivedEvent = {
+    method: EventNames;
+    params: EventParameters;
+};
+export type EventParameters<EventName extends keyof ProtocolMapping.Events = keyof ProtocolMapping.Events> = {
+    event: EventName;
+    params: ProtocolMapping.Events[EventName];
+    session: Protocol.Target.SessionID;
+};
+export type EventNames = 'cdp' | `cdp.${keyof ProtocolMapping.Events}`;
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol/cdp.js b/node_modules/chromium-bidi/lib/cjs/protocol/cdp.js
new file mode 100644
index 0000000..74450fd
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/protocol/cdp.js
@@ -0,0 +1,19 @@
+"use strict";
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+//# sourceMappingURL=cdp.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol/cdp.js.map b/node_modules/chromium-bidi/lib/cjs/protocol/cdp.js.map
new file mode 100644
index 0000000..599daad
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/protocol/cdp.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdp.js","sourceRoot":"","sources":["../../../src/protocol/cdp.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol/chromium-bidi.d.ts b/node_modules/chromium-bidi/lib/cjs/protocol/chromium-bidi.d.ts
new file mode 100644
index 0000000..4697556
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/protocol/chromium-bidi.d.ts
@@ -0,0 +1,66 @@
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import type * as WebDriverBidi from './webdriver-bidi.js';
+import type * as Cdp from './cdp.js';
+export type EventNames = BrowsingContext.EventNames | Cdp.EventNames | Log.EventNames | Network.EventNames | Script.EventNames;
+export declare namespace Script {
+    enum EventNames {
+        AllScriptEvent = "script",
+        MessageEvent = "script.message",
+        RealmCreated = "script.realmCreated",
+        RealmDestroyed = "script.realmDestroyed"
+    }
+}
+export declare namespace Log {
+    enum EventNames {
+        AllLogEvent = "log",
+        LogEntryAddedEvent = "log.entryAdded"
+    }
+}
+export declare namespace BrowsingContext {
+    enum EventNames {
+        AllBrowsingContextEvent = "browsingContext",
+        ContextCreatedEvent = "browsingContext.contextCreated",
+        ContextDestroyedEvent = "browsingContext.contextDestroyed",
+        DomContentLoadedEvent = "browsingContext.domContentLoaded",
+        FragmentNavigated = "browsingContext.fragmentNavigated",
+        LoadEvent = "browsingContext.load",
+        NavigationStarted = "browsingContext.navigationStarted",
+        UserPromptClosed = "browsingContext.userPromptClosed",
+        UserPromptOpened = "browsingContext.userPromptOpened"
+    }
+}
+export declare namespace Network {
+    enum EventNames {
+        AllNetworkEvent = "network",
+        BeforeRequestSentEvent = "network.beforeRequestSent",
+        FetchErrorEvent = "network.fetchError",
+        ResponseCompletedEvent = "network.responseCompleted",
+        ResponseStartedEvent = "network.responseStarted"
+    }
+}
+export type Command = (WebDriverBidi.Command | Cdp.Command) & {
+    channel?: WebDriverBidi.Script.Channel;
+};
+export type CommandResponse = WebDriverBidi.CommandResponse | Cdp.CommandResponse;
+export type Event = WebDriverBidi.Event | Cdp.Event;
+export type ResultData = WebDriverBidi.ResultData | Cdp.ResultData;
+export type Message = (WebDriverBidi.Message | Cdp.Message | {
+    launched: true;
+}) & {
+    channel?: WebDriverBidi.Script.Channel;
+};
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol/chromium-bidi.js b/node_modules/chromium-bidi/lib/cjs/protocol/chromium-bidi.js
new file mode 100644
index 0000000..fd0231e
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/protocol/chromium-bidi.js
@@ -0,0 +1,71 @@
+"use strict";
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Network = exports.BrowsingContext = exports.Log = exports.Script = void 0;
+// keep-sorted end
+var Script;
+(function (Script) {
+    let EventNames;
+    (function (EventNames) {
+        // keep-sorted start
+        EventNames["AllScriptEvent"] = "script";
+        EventNames["MessageEvent"] = "script.message";
+        EventNames["RealmCreated"] = "script.realmCreated";
+        EventNames["RealmDestroyed"] = "script.realmDestroyed";
+        // keep-sorted end
+    })(EventNames = Script.EventNames || (Script.EventNames = {}));
+})(Script || (exports.Script = Script = {}));
+var Log;
+(function (Log) {
+    let EventNames;
+    (function (EventNames) {
+        EventNames["AllLogEvent"] = "log";
+        EventNames["LogEntryAddedEvent"] = "log.entryAdded";
+    })(EventNames = Log.EventNames || (Log.EventNames = {}));
+})(Log || (exports.Log = Log = {}));
+var BrowsingContext;
+(function (BrowsingContext) {
+    let EventNames;
+    (function (EventNames) {
+        // keep-sorted start
+        EventNames["AllBrowsingContextEvent"] = "browsingContext";
+        EventNames["ContextCreatedEvent"] = "browsingContext.contextCreated";
+        EventNames["ContextDestroyedEvent"] = "browsingContext.contextDestroyed";
+        EventNames["DomContentLoadedEvent"] = "browsingContext.domContentLoaded";
+        EventNames["FragmentNavigated"] = "browsingContext.fragmentNavigated";
+        EventNames["LoadEvent"] = "browsingContext.load";
+        EventNames["NavigationStarted"] = "browsingContext.navigationStarted";
+        EventNames["UserPromptClosed"] = "browsingContext.userPromptClosed";
+        EventNames["UserPromptOpened"] = "browsingContext.userPromptOpened";
+        // keep-sorted end
+    })(EventNames = BrowsingContext.EventNames || (BrowsingContext.EventNames = {}));
+})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));
+var Network;
+(function (Network) {
+    let EventNames;
+    (function (EventNames) {
+        // keep-sorted start
+        EventNames["AllNetworkEvent"] = "network";
+        EventNames["BeforeRequestSentEvent"] = "network.beforeRequestSent";
+        EventNames["FetchErrorEvent"] = "network.fetchError";
+        EventNames["ResponseCompletedEvent"] = "network.responseCompleted";
+        EventNames["ResponseStartedEvent"] = "network.responseStarted";
+        // keep-sorted end
+    })(EventNames = Network.EventNames || (Network.EventNames = {}));
+})(Network || (exports.Network = Network = {}));
+//# sourceMappingURL=chromium-bidi.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol/chromium-bidi.js.map b/node_modules/chromium-bidi/lib/cjs/protocol/chromium-bidi.js.map
new file mode 100644
index 0000000..b95c620
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/protocol/chromium-bidi.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"chromium-bidi.js","sourceRoot":"","sources":["../../../src/protocol/chromium-bidi.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAYH,kBAAkB;AAElB,IAAiB,MAAM,CAStB;AATD,WAAiB,MAAM;IACrB,IAAY,UAOX;IAPD,WAAY,UAAU;QACpB,oBAAoB;QACpB,uCAAyB,CAAA;QACzB,6CAA+B,CAAA;QAC/B,kDAAoC,CAAA;QACpC,sDAAwC,CAAA;QACxC,kBAAkB;IACpB,CAAC,EAPW,UAAU,GAAV,iBAAU,KAAV,iBAAU,QAOrB;AACH,CAAC,EATgB,MAAM,sBAAN,MAAM,QAStB;AAED,IAAiB,GAAG,CAKnB;AALD,WAAiB,GAAG;IAClB,IAAY,UAGX;IAHD,WAAY,UAAU;QACpB,iCAAmB,CAAA;QACnB,mDAAqC,CAAA;IACvC,CAAC,EAHW,UAAU,GAAV,cAAU,KAAV,cAAU,QAGrB;AACH,CAAC,EALgB,GAAG,mBAAH,GAAG,QAKnB;AAED,IAAiB,eAAe,CAc/B;AAdD,WAAiB,eAAe;IAC9B,IAAY,UAYX;IAZD,WAAY,UAAU;QACpB,oBAAoB;QACpB,yDAA2C,CAAA;QAC3C,oEAAsD,CAAA;QACtD,wEAA0D,CAAA;QAC1D,wEAA0D,CAAA;QAC1D,qEAAuD,CAAA;QACvD,gDAAkC,CAAA;QAClC,qEAAuD,CAAA;QACvD,mEAAqD,CAAA;QACrD,mEAAqD,CAAA;QACrD,kBAAkB;IACpB,CAAC,EAZW,UAAU,GAAV,0BAAU,KAAV,0BAAU,QAYrB;AACH,CAAC,EAdgB,eAAe,+BAAf,eAAe,QAc/B;AAED,IAAiB,OAAO,CAUvB;AAVD,WAAiB,OAAO;IACtB,IAAY,UAQX;IARD,WAAY,UAAU;QACpB,oBAAoB;QACpB,yCAA2B,CAAA;QAC3B,kEAAoD,CAAA;QACpD,oDAAsC,CAAA;QACtC,kEAAoD,CAAA;QACpD,8DAAgD,CAAA;QAChD,kBAAkB;IACpB,CAAC,EARW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAQrB;AACH,CAAC,EAVgB,OAAO,uBAAP,OAAO,QAUvB"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol/protocol.d.ts b/node_modules/chromium-bidi/lib/cjs/protocol/protocol.d.ts
index 72b4258..663948b 100644
--- a/node_modules/chromium-bidi/lib/cjs/protocol/protocol.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/protocol/protocol.d.ts
@@ -1,5 +1,5 @@
 /**
- * Copyright 2022 Google LLC.
+ * Copyright 2023 Google LLC.
  * Copyright (c) Microsoft Corporation.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -14,949 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-/**
- * @fileoverview Provides TypeScript types for WebDriver BiDi protocol.
- *
- * Note: This file should not have any dependencies because it will be run in the browser.
- * Exception: Type dependencies are fine because they are compiled away.
- */
-import type { ProtocolMapping } from 'devtools-protocol/types/protocol-mapping.js';
-interface EventResponse<MethodType, ParamsType> {
-    method: MethodType;
-    params: ParamsType;
-}
-type BiDiCommand = BrowsingContext.Command | Cdp.Command | Input.Command | Network.Command | Script.Command | Session.Command;
-export declare namespace Message {
-    type OutgoingMessage = CommandResponse | EventMessage | {
-        launched: true;
-    };
-    type RawCommandRequest = {
-        id: number;
-        method: BiDiCommand['method'];
-        params: BiDiCommand['params'];
-        channel?: Script.Channel;
-    };
-    type CommandRequest = BiDiCommand & Pick<RawCommandRequest, 'id'>;
-    type CommandResponse = ResultData & Pick<RawCommandRequest, 'id'>;
-    type EmptyCommand = never;
-    type EmptyMessage = Record<string, never>;
-    type EmptyParams = Record<string, never>;
-    type EmptyResult = {
-        result: Record<string, never>;
-    };
-    type ResultData = EmptyResult | BrowsingContext.Result | Cdp.Result | ErrorResult | Network.Result | Script.Result | Session.Result;
-    type EventMessage = BrowsingContext.Event | Cdp.Event | Log.Event | Network.Event | Script.Event;
-    type EventNames = BrowsingContext.EventNames | Cdp.EventNames | Log.EventNames | Network.EventNames | Script.EventNames;
-    type AllEvents = typeof BrowsingContext.AllEvents | typeof Log.AllEvents | typeof Network.AllEvents | typeof Script.AllEvents;
-    enum ErrorCode {
-        InvalidArgument = "invalid argument",
-        InvalidSessionId = "invalid session id",
-        MoveTargetOutOfBounds = "move target out of bounds",
-        NoSuchAlert = "no such alert",
-        NoSuchElement = "no such element",
-        NoSuchFrame = "no such frame",
-        NoSuchHandle = "no such handle",
-        NoSuchNode = "no such node",
-        NoSuchScript = "no such script",
-        SessionNotCreated = "session not created",
-        UnknownCommand = "unknown command",
-        UnknownError = "unknown error",
-        UnsupportedOperation = "unsupported operation"
-    }
-    type ErrorResult = {
-        readonly error: ErrorCode;
-        readonly message: string;
-        readonly stacktrace?: string;
-    };
-    class ErrorResponse implements Message.ErrorResult {
-        error: Message.ErrorCode;
-        message: string;
-        stacktrace?: string | undefined;
-        constructor(error: Message.ErrorCode, message: string, stacktrace?: string | undefined);
-        toErrorResponse(commandId: number): Message.CommandResponse;
-    }
-    class InvalidArgumentException extends ErrorResponse {
-        constructor(message: string, stacktrace?: string);
-    }
-    class MoveTargetOutOfBoundsException extends ErrorResponse {
-        constructor(message: string, stacktrace?: string);
-    }
-    class NoSuchHandleException extends ErrorResponse {
-        constructor(message: string, stacktrace?: string);
-    }
-    class InvalidSessionIdException extends ErrorResponse {
-        constructor(message: string, stacktrace?: string);
-    }
-    class NoSuchAlertException extends ErrorResponse {
-        constructor(message: string, stacktrace?: string);
-    }
-    class NoSuchFrameException extends ErrorResponse {
-        constructor(message: string);
-    }
-    class NoSuchNodeException extends ErrorResponse {
-        constructor(message: string, stacktrace?: string);
-    }
-    class NoSuchElementException extends ErrorResponse {
-        constructor(message: string, stacktrace?: string);
-    }
-    class NoSuchScriptException extends ErrorResponse {
-        constructor(message: string, stacktrace?: string);
-    }
-    class SessionNotCreatedException extends ErrorResponse {
-        constructor(message: string, stacktrace?: string);
-    }
-    class UnknownCommandException extends ErrorResponse {
-        constructor(message: string, stacktrace?: string);
-    }
-    class UnknownErrorException extends ErrorResponse {
-        constructor(message: string, stacktrace?: string);
-    }
-    class UnsupportedOperationException extends ErrorResponse {
-        constructor(message: string, stacktrace?: string);
-    }
-}
-export declare namespace CommonDataTypes {
-    type Handle = string;
-    type RemoteReference = {
-        handle: Handle;
-    };
-    type SharedId = string;
-    type SharedReference = {
-        sharedId: SharedId;
-        handle?: Handle;
-    };
-    type RemoteObjectReference = {
-        handle: Handle;
-        sharedId?: SharedId;
-    };
-    type UndefinedValue = {
-        type: 'undefined';
-    };
-    type NullValue = {
-        type: 'null';
-    };
-    type StringValue = {
-        type: 'string';
-        value: string;
-    };
-    type SpecialNumber = 'NaN' | '-0' | 'Infinity' | '-Infinity';
-    type NumberValue = {
-        type: 'number';
-        value: number | SpecialNumber;
-    };
-    type BooleanValue = {
-        type: 'boolean';
-        value: boolean;
-    };
-    type BigIntValue = {
-        type: 'bigint';
-        value: string;
-    };
-    type PrimitiveProtocolValue = UndefinedValue | NullValue | StringValue | NumberValue | BooleanValue | BigIntValue;
-    type LocalValue = PrimitiveProtocolValue | ArrayLocalValue | DateLocalValue | MapLocalValue | ObjectLocalValue | RegExpLocalValue | SetLocalValue;
-    type ListLocalValue = LocalValue[];
-    type ArrayLocalValue = {
-        type: 'array';
-        value: ListLocalValue;
-    };
-    type DateLocalValue = {
-        type: 'date';
-        value: string;
-    };
-    type MappingLocalValue = [string | LocalValue, LocalValue][];
-    type MapLocalValue = {
-        type: 'map';
-        value: MappingLocalValue;
-    };
-    type ObjectLocalValue = {
-        type: 'object';
-        value: MappingLocalValue;
-    };
-    type RegExpValue = {
-        pattern: string;
-        flags?: string;
-    };
-    type RegExpLocalValue = {
-        type: 'regexp';
-        value: RegExpValue;
-    };
-    type SetLocalValue = {
-        type: 'set';
-        value: ListLocalValue;
-    };
-    type RemoteValue = PrimitiveProtocolValue | SymbolRemoteValue | ArrayRemoteValue | ObjectRemoteValue | FunctionRemoteValue | RegExpRemoteValue | DateRemoteValue | MapRemoteValue | SetRemoteValue | WeakMapRemoteValue | WeakSetRemoteValue | IteratorRemoteValue | GeneratorRemoteValue | ErrorRemoteValue | ProxyRemoteValue | PromiseRemoteValue | TypedArrayRemoteValue | ArrayBufferRemoteValue | NodeListRemoteValue | HTMLCollectionRemoteValue | NodeRemoteValue | WindowProxyRemoteValue;
-    type InternalId = string;
-    type ListRemoteValue = RemoteValue[];
-    type MappingRemoteValue = [RemoteValue | string, RemoteValue][];
-    type SymbolRemoteValue = RemoteReference & {
-        type: 'symbol';
-    };
-    type ArrayRemoteValue = RemoteReference & {
-        type: 'array';
-        value?: ListRemoteValue;
-    };
-    type ObjectRemoteValue = RemoteReference & {
-        type: 'object';
-        value?: MappingRemoteValue;
-    };
-    type FunctionRemoteValue = RemoteReference & {
-        type: 'function';
-    };
-    type RegExpRemoteValue = RemoteReference & RegExpLocalValue;
-    type DateRemoteValue = RemoteReference & DateLocalValue;
-    type MapRemoteValue = RemoteReference & {
-        type: 'map';
-        value: MappingRemoteValue;
-    };
-    type SetRemoteValue = RemoteReference & {
-        type: 'set';
-        value: ListRemoteValue;
-    };
-    type WeakMapRemoteValue = RemoteReference & {
-        type: 'weakmap';
-    };
-    type WeakSetRemoteValue = RemoteReference & {
-        type: 'weakset';
-    };
-    type IteratorRemoteValue = RemoteReference & {
-        type: 'iterator';
-    };
-    type GeneratorRemoteValue = RemoteReference & {
-        type: 'generator';
-    };
-    type ErrorRemoteValue = RemoteReference & {
-        type: 'error';
-    };
-    type ProxyRemoteValue = RemoteReference & {
-        type: 'proxy';
-    };
-    type PromiseRemoteValue = RemoteReference & {
-        type: 'promise';
-    };
-    type TypedArrayRemoteValue = RemoteReference & {
-        type: 'typedarray';
-    };
-    type ArrayBufferRemoteValue = RemoteReference & {
-        type: 'arraybuffer';
-    };
-    type NodeListRemoteValue = RemoteReference & {
-        type: 'nodelist';
-        value?: ListRemoteValue;
-    };
-    type HTMLCollectionRemoteValue = RemoteReference & {
-        type: 'htmlcollection';
-        value?: ListRemoteValue;
-    };
-    type NodeRemoteValue = RemoteReference & {
-        type: 'node';
-        value?: NodeProperties;
-    };
-    type NodeProperties = {
-        nodeType: number;
-        childNodeCount: number;
-        attributes?: Record<string, string>;
-        children?: [NodeRemoteValue];
-        localName?: string;
-        mode?: 'open' | 'closed';
-        namespaceURI?: string;
-        nodeValue: string;
-        shadowRoot?: NodeRemoteValue | null;
-    };
-    type WindowProxyRemoteValue = RemoteReference & {
-        type: 'window';
-    };
-    type BrowsingContext = string;
-}
-/** @see https://w3c.github.io/webdriver-bidi/#module-script */
-export declare namespace Script {
-    type Command = EvaluateCommand | CallFunctionCommand | GetRealmsCommand | DisownCommand | AddPreloadScriptCommand | RemovePreloadScriptCommand;
-    type Result = EvaluateResult | CallFunctionResult | GetRealmsResult | DisownResult | AddPreloadScriptResult;
-    type Event = MessageEvent | RealmCreatedEvent | RealmDestroyedEvent;
-    type Realm = string;
-    type ScriptResult = ScriptResultSuccess | ScriptResultException;
-    type ScriptResultSuccess = {
-        type: 'success';
-        result: CommonDataTypes.RemoteValue;
-        realm: Realm;
-    };
-    type ScriptResultException = {
-        exceptionDetails: ExceptionDetails;
-        type: 'exception';
-        realm: Realm;
-    };
-    type ExceptionDetails = {
-        columnNumber: number;
-        exception: CommonDataTypes.RemoteValue;
-        lineNumber: number;
-        stackTrace: Script.StackTrace;
-        text: string;
-    };
-    type RealmInfo = WindowRealmInfo | DedicatedWorkerRealmInfo | SharedWorkerRealmInfo | ServiceWorkerRealmInfo | WorkerRealmInfo | PaintWorkletRealmInfo | AudioWorkletRealmInfo | WorkletRealmInfo;
-    type BaseRealmInfo = {
-        realm: Realm;
-        origin: string;
-    };
-    type WindowRealmInfo = BaseRealmInfo & {
-        type: 'window';
-        context: CommonDataTypes.BrowsingContext;
-        sandbox?: string;
-    };
-    type DedicatedWorkerRealmInfo = BaseRealmInfo & {
-        type: 'dedicated-worker';
-    };
-    type SharedWorkerRealmInfo = BaseRealmInfo & {
-        type: 'shared-worker';
-    };
-    type ServiceWorkerRealmInfo = BaseRealmInfo & {
-        type: 'service-worker';
-    };
-    type WorkerRealmInfo = BaseRealmInfo & {
-        type: 'worker';
-    };
-    type PaintWorkletRealmInfo = BaseRealmInfo & {
-        type: 'paint-worklet';
-    };
-    type AudioWorkletRealmInfo = BaseRealmInfo & {
-        type: 'audio-worklet';
-    };
-    type WorkletRealmInfo = BaseRealmInfo & {
-        type: 'worklet';
-    };
-    type RealmType = 'window' | 'dedicated-worker' | 'shared-worker' | 'service-worker' | 'worker' | 'paint-worklet' | 'audio-worklet' | 'worklet';
-    type GetRealmsParameters = {
-        context?: CommonDataTypes.BrowsingContext;
-        type?: RealmType;
-    };
-    type GetRealmsCommand = {
-        method: 'script.getRealms';
-        params: GetRealmsParameters;
-    };
-    type GetRealmsResult = {
-        result: {
-            realms: RealmInfo[];
-        };
-    };
-    type EvaluateCommand = {
-        method: 'script.evaluate';
-        params: EvaluateParameters;
-    };
-    type ContextTarget = {
-        context: CommonDataTypes.BrowsingContext;
-        sandbox?: string;
-    };
-    type RealmTarget = {
-        realm: Realm;
-    };
-    type Target = RealmTarget | ContextTarget;
-    type ResultOwnership = 'root' | 'none';
-    type SerializationOptions = {
-        maxDomDepth?: number | null;
-        maxObjectDepth?: number | null;
-        includeShadowTree?: 'none' | 'open' | 'all';
-    };
-    type EvaluateParameters = {
-        expression: string;
-        awaitPromise: boolean;
-        target: Target;
-        resultOwnership?: ResultOwnership;
-        serializationOptions?: SerializationOptions;
-    };
-    type EvaluateResult = {
-        result: ScriptResult;
-    };
-    type DisownCommand = {
-        method: 'script.disown';
-        params: EvaluateParameters;
-    };
-    type DisownParameters = {
-        target: Target;
-        handles: CommonDataTypes.Handle[];
-    };
-    type DisownResult = {
-        result: Record<string, unknown>;
-    };
-    type CallFunctionCommand = {
-        method: 'script.callFunction';
-        params: CallFunctionParameters;
-    };
-    type ArgumentValue = CommonDataTypes.RemoteReference | CommonDataTypes.SharedReference | CommonDataTypes.LocalValue | Script.ChannelValue;
-    type CallFunctionParameters = {
-        functionDeclaration: string;
-        awaitPromise: boolean;
-        target: Target;
-        arguments?: ArgumentValue[];
-        this?: ArgumentValue;
-        resultOwnership?: ResultOwnership;
-        serializationOptions?: SerializationOptions;
-    };
-    type CallFunctionResult = {
-        result: ScriptResult;
-    };
-    type Source = {
-        realm: Realm;
-        context?: CommonDataTypes.BrowsingContext;
-    };
-    type StackTrace = {
-        callFrames: StackFrame[];
-    };
-    type StackFrame = {
-        columnNumber: number;
-        functionName: string;
-        lineNumber: number;
-        url: string;
-    };
-    /** The preload script identifier. */
-    type PreloadScript = string;
-    type AddPreloadScriptCommand = {
-        method: 'script.addPreloadScript';
-        params: AddPreloadScriptParameters;
-    };
-    type AddPreloadScriptParameters = {
-        functionDeclaration: string;
-        arguments?: ChannelValue[];
-        sandbox?: string;
-        context?: CommonDataTypes.BrowsingContext | null;
-    };
-    type AddPreloadScriptResult = {
-        result: {
-            script: PreloadScript;
-        };
-    };
-    type RemovePreloadScriptCommand = {
-        method: 'script.removePreloadScript';
-        params: RemovePreloadScriptParameters;
-    };
-    type RemovePreloadScriptParameters = {
-        script: PreloadScript;
-    };
-    type Channel = string;
-    type ChannelProperties = {
-        channel: Channel;
-        serializationOptions?: SerializationOptions;
-        ownership?: ResultOwnership;
-    };
-    type ChannelValue = {
-        type: 'channel';
-        value: ChannelProperties;
-    };
-    type Message = {
-        method: 'script.message';
-        params: MessageParameters;
-    };
-    type MessageParameters = {
-        channel: Channel;
-        data: CommonDataTypes.RemoteValue;
-        source: Source;
-    };
-    type MessageEvent = EventResponse<EventNames.MessageEvent, Script.MessageParameters>;
-    type RealmCreatedEvent = EventResponse<EventNames.RealmCreated, RealmInfo>;
-    type RealmDestroyedParameters = {
-        realm: Realm;
-    };
-    type RealmDestroyedEvent = EventResponse<EventNames.RealmDestroyed, RealmDestroyedParameters>;
-    enum EventNames {
-        MessageEvent = "script.message",
-        RealmCreated = "script.realmCreated",
-        RealmDestroyed = "script.realmDestroyed"
-    }
-    const AllEvents = "script";
-}
-export declare namespace BrowsingContext {
-    type Command = CaptureScreenshotCommand | CloseCommand | CreateCommand | GetTreeCommand | NavigateCommand | PrintCommand | ReloadCommand | SetViewportCommand;
-    type Result = CaptureScreenshotResult | CreateResult | GetTreeResult | NavigateResult | PrintResult;
-    type Event = ContextCreatedEvent | ContextDestroyedEvent | DomContentLoadedEvent | FragmentNavigatedEvent | LoadEvent | NavigationStartedEvent;
-    type Navigation = string;
-    type GetTreeCommand = {
-        method: 'browsingContext.getTree';
-        params: GetTreeParameters;
-    };
-    type GetTreeParameters = {
-        maxDepth?: number;
-        root?: CommonDataTypes.BrowsingContext;
-    };
-    type GetTreeResult = {
-        result: {
-            contexts: InfoList;
-        };
-    };
-    type InfoList = Info[];
-    type Info = {
-        context: CommonDataTypes.BrowsingContext;
-        parent?: CommonDataTypes.BrowsingContext | null;
-        url: string;
-        children: InfoList | null;
-    };
-    type NavigateCommand = {
-        method: 'browsingContext.navigate';
-        params: NavigateParameters;
-    };
-    type ReadinessState = 'none' | 'interactive' | 'complete';
-    type NavigateParameters = {
-        context: CommonDataTypes.BrowsingContext;
-        url: string;
-        wait?: ReadinessState;
-    };
-    type NavigateResult = {
-        result: {
-            navigation: Navigation | null;
-            url: string;
-        };
-    };
-    type ReloadCommand = {
-        method: 'browsingContext.reload';
-        params: ReloadParameters;
-    };
-    type ReloadParameters = {
-        context: CommonDataTypes.BrowsingContext;
-        ignoreCache?: boolean;
-        wait?: ReadinessState;
-    };
-    type CreateCommand = {
-        method: 'browsingContext.create';
-        params: CreateParameters;
-    };
-    type CreateParameters = {
-        type: 'tab' | 'window';
-        referenceContext?: CommonDataTypes.BrowsingContext;
-    };
-    type CreateResult = {
-        result: {
-            context: CommonDataTypes.BrowsingContext;
-        };
-    };
-    type CloseCommand = {
-        method: 'browsingContext.close';
-        params: CloseParameters;
-    };
-    type CloseParameters = {
-        context: CommonDataTypes.BrowsingContext;
-    };
-    type CaptureScreenshotCommand = {
-        method: 'browsingContext.captureScreenshot';
-        params: CaptureScreenshotParameters;
-    };
-    type CaptureScreenshotParameters = {
-        context: CommonDataTypes.BrowsingContext;
-    };
-    type CaptureScreenshotResult = {
-        result: {
-            data: string;
-        };
-    };
-    type PrintCommand = {
-        method: 'browsingContext.print';
-        params: PrintParameters;
-    };
-    type PrintParameters = {
-        context: CommonDataTypes.BrowsingContext;
-        background?: boolean;
-        margin?: PrintMarginParameters;
-        orientation?: 'portrait' | 'landscape';
-        page?: PrintPageParams;
-        pageRanges?: (string | number)[];
-        scale?: number;
-        shrinkToFit?: boolean;
-    };
-    type PrintMarginParameters = {
-        bottom?: number;
-        left?: number;
-        right?: number;
-        top?: number;
-    };
-    type PrintPageParams = {
-        height?: number;
-        width?: number;
-    };
-    type PrintResult = {
-        result: {
-            data: string;
-        };
-    };
-    type Viewport = {
-        width: number;
-        height: number;
-    };
-    type SetViewportCommand = {
-        method: 'browsingContext.setViewport';
-        params: SetViewportParameters;
-    };
-    type SetViewportParameters = {
-        context: CommonDataTypes.BrowsingContext;
-        viewport: Viewport | null;
-    };
-    type LoadEvent = EventResponse<EventNames.LoadEvent, NavigationInfo>;
-    type DomContentLoadedEvent = EventResponse<EventNames.DomContentLoadedEvent, NavigationInfo>;
-    type NavigationInfo = {
-        context: CommonDataTypes.BrowsingContext;
-        navigation: Navigation | null;
-        timestamp: number;
-        url: string;
-    };
-    type ContextCreatedEvent = EventResponse<EventNames.ContextCreatedEvent, BrowsingContext.Info>;
-    type ContextDestroyedEvent = EventResponse<EventNames.ContextDestroyedEvent, BrowsingContext.Info>;
-    type FragmentNavigatedEvent = EventResponse<EventNames.FragmentNavigated, BrowsingContext.NavigationInfo>;
-    type NavigationStartedEvent = EventResponse<EventNames.NavigationStarted, BrowsingContext.NavigationInfo>;
-    enum EventNames {
-        ContextCreatedEvent = "browsingContext.contextCreated",
-        ContextDestroyedEvent = "browsingContext.contextDestroyed",
-        DomContentLoadedEvent = "browsingContext.domContentLoaded",
-        FragmentNavigated = "browsingContext.fragmentNavigated",
-        LoadEvent = "browsingContext.load",
-        NavigationStarted = "browsingContext.navigationStarted"
-    }
-    const AllEvents = "browsingContext";
-}
-/** @see https://w3c.github.io/webdriver-bidi/#module-log */
-export declare namespace Log {
-    type LogEntry = GenericLogEntry | ConsoleLogEntry | JavascriptLogEntry;
-    type Event = LogEntryAddedEvent;
-    type LogLevel = 'debug' | 'info' | 'warn' | 'error';
-    type BaseLogEntry = {
-        level: LogLevel;
-        source: Script.Source;
-        text: string | null;
-        timestamp: number;
-        stackTrace?: Script.StackTrace;
-    };
-    type GenericLogEntry = BaseLogEntry & {
-        type: string;
-    };
-    type ConsoleLogEntry = BaseLogEntry & {
-        type: 'console';
-        method: string;
-        args: CommonDataTypes.RemoteValue[];
-    };
-    type JavascriptLogEntry = BaseLogEntry & {
-        type: 'javascript';
-    };
-    type LogEntryAddedEvent = EventResponse<EventNames.LogEntryAddedEvent, LogEntry>;
-    const AllEvents = "log";
-    enum EventNames {
-        LogEntryAddedEvent = "log.entryAdded"
-    }
-}
-export declare namespace Network {
-    export type Command = Message.EmptyCommand;
-    export type Result = Message.EmptyResult;
-    export type Event = BeforeRequestSentEvent | ResponseCompletedEvent | ResponseStartedEvent | FetchErrorEvent;
-    export type BeforeRequestSentEvent = EventResponse<EventNames.BeforeRequestSentEvent, BeforeRequestSentParams>;
-    export type ResponseCompletedEvent = EventResponse<EventNames.ResponseCompletedEvent, ResponseCompletedParams>;
-    export type ResponseStartedEvent = EventResponse<EventNames.ResponseStartedEvent, ResponseStartedParams>;
-    export type FetchErrorEvent = EventResponse<EventNames.FetchErrorEvent, FetchErrorParams>;
-    export type Header = {
-        name: string;
-        value?: string;
-        binaryValue?: number[];
-    };
-    export type Cookie = {
-        name: string;
-        value?: string;
-        binaryValue?: number[];
-        domain: string;
-        path: string;
-        expires?: number;
-        size: number;
-        httpOnly: boolean;
-        secure: boolean;
-        sameSite: 'strict' | 'lax' | 'none';
-    };
-    type FetchTimingInfo = {
-        timeOrigin: number;
-        requestTime: number;
-        redirectStart: number;
-        redirectEnd: number;
-        fetchStart: number;
-        dnsStart: number;
-        dnsEnd: number;
-        connectStart: number;
-        connectEnd: number;
-        tlsStart: number;
-        requestStart: number;
-        responseStart: number;
-        responseEnd: number;
-    };
-    export type Request = string;
-    export type RequestData = {
-        request: string;
-        url: string;
-        method: string;
-        headers: Header[];
-        cookies: Cookie[];
-        headersSize: number;
-        bodySize: number | null;
-        timings: FetchTimingInfo;
-    };
-    export type BaseParameters = {
-        context: CommonDataTypes.BrowsingContext | null;
-        navigation: BrowsingContext.Navigation | null;
-        redirectCount: number;
-        request: RequestData;
-        timestamp: number;
-    };
-    export type Initiator = {
-        type: 'parser' | 'script' | 'preflight' | 'other';
-        columnNumber?: number;
-        lineNumber?: number;
-        stackTrace?: Script.StackTrace;
-        request?: Request;
-    };
-    export type ResponseContent = {
-        size: number;
-    };
-    export type ResponseData = {
-        url: string;
-        protocol: string;
-        status: number;
-        statusText: string;
-        fromCache: boolean;
-        headers: Header[];
-        mimeType: string;
-        bytesReceived: number;
-        headersSize: number | null;
-        bodySize: number | null;
-        content: ResponseContent;
-    };
-    export type BeforeRequestSentParams = BaseParameters & {
-        initiator: Initiator;
-    };
-    export type ResponseCompletedParams = BaseParameters & {
-        response: ResponseData;
-    };
-    export type ResponseStartedParams = BaseParameters & {
-        response: ResponseData;
-    };
-    export type FetchErrorParams = BaseParameters & {
-        errorText: string;
-    };
-    export const AllEvents = "network";
-    export enum EventNames {
-        BeforeRequestSentEvent = "network.beforeRequestSent",
-        FetchErrorEvent = "network.fetchError",
-        ResponseStartedEvent = "network.responseStarted",
-        ResponseCompletedEvent = "network.responseCompleted"
-    }
-    export {};
-}
-export declare namespace Cdp {
-    type Command = SendCommandCommand | GetSessionCommand;
-    type Result = SendCommandResult | GetSessionResult;
-    type Event = EventReceivedEvent;
-    type SendCommandCommand = {
-        method: 'cdp.sendCommand';
-        params: SendCommandParams;
-    };
-    type SendCommandParams<Command extends keyof ProtocolMapping.Commands = keyof ProtocolMapping.Commands> = {
-        method: Command;
-        params?: ProtocolMapping.Commands[Command]['paramsType'][0];
-        session?: string;
-    };
-    type SendCommandResult = {
-        result: ProtocolMapping.Commands[keyof ProtocolMapping.Commands]['returnType'];
-        session?: string;
-    };
-    type GetSessionCommand = {
-        method: 'cdp.getSession';
-        params: GetSessionParams;
-    };
-    type GetSessionParams = {
-        context: CommonDataTypes.BrowsingContext;
-    };
-    type GetSessionResult = {
-        result: {
-            session: string | null;
-        };
-    };
-    type EventReceivedEvent = EventResponse<EventNames, EventParams>;
-    type EventParams<EventName extends keyof ProtocolMapping.Events = keyof ProtocolMapping.Events> = {
-        event: EventName;
-        params: ProtocolMapping.Events[EventName];
-        session: string;
-    };
-    type EventNames = `cdp.${keyof ProtocolMapping.Events}`;
-}
-/** @see https://w3c.github.io/webdriver-bidi/#module-session */
-export declare namespace Session {
-    type Command = StatusCommand | SubscribeCommand | UnsubscribeCommand;
-    type Result = StatusResult;
-    type StatusCommand = {
-        method: 'session.status';
-        params: Message.EmptyParams;
-    };
-    type StatusResult = {
-        result: {
-            ready: boolean;
-            message: string;
-        };
-    };
-    type SubscribeCommand = {
-        method: 'session.subscribe';
-        params: SubscriptionRequest;
-    };
-    type SubscriptionRequestEvent = Cdp.EventNames | Message.EventNames | Message.AllEvents;
-    type SubscriptionRequest = {
-        events: SubscriptionRequestEvent[];
-        contexts?: CommonDataTypes.BrowsingContext[];
-    };
-    type UnsubscribeCommand = {
-        method: 'session.unsubscribe';
-        params: SubscriptionRequest;
-    };
-}
-/** @see https://w3c.github.io/webdriver-bidi/#module-input */
-export declare namespace Input {
-    type Command = PerformActions | ReleaseActions;
-    type ElementOrigin = {
-        type: 'element';
-        element: CommonDataTypes.SharedReference;
-    };
-    type PerformActions = {
-        method: 'input.performActions';
-        params: PerformActionsParameters;
-    };
-    type PerformActionsParameters = {
-        context: CommonDataTypes.BrowsingContext;
-        actions: SourceActions[];
-    };
-    type SourceActions = NoneSourceActions | KeySourceActions | PointerSourceActions | WheelSourceActions;
-    enum SourceActionsType {
-        None = "none",
-        Key = "key",
-        Pointer = "pointer",
-        Wheel = "wheel"
-    }
-    type NoneSourceActions = {
-        type: SourceActionsType.None;
-        id: string;
-        actions: NoneSourceAction[];
-    };
-    type NoneSourceAction = PauseAction;
-    type KeySourceActions = {
-        type: SourceActionsType.Key;
-        id: string;
-        actions: KeySourceAction[];
-    };
-    type KeySourceAction = PauseAction | KeyDownAction | KeyUpAction;
-    type PointerSourceActions = {
-        type: SourceActionsType.Pointer;
-        id: string;
-        parameters?: PointerParameters;
-        actions: PointerSourceAction[];
-    };
-    enum PointerType {
-        Mouse = "mouse",
-        Pen = "pen",
-        Touch = "touch"
-    }
-    type PointerParameters = {
-        /**
-         * @defaultValue `"mouse"`
-         */
-        pointerType?: PointerType;
-    };
-    type PointerSourceAction = PauseAction | PointerDownAction | PointerUpAction | PointerMoveAction;
-    type WheelSourceActions = {
-        type: SourceActionsType.Wheel;
-        id: string;
-        actions: WheelSourceAction[];
-    };
-    type WheelSourceAction = PauseAction | WheelScrollAction;
-    enum ActionType {
-        Pause = "pause",
-        KeyDown = "keyDown",
-        KeyUp = "keyUp",
-        PointerUp = "pointerUp",
-        PointerDown = "pointerDown",
-        PointerMove = "pointerMove",
-        Scroll = "scroll"
-    }
-    type PauseAction = {
-        type: ActionType.Pause;
-        duration?: number;
-    };
-    type KeyDownAction = {
-        type: ActionType.KeyDown;
-        value: string;
-    };
-    type KeyUpAction = {
-        type: ActionType.KeyUp;
-        value: string;
-    };
-    type PointerUpAction = PointerCommonProperties & {
-        type: ActionType.PointerUp;
-        button: number;
-    };
-    type PointerDownAction = PointerCommonProperties & {
-        type: ActionType.PointerDown;
-        button: number;
-    };
-    type PointerMoveAction = PointerCommonProperties & {
-        type: ActionType.PointerMove;
-        x: number;
-        y: number;
-        duration?: number;
-        origin?: Origin;
-    };
-    type WheelScrollAction = {
-        type: ActionType.Scroll;
-        x: number;
-        y: number;
-        deltaX: number;
-        deltaY: number;
-        duration?: number;
-        /**
-         * @defaultValue `"viewport"`
-         */
-        origin?: Origin;
-    };
-    type PointerCommonProperties = {
-        /**
-         * @defaultValue `1`
-         */
-        width?: number;
-        /**
-         * @defaultValue `1`
-         */
-        height?: number;
-        /**
-         * @defaultValue `0.0`
-         */
-        pressure?: number;
-        /**
-         * @defaultValue `0.0`
-         */
-        tangentialPressure?: number;
-        /**
-         * @defaultValue `9`
-         */
-        twist?: number;
-    } & (AngleProperties | TiltProperties);
-    type AngleProperties = {
-        /**
-         * @defaultValue `0.0`
-         */
-        altitudeAngle?: number;
-        /**
-         * @defaultValue `0.0`
-         */
-        azimuthAngle?: number;
-    };
-    type TiltProperties = {
-        /**
-         * @defaultValue `0`
-         */
-        tiltX?: number;
-        /**
-         * @defaultValue `0`
-         */
-        tiltY?: number;
-    };
-    type Origin = 'viewport' | 'pointer' | ElementOrigin;
-    type ReleaseActions = {
-        method: 'input.releaseActions';
-        params: ReleaseActionsParameters;
-    };
-    type ReleaseActionsParameters = {
-        context: CommonDataTypes.BrowsingContext;
-    };
-}
-export {};
+export * as Cdp from './cdp.js';
+export * as ChromiumBidi from './chromium-bidi.js';
+export * from './webdriver-bidi.js';
+export * from './ErrorResponse.js';
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol/protocol.js b/node_modules/chromium-bidi/lib/cjs/protocol/protocol.js
index 8b6ad97..45c388f 100644
--- a/node_modules/chromium-bidi/lib/cjs/protocol/protocol.js
+++ b/node_modules/chromium-bidi/lib/cjs/protocol/protocol.js
@@ -1,6 +1,6 @@
 "use strict";
 /**
- * Copyright 2022 Google LLC.
+ * Copyright 2023 Google LLC.
  * Copyright (c) Microsoft Corporation.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,202 +15,36 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+var __exportStar = (this && this.__exportStar) || function(m, exports) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
+};
 Object.defineProperty(exports, "__esModule", { value: true });
-exports.Input = exports.Network = exports.Log = exports.BrowsingContext = exports.Script = exports.Message = void 0;
-// keep-sorted end
-var Message;
-(function (Message) {
-    // keep-sorted end
-    let ErrorCode;
-    (function (ErrorCode) {
-        // keep-sorted start
-        ErrorCode["InvalidArgument"] = "invalid argument";
-        ErrorCode["InvalidSessionId"] = "invalid session id";
-        ErrorCode["MoveTargetOutOfBounds"] = "move target out of bounds";
-        ErrorCode["NoSuchAlert"] = "no such alert";
-        ErrorCode["NoSuchElement"] = "no such element";
-        ErrorCode["NoSuchFrame"] = "no such frame";
-        ErrorCode["NoSuchHandle"] = "no such handle";
-        ErrorCode["NoSuchNode"] = "no such node";
-        ErrorCode["NoSuchScript"] = "no such script";
-        ErrorCode["SessionNotCreated"] = "session not created";
-        ErrorCode["UnknownCommand"] = "unknown command";
-        ErrorCode["UnknownError"] = "unknown error";
-        ErrorCode["UnsupportedOperation"] = "unsupported operation";
-        // keep-sorted end
-    })(ErrorCode = Message.ErrorCode || (Message.ErrorCode = {}));
-    class ErrorResponse {
-        error;
-        message;
-        stacktrace;
-        constructor(error, message, stacktrace) {
-            this.error = error;
-            this.message = message;
-            this.stacktrace = stacktrace;
-        }
-        toErrorResponse(commandId) {
-            return {
-                id: commandId,
-                error: this.error,
-                message: this.message,
-                stacktrace: this.stacktrace,
-            };
-        }
-    }
-    Message.ErrorResponse = ErrorResponse;
-    class InvalidArgumentException extends ErrorResponse {
-        constructor(message, stacktrace) {
-            super(ErrorCode.InvalidArgument, message, stacktrace);
-        }
-    }
-    Message.InvalidArgumentException = InvalidArgumentException;
-    class MoveTargetOutOfBoundsException extends ErrorResponse {
-        constructor(message, stacktrace) {
-            super(ErrorCode.MoveTargetOutOfBounds, message, stacktrace);
-        }
-    }
-    Message.MoveTargetOutOfBoundsException = MoveTargetOutOfBoundsException;
-    class NoSuchHandleException extends ErrorResponse {
-        constructor(message, stacktrace) {
-            super(ErrorCode.NoSuchHandle, message, stacktrace);
-        }
-    }
-    Message.NoSuchHandleException = NoSuchHandleException;
-    class InvalidSessionIdException extends ErrorResponse {
-        constructor(message, stacktrace) {
-            super(ErrorCode.InvalidSessionId, message, stacktrace);
-        }
-    }
-    Message.InvalidSessionIdException = InvalidSessionIdException;
-    class NoSuchAlertException extends ErrorResponse {
-        constructor(message, stacktrace) {
-            super(ErrorCode.NoSuchAlert, message, stacktrace);
-        }
-    }
-    Message.NoSuchAlertException = NoSuchAlertException;
-    class NoSuchFrameException extends ErrorResponse {
-        constructor(message) {
-            super(ErrorCode.NoSuchFrame, message);
-        }
-    }
-    Message.NoSuchFrameException = NoSuchFrameException;
-    class NoSuchNodeException extends ErrorResponse {
-        constructor(message, stacktrace) {
-            super(ErrorCode.NoSuchNode, message, stacktrace);
-        }
-    }
-    Message.NoSuchNodeException = NoSuchNodeException;
-    class NoSuchElementException extends ErrorResponse {
-        constructor(message, stacktrace) {
-            super(ErrorCode.NoSuchElement, message, stacktrace);
-        }
-    }
-    Message.NoSuchElementException = NoSuchElementException;
-    class NoSuchScriptException extends ErrorResponse {
-        constructor(message, stacktrace) {
-            super(ErrorCode.NoSuchScript, message, stacktrace);
-        }
-    }
-    Message.NoSuchScriptException = NoSuchScriptException;
-    class SessionNotCreatedException extends ErrorResponse {
-        constructor(message, stacktrace) {
-            super(ErrorCode.SessionNotCreated, message, stacktrace);
-        }
-    }
-    Message.SessionNotCreatedException = SessionNotCreatedException;
-    class UnknownCommandException extends ErrorResponse {
-        constructor(message, stacktrace) {
-            super(ErrorCode.UnknownCommand, message, stacktrace);
-        }
-    }
-    Message.UnknownCommandException = UnknownCommandException;
-    class UnknownErrorException extends ErrorResponse {
-        constructor(message, stacktrace) {
-            super(ErrorCode.UnknownError, message, stacktrace);
-        }
-    }
-    Message.UnknownErrorException = UnknownErrorException;
-    class UnsupportedOperationException extends ErrorResponse {
-        constructor(message, stacktrace) {
-            super(ErrorCode.UnsupportedOperation, message, stacktrace);
-        }
-    }
-    Message.UnsupportedOperationException = UnsupportedOperationException;
-})(Message = exports.Message || (exports.Message = {}));
-/** @see https://w3c.github.io/webdriver-bidi/#module-script */
-var Script;
-(function (Script) {
-    let EventNames;
-    (function (EventNames) {
-        // keep-sorted start
-        EventNames["MessageEvent"] = "script.message";
-        EventNames["RealmCreated"] = "script.realmCreated";
-        EventNames["RealmDestroyed"] = "script.realmDestroyed";
-        // keep-sorted end
-    })(EventNames = Script.EventNames || (Script.EventNames = {}));
-    Script.AllEvents = 'script';
-})(Script = exports.Script || (exports.Script = {}));
-// https://w3c.github.io/webdriver-bidi/#module-browsingContext
-var BrowsingContext;
-(function (BrowsingContext) {
-    let EventNames;
-    (function (EventNames) {
-        // keep-sorted start
-        EventNames["ContextCreatedEvent"] = "browsingContext.contextCreated";
-        EventNames["ContextDestroyedEvent"] = "browsingContext.contextDestroyed";
-        EventNames["DomContentLoadedEvent"] = "browsingContext.domContentLoaded";
-        EventNames["FragmentNavigated"] = "browsingContext.fragmentNavigated";
-        EventNames["LoadEvent"] = "browsingContext.load";
-        EventNames["NavigationStarted"] = "browsingContext.navigationStarted";
-        // keep-sorted end
-    })(EventNames = BrowsingContext.EventNames || (BrowsingContext.EventNames = {}));
-    BrowsingContext.AllEvents = 'browsingContext';
-})(BrowsingContext = exports.BrowsingContext || (exports.BrowsingContext = {}));
-/** @see https://w3c.github.io/webdriver-bidi/#module-log */
-var Log;
-(function (Log) {
-    Log.AllEvents = 'log';
-    let EventNames;
-    (function (EventNames) {
-        EventNames["LogEntryAddedEvent"] = "log.entryAdded";
-    })(EventNames = Log.EventNames || (Log.EventNames = {}));
-})(Log = exports.Log || (exports.Log = {}));
-var Network;
-(function (Network) {
-    Network.AllEvents = 'network';
-    let EventNames;
-    (function (EventNames) {
-        EventNames["BeforeRequestSentEvent"] = "network.beforeRequestSent";
-        EventNames["FetchErrorEvent"] = "network.fetchError";
-        EventNames["ResponseStartedEvent"] = "network.responseStarted";
-        EventNames["ResponseCompletedEvent"] = "network.responseCompleted";
-    })(EventNames = Network.EventNames || (Network.EventNames = {}));
-})(Network = exports.Network || (exports.Network = {}));
-/** @see https://w3c.github.io/webdriver-bidi/#module-input */
-var Input;
-(function (Input) {
-    let SourceActionsType;
-    (function (SourceActionsType) {
-        SourceActionsType["None"] = "none";
-        SourceActionsType["Key"] = "key";
-        SourceActionsType["Pointer"] = "pointer";
-        SourceActionsType["Wheel"] = "wheel";
-    })(SourceActionsType = Input.SourceActionsType || (Input.SourceActionsType = {}));
-    let PointerType;
-    (function (PointerType) {
-        PointerType["Mouse"] = "mouse";
-        PointerType["Pen"] = "pen";
-        PointerType["Touch"] = "touch";
-    })(PointerType = Input.PointerType || (Input.PointerType = {}));
-    let ActionType;
-    (function (ActionType) {
-        ActionType["Pause"] = "pause";
-        ActionType["KeyDown"] = "keyDown";
-        ActionType["KeyUp"] = "keyUp";
-        ActionType["PointerUp"] = "pointerUp";
-        ActionType["PointerDown"] = "pointerDown";
-        ActionType["PointerMove"] = "pointerMove";
-        ActionType["Scroll"] = "scroll";
-    })(ActionType = Input.ActionType || (Input.ActionType = {}));
-})(Input = exports.Input || (exports.Input = {}));
+exports.ChromiumBidi = exports.Cdp = void 0;
+exports.Cdp = __importStar(require("./cdp.js"));
+exports.ChromiumBidi = __importStar(require("./chromium-bidi.js"));
+__exportStar(require("./webdriver-bidi.js"), exports);
+__exportStar(require("./ErrorResponse.js"), exports);
 //# sourceMappingURL=protocol.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol/protocol.js.map b/node_modules/chromium-bidi/lib/cjs/protocol/protocol.js.map
index c215869..2cefb75 100644
--- a/node_modules/chromium-bidi/lib/cjs/protocol/protocol.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/protocol/protocol.js.map
@@ -1 +1 @@
-{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/protocol/protocol.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../../src/protocol/protocol.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,gDAAgC;AAChC,mEAAmD;AACnD,sDAAoC;AACpC,qDAAmC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol/tsconfig.tsbuildinfo b/node_modules/chromium-bidi/lib/cjs/protocol/tsconfig.tsbuildinfo
index 3a53cb4..23adc14 100644
--- a/node_modules/chromium-bidi/lib/cjs/protocol/tsconfig.tsbuildinfo
+++ b/node_modules/chromium-bidi/lib/cjs/protocol/tsconfig.tsbuildinfo
@@ -1 +1 @@
-{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../../../src/protocol/protocol.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"9a60b92bca4c1257db03b349d58e63e4868cfc0d1c8d0ba60c2dbc63f4e6c9f6","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"b7feb7967c6c6003e11f49efa8f5de989484e0a6ba2e5a6c41b55f8b8bd85dba","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7823c8aa42d88e6cb454fe7dc56996c6fd174b28a9f050e9bdea1c25b7d114ea","bc80c81a2be49b8c770330d63bea8e1b84d80978236faa5eabaade1ca4daae6d","8572211bcaf477c972f873af2e9015c9dba9325fed4ab68214185a57872b3c12",{"version":"923132703ec9245e00103f9dc5e4f38eedcf9b29fc204ee60cf666a911bf42a7","signature":"3bb597af9b7d6774dbd415191686cc9337b45b241451844908ca2a42eae31114"},"dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","93b7325b49dfbf613d940ed0e471216657b2d77459dac34f1b5b1678f08f884c","bee89e1eb6425eb49894f3f25e4562dc2564e84e5aa7610b7e13d8ecddf8f5db","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true},"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"8d81612302e009aacd595b125ae1530b6342f690eb83da7788503617d1362185","affectsGlobalScope":true},"7d2e3fea24c712c99c03ad8f556abedbfe105f87f1be10b95dbd409d24bc05a3",{"version":"211e3f15fbced4ab4be19f49ffa990b9ff20d749d33b65ff753be691e7616239","affectsGlobalScope":true},"374ca798f244e464346f14301dc2a8b4b111af1a83b49fffef5906c338a1f922","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","e596c9bb2f29a2699fdd4ae89139612652245192f67f45617c5a4b20832aaae9","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","1cdcfc1f624d6c08aa12c73935f6e13f095919cd99edf95752951796eb225729","216717f17c095cde1dc19375e1ab3af0a4a485355860c077a4f9d6ea59fab5b5","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"00dee7cdca8b8420c47ea4a31a34b8e8294013ebc4f463fd941e867e7bf05029","affectsGlobalScope":true},"80473bd0dd90ca1e166514c2dfead9d5803f9c51418864ca35abbeec6e6847e1","1c84b46267610a34028edfd0d035509341751262bac1062857f3c8df7aff7153","e6c86d83bd526c8bdb5d0bf935b8e72ce983763d600743f74d812fdf4abf4df6","a3d541d303ee505053f5dcbf9fafb65cac3d5631037501cd616195863a6c5740","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true},"bcebb922784739bdb34c18ee51095d25a92b560c78ccd2eaacd6bd00f7443d83","7ee6ed878c4528215c82b664fe0cfe80e8b4da6c0d4cc80869367868774db8b1","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"0715e4cd28ad471b2a93f3e552ff51a3ae423417a01a10aa1d3bc7c6b95059d6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","4f3fdeba4e28e21aa719c081b8dc8f91d47e12e773389b9d35679c08151c9d37","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","f69ff39996a61a0dd10f4bce73272b52e8024a4d58b13ab32bf4712909d0a2b7",{"version":"3c4ba1dd9b12ffa284b565063108f2f031d150ea15b8fafbdc17f5d2a07251f3","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","3d6c3d6b3bd42f1175d65cb74051c5f4ee2c1d2fbeb1facc5385e2161ce93005","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"a73ae8c0e62103bb9e21bb6538700881bf135b9a8b125b857ec68edfa0da4ed3","affectsGlobalScope":true},{"version":"e1c1b2fbe236bf7ee3e342eeae7e20efb8988a0ac7da1cbbfa2c1f66b76c3423","affectsGlobalScope":true},"6de4a219df57d2b27274d59b67708f13c2cbf7ed211abe57d8f9ab8b25cde776","0fe8985a28f82c450a04a6edf1279d7181c0893f37da7d2a27f8efd4fd5edb03","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"52120bb7e4583612225bdf08e7c12559548170f11e660d33a33623bae9bbdbba","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a6dd3dba8e665ac43d279e0fdf5219edda0eed69b5e9a5061f46cd6a65c4f7a1","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","8d41819b9e44145170afaf7b0bc0753e949e6cb2a2314bd36a8e7046f537f4a4","aec59f80c62291ec634283d443b27ebe6fc6cf57670057aa9a172927675bfbea","77c5c7f8578d139c74102a29384f5f4f0792a12d819ddcdcaf8307185ff2d45d","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"root":[67],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"useUnknownInCatchVariables":true},"fileIdsList":[[124],[69,124],[71,124],[78,124],[81,124],[82,87,115,124],[83,94,95,102,112,123,124],[83,84,94,102,124],[85,124],[86,87,95,103,124],[87,112,120,124],[88,90,94,102,124],[89,124],[90,91,124],[94,124],[92,94,124],[94,95,96,112,123,124],[94,95,96,109,112,115,124],[124,128],[90,97,102,112,123,124],[94,95,97,98,102,112,120,123,124],[97,99,112,120,123,124],[78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130],[94,100,124],[101,123,124],[90,94,102,112,124],[103,124],[104,124],[81,105,124],[106,122,124,128],[107,124],[108,124],[94,109,110,124],[109,111,124,126],[82,94,112,113,114,115,124],[82,112,114,124],[112,113,124],[115,124],[116,124],[94,118,119,124],[118,119,124],[87,102,112,120,124],[121,124],[102,122,124],[82,97,108,123,124],[87,124],[112,124,125],[124,126],[124,127],[82,87,94,96,105,112,123,124,126,128],[112,124,129],[124,134,173],[124,134,158,173],[124,173],[124,134],[124,134,159,173],[124,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172],[124,159,173],[124,174],[94,97,99,102,123,124,131],[94,97,99,112,120,123,124,129,131],[94,112,124,131],[65,124],[66,124],[66]],"referencedMap":[[68,1],[70,2],[69,1],[72,3],[73,1],[74,1],[75,1],[76,1],[77,1],[71,1],[78,4],[79,4],[81,5],[82,6],[83,7],[84,8],[85,9],[86,10],[87,11],[88,12],[89,13],[90,14],[91,14],[93,15],[92,16],[94,15],[95,17],[96,18],[80,19],[130,1],[97,20],[98,21],[99,22],[131,23],[100,24],[101,25],[102,26],[103,27],[104,28],[105,29],[106,30],[107,31],[108,32],[109,33],[110,33],[111,34],[112,35],[114,36],[113,37],[115,38],[116,39],[117,1],[118,40],[119,41],[120,42],[121,43],[122,44],[123,45],[124,46],[125,47],[126,48],[127,49],[128,50],[129,51],[132,1],[133,1],[158,52],[159,53],[134,54],[137,54],[156,52],[157,52],[147,52],[146,55],[144,52],[139,52],[152,52],[150,52],[154,52],[138,52],[151,52],[155,52],[140,52],[141,52],[153,52],[135,52],[142,52],[143,52],[145,52],[149,52],[160,56],[148,52],[136,52],[173,57],[172,1],[167,56],[169,58],[168,56],[161,56],[162,56],[164,56],[166,56],[170,58],[171,58],[163,58],[165,58],[175,59],[174,1],[176,60],[177,61],[178,62],[66,63],[65,1],[62,1],[63,1],[12,1],[13,1],[17,1],[16,1],[2,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[24,1],[25,1],[3,1],[4,1],[29,1],[26,1],[27,1],[28,1],[30,1],[31,1],[32,1],[5,1],[33,1],[34,1],[35,1],[36,1],[6,1],[40,1],[37,1],[38,1],[39,1],[41,1],[7,1],[42,1],[47,1],[48,1],[43,1],[44,1],[45,1],[46,1],[8,1],[52,1],[49,1],[50,1],[51,1],[53,1],[9,1],[54,1],[55,1],[56,1],[59,1],[57,1],[58,1],[60,1],[10,1],[1,1],[11,1],[64,1],[61,1],[15,1],[14,1],[67,64]],"exportedModulesMap":[[68,1],[70,2],[69,1],[72,3],[73,1],[74,1],[75,1],[76,1],[77,1],[71,1],[78,4],[79,4],[81,5],[82,6],[83,7],[84,8],[85,9],[86,10],[87,11],[88,12],[89,13],[90,14],[91,14],[93,15],[92,16],[94,15],[95,17],[96,18],[80,19],[130,1],[97,20],[98,21],[99,22],[131,23],[100,24],[101,25],[102,26],[103,27],[104,28],[105,29],[106,30],[107,31],[108,32],[109,33],[110,33],[111,34],[112,35],[114,36],[113,37],[115,38],[116,39],[117,1],[118,40],[119,41],[120,42],[121,43],[122,44],[123,45],[124,46],[125,47],[126,48],[127,49],[128,50],[129,51],[132,1],[133,1],[158,52],[159,53],[134,54],[137,54],[156,52],[157,52],[147,52],[146,55],[144,52],[139,52],[152,52],[150,52],[154,52],[138,52],[151,52],[155,52],[140,52],[141,52],[153,52],[135,52],[142,52],[143,52],[145,52],[149,52],[160,56],[148,52],[136,52],[173,57],[172,1],[167,56],[169,58],[168,56],[161,56],[162,56],[164,56],[166,56],[170,58],[171,58],[163,58],[165,58],[175,59],[174,1],[176,60],[177,61],[178,62],[66,63],[65,1],[62,1],[63,1],[12,1],[13,1],[17,1],[16,1],[2,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[24,1],[25,1],[3,1],[4,1],[29,1],[26,1],[27,1],[28,1],[30,1],[31,1],[32,1],[5,1],[33,1],[34,1],[35,1],[36,1],[6,1],[40,1],[37,1],[38,1],[39,1],[41,1],[7,1],[42,1],[47,1],[48,1],[43,1],[44,1],[45,1],[46,1],[8,1],[52,1],[49,1],[50,1],[51,1],[53,1],[9,1],[54,1],[55,1],[56,1],[59,1],[57,1],[58,1],[60,1],[10,1],[1,1],[11,1],[64,1],[61,1],[15,1],[14,1],[67,65]],"semanticDiagnosticsPerFile":[68,70,69,72,73,74,75,76,77,71,78,79,81,82,83,84,85,86,87,88,89,90,91,93,92,94,95,96,80,130,97,98,99,131,100,101,102,103,104,105,106,107,108,109,110,111,112,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,132,133,158,159,134,137,156,157,147,146,144,139,152,150,154,138,151,155,140,141,153,135,142,143,145,149,160,148,136,173,172,167,169,168,161,162,164,166,170,171,163,165,175,174,176,177,178,66,65,62,63,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,10,1,11,64,61,15,14,67],"latestChangedDtsFile":"./protocol.d.ts"},"version":"5.0.4"}
\ No newline at end of file
+{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../src/protocol/webdriver-bidi.ts","../../../src/protocol/ErrorResponse.ts","../../../src/protocol/ErrorResponse.spec.ts","../../../node_modules/devtools-protocol/types/protocol.d.ts","../../../node_modules/devtools-protocol/types/protocol-mapping.d.ts","../../../src/protocol/cdp.ts","../../../src/protocol/chromium-bidi.ts","../../../src/protocol/protocol.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"3dda5344576193a4ae48b8d03f105c86f20b2f2aff0a1d1fd7935f5d68649654","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"9d9885c728913c1d16e0d2831b40341d6ad9a0ceecaabc55209b306ad9c736a5","affectsGlobalScope":true},{"version":"17bea081b9c0541f39dd1ae9bc8c78bdd561879a682e60e2f25f688c0ecab248","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f06948deb2a51aae25184561c9640fb66afeddb34531a9212d011792b1d19e0a","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"930b0e15811f84e203d3c23508674d5ded88266df4b10abee7b31b2ac77632d2","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7823c8aa42d88e6cb454fe7dc56996c6fd174b28a9f050e9bdea1c25b7d114ea",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"2072454f25828e1b679a965b4a3bc56b4e5db736cdf11d1cb091b8855e8bf6f4","signature":"6d4906ee0b75ce485059a3b9dbcee5de80798a734268e8741aa05c48fe85a9a4"},{"version":"8ee7f023272ef9c861b30cb1973155e0473f3ec9189a489abc87fcf708ecea6d","signature":"cb3f8a0d53b27af2c269fe48584c0d3750982fbdc42ecc2ab02ccf1ba6a905c8"},{"version":"5a095f71d4646989fd63b630f65143ff201f50233bad9ee5cffb11b4a9fe9431","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"ec01464e62357ddcc0900f59beef6bf02e419f6dbe74dbb99cac60a89d3dcdb6","8f42ab85547ff7cf44c75d0922a19e9123aef43e286d4f22bdbb6fbf1fcc7e4a",{"version":"4527f7cd4371c55fc536cfcecbf1f22352d22e89919b6d23213b7ec6fc4794bd","signature":"64709d6ed350d96593c08463feea35d650436216e1a08718afbc3ce983440061"},{"version":"ef1299d7ebf15edaaf7bef05b4cd33b3d9dcec9af958fc7e118b96ea08832328","signature":"d8930ee71e1ab1298a5598f47543ac3fb4f120667529f115e3d6eef6950a5432"},{"version":"50144adf02efe89a110bf30a21d2ddeee6ad02012a50c22afb7ebb5b022fc91d","signature":"14d514c8b6f88c7da5c186a24ae6cd8ec04742c07a21ec45c3935853c5bd0fd7"},"dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889",{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","93b7325b49dfbf613d940ed0e471216657b2d77459dac34f1b5b1678f08f884c","bee89e1eb6425eb49894f3f25e4562dc2564e84e5aa7610b7e13d8ecddf8f5db","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","b9f96255e1048ed2ea33ec553122716f0e57fc1c3ad778e9aa15f5b46547bd23","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","a1a261624efb3a00ff346b13580f70f3463b8cdcc58b60f5793ff11785d52cab","f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","cffac9db07bba0b35754412e48215d1bc5153c03c46409bbeaf315848359822b","aec59f80c62291ec634283d443b27ebe6fc6cf57670057aa9a172927675bfbea","2dd1d4cea14cead7a7fc9eec8f40593089dff0de8c0199458446143c9b8c4ea9","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"root":[[66,68],[71,73]],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"useUnknownInCatchVariables":true},"fileIdsList":[[129],[65,129],[76,129],[83,129],[86,129],[87,92,120,129],[88,99,100,107,117,128,129],[88,89,99,107,129],[90,129],[91,92,100,108,129],[92,117,125,129],[93,95,99,107,129],[94,129],[95,96,129],[99,129],[97,99,129],[99,100,101,117,128,129],[99,100,101,114,117,120,129],[129,133],[95,99,102,107,117,128,129],[99,100,102,103,107,117,125,128,129],[102,104,117,125,128,129],[83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135],[99,105,129],[106,128,129],[95,99,107,117,129],[108,129],[109,129],[86,110,129],[111,127,129,133],[112,129],[113,129],[99,114,115,129],[114,116,129,131],[87,99,117,118,119,120,129],[87,117,119,129],[117,118,129],[120,129],[121,129],[117,129],[99,123,124,129],[123,124,129],[92,107,117,125,129],[126,129],[107,127,129],[87,102,113,128,129],[92,129],[117,129,130],[129,131],[129,132],[87,92,99,101,110,117,128,129,131,133],[117,129,134],[129,139,178],[129,139,163,178],[129,178],[129,139],[129,139,164,178],[129,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177],[129,164,178],[129,179],[99,102,104,107,128,129,136],[99,102,104,117,125,128,129,134,136],[99,117,129,136],[69,129],[65,66,67,129],[66,129],[66,69,70,129],[66,71,129],[66,67,71,72,129],[66],[66,69,70],[66,71],[66,67,71,72]],"referencedMap":[[74,1],[75,2],[65,1],[77,3],[78,1],[79,1],[80,1],[81,1],[82,1],[76,1],[83,4],[84,4],[86,5],[87,6],[88,7],[89,8],[90,9],[91,10],[92,11],[93,12],[94,13],[95,14],[96,14],[98,15],[97,16],[99,15],[100,17],[101,18],[85,19],[135,1],[102,20],[103,21],[104,22],[136,23],[105,24],[106,25],[107,26],[108,27],[109,28],[110,29],[111,30],[112,31],[113,32],[114,33],[115,33],[116,34],[117,35],[119,36],[118,37],[120,38],[121,39],[122,40],[123,41],[124,42],[125,43],[126,44],[127,45],[128,46],[129,47],[130,48],[131,49],[132,50],[133,51],[134,52],[137,1],[138,1],[163,53],[164,54],[139,55],[142,55],[161,53],[162,53],[152,53],[151,56],[149,53],[144,53],[157,53],[155,53],[159,53],[143,53],[156,53],[160,53],[145,53],[146,53],[158,53],[140,53],[147,53],[148,53],[150,53],[154,53],[165,57],[153,53],[141,53],[178,58],[177,1],[172,57],[174,59],[173,57],[166,57],[167,57],[169,57],[171,57],[175,59],[176,59],[168,59],[170,59],[180,60],[179,1],[181,61],[182,62],[183,63],[70,64],[69,1],[62,1],[63,1],[12,1],[13,1],[17,1],[16,1],[2,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[24,1],[25,1],[3,1],[4,1],[29,1],[26,1],[27,1],[28,1],[30,1],[31,1],[32,1],[5,1],[33,1],[34,1],[35,1],[36,1],[6,1],[40,1],[37,1],[38,1],[39,1],[41,1],[7,1],[42,1],[47,1],[48,1],[43,1],[44,1],[45,1],[46,1],[8,1],[52,1],[49,1],[50,1],[51,1],[53,1],[9,1],[54,1],[55,1],[56,1],[59,1],[57,1],[58,1],[60,1],[10,1],[1,1],[11,1],[64,1],[61,1],[15,1],[14,1],[68,65],[67,66],[71,67],[72,68],[73,69],[66,1]],"exportedModulesMap":[[74,1],[75,2],[65,1],[77,3],[78,1],[79,1],[80,1],[81,1],[82,1],[76,1],[83,4],[84,4],[86,5],[87,6],[88,7],[89,8],[90,9],[91,10],[92,11],[93,12],[94,13],[95,14],[96,14],[98,15],[97,16],[99,15],[100,17],[101,18],[85,19],[135,1],[102,20],[103,21],[104,22],[136,23],[105,24],[106,25],[107,26],[108,27],[109,28],[110,29],[111,30],[112,31],[113,32],[114,33],[115,33],[116,34],[117,35],[119,36],[118,37],[120,38],[121,39],[122,40],[123,41],[124,42],[125,43],[126,44],[127,45],[128,46],[129,47],[130,48],[131,49],[132,50],[133,51],[134,52],[137,1],[138,1],[163,53],[164,54],[139,55],[142,55],[161,53],[162,53],[152,53],[151,56],[149,53],[144,53],[157,53],[155,53],[159,53],[143,53],[156,53],[160,53],[145,53],[146,53],[158,53],[140,53],[147,53],[148,53],[150,53],[154,53],[165,57],[153,53],[141,53],[178,58],[177,1],[172,57],[174,59],[173,57],[166,57],[167,57],[169,57],[171,57],[175,59],[176,59],[168,59],[170,59],[180,60],[179,1],[181,61],[182,62],[183,63],[70,64],[69,1],[62,1],[63,1],[12,1],[13,1],[17,1],[16,1],[2,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[24,1],[25,1],[3,1],[4,1],[29,1],[26,1],[27,1],[28,1],[30,1],[31,1],[32,1],[5,1],[33,1],[34,1],[35,1],[36,1],[6,1],[40,1],[37,1],[38,1],[39,1],[41,1],[7,1],[42,1],[47,1],[48,1],[43,1],[44,1],[45,1],[46,1],[8,1],[52,1],[49,1],[50,1],[51,1],[53,1],[9,1],[54,1],[55,1],[56,1],[59,1],[57,1],[58,1],[60,1],[10,1],[1,1],[11,1],[64,1],[61,1],[15,1],[14,1],[67,70],[71,71],[72,72],[73,73]],"semanticDiagnosticsPerFile":[74,75,65,77,78,79,80,81,82,76,83,84,86,87,88,89,90,91,92,93,94,95,96,98,97,99,100,101,85,135,102,103,104,136,105,106,107,108,109,110,111,112,113,114,115,116,117,119,118,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,137,138,163,164,139,142,161,162,152,151,149,144,157,155,159,143,156,160,145,146,158,140,147,148,150,154,165,153,141,178,177,172,174,173,166,167,169,171,175,176,168,170,180,179,181,182,183,70,69,62,63,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,10,1,11,64,61,15,14,68,67,71,72,73,66],"latestChangedDtsFile":"./protocol.d.ts"},"version":"5.1.6"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol/webdriver-bidi.d.ts b/node_modules/chromium-bidi/lib/cjs/protocol/webdriver-bidi.d.ts
new file mode 100644
index 0000000..435ee4f
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/protocol/webdriver-bidi.d.ts
@@ -0,0 +1,1525 @@
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * THIS FILE IS AUTOGENERATED. Run `npm run bidi-types` to regenerate.
+ * @see https://github.com/w3c/webdriver-bidi/blob/master/index.bs
+ */
+export type Command = {
+    id: JsUint;
+} & CommandData & Extensible;
+export type CommandData = BrowserCommand | BrowsingContextCommand | InputCommand | NetworkCommand | ScriptCommand | SessionCommand;
+export type EmptyParams = Extensible;
+export type Message = CommandResponse | ErrorResponse | Event;
+export type CommandResponse = {
+    type: 'success';
+    id: JsUint;
+    result: ResultData;
+} & Extensible;
+export type ErrorResponse = {
+    type: 'error';
+    id: JsUint | null;
+    error: ErrorCode;
+    message: string;
+    stacktrace?: string;
+} & Extensible;
+export type ResultData = BrowsingContextResult | EmptyResult | NetworkResult | ScriptResult | SessionResult;
+export type EmptyResult = Extensible;
+export type Event = {
+    type: 'event';
+} & EventData & Extensible;
+export type EventData = BrowsingContextEvent | LogEvent | NetworkEvent | ScriptEvent;
+export type Extensible = {
+    [key: string]: any;
+};
+/**
+ * Must be between `-9007199254740991` and `9007199254740991`, inclusive.
+ */
+export type JsInt = number;
+/**
+ * Must be between `0` and `9007199254740991`, inclusive.
+ */
+export type JsUint = number;
+export declare const enum ErrorCode {
+    InvalidArgument = "invalid argument",
+    InvalidSessionId = "invalid session id",
+    MoveTargetOutOfBounds = "move target out of bounds",
+    NoSuchAlert = "no such alert",
+    NoSuchElement = "no such element",
+    NoSuchFrame = "no such frame",
+    NoSuchHandle = "no such handle",
+    NoSuchNode = "no such node",
+    NoSuchScript = "no such script",
+    SessionNotCreated = "session not created",
+    UnableToCaptureScreen = "unable to capture screen",
+    UnableToCloseBrowser = "unable to close browser",
+    UnknownCommand = "unknown command",
+    UnknownError = "unknown error",
+    UnsupportedOperation = "unsupported operation"
+}
+export type SessionCommand = Session.End | Session.New | Session.Status | Session.Subscribe | Session.Unsubscribe;
+export type SessionResult = Session.NewResult | Session.StatusResult;
+export declare namespace Session {
+    type CapabilitiesRequest = {
+        alwaysMatch?: Session.CapabilityRequest;
+        firstMatch?: [...Session.CapabilityRequest[]];
+    };
+}
+export declare namespace Session {
+    type CapabilityRequest = {
+        acceptInsecureCerts?: boolean;
+        browserName?: string;
+        browserVersion?: string;
+        platformName?: string;
+        proxy?: {
+            proxyType?: 'pac' | 'direct' | 'autodetect' | 'system' | 'manual';
+            proxyAutoconfigUrl?: string;
+            ftpProxy?: string;
+            httpProxy?: string;
+            noProxy?: [...string[]];
+            sslProxy?: string;
+            socksProxy?: string;
+            /**
+             * Must be between `0` and `255`, inclusive.
+             */
+            socksVersion?: number;
+        };
+    } & Extensible;
+}
+export declare namespace Session {
+    type SubscriptionRequest = {
+        events: [...string[]];
+        contexts?: [...BrowsingContext.BrowsingContext[]];
+    };
+}
+export declare namespace Session {
+    type Status = {
+        method: 'session.status';
+        params: EmptyParams;
+    };
+}
+export declare namespace Session {
+    type StatusResult = {
+        ready: boolean;
+        message: string;
+    };
+}
+export declare namespace Session {
+    type New = {
+        method: 'session.new';
+        params: Session.NewParameters;
+    };
+}
+export declare namespace Session {
+    type NewParameters = {
+        capabilities: Session.CapabilitiesRequest;
+    };
+}
+export declare namespace Session {
+    type NewResult = {
+        sessionId: string;
+        capabilities: {
+            acceptInsecureCerts: boolean;
+            browserName: string;
+            browserVersion: string;
+            platformName: string;
+            proxy: {
+                proxyType?: 'pac' | 'direct' | 'autodetect' | 'system' | 'manual';
+                proxyAutoconfigUrl?: string;
+                ftpProxy?: string;
+                httpProxy?: string;
+                noProxy?: [...string[]];
+                sslProxy?: string;
+                socksProxy?: string;
+                /**
+                 * Must be between `0` and `255`, inclusive.
+                 */
+                socksVersion?: number;
+            };
+            setWindowRect: boolean;
+        } & Extensible;
+    };
+}
+export declare namespace Session {
+    type End = {
+        method: 'session.end';
+        params: EmptyParams;
+    };
+}
+export declare namespace Session {
+    type Subscribe = {
+        method: 'session.subscribe';
+        params: Session.SubscriptionRequest;
+    };
+}
+export declare namespace Session {
+    type Unsubscribe = {
+        method: 'session.unsubscribe';
+        params: Session.SubscriptionRequest;
+    };
+}
+export type BrowserCommand = Browser.Close;
+export declare namespace Browser {
+    type Close = {
+        method: 'browser.close';
+        params: EmptyParams;
+    };
+}
+export type BrowsingContextCommand = BrowsingContext.Activate | BrowsingContext.CaptureScreenshot | BrowsingContext.Close | BrowsingContext.Create | BrowsingContext.GetTree | BrowsingContext.HandleUserPrompt | BrowsingContext.Navigate | BrowsingContext.Print | BrowsingContext.Reload | BrowsingContext.SetViewport;
+export type BrowsingContextResult = BrowsingContext.CaptureScreenshotResult | BrowsingContext.CreateResult | BrowsingContext.GetTreeResult | BrowsingContext.NavigateResult | BrowsingContext.PrintResult;
+export type BrowsingContextEvent = BrowsingContext.ContextCreated | BrowsingContext.ContextDestroyed | BrowsingContext.NavigationStarted | BrowsingContext.FragmentNavigated | BrowsingContext.DomContentLoaded | BrowsingContext.Load | BrowsingContext.DownloadWillBegin | BrowsingContext.NavigationAborted | BrowsingContext.NavigationFailed | BrowsingContext.UserPromptClosed | BrowsingContext.UserPromptOpened;
+export declare namespace BrowsingContext {
+    type BrowsingContext = string;
+}
+export declare namespace BrowsingContext {
+    type InfoList = [...BrowsingContext.Info[]];
+}
+export declare namespace BrowsingContext {
+    type Info = {
+        context: BrowsingContext.BrowsingContext;
+        url: string;
+        children: BrowsingContext.InfoList | null;
+        parent?: BrowsingContext.BrowsingContext | null;
+    };
+}
+export declare namespace BrowsingContext {
+    type Navigation = string;
+}
+export declare namespace BrowsingContext {
+    type NavigationInfo = {
+        context: BrowsingContext.BrowsingContext;
+        navigation: BrowsingContext.Navigation | null;
+        timestamp: JsUint;
+        url: string;
+    };
+}
+export declare namespace BrowsingContext {
+    const enum ReadinessState {
+        None = "none",
+        Interactive = "interactive",
+        Complete = "complete"
+    }
+}
+export declare namespace BrowsingContext {
+    type Activate = {
+        method: 'browsingContext.activate';
+        params: BrowsingContext.ActivateParameters;
+    };
+}
+export declare namespace BrowsingContext {
+    type ActivateParameters = {
+        context: BrowsingContext.BrowsingContext;
+    };
+}
+export declare namespace BrowsingContext {
+    type CaptureScreenshot = {
+        method: 'browsingContext.captureScreenshot';
+        params: BrowsingContext.CaptureScreenshotParameters;
+    };
+}
+export declare namespace BrowsingContext {
+    type CaptureScreenshotParameters = {
+        context: BrowsingContext.BrowsingContext;
+        clip?: BrowsingContext.ClipRectangle;
+    };
+}
+export declare namespace BrowsingContext {
+    type ClipRectangle = BrowsingContext.BoxClipRectangle | BrowsingContext.ElementClipRectangle;
+}
+export declare namespace BrowsingContext {
+    type ElementClipRectangle = {
+        type: 'element';
+        element: Script.SharedReference;
+        scrollIntoView?: boolean;
+    };
+}
+export declare namespace BrowsingContext {
+    type BoxClipRectangle = {
+        type: 'viewport';
+        x: number;
+        y: number;
+        width: number;
+        height: number;
+    };
+}
+export declare namespace BrowsingContext {
+    type CaptureScreenshotResult = {
+        data: string;
+    };
+}
+export declare namespace BrowsingContext {
+    type Close = {
+        method: 'browsingContext.close';
+        params: BrowsingContext.CloseParameters;
+    };
+}
+export declare namespace BrowsingContext {
+    type CloseParameters = {
+        context: BrowsingContext.BrowsingContext;
+    };
+}
+export declare namespace BrowsingContext {
+    type Create = {
+        method: 'browsingContext.create';
+        params: BrowsingContext.CreateParameters;
+    };
+}
+export declare namespace BrowsingContext {
+    const enum CreateType {
+        Tab = "tab",
+        Window = "window"
+    }
+}
+export declare namespace BrowsingContext {
+    type CreateParameters = {
+        type: BrowsingContext.CreateType;
+        referenceContext?: BrowsingContext.BrowsingContext;
+        /**
+         * @defaultValue `false`
+         */
+        background?: boolean;
+    };
+}
+export declare namespace BrowsingContext {
+    type CreateResult = {
+        context: BrowsingContext.BrowsingContext;
+    };
+}
+export declare namespace BrowsingContext {
+    type GetTree = {
+        method: 'browsingContext.getTree';
+        params: BrowsingContext.GetTreeParameters;
+    };
+}
+export declare namespace BrowsingContext {
+    type GetTreeParameters = {
+        maxDepth?: JsUint;
+        root?: BrowsingContext.BrowsingContext;
+    };
+}
+export declare namespace BrowsingContext {
+    type GetTreeResult = {
+        contexts: BrowsingContext.InfoList;
+    };
+}
+export declare namespace BrowsingContext {
+    type HandleUserPrompt = {
+        method: 'browsingContext.handleUserPrompt';
+        params: BrowsingContext.HandleUserPromptParameters;
+    };
+}
+export declare namespace BrowsingContext {
+    type HandleUserPromptParameters = {
+        context: BrowsingContext.BrowsingContext;
+        accept?: boolean;
+        userText?: string;
+    };
+}
+export declare namespace BrowsingContext {
+    type Navigate = {
+        method: 'browsingContext.navigate';
+        params: BrowsingContext.NavigateParameters;
+    };
+}
+export declare namespace BrowsingContext {
+    type NavigateParameters = {
+        context: BrowsingContext.BrowsingContext;
+        url: string;
+        wait?: BrowsingContext.ReadinessState;
+    };
+}
+export declare namespace BrowsingContext {
+    type NavigateResult = {
+        navigation: BrowsingContext.Navigation | null;
+        url: string;
+    };
+}
+export declare namespace BrowsingContext {
+    type Print = {
+        method: 'browsingContext.print';
+        params: BrowsingContext.PrintParameters;
+    };
+}
+export declare namespace BrowsingContext {
+    type PrintParameters = {
+        context: BrowsingContext.BrowsingContext;
+        /**
+         * @defaultValue `false`
+         */
+        background?: boolean;
+        margin?: BrowsingContext.PrintMarginParameters;
+        /**
+         * @defaultValue `"portrait"`
+         */
+        orientation?: 'portrait' | 'landscape';
+        page?: BrowsingContext.PrintPageParameters;
+        pageRanges?: [...(JsUint | string)[]];
+        /**
+         * Must be between `0.1` and `2`, inclusive.
+         *
+         * @defaultValue `1`
+         */
+        scale?: number;
+        /**
+         * @defaultValue `true`
+         */
+        shrinkToFit?: boolean;
+    };
+}
+export declare namespace BrowsingContext {
+    type PrintMarginParameters = {
+        /**
+         * Must be greater than or equal to `0`.
+         *
+         * @defaultValue `1`
+         */
+        bottom?: number;
+        /**
+         * Must be greater than or equal to `0`.
+         *
+         * @defaultValue `1`
+         */
+        left?: number;
+        /**
+         * Must be greater than or equal to `0`.
+         *
+         * @defaultValue `1`
+         */
+        right?: number;
+        /**
+         * Must be greater than or equal to `0`.
+         *
+         * @defaultValue `1`
+         */
+        top?: number;
+    };
+}
+export declare namespace BrowsingContext {
+    type PrintPageParameters = {
+        /**
+         * Must be greater than or equal to `0`.
+         *
+         * @defaultValue `27.94`
+         */
+        height?: number;
+        /**
+         * Must be greater than or equal to `0`.
+         *
+         * @defaultValue `21.59`
+         */
+        width?: number;
+    };
+}
+export declare namespace BrowsingContext {
+    type PrintResult = {
+        data: string;
+    };
+}
+export declare namespace BrowsingContext {
+    type Reload = {
+        method: 'browsingContext.reload';
+        params: BrowsingContext.ReloadParameters;
+    };
+}
+export declare namespace BrowsingContext {
+    type ReloadParameters = {
+        context: BrowsingContext.BrowsingContext;
+        ignoreCache?: boolean;
+        wait?: BrowsingContext.ReadinessState;
+    };
+}
+export declare namespace BrowsingContext {
+    type SetViewport = {
+        method: 'browsingContext.setViewport';
+        params: BrowsingContext.SetViewportParameters;
+    };
+}
+export declare namespace BrowsingContext {
+    type SetViewportParameters = {
+        context: BrowsingContext.BrowsingContext;
+        viewport: BrowsingContext.Viewport | null;
+    };
+}
+export declare namespace BrowsingContext {
+    type Viewport = {
+        width: JsUint;
+        height: JsUint;
+    };
+}
+export declare namespace BrowsingContext {
+    type ContextCreated = {
+        method: 'browsingContext.contextCreated';
+        params: BrowsingContext.Info;
+    };
+}
+export declare namespace BrowsingContext {
+    type ContextDestroyed = {
+        method: 'browsingContext.contextDestroyed';
+        params: BrowsingContext.Info;
+    };
+}
+export declare namespace BrowsingContext {
+    type NavigationStarted = {
+        method: 'browsingContext.navigationStarted';
+        params: BrowsingContext.NavigationInfo;
+    };
+}
+export declare namespace BrowsingContext {
+    type FragmentNavigated = {
+        method: 'browsingContext.fragmentNavigated';
+        params: BrowsingContext.NavigationInfo;
+    };
+}
+export declare namespace BrowsingContext {
+    type DomContentLoaded = {
+        method: 'browsingContext.domContentLoaded';
+        params: BrowsingContext.NavigationInfo;
+    };
+}
+export declare namespace BrowsingContext {
+    type Load = {
+        method: 'browsingContext.load';
+        params: BrowsingContext.NavigationInfo;
+    };
+}
+export declare namespace BrowsingContext {
+    type DownloadWillBegin = {
+        method: 'browsingContext.downloadWillBegin';
+        params: BrowsingContext.NavigationInfo;
+    };
+}
+export declare namespace BrowsingContext {
+    type NavigationAborted = {
+        method: 'browsingContext.navigationAborted';
+        params: BrowsingContext.NavigationInfo;
+    };
+}
+export declare namespace BrowsingContext {
+    type NavigationFailed = {
+        method: 'browsingContext.navigationFailed';
+        params: BrowsingContext.NavigationInfo;
+    };
+}
+export declare namespace BrowsingContext {
+    type UserPromptClosed = {
+        method: 'browsingContext.userPromptClosed';
+        params: BrowsingContext.UserPromptClosedParameters;
+    };
+}
+export declare namespace BrowsingContext {
+    type UserPromptClosedParameters = {
+        context: BrowsingContext.BrowsingContext;
+        accepted: boolean;
+        userText?: string;
+    };
+}
+export declare namespace BrowsingContext {
+    type UserPromptOpened = {
+        method: 'browsingContext.userPromptOpened';
+        params: BrowsingContext.UserPromptOpenedParameters;
+    };
+}
+export declare namespace BrowsingContext {
+    type UserPromptOpenedParameters = {
+        context: BrowsingContext.BrowsingContext;
+        type: 'alert' | 'confirm' | 'prompt' | 'beforeunload';
+        message: string;
+    };
+}
+export type NetworkCommand = Record<string, never>;
+export type NetworkResult = Record<string, never>;
+export type NetworkEvent = Network.BeforeRequestSent | Network.FetchError | Network.ResponseStarted | Network.ResponseCompleted;
+export declare namespace Network {
+    type BaseParameters = {
+        context: BrowsingContext.BrowsingContext | null;
+        navigation: BrowsingContext.Navigation | null;
+        redirectCount: JsUint;
+        request: Network.RequestData;
+        timestamp: JsUint;
+    };
+}
+export declare namespace Network {
+    type BytesValue = Network.StringValue | Network.Base64Value;
+}
+export declare namespace Network {
+    type StringValue = {
+        type: 'string';
+        value: string;
+    };
+}
+export declare namespace Network {
+    type Base64Value = {
+        type: 'base64';
+        value: string;
+    };
+}
+export declare namespace Network {
+    type Cookie = {
+        name: string;
+        value: Network.BytesValue;
+        domain: string;
+        path: string;
+        expires?: JsUint;
+        size: JsUint;
+        httpOnly: boolean;
+        secure: boolean;
+        sameSite: 'strict' | 'lax' | 'none';
+    };
+}
+export declare namespace Network {
+    type FetchTimingInfo = {
+        timeOrigin: number;
+        requestTime: number;
+        redirectStart: number;
+        redirectEnd: number;
+        fetchStart: number;
+        dnsStart: number;
+        dnsEnd: number;
+        connectStart: number;
+        connectEnd: number;
+        tlsStart: number;
+        requestStart: number;
+        responseStart: number;
+        responseEnd: number;
+    };
+}
+export declare namespace Network {
+    type Header = {
+        name: string;
+        value: Network.BytesValue;
+    };
+}
+export declare namespace Network {
+    type Initiator = {
+        type: 'parser' | 'script' | 'preflight' | 'other';
+        columnNumber?: JsUint;
+        lineNumber?: JsUint;
+        stackTrace?: Script.StackTrace;
+        request?: Network.Request;
+    };
+}
+export declare namespace Network {
+    type Request = string;
+}
+export declare namespace Network {
+    type RequestData = {
+        request: Network.Request;
+        url: string;
+        method: string;
+        headers: [...Network.Header[]];
+        cookies: [...Network.Cookie[]];
+        headersSize: JsUint;
+        bodySize: JsUint | null;
+        timings: Network.FetchTimingInfo;
+    };
+}
+export declare namespace Network {
+    type ResponseContent = {
+        size: JsUint;
+    };
+}
+export declare namespace Network {
+    type ResponseData = {
+        url: string;
+        protocol: string;
+        status: JsUint;
+        statusText: string;
+        fromCache: boolean;
+        headers: [...Network.Header[]];
+        mimeType: string;
+        bytesReceived: JsUint;
+        headersSize: JsUint | null;
+        bodySize: JsUint | null;
+        content: Network.ResponseContent;
+    };
+}
+export declare namespace Network {
+    type BeforeRequestSent = {
+        method: 'network.beforeRequestSent';
+        params: Network.BeforeRequestSentParameters;
+    };
+}
+export declare namespace Network {
+    type BeforeRequestSentParameters = Network.BaseParameters & {
+        initiator: Network.Initiator;
+    };
+}
+export declare namespace Network {
+    type FetchError = {
+        method: 'network.fetchError';
+        params: Network.FetchErrorParameters;
+    };
+}
+export declare namespace Network {
+    type FetchErrorParameters = Network.BaseParameters & {
+        errorText: string;
+    };
+}
+export declare namespace Network {
+    type ResponseCompleted = {
+        method: 'network.responseCompleted';
+        params: Network.ResponseCompletedParameters;
+    };
+}
+export declare namespace Network {
+    type ResponseCompletedParameters = Network.BaseParameters & {
+        response: Network.ResponseData;
+    };
+}
+export declare namespace Network {
+    type ResponseStarted = {
+        method: 'network.responseStarted';
+        params: Network.ResponseStartedParameters;
+    };
+}
+export declare namespace Network {
+    type ResponseStartedParameters = Network.BaseParameters & {
+        response: Network.ResponseData;
+    };
+}
+export type ScriptCommand = Script.AddPreloadScriptCommand | Script.CallFunction | Script.Disown | Script.Evaluate | Script.GetRealms | Script.RemovePreloadScriptCommand;
+export type ScriptResult = Script.AddPreloadScriptResult | Script.EvaluateResult | Script.GetRealmsResult;
+export type ScriptEvent = Script.Message | Script.RealmCreated | Script.RealmDestroyed;
+export declare namespace Script {
+    type Channel = string;
+}
+export declare namespace Script {
+    type ChannelValue = {
+        type: 'channel';
+        value: Script.ChannelProperties;
+    };
+}
+export declare namespace Script {
+    type ChannelProperties = {
+        channel: Script.Channel;
+        serializationOptions?: Script.SerializationOptions;
+        ownership?: Script.ResultOwnership;
+    };
+}
+export declare namespace Script {
+    type EvaluateResult = Script.EvaluateResultSuccess | Script.EvaluateResultException;
+}
+export declare namespace Script {
+    type EvaluateResultSuccess = {
+        type: 'success';
+        result: Script.RemoteValue;
+        realm: Script.Realm;
+    };
+}
+export declare namespace Script {
+    type EvaluateResultException = {
+        type: 'exception';
+        exceptionDetails: Script.ExceptionDetails;
+        realm: Script.Realm;
+    };
+}
+export declare namespace Script {
+    type ExceptionDetails = {
+        columnNumber: JsUint;
+        exception: Script.RemoteValue;
+        lineNumber: JsUint;
+        stackTrace: Script.StackTrace;
+        text: string;
+    };
+}
+export declare namespace Script {
+    type Handle = string;
+}
+export declare namespace Script {
+    type LocalValue = Script.RemoteReference | Script.PrimitiveProtocolValue | Script.ChannelValue | Script.ArrayLocalValue | Script.DateLocalValue | Script.MapLocalValue | Script.ObjectLocalValue | Script.RegExpLocalValue | Script.SetLocalValue;
+}
+export declare namespace Script {
+    type ListLocalValue = [...Script.LocalValue[]];
+}
+export declare namespace Script {
+    type ArrayLocalValue = {
+        type: 'array';
+        value: Script.ListLocalValue;
+    };
+}
+export declare namespace Script {
+    type DateLocalValue = {
+        type: 'date';
+        value: string;
+    };
+}
+export declare namespace Script {
+    type MappingLocalValue = [
+        ...[Script.LocalValue | string, Script.LocalValue][]
+    ];
+}
+export declare namespace Script {
+    type MapLocalValue = {
+        type: 'map';
+        value: Script.MappingLocalValue;
+    };
+}
+export declare namespace Script {
+    type ObjectLocalValue = {
+        type: 'object';
+        value: Script.MappingLocalValue;
+    };
+}
+export declare namespace Script {
+    type RegExpValue = {
+        pattern: string;
+        flags?: string;
+    };
+}
+export declare namespace Script {
+    type RegExpLocalValue = {
+        type: 'regexp';
+        value: Script.RegExpValue;
+    };
+}
+export declare namespace Script {
+    type SetLocalValue = {
+        type: 'set';
+        value: Script.ListLocalValue;
+    };
+}
+export declare namespace Script {
+    type PreloadScript = string;
+}
+export declare namespace Script {
+    type Realm = string;
+}
+export declare namespace Script {
+    type PrimitiveProtocolValue = Script.UndefinedValue | Script.NullValue | Script.StringValue | Script.NumberValue | Script.BooleanValue | Script.BigIntValue;
+}
+export declare namespace Script {
+    type UndefinedValue = {
+        type: 'undefined';
+    };
+}
+export declare namespace Script {
+    type NullValue = {
+        type: 'null';
+    };
+}
+export declare namespace Script {
+    type StringValue = {
+        type: 'string';
+        value: string;
+    };
+}
+export declare namespace Script {
+    type SpecialNumber = 'NaN' | '-0' | 'Infinity' | '-Infinity';
+}
+export declare namespace Script {
+    type NumberValue = {
+        type: 'number';
+        value: number | Script.SpecialNumber;
+    };
+}
+export declare namespace Script {
+    type BooleanValue = {
+        type: 'boolean';
+        value: boolean;
+    };
+}
+export declare namespace Script {
+    type BigIntValue = {
+        type: 'bigint';
+        value: string;
+    };
+}
+export declare namespace Script {
+    type RealmInfo = Script.WindowRealmInfo | Script.DedicatedWorkerRealmInfo | Script.SharedWorkerRealmInfo | Script.ServiceWorkerRealmInfo | Script.WorkerRealmInfo | Script.PaintWorkletRealmInfo | Script.AudioWorkletRealmInfo | Script.WorkletRealmInfo;
+}
+export declare namespace Script {
+    type BaseRealmInfo = {
+        realm: Script.Realm;
+        origin: string;
+    };
+}
+export declare namespace Script {
+    type WindowRealmInfo = Script.BaseRealmInfo & {
+        type: 'window';
+        context: BrowsingContext.BrowsingContext;
+        sandbox?: string;
+    };
+}
+export declare namespace Script {
+    type DedicatedWorkerRealmInfo = Script.BaseRealmInfo & {
+        type: 'dedicated-worker';
+    };
+}
+export declare namespace Script {
+    type SharedWorkerRealmInfo = Script.BaseRealmInfo & {
+        type: 'shared-worker';
+    };
+}
+export declare namespace Script {
+    type ServiceWorkerRealmInfo = Script.BaseRealmInfo & {
+        type: 'service-worker';
+    };
+}
+export declare namespace Script {
+    type WorkerRealmInfo = Script.BaseRealmInfo & {
+        type: 'worker';
+    };
+}
+export declare namespace Script {
+    type PaintWorkletRealmInfo = Script.BaseRealmInfo & {
+        type: 'paint-worklet';
+    };
+}
+export declare namespace Script {
+    type AudioWorkletRealmInfo = Script.BaseRealmInfo & {
+        type: 'audio-worklet';
+    };
+}
+export declare namespace Script {
+    type WorkletRealmInfo = Script.BaseRealmInfo & {
+        type: 'worklet';
+    };
+}
+export declare namespace Script {
+    type RealmType = 'window' | 'dedicated-worker' | 'shared-worker' | 'service-worker' | 'worker' | 'paint-worklet' | 'audio-worklet' | 'worklet';
+}
+export declare namespace Script {
+    type RemoteReference = Script.SharedReference | Script.RemoteObjectReference;
+}
+export declare namespace Script {
+    type SharedReference = {
+        sharedId: Script.SharedId;
+        handle?: Script.Handle;
+    } & Extensible;
+}
+export declare namespace Script {
+    type RemoteObjectReference = {
+        handle: Script.Handle;
+        sharedId?: Script.SharedId;
+    } & Extensible;
+}
+export declare namespace Script {
+    type RemoteValue = Script.PrimitiveProtocolValue | Script.SymbolRemoteValue | Script.ArrayRemoteValue | Script.ObjectRemoteValue | Script.FunctionRemoteValue | Script.RegExpRemoteValue | Script.DateRemoteValue | Script.MapRemoteValue | Script.SetRemoteValue | Script.WeakMapRemoteValue | Script.WeakSetRemoteValue | Script.IteratorRemoteValue | Script.GeneratorRemoteValue | Script.ErrorRemoteValue | Script.ProxyRemoteValue | Script.PromiseRemoteValue | Script.TypedArrayRemoteValue | Script.ArrayBufferRemoteValue | Script.NodeListRemoteValue | Script.HtmlCollectionRemoteValue | Script.NodeRemoteValue | Script.WindowProxyRemoteValue;
+}
+export declare namespace Script {
+    type InternalId = JsUint;
+}
+export declare namespace Script {
+    type ListRemoteValue = [...Script.RemoteValue[]];
+}
+export declare namespace Script {
+    type MappingRemoteValue = [
+        ...[Script.RemoteValue | string, Script.RemoteValue][]
+    ];
+}
+export declare namespace Script {
+    type SymbolRemoteValue = {
+        type: 'symbol';
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+    };
+}
+export declare namespace Script {
+    type ArrayRemoteValue = {
+        type: 'array';
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+        value?: Script.ListRemoteValue;
+    };
+}
+export declare namespace Script {
+    type ObjectRemoteValue = {
+        type: 'object';
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+        value?: Script.MappingRemoteValue;
+    };
+}
+export declare namespace Script {
+    type FunctionRemoteValue = {
+        type: 'function';
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+    };
+}
+export declare namespace Script {
+    type RegExpRemoteValue = {
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+    } & Script.RegExpLocalValue;
+}
+export declare namespace Script {
+    type DateRemoteValue = {
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+    } & Script.DateLocalValue;
+}
+export declare namespace Script {
+    type MapRemoteValue = {
+        type: 'map';
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+        value?: Script.MappingRemoteValue;
+    };
+}
+export declare namespace Script {
+    type SetRemoteValue = {
+        type: 'set';
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+        value?: Script.ListRemoteValue;
+    };
+}
+export declare namespace Script {
+    type WeakMapRemoteValue = {
+        type: 'weakmap';
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+    };
+}
+export declare namespace Script {
+    type WeakSetRemoteValue = {
+        type: 'weakset';
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+    };
+}
+export declare namespace Script {
+    type IteratorRemoteValue = {
+        type: 'iterator';
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+    };
+}
+export declare namespace Script {
+    type GeneratorRemoteValue = {
+        type: 'generator';
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+    };
+}
+export declare namespace Script {
+    type ErrorRemoteValue = {
+        type: 'error';
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+    };
+}
+export declare namespace Script {
+    type ProxyRemoteValue = {
+        type: 'proxy';
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+    };
+}
+export declare namespace Script {
+    type PromiseRemoteValue = {
+        type: 'promise';
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+    };
+}
+export declare namespace Script {
+    type TypedArrayRemoteValue = {
+        type: 'typedarray';
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+    };
+}
+export declare namespace Script {
+    type ArrayBufferRemoteValue = {
+        type: 'arraybuffer';
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+    };
+}
+export declare namespace Script {
+    type NodeListRemoteValue = {
+        type: 'nodelist';
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+        value?: Script.ListRemoteValue;
+    };
+}
+export declare namespace Script {
+    type HtmlCollectionRemoteValue = {
+        type: 'htmlcollection';
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+        value?: Script.ListRemoteValue;
+    };
+}
+export declare namespace Script {
+    type NodeRemoteValue = {
+        type: 'node';
+        sharedId?: Script.SharedId;
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+        value?: Script.NodeProperties;
+    };
+}
+export declare namespace Script {
+    type NodeProperties = {
+        nodeType: JsUint;
+        childNodeCount: JsUint;
+        attributes?: {
+            [key: string]: string;
+        };
+        children?: [...Script.NodeRemoteValue[]];
+        localName?: string;
+        mode?: 'open' | 'closed';
+        namespaceURI?: string;
+        nodeValue?: string;
+        shadowRoot?: Script.NodeRemoteValue | null;
+    };
+}
+export declare namespace Script {
+    type WindowProxyRemoteValue = {
+        type: 'window';
+        value: Script.WindowProxyProperties;
+        handle?: Script.Handle;
+        internalId?: Script.InternalId;
+    };
+}
+export declare namespace Script {
+    type WindowProxyProperties = {
+        context: BrowsingContext.BrowsingContext;
+    };
+}
+export declare namespace Script {
+    const enum ResultOwnership {
+        Root = "root",
+        None = "none"
+    }
+}
+export declare namespace Script {
+    type SerializationOptions = {
+        /**
+         * @defaultValue `0`
+         */
+        maxDomDepth?: JsUint | null;
+        /**
+         * @defaultValue `null`
+         */
+        maxObjectDepth?: JsUint | null;
+        /**
+         * @defaultValue `"none"`
+         */
+        includeShadowTree?: 'none' | 'open' | 'all';
+    };
+}
+export declare namespace Script {
+    type SharedId = string;
+}
+export declare namespace Script {
+    type StackFrame = {
+        columnNumber: JsUint;
+        functionName: string;
+        lineNumber: JsUint;
+        url: string;
+    };
+}
+export declare namespace Script {
+    type StackTrace = {
+        callFrames: [...Script.StackFrame[]];
+    };
+}
+export declare namespace Script {
+    type Source = {
+        realm: Script.Realm;
+        context?: BrowsingContext.BrowsingContext;
+    };
+}
+export declare namespace Script {
+    type RealmTarget = {
+        realm: Script.Realm;
+    };
+}
+export declare namespace Script {
+    type ContextTarget = {
+        context: BrowsingContext.BrowsingContext;
+        sandbox?: string;
+    };
+}
+export declare namespace Script {
+    type Target = Script.RealmTarget | Script.ContextTarget;
+}
+export declare namespace Script {
+    type AddPreloadScriptCommand = {
+        method: 'script.addPreloadScript';
+        params: Script.AddPreloadScriptParameters;
+    };
+}
+export declare namespace Script {
+    type AddPreloadScriptParameters = {
+        functionDeclaration: string;
+        arguments?: [...Script.ChannelValue[]];
+        sandbox?: string;
+    };
+}
+export declare namespace Script {
+    type AddPreloadScriptResult = {
+        script: Script.PreloadScript;
+    };
+}
+export declare namespace Script {
+    type Disown = {
+        method: 'script.disown';
+        params: Script.DisownParameters;
+    };
+}
+export declare namespace Script {
+    type DisownParameters = {
+        handles: [...Script.Handle[]];
+        target: Script.Target;
+    };
+}
+export declare namespace Script {
+    type CallFunction = {
+        method: 'script.callFunction';
+        params: Script.CallFunctionParameters;
+    };
+}
+export declare namespace Script {
+    type CallFunctionParameters = {
+        functionDeclaration: string;
+        awaitPromise: boolean;
+        target: Script.Target;
+        arguments?: [...Script.LocalValue[]];
+        resultOwnership?: Script.ResultOwnership;
+        serializationOptions?: Script.SerializationOptions;
+        this?: Script.LocalValue;
+        /**
+         * @defaultValue `false`
+         */
+        userActivation?: boolean;
+    };
+}
+export declare namespace Script {
+    type Evaluate = {
+        method: 'script.evaluate';
+        params: Script.EvaluateParameters;
+    };
+}
+export declare namespace Script {
+    type EvaluateParameters = {
+        expression: string;
+        target: Script.Target;
+        awaitPromise: boolean;
+        resultOwnership?: Script.ResultOwnership;
+        serializationOptions?: Script.SerializationOptions;
+        /**
+         * @defaultValue `false`
+         */
+        userActivation?: boolean;
+    };
+}
+export declare namespace Script {
+    type GetRealms = {
+        method: 'script.getRealms';
+        params: Script.GetRealmsParameters;
+    };
+}
+export declare namespace Script {
+    type GetRealmsParameters = {
+        context?: BrowsingContext.BrowsingContext;
+        type?: Script.RealmType;
+    };
+}
+export declare namespace Script {
+    type GetRealmsResult = {
+        realms: [...Script.RealmInfo[]];
+    };
+}
+export declare namespace Script {
+    type RemovePreloadScriptCommand = {
+        method: 'script.removePreloadScript';
+        params: Script.RemovePreloadScriptParameters;
+    };
+}
+export declare namespace Script {
+    type RemovePreloadScriptParameters = {
+        script: Script.PreloadScript;
+    };
+}
+export declare namespace Script {
+    type Message = {
+        method: 'script.message';
+        params: Script.MessageParameters;
+    };
+}
+export declare namespace Script {
+    type MessageParameters = {
+        channel: Script.Channel;
+        data: Script.RemoteValue;
+        source: Script.Source;
+    };
+}
+export declare namespace Script {
+    type RealmCreated = {
+        method: 'script.realmCreated';
+        params: Script.RealmInfo;
+    };
+}
+export declare namespace Script {
+    type RealmDestroyed = {
+        method: 'script.realmDestroyed';
+        params: Script.RealmDestroyedParameters;
+    };
+}
+export declare namespace Script {
+    type RealmDestroyedParameters = {
+        realm: Script.Realm;
+    };
+}
+export type LogEvent = Log.EntryAdded;
+export declare namespace Log {
+    const enum Level {
+        Debug = "debug",
+        Info = "info",
+        Warn = "warn",
+        Error = "error"
+    }
+}
+export declare namespace Log {
+    type Entry = Log.GenericLogEntry | Log.ConsoleLogEntry | Log.JavascriptLogEntry;
+}
+export declare namespace Log {
+    type BaseLogEntry = {
+        level: Log.Level;
+        source: Script.Source;
+        text: string | null;
+        timestamp: JsUint;
+        stackTrace?: Script.StackTrace;
+    };
+}
+export declare namespace Log {
+    type GenericLogEntry = Log.BaseLogEntry & {
+        type: string;
+    };
+}
+export declare namespace Log {
+    type ConsoleLogEntry = Log.BaseLogEntry & {
+        type: 'console';
+        method: string;
+        args: [...Script.RemoteValue[]];
+    };
+}
+export declare namespace Log {
+    type JavascriptLogEntry = Log.BaseLogEntry & {
+        type: 'javascript';
+    };
+}
+export declare namespace Log {
+    type EntryAdded = {
+        method: 'log.entryAdded';
+        params: Log.Entry;
+    };
+}
+export type InputCommand = Input.PerformActions | Input.ReleaseActions;
+export declare namespace Input {
+    type ElementOrigin = {
+        type: 'element';
+        element: Script.SharedReference;
+    };
+}
+export declare namespace Input {
+    type PerformActions = {
+        method: 'input.performActions';
+        params: Input.PerformActionsParameters;
+    };
+}
+export declare namespace Input {
+    type PerformActionsParameters = {
+        context: BrowsingContext.BrowsingContext;
+        actions: [...Input.SourceActions[]];
+    };
+}
+export declare namespace Input {
+    type SourceActions = Input.NoneSourceActions | Input.KeySourceActions | Input.PointerSourceActions | Input.WheelSourceActions;
+}
+export declare namespace Input {
+    type NoneSourceActions = {
+        type: 'none';
+        id: string;
+        actions: [...Input.NoneSourceAction[]];
+    };
+}
+export declare namespace Input {
+    type NoneSourceAction = Input.PauseAction;
+}
+export declare namespace Input {
+    type KeySourceActions = {
+        type: 'key';
+        id: string;
+        actions: [...Input.KeySourceAction[]];
+    };
+}
+export declare namespace Input {
+    type KeySourceAction = Input.PauseAction | Input.KeyDownAction | Input.KeyUpAction;
+}
+export declare namespace Input {
+    type PointerSourceActions = {
+        type: 'pointer';
+        id: string;
+        parameters?: Input.PointerParameters;
+        actions: [...Input.PointerSourceAction[]];
+    };
+}
+export declare namespace Input {
+    const enum PointerType {
+        Mouse = "mouse",
+        Pen = "pen",
+        Touch = "touch"
+    }
+}
+export declare namespace Input {
+    type PointerParameters = {
+        /**
+         * @defaultValue `"mouse"`
+         */
+        pointerType?: Input.PointerType;
+    };
+}
+export declare namespace Input {
+    type PointerSourceAction = Input.PauseAction | Input.PointerDownAction | Input.PointerUpAction | Input.PointerMoveAction;
+}
+export declare namespace Input {
+    type WheelSourceActions = {
+        type: 'wheel';
+        id: string;
+        actions: [...Input.WheelSourceAction[]];
+    };
+}
+export declare namespace Input {
+    type WheelSourceAction = Input.PauseAction | Input.WheelScrollAction;
+}
+export declare namespace Input {
+    type PauseAction = {
+        type: 'pause';
+        duration?: JsUint;
+    };
+}
+export declare namespace Input {
+    type KeyDownAction = {
+        type: 'keyDown';
+        value: string;
+    };
+}
+export declare namespace Input {
+    type KeyUpAction = {
+        type: 'keyUp';
+        value: string;
+    };
+}
+export declare namespace Input {
+    type PointerUpAction = {
+        type: 'pointerUp';
+        button: JsUint;
+    } & Input.PointerCommonProperties;
+}
+export declare namespace Input {
+    type PointerDownAction = {
+        type: 'pointerDown';
+        button: JsUint;
+    } & Input.PointerCommonProperties;
+}
+export declare namespace Input {
+    type PointerMoveAction = {
+        type: 'pointerMove';
+        x: JsInt;
+        y: JsInt;
+        duration?: JsUint;
+        origin?: Input.Origin;
+    } & Input.PointerCommonProperties;
+}
+export declare namespace Input {
+    type WheelScrollAction = {
+        type: 'scroll';
+        x: JsInt;
+        y: JsInt;
+        deltaX: JsInt;
+        deltaY: JsInt;
+        duration?: JsUint;
+        /**
+         * @defaultValue `"viewport"`
+         */
+        origin?: Input.Origin;
+    };
+}
+export declare namespace Input {
+    type PointerCommonProperties = {
+        /**
+         * @defaultValue `1`
+         */
+        width?: JsUint;
+        /**
+         * @defaultValue `1`
+         */
+        height?: JsUint;
+        /**
+         * @defaultValue `0`
+         */
+        pressure?: number;
+        /**
+         * @defaultValue `0`
+         */
+        tangentialPressure?: number;
+        /**
+         * Must be between `0` and `359`, inclusive.
+         *
+         * @defaultValue `0`
+         */
+        twist?: number;
+    } & (Input.TiltProperties | Input.AngleProperties);
+}
+export declare namespace Input {
+    type AngleProperties = {
+        /**
+         * @defaultValue `0`
+         */
+        altitudeAngle?: number;
+        /**
+         * @defaultValue `0`
+         */
+        azimuthAngle?: number;
+    };
+}
+export declare namespace Input {
+    type TiltProperties = {
+        /**
+         * Must be between `-90` and `90`, inclusive.
+         *
+         * @defaultValue `0`
+         */
+        tiltX?: number;
+        /**
+         * Must be between `-90` and `90`, inclusive.
+         *
+         * @defaultValue `0`
+         */
+        tiltY?: number;
+    };
+}
+export declare namespace Input {
+    type Origin = 'viewport' | 'pointer' | Input.ElementOrigin;
+}
+export declare namespace Input {
+    type ReleaseActions = {
+        method: 'input.releaseActions';
+        params: Input.ReleaseActionsParameters;
+    };
+}
+export declare namespace Input {
+    type ReleaseActionsParameters = {
+        context: BrowsingContext.BrowsingContext;
+    };
+}
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol/webdriver-bidi.js b/node_modules/chromium-bidi/lib/cjs/protocol/webdriver-bidi.js
new file mode 100644
index 0000000..4477ccc
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/protocol/webdriver-bidi.js
@@ -0,0 +1,19 @@
+"use strict";
+/**
+ * Copyright 2023 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+//# sourceMappingURL=webdriver-bidi.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/protocol/webdriver-bidi.js.map b/node_modules/chromium-bidi/lib/cjs/protocol/webdriver-bidi.js.map
new file mode 100644
index 0000000..c9fc333
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/protocol/webdriver-bidi.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"webdriver-bidi.js","sourceRoot":"","sources":["../../../src/protocol/webdriver-bidi.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/EventEmitter.d.ts b/node_modules/chromium-bidi/lib/cjs/utils/EventEmitter.d.ts
index cc01935..807eab9 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/EventEmitter.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/utils/EventEmitter.d.ts
@@ -48,4 +48,11 @@
      * @return `true` if there are any listeners, `false` otherwise.
      */
     emit<Key extends keyof Events>(event: Key, eventData: Events[Key]): void;
+    /**
+     * Removes all listeners. If given an event argument, it will remove only
+     * listeners for that event.
+     * @param event - the event to remove listeners for.
+     * @returns `this` to enable you to chain method calls.
+     */
+    removeAllListeners(event?: EventType): this;
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/EventEmitter.js b/node_modules/chromium-bidi/lib/cjs/utils/EventEmitter.js
index da24dd6..c9ad091 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/EventEmitter.js
+++ b/node_modules/chromium-bidi/lib/cjs/utils/EventEmitter.js
@@ -54,6 +54,21 @@
     emit(event, eventData) {
         this.#emitter.emit(event, eventData);
     }
+    /**
+     * Removes all listeners. If given an event argument, it will remove only
+     * listeners for that event.
+     * @param event - the event to remove listeners for.
+     * @returns `this` to enable you to chain method calls.
+     */
+    removeAllListeners(event) {
+        if (event) {
+            this.#emitter.all.delete(event);
+        }
+        else {
+            this.#emitter.all.clear();
+        }
+        return this;
+    }
 }
 exports.EventEmitter = EventEmitter;
 //# sourceMappingURL=EventEmitter.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/EventEmitter.js.map b/node_modules/chromium-bidi/lib/cjs/utils/EventEmitter.js.map
index 33eebec..b5bbdd4 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/EventEmitter.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/utils/EventEmitter.js.map
@@ -1 +1 @@
-{"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../../../src/utils/EventEmitter.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;;GAeG;AACH,gDAKc;AAEd,MAAa,YAAY;IACvB,QAAQ,GAAoB,IAAA,cAAI,GAAE,CAAC;IAUnC,EAAE,CAAC,IAAS,EAAE,OAAY;QACxB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,KAAgB,EAAE,OAAgB;QACrC,MAAM,WAAW,GAAY,CAAC,SAAS,EAAE,EAAE;YACzC,OAAO,CAAC,SAAS,CAAC,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACrC,CAAC;IAaD,GAAG,CAAC,IAAS,EAAE,OAAY;QACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAA2B,KAAU,EAAE,SAAsB;QAC/D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;CACF;AAxDD,oCAwDC"}
\ No newline at end of file
+{"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../../../src/utils/EventEmitter.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;;GAeG;AACH,gDAKc;AAEd,MAAa,YAAY;IACvB,QAAQ,GAAoB,IAAA,cAAI,GAAE,CAAC;IAUnC,EAAE,CAAC,IAAS,EAAE,OAAY;QACxB,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,KAAgB,EAAE,OAAgB;QACrC,MAAM,WAAW,GAAY,CAAC,SAAS,EAAE,EAAE;YACzC,OAAO,CAAC,SAAS,CAAC,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC/B,CAAC,CAAC;QACF,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACrC,CAAC;IAaD,GAAG,CAAC,IAAS,EAAE,OAAY;QACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAA2B,KAAU,EAAE,SAAsB;QAC/D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,KAAiB;QAClC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACjC;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAvED,oCAuEC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/assert.js b/node_modules/chromium-bidi/lib/cjs/utils/assert.js
index 6cb1824..a918c08 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/assert.js
+++ b/node_modules/chromium-bidi/lib/cjs/utils/assert.js
@@ -1,4 +1,6 @@
 "use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.assert = void 0;
 /**
  * Copyright 2023 Google LLC.
  * Copyright (c) Microsoft Corporation.
@@ -15,8 +17,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.assert = void 0;
 function assert(predicate) {
     if (!predicate) {
         throw new Error('Internal assertion failed.');
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/assert.js.map b/node_modules/chromium-bidi/lib/cjs/utils/assert.js.map
index a89853f..cb0e890 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/assert.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/utils/assert.js.map
@@ -1 +1 @@
-{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../../src/utils/assert.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,SAAgB,MAAM,CAAI,SAAY;IACpC,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KAC/C;AACH,CAAC;AAJD,wBAIC"}
\ No newline at end of file
+{"version":3,"file":"assert.js","sourceRoot":"","sources":["../../../src/utils/assert.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,MAAM,CAAI,SAAY;IACpC,IAAI,CAAC,SAAS,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KAC/C;AACH,CAAC;AAJD,wBAIC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/buffer.d.ts b/node_modules/chromium-bidi/lib/cjs/utils/buffer.d.ts
index c580534..ecee743 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/buffer.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/utils/buffer.d.ts
@@ -14,14 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-/**
- * Implements a FIFO buffer with a fixed size.
- */
+/** Implements a FIFO buffer with a fixed size. */
 export declare class Buffer<T> {
     #private;
     /**
-     * @param capacity
-     * @param onItemRemoved optional delegate called for each removed element.
+     * @param capacity The buffer capacity.
+     * @param onItemRemoved Delegate called for each removed element.
      */
     constructor(capacity: number, onItemRemoved?: (value: T) => void);
     get(): T[];
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/buffer.js b/node_modules/chromium-bidi/lib/cjs/utils/buffer.js
index 6b2f476..a62315e 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/buffer.js
+++ b/node_modules/chromium-bidi/lib/cjs/utils/buffer.js
@@ -17,16 +17,14 @@
  */
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.Buffer = void 0;
-/**
- * Implements a FIFO buffer with a fixed size.
- */
+/** Implements a FIFO buffer with a fixed size. */
 class Buffer {
     #capacity;
     #entries = [];
     #onItemRemoved;
     /**
-     * @param capacity
-     * @param onItemRemoved optional delegate called for each removed element.
+     * @param capacity The buffer capacity.
+     * @param onItemRemoved Delegate called for each removed element.
      */
     constructor(capacity, onItemRemoved) {
         this.#capacity = capacity;
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/buffer.js.map b/node_modules/chromium-bidi/lib/cjs/utils/buffer.js.map
index e16f1d5..7e11272 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/buffer.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/utils/buffer.js.map
@@ -1 +1 @@
-{"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../../src/utils/buffer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH;;GAEG;AACH,MAAa,MAAM;IACR,SAAS,CAAS;IAClB,QAAQ,GAAQ,EAAE,CAAC;IACnB,cAAc,CAAsB;IAE7C;;;OAGG;IACH,YAAY,QAAgB,EAAE,aAAkC;QAC9D,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,KAAQ;QACV,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,IAAI,KAAK,SAAS,EAAE;gBACtB,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC;aAC7B;SACF;IACH,CAAC;CACF;AA3BD,wBA2BC"}
\ No newline at end of file
+{"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../../src/utils/buffer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,kDAAkD;AAClD,MAAa,MAAM;IACR,SAAS,CAAS;IAClB,QAAQ,GAAQ,EAAE,CAAC;IACnB,cAAc,CAAsB;IAE7C;;;OAGG;IACH,YAAY,QAAgB,EAAE,aAAkC;QAC9D,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,GAAG,CAAC,KAAQ;QACV,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE;YAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,IAAI,KAAK,SAAS,EAAE;gBACtB,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC;aAC7B;SACF;IACH,CAAC;CACF;AA3BD,wBA2BC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/deferred.d.ts b/node_modules/chromium-bidi/lib/cjs/utils/deferred.d.ts
index 5be7da6..ca91d9f 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/deferred.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/utils/deferred.d.ts
@@ -22,6 +22,6 @@
     catch<TResult = never>(onRejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null): Promise<T | TResult>;
     resolve(value: T): void;
     reject(reason: unknown): void;
-    finally(onFinally?: () => void | null): Promise<T>;
+    finally(onFinally?: (() => void) | null): Promise<T>;
     [Symbol.toStringTag]: string;
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/deferred.js b/node_modules/chromium-bidi/lib/cjs/utils/deferred.js
index bbb9bb1..ab59d78 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/deferred.js
+++ b/node_modules/chromium-bidi/lib/cjs/utils/deferred.js
@@ -43,12 +43,16 @@
         return this.#promise.catch(onRejected);
     }
     resolve(value) {
-        this.#isFinished = true;
-        this.#resolve?.(value);
+        if (!this.#isFinished) {
+            this.#isFinished = true;
+            this.#resolve(value);
+        }
     }
     reject(reason) {
-        this.#isFinished = true;
-        this.#reject?.(reason);
+        if (!this.#isFinished) {
+            this.#isFinished = true;
+            this.#reject(reason);
+        }
     }
     finally(onFinally) {
         return this.#promise.finally(onFinally);
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/deferred.js.map b/node_modules/chromium-bidi/lib/cjs/utils/deferred.js.map
index fa08e6c..cf200bd 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/deferred.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/utils/deferred.js.map
@@ -1 +1 @@
-{"version":3,"file":"deferred.js","sourceRoot":"","sources":["../../../src/utils/deferred.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,MAAa,QAAQ;IACnB,WAAW,GAAG,KAAK,CAAC;IACpB,QAAQ,CAAa;IAErB,QAAQ,CAAsB;IAC9B,OAAO,CAA4B;IAEnC,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,2EAA2E;QAC3E,uCAAuC;QACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7B,uBAAuB;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CACF,WAAqE,EACrE,UAA2E;QAE3E,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CACH,UAAyE;QAEzE,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CAAC,KAAQ;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,MAAe;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,SAA6B;QACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;CAClC;AAnDD,4BAmDC"}
\ No newline at end of file
+{"version":3,"file":"deferred.js","sourceRoot":"","sources":["../../../src/utils/deferred.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,MAAa,QAAQ;IACnB,WAAW,GAAG,KAAK,CAAC;IACpB,QAAQ,CAAa;IACrB,QAAQ,CAAsB;IAC9B,OAAO,CAA6B;IAEpC,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,2EAA2E;QAC3E,uCAAuC;QACvC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;YAC7B,uBAAuB;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CACF,WAAqE,EACrE,UAA2E;QAE3E,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CACH,UAAyE;QAEzE,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CAAC,KAAQ;QACd,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACtB;IACH,CAAC;IAED,MAAM,CAAC,MAAe;QACpB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SACtB;IACH,CAAC;IAED,OAAO,CAAC,SAA+B;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;CAClC;AAtDD,4BAsDC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/idWrapper.js.map b/node_modules/chromium-bidi/lib/cjs/utils/idWrapper.js.map
index 2a49891..ddfe3d5 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/idWrapper.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/utils/idWrapper.js.map
@@ -1 +1 @@
-{"version":3,"file":"idWrapper.js","sourceRoot":"","sources":["../../../src/utils/idWrapper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH;;GAEG;AACH,MAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;IACX,GAAG,CAAS;IAErB;QACE,IAAI,CAAC,GAAG,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;;AAVU,8BAAS"}
\ No newline at end of file
+{"version":3,"file":"idWrapper.js","sourceRoot":"","sources":["../../../src/utils/idWrapper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH;;GAEG;AACH,MAAa,SAAS;IACpB,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;IACX,GAAG,CAAS;IAErB;QACE,IAAI,CAAC,GAAG,GAAG,EAAE,SAAS,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;;AAVH,8BAWC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/log.js b/node_modules/chromium-bidi/lib/cjs/utils/log.js
index 524fe85..24d318e 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/log.js
+++ b/node_modules/chromium-bidi/lib/cjs/utils/log.js
@@ -25,5 +25,5 @@
     LogType["cdp"] = "CDP";
     LogType["system"] = "System";
     // keep-sorted end
-})(LogType = exports.LogType || (exports.LogType = {}));
+})(LogType || (exports.LogType = LogType = {}));
 //# sourceMappingURL=log.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/log.js.map b/node_modules/chromium-bidi/lib/cjs/utils/log.js.map
index 315993d..885b4f7 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/log.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/utils/log.js.map
@@ -1 +1 @@
-{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/utils/log.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,IAAY,OAOX;AAPD,WAAY,OAAO;IACjB,oBAAoB;IACpB,iCAAsB,CAAA;IACtB,iDAAsC,CAAA;IACtC,sBAAW,CAAA;IACX,4BAAiB,CAAA;IACjB,kBAAkB;AACpB,CAAC,EAPW,OAAO,GAAP,eAAO,KAAP,eAAO,QAOlB"}
\ No newline at end of file
+{"version":3,"file":"log.js","sourceRoot":"","sources":["../../../src/utils/log.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,IAAY,OAOX;AAPD,WAAY,OAAO;IACjB,oBAAoB;IACpB,iCAAsB,CAAA;IACtB,iDAAsC,CAAA;IACtC,sBAAW,CAAA;IACX,4BAAiB,CAAA;IACjB,kBAAkB;AACpB,CAAC,EAPW,OAAO,uBAAP,OAAO,QAOlB"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/processingQueue.d.ts b/node_modules/chromium-bidi/lib/cjs/utils/processingQueue.d.ts
index 811e0f0..0982bab 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/processingQueue.d.ts
+++ b/node_modules/chromium-bidi/lib/cjs/utils/processingQueue.d.ts
@@ -15,8 +15,9 @@
  * limitations under the License.
  */
 import { type LoggerFn } from './log.js';
+import type { Result } from './result.js';
 export declare class ProcessingQueue<T> {
     #private;
     constructor(processor: (arg: T) => Promise<void>, logger?: LoggerFn);
-    add(entry: Promise<T>): void;
+    add(entry: Promise<Result<T>>): void;
 }
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/processingQueue.js b/node_modules/chromium-bidi/lib/cjs/utils/processingQueue.js
index bc075a2..759a746 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/processingQueue.js
+++ b/node_modules/chromium-bidi/lib/cjs/utils/processingQueue.js
@@ -42,7 +42,13 @@
             const entryPromise = this.#queue.shift();
             if (entryPromise !== undefined) {
                 await entryPromise
-                    .then((entry) => this.#processor(entry))
+                    .then((entry) => {
+                    if (entry.kind === 'error') {
+                        this.#logger?.(log_js_1.LogType.system, 'Event threw before sending:', entry.error);
+                        return;
+                    }
+                    return this.#processor(entry.value);
+                })
                     .catch((e) => {
                     this.#logger?.(log_js_1.LogType.system, 'Event was not processed:', e);
                 });
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/processingQueue.js.map b/node_modules/chromium-bidi/lib/cjs/utils/processingQueue.js.map
index 662a42b..7bbd367 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/processingQueue.js.map
+++ b/node_modules/chromium-bidi/lib/cjs/utils/processingQueue.js.map
@@ -1 +1 @@
-{"version":3,"file":"processingQueue.js","sourceRoot":"","sources":["../../../src/utils/processingQueue.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,qCAAgD;AAEhD,MAAa,eAAe;IACjB,OAAO,CAAY;IACnB,UAAU,CAA4B;IACtC,MAAM,GAAiB,EAAE,CAAC;IAEnC,wCAAwC;IACxC,aAAa,GAAG,KAAK,CAAC;IAEtB,YAAY,SAAoC,EAAE,MAAiB;QACjE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,GAAG,CAAC,KAAiB;QACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,2DAA2D;QAC3D,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO;SACR;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,YAAY,KAAK,SAAS,EAAE;gBAC9B,MAAM,YAAY;qBACf,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;qBACvC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACX,IAAI,CAAC,OAAO,EAAE,CAAC,gBAAO,CAAC,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC;gBAChE,CAAC,CAAC,CAAC;aACN;SACF;QAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;CACF;AArCD,0CAqCC"}
\ No newline at end of file
+{"version":3,"file":"processingQueue.js","sourceRoot":"","sources":["../../../src/utils/processingQueue.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,qCAAgD;AAGhD,MAAa,eAAe;IACjB,OAAO,CAAY;IACnB,UAAU,CAA4B;IACtC,MAAM,GAAyB,EAAE,CAAC;IAE3C,wCAAwC;IACxC,aAAa,GAAG,KAAK,CAAC;IAEtB,YAAY,SAAoC,EAAE,MAAiB;QACjE,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,GAAG,CAAC,KAAyB;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxB,2DAA2D;QAC3D,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,OAAO;SACR;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,YAAY,KAAK,SAAS,EAAE;gBAC9B,MAAM,YAAY;qBACf,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;oBACd,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;wBAC1B,IAAI,CAAC,OAAO,EAAE,CACZ,gBAAO,CAAC,MAAM,EACd,6BAA6B,EAC7B,KAAK,CAAC,KAAK,CACZ,CAAC;wBACF,OAAO;qBACR;oBACD,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtC,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;oBACX,IAAI,CAAC,OAAO,EAAE,CAAC,gBAAO,CAAC,MAAM,EAAE,0BAA0B,EAAE,CAAC,CAAC,CAAC;gBAChE,CAAC,CAAC,CAAC;aACN;SACF;QAED,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;CACF;AA/CD,0CA+CC"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/result.d.ts b/node_modules/chromium-bidi/lib/cjs/utils/result.d.ts
new file mode 100644
index 0000000..e5f5db9
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/utils/result.d.ts
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2022 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+export type Result<T, E = Error> = {
+    kind: 'success';
+    value: T;
+} | {
+    kind: 'error';
+    error: E;
+};
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/result.js b/node_modules/chromium-bidi/lib/cjs/utils/result.js
new file mode 100644
index 0000000..f7bc337
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/utils/result.js
@@ -0,0 +1,19 @@
+"use strict";
+/**
+ * Copyright 2022 Google LLC.
+ * Copyright (c) Microsoft Corporation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+//# sourceMappingURL=result.js.map
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/result.js.map b/node_modules/chromium-bidi/lib/cjs/utils/result.js.map
new file mode 100644
index 0000000..bbb7b3a
--- /dev/null
+++ b/node_modules/chromium-bidi/lib/cjs/utils/result.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/utils/result.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/cjs/utils/tsconfig.tsbuildinfo b/node_modules/chromium-bidi/lib/cjs/utils/tsconfig.tsbuildinfo
index 291e188..d529e40 100644
--- a/node_modules/chromium-bidi/lib/cjs/utils/tsconfig.tsbuildinfo
+++ b/node_modules/chromium-bidi/lib/cjs/utils/tsconfig.tsbuildinfo
@@ -1 +1 @@
-{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../src/utils/DefaultMap.ts","../../../src/utils/DefaultMap.spec.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/mitt/index.d.ts","../../../src/utils/EventEmitter.ts","../../../src/utils/EventEmitter.spec.ts","../../../src/utils/Mutex.ts","../../../src/utils/Mutex.spec.ts","../../../src/utils/assert.ts","../../../src/utils/buffer.ts","../../../src/utils/buffer.spec.ts","../../../src/utils/deferred.ts","../../../src/utils/deferred.spec.ts","../../../src/utils/idWrapper.ts","../../../src/utils/idWrapper.spec.ts","../../../src/utils/log.ts","../../../src/utils/processingQueue.ts","../../../src/utils/processingQueue.spec.ts","../../../src/utils/transport.ts","../../../src/utils/transportStub.spec.ts","../../../src/utils/unitConversions.ts","../../../src/utils/unitConversions.spec.ts","../../../src/utils/uuid.ts","../../../src/utils/uuid.spec.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../src/utils/websocketTransport.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"6a6b471e7e43e15ef6f8fe617a22ce4ecb0e34efa6c3dfcfe7cebd392bcca9d2","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"fcd3ecc9f764f06f4d5c467677f4f117f6abf49dee6716283aa204ff1162498b","affectsGlobalScope":true},{"version":"9a60b92bca4c1257db03b349d58e63e4868cfc0d1c8d0ba60c2dbc63f4e6c9f6","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"5114a95689b63f96b957e00216bc04baf9e1a1782aa4d8ee7e5e9acbf768e301","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"b7feb7967c6c6003e11f49efa8f5de989484e0a6ba2e5a6c41b55f8b8bd85dba","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7823c8aa42d88e6cb454fe7dc56996c6fd174b28a9f050e9bdea1c25b7d114ea",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"d42d07c1ba2fb3f8e0f492331106b90acd4424e9f44e65f533f18f6d757570a8","signature":"73396d8e7ab497e2532d562acb2af2954f5d8e35a0b0a1cefe1be9a84e1cfe84"},{"version":"9a6046c185c8e5e96d44bf11b196d30351fdd06a510f137b6c1566dbb7c43a34","signature":"eaaad7059af6a46bc3ef3a806b307f94f7c43054c7f9470499eb6f44e35b136c"},"f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","8d41819b9e44145170afaf7b0bc0753e949e6cb2a2314bd36a8e7046f537f4a4","980d84ab65a61d1979a22e5cd3322672e75fb148392b6903d08ccef59bbf530c",{"version":"55fe7f847bac21c92cb7c78d30cdf1a08c824868c72614e13e141aff9f4a568d","signature":"c528612deb832be691044b7bf66f59f3ad01928fba354ab517531f134fada876"},{"version":"770f9b41caf5f2a105fffc02a8fc1a304945d4c5d19bf1384d05a73ebe0df8da","signature":"6761a2415ce2f78468a4bb757bed6bc414f28dabe04b2f80d2dfcc5ab56fe64e"},{"version":"0255a291ce52ead96995e5a5cfcfef7db53f99b1ec5e6ac00bd249accc97d850","signature":"22bad1573f0f96dbc7d9580a952bd7d40a68e7a5763fc263d8f3200753185600"},{"version":"4672cda8832e0f52bc2fc01a5967f338eceb042a57eff1b7b05234d93f631092","signature":"549bc40dbce7ee464409b97ddbf78196f7fe1c6ff73cb39454c47eee2bb47520"},{"version":"7404f2c4194da01c7e7e43e27f252f93e5302d3681029bb52d03630dddb37251","signature":"33c20f9f965d4086dd3f7195bd1a335a6256efac741648f1a5d92d0313fd23af"},{"version":"2cbc84232d9dad4c2f5b56ebd1e9732ddcf8c61b197327d27bf914c3b354d83b","signature":"86bb193ebaee82aad877590d729c115b493210ea273d1d340168e81fe37f1e14"},{"version":"0cb29b76ee8ef367aee4271ddddeeaa1e92061b61916f2af89276fad09a442de","signature":"66988394218ee2fdd24aaa8320767168ebe9a6563ade0d0445c52c64e8f7e76a"},{"version":"902acdbdc6328c6c0c6563fef48d540ce2995f51ff662040d17e73a81e8767d4","signature":"5c158d84e67a700b665b44383ea7aa7da156fa75fb1de4fe5fe41f2681c3495a"},{"version":"99bc7d02f1feda0db354e12d62750be73fea061450dfe50cf2a509ce05d449b0","signature":"eaaad7059af6a46bc3ef3a806b307f94f7c43054c7f9470499eb6f44e35b136c"},{"version":"6cc61fac274e72939812ad30a8ca2a94dd8358955704d2d1def610e02d458bc3","signature":"e357d4b96889a18d0afb587efcd4c1e67fce8079b4a64625d542723d6bbf4716"},{"version":"c11448ee7bf9983d87ad2ccfcaa339f21a46606355872db4e78e8fde4e3595bf","signature":"66988394218ee2fdd24aaa8320767168ebe9a6563ade0d0445c52c64e8f7e76a"},{"version":"a4621c8c71e9a69e5aebe527ac5064de403a56828207467e7fd13b86610c137a","signature":"4144f9222d63564d8572c921dd6ca8f824f4f92d66b2d34ed3d1ae70b5223cb4"},{"version":"2968adf8d690640eae685c44231a16d33d764e700f7f16390251b4bed151e169","signature":"93f21861a44c3e23bbea3aa8d92303c7c03875190d70e068603fdc2caea6f385"},{"version":"3414ca540a3731852340a398729ae22df2e32d19839da9bd792ab429e55f2180","signature":"66988394218ee2fdd24aaa8320767168ebe9a6563ade0d0445c52c64e8f7e76a"},{"version":"66c4e1e3f71c41ceb6e27e6e72dc1f44ca53f3e0a919350bc613917453bc9117","signature":"79ba22c2f8762e45176343b04526160561032a5ff728022f2495cc7eebb85393"},{"version":"112263c5e43586796a1939d2ca12c5de8bb56e1e46fab206fcdaee61fa4ed466","signature":"14ef2843e45c9db024a7f54d66fa5d635b226a7972b07a9561d3d5e92536c197"},{"version":"690695b792f0346d2da8ea36c1f945aa46a79a098a9595660415778b034daf88","signature":"514f22ade3182fa2840148ffc82d404e0cff0f3aa88317f565504464fbbd8d03"},{"version":"e38366132c6b1823317c976d8510496d3961d44bc3772ddbdbeefffb50227cad","signature":"eaaad7059af6a46bc3ef3a806b307f94f7c43054c7f9470499eb6f44e35b136c"},{"version":"e03424ff6c5a31362f1017e9098643e94a22a575a85a65b2520f1db00e6e4316","signature":"6a1d88635ed5be5e78b2c32632ad19fa62ac329b6f33f403d34474939c29daf6"},{"version":"13fb1031696bb67abab82f74212c8ae57b3c27dcbb620f752e99ddecf6304f5d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"7e771891adaa85b690266bc37bd6eb43bc57eecc4b54693ead36467e7369952a","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"8d81612302e009aacd595b125ae1530b6342f690eb83da7788503617d1362185","affectsGlobalScope":true},"7d2e3fea24c712c99c03ad8f556abedbfe105f87f1be10b95dbd409d24bc05a3",{"version":"211e3f15fbced4ab4be19f49ffa990b9ff20d749d33b65ff753be691e7616239","affectsGlobalScope":true},"374ca798f244e464346f14301dc2a8b4b111af1a83b49fffef5906c338a1f922","5a94487653355b56018122d92392beb2e5f4a6c63ba5cef83bbe1c99775ef713",{"version":"d5135ad93b33adcce80b18f8065087934cdc1730d63db58562edcf017e1aad9b","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","e596c9bb2f29a2699fdd4ae89139612652245192f67f45617c5a4b20832aaae9","bb9c4ffa5e6290c6980b63c815cdd1625876dadb2efaf77edbe82984be93e55e","1cdcfc1f624d6c08aa12c73935f6e13f095919cd99edf95752951796eb225729","216717f17c095cde1dc19375e1ab3af0a4a485355860c077a4f9d6ea59fab5b5","14b5aa23c5d0ae1907bc696ac7b6915d88f7d85799cc0dc2dcf98fbce2c5a67c","5c439dafdc09abe4d6c260a96b822fa0ba5be7203c71a63ab1f1423cd9e838ea",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"00dee7cdca8b8420c47ea4a31a34b8e8294013ebc4f463fd941e867e7bf05029","affectsGlobalScope":true},"80473bd0dd90ca1e166514c2dfead9d5803f9c51418864ca35abbeec6e6847e1","1c84b46267610a34028edfd0d035509341751262bac1062857f3c8df7aff7153","e6c86d83bd526c8bdb5d0bf935b8e72ce983763d600743f74d812fdf4abf4df6","a3d541d303ee505053f5dcbf9fafb65cac3d5631037501cd616195863a6c5740","8d3c583a07e0c37e876908c2d5da575019f689df8d9fa4c081d99119d53dba22","2c828a5405191d006115ab34e191b8474bc6c86ffdc401d1a9864b1b6e088a58",{"version":"e630e5528e899219ae319e83bef54bf3bcb91b01d76861ecf881e8e614b167f0","affectsGlobalScope":true},"bcebb922784739bdb34c18ee51095d25a92b560c78ccd2eaacd6bd00f7443d83","7ee6ed878c4528215c82b664fe0cfe80e8b4da6c0d4cc80869367868774db8b1","b0973c3cbcdc59b37bf477731d468696ecaf442593ec51bab497a613a580fe30",{"version":"4989e92ba5b69b182d2caaea6295af52b7dc73a4f7a2e336a676722884e7139d","affectsGlobalScope":true},{"version":"0715e4cd28ad471b2a93f3e552ff51a3ae423417a01a10aa1d3bc7c6b95059d6","affectsGlobalScope":true},"5153a2fd150e46ce57bb3f8db1318d33f6ad3261ed70ceeff92281c0608c74a3","210d54cd652ec0fec8c8916e4af59bb341065576ecda039842f9ffb2e908507c","36b03690b628eab08703d63f04eaa89c5df202e5f1edf3989f13ad389cd2c091","0effadd232a20498b11308058e334d3339cc5bf8c4c858393e38d9d4c0013dcf","25846d43937c672bab7e8195f3d881f93495df712ee901860effc109918938cc","4f3fdeba4e28e21aa719c081b8dc8f91d47e12e773389b9d35679c08151c9d37","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","69ee23dd0d215b09907ad30d23f88b7790c93329d1faf31d7835552a10cf7cbf","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","23b89798789dffbd437c0c423f5d02d11f9736aea73d6abf16db4f812ff36eda","f69ff39996a61a0dd10f4bce73272b52e8024a4d58b13ab32bf4712909d0a2b7",{"version":"3c4ba1dd9b12ffa284b565063108f2f031d150ea15b8fafbdc17f5d2a07251f3","affectsGlobalScope":true},"e10177274a35a9d07c825615340b2fcde2f610f53f3fb40269fd196b4288dda6","3d6c3d6b3bd42f1175d65cb74051c5f4ee2c1d2fbeb1facc5385e2161ce93005","3c13ef48634e7b5012fcf7e8fce7496352c2d779a7201389ca96a2a81ee4314d","5d0a25ec910fa36595f85a67ac992d7a53dd4064a1ba6aea1c9f14ab73a023f2",{"version":"a73ae8c0e62103bb9e21bb6538700881bf135b9a8b125b857ec68edfa0da4ed3","affectsGlobalScope":true},{"version":"e1c1b2fbe236bf7ee3e342eeae7e20efb8988a0ac7da1cbbfa2c1f66b76c3423","affectsGlobalScope":true},"6de4a219df57d2b27274d59b67708f13c2cbf7ed211abe57d8f9ab8b25cde776","0fe8985a28f82c450a04a6edf1279d7181c0893f37da7d2a27f8efd4fd5edb03","e59a892d87e72733e2a9ca21611b9beb52977be2696c7ba4b216cbbb9a48f5aa",{"version":"52120bb7e4583612225bdf08e7c12559548170f11e660d33a33623bae9bbdbba","affectsGlobalScope":true},"8a300fa9b698845a1f9c41ecbe2c5966634582a8e2020d51abcace9b55aa959e",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"a6dd3dba8e665ac43d279e0fdf5219edda0eed69b5e9a5061f46cd6a65c4f7a1","77c5c7f8578d139c74102a29384f5f4f0792a12d819ddcdcaf8307185ff2d45d",{"version":"7b68f74120538311e6abb77d84c85bbcbf05fd1330e8584280a64ddfec9870b3","signature":"528728dd069d3ffccb6e4e10661a89b11ce58ad634f5048a62c1ce1ab60486c3"},"dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889",{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","93b7325b49dfbf613d940ed0e471216657b2d77459dac34f1b5b1678f08f884c","bee89e1eb6425eb49894f3f25e4562dc2564e84e5aa7610b7e13d8ecddf8f5db","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","77c1d91a129ba60b8c405f9f539e42df834afb174fe0785f89d92a2c7c16b77a","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","6aee496bf0ecfbf6731aa8cca32f4b6e92cdc0a444911a7d88410408a45ecc5d","aec59f80c62291ec634283d443b27ebe6fc6cf57670057aa9a172927675bfbea","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"root":[66,67,[71,90],146],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"useUnknownInCatchVariables":true},"fileIdsList":[[137],[65,137],[137,149],[91,137],[94,137],[95,100,128,137],[96,107,108,115,125,136,137],[96,97,107,115,137],[98,137],[99,100,108,116,137],[100,125,133,137],[101,103,107,115,137],[102,137],[103,104,137],[107,137],[105,107,137],[107,108,109,125,136,137],[107,108,109,122,125,128,137],[137,141],[103,110,115,125,136,137],[107,108,110,111,115,125,133,136,137],[110,112,125,133,136,137],[91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143],[107,113,137],[114,136,137],[103,107,115,125,137],[116,137],[117,137],[94,118,137],[119,135,137,141],[120,137],[121,137],[107,122,123,137],[122,124,137,139],[95,107,125,126,127,128,137],[95,125,127,137],[125,126,137],[128,137],[129,137],[107,131,132,137],[131,132,137],[100,115,125,133,137],[134,137],[115,135,137],[95,110,121,136,137],[100,137],[125,137,138],[137,139],[137,140],[95,100,107,109,118,125,136,137,139,141],[125,137,142],[137,158,197],[137,158,182,197],[137,197],[137,158],[137,158,183,197],[137,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196],[137,183,197],[68,137],[107,110,112,115,136,137,144],[107,110,112,125,133,136,137,142,144],[107,125,137,144],[65,66,137],[65,69,71,137],[70,137],[65,73,137],[65,69,76,137],[65,78,137],[65,80,137],[65,69,78,83,137],[82,137],[69,85,137],[65,87,137],[65,89,137],[85,137,145],[70],[82],[69,85],[85,145]],"referencedMap":[[147,1],[148,2],[65,1],[150,3],[151,1],[152,1],[153,1],[154,1],[155,1],[149,1],[91,4],[92,4],[94,5],[95,6],[96,7],[97,8],[98,9],[99,10],[100,11],[101,12],[102,13],[103,14],[104,14],[106,15],[105,16],[107,15],[108,17],[109,18],[93,19],[143,1],[110,20],[111,21],[112,22],[144,23],[113,24],[114,25],[115,26],[116,27],[117,28],[118,29],[119,30],[120,31],[121,32],[122,33],[123,33],[124,34],[125,35],[127,36],[126,37],[128,38],[129,39],[130,1],[131,40],[132,41],[133,42],[134,43],[135,44],[136,45],[137,46],[138,47],[139,48],[140,49],[141,50],[142,51],[156,1],[157,1],[182,52],[183,53],[158,54],[161,54],[180,52],[181,52],[171,52],[170,55],[168,52],[163,52],[176,52],[174,52],[178,52],[162,52],[175,52],[179,52],[164,52],[165,52],[177,52],[159,52],[166,52],[167,52],[169,52],[173,52],[184,56],[172,52],[160,52],[197,57],[196,1],[191,56],[193,58],[192,56],[185,56],[186,56],[188,56],[190,56],[194,58],[195,58],[187,58],[189,58],[69,59],[68,1],[198,60],[145,61],[199,62],[70,1],[62,1],[63,1],[12,1],[13,1],[17,1],[16,1],[2,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[24,1],[25,1],[3,1],[4,1],[29,1],[26,1],[27,1],[28,1],[30,1],[31,1],[32,1],[5,1],[33,1],[34,1],[35,1],[36,1],[6,1],[40,1],[37,1],[38,1],[39,1],[41,1],[7,1],[42,1],[47,1],[48,1],[43,1],[44,1],[45,1],[46,1],[8,1],[52,1],[49,1],[50,1],[51,1],[53,1],[9,1],[54,1],[55,1],[56,1],[59,1],[57,1],[58,1],[60,1],[10,1],[1,1],[11,1],[64,1],[61,1],[15,1],[14,1],[67,63],[66,1],[72,64],[71,65],[74,66],[73,1],[75,1],[77,67],[76,1],[79,68],[78,1],[81,69],[80,1],[82,1],[84,70],[83,71],[85,1],[86,72],[88,73],[87,1],[90,74],[89,1],[146,75]],"exportedModulesMap":[[147,1],[148,2],[65,1],[150,3],[151,1],[152,1],[153,1],[154,1],[155,1],[149,1],[91,4],[92,4],[94,5],[95,6],[96,7],[97,8],[98,9],[99,10],[100,11],[101,12],[102,13],[103,14],[104,14],[106,15],[105,16],[107,15],[108,17],[109,18],[93,19],[143,1],[110,20],[111,21],[112,22],[144,23],[113,24],[114,25],[115,26],[116,27],[117,28],[118,29],[119,30],[120,31],[121,32],[122,33],[123,33],[124,34],[125,35],[127,36],[126,37],[128,38],[129,39],[130,1],[131,40],[132,41],[133,42],[134,43],[135,44],[136,45],[137,46],[138,47],[139,48],[140,49],[141,50],[142,51],[156,1],[157,1],[182,52],[183,53],[158,54],[161,54],[180,52],[181,52],[171,52],[170,55],[168,52],[163,52],[176,52],[174,52],[178,52],[162,52],[175,52],[179,52],[164,52],[165,52],[177,52],[159,52],[166,52],[167,52],[169,52],[173,52],[184,56],[172,52],[160,52],[197,57],[196,1],[191,56],[193,58],[192,56],[185,56],[186,56],[188,56],[190,56],[194,58],[195,58],[187,58],[189,58],[69,59],[68,1],[198,60],[145,61],[199,62],[70,1],[62,1],[63,1],[12,1],[13,1],[17,1],[16,1],[2,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[24,1],[25,1],[3,1],[4,1],[29,1],[26,1],[27,1],[28,1],[30,1],[31,1],[32,1],[5,1],[33,1],[34,1],[35,1],[36,1],[6,1],[40,1],[37,1],[38,1],[39,1],[41,1],[7,1],[42,1],[47,1],[48,1],[43,1],[44,1],[45,1],[46,1],[8,1],[52,1],[49,1],[50,1],[51,1],[53,1],[9,1],[54,1],[55,1],[56,1],[59,1],[57,1],[58,1],[60,1],[10,1],[1,1],[11,1],[64,1],[61,1],[15,1],[14,1],[71,76],[83,77],[86,78],[146,79]],"semanticDiagnosticsPerFile":[147,148,65,150,151,152,153,154,155,149,91,92,94,95,96,97,98,99,100,101,102,103,104,106,105,107,108,109,93,143,110,111,112,144,113,114,115,116,117,118,119,120,121,122,123,124,125,127,126,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,156,157,182,183,158,161,180,181,171,170,168,163,176,174,178,162,175,179,164,165,177,159,166,167,169,173,184,172,160,197,196,191,193,192,185,186,188,190,194,195,187,189,69,68,198,145,199,70,62,63,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,10,1,11,64,61,15,14,67,66,72,71,74,73,75,77,76,79,78,81,80,82,84,83,85,86,88,87,90,89,146],"latestChangedDtsFile":"./websocketTransport.d.ts"},"version":"5.0.4"}
\ No newline at end of file
+{"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.esnext.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../node_modules/typescript/lib/lib.scripthost.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/typescript/lib/lib.esnext.full.d.ts","../../../node_modules/@types/chai/index.d.ts","../../../src/utils/DefaultMap.ts","../../../src/utils/DefaultMap.spec.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/@types/sinon/index.d.ts","../../../node_modules/mitt/index.d.ts","../../../src/utils/EventEmitter.ts","../../../src/utils/EventEmitter.spec.ts","../../../src/utils/Mutex.ts","../../../src/utils/Mutex.spec.ts","../../../src/utils/assert.ts","../../../src/utils/assert.spec.ts","../../../src/utils/buffer.ts","../../../src/utils/buffer.spec.ts","../../../src/utils/deferred.ts","../../../src/utils/deferred.spec.ts","../../../src/utils/idWrapper.ts","../../../src/utils/idWrapper.spec.ts","../../../src/utils/log.ts","../../../src/utils/result.ts","../../../src/utils/processingQueue.ts","../../../src/utils/processingQueue.spec.ts","../../../src/utils/transport.ts","../../../src/utils/transportStub.spec.ts","../../../src/utils/unitConversions.ts","../../../src/utils/unitConversions.spec.ts","../../../src/utils/uuid.ts","../../../src/utils/uuid.spec.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/assert/strict.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/dns/promises.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/dom-events.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/readline/promises.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/stream/promises.d.ts","../../../node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/@types/node/stream/web.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/test.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/timers/promises.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/@types/ws/index.d.ts","../../../src/utils/websocketTransport.ts","../../../node_modules/@types/argparse/index.d.ts","../../../node_modules/@types/chai-as-promised/index.d.ts","../../../node_modules/@types/ms/index.d.ts","../../../node_modules/@types/debug/index.d.ts","../../../node_modules/@types/estree/index.d.ts","../../../node_modules/@types/json-schema/index.d.ts","../../../node_modules/@types/json5/index.d.ts","../../../node_modules/@types/minimist/index.d.ts","../../../node_modules/@types/mocha/index.d.ts","../../../node_modules/@types/normalize-package-data/index.d.ts","../../../node_modules/@types/resolve/index.d.ts","../../../node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/@types/semver/functions/major.d.ts","../../../node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/@types/semver/classes/range.d.ts","../../../node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/@types/semver/index.d.ts","../../../node_modules/@types/websocket/index.d.ts","../../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","f4e736d6c8d69ae5b3ab0ddfcaa3dc365c3e76909d6660af5b4e979b3934ac20","eeeb3aca31fbadef8b82502484499dfd1757204799a6f5b33116201c810676ec",{"version":"3dda5344576193a4ae48b8d03f105c86f20b2f2aff0a1d1fd7935f5d68649654","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"9d9885c728913c1d16e0d2831b40341d6ad9a0ceecaabc55209b306ad9c736a5","affectsGlobalScope":true},{"version":"17bea081b9c0541f39dd1ae9bc8c78bdd561879a682e60e2f25f688c0ecab248","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f06948deb2a51aae25184561c9640fb66afeddb34531a9212d011792b1d19e0a","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"61ed9b6d07af959e745fb11f9593ecd743b279418cc8a99448ea3cd5f3b3eb22","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"930b0e15811f84e203d3c23508674d5ded88266df4b10abee7b31b2ac77632d2","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"25de46552b782d43cb7284df22fe2a265de387cf0248b747a7a1b647d81861f6","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"7823c8aa42d88e6cb454fe7dc56996c6fd174b28a9f050e9bdea1c25b7d114ea",{"version":"c3bc5d095c3c22fd20b5a6550b9c9a6d56c3ffbb87ef057ccce7764b6bed4428","affectsGlobalScope":true},{"version":"d42d07c1ba2fb3f8e0f492331106b90acd4424e9f44e65f533f18f6d757570a8","signature":"73396d8e7ab497e2532d562acb2af2954f5d8e35a0b0a1cefe1be9a84e1cfe84"},{"version":"9a6046c185c8e5e96d44bf11b196d30351fdd06a510f137b6c1566dbb7c43a34","signature":"eaaad7059af6a46bc3ef3a806b307f94f7c43054c7f9470499eb6f44e35b136c"},"f83b320cceccfc48457a818d18fc9a006ab18d0bdd727aa2c2e73dc1b4a45e98","cffac9db07bba0b35754412e48215d1bc5153c03c46409bbeaf315848359822b","980d84ab65a61d1979a22e5cd3322672e75fb148392b6903d08ccef59bbf530c",{"version":"64d6f6a040bbae2c196ef1f828be5387fadda13ced438bde90ae7a5531cb488e","signature":"d53b184dc5221f3a6375846dd5f7dbc13289c59333afe08353421f8463bee724"},{"version":"7ba77a834fcbe64d4d4742424bf92b82df182550695eb183eb3947e8abae9607","signature":"6761a2415ce2f78468a4bb757bed6bc414f28dabe04b2f80d2dfcc5ab56fe64e"},{"version":"0255a291ce52ead96995e5a5cfcfef7db53f99b1ec5e6ac00bd249accc97d850","signature":"22bad1573f0f96dbc7d9580a952bd7d40a68e7a5763fc263d8f3200753185600"},{"version":"4672cda8832e0f52bc2fc01a5967f338eceb042a57eff1b7b05234d93f631092","signature":"549bc40dbce7ee464409b97ddbf78196f7fe1c6ff73cb39454c47eee2bb47520"},{"version":"6cf7f7eb1056a836504a228555a4feee950be30604503a7f3a4867a49df90900","signature":"33c20f9f965d4086dd3f7195bd1a335a6256efac741648f1a5d92d0313fd23af"},{"version":"0f7766939524b922281d02b1aca8da93966dde80cab6d1002a380be83fc33ec1","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"2474916e49d647e0cf54573d8d04deb613a856eb71939abc9fc5694bbdcccb20","signature":"1ae77d9a31f9ebf022b86712b511ce05f07098639b366900ddee827ed0264e0e"},{"version":"9c73f36db3b749164fb1d8fa06e80c122c15c594da6e22e900cec35d5522ab5b","signature":"66988394218ee2fdd24aaa8320767168ebe9a6563ade0d0445c52c64e8f7e76a"},{"version":"5369cb6eb6d25fc7f3ddf2473f783c2db09475408614dc687d3900ac8661e555","signature":"69b617df09930ab4fec4674497e801b823a3d7edd87eabf4fb95168d60f5397c"},{"version":"b9523b6be62805f616d932cee58cafe984c480c1c3a92b28b0f17d870cd235a6","signature":"eaaad7059af6a46bc3ef3a806b307f94f7c43054c7f9470499eb6f44e35b136c"},{"version":"6cc61fac274e72939812ad30a8ca2a94dd8358955704d2d1def610e02d458bc3","signature":"e357d4b96889a18d0afb587efcd4c1e67fce8079b4a64625d542723d6bbf4716"},{"version":"c11448ee7bf9983d87ad2ccfcaa339f21a46606355872db4e78e8fde4e3595bf","signature":"66988394218ee2fdd24aaa8320767168ebe9a6563ade0d0445c52c64e8f7e76a"},{"version":"a4621c8c71e9a69e5aebe527ac5064de403a56828207467e7fd13b86610c137a","signature":"4144f9222d63564d8572c921dd6ca8f824f4f92d66b2d34ed3d1ae70b5223cb4"},{"version":"bae60049fa0f5dd70a928032a58d5a74406355f3612216a8935ba497594460fb","signature":"e1d5ebc40ccc3f044fbc72d31e4832e9d1fe82d9cfd74e71d00f70827337827e"},{"version":"5df702f45e6776a7361789c94825d5f4a215a1fdb9483e0f6b00f7659899f5aa","signature":"9b0a9c08eab1f0910d5ff4bbc053720e86b9e98cbf0c1e79f3ae01b9cf73bd5e"},{"version":"ddf6b92f2587187113dc0d1e5738a45b6468b480d5c4be77d0027d5119328566","signature":"66988394218ee2fdd24aaa8320767168ebe9a6563ade0d0445c52c64e8f7e76a"},{"version":"66c4e1e3f71c41ceb6e27e6e72dc1f44ca53f3e0a919350bc613917453bc9117","signature":"79ba22c2f8762e45176343b04526160561032a5ff728022f2495cc7eebb85393"},{"version":"112263c5e43586796a1939d2ca12c5de8bb56e1e46fab206fcdaee61fa4ed466","signature":"14ef2843e45c9db024a7f54d66fa5d635b226a7972b07a9561d3d5e92536c197"},{"version":"690695b792f0346d2da8ea36c1f945aa46a79a098a9595660415778b034daf88","signature":"514f22ade3182fa2840148ffc82d404e0cff0f3aa88317f565504464fbbd8d03"},{"version":"e38366132c6b1823317c976d8510496d3961d44bc3772ddbdbeefffb50227cad","signature":"eaaad7059af6a46bc3ef3a806b307f94f7c43054c7f9470499eb6f44e35b136c"},{"version":"e03424ff6c5a31362f1017e9098643e94a22a575a85a65b2520f1db00e6e4316","signature":"6a1d88635ed5be5e78b2c32632ad19fa62ac329b6f33f403d34474939c29daf6"},{"version":"13fb1031696bb67abab82f74212c8ae57b3c27dcbb620f752e99ddecf6304f5d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"c81c51f43e343b6d89114b17341fb9d381c4ccbb25e0ee77532376052c801ba7","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","57135ce61976a8b1dadd01bb412406d1805b90db6e8ecb726d0d78e0b5f76050",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","f302f3a47d7758f67f2afc753b9375d6504dde05d2e6ecdb1df50abbb131fc89","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"7a2ba0c9af860ac3e77b35ed01fd96d15986f17aa22fe40f188ae556fb1070df","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"ac0c77cd7db52b3c278bdd1452ce754014835493d05b84535f46854fdc2063b2","affectsGlobalScope":true},"b9f36877501f2ce0e276e993c93cd2cf325e78d0409ec4612b1eb9d6a537e60b","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"19da7150ca062323b1db6311a6ef058c9b0a39cc64d836b5e9b75d301869653b","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270",{"version":"ffc62d73b4fa10ca8c59f8802df88efefe447025730a24ee977b60adedc5bf37","affectsGlobalScope":true},{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","5bc85813bfcb6907cc3a960fec8734a29d7884e0e372515147720c5991b8bc22","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","993325544790073f77e945bee046d53988c0bc3ac5695c9cf8098166feb82661",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"0e08c360c9b5961ecb0537b703e253842b3ded53151ee07024148219b61a8baf","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","16a3080e885ed52d4017c902227a8d0d8daf723d062bec9e45627c6fdcd6699b",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"ebf3434b09c527078aa74139ff367fffa64fea32a01d6c06fb0a69b0ecadf43e","2dd1d4cea14cead7a7fc9eec8f40593089dff0de8c0199458446143c9b8c4ea9",{"version":"7b68f74120538311e6abb77d84c85bbcbf05fd1330e8584280a64ddfec9870b3","signature":"528728dd069d3ffccb6e4e10661a89b11ce58ad634f5048a62c1ce1ab60486c3"},"dac69319e7c96790211dd55fbb25831b7bf6e63f7645297a2c8f46247d44d889",{"version":"63e2182615c513e89bb8a3e749d08f7c379e86490fcdbf6d35f2c14b3507a6e8","affectsGlobalScope":true},"6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","93b7325b49dfbf613d940ed0e471216657b2d77459dac34f1b5b1678f08f884c","bee89e1eb6425eb49894f3f25e4562dc2564e84e5aa7610b7e13d8ecddf8f5db","f3e604694b624fa3f83f6684185452992088f5efb2cf136b62474aa106d6f1b6","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","209e814e8e71aec74f69686a9506dd7610b97ab59dcee9446266446f72a76d05",{"version":"677646e2620795c98a539fb12fb531f10331c217cef1492132b2518f894fa92d","affectsGlobalScope":true},"6fa0008bf91a4cc9c8963bace4bba0bd6865cbfa29c3e3ccc461155660fb113a","8baa5d0febc68db886c40bf341e5c90dc215a90cd64552e47e8184be6b7e3358","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","b9f96255e1048ed2ea33ec553122716f0e57fc1c3ad778e9aa15f5b46547bd23","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","a1a261624efb3a00ff346b13580f70f3463b8cdcc58b60f5793ff11785d52cab","aec59f80c62291ec634283d443b27ebe6fc6cf57670057aa9a172927675bfbea","65dfa4bc49ccd1355789abb6ae215b302a5b050fdee9651124fe7e826f33113c"],"root":[66,67,[71,92],148],"options":{"alwaysStrict":true,"composite":true,"declaration":true,"esModuleInterop":true,"module":1,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitOverride":true,"noImplicitReturns":true,"noImplicitThis":true,"noPropertyAccessFromIndexSignature":true,"noUncheckedIndexedAccess":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","sourceMap":true,"strict":true,"strictBindCallApply":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":99,"useUnknownInCatchVariables":true},"fileIdsList":[[139],[65,139],[139,151],[93,139],[96,139],[97,102,130,139],[98,109,110,117,127,138,139],[98,99,109,117,139],[100,139],[101,102,110,118,139],[102,127,135,139],[103,105,109,117,139],[104,139],[105,106,139],[109,139],[107,109,139],[109,110,111,127,138,139],[109,110,111,124,127,130,139],[139,143],[105,109,112,117,127,138,139],[109,110,112,113,117,127,135,138,139],[112,114,127,135,138,139],[93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145],[109,115,139],[116,138,139],[105,109,117,127,139],[118,139],[119,139],[96,120,139],[121,137,139,143],[122,139],[123,139],[109,124,125,139],[124,126,139,141],[97,109,127,128,129,130,139],[97,127,129,139],[127,128,139],[130,139],[131,139],[127,139],[109,133,134,139],[133,134,139],[102,117,127,135,139],[136,139],[117,137,139],[97,112,123,138,139],[102,139],[127,139,140],[139,141],[139,142],[97,102,109,111,120,127,138,139,141,143],[127,139,144],[139,160,199],[139,160,184,199],[139,199],[139,160],[139,160,185,199],[139,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198],[139,185,199],[68,139],[109,112,114,117,138,139,146],[109,112,114,127,135,138,139,144,146],[109,127,139,146],[65,66,139],[65,69,71,139],[70,139],[65,73,139],[65,75,139],[65,69,77,139],[65,79,139],[65,81,139],[65,69,79,84,85,139],[83,84,139],[69,87,139],[65,89,139],[65,91,139],[87,139,147],[70],[83,84],[69,87],[87,147]],"referencedMap":[[149,1],[150,2],[65,1],[152,3],[153,1],[154,1],[155,1],[156,1],[157,1],[151,1],[93,4],[94,4],[96,5],[97,6],[98,7],[99,8],[100,9],[101,10],[102,11],[103,12],[104,13],[105,14],[106,14],[108,15],[107,16],[109,15],[110,17],[111,18],[95,19],[145,1],[112,20],[113,21],[114,22],[146,23],[115,24],[116,25],[117,26],[118,27],[119,28],[120,29],[121,30],[122,31],[123,32],[124,33],[125,33],[126,34],[127,35],[129,36],[128,37],[130,38],[131,39],[132,40],[133,41],[134,42],[135,43],[136,44],[137,45],[138,46],[139,47],[140,48],[141,49],[142,50],[143,51],[144,52],[158,1],[159,1],[184,53],[185,54],[160,55],[163,55],[182,53],[183,53],[173,53],[172,56],[170,53],[165,53],[178,53],[176,53],[180,53],[164,53],[177,53],[181,53],[166,53],[167,53],[179,53],[161,53],[168,53],[169,53],[171,53],[175,53],[186,57],[174,53],[162,53],[199,58],[198,1],[193,57],[195,59],[194,57],[187,57],[188,57],[190,57],[192,57],[196,59],[197,59],[189,59],[191,59],[69,60],[68,1],[200,61],[147,62],[201,63],[70,1],[62,1],[63,1],[12,1],[13,1],[17,1],[16,1],[2,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[24,1],[25,1],[3,1],[4,1],[29,1],[26,1],[27,1],[28,1],[30,1],[31,1],[32,1],[5,1],[33,1],[34,1],[35,1],[36,1],[6,1],[40,1],[37,1],[38,1],[39,1],[41,1],[7,1],[42,1],[47,1],[48,1],[43,1],[44,1],[45,1],[46,1],[8,1],[52,1],[49,1],[50,1],[51,1],[53,1],[9,1],[54,1],[55,1],[56,1],[59,1],[57,1],[58,1],[60,1],[10,1],[1,1],[11,1],[64,1],[61,1],[15,1],[14,1],[67,64],[66,1],[72,65],[71,66],[74,67],[73,1],[76,68],[75,1],[78,69],[77,1],[80,70],[79,1],[82,71],[81,1],[83,1],[86,72],[85,73],[84,1],[87,1],[88,74],[90,75],[89,1],[92,76],[91,1],[148,77]],"exportedModulesMap":[[149,1],[150,2],[65,1],[152,3],[153,1],[154,1],[155,1],[156,1],[157,1],[151,1],[93,4],[94,4],[96,5],[97,6],[98,7],[99,8],[100,9],[101,10],[102,11],[103,12],[104,13],[105,14],[106,14],[108,15],[107,16],[109,15],[110,17],[111,18],[95,19],[145,1],[112,20],[113,21],[114,22],[146,23],[115,24],[116,25],[117,26],[118,27],[119,28],[120,29],[121,30],[122,31],[123,32],[124,33],[125,33],[126,34],[127,35],[129,36],[128,37],[130,38],[131,39],[132,40],[133,41],[134,42],[135,43],[136,44],[137,45],[138,46],[139,47],[140,48],[141,49],[142,50],[143,51],[144,52],[158,1],[159,1],[184,53],[185,54],[160,55],[163,55],[182,53],[183,53],[173,53],[172,56],[170,53],[165,53],[178,53],[176,53],[180,53],[164,53],[177,53],[181,53],[166,53],[167,53],[179,53],[161,53],[168,53],[169,53],[171,53],[175,53],[186,57],[174,53],[162,53],[199,58],[198,1],[193,57],[195,59],[194,57],[187,57],[188,57],[190,57],[192,57],[196,59],[197,59],[189,59],[191,59],[69,60],[68,1],[200,61],[147,62],[201,63],[70,1],[62,1],[63,1],[12,1],[13,1],[17,1],[16,1],[2,1],[18,1],[19,1],[20,1],[21,1],[22,1],[23,1],[24,1],[25,1],[3,1],[4,1],[29,1],[26,1],[27,1],[28,1],[30,1],[31,1],[32,1],[5,1],[33,1],[34,1],[35,1],[36,1],[6,1],[40,1],[37,1],[38,1],[39,1],[41,1],[7,1],[42,1],[47,1],[48,1],[43,1],[44,1],[45,1],[46,1],[8,1],[52,1],[49,1],[50,1],[51,1],[53,1],[9,1],[54,1],[55,1],[56,1],[59,1],[57,1],[58,1],[60,1],[10,1],[1,1],[11,1],[64,1],[61,1],[15,1],[14,1],[71,78],[85,79],[88,80],[148,81]],"semanticDiagnosticsPerFile":[149,150,65,152,153,154,155,156,157,151,93,94,96,97,98,99,100,101,102,103,104,105,106,108,107,109,110,111,95,145,112,113,114,146,115,116,117,118,119,120,121,122,123,124,125,126,127,129,128,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,158,159,184,185,160,163,182,183,173,172,170,165,178,176,180,164,177,181,166,167,179,161,168,169,171,175,186,174,162,199,198,193,195,194,187,188,190,192,196,197,189,191,69,68,200,147,201,70,62,63,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,29,26,27,28,30,31,32,5,33,34,35,36,6,40,37,38,39,41,7,42,47,48,43,44,45,46,8,52,49,50,51,53,9,54,55,56,59,57,58,60,10,1,11,64,61,15,14,67,66,72,71,74,73,76,75,78,77,80,79,82,81,83,86,85,84,87,88,90,89,92,91,148],"latestChangedDtsFile":"./websocketTransport.d.ts"},"version":"5.1.6"}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/lib/iife/mapperTab.js b/node_modules/chromium-bidi/lib/iife/mapperTab.js
index 9cfe230..fd4a26f 100644
--- a/node_modules/chromium-bidi/lib/iife/mapperTab.js
+++ b/node_modules/chromium-bidi/lib/iife/mapperTab.js
@@ -1,4 +1,4 @@
-var mapperTab=function(){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t={},r={},n={},s={},a={},i={},o={};!function(e){var t;Object.defineProperty(e,"__esModule",{value:!0}),e.getParsedType=e.ZodParsedType=e.objectUtil=e.util=void 0,function(e){e.assertEqual=e=>e,e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const r of e)t[r]=r;return t},e.getValidEnumValues=t=>{const r=e.objectKeys(t).filter((e=>"number"!=typeof t[t[e]])),n={};for(const e of r)n[e]=t[e];return e.objectValues(n)},e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]})),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.push(r);return t},e.find=(e,t)=>{for(const r of e)if(t(r))return r},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map((e=>"string"==typeof e?`'${e}'`:e)).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(t=e.util||(e.util={})),(e.objectUtil||(e.objectUtil={})).mergeShapes=(e,t)=>({...e,...t}),e.ZodParsedType=t.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);e.getParsedType=t=>{switch(typeof t){case"undefined":return e.ZodParsedType.undefined;case"string":return e.ZodParsedType.string;case"number":return isNaN(t)?e.ZodParsedType.nan:e.ZodParsedType.number;case"boolean":return e.ZodParsedType.boolean;case"function":return e.ZodParsedType.function;case"bigint":return e.ZodParsedType.bigint;case"symbol":return e.ZodParsedType.symbol;case"object":return Array.isArray(t)?e.ZodParsedType.array:null===t?e.ZodParsedType.null:t.then&&"function"==typeof t.then&&t.catch&&"function"==typeof t.catch?e.ZodParsedType.promise:"undefined"!=typeof Map&&t instanceof Map?e.ZodParsedType.map:"undefined"!=typeof Set&&t instanceof Set?e.ZodParsedType.set:"undefined"!=typeof Date&&t instanceof Date?e.ZodParsedType.date:e.ZodParsedType.object;default:return e.ZodParsedType.unknown}}}(o);var d={};Object.defineProperty(d,"__esModule",{value:!0}),d.ZodError=d.quotelessJson=d.ZodIssueCode=void 0;const c=o;d.ZodIssueCode=c.util.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);d.quotelessJson=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class u extends Error{constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(e){return e.message},r={_errors:[]},n=e=>{for(const s of e.issues)if("invalid_union"===s.code)s.unionErrors.map(n);else if("invalid_return_type"===s.code)n(s.returnTypeError);else if("invalid_arguments"===s.code)n(s.argumentsError);else if(0===s.path.length)r._errors.push(t(s));else{let e=r,n=0;for(;n<s.path.length;){const r=s.path[n];n===s.path.length-1?(e[r]=e[r]||{_errors:[]},e[r]._errors.push(t(s))):e[r]=e[r]||{_errors:[]},e=e[r],n++}}};return n(this),r}toString(){return this.message}get message(){return JSON.stringify(this.issues,c.util.jsonStringifyReplacer,2)}get isEmpty(){return 0===this.issues.length}flatten(e=(e=>e.message)){const t={},r=[];for(const n of this.issues)n.path.length>0?(t[n.path[0]]=t[n.path[0]]||[],t[n.path[0]].push(e(n))):r.push(e(n));return{formErrors:r,fieldErrors:t}}get formErrors(){return this.flatten()}}d.ZodError=u,u.create=e=>new u(e),Object.defineProperty(i,"__esModule",{value:!0});const l=o,p=d;i.default=(e,t)=>{let r;switch(e.code){case p.ZodIssueCode.invalid_type:r=e.received===l.ZodParsedType.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case p.ZodIssueCode.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(e.expected,l.util.jsonStringifyReplacer)}`;break;case p.ZodIssueCode.unrecognized_keys:r=`Unrecognized key(s) in object: ${l.util.joinValues(e.keys,", ")}`;break;case p.ZodIssueCode.invalid_union:r="Invalid input";break;case p.ZodIssueCode.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${l.util.joinValues(e.options)}`;break;case p.ZodIssueCode.invalid_enum_value:r=`Invalid enum value. Expected ${l.util.joinValues(e.options)}, received '${e.received}'`;break;case p.ZodIssueCode.invalid_arguments:r="Invalid function arguments";break;case p.ZodIssueCode.invalid_return_type:r="Invalid function return type";break;case p.ZodIssueCode.invalid_date:r="Invalid date";break;case p.ZodIssueCode.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(r=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(r=`${r} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?r=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?r=`Invalid input: must end with "${e.validation.endsWith}"`:l.util.assertNever(e.validation):r="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case p.ZodIssueCode.too_small:r="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case p.ZodIssueCode.too_big:r="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case p.ZodIssueCode.custom:r="Invalid input";break;case p.ZodIssueCode.invalid_intersection_types:r="Intersection results could not be merged";break;case p.ZodIssueCode.not_multiple_of:r=`Number must be a multiple of ${e.multipleOf}`;break;case p.ZodIssueCode.not_finite:r="Number must be finite";break;default:r=t.defaultError,l.util.assertNever(e)}return{message:r}};var h=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(a,"__esModule",{value:!0}),a.getErrorMap=a.setErrorMap=a.defaultErrorMap=void 0;const m=h(i);a.defaultErrorMap=m.default;let g=m.default;a.setErrorMap=function(e){g=e},a.getErrorMap=function(){return g};var f={};!function(t){var r=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.isAsync=t.isValid=t.isDirty=t.isAborted=t.OK=t.DIRTY=t.INVALID=t.ParseStatus=t.addIssueToContext=t.EMPTY_PATH=t.makeIssue=void 0;const n=a,s=r(i);t.makeIssue=e=>{const{data:t,path:r,errorMaps:n,issueData:s}=e,a=[...r,...s.path||[]],i={...s,path:a};let o="";const d=n.filter((e=>!!e)).slice().reverse();for(const e of d)o=e(i,{data:t,defaultError:o}).message;return{...s,path:a,message:s.message||o}},t.EMPTY_PATH=[],t.addIssueToContext=function(e,r){const a=(0,t.makeIssue)({issueData:r,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,(0,n.getErrorMap)(),s.default].filter((e=>!!e))});e.common.issues.push(a)};class o{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,r){const n=[];for(const s of r){if("aborted"===s.status)return t.INVALID;"dirty"===s.status&&e.dirty(),n.push(s.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const r=[];for(const e of t)r.push({key:await e.key,value:await e.value});return o.mergeObjectSync(e,r)}static mergeObjectSync(e,r){const n={};for(const s of r){const{key:r,value:a}=s;if("aborted"===r.status)return t.INVALID;if("aborted"===a.status)return t.INVALID;"dirty"===r.status&&e.dirty(),"dirty"===a.status&&e.dirty(),(void 0!==a.value||s.alwaysSet)&&(n[r.value]=a.value)}return{status:e.value,value:n}}}t.ParseStatus=o,t.INVALID=Object.freeze({status:"aborted"});t.DIRTY=e=>({status:"dirty",value:e});t.OK=e=>({status:"valid",value:e});t.isAborted=e=>"aborted"===e.status;t.isDirty=e=>"dirty"===e.status;t.isValid=e=>"valid"===e.status;t.isAsync=e=>"undefined"!=typeof Promise&&e instanceof Promise}(f);var v={};Object.defineProperty(v,"__esModule",{value:!0});var y,x={},w={};y=w,Object.defineProperty(y,"__esModule",{value:!0}),y.errorUtil=void 0,function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:null==e?void 0:e.message}(y.errorUtil||(y.errorUtil={})),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.discriminatedUnion=e.date=e.boolean=e.bigint=e.array=e.any=e.coerce=e.ZodFirstPartyTypeKind=e.late=e.ZodSchema=e.Schema=e.custom=e.ZodPipeline=e.ZodBranded=e.BRAND=e.ZodNaN=e.ZodCatch=e.ZodDefault=e.ZodNullable=e.ZodOptional=e.ZodTransformer=e.ZodEffects=e.ZodPromise=e.ZodNativeEnum=e.ZodEnum=e.ZodLiteral=e.ZodLazy=e.ZodFunction=e.ZodSet=e.ZodMap=e.ZodRecord=e.ZodTuple=e.ZodIntersection=e.ZodDiscriminatedUnion=e.ZodUnion=e.ZodObject=e.ZodArray=e.ZodVoid=e.ZodNever=e.ZodUnknown=e.ZodAny=e.ZodNull=e.ZodUndefined=e.ZodSymbol=e.ZodDate=e.ZodBoolean=e.ZodBigInt=e.ZodNumber=e.ZodString=e.ZodType=void 0,e.NEVER=e.void=e.unknown=e.union=e.undefined=e.tuple=e.transformer=e.symbol=e.string=e.strictObject=e.set=e.record=e.promise=e.preprocess=e.pipeline=e.ostring=e.optional=e.onumber=e.oboolean=e.object=e.number=e.nullable=e.null=e.never=e.nativeEnum=e.nan=e.map=e.literal=e.lazy=e.intersection=e.instanceof=e.function=e.enum=e.effect=void 0;const t=a,r=w,n=f,s=o,i=d;class c{constructor(e,t,r,n){this._cachedPath=[],this.parent=e,this.data=t,this._path=r,this._key=n}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const u=(e,t)=>{if((0,n.isValid)(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new i.ZodError(e.common.issues);return this._error=t,this._error}}};function l(e){if(!e)return{};const{errorMap:t,invalid_type_error:r,required_error:n,description:s}=e;if(t&&(r||n))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:s};return{errorMap:(e,t)=>"invalid_type"!==e.code?{message:t.defaultError}:void 0===t.data?{message:null!=n?n:t.defaultError}:{message:null!=r?r:t.defaultError},description:s}}class p{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return(0,s.getParsedType)(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:(0,s.getParsedType)(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new n.ParseStatus,ctx:{common:e.parent.common,data:e.data,parsedType:(0,s.getParsedType)(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if((0,n.isAsync)(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const r=this.safeParse(e,t);if(r.success)return r.data;throw r.error}safeParse(e,t){var r;const n={common:{issues:[],async:null!==(r=null==t?void 0:t.async)&&void 0!==r&&r,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,s.getParsedType)(e)},a=this._parseSync({data:e,path:n.path,parent:n});return u(n,a)}async parseAsync(e,t){const r=await this.safeParseAsync(e,t);if(r.success)return r.data;throw r.error}async safeParseAsync(e,t){const r={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,s.getParsedType)(e)},a=this._parse({data:e,path:r.path,parent:r}),i=await((0,n.isAsync)(a)?a:Promise.resolve(a));return u(r,i)}refine(e,t){const r=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement(((t,n)=>{const s=e(t),a=()=>n.addIssue({code:i.ZodIssueCode.custom,...r(t)});return"undefined"!=typeof Promise&&s instanceof Promise?s.then((e=>!!e||(a(),!1))):!!s||(a(),!1)}))}refinement(e,t){return this._refinement(((r,n)=>!!e(r)||(n.addIssue("function"==typeof t?t(r,n):t),!1)))}_refinement(e){return new te({schema:this,typeName:ce.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return re.create(this,this._def)}nullable(){return ne.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return z.create(this,this._def)}promise(){return ee.create(this,this._def)}or(e){return L.create([this,e],this._def)}and(e){return U.create(this,e,this._def)}transform(e){return new te({...l(this._def),schema:this,typeName:ce.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new se({...l(this._def),innerType:this,defaultValue:t,typeName:ce.ZodDefault})}brand(){return new oe({typeName:ce.ZodBranded,type:this,...l(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new ae({...l(this._def),innerType:this,catchValue:t,typeName:ce.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return de.create(this,e)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}e.ZodType=p,e.Schema=p,e.ZodSchema=p;const h=/^c[^\s-]{8,}$/i,m=/^[a-z][a-z0-9]*$/,g=/[0-9A-HJKMNP-TV-Z]{26}/,v=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,y=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,x=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,b=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,C=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;class I extends p{constructor(){super(...arguments),this._regex=(e,t,n)=>this.refinement((t=>e.test(t)),{validation:t,code:i.ZodIssueCode.invalid_string,...r.errorUtil.errToObj(n)}),this.nonempty=e=>this.min(1,r.errorUtil.errToObj(e)),this.trim=()=>new I({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new I({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new I({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==s.ZodParsedType.string){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.string,received:t.parsedType}),n.INVALID}const t=new n.ParseStatus;let r;for(const c of this._def.checks)if("min"===c.kind)e.data.length<c.value&&(r=this._getOrReturnCtx(e,r),(0,n.addIssueToContext)(r,{code:i.ZodIssueCode.too_small,minimum:c.value,type:"string",inclusive:!0,exact:!1,message:c.message}),t.dirty());else if("max"===c.kind)e.data.length>c.value&&(r=this._getOrReturnCtx(e,r),(0,n.addIssueToContext)(r,{code:i.ZodIssueCode.too_big,maximum:c.value,type:"string",inclusive:!0,exact:!1,message:c.message}),t.dirty());else if("length"===c.kind){const s=e.data.length>c.value,a=e.data.length<c.value;(s||a)&&(r=this._getOrReturnCtx(e,r),s?(0,n.addIssueToContext)(r,{code:i.ZodIssueCode.too_big,maximum:c.value,type:"string",inclusive:!0,exact:!0,message:c.message}):a&&(0,n.addIssueToContext)(r,{code:i.ZodIssueCode.too_small,minimum:c.value,type:"string",inclusive:!0,exact:!0,message:c.message}),t.dirty())}else if("email"===c.kind)y.test(e.data)||(r=this._getOrReturnCtx(e,r),(0,n.addIssueToContext)(r,{validation:"email",code:i.ZodIssueCode.invalid_string,message:c.message}),t.dirty());else if("emoji"===c.kind)x.test(e.data)||(r=this._getOrReturnCtx(e,r),(0,n.addIssueToContext)(r,{validation:"emoji",code:i.ZodIssueCode.invalid_string,message:c.message}),t.dirty());else if("uuid"===c.kind)v.test(e.data)||(r=this._getOrReturnCtx(e,r),(0,n.addIssueToContext)(r,{validation:"uuid",code:i.ZodIssueCode.invalid_string,message:c.message}),t.dirty());else if("cuid"===c.kind)h.test(e.data)||(r=this._getOrReturnCtx(e,r),(0,n.addIssueToContext)(r,{validation:"cuid",code:i.ZodIssueCode.invalid_string,message:c.message}),t.dirty());else if("cuid2"===c.kind)m.test(e.data)||(r=this._getOrReturnCtx(e,r),(0,n.addIssueToContext)(r,{validation:"cuid2",code:i.ZodIssueCode.invalid_string,message:c.message}),t.dirty());else if("ulid"===c.kind)g.test(e.data)||(r=this._getOrReturnCtx(e,r),(0,n.addIssueToContext)(r,{validation:"ulid",code:i.ZodIssueCode.invalid_string,message:c.message}),t.dirty());else if("url"===c.kind)try{new URL(e.data)}catch(s){r=this._getOrReturnCtx(e,r),(0,n.addIssueToContext)(r,{validation:"url",code:i.ZodIssueCode.invalid_string,message:c.message}),t.dirty()}else if("regex"===c.kind){c.regex.lastIndex=0;c.regex.test(e.data)||(r=this._getOrReturnCtx(e,r),(0,n.addIssueToContext)(r,{validation:"regex",code:i.ZodIssueCode.invalid_string,message:c.message}),t.dirty())}else if("trim"===c.kind)e.data=e.data.trim();else if("includes"===c.kind)e.data.includes(c.value,c.position)||(r=this._getOrReturnCtx(e,r),(0,n.addIssueToContext)(r,{code:i.ZodIssueCode.invalid_string,validation:{includes:c.value,position:c.position},message:c.message}),t.dirty());else if("toLowerCase"===c.kind)e.data=e.data.toLowerCase();else if("toUpperCase"===c.kind)e.data=e.data.toUpperCase();else if("startsWith"===c.kind)e.data.startsWith(c.value)||(r=this._getOrReturnCtx(e,r),(0,n.addIssueToContext)(r,{code:i.ZodIssueCode.invalid_string,validation:{startsWith:c.value},message:c.message}),t.dirty());else if("endsWith"===c.kind)e.data.endsWith(c.value)||(r=this._getOrReturnCtx(e,r),(0,n.addIssueToContext)(r,{code:i.ZodIssueCode.invalid_string,validation:{endsWith:c.value},message:c.message}),t.dirty());else if("datetime"===c.kind){((d=c).precision?d.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${d.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${d.precision}}Z$`):0===d.precision?d.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):d.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$")).test(e.data)||(r=this._getOrReturnCtx(e,r),(0,n.addIssueToContext)(r,{code:i.ZodIssueCode.invalid_string,validation:"datetime",message:c.message}),t.dirty())}else"ip"===c.kind?(a=e.data,("v4"!==(o=c.version)&&o||!b.test(a))&&("v6"!==o&&o||!C.test(a))&&(r=this._getOrReturnCtx(e,r),(0,n.addIssueToContext)(r,{validation:"ip",code:i.ZodIssueCode.invalid_string,message:c.message}),t.dirty())):s.util.assertNever(c);var a,o,d;return{status:t.value,value:e.data}}_addCheck(e){return new I({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...r.errorUtil.errToObj(e)})}url(e){return this._addCheck({kind:"url",...r.errorUtil.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...r.errorUtil.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...r.errorUtil.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...r.errorUtil.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...r.errorUtil.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...r.errorUtil.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...r.errorUtil.errToObj(e)})}datetime(e){var t;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!==(t=null==e?void 0:e.offset)&&void 0!==t&&t,...r.errorUtil.errToObj(null==e?void 0:e.message)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...r.errorUtil.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null==t?void 0:t.position,...r.errorUtil.errToObj(null==t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...r.errorUtil.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...r.errorUtil.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...r.errorUtil.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...r.errorUtil.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...r.errorUtil.errToObj(t)})}get isDatetime(){return!!this._def.checks.find((e=>"datetime"===e.kind))}get isEmail(){return!!this._def.checks.find((e=>"email"===e.kind))}get isURL(){return!!this._def.checks.find((e=>"url"===e.kind))}get isEmoji(){return!!this._def.checks.find((e=>"emoji"===e.kind))}get isUUID(){return!!this._def.checks.find((e=>"uuid"===e.kind))}get isCUID(){return!!this._def.checks.find((e=>"cuid"===e.kind))}get isCUID2(){return!!this._def.checks.find((e=>"cuid2"===e.kind))}get isULID(){return!!this._def.checks.find((e=>"ulid"===e.kind))}get isIP(){return!!this._def.checks.find((e=>"ip"===e.kind))}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}function _(e,t){const r=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,s=r>n?r:n;return parseInt(e.toFixed(s).replace(".",""))%parseInt(t.toFixed(s).replace(".",""))/Math.pow(10,s)}e.ZodString=I,I.create=e=>{var t;return new I({checks:[],typeName:ce.ZodString,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...l(e)})};class S extends p{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==s.ZodParsedType.number){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.number,received:t.parsedType}),n.INVALID}let t;const r=new n.ParseStatus;for(const a of this._def.checks)if("int"===a.kind)s.util.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_type,expected:"integer",received:"float",message:a.message}),r.dirty());else if("min"===a.kind){(a.inclusive?e.data<a.value:e.data<=a.value)&&(t=this._getOrReturnCtx(e,t),(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.too_small,minimum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),r.dirty())}else if("max"===a.kind){(a.inclusive?e.data>a.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.too_big,maximum:a.value,type:"number",inclusive:a.inclusive,exact:!1,message:a.message}),r.dirty())}else"multipleOf"===a.kind?0!==_(e.data,a.value)&&(t=this._getOrReturnCtx(e,t),(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.not_multiple_of,multipleOf:a.value,message:a.message}),r.dirty()):"finite"===a.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.not_finite,message:a.message}),r.dirty()):s.util.assertNever(a);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,r.errorUtil.toString(t))}gt(e,t){return this.setLimit("min",e,!1,r.errorUtil.toString(t))}lte(e,t){return this.setLimit("max",e,!0,r.errorUtil.toString(t))}lt(e,t){return this.setLimit("max",e,!1,r.errorUtil.toString(t))}setLimit(e,t,n,s){return new S({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:r.errorUtil.toString(s)}]})}_addCheck(e){return new S({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:r.errorUtil.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:r.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:r.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:r.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:r.errorUtil.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:r.errorUtil.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:r.errorUtil.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:r.errorUtil.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:r.errorUtil.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find((e=>"int"===e.kind||"multipleOf"===e.kind&&s.util.isInteger(e.value)))}get isFinite(){let e=null,t=null;for(const r of this._def.checks){if("finite"===r.kind||"int"===r.kind||"multipleOf"===r.kind)return!0;"min"===r.kind?(null===t||r.value>t)&&(t=r.value):"max"===r.kind&&(null===e||r.value<e)&&(e=r.value)}return Number.isFinite(t)&&Number.isFinite(e)}}e.ZodNumber=S,S.create=e=>new S({checks:[],typeName:ce.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...l(e)});class T extends p{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){this._def.coerce&&(e.data=BigInt(e.data));if(this._getType(e)!==s.ZodParsedType.bigint){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.bigint,received:t.parsedType}),n.INVALID}let t;const r=new n.ParseStatus;for(const a of this._def.checks)if("min"===a.kind){(a.inclusive?e.data<a.value:e.data<=a.value)&&(t=this._getOrReturnCtx(e,t),(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.too_small,type:"bigint",minimum:a.value,inclusive:a.inclusive,message:a.message}),r.dirty())}else if("max"===a.kind){(a.inclusive?e.data>a.value:e.data>=a.value)&&(t=this._getOrReturnCtx(e,t),(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.too_big,type:"bigint",maximum:a.value,inclusive:a.inclusive,message:a.message}),r.dirty())}else"multipleOf"===a.kind?e.data%a.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.not_multiple_of,multipleOf:a.value,message:a.message}),r.dirty()):s.util.assertNever(a);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,r.errorUtil.toString(t))}gt(e,t){return this.setLimit("min",e,!1,r.errorUtil.toString(t))}lte(e,t){return this.setLimit("max",e,!0,r.errorUtil.toString(t))}lt(e,t){return this.setLimit("max",e,!1,r.errorUtil.toString(t))}setLimit(e,t,n,s){return new T({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:r.errorUtil.toString(s)}]})}_addCheck(e){return new T({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:r.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:r.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:r.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:r.errorUtil.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:r.errorUtil.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}e.ZodBigInt=T,T.create=e=>{var t;return new T({checks:[],typeName:ce.ZodBigInt,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...l(e)})};class P extends p{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==s.ZodParsedType.boolean){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.boolean,received:t.parsedType}),n.INVALID}return(0,n.OK)(e.data)}}e.ZodBoolean=P,P.create=e=>new P({typeName:ce.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...l(e)});class E extends p{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==s.ZodParsedType.date){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.date,received:t.parsedType}),n.INVALID}if(isNaN(e.data.getTime())){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_date}),n.INVALID}const t=new n.ParseStatus;let r;for(const a of this._def.checks)"min"===a.kind?e.data.getTime()<a.value&&(r=this._getOrReturnCtx(e,r),(0,n.addIssueToContext)(r,{code:i.ZodIssueCode.too_small,message:a.message,inclusive:!0,exact:!1,minimum:a.value,type:"date"}),t.dirty()):"max"===a.kind?e.data.getTime()>a.value&&(r=this._getOrReturnCtx(e,r),(0,n.addIssueToContext)(r,{code:i.ZodIssueCode.too_big,message:a.message,inclusive:!0,exact:!1,maximum:a.value,type:"date"}),t.dirty()):s.util.assertNever(a);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new E({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:r.errorUtil.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:r.errorUtil.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return null!=e?new Date(e):null}}e.ZodDate=E,E.create=e=>new E({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:ce.ZodDate,...l(e)});class k extends p{_parse(e){if(this._getType(e)!==s.ZodParsedType.symbol){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.symbol,received:t.parsedType}),n.INVALID}return(0,n.OK)(e.data)}}e.ZodSymbol=k,k.create=e=>new k({typeName:ce.ZodSymbol,...l(e)});class N extends p{_parse(e){if(this._getType(e)!==s.ZodParsedType.undefined){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.undefined,received:t.parsedType}),n.INVALID}return(0,n.OK)(e.data)}}e.ZodUndefined=N,N.create=e=>new N({typeName:ce.ZodUndefined,...l(e)});class M extends p{_parse(e){if(this._getType(e)!==s.ZodParsedType.null){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.null,received:t.parsedType}),n.INVALID}return(0,n.OK)(e.data)}}e.ZodNull=M,M.create=e=>new M({typeName:ce.ZodNull,...l(e)});class O extends p{constructor(){super(...arguments),this._any=!0}_parse(e){return(0,n.OK)(e.data)}}e.ZodAny=O,O.create=e=>new O({typeName:ce.ZodAny,...l(e)});class D extends p{constructor(){super(...arguments),this._unknown=!0}_parse(e){return(0,n.OK)(e.data)}}e.ZodUnknown=D,D.create=e=>new D({typeName:ce.ZodUnknown,...l(e)});class Z extends p{_parse(e){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.never,received:t.parsedType}),n.INVALID}}e.ZodNever=Z,Z.create=e=>new Z({typeName:ce.ZodNever,...l(e)});class R extends p{_parse(e){if(this._getType(e)!==s.ZodParsedType.undefined){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.void,received:t.parsedType}),n.INVALID}return(0,n.OK)(e.data)}}e.ZodVoid=R,R.create=e=>new R({typeName:ce.ZodVoid,...l(e)});class z extends p{_parse(e){const{ctx:t,status:r}=this._processInputParams(e),a=this._def;if(t.parsedType!==s.ZodParsedType.array)return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.array,received:t.parsedType}),n.INVALID;if(null!==a.exactLength){const e=t.data.length>a.exactLength.value,s=t.data.length<a.exactLength.value;(e||s)&&((0,n.addIssueToContext)(t,{code:e?i.ZodIssueCode.too_big:i.ZodIssueCode.too_small,minimum:s?a.exactLength.value:void 0,maximum:e?a.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:a.exactLength.message}),r.dirty())}if(null!==a.minLength&&t.data.length<a.minLength.value&&((0,n.addIssueToContext)(t,{code:i.ZodIssueCode.too_small,minimum:a.minLength.value,type:"array",inclusive:!0,exact:!1,message:a.minLength.message}),r.dirty()),null!==a.maxLength&&t.data.length>a.maxLength.value&&((0,n.addIssueToContext)(t,{code:i.ZodIssueCode.too_big,maximum:a.maxLength.value,type:"array",inclusive:!0,exact:!1,message:a.maxLength.message}),r.dirty()),t.common.async)return Promise.all([...t.data].map(((e,r)=>a.type._parseAsync(new c(t,e,t.path,r))))).then((e=>n.ParseStatus.mergeArray(r,e)));const o=[...t.data].map(((e,r)=>a.type._parseSync(new c(t,e,t.path,r))));return n.ParseStatus.mergeArray(r,o)}get element(){return this._def.type}min(e,t){return new z({...this._def,minLength:{value:e,message:r.errorUtil.toString(t)}})}max(e,t){return new z({...this._def,maxLength:{value:e,message:r.errorUtil.toString(t)}})}length(e,t){return new z({...this._def,exactLength:{value:e,message:r.errorUtil.toString(t)}})}nonempty(e){return this.min(1,e)}}function A(e){if(e instanceof j){const t={};for(const r in e.shape){const n=e.shape[r];t[r]=re.create(A(n))}return new j({...e._def,shape:()=>t})}return e instanceof z?new z({...e._def,type:A(e.element)}):e instanceof re?re.create(A(e.unwrap())):e instanceof ne?ne.create(A(e.unwrap())):e instanceof V?V.create(e.items.map((e=>A(e)))):e}e.ZodArray=z,z.create=(e,t)=>new z({type:e,minLength:null,maxLength:null,exactLength:null,typeName:ce.ZodArray,...l(t)});class j extends p{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=s.util.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==s.ZodParsedType.object){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.object,received:t.parsedType}),n.INVALID}const{status:t,ctx:r}=this._processInputParams(e),{shape:a,keys:o}=this._getCached(),d=[];if(!(this._def.catchall instanceof Z&&"strip"===this._def.unknownKeys))for(const e in r.data)o.includes(e)||d.push(e);const u=[];for(const e of o){const t=a[e],n=r.data[e];u.push({key:{status:"valid",value:e},value:t._parse(new c(r,n,r.path,e)),alwaysSet:e in r.data})}if(this._def.catchall instanceof Z){const e=this._def.unknownKeys;if("passthrough"===e)for(const e of d)u.push({key:{status:"valid",value:e},value:{status:"valid",value:r.data[e]}});else if("strict"===e)d.length>0&&((0,n.addIssueToContext)(r,{code:i.ZodIssueCode.unrecognized_keys,keys:d}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of d){const n=r.data[t];u.push({key:{status:"valid",value:t},value:e._parse(new c(r,n,r.path,t)),alwaysSet:t in r.data})}}return r.common.async?Promise.resolve().then((async()=>{const e=[];for(const t of u){const r=await t.key;e.push({key:r,value:await t.value,alwaysSet:t.alwaysSet})}return e})).then((e=>n.ParseStatus.mergeObjectSync(t,e))):n.ParseStatus.mergeObjectSync(t,u)}get shape(){return this._def.shape()}strict(e){return r.errorUtil.errToObj,new j({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,n)=>{var s,a,i,o;const d=null!==(i=null===(a=(s=this._def).errorMap)||void 0===a?void 0:a.call(s,t,n).message)&&void 0!==i?i:n.defaultError;return"unrecognized_keys"===t.code?{message:null!==(o=r.errorUtil.errToObj(e).message)&&void 0!==o?o:d}:{message:d}}}:{}})}strip(){return new j({...this._def,unknownKeys:"strip"})}passthrough(){return new j({...this._def,unknownKeys:"passthrough"})}extend(e){return new j({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new j({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:ce.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new j({...this._def,catchall:e})}pick(e){const t={};return s.util.objectKeys(e).forEach((r=>{e[r]&&this.shape[r]&&(t[r]=this.shape[r])})),new j({...this._def,shape:()=>t})}omit(e){const t={};return s.util.objectKeys(this.shape).forEach((r=>{e[r]||(t[r]=this.shape[r])})),new j({...this._def,shape:()=>t})}deepPartial(){return A(this)}partial(e){const t={};return s.util.objectKeys(this.shape).forEach((r=>{const n=this.shape[r];e&&!e[r]?t[r]=n:t[r]=n.optional()})),new j({...this._def,shape:()=>t})}required(e){const t={};return s.util.objectKeys(this.shape).forEach((r=>{if(e&&!e[r])t[r]=this.shape[r];else{let e=this.shape[r];for(;e instanceof re;)e=e._def.innerType;t[r]=e}})),new j({...this._def,shape:()=>t})}keyof(){return X(s.util.objectKeys(this.shape))}}e.ZodObject=j,j.create=(e,t)=>new j({shape:()=>e,unknownKeys:"strip",catchall:Z.create(),typeName:ce.ZodObject,...l(t)}),j.strictCreate=(e,t)=>new j({shape:()=>e,unknownKeys:"strict",catchall:Z.create(),typeName:ce.ZodObject,...l(t)}),j.lazycreate=(e,t)=>new j({shape:e,unknownKeys:"strip",catchall:Z.create(),typeName:ce.ZodObject,...l(t)});class L extends p{_parse(e){const{ctx:t}=this._processInputParams(e),r=this._def.options;if(t.common.async)return Promise.all(r.map((async e=>{const r={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:r}),ctx:r}}))).then((function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const r of e)if("dirty"===r.result.status)return t.common.issues.push(...r.ctx.common.issues),r.result;const r=e.map((e=>new i.ZodError(e.ctx.common.issues)));return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_union,unionErrors:r}),n.INVALID}));{let e;const s=[];for(const n of r){const r={...t,common:{...t.common,issues:[]},parent:null},a=n._parseSync({data:t.data,path:t.path,parent:r});if("valid"===a.status)return a;"dirty"!==a.status||e||(e={result:a,ctx:r}),r.common.issues.length&&s.push(r.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const a=s.map((e=>new i.ZodError(e)));return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_union,unionErrors:a}),n.INVALID}}get options(){return this._def.options}}e.ZodUnion=L,L.create=(e,t)=>new L({options:e,typeName:ce.ZodUnion,...l(t)});const B=e=>e instanceof J?B(e.schema):e instanceof te?B(e.innerType()):e instanceof G?[e.value]:e instanceof Y?e.options:e instanceof Q?Object.keys(e.enum):e instanceof se?B(e._def.innerType):e instanceof N?[void 0]:e instanceof M?[null]:null;class K extends p{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==s.ZodParsedType.object)return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.object,received:t.parsedType}),n.INVALID;const r=this.discriminator,a=t.data[r],o=this.optionsMap.get(a);return o?t.common.async?o._parseAsync({data:t.data,path:t.path,parent:t}):o._parseSync({data:t.data,path:t.path,parent:t}):((0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),n.INVALID)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,r){const n=new Map;for(const r of t){const t=B(r.shape[e]);if(!t)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const s of t){if(n.has(s))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(s)}`);n.set(s,r)}}return new K({typeName:ce.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:n,...l(r)})}}function F(e,t){const r=(0,s.getParsedType)(e),n=(0,s.getParsedType)(t);if(e===t)return{valid:!0,data:e};if(r===s.ZodParsedType.object&&n===s.ZodParsedType.object){const r=s.util.objectKeys(t),n=s.util.objectKeys(e).filter((e=>-1!==r.indexOf(e))),a={...e,...t};for(const r of n){const n=F(e[r],t[r]);if(!n.valid)return{valid:!1};a[r]=n.data}return{valid:!0,data:a}}if(r===s.ZodParsedType.array&&n===s.ZodParsedType.array){if(e.length!==t.length)return{valid:!1};const r=[];for(let n=0;n<e.length;n++){const s=F(e[n],t[n]);if(!s.valid)return{valid:!1};r.push(s.data)}return{valid:!0,data:r}}return r===s.ZodParsedType.date&&n===s.ZodParsedType.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}e.ZodDiscriminatedUnion=K;class U extends p{_parse(e){const{status:t,ctx:r}=this._processInputParams(e),s=(e,s)=>{if((0,n.isAborted)(e)||(0,n.isAborted)(s))return n.INVALID;const a=F(e.value,s.value);return a.valid?(((0,n.isDirty)(e)||(0,n.isDirty)(s))&&t.dirty(),{status:t.value,value:a.data}):((0,n.addIssueToContext)(r,{code:i.ZodIssueCode.invalid_intersection_types}),n.INVALID)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then((([e,t])=>s(e,t))):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}}e.ZodIntersection=U,U.create=(e,t,r)=>new U({left:e,right:t,typeName:ce.ZodIntersection,...l(r)});class V extends p{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==s.ZodParsedType.array)return(0,n.addIssueToContext)(r,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.array,received:r.parsedType}),n.INVALID;if(r.data.length<this._def.items.length)return(0,n.addIssueToContext)(r,{code:i.ZodIssueCode.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.INVALID;!this._def.rest&&r.data.length>this._def.items.length&&((0,n.addIssueToContext)(r,{code:i.ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const a=[...r.data].map(((e,t)=>{const n=this._def.items[t]||this._def.rest;return n?n._parse(new c(r,e,r.path,t)):null})).filter((e=>!!e));return r.common.async?Promise.all(a).then((e=>n.ParseStatus.mergeArray(t,e))):n.ParseStatus.mergeArray(t,a)}get items(){return this._def.items}rest(e){return new V({...this._def,rest:e})}}e.ZodTuple=V,V.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new V({items:e,typeName:ce.ZodTuple,rest:null,...l(t)})};class $ extends p{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==s.ZodParsedType.object)return(0,n.addIssueToContext)(r,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.object,received:r.parsedType}),n.INVALID;const a=[],o=this._def.keyType,d=this._def.valueType;for(const e in r.data)a.push({key:o._parse(new c(r,e,r.path,e)),value:d._parse(new c(r,r.data[e],r.path,e))});return r.common.async?n.ParseStatus.mergeObjectAsync(t,a):n.ParseStatus.mergeObjectSync(t,a)}get element(){return this._def.valueType}static create(e,t,r){return new $(t instanceof p?{keyType:e,valueType:t,typeName:ce.ZodRecord,...l(r)}:{keyType:I.create(),valueType:e,typeName:ce.ZodRecord,...l(t)})}}e.ZodRecord=$;class q extends p{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==s.ZodParsedType.map)return(0,n.addIssueToContext)(r,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.map,received:r.parsedType}),n.INVALID;const a=this._def.keyType,o=this._def.valueType,d=[...r.data.entries()].map((([e,t],n)=>({key:a._parse(new c(r,e,r.path,[n,"key"])),value:o._parse(new c(r,t,r.path,[n,"value"]))})));if(r.common.async){const e=new Map;return Promise.resolve().then((async()=>{for(const r of d){const s=await r.key,a=await r.value;if("aborted"===s.status||"aborted"===a.status)return n.INVALID;"dirty"!==s.status&&"dirty"!==a.status||t.dirty(),e.set(s.value,a.value)}return{status:t.value,value:e}}))}{const e=new Map;for(const r of d){const s=r.key,a=r.value;if("aborted"===s.status||"aborted"===a.status)return n.INVALID;"dirty"!==s.status&&"dirty"!==a.status||t.dirty(),e.set(s.value,a.value)}return{status:t.value,value:e}}}}e.ZodMap=q,q.create=(e,t,r)=>new q({valueType:t,keyType:e,typeName:ce.ZodMap,...l(r)});class W extends p{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.parsedType!==s.ZodParsedType.set)return(0,n.addIssueToContext)(r,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.set,received:r.parsedType}),n.INVALID;const a=this._def;null!==a.minSize&&r.data.size<a.minSize.value&&((0,n.addIssueToContext)(r,{code:i.ZodIssueCode.too_small,minimum:a.minSize.value,type:"set",inclusive:!0,exact:!1,message:a.minSize.message}),t.dirty()),null!==a.maxSize&&r.data.size>a.maxSize.value&&((0,n.addIssueToContext)(r,{code:i.ZodIssueCode.too_big,maximum:a.maxSize.value,type:"set",inclusive:!0,exact:!1,message:a.maxSize.message}),t.dirty());const o=this._def.valueType;function d(e){const r=new Set;for(const s of e){if("aborted"===s.status)return n.INVALID;"dirty"===s.status&&t.dirty(),r.add(s.value)}return{status:t.value,value:r}}const u=[...r.data.values()].map(((e,t)=>o._parse(new c(r,e,r.path,t))));return r.common.async?Promise.all(u).then((e=>d(e))):d(u)}min(e,t){return new W({...this._def,minSize:{value:e,message:r.errorUtil.toString(t)}})}max(e,t){return new W({...this._def,maxSize:{value:e,message:r.errorUtil.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}e.ZodSet=W,W.create=(e,t)=>new W({valueType:e,minSize:null,maxSize:null,typeName:ce.ZodSet,...l(t)});class H extends p{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:r}=this._processInputParams(e);if(r.parsedType!==s.ZodParsedType.function)return(0,n.addIssueToContext)(r,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.function,received:r.parsedType}),n.INVALID;function a(e,s){return(0,n.makeIssue)({data:e,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,(0,t.getErrorMap)(),t.defaultErrorMap].filter((e=>!!e)),issueData:{code:i.ZodIssueCode.invalid_arguments,argumentsError:s}})}function o(e,s){return(0,n.makeIssue)({data:e,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,(0,t.getErrorMap)(),t.defaultErrorMap].filter((e=>!!e)),issueData:{code:i.ZodIssueCode.invalid_return_type,returnTypeError:s}})}const d={errorMap:r.common.contextualErrorMap},c=r.data;return this._def.returns instanceof ee?(0,n.OK)((async(...e)=>{const t=new i.ZodError([]),r=await this._def.args.parseAsync(e,d).catch((r=>{throw t.addIssue(a(e,r)),t})),n=await c(...r);return await this._def.returns._def.type.parseAsync(n,d).catch((e=>{throw t.addIssue(o(n,e)),t}))})):(0,n.OK)(((...e)=>{const t=this._def.args.safeParse(e,d);if(!t.success)throw new i.ZodError([a(e,t.error)]);const r=c(...t.data),n=this._def.returns.safeParse(r,d);if(!n.success)throw new i.ZodError([o(r,n.error)]);return n.data}))}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new H({...this._def,args:V.create(e).rest(D.create())})}returns(e){return new H({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,r){return new H({args:e||V.create([]).rest(D.create()),returns:t||D.create(),typeName:ce.ZodFunction,...l(r)})}}e.ZodFunction=H;class J extends p{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}e.ZodLazy=J,J.create=(e,t)=>new J({getter:e,typeName:ce.ZodLazy,...l(t)});class G extends p{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{received:t.data,code:i.ZodIssueCode.invalid_literal,expected:this._def.value}),n.INVALID}return{status:"valid",value:e.data}}get value(){return this._def.value}}function X(e,t){return new Y({values:e,typeName:ce.ZodEnum,...l(t)})}e.ZodLiteral=G,G.create=(e,t)=>new G({value:e,typeName:ce.ZodLiteral,...l(t)});class Y extends p{_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),r=this._def.values;return(0,n.addIssueToContext)(t,{expected:s.util.joinValues(r),received:t.parsedType,code:i.ZodIssueCode.invalid_type}),n.INVALID}if(-1===this._def.values.indexOf(e.data)){const t=this._getOrReturnCtx(e),r=this._def.values;return(0,n.addIssueToContext)(t,{received:t.data,code:i.ZodIssueCode.invalid_enum_value,options:r}),n.INVALID}return(0,n.OK)(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e){return Y.create(e)}exclude(e){return Y.create(this.options.filter((t=>!e.includes(t))))}}e.ZodEnum=Y,Y.create=X;class Q extends p{_parse(e){const t=s.util.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==s.ZodParsedType.string&&r.parsedType!==s.ZodParsedType.number){const e=s.util.objectValues(t);return(0,n.addIssueToContext)(r,{expected:s.util.joinValues(e),received:r.parsedType,code:i.ZodIssueCode.invalid_type}),n.INVALID}if(-1===t.indexOf(e.data)){const e=s.util.objectValues(t);return(0,n.addIssueToContext)(r,{received:r.data,code:i.ZodIssueCode.invalid_enum_value,options:e}),n.INVALID}return(0,n.OK)(e.data)}get enum(){return this._def.values}}e.ZodNativeEnum=Q,Q.create=(e,t)=>new Q({values:e,typeName:ce.ZodNativeEnum,...l(t)});class ee extends p{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==s.ZodParsedType.promise&&!1===t.common.async)return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.promise,received:t.parsedType}),n.INVALID;const r=t.parsedType===s.ZodParsedType.promise?t.data:Promise.resolve(t.data);return(0,n.OK)(r.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}e.ZodPromise=ee,ee.create=(e,t)=>new ee({type:e,typeName:ce.ZodPromise,...l(t)});class te extends p{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ce.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:r}=this._processInputParams(e),a=this._def.effect||null;if("preprocess"===a.type){const e=a.transform(r.data);return r.common.async?Promise.resolve(e).then((e=>this._def.schema._parseAsync({data:e,path:r.path,parent:r}))):this._def.schema._parseSync({data:e,path:r.path,parent:r})}const i={addIssue:e=>{(0,n.addIssueToContext)(r,e),e.fatal?t.abort():t.dirty()},get path(){return r.path}};if(i.addIssue=i.addIssue.bind(i),"refinement"===a.type){const e=e=>{const t=a.refinement(e,i);if(r.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===r.common.async){const s=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===s.status?n.INVALID:("dirty"===s.status&&t.dirty(),e(s.value),{status:t.value,value:s.value})}return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then((r=>"aborted"===r.status?n.INVALID:("dirty"===r.status&&t.dirty(),e(r.value).then((()=>({status:t.value,value:r.value}))))))}if("transform"===a.type){if(!1===r.common.async){const e=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!(0,n.isValid)(e))return e;const s=a.transform(e.value,i);if(s instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:s}}return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then((e=>(0,n.isValid)(e)?Promise.resolve(a.transform(e.value,i)).then((e=>({status:t.value,value:e}))):e))}s.util.assertNever(a)}}e.ZodEffects=te,e.ZodTransformer=te,te.create=(e,t,r)=>new te({schema:e,typeName:ce.ZodEffects,effect:t,...l(r)}),te.createWithPreprocess=(e,t,r)=>new te({schema:t,effect:{type:"preprocess",transform:e},typeName:ce.ZodEffects,...l(r)});class re extends p{_parse(e){return this._getType(e)===s.ZodParsedType.undefined?(0,n.OK)(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}e.ZodOptional=re,re.create=(e,t)=>new re({innerType:e,typeName:ce.ZodOptional,...l(t)});class ne extends p{_parse(e){return this._getType(e)===s.ZodParsedType.null?(0,n.OK)(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}e.ZodNullable=ne,ne.create=(e,t)=>new ne({innerType:e,typeName:ce.ZodNullable,...l(t)});class se extends p{_parse(e){const{ctx:t}=this._processInputParams(e);let r=t.data;return t.parsedType===s.ZodParsedType.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}e.ZodDefault=se,se.create=(e,t)=>new se({innerType:e,typeName:ce.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...l(t)});class ae extends p{_parse(e){const{ctx:t}=this._processInputParams(e),r={...t,common:{...t.common,issues:[]}},s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return(0,n.isAsync)(s)?s.then((e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new i.ZodError(r.common.issues)},input:r.data})}))):{status:"valid",value:"valid"===s.status?s.value:this._def.catchValue({get error(){return new i.ZodError(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}}e.ZodCatch=ae,ae.create=(e,t)=>new ae({innerType:e,typeName:ce.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...l(t)});class ie extends p{_parse(e){if(this._getType(e)!==s.ZodParsedType.nan){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:i.ZodIssueCode.invalid_type,expected:s.ZodParsedType.nan,received:t.parsedType}),n.INVALID}return{status:"valid",value:e.data}}}e.ZodNaN=ie,ie.create=e=>new ie({typeName:ce.ZodNaN,...l(e)}),e.BRAND=Symbol("zod_brand");class oe extends p{_parse(e){const{ctx:t}=this._processInputParams(e),r=t.data;return this._def.type._parse({data:r,path:t.path,parent:t})}unwrap(){return this._def.type}}e.ZodBranded=oe;class de extends p{_parse(e){const{status:t,ctx:r}=this._processInputParams(e);if(r.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return"aborted"===e.status?n.INVALID:"dirty"===e.status?(t.dirty(),(0,n.DIRTY)(e.value)):this._def.out._parseAsync({data:e.value,path:r.path,parent:r})})()}{const e=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return"aborted"===e.status?n.INVALID:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:r.path,parent:r})}}static create(e,t){return new de({in:e,out:t,typeName:ce.ZodPipeline})}}e.ZodPipeline=de;var ce;e.custom=(e,t={},r)=>e?O.create().superRefine(((n,s)=>{var a,i;if(!e(n)){const e="function"==typeof t?t(n):"string"==typeof t?{message:t}:t,o=null===(i=null!==(a=e.fatal)&&void 0!==a?a:r)||void 0===i||i,d="string"==typeof e?{message:e}:e;s.addIssue({code:"custom",...d,fatal:o})}})):O.create(),e.late={object:j.lazycreate},function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"}(ce=e.ZodFirstPartyTypeKind||(e.ZodFirstPartyTypeKind={}));e.instanceof=(t,r={message:`Input not instance of ${t.name}`})=>(0,e.custom)((e=>e instanceof t),r);const ue=I.create;e.string=ue;const le=S.create;e.number=le;const pe=ie.create;e.nan=pe;const he=T.create;e.bigint=he;const me=P.create;e.boolean=me;const ge=E.create;e.date=ge;const fe=k.create;e.symbol=fe;const ve=N.create;e.undefined=ve;const ye=M.create;e.null=ye;const xe=O.create;e.any=xe;const we=D.create;e.unknown=we;const be=Z.create;e.never=be;const Ce=R.create;e.void=Ce;const Ie=z.create;e.array=Ie;const _e=j.create;e.object=_e;const Se=j.strictCreate;e.strictObject=Se;const Te=L.create;e.union=Te;const Pe=K.create;e.discriminatedUnion=Pe;const Ee=U.create;e.intersection=Ee;const ke=V.create;e.tuple=ke;const Ne=$.create;e.record=Ne;const Me=q.create;e.map=Me;const Oe=W.create;e.set=Oe;const De=H.create;e.function=De;const Ze=J.create;e.lazy=Ze;const Re=G.create;e.literal=Re;const ze=Y.create;e.enum=ze;const Ae=Q.create;e.nativeEnum=Ae;const je=ee.create;e.promise=je;const Le=te.create;e.effect=Le,e.transformer=Le;const Be=re.create;e.optional=Be;const Ke=ne.create;e.nullable=Ke;const Fe=te.createWithPreprocess;e.preprocess=Fe;const Ue=de.create;e.pipeline=Ue;e.ostring=()=>ue().optional();e.onumber=()=>le().optional();e.oboolean=()=>me().optional(),e.coerce={string:e=>I.create({...e,coerce:!0}),number:e=>S.create({...e,coerce:!0}),boolean:e=>P.create({...e,coerce:!0}),bigint:e=>T.create({...e,coerce:!0}),date:e=>E.create({...e,coerce:!0})},e.NEVER=n.INVALID}(x),function(t){var r=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=e&&e.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),n(a,t),n(f,t),n(v,t),n(o,t),n(x,t),n(d,t)}(s),function(t){var r=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var s in e)"default"!==s&&Object.prototype.hasOwnProperty.call(e,s)&&r(t,e,s);return n(t,e),t},i=e&&e.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.z=void 0;const o=a(s);t.z=o,i(s,t),t.default=o}(n);var b={};!function(e){var t,r,n,s,a,i,o,d,c;Object.defineProperty(e,"__esModule",{value:!0}),e.Input=e.Network=e.Log=e.BrowsingContext=e.Script=e.Message=void 0,function(e){let t;!function(e){e.InvalidArgument="invalid argument",e.InvalidSessionId="invalid session id",e.MoveTargetOutOfBounds="move target out of bounds",e.NoSuchAlert="no such alert",e.NoSuchElement="no such element",e.NoSuchFrame="no such frame",e.NoSuchHandle="no such handle",e.NoSuchNode="no such node",e.NoSuchScript="no such script",e.SessionNotCreated="session not created",e.UnknownCommand="unknown command",e.UnknownError="unknown error",e.UnsupportedOperation="unsupported operation"}(t=e.ErrorCode||(e.ErrorCode={}));class r{error;message;stacktrace;constructor(e,t,r){this.error=e,this.message=t,this.stacktrace=r}toErrorResponse(e){return{id:e,error:this.error,message:this.message,stacktrace:this.stacktrace}}}e.ErrorResponse=r;e.InvalidArgumentException=class extends r{constructor(e,r){super(t.InvalidArgument,e,r)}};e.MoveTargetOutOfBoundsException=class extends r{constructor(e,r){super(t.MoveTargetOutOfBounds,e,r)}};e.NoSuchHandleException=class extends r{constructor(e,r){super(t.NoSuchHandle,e,r)}};e.InvalidSessionIdException=class extends r{constructor(e,r){super(t.InvalidSessionId,e,r)}};e.NoSuchAlertException=class extends r{constructor(e,r){super(t.NoSuchAlert,e,r)}};e.NoSuchFrameException=class extends r{constructor(e){super(t.NoSuchFrame,e)}};e.NoSuchNodeException=class extends r{constructor(e,r){super(t.NoSuchNode,e,r)}};e.NoSuchElementException=class extends r{constructor(e,r){super(t.NoSuchElement,e,r)}};e.NoSuchScriptException=class extends r{constructor(e,r){super(t.NoSuchScript,e,r)}};e.SessionNotCreatedException=class extends r{constructor(e,r){super(t.SessionNotCreated,e,r)}};e.UnknownCommandException=class extends r{constructor(e,r){super(t.UnknownCommand,e,r)}};e.UnknownErrorException=class extends r{constructor(e,r){super(t.UnknownError,e,r)}};e.UnsupportedOperationException=class extends r{constructor(e,r){super(t.UnsupportedOperation,e,r)}}}(e.Message||(e.Message={})),t=e.Script||(e.Script={}),(r=t.EventNames||(t.EventNames={})).MessageEvent="script.message",r.RealmCreated="script.realmCreated",r.RealmDestroyed="script.realmDestroyed",t.AllEvents="script",function(e){e.ContextCreatedEvent="browsingContext.contextCreated",e.ContextDestroyedEvent="browsingContext.contextDestroyed",e.DomContentLoadedEvent="browsingContext.domContentLoaded",e.FragmentNavigated="browsingContext.fragmentNavigated",e.LoadEvent="browsingContext.load",e.NavigationStarted="browsingContext.navigationStarted"}((n=e.BrowsingContext||(e.BrowsingContext={})).EventNames||(n.EventNames={})),n.AllEvents="browsingContext",(s=e.Log||(e.Log={})).AllEvents="log",function(e){e.LogEntryAddedEvent="log.entryAdded"}(s.EventNames||(s.EventNames={})),(a=e.Network||(e.Network={})).AllEvents="network",function(e){e.BeforeRequestSentEvent="network.beforeRequestSent",e.FetchErrorEvent="network.fetchError",e.ResponseStartedEvent="network.responseStarted",e.ResponseCompletedEvent="network.responseCompleted"}(a.EventNames||(a.EventNames={})),i=e.Input||(e.Input={}),(o=i.SourceActionsType||(i.SourceActionsType={})).None="none",o.Key="key",o.Pointer="pointer",o.Wheel="wheel",(d=i.PointerType||(i.PointerType={})).Mouse="mouse",d.Pen="pen",d.Touch="touch",(c=i.ActionType||(i.ActionType={})).Pause="pause",c.KeyDown="keyDown",c.KeyUp="keyUp",c.PointerUp="pointerUp",c.PointerDown="pointerDown",c.PointerMove="pointerMove",c.Scroll="scroll"}(b),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.Input=e.Session=e.Cdp=e.BrowsingContext=e.Script=e.CommonDataTypes=e.parseObject=void 0;const t=n,r=b,s=9007199254740991;function a(e,t){const n=t.safeParse(e);if(n.success)return n.data;const s=n.error.errors.map((e=>`${e.message} in ${e.path.map((e=>JSON.stringify(e))).join("/")}.`)).join(" ");throw new r.Message.InvalidArgumentException(s)}e.parseObject=a;const i=t.z.string().refine((e=>1===[...e].length));var o;!function(e){e.SharedReferenceSchema=t.z.object({sharedId:t.z.string().min(1),handle:t.z.string().optional()}),e.RemoteReferenceSchema=t.z.object({handle:t.z.string().min(1)});const r=t.z.object({type:t.z.literal("undefined")}),n=t.z.object({type:t.z.literal("null")}),a=t.z.object({type:t.z.literal("string"),value:t.z.string()}),i=t.z.enum(["NaN","-0","Infinity","-Infinity"]),o=t.z.object({type:t.z.literal("number"),value:t.z.union([i,t.z.number()])}),d=t.z.object({type:t.z.literal("boolean"),value:t.z.boolean()}),c=t.z.object({type:t.z.literal("bigint"),value:t.z.string()}),u=t.z.union([r,n,a,o,d,c]);e.LocalValueSchema=t.z.lazy((()=>t.z.union([u,h,m,f,v,y,x])));const l=t.z.union([e.SharedReferenceSchema,e.RemoteReferenceSchema,e.LocalValueSchema]),p=t.z.array(l),h=t.z.object({type:t.z.literal("array"),value:p}),m=t.z.object({type:t.z.literal("date"),value:t.z.string().min(1)}),g=t.z.tuple([t.z.union([t.z.string(),l]),l]),f=t.z.object({type:t.z.literal("map"),value:t.z.array(g)}),v=t.z.object({type:t.z.literal("object"),value:t.z.array(g)}),y=t.z.object({type:t.z.literal("regexp"),value:t.z.object({pattern:t.z.string(),flags:t.z.string().optional()})}),x=t.z.lazy((()=>t.z.object({type:t.z.literal("set"),value:p})));e.BrowsingContextSchema=t.z.string(),e.MaxDepthSchema=t.z.number().int().nonnegative().max(s)}(o=e.CommonDataTypes||(e.CommonDataTypes={})),function(e){const r=t.z.enum(["window","dedicated-worker","shared-worker","service-worker","worker","paint-worklet","audio-worklet","worklet"]);e.GetRealmsParametersSchema=t.z.object({context:o.BrowsingContextSchema.optional(),type:r.optional()}),e.parseGetRealmsParams=function(t){return a(t,e.GetRealmsParametersSchema)};const n=t.z.object({context:o.BrowsingContextSchema,sandbox:t.z.string().optional()}),i=t.z.object({realm:t.z.string().min(1)}),d=t.z.union([i,n]),c=t.z.enum(["root","none"]),u=t.z.object({maxDomDepth:t.z.union([t.z.null(),t.z.number().int().nonnegative()]).optional(),maxObjectDepth:t.z.union([t.z.null(),t.z.number().int().nonnegative().max(s)]).optional(),includeShadowTree:t.z.enum(["none","open","all"]).optional()}),l=t.z.object({expression:t.z.string(),awaitPromise:t.z.boolean(),target:d,resultOwnership:c.optional(),serializationOptions:u.optional()});e.parseEvaluateParams=function(e){return a(e,l)};const p=t.z.object({target:d,handles:t.z.array(t.z.string())});e.parseDisownParams=function(e){return a(e,p)};const h=t.z.string(),m=t.z.object({channel:h,serializationOptions:u.optional(),ownership:c.optional()});e.ChannelValueSchema=t.z.object({type:t.z.literal("channel"),value:m}),e.PreloadScriptSchema=t.z.string(),e.AddPreloadScriptParametersSchema=t.z.object({functionDeclaration:t.z.string(),arguments:t.z.array(e.ChannelValueSchema).optional(),sandbox:t.z.string().optional(),context:o.BrowsingContextSchema.optional()}),e.parseAddPreloadScriptParams=function(t){return a(t,e.AddPreloadScriptParametersSchema)},e.RemovePreloadScriptParametersSchema=t.z.object({script:e.PreloadScriptSchema}),e.parseRemovePreloadScriptParams=function(t){return a(t,e.RemovePreloadScriptParametersSchema)};const g=t.z.union([o.RemoteReferenceSchema,o.SharedReferenceSchema,o.LocalValueSchema,e.ChannelValueSchema]),f=t.z.object({functionDeclaration:t.z.string(),awaitPromise:t.z.boolean(),target:d,arguments:t.z.array(g).optional(),resultOwnership:c.optional(),serializationOptions:u.optional(),this:g.optional()});e.parseCallFunctionParams=function(e){return a(e,f)}}(e.Script||(e.Script={})),function(e){const r=t.z.object({maxDepth:o.MaxDepthSchema.optional(),root:o.BrowsingContextSchema.optional()});e.parseGetTreeParams=function(e){return a(e,r)};const n=t.z.enum(["none","interactive","complete"]),s=t.z.object({context:o.BrowsingContextSchema,url:t.z.string().url(),wait:n.optional()});e.parseNavigateParams=function(e){return a(e,s)};const i=t.z.object({context:o.BrowsingContextSchema,ignoreCache:t.z.boolean().optional(),wait:n.optional()});e.parseReloadParams=function(e){return a(e,i)};const d=t.z.object({type:t.z.enum(["tab","window"]),referenceContext:o.BrowsingContextSchema.optional()});e.parseCreateParams=function(e){return a(e,d)};const c=t.z.object({context:o.BrowsingContextSchema});e.parseCloseParams=function(e){return a(e,c)};const u=t.z.object({context:o.BrowsingContextSchema});e.parseCaptureScreenshotParams=function(e){return a(e,u)};const l=t.z.object({height:t.z.number().nonnegative().optional(),width:t.z.number().nonnegative().optional()}),p=t.z.object({bottom:t.z.number().nonnegative().optional(),left:t.z.number().nonnegative().optional(),right:t.z.number().nonnegative().optional(),top:t.z.number().nonnegative().optional()}),h=t.z.array(t.z.union([t.z.string().min(1),t.z.number().int().nonnegative()])).refine((e=>e.every((e=>{const t=String(e).match(/^(?:(?:\d+)|(?:\d+[-])|(?:[-]\d+)|(?:(?<start>\d+)[-](?<end>\d+)))$/),{start:r,end:n}=t?.groups??{};return!(r&&n&&Number(r)>Number(n))&&t})))),m=t.z.object({context:o.BrowsingContextSchema,background:t.z.boolean().optional(),margin:p.optional(),orientation:t.z.enum(["portrait","landscape"]).optional(),page:l.optional(),pageRanges:h.optional(),scale:t.z.number().min(.1).max(2).optional(),shrinkToFit:t.z.boolean().optional()});e.parsePrintParams=function(e){return a(e,m)};const g=t.z.object({width:t.z.number().int().nonnegative(),height:t.z.number().int().nonnegative()}),f=t.z.object({context:o.BrowsingContextSchema,viewport:t.z.union([t.z.null(),g])});e.parseSetViewportParams=function(e){return a(e,f)}}(e.BrowsingContext||(e.BrowsingContext={})),function(e){const r=t.z.object({method:t.z.string(),params:t.z.object({}).passthrough().optional(),session:t.z.string().optional()});e.parseSendCommandParams=function(e){return a(e,r)};const n=t.z.object({context:o.BrowsingContextSchema});e.parseGetSessionParams=function(e){return a(e,n)}}(e.Cdp||(e.Cdp={})),function(e){const n=t.z.enum([r.BrowsingContext.AllEvents,...Object.values(r.BrowsingContext.EventNames),r.Log.AllEvents,...Object.values(r.Log.EventNames),r.Network.AllEvents,...Object.values(r.Network.EventNames),r.Script.AllEvents,...Object.values(r.Script.EventNames)]),s=t.z.custom((e=>"string"==typeof e&&e.startsWith("cdp.")),"Not a CDP event"),i=t.z.union([n,s]),d=t.z.object({events:t.z.array(i),contexts:t.z.array(o.BrowsingContextSchema).optional()});e.parseSubscribeParams=function(e){return a(e,d)}}(e.Session||(e.Session={})),function(e){const n=t.z.object({type:t.z.literal("element"),element:o.SharedReferenceSchema}),s=t.z.union([t.z.literal("viewport"),t.z.literal("pointer"),n]),d=t.z.object({type:t.z.literal(r.Input.ActionType.Pause),duration:t.z.number().nonnegative().int().optional()}),c=t.z.object({type:t.z.literal(r.Input.ActionType.KeyDown),value:i}),u=t.z.object({type:t.z.literal(r.Input.ActionType.KeyUp),value:i}),l=t.z.object({tiltX:t.z.number().min(-90).max(90).int().default(0).optional(),tiltY:t.z.number().min(-90).max(90).int().default(0).optional()}),p=t.z.object({altitudeAngle:t.z.number().nonnegative().max(Math.PI/2).default(0).optional(),azimuthAngle:t.z.number().nonnegative().max(2*Math.PI).default(0).optional()}),h=t.z.object({width:t.z.number().nonnegative().int().default(1),height:t.z.number().nonnegative().int().default(1),pressure:t.z.number().min(0).max(1).default(0),tangentialPressure:t.z.number().min(-1).max(1).default(0),twist:t.z.number().nonnegative().max(359).int().default(0)}).and(t.z.union([l,p])),m=t.z.object({type:t.z.literal(r.Input.ActionType.PointerUp),button:t.z.number().nonnegative().int()}).and(h),g=t.z.object({type:t.z.literal(r.Input.ActionType.PointerDown),button:t.z.number().nonnegative().int()}).and(h),f=t.z.object({type:t.z.literal(r.Input.ActionType.PointerMove),x:t.z.number().int(),y:t.z.number().int(),duration:t.z.number().nonnegative().int().optional(),origin:s.optional().default("viewport")}).and(h),v=t.z.object({type:t.z.literal(r.Input.ActionType.Scroll),x:t.z.number().int(),y:t.z.number().int(),deltaX:t.z.number().int(),deltaY:t.z.number().int(),duration:t.z.number().nonnegative().int().optional(),origin:s.optional().default("viewport")}),y=t.z.discriminatedUnion("type",[d,v]),x=t.z.object({type:t.z.literal(r.Input.SourceActionsType.Wheel),id:t.z.string(),actions:t.z.array(y)}),w=t.z.union([d,g,m,f]),b=t.z.nativeEnum(r.Input.PointerType),C=t.z.object({pointerType:b.optional().default(r.Input.PointerType.Mouse)}),I=t.z.object({type:t.z.literal(r.Input.SourceActionsType.Pointer),id:t.z.string(),parameters:C.optional(),actions:t.z.array(w)}),_=t.z.discriminatedUnion("type",[d,c,u]),S=t.z.object({type:t.z.literal(r.Input.SourceActionsType.Key),id:t.z.string(),actions:t.z.array(_)}),T=d,P=t.z.object({type:t.z.literal(r.Input.SourceActionsType.None),id:t.z.string(),actions:t.z.array(T)}),E=t.z.discriminatedUnion("type",[P,S,I,x]),k=t.z.object({context:o.BrowsingContextSchema,actions:t.z.array(E)});e.parsePerformActionsParams=function(e){return a(e,k)};const N=t.z.object({context:o.BrowsingContextSchema});e.parseReleaseActionsParams=function(e){return a(e,N)}}(e.Input||(e.Input={}))}(r);var C={},I={},_={},S=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(_,"__esModule",{value:!0}),_.EventEmitter=void 0;const T=S((function(e){return{all:e=e||new Map,on:function(t,r){var n=e.get(t);n?n.push(r):e.set(t,[r])},off:function(t,r){var n=e.get(t);n&&(r?n.splice(n.indexOf(r)>>>0,1):e.set(t,[]))},emit:function(t,r){var n=e.get(t);n&&n.slice().map((function(e){e(r)})),(n=e.get("*"))&&n.slice().map((function(e){e(t,r)}))}}}));_.EventEmitter=class{#e=(0,T.default)();on(e,t){return this.#e.on(e,t),this}once(e,t){const r=n=>{t(n),this.off(e,r)};return this.on(e,r)}off(e,t){return this.#e.off(e,t),this}emit(e,t){this.#e.emit(e,t)}};var P={};!function(e){var t;Object.defineProperty(e,"__esModule",{value:!0}),e.LogType=void 0,(t=e.LogType||(e.LogType={})).bidi="BiDi Messages",t.browsingContexts="Browsing Contexts",t.cdp="CDP",t.system="System"}(P);var E={};Object.defineProperty(E,"__esModule",{value:!0}),E.ProcessingQueue=void 0;const k=P;E.ProcessingQueue=class{#t;#r;#n=[];#s=!1;constructor(e,t){this.#r=e,this.#t=t}add(e){this.#n.push(e),this.#a()}async#a(){if(!this.#s){for(this.#s=!0;this.#n.length>0;){const e=this.#n.shift();void 0!==e&&await e.then((e=>this.#r(e))).catch((e=>{this.#t?.(k.LogType.system,"Event was not processed:",e)}))}this.#s=!1}}};var N={},M={},O={},D={};Object.defineProperty(D,"__esModule",{value:!0}),D.assert=void 0,D.assert=function(e){if(!e)throw new Error("Internal assertion failed.")};var Z={},R={};Object.defineProperty(R,"__esModule",{value:!0}),R.Mutex=void 0;R.Mutex=class{#i=!1;#o=[];acquire(){const e={resolved:!1};return this.#i?new Promise((t=>{this.#o.push((()=>t(this.#d.bind(this,e))))})):(this.#i=!0,Promise.resolve(this.#d.bind(this,e)))}#d(e){if(e.resolved)throw new Error("Cannot release more than once.");e.resolved=!0;const t=this.#o.shift();t?t():this.#i=!1}async run(e){const t=await this.acquire();try{return await e()}finally{t()}}};var z={};!function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.WheelSource=e.PointerSource=e.KeySource=e.NoneSource=e.SourceType=void 0;const t=b;e.SourceType=t.Input.SourceActionsType;e.NoneSource=class{type=e.SourceType.None};e.KeySource=class{type=e.SourceType.Key;pressed=new Set;#c=0;get modifiers(){return this.#c}get alt(){return 1==(1&this.#c)}set alt(e){this.#u(e,1)}get ctrl(){return 2==(2&this.#c)}set ctrl(e){this.#u(e,2)}get meta(){return 4==(4&this.#c)}set meta(e){this.#u(e,4)}get shift(){return 8==(8&this.#c)}set shift(e){this.#u(e,8)}#u(e,t){e?this.#c|=t:this.#c&=~t}};class r{type=e.SourceType.Pointer;subtype;pointerId;pressed=new Set;x=0;y=0;constructor(e,t){this.pointerId=e,this.subtype=t}get buttons(){let e=0;for(const t of this.pressed)switch(t){case 0:e|=1;break;case 1:e|=4;break;case 2:e|=2;break;case 3:e|=8;break;case 4:e|=16}return e}static#l=500;static#p=2;#h=0;#m;setClickCount(e){(!this.#m||e.timeStamp-this.#m.timeStamp>r.#l||Math.abs(this.#m.x-e.x)>r.#p||Math.abs(this.#m.y-e.y)>r.#p)&&(this.#h=0),++this.#h,this.#m=e}get clickCount(){return this.#h}}e.PointerSource=r;e.WheelSource=class{type=e.SourceType.Wheel}}(z),Object.defineProperty(Z,"__esModule",{value:!0}),Z.InputState=void 0;const A=b,j=R,L=z;Z.InputState=class{cancelList=[];#g=new Map;#f=new j.Mutex;getOrCreate(e,t,r){let n=this.#g.get(e);if(!n){switch(t){case L.SourceType.None:n=new L.NoneSource;break;case L.SourceType.Key:n=new L.KeySource;break;case L.SourceType.Pointer:{let e=r===A.Input.PointerType.Mouse?0:2;const t=new Set;for(const[,e]of this.#g)e.type===L.SourceType.Pointer&&t.add(e.pointerId);for(;t.has(e);)++e;n=new L.PointerSource(e,r);break}case L.SourceType.Wheel:n=new L.WheelSource;break;default:throw new A.Message.InvalidArgumentException(`Expected "${L.SourceType.None}", "${L.SourceType.Key}", "${L.SourceType.Pointer}", or "${L.SourceType.Wheel}". Found unknown source type ${t}.`)}return this.#g.set(e,n),n}if(n.type!==t)throw new A.Message.InvalidArgumentException(`Input source type of ${e} is ${n.type}, but received ${t}.`);return n}get(e){const t=this.#g.get(e);if(!t)throw new A.Message.UnknownErrorException("Internal error.");return t}getGlobalKeyState(){const e=new L.KeySource;for(const[,t]of this.#g)if(t.type===L.SourceType.Key){for(const r of t.pressed)e.pressed.add(r);e.alt||=t.alt,e.ctrl||=t.ctrl,e.meta||=t.meta,e.shift||=t.shift}return e}get queue(){return this.#f}},Object.defineProperty(O,"__esModule",{value:!0}),O.InputStateManager=void 0;const B=D,K=Z;O.InputStateManager=class{#v=new WeakMap;get(e){(0,B.assert)(e.isTopLevelContext());let t=this.#v.get(e);return t||(t=new K.InputState,this.#v.set(e,t)),t}delete(e){this.#v.delete(e)}};var F={},U={};Object.defineProperty(U,"__esModule",{value:!0}),U.KeyToKeyCode=void 0,U.KeyToKeyCode={0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,Abort:3,Help:6,Backspace:8,Tab:9,Numpad5:12,NumpadEnter:13,Enter:13,"\\r":13,"\\n":13,ShiftLeft:16,ShiftRight:16,ControlLeft:17,ControlRight:17,AltLeft:18,AltRight:18,Pause:19,CapsLock:20,Escape:27,Convert:28,NonConvert:29,Space:32,Numpad9:33,PageUp:33,Numpad3:34,PageDown:34,End:35,Numpad1:35,Home:36,Numpad7:36,ArrowLeft:37,Numpad4:37,Numpad8:38,ArrowUp:38,ArrowRight:39,Numpad6:39,Numpad2:40,ArrowDown:40,Select:41,Open:43,PrintScreen:44,Insert:45,Numpad0:45,Delete:46,NumpadDecimal:46,Digit0:48,Digit1:49,Digit2:50,Digit3:51,Digit4:52,Digit5:53,Digit6:54,Digit7:55,Digit8:56,Digit9:57,KeyA:65,KeyB:66,KeyC:67,KeyD:68,KeyE:69,KeyF:70,KeyG:71,KeyH:72,KeyI:73,KeyJ:74,KeyK:75,KeyL:76,KeyM:77,KeyN:78,KeyO:79,KeyP:80,KeyQ:81,KeyR:82,KeyS:83,KeyT:84,KeyU:85,KeyV:86,KeyW:87,KeyX:88,KeyY:89,KeyZ:90,MetaLeft:91,MetaRight:92,ContextMenu:93,NumpadMultiply:106,NumpadAdd:107,NumpadSubtract:109,NumpadDivide:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,F13:124,F14:125,F15:126,F16:127,F17:128,F18:129,F19:130,F20:131,F21:132,F22:133,F23:134,F24:135,NumLock:144,ScrollLock:145,AudioVolumeMute:173,AudioVolumeDown:174,AudioVolumeUp:175,MediaTrackNext:176,MediaTrackPrevious:177,MediaStop:178,MediaPlayPause:179,Semicolon:186,Equal:187,NumpadEqual:187,Comma:188,Minus:189,Period:190,Slash:191,Backquote:192,BracketLeft:219,Backslash:220,BracketRight:221,Quote:222,AltGraph:225,Props:247,Cancel:3,Clear:12,Shift:16,Control:17,Alt:18,Accept:30,ModeChange:31," ":32,Print:42,Execute:43,"\\u0000":46,a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90,Meta:91,"*":106,"+":107,"-":109,"/":111,";":186,"=":187,",":188,".":190,"`":192,"[":219,"\\\\":220,"]":221,"'":222,Attn:246,CrSel:247,ExSel:248,EraseEof:249,Play:250,ZoomOut:251,")":48,"!":49,"@":50,"#":51,$:52,"%":53,"^":54,"&":55,"(":57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,":":186,"<":188,_:189,">":190,"?":191,"~":192,"{":219,"|":220,"}":221,'"':222,Camera:44,EndCall:95,VolumeDown:182,VolumeUp:183};var V={};Object.defineProperty(V,"__esModule",{value:!0}),V.getKeyLocation=V.getKeyCode=V.getNormalizedKey=void 0,V.getNormalizedKey=function(e){switch(e){case"\ue000":return"Unidentified";case"\ue001":return"Cancel";case"\ue002":return"Help";case"\ue003":return"Backspace";case"\ue004":return"Tab";case"\ue005":return"Clear";case"\ue006":return"Return";case"\ue007":return"Enter";case"\ue008":case"\ue050":return"Shift";case"\ue009":case"\ue051":return"Control";case"\ue00a":case"\ue052":return"Alt";case"\ue00b":return"Pause";case"\ue00c":return"Escape";case"\ue00d":return" ";case"\ue00e":case"\ue054":return"PageUp";case"\ue00f":case"\ue055":return"PageDown";case"\ue010":case"\ue056":return"End";case"\ue011":case"\ue057":return"Home";case"\ue012":case"\ue058":return"ArrowLeft";case"\ue013":case"\ue059":return"ArrowUp";case"\ue014":case"\ue05a":return"ArrowRight";case"\ue015":case"\ue05b":return"ArrowDown";case"\ue016":case"\ue05c":return"Insert";case"\ue017":case"\ue05d":return"Delete";case"\ue018":return";";case"\ue019":return"=";case"\ue01a":return"0";case"\ue01b":return"1";case"\ue01c":return"2";case"\ue01d":return"3";case"\ue01e":return"4";case"\ue01f":return"5";case"\ue020":return"6";case"\ue021":return"7";case"\ue022":return"8";case"\ue023":return"9";case"\ue024":return"*";case"\ue025":return"+";case"\ue026":return",";case"\ue027":return"-";case"\ue028":return".";case"\ue029":return"/";case"\ue031":return"F1";case"\ue032":return"F2";case"\ue033":return"F3";case"\ue034":return"F4";case"\ue035":return"F5";case"\ue036":return"F6";case"\ue037":return"F7";case"\ue038":return"F8";case"\ue039":return"F9";case"\ue03a":return"F10";case"\ue03b":return"F11";case"\ue03c":return"F12";case"\ue03d":case"\ue053":return"Meta";case"\ue040":return"ZenkakuHankaku";default:return e}},V.getKeyCode=function(e){switch(e){case"`":case"~":return"Backquote";case"\\":case"|":return"Backslash";case"\ue003":return"Backspace";case"[":case"{":return"BracketLeft";case"]":case"}":return"BracketRight";case",":case"<":return"Comma";case"0":case")":return"Digit0";case"1":case"!":return"Digit1";case"2":case"@":return"Digit2";case"3":case"#":return"Digit3";case"4":case"$":return"Digit4";case"5":case"%":return"Digit5";case"6":case"^":return"Digit6";case"7":case"&":return"Digit7";case"8":case"*":return"Digit8";case"9":case"(":return"Digit9";case"=":case"+":return"Equal";case"a":case"A":return"KeyA";case"b":case"B":return"KeyB";case"c":case"C":return"KeyC";case"d":case"D":return"KeyD";case"e":case"E":return"KeyE";case"f":case"F":return"KeyF";case"g":case"G":return"KeyG";case"h":case"H":return"KeyH";case"i":case"I":return"KeyI";case"j":case"J":return"KeyJ";case"k":case"K":return"KeyK";case"l":case"L":return"KeyL";case"m":case"M":return"KeyM";case"n":case"N":return"KeyN";case"o":case"O":return"KeyO";case"p":case"P":return"KeyP";case"q":case"Q":return"KeyQ";case"r":case"R":return"KeyR";case"s":case"S":return"KeyS";case"t":case"T":return"KeyT";case"u":case"U":return"KeyU";case"v":case"V":return"KeyV";case"w":case"W":return"KeyW";case"x":case"X":return"KeyX";case"y":case"Y":return"KeyY";case"z":case"Z":return"KeyZ";case"-":case"_":return"Minus";case".":return"Period";case"'":case'"':return"Quote";case";":case":":return"Semicolon";case"/":case"?":return"Slash";case"\ue00a":return"AltLeft";case"\ue052":return"AltRight";case"\ue009":return"ControlLeft";case"\ue051":return"ControlRight";case"\ue006":return"Enter";case"\ue03d":return"MetaLeft";case"\ue053":return"MetaRight";case"\ue008":return"ShiftLeft";case"\ue050":return"ShiftRight";case" ":case"\ue00d":return"Space";case"\ue004":return"Tab";case"\ue017":return"Delete";case"\ue010":return"End";case"\ue002":return"Help";case"\ue011":return"Home";case"\ue016":return"Insert";case"\ue00f":return"PageDown";case"\ue00e":return"PageUp";case"\ue015":return"ArrowDown";case"\ue012":return"ArrowLeft";case"\ue014":return"ArrowRight";case"\ue013":return"ArrowUp";case"\ue00c":return"Escape";case"\ue031":return"F1";case"\ue032":return"F2";case"\ue033":return"F3";case"\ue034":return"F4";case"\ue035":return"F5";case"\ue036":return"F6";case"\ue037":return"F7";case"\ue038":return"F8";case"\ue039":return"F9";case"\ue03a":return"F10";case"\ue03b":return"F11";case"\ue03c":return"F12";case"\ue01a":case"\ue05c":return"Numpad0";case"\ue01b":case"\ue056":return"Numpad1";case"\ue01c":case"\ue05b":return"Numpad2";case"\ue01d":case"\ue055":return"Numpad3";case"\ue01e":case"\ue058":return"Numpad4";case"\ue01f":return"Numpad5";case"\ue020":case"\ue05a":return"Numpad6";case"\ue021":case"\ue057":return"Numpad7";case"\ue022":case"\ue059":return"Numpad8";case"\ue023":case"\ue054":return"Numpad9";case"\ue025":return"NumpadAdd";case"\ue026":return"NumpadComma";case"\ue028":case"\ue05d":return"NumpadDecimal";case"\ue029":return"NumpadDivide";case"\ue007":return"NumpadEnter";case"\ue024":return"NumpadMultiply";case"\ue027":return"NumpadSubtract";default:return}},V.getKeyLocation=function(e){switch(e){case"\ue007":case"\ue008":case"\ue009":case"\ue00a":case"\ue03d":return 1;case"\ue01a":case"\ue01b":case"\ue01c":case"\ue01d":case"\ue01e":case"\ue01f":case"\ue020":case"\ue021":case"\ue022":case"\ue023":case"\ue024":case"\ue025":case"\ue026":case"\ue027":case"\ue028":case"\ue029":case"\ue054":case"\ue055":case"\ue056":case"\ue057":case"\ue058":case"\ue059":case"\ue05a":case"\ue05b":case"\ue05c":case"\ue05d":return 3;case"\ue050":case"\ue051":case"\ue052":case"\ue053":return 2;default:return 0}},Object.defineProperty(F,"__esModule",{value:!0}),F.ActionDispatcher=void 0;const $=b,q=D,W=U,H=V,J=(e=>{const t=e.getClientRects()[0],r=Math.max(0,Math.min(t.x,t.x+t.width)),n=Math.min(window.innerWidth,Math.max(t.x,t.x+t.width)),s=Math.max(0,Math.min(t.y,t.y+t.height));return[r+(n-r>>1),s+(Math.min(window.innerHeight,Math.max(t.y,t.y+t.height))-s>>1)]}).toString(),G=(()=>navigator.platform.toLowerCase().includes("mac")).toString();F.ActionDispatcher=class{static isMacOS=async e=>{const{result:t}=await(await e.getOrCreateSandbox(void 0)).callFunction(G,{type:"undefined"},[],!1,"none",{});return(0,q.assert)("exception"!==t.type),(0,q.assert)("boolean"===t.result.type),t.result.value};#y=0;#x=0;#w;#b;#C;constructor(e,t,r){this.#w=e,this.#b=t,this.#C=r}async dispatchActions(e){await this.#w.queue.run((async()=>{for(const t of e)await this.dispatchTickActions(t)}))}async dispatchTickActions(e){this.#y=performance.now(),this.#x=0;for(const{action:t}of e)"duration"in t&&void 0!==t.duration&&(this.#x=Math.max(this.#x,t.duration));const t=[new Promise((e=>setTimeout(e,this.#x)))];for(const r of e)t.push(this.#I(r));await Promise.all(t)}async#I({id:e,action:t}){const r=this.#w.get(e),n=this.#w.getGlobalKeyState();switch(t.type){case $.Input.ActionType.KeyDown:await this.#_(r,t),this.#w.cancelList.push({id:e,action:{...t,type:$.Input.ActionType.KeyUp}});break;case $.Input.ActionType.KeyUp:await this.#S(r,t);break;case $.Input.ActionType.Pause:break;case $.Input.ActionType.PointerDown:await this.#T(r,n,t),this.#w.cancelList.push({id:e,action:{...t,type:$.Input.ActionType.PointerUp}});break;case $.Input.ActionType.PointerMove:await this.#P(r,n,t);break;case $.Input.ActionType.PointerUp:await this.#E(r,n,t);break;case $.Input.ActionType.Scroll:await this.#k(r,n,t)}}#T(e,t,r){const{button:n}=r;if(e.pressed.has(n))return;e.pressed.add(n);const{x:s,y:a,subtype:i}=e,{width:o,height:d,pressure:c,twist:u,tangentialPressure:l}=r,{tiltX:p,tiltY:h}="tiltX"in r?r:{},{modifiers:m}=t;switch(i){case $.Input.PointerType.Mouse:case $.Input.PointerType.Pen:return e.setClickCount({x:s,y:a,timeStamp:performance.now()}),this.#b.cdpTarget.cdpClient.sendCommand("Input.dispatchMouseEvent",{type:"mousePressed",x:s,y:a,modifiers:m,button:(()=>{switch(n){case 0:return"left";case 1:return"middle";case 2:return"right";case 3:return"back";case 4:return"forward";default:return"none"}})(),buttons:e.buttons,clickCount:e.clickCount,pointerType:i,tangentialPressure:l,tiltX:p,tiltY:h,twist:u,force:c});case $.Input.PointerType.Touch:return this.#b.cdpTarget.cdpClient.sendCommand("Input.dispatchTouchEvent",{type:"touchStart",touchPoints:[{x:s,y:a,radiusX:o,radiusY:d,tangentialPressure:l,tiltX:p,tiltY:h,twist:u,force:c,id:e.pointerId}],modifiers:m})}}#E(e,t,r){const{button:n}=r;if(!e.pressed.has(n))return;e.pressed.delete(n);const{x:s,y:a,subtype:i}=e,{modifiers:o}=t;switch(i){case $.Input.PointerType.Mouse:case $.Input.PointerType.Pen:return this.#b.cdpTarget.cdpClient.sendCommand("Input.dispatchMouseEvent",{type:"mouseReleased",x:s,y:a,modifiers:o,button:(()=>{switch(n){case 0:return"left";case 1:return"middle";case 2:return"right";case 3:return"back";case 4:return"forward";default:return"none"}})(),buttons:e.buttons,clickCount:e.clickCount,pointerType:i});case $.Input.PointerType.Touch:return this.#b.cdpTarget.cdpClient.sendCommand("Input.dispatchTouchEvent",{type:"touchEnd",touchPoints:[{x:s,y:a,id:e.pointerId}],modifiers:o})}}async#P(e,t,r){const{x:n,y:s,subtype:a}=e,{width:i,height:o,pressure:d,twist:c,tangentialPressure:u,x:l,y:p,origin:h="viewport",duration:m=this.#x}=r,{tiltX:g,tiltY:f}="tiltX"in r?r:{},{targetX:v,targetY:y}=await this.#N(h,l,p,n,s);if(v<0||y<0)throw new $.Message.MoveTargetOutOfBoundsException(`Cannot move beyond viewport (x: ${v}, y: ${y})`);let x;do{const r=m>0?(performance.now()-this.#y)/m:1;let l,p;if(x=r>=1,x?(l=v,p=y):(l=Math.round(r*(v-n)+n),p=Math.round(r*(y-s)+s)),e.x!==l||e.y!==p){const{modifiers:r}=t;switch(a){case $.Input.PointerType.Mouse:case $.Input.PointerType.Pen:await this.#b.cdpTarget.cdpClient.sendCommand("Input.dispatchMouseEvent",{type:"mouseMoved",x:l,y:p,modifiers:r,clickCount:0,buttons:e.buttons,pointerType:a,tangentialPressure:u,tiltX:g,tiltY:f,twist:c,force:d});break;case $.Input.PointerType.Touch:await this.#b.cdpTarget.cdpClient.sendCommand("Input.dispatchTouchEvent",{type:"touchMove",touchPoints:[{x:l,y:p,radiusX:i,radiusY:o,tangentialPressure:u,tiltX:g,tiltY:f,twist:c,force:d,id:e.pointerId}],modifiers:r})}e.x=l,e.y=p}}while(!x)}async#N(e,t,r,n,s){let a,i;switch(e){case"viewport":a=t,i=r;break;case"pointer":a=n+t,i=s+r;break;default:{const{x:n,y:s}=await async function(e,t){const{result:r}=await(await e.getOrCreateSandbox(void 0)).callFunction(J,{type:"undefined"},[t],!1,"none",{});if("exception"===r.type)throw new $.Message.NoSuchElementException(`Origin element ${t.sharedId} was not found`);(0,q.assert)("array"===r.result.type),(0,q.assert)("number"===r.result.value?.[0]?.type),(0,q.assert)("number"===r.result.value?.[1]?.type);const{result:{value:[{value:n},{value:s}]}}=r;return{x:n,y:s}}(this.#b,e.element);a=n+t,i=s+r;break}}return{targetX:a,targetY:i}}async#k(e,t,r){const{deltaX:n,deltaY:s,x:a,y:i,origin:o="viewport",duration:d=this.#x}=r;if("pointer"===o)throw new $.Message.InvalidArgumentException('"pointer" origin is invalid for scrolling.');const{targetX:c,targetY:u}=await this.#N(o,a,i,0,0);if(c<0||u<0)throw new $.Message.MoveTargetOutOfBoundsException(`Cannot move beyond viewport (x: ${c}, y: ${u})`);let l,p=0,h=0;do{const e=d>0?(performance.now()-this.#y)/d:1;let r,a;if(l=e>=1,l?(r=n-p,a=s-h):(r=Math.round(e*n-p),a=Math.round(e*s-h)),0!==r||0!==a){const{modifiers:e}=t;await this.#b.cdpTarget.cdpClient.sendCommand("Input.dispatchMouseEvent",{type:"mouseWheel",deltaX:r,deltaY:a,x:c,y:u,modifiers:e}),p+=r,h+=a}}while(!l)}#_(e,t){const r=t.value,n=(0,H.getNormalizedKey)(r),s=e.pressed.has(n),a=(0,H.getKeyCode)(r),i=(0,H.getKeyLocation)(r);switch(n){case"Alt":e.alt=!0;break;case"Shift":e.shift=!0;break;case"Control":e.ctrl=!0;break;case"Meta":e.meta=!0}e.pressed.add(n);const{modifiers:o}=e,d=X(n,e),c=Y(a??"",e)??d;let u;if(this.#C&&e.meta)switch(a){case"KeyA":u="SelectAll";break;case"KeyC":u="Copy";break;case"KeyV":u=e.shift?"PasteAndMatchStyle":"Paste";break;case"KeyX":u="Cut";break;case"KeyZ":u=e.shift?"Redo":"Undo"}return this.#b.cdpTarget.cdpClient.sendCommand("Input.dispatchKeyEvent",{type:c?"keyDown":"rawKeyDown",windowsVirtualKeyCode:W.KeyToKeyCode[n],key:n,code:a,text:c,unmodifiedText:d,autoRepeat:s,isSystemKey:e.alt||void 0,location:i<3?i:void 0,isKeypad:3===i,modifiers:o,commands:u?[u]:void 0})}#S(e,t){const r=t.value,n=(0,H.getNormalizedKey)(r);if(!e.pressed.has(n))return;const s=(0,H.getKeyCode)(r),a=(0,H.getKeyLocation)(r);switch(n){case"Alt":e.alt=!1;break;case"Shift":e.shift=!1;break;case"Control":e.ctrl=!1;break;case"Meta":e.meta=!1}e.pressed.delete(n);const{modifiers:i}=e,o=X(n,e),d=Y(s??"",e)??o;return this.#b.cdpTarget.cdpClient.sendCommand("Input.dispatchKeyEvent",{type:"keyUp",windowsVirtualKeyCode:W.KeyToKeyCode[n],key:n,code:s,text:d,unmodifiedText:o,location:a<3?a:void 0,isSystemKey:e.alt||void 0,isKeypad:3===a,modifiers:i})}};const X=(e,t)=>"Enter"===e?"\r":1===[...e].length?t.shift?e.toLocaleUpperCase("en-US"):e:void 0,Y=(e,t)=>{if(t.ctrl){switch(e){case"Digit2":if(t.shift)return"\0";break;case"KeyA":return"\x01";case"KeyB":return"\x02";case"KeyC":return"\x03";case"KeyD":return"\x04";case"KeyE":return"\x05";case"KeyF":return"\x06";case"KeyG":return"\x07";case"KeyH":return"\b";case"KeyI":return"\t";case"KeyJ":return"\n";case"KeyK":return"\v";case"KeyL":return"\f";case"KeyM":return"\r";case"KeyN":return"\x0e";case"KeyO":return"\x0f";case"KeyP":return"\x10";case"KeyQ":return"\x11";case"KeyR":return"\x12";case"KeyS":return"\x13";case"KeyT":return"\x14";case"KeyU":return"\x15";case"KeyV":return"\x16";case"KeyW":return"\x17";case"KeyX":return"\x18";case"KeyY":return"\x19";case"KeyZ":return"\x1a";case"BracketLeft":return"\x1b";case"Backslash":return"\x1c";case"BracketRight":return"\x1d";case"Digit6":if(t.shift)return"\x1e";break;case"Minus":return"\x1f"}return""}if(t.alt)return""};var Q={};Object.defineProperty(Q,"__esModule",{value:!0}),Q.PreloadScriptStorage=void 0;Q.PreloadScriptStorage=class{#M=new Set;findPreloadScripts(e){return e?[...this.#M].filter((t=>(void 0===e.id||e.id===t.id)&&((void 0===e.contextId||e.contextId===t.contextId)&&(!(void 0!==e.contextIds&&!e.contextIds.includes(t.contextId))&&!(void 0!==e.targetId&&!t.targetIds.has(e.targetId)))))):[...this.#M]}addPreloadScript(e){this.#M.add(e)}removeBiDiPreloadScripts(e){for(const t of this.findPreloadScripts(e))this.#M.delete(t)}};var ee={},te={};Object.defineProperty(te,"__esModule",{value:!0}),te.inchesFromCm=void 0,te.inchesFromCm=function(e){return e/2.54};var re={};Object.defineProperty(re,"__esModule",{value:!0}),re.Deferred=void 0;class ne{#O=!1;#D;#Z;#R;get isFinished(){return this.#O}constructor(){this.#D=new Promise(((e,t)=>{this.#Z=e,this.#R=t})),this.#D.catch((e=>{}))}then(e,t){return this.#D.then(e,t)}catch(e){return this.#D.catch(e)}resolve(e){this.#O=!0,this.#Z?.(e)}reject(e){this.#O=!0,this.#R?.(e)}finally(e){return this.#D.finally(e)}[Symbol.toStringTag]="Promise"}re.Deferred=ne;var se={},ae={},ie={},oe={};Object.defineProperty(oe,"__esModule",{value:!0}),oe.uuidv4=void 0,oe.uuidv4=function(){if("crypto"in globalThis&&"randomUUID"in globalThis.crypto)return globalThis.crypto.randomUUID();const e=new Uint8Array(16);"crypto"in globalThis&&"getRandomValues"in globalThis.crypto?globalThis.crypto.getRandomValues(e):require("crypto").webcrypto.getRandomValues(e),e[6]=15&e[6]|64,e[8]=63&e[8]|128;const t=e=>e.reduce(((e,t)=>e+t.toString(16).padStart(2,"0")),"");return[t(e.subarray(0,4)),t(e.subarray(4,6)),t(e.subarray(6,8)),t(e.subarray(8,10)),t(e.subarray(10,16))].join("-")},Object.defineProperty(ie,"__esModule",{value:!0}),ie.ChannelProxy=void 0;const de=b,ce=oe;class ue{#z;#A=(0,ce.uuidv4)();constructor(e){if(![0,null,void 0].includes(e.serializationOptions?.maxDomDepth))throw new Error("serializationOptions.maxDomDepth other than 0 or null is not supported");if(![void 0,"none"].includes(e.serializationOptions?.includeShadowTree))throw new Error('serializationOptions.includeShadowTree other than "none" is not supported');this.#z=e}async init(e,t){const r=await ue.#j(e),n=await ue.#L(e,r);return this.#B(e,r,t),n}async startListenerFromWindow(e,t){const r=await this.#K(e);this.#B(e,r,t)}static#F(){return`(${String((()=>{const e=[];let t=null;return{async getMessage(){const r=e.length>0?Promise.resolve():new Promise((e=>{t=e}));return await r,e.shift()},sendMessage(r){e.push(r),null!==t&&(t(),t=null)}}}))})()`}static async#j(e){const t=await e.cdpClient.sendCommand("Runtime.evaluate",{expression:this.#F(),contextId:e.executionContextId,serializationOptions:{serialization:"idOnly"}});if(t.exceptionDetails||void 0===t.result.objectId)throw new Error("Cannot create channel");return t.result.objectId}static async#L(e,t){return(await e.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String((e=>e.sendMessage)),arguments:[{objectId:t}],executionContextId:e.executionContextId,serializationOptions:{serialization:"idOnly"}})).result.objectId}async#B(e,t,r){for(;;){const n=await e.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String((async e=>e.getMessage())),arguments:[{objectId:t}],awaitPromise:!0,executionContextId:e.executionContextId,serializationOptions:{serialization:"deep",...void 0===this.#z.serializationOptions?.maxObjectDepth||null===this.#z.serializationOptions.maxObjectDepth?{}:{maxDepth:this.#z.serializationOptions.maxObjectDepth}}});if(n.exceptionDetails)return;r.registerEvent({method:de.Script.EventNames.MessageEvent,params:{channel:this.#z.channel,data:e.cdpToBidiValue(n,this.#z.ownership??"none"),source:{realm:e.realmId,context:e.browsingContextId}}},e.browsingContextId)}}async#K(e){const t=await e.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String((e=>{const t=window;if(void 0===t[e])return new Promise((r=>t[e]=r));const r=t[e];return delete t[e],r})),arguments:[{value:this.#A}],executionContextId:e.executionContextId,awaitPromise:!0,serializationOptions:{serialization:"idOnly"}});if(void 0!==t.exceptionDetails||void 0===t.result.objectId)throw new Error(`ChannelHandle not found in window["${this.#A}"]`);return t.result.objectId}getEvalInWindowStr(){const e=String(((e,t)=>{const r=window;return void 0===r[e]?r[e]=t:(r[e](t),delete r[e]),t.sendMessage})),t=ue.#F();return`(${e})('${this.#A}',${t})`}}ie.ChannelProxy=ue,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.ScriptEvaluator=e.SHARED_ID_DIVIDER=void 0;const t=b,r=ie;e.SHARED_ID_DIVIDER="_element_";class n{#U;constructor(e){this.#U=e}static async stringifyObject(e,t){return(await t.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String((e=>String(e))),awaitPromise:!1,arguments:[e],returnByValue:!0,executionContextId:t.executionContextId})).result.value}async serializeCdpObject(e,t,r){const s=n.#V(e),a=await r.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String((e=>e)),awaitPromise:!1,arguments:[s],serializationOptions:{serialization:"deep"},executionContextId:r.executionContextId});return r.cdpToBidiValue(a,t)}async scriptEvaluate(e,t,r,n,s){if(![0,null,void 0].includes(s.maxDomDepth))throw new Error("serializationOptions.maxDomDepth other than 0 or null is not supported");const a=await e.cdpClient.sendCommand("Runtime.evaluate",{contextId:e.executionContextId,expression:t,awaitPromise:r,serializationOptions:{serialization:"deep",...void 0===s.maxObjectDepth||null===s.maxObjectDepth?{}:{maxDepth:s.maxObjectDepth}}});return a.exceptionDetails?{exceptionDetails:await this.#$(a.exceptionDetails,0,n,e),type:"exception",realm:e.realmId}:{type:"success",result:e.cdpToBidiValue(a,n),realm:e.realmId}}async callFunction(e,r,n,s,a,i,o){if(![0,null,void 0].includes(o.maxDomDepth))throw new Error("serializationOptions.maxDomDepth other than 0 or null is not supported");const d=`(...args)=>{ return _callFunction((\n${r}\n), args);\n      function _callFunction(f, args) {\n        const deserializedThis = args.shift();\n        const deserializedArgs = args;\n        return f.apply(deserializedThis, deserializedArgs);\n      }}`,c=[await this.#q(n,e)];let u;c.push(...await Promise.all(s.map((async t=>this.#q(t,e)))));try{u=await e.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:d,awaitPromise:a,arguments:c,serializationOptions:{serialization:"deep",...void 0===o.maxObjectDepth||null===o.maxObjectDepth?{}:{maxDepth:o.maxObjectDepth}},executionContextId:e.executionContextId})}catch(e){if(-32e3===e.code&&["Could not find object with given id","Argument should belong to the same JavaScript world as target object","Invalid remote object id"].includes(e.message))throw new t.Message.NoSuchHandleException("Handle was not found.");throw e}return u.exceptionDetails?{exceptionDetails:await this.#$(u.exceptionDetails,1,i,e),type:"exception",realm:e.realmId}:{type:"success",result:e.cdpToBidiValue(u,i),realm:e.realmId}}static#V(e){return void 0!==e.objectId?{objectId:e.objectId}:void 0!==e.unserializableValue?{unserializableValue:e.unserializableValue}:{value:e.value}}async#q(n,s){if("sharedId"in n){const[r,a]=n.sharedId.split(e.SHARED_ID_DIVIDER),i=parseInt(a??"");if(isNaN(i)||void 0===i||void 0===r)throw new t.Message.NoSuchNodeException(`SharedId "${n.sharedId}" was not found.`);if(s.navigableId!==r)throw new t.Message.NoSuchNodeException(`SharedId "${n.sharedId}" belongs to different document. Current document is ${s.navigableId}.`);try{return{objectId:(await s.cdpClient.sendCommand("DOM.resolveNode",{backendNodeId:i,executionContextId:s.executionContextId})).object.objectId}}catch(e){if(-32e3===e.code&&"No node with given id found"===e.message)throw new t.Message.NoSuchNodeException(`SharedId "${n.sharedId}" was not found.`);throw e}}if("handle"in n)return{objectId:n.handle};switch(n.type){case"undefined":return{unserializableValue:"undefined"};case"null":return{unserializableValue:"null"};case"string":return{value:n.value};case"number":return"NaN"===n.value?{unserializableValue:"NaN"}:"-0"===n.value?{unserializableValue:"-0"}:"Infinity"===n.value?{unserializableValue:"Infinity"}:"-Infinity"===n.value?{unserializableValue:"-Infinity"}:{value:n.value};case"boolean":return{value:Boolean(n.value)};case"bigint":return{unserializableValue:`BigInt(${JSON.stringify(n.value)})`};case"date":return{unserializableValue:`new Date(Date.parse(${JSON.stringify(n.value)}))`};case"regexp":return{unserializableValue:`new RegExp(${JSON.stringify(n.value.pattern)}, ${JSON.stringify(n.value.flags)})`};case"map":{const e=await this.#W(n.value,s);return{objectId:(await s.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String(((...e)=>{const t=new Map;for(let r=0;r<e.length;r+=2)t.set(e[r],e[r+1]);return t})),awaitPromise:!1,arguments:e,returnByValue:!1,executionContextId:s.executionContextId})).result.objectId}}case"object":{const e=await this.#W(n.value,s);return{objectId:(await s.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String(((...e)=>{const t={};for(let r=0;r<e.length;r+=2){t[e[r]]=e[r+1]}return t})),awaitPromise:!1,arguments:e,returnByValue:!1,executionContextId:s.executionContextId})).result.objectId}}case"array":{const e=await this.#H(n.value,s);return{objectId:(await s.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String(((...e)=>e)),awaitPromise:!1,arguments:e,returnByValue:!1,executionContextId:s.executionContextId})).result.objectId}}case"set":{const e=await this.#H(n.value,s);return{objectId:(await s.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String(((...e)=>new Set(e))),awaitPromise:!1,arguments:e,returnByValue:!1,executionContextId:s.executionContextId})).result.objectId}}case"channel":{const e=new r.ChannelProxy(n.value);return{objectId:await e.init(s,this.#U)}}default:throw new Error(`Value ${JSON.stringify(n)} is not deserializable.`)}}async#W(e,t){const r=[];for(const[n,s]of e){let e;e="string"==typeof n?{value:n}:await this.#q(n,t);const a=await this.#q(s,t);r.push(e),r.push(a)}return r}async#H(e,t){return Promise.all(e.map((e=>this.#q(e,t))))}async#$(e,t,r,s){const a=e.stackTrace?.callFrames.map((e=>({url:e.url,functionName:e.functionName,lineNumber:e.lineNumber-t,columnNumber:e.columnNumber}))),i=await this.serializeCdpObject(e.exception,r,s),o=await n.stringifyObject(e.exception,s);return{exception:i,columnNumber:e.columnNumber,lineNumber:e.lineNumber-t,stackTrace:{callFrames:a??[]},text:o||e.text}}}e.ScriptEvaluator=n}(ae),Object.defineProperty(se,"__esModule",{value:!0}),se.Realm=void 0;const le=b,pe=P,he=ae;se.Realm=class{#J;#G;#X;#Y;#Q;#ee;#te;#re;#U;#ne;sandbox;cdpSessionId;#t;constructor(e,t,r,n,s,a,i,o,d,c,u,l){this.#X=r,this.#Y=n,this.#Q=s,this.sandbox=o,this.#ee=a,this.#te=i,this.cdpSessionId=d,this.#re=c,this.#J=e,this.#G=t,this.#U=u,this.#ne=new he.ScriptEvaluator(this.#U),this.#J.addRealm(this),this.#t=l,this.#U.registerEvent({method:le.Script.EventNames.RealmCreated,params:this.toBiDi()},this.browsingContextId)}async#se(e){try{await this.cdpClient.sendCommand("Runtime.releaseObject",{objectId:e})}catch(e){if(-32e3!==e.code||"Invalid remote object id"!==e.message)throw e}}async disown(e){this.#J.knownHandlesToRealm.get(e)===this.realmId&&(await this.#se(e),this.#J.knownHandlesToRealm.delete(e))}cdpToBidiValue(e,t){const r=e.result.deepSerializedValue,n=this.deepSerializedToBiDi(r);if(e.result.objectId){const r=e.result.objectId;"root"===t?(n.handle=r,this.#J.knownHandlesToRealm.set(r,this.realmId)):this.#se(r).catch((e=>this.#t?.(pe.LogType.system,e)))}return n}deepSerializedToBiDi(e){const t=e;if(Object.hasOwn(t,"weakLocalObjectReference")&&(t.internalId=`${t.weakLocalObjectReference}`,delete t.weakLocalObjectReference),"platformobject"===t.type)return{type:"object"};const r=t.value;if(void 0===r)return t;if("node"===t.type&&(Object.hasOwn(r,"backendNodeId")&&(t.sharedId=`${this.navigableId}${he.SHARED_ID_DIVIDER}${r.backendNodeId}`,delete r.backendNodeId),Object.hasOwn(r,"children")))for(const e in r.children)r.children[e]=this.deepSerializedToBiDi(r.children[e]);if(["array","set"].includes(e.type))for(const e in r)r[e]=this.deepSerializedToBiDi(r[e]);if(["object","map"].includes(e.type))for(const e in r)r[e]=[this.deepSerializedToBiDi(r[e][0]),this.deepSerializedToBiDi(r[e][1])];return t}toBiDi(){return{realm:this.realmId,origin:this.origin,type:this.type,context:this.browsingContextId,...void 0===this.sandbox?{}:{sandbox:this.sandbox}}}get realmId(){return this.#X}get navigableId(){return this.#G.findContext(this.#Y)?.navigableId??"UNKNOWN"}get browsingContextId(){return this.#Y}get executionContextId(){return this.#Q}get origin(){return this.#ee}get type(){return this.#te}get cdpClient(){return this.#re}async callFunction(e,t,r,n,s,a){const i=this.#G.getContext(this.browsingContextId);return await i.awaitUnblocked(),{result:await this.#ne.callFunction(this,e,t,r,n,s,a)}}async scriptEvaluate(e,t,r,n){const s=this.#G.getContext(this.browsingContextId);return await s.awaitUnblocked(),{result:await this.#ne.scriptEvaluate(this,e,t,r,n)}}async serializeCdpObject(e,t){return this.#ne.serializeCdpObject(e,t,this)}async stringifyObject(e){return he.ScriptEvaluator.stringifyObject(e,this)}delete(){this.#U.registerEvent({method:le.Script.EventNames.RealmDestroyed,params:{realm:this.realmId}},this.browsingContextId)}},Object.defineProperty(ee,"__esModule",{value:!0}),ee.BrowsingContextImpl=void 0;const me=te,ge=b,fe=P,ve=re,ye=se;class xe{#A;#ae;#ie=new Set;#G;#oe={documentInitialized:new ve.Deferred,Page:{navigatedWithinDocument:new ve.Deferred,lifecycleEvent:{DOMContentLoaded:new ve.Deferred,load:new ve.Deferred}}};#de="about:blank";#U;#J;#ce;#ue;#le;#pe=!1;#t;constructor(e,t,r,n,s,a,i){this.#ue=e,this.#J=t,this.#A=r,this.#ae=n,this.#U=s,this.#G=a,this.#t=i}static create(e,t,r,n,s,a,i){const o=new xe(e,t,r,n,s,a,i);return o.#he(),a.addContext(o),o.isTopLevelContext()||o.parent.addChild(o.id),s.registerEvent({method:ge.BrowsingContext.EventNames.ContextCreatedEvent,params:o.serializeToBidiValue()},o.id),o}static getTimestamp(){return(new Date).getTime()}get navigableId(){return this.#ce}delete(){this.#me(),this.#J.deleteRealms({browsingContextId:this.id}),this.isTopLevelContext()||this.parent.#ie.delete(this.id),this.#U.registerEvent({method:ge.BrowsingContext.EventNames.ContextDestroyedEvent,params:this.serializeToBidiValue()},this.id),this.#G.deleteContextById(this.id)}get id(){return this.#A}get parentId(){return this.#ae}get parent(){return null===this.parentId?null:this.#G.getContext(this.parentId)}get directChildren(){return[...this.#ie].map((e=>this.#G.getContext(e)))}get allChildren(){const e=this.directChildren;return e.concat(...e.map((e=>e.allChildren)))}isTopLevelContext(){return null===this.#ae}get top(){let e=this,t=e.parent;for(;t;)e=t,t=e.parent;return e}addChild(e){this.#ie.add(e)}#me(){this.directChildren.map((e=>e.delete()))}get#ge(){if(void 0===this.#le)throw new Error(`No default realm for browsing context ${this.#A}`);return this.#le}get cdpTarget(){return this.#ue}updateCdpTarget(e){this.#ue=e,this.#he()}get url(){return this.#de}async awaitLoaded(){await this.#oe.Page.lifecycleEvent.load}awaitUnblocked(){return this.#ue.targetUnblocked}async getOrCreateSandbox(e){if(void 0===e||""===e)return this.#ge;let t=this.#J.findRealms({browsingContextId:this.id,sandbox:e});if(0===t.length&&(await this.#ue.cdpClient.sendCommand("Page.createIsolatedWorld",{frameId:this.id,worldName:e}),t=this.#J.findRealms({browsingContextId:this.id,sandbox:e})),1!==t.length)throw Error(`Sandbox ${e} wasn't created.`);return t[0]}serializeToBidiValue(e=0,t=!0){return{context:this.#A,url:this.url,children:e>0?this.directChildren.map((t=>t.serializeToBidiValue(e-1,!1))):null,...t?{parent:this.#ae}:{}}}onTargetInfoChanged(e){this.#de=e.targetInfo.url,this.#pe&&(this.#U.registerEvent({method:ge.BrowsingContext.EventNames.NavigationStarted,params:{context:this.id,navigation:null,timestamp:xe.getTimestamp(),url:this.#de}},this.id),this.#pe=!1)}#he(){this.#ue.cdpClient.on("Page.frameNavigated",(e=>{if(this.id!==e.frame.id)return;const t=xe.getTimestamp();this.#de=e.frame.url+(e.frame.urlFragment??""),this.#me(),this.#U.registerEvent({method:ge.BrowsingContext.EventNames.FragmentNavigated,params:{context:this.id,navigation:this.#ce??null,timestamp:t,url:this.#de}},this.id)})),this.#ue.cdpClient.on("Page.navigatedWithinDocument",(e=>{if(this.id!==e.frameId)return;const t=xe.getTimestamp();this.#de=e.url,this.#oe.Page.navigatedWithinDocument.resolve(e),this.#U.registerEvent({method:ge.BrowsingContext.EventNames.FragmentNavigated,params:{context:this.id,navigation:null,timestamp:t,url:this.#de}},this.id)})),this.#ue.cdpClient.on("Page.frameStartedLoading",(e=>{this.id===e.frameId&&(this.#pe=!0)})),this.#ue.cdpClient.on("Page.frameStoppedLoading",(e=>{this.id===e.frameId&&(this.#pe=!1)})),this.#ue.cdpClient.on("Page.lifecycleEvent",(e=>{if(this.id!==e.frameId)return;if("init"===e.name)return this.#fe(e.loaderId),void this.#oe.documentInitialized.resolve();if("commit"===e.name)return void(this.#ce=e.loaderId);if(e.loaderId!==this.#ce)return;const t=xe.getTimestamp();switch(e.name){case"DOMContentLoaded":this.#oe.Page.lifecycleEvent.DOMContentLoaded.resolve(e),this.#U.registerEvent({method:ge.BrowsingContext.EventNames.DomContentLoadedEvent,params:{context:this.id,navigation:this.#ce??null,timestamp:t,url:this.#de}},this.id);break;case"load":this.#oe.Page.lifecycleEvent.load.resolve(e),this.#U.registerEvent({method:ge.BrowsingContext.EventNames.LoadEvent,params:{context:this.id,navigation:this.#ce??null,timestamp:t,url:this.#de}},this.id)}})),this.#ue.cdpClient.on("Runtime.executionContextCreated",(e=>{if(e.context.auxData.frameId!==this.id)return;if(!["default","isolated"].includes(e.context.auxData.type))return;const t=new ye.Realm(this.#J,this.#G,e.context.uniqueId,this.id,e.context.id,this.#ve(e),"window","isolated"===e.context.auxData.type?e.context.name:void 0,this.#ue.cdpSessionId,this.#ue.cdpClient,this.#U,this.#t);e.context.auxData.isDefault&&(this.#le=t,Promise.all(this.#ue.getChannels(this.id).map((e=>e.startListenerFromWindow(t,this.#U)))))})),this.#ue.cdpClient.on("Runtime.executionContextDestroyed",(e=>{this.#J.deleteRealms({cdpSessionId:this.#ue.cdpSessionId,executionContextId:e.executionContextId})})),this.#ue.cdpClient.on("Runtime.executionContextsCleared",(()=>{this.#J.deleteRealms({cdpSessionId:this.#ue.cdpSessionId})}))}#ve(e){return"isolated"===e.context.auxData.type?this.#ge.origin:["://",""].includes(e.context.origin)?"null":e.context.origin}#fe(e){void 0!==e&&this.#ce!==e?(this.#ye(),this.#ce=e):this.#oe.Page.navigatedWithinDocument.isFinished?this.#oe.Page.navigatedWithinDocument=new ve.Deferred:this.#t?.(fe.LogType.browsingContexts,"Document changed (navigatedWithinDocument)")}#ye(){this.#oe.documentInitialized.isFinished?this.#oe.documentInitialized=new ve.Deferred:this.#t?.(fe.LogType.browsingContexts,"Document changed (document initialized)"),this.#oe.Page.lifecycleEvent.DOMContentLoaded.isFinished?this.#oe.Page.lifecycleEvent.DOMContentLoaded=new ve.Deferred:this.#t?.(fe.LogType.browsingContexts,"Document changed (DOMContentLoaded)"),this.#oe.Page.lifecycleEvent.load.isFinished?this.#oe.Page.lifecycleEvent.load=new ve.Deferred:this.#t?.(fe.LogType.browsingContexts,"Document changed (load)")}async navigate(e,t){await this.awaitUnblocked();const r=await this.#ue.cdpClient.sendCommand("Page.navigate",{url:e,frameId:this.id});if(r.errorText)throw new ge.Message.UnknownErrorException(r.errorText);switch(this.#fe(r.loaderId),t){case"none":break;case"interactive":void 0===r.loaderId?await this.#oe.Page.navigatedWithinDocument:await this.#oe.Page.lifecycleEvent.DOMContentLoaded;break;case"complete":void 0===r.loaderId?await this.#oe.Page.navigatedWithinDocument:await this.awaitLoaded()}return{result:{navigation:r.loaderId??null,url:e}}}async reload(e,t){switch(await this.awaitUnblocked(),await this.#ue.cdpClient.sendCommand("Page.reload",{ignoreCache:e}),this.#ye(),t){case"none":break;case"interactive":await this.#oe.Page.lifecycleEvent.DOMContentLoaded;break;case"complete":await this.awaitLoaded()}return{result:{}}}async setViewport(e){if(null===e)await this.#ue.cdpClient.sendCommand("Emulation.clearDeviceMetricsOverride");else try{await this.#ue.cdpClient.sendCommand("Emulation.setDeviceMetricsOverride",{width:e.width,height:e.height,deviceScaleFactor:0,mobile:!1,dontSetVisibleSize:!0})}catch(e){if(e.message.startsWith("Width and height values must be positive"))throw new ge.Message.UnsupportedOperationException("Provided viewport dimensions are not supported");throw e}}async captureScreenshot(){let e;if(await this.#ue.cdpClient.sendCommand("Page.bringToFront"),this.isTopLevelContext()){const{cssContentSize:t,cssLayoutViewport:r}=await this.#ue.cdpClient.sendCommand("Page.getLayoutMetrics");e={x:t.x,y:t.y,width:r.clientWidth,height:r.clientHeight}}else{const{result:{value:t}}=await this.#ue.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String((()=>{const e=globalThis.document.documentElement.getBoundingClientRect();return JSON.stringify({x:e.x,y:e.y,width:e.width,height:e.height})})),executionContextId:this.#ge.executionContextId});e=JSON.parse(t)}return{result:{data:(await this.#ue.cdpClient.sendCommand("Page.captureScreenshot",{clip:{...e,scale:1}})).data}}}async print(e){const t={};void 0!==e.background&&(t.printBackground=e.background),void 0!==e.margin?.bottom&&(t.marginBottom=(0,me.inchesFromCm)(e.margin.bottom)),void 0!==e.margin?.left&&(t.marginLeft=(0,me.inchesFromCm)(e.margin.left)),void 0!==e.margin?.right&&(t.marginRight=(0,me.inchesFromCm)(e.margin.right)),void 0!==e.margin?.top&&(t.marginTop=(0,me.inchesFromCm)(e.margin.top)),void 0!==e.orientation&&(t.landscape="landscape"===e.orientation),void 0!==e.page?.height&&(t.paperHeight=(0,me.inchesFromCm)(e.page.height)),void 0!==e.page?.width&&(t.paperWidth=(0,me.inchesFromCm)(e.page.width)),void 0!==e.pageRanges&&(t.pageRanges=e.pageRanges.join(",")),void 0!==e.scale&&(t.scale=e.scale),void 0!==e.shrinkToFit&&(t.preferCSSPageSize=!e.shrinkToFit);return{result:{data:(await this.#ue.cdpClient.sendCommand("Page.printToPDF",t)).data}}}}ee.BrowsingContextImpl=xe;var we={},be={},Ce={};Object.defineProperty(Ce,"__esModule",{value:!0}),Ce.getRemoteValuesText=Ce.logMessageFormatter=void 0;const Ie=["%s","%d","%i","%f","%o","%O","%c"];function _e(e){return Ie.some((t=>e.includes(t)))}function Se(e){let t="";const r=e[0].value.toString(),n=e.slice(1,void 0),s=r.split(new RegExp(Ie.map((e=>`(${e})`)).join("|"),"g"));for(const r of s)if(void 0!==r&&""!==r)if(_e(r)){const s=n.shift();if(void 0===s)throw new Error(`Less value is provided: "${Ee(e,!1)}"`);"%s"===r?t+=Pe(s):"%d"===r||"%i"===r?"bigint"===s.type||"number"===s.type||"string"===s.type?t+=parseInt(s.value.toString(),10):t+="NaN":"%f"===r?"bigint"===s.type||"number"===s.type||"string"===s.type?t+=parseFloat(s.value.toString()):t+="NaN":t+=Te(s)}else t+=r;if(n.length>0)throw new Error(`More value is provided: "${Ee(e,!1)}"`);return t}function Te(e){if("array"!==e.type&&"bigint"!==e.type&&"date"!==e.type&&"number"!==e.type&&"object"!==e.type&&"string"!==e.type)return Pe(e);if("bigint"===e.type)return`${e.value.toString()}n`;if("number"===e.type)return e.value.toString();if(["date","string"].includes(e.type))return JSON.stringify(e.value);if("object"===e.type)return`{${e.value.map((e=>`${JSON.stringify(e[0])}:${Te(e[1])}`)).join(",")}}`;if("array"===e.type)return`[${e.value?.map((e=>Te(e))).join(",")??""}]`;throw Error(`Invalid value type: ${e.toString()}`)}function Pe(e){if(!Object.hasOwn(e,"value"))return e.type;switch(e.type){case"string":case"number":case"boolean":case"bigint":return String(e.value);case"regexp":return`/${e.value.pattern}/${e.value.flags??""}`;case"date":return new Date(e.value).toString();case"object":return`Object(${e.value?.length??""})`;case"array":return`Array(${e.value?.length??""})`;case"map":return`Map(${e.value.length})`;case"set":return`Set(${e.value.length})`;case"node":return"node";default:return e.type}}function Ee(e,t){const r=e[0];return r?"string"===r.type&&_e(r.value.toString())&&t?Se(e):e.map((e=>Pe(e))).join(" "):""}Ce.logMessageFormatter=Se,Ce.getRemoteValuesText=Ee,Object.defineProperty(be,"__esModule",{value:!0}),be.LogManager=void 0;const ke=b,Ne=Ce;function Me(e){const t=e?.callFrames.map((e=>({columnNumber:e.columnNumber,functionName:e.functionName,lineNumber:e.lineNumber,url:e.url})));return t?{callFrames:t}:void 0}class Oe{#U;#J;#ue;constructor(e,t,r){this.#ue=e,this.#J=t,this.#U=r}static create(e,t,r){const n=new Oe(e,t,r);return n.#xe(),n}#xe(){this.#we()}#we(){this.#ue.cdpClient.on("Runtime.consoleAPICalled",(e=>{const t=this.#J.findRealm({cdpSessionId:this.#ue.cdpSessionId,executionContextId:e.executionContextId}),r=void 0===t?Promise.resolve(e.args):Promise.all(e.args.map((e=>t.serializeCdpObject(e,"none"))));this.#U.registerPromiseEvent(r.then((r=>{return{method:ke.Log.EventNames.LogEntryAddedEvent,params:{level:(n=e.type,["assert","error"].includes(n)?"error":["debug","trace"].includes(n)?"debug":["warn","warning"].includes(n)?"warn":"info"),source:{realm:t?.realmId??"UNKNOWN",context:t?.browsingContextId??"UNKNOWN"},text:(0,Ne.getRemoteValuesText)(r,!0),timestamp:Math.round(e.timestamp),stackTrace:Me(e.stackTrace),type:"console",method:"warning"===e.type?"warn":e.type,args:r}};var n})),t?.browsingContextId??"UNKNOWN",ke.Log.EventNames.LogEntryAddedEvent)})),this.#ue.cdpClient.on("Runtime.exceptionThrown",(e=>{const t=this.#J.findRealm({cdpSessionId:this.#ue.cdpSessionId,executionContextId:e.exceptionDetails.executionContextId}),r=(async()=>e.exceptionDetails.exception?void 0===t?JSON.stringify(e.exceptionDetails.exception):t.stringifyObject(e.exceptionDetails.exception):e.exceptionDetails.text)();this.#U.registerPromiseEvent(r.then((r=>({method:ke.Log.EventNames.LogEntryAddedEvent,params:{level:"error",source:{realm:t?.realmId??"UNKNOWN",context:t?.browsingContextId??"UNKNOWN"},text:r,timestamp:Math.round(e.timestamp),stackTrace:Me(e.exceptionDetails.stackTrace),type:"javascript"}}))),t?.browsingContextId??"UNKNOWN",ke.Log.EventNames.LogEntryAddedEvent)}))}}be.LogManager=Oe;var De={},Ze={};Object.defineProperty(Ze,"__esModule",{value:!0}),Ze.DefaultMap=void 0;class Re extends Map{#be;constructor(e,t){super(t),this.#be=e}get(e){return this.has(e)||this.set(e,this.#be(e)),super.get(e)}}Ze.DefaultMap=Re;var ze={};Object.defineProperty(ze,"__esModule",{value:!0}),ze.NetworkRequest=void 0;const Ae=re,je=b;class Le{static#Ce="UNKNOWN";requestId;#Ie=!1;#_e;#U;#Se;#Te;#Pe;#Ee;#ke=new Ae.Deferred;#Ne=new Ae.Deferred;constructor(e,t){this.requestId=e,this.#_e=0,this.#U=t}onRequestWillBeSentEvent(e){void 0===this.#Se&&(this.#Se=e,void 0!==this.#Te&&this.#ke.resolve(),this.#Me())}onRequestWillBeSentExtraInfoEvent(e){void 0===this.#Te&&(this.#Te=e,void 0!==this.#Se&&this.#ke.resolve())}onResponseReceivedEventExtraInfo(e){void 0===this.#Ee&&(this.#Ee=e,void 0!==this.#Pe&&this.#Ne.resolve())}onResponseReceivedEvent(e){void 0===this.#Pe&&(this.#Pe=e,e.hasExtraInfo||this.#ke.isFinished||this.#ke.resolve(),e.hasExtraInfo&&void 0===this.#Ee&&!this.#Ie||this.#Ne.resolve(),this.#Oe())}onServedFromCache(){void 0!==this.#Se&&this.#ke.resolve(),void 0!==this.#Pe&&this.#Ne.resolve(),this.#Ie=!0}onLoadingFailedEvent(e){this.#ke.resolve(),this.#Ne.reject(e),this.#U.registerEvent({method:je.Network.EventNames.FetchErrorEvent,params:{...this.#De(),errorText:e.errorText}},this.#Se?.frameId??null)}#De(){return{context:this.#Se?.frameId??null,navigation:this.#Ze(),redirectCount:this.#_e,request:this.#Re(),timestamp:Math.round(1e3*(this.#Se?.wallTime??0))}}#Ze(){return this.#Se&&this.#Se.loaderId&&this.#Se.loaderId===this.#Se.requestId?this.#Se.loaderId:null}#Re(){const e=this.#Te?Le.#ze(this.#Te.associatedCookies):[];return{request:this.#Se?.requestId??Le.#Ce,url:this.#Se?.request.url??Le.#Ce,method:this.#Se?.request.method??Le.#Ce,headers:Le.#Ae(this.#Se?.request.headers),cookies:e,headersSize:-1,bodySize:0,timings:{timeOrigin:0,requestTime:0,redirectStart:0,redirectEnd:0,fetchStart:0,dnsStart:0,dnsEnd:0,connectStart:0,connectEnd:0,tlsStart:0,requestStart:0,responseStart:0,responseEnd:0}}}#Me(){this.#je()||this.#U.registerPromiseEvent(this.#ke.then((()=>this.#Le())),this.#Se?.frameId??null,je.Network.EventNames.BeforeRequestSentEvent)}#Le(){if(void 0===this.#Se)throw new Error("RequestWillBeSentEvent is not set");return{method:je.Network.EventNames.BeforeRequestSentEvent,params:{...this.#De(),initiator:{type:Le.#Be(this.#Se.initiator.type)}}}}#Oe(){this.#je()||this.#U.registerPromiseEvent(this.#Ne.then((()=>this.#Ke())),this.#Pe?.frameId??null,je.Network.EventNames.ResponseCompletedEvent)}#Ke(){if(void 0===this.#Se)throw new Error("RequestWillBeSentEvent is not set");if(void 0===this.#Pe)throw new Error("ResponseReceivedEvent is not set");this.#Pe.response.fromDiskCache&&(this.#Ee=void 0);const e=Le.#Ae(this.#Pe.response.headers);return{method:je.Network.EventNames.ResponseCompletedEvent,params:{...this.#De(),response:{url:this.#Pe.response.url,protocol:this.#Pe.response.protocol??"",status:this.#Ee?.statusCode??this.#Pe.response.status,statusText:this.#Pe.response.statusText,fromCache:this.#Pe.response.fromDiskCache||this.#Pe.response.fromPrefetchCache||this.#Ie,headers:e,mimeType:this.#Pe.response.mimeType,bytesReceived:this.#Pe.response.encodedDataLength,headersSize:this.#Fe(e),bodySize:0,content:{size:0}}}}}#Fe(e){return e.reduce(((e,t)=>e+t.name.length+(t.value?.length??0)+4),0)}#je(){return this.#Se?.request.url.endsWith("/favicon.ico")??!1}static#Ae(e){return e?Object.entries(e).map((([e,t])=>({name:e,value:t}))):[]}static#Be(e){switch(e){case"parser":case"script":case"preflight":return e;default:return"other"}}static#ze(e){return e.map((e=>({name:e.cookie.name,value:e.cookie.value,domain:e.cookie.domain,path:e.cookie.path,expires:e.cookie.expires,size:e.cookie.size,httpOnly:e.cookie.httpOnly,secure:e.cookie.secure,sameSite:Le.#Ue(e.cookie.sameSite)})))}static#Ue(e){switch(e){case"Strict":return"strict";case"Lax":return"lax";default:return"none"}}}ze.NetworkRequest=Le,Object.defineProperty(De,"__esModule",{value:!0}),De.NetworkProcessor=void 0;const Be=Ze,Ke=ze;class Fe{#U;#Ve;constructor(e){this.#U=e,this.#Ve=new Be.DefaultMap((e=>new Ke.NetworkRequest(e,this.#U)))}static async create(e,t){const r=new Fe(t);return e.on("Network.requestWillBeSent",(e=>{r.#$e(e.requestId).onRequestWillBeSentEvent(e)})),e.on("Network.requestWillBeSentExtraInfo",(e=>{r.#$e(e.requestId).onRequestWillBeSentExtraInfoEvent(e)})),e.on("Network.responseReceived",(e=>{r.#$e(e.requestId).onResponseReceivedEvent(e)})),e.on("Network.responseReceivedExtraInfo",(e=>{r.#$e(e.requestId).onResponseReceivedEventExtraInfo(e)})),e.on("Network.loadingFailed",(e=>{r.#$e(e.requestId).onLoadingFailedEvent(e)})),e.on("Network.requestServedFromCache",(e=>{r.#$e(e.requestId).onServedFromCache()})),await e.sendCommand("Network.enable"),r}#$e(e){return this.#Ve.get(e)}}De.NetworkProcessor=Fe,Object.defineProperty(we,"__esModule",{value:!0}),we.CdpTarget=void 0;const Ue=be,Ve=re,$e=De;class qe{#qe;#We;#re;#He;#U;#Je;#Ge;#Xe;static create(e,t,r,n,s,a,i){const o=new qe(e,t,r,n,a,i);return Ue.LogManager.create(o,s,a),o.#Ye(),o.#Qe(),o}constructor(e,t,r,n,s,a){this.#qe=e,this.#We=t,this.#re=r,this.#He=n,this.#U=s,this.#Je=a,this.#Xe=!1,this.#Ge=new Ve.Deferred}get targetUnblocked(){return this.#Ge}get targetId(){return this.#qe}get cdpClient(){return this.#re}get cdpSessionId(){return this.#He}async#Qe(){try{this.#U.isNetworkDomainEnabled&&await this.enableNetworkDomain(),await this.#re.sendCommand("Runtime.enable"),await this.#re.sendCommand("Page.enable"),await this.#re.sendCommand("Page.setLifecycleEventsEnabled",{enabled:!0}),await this.#re.sendCommand("Target.setAutoAttach",{autoAttach:!0,waitForDebuggerOnStart:!0,flatten:!0}),await this.#et(),await this.#re.sendCommand("Runtime.runIfWaitingForDebugger")}catch(e){if(!this.#re.isCloseError(e))throw e}this.#Ge.resolve()}async enableNetworkDomain(){this.#Xe||(this.#Xe=!0,await $e.NetworkProcessor.create(this.cdpClient,this.#U))}#Ye(){this.#re.on("*",((e,t)=>{"string"==typeof e&&this.#U.registerEvent({method:`cdp.${e}`,params:{event:e,params:t,session:this.#He}},null)}))}getChannels(e){return this.#Je.findPreloadScripts({contextIds:[null,e]}).flatMap((e=>e.channels))}async#et(){for(const e of this.#Je.findPreloadScripts({contextIds:[null,this.#We]}))await e.initInTarget(this),e.scheduleEvaluateInTarget(this)}}we.CdpTarget=qe;var We={};Object.defineProperty(We,"__esModule",{value:!0}),We.BidiPreloadScript=void 0;const He=oe,Je=ie;We.BidiPreloadScript=class{#A=(0,He.uuidv4)();#tt=[];#rt;#nt;#st=new Set;#at;get id(){return this.#A}get contextId(){return this.#nt}get targetIds(){return this.#st}constructor(e){if(void 0!==e.sandbox)throw new Error("Sandbox is not supported yet");this.#at=e.arguments?.map((e=>new Je.ChannelProxy(e.value)))??[],this.#rt=e.functionDeclaration,this.#nt=e.context??null}get channels(){return this.#at}async initInTargets(e){await Promise.all(Array.from(e).map((e=>this.initInTarget(e))))}#it(){const e=`[${this.channels.map((e=>e.getEvalInWindowStr())).join(", ")}]`;return`(()=>{(${this.#rt})(...${e})})()`}async initInTarget(e){const t=await e.cdpClient.sendCommand("Page.addScriptToEvaluateOnNewDocument",{source:this.#it()});this.#tt.push({target:e,preloadScriptId:t.identifier}),this.#st.add(e.targetId)}scheduleEvaluateInTarget(e){e.cdpClient.sendCommand("Runtime.evaluate",{expression:this.#it()})}async remove(){for(const e of this.#tt){const t=e.target,r=e.preloadScriptId;await t.cdpClient.sendCommand("Page.removeScriptToEvaluateOnNewDocument",{identifier:r})}}cdpTargetIsGone(e){this.#tt=this.#tt.filter((t=>t.target?.targetId!==e)),this.#st.delete(e)}},Object.defineProperty(M,"__esModule",{value:!0}),M.BrowsingContextProcessor=void 0;const Ge=b,Xe=P,Ye=O,Qe=F,et=Q,tt=ee,rt=we,nt=We;M.BrowsingContextProcessor=class{#G;#ot;#U;#t;#J;#dt;#Je=new et.PreloadScriptStorage;#ct=new Ye.InputStateManager;constructor(e,t,r,n,s,a){this.#ot=e,this.#dt=t,this.#U=r,this.#G=n,this.#J=s,this.#t=a,this.#Ye(this.#ot.browserClient())}#Ye(e){e.on("Target.attachedToTarget",(t=>{this.#ut(t,e)})),e.on("Target.detachedFromTarget",(e=>{this.#lt(e)})),e.on("Target.targetInfoChanged",(e=>{this.#pt(e)})),e.on("Page.frameAttached",(e=>{this.#ht(e)})),e.on("Page.frameDetached",(e=>{this.#mt(e)}))}#ht(e){const t=this.#G.findContext(e.parentFrameId);void 0!==t&&tt.BrowsingContextImpl.create(t.cdpTarget,this.#J,e.frameId,e.parentFrameId,this.#U,this.#G,this.#t)}#mt(e){"swap"!==e.reason&&this.#G.findContext(e.frameId)?.delete()}#ut(e,t){const{sessionId:r,targetInfo:n}=e,s=this.#ot.getCdpClient(r);if(!this.#gt(n))return void s.sendCommand("Runtime.runIfWaitingForDebugger").then((()=>t.sendCommand("Target.detachFromTarget",e))).catch((e=>this.#t?.(Xe.LogType.system,e)));this.#t?.(Xe.LogType.browsingContexts,"AttachedToTarget event received:",JSON.stringify(e,null,2)),this.#Ye(s);const a=this.#G.findContext(n.targetId),i=rt.CdpTarget.create(n.targetId,a?.parentId??null,s,r,this.#J,this.#U,this.#Je);a?a.updateCdpTarget(i):tt.BrowsingContextImpl.create(i,this.#J,n.targetId,null,this.#U,this.#G,this.#t)}#lt(e){const t=e.targetId;this.#G.findContext(t)?.delete(),this.#Je.findPreloadScripts({targetId:t}).map((e=>e.cdpTargetIsGone(t)))}#pt(e){const t=e.targetInfo.targetId;this.#G.findContext(t)?.onTargetInfoChanged(e)}async#ft(e){if("realm"in e)return this.#J.getRealm({realmId:e.realm});return this.#G.getContext(e.context).getOrCreateSandbox(e.sandbox)}process_browsingContext_getTree(e){return{result:{contexts:(void 0===e.root?this.#G.getTopLevelContexts():[this.#G.getContext(e.root)]).map((t=>t.serializeToBidiValue(e.maxDepth??Number.MAX_VALUE)))}}}async process_browsingContext_create(e){const t=this.#ot.browserClient();let r,n;if(void 0!==e.referenceContext&&(r=this.#G.getContext(e.referenceContext),!r.isTopLevelContext()))throw new Ge.Message.InvalidArgumentException("referenceContext should be a top-level context");switch(e.type){case"tab":n=await t.sendCommand("Target.createTarget",{url:"about:blank",newWindow:!1});break;case"window":n=await t.sendCommand("Target.createTarget",{url:"about:blank",newWindow:!0})}const s=n.targetId,a=this.#G.getContext(s);return await a.awaitLoaded(),{result:{context:a.id}}}process_browsingContext_navigate(e){return this.#G.getContext(e.context).navigate(e.url,e.wait??"none")}process_browsingContext_reload(e){return this.#G.getContext(e.context).reload(e.ignoreCache??!1,e.wait??"none")}async process_browsingContext_captureScreenshot(e){return this.#G.getContext(e.context).captureScreenshot()}async process_browsingContext_print(e){return this.#G.getContext(e.context).print(e)}async process_script_addPreloadScript(e){const t=new nt.BidiPreloadScript(e);this.#Je.addPreloadScript(t);const r=new Set(void 0===e.context||null===e.context?this.#G.getTopLevelContexts().map((e=>e.cdpTarget)):[this.#G.getContext(e.context).cdpTarget]);return await t.initInTargets(r),{result:{script:t.id}}}async process_script_removePreloadScript(e){const t=e.script,r=this.#Je.findPreloadScripts({id:t});if(0===r.length)throw new Ge.Message.NoSuchScriptException(`No preload script with BiDi ID '${t}'`);return await Promise.all(r.map((e=>e.remove()))),this.#Je.removeBiDiPreloadScripts({id:t}),{result:{}}}async process_script_evaluate(e){return(await this.#ft(e.target)).scriptEvaluate(e.expression,e.awaitPromise,e.resultOwnership??"none",e.serializationOptions??{})}process_script_getRealms(e){void 0!==e.context&&this.#G.getContext(e.context);const t=this.#J.findRealms({browsingContextId:e.context,type:e.type}).map((e=>e.toBiDi()));return{result:{realms:t}}}async process_script_callFunction(e){return(await this.#ft(e.target)).callFunction(e.functionDeclaration,e.this??{type:"undefined"},e.arguments??[],e.awaitPromise,e.resultOwnership??"none",e.serializationOptions??{})}async process_script_disown(e){const t=await this.#ft(e.target);return await Promise.all(e.handles.map((async e=>t.disown(e)))),{result:{}}}async process_input_performActions(e){const t=this.#G.getContext(e.context),r=this.#ct.get(t.top),n=this.#vt(e,r),s=new Qe.ActionDispatcher(r,t,await Qe.ActionDispatcher.isMacOS(t).catch((()=>!1)));return await s.dispatchActions(n),{result:{}}}#vt(e,t){const r=[];for(const n of e.actions){switch(n.type){case Ge.Input.SourceActionsType.Pointer:{n.parameters??={pointerType:Ge.Input.PointerType.Mouse},n.parameters.pointerType??=Ge.Input.PointerType.Mouse;const e=t.getOrCreate(n.id,Ge.Input.SourceActionsType.Pointer,n.parameters.pointerType);if(e.subtype!==n.parameters.pointerType)throw new Ge.Message.InvalidArgumentException(`Expected input source ${n.id} to be ${e.subtype}; got ${n.parameters.pointerType}.`);break}default:t.getOrCreate(n.id,n.type)}const e=n.actions.map((e=>({id:n.id,action:e})));for(let t=0;t<e.length;t++)r.length===t&&r.push([]),r[t].push(e[t])}return r}async process_input_releaseActions(e){const t=this.#G.getContext(e.context),r=t.top,n=this.#ct.get(r),s=new Qe.ActionDispatcher(n,t,await Qe.ActionDispatcher.isMacOS(t).catch((()=>!1)));return await s.dispatchTickActions(n.cancelList.reverse()),this.#ct.delete(r),{result:{}}}async process_browsingContext_setViewport(e){const t=this.#G.getContext(e.context);if(!t.isTopLevelContext())throw new Ge.Message.InvalidArgumentException("Emulating viewport is only supported on the top-level context");return await t.setViewport(e.viewport),{result:{}}}async process_browsingContext_close(e){const t=this.#ot.browserClient();if(!this.#G.getContext(e.context).isTopLevelContext())throw new Ge.Message.InvalidArgumentException("A top-level browsing context cannot be closed.");const r=new Promise((r=>{const n=s=>{s.targetId===e.context&&(t.off("Target.detachedFromTarget",n),r())};t.on("Target.detachedFromTarget",n)}));return await t.sendCommand("Target.closeTarget",{targetId:e.context}),await r,{result:{}}}#gt(e){return e.targetId!==this.#dt&&["page","iframe"].includes(e.type)}async process_cdp_sendCommand(e){const t=e.session?this.#ot.getCdpClient(e.session):this.#ot.browserClient();return{result:await t.sendCommand(e.method,e.params),session:e.session}}process_cdp_getSession(e){const t=e.context,r=this.#G.getContext(t).cdpTarget.cdpSessionId;return void 0===r?{result:{session:null}}:{result:{session:r}}}};var st={};Object.defineProperty(st,"__esModule",{value:!0}),st.OutgoingBidiMessage=void 0;class at{#yt;#xt;constructor(e,t){this.#yt=e,this.#xt=t}static async createFromPromise(e,t){return e.then((e=>new at(e,t)))}static createResolved(e,t){return Promise.resolve(new at(e,t))}get message(){return this.#yt}get channel(){return this.#xt}}st.OutgoingBidiMessage=at,Object.defineProperty(N,"__esModule",{value:!0}),N.CommandProcessor=void 0;const it=b,ot=P,dt=_,ct=M,ut=st;class lt{parseAddPreloadScriptParams(e){return e}parseRemovePreloadScriptParams(e){return e}parseGetRealmsParams(e){return e}parseCallFunctionParams(e){return e}parseEvaluateParams(e){return e}parseDisownParams(e){return e}parseSendCommandParams(e){return e}parseGetSessionParams(e){return e}parseSubscribeParams(e){return e}parseNavigateParams(e){return e}parseReloadParams(e){return e}parseGetTreeParams(e){return e}parseCreateParams(e){return e}parseCloseParams(e){return e}parseCaptureScreenshotParams(e){return e}parsePrintParams(e){return e}parsePerformActionsParams(e){return e}parseReleaseActionsParams(e){return e}parseSetViewportParams(e){return e}}class pt extends dt.EventEmitter{#wt;#U;#bt;#t;constructor(e,t,r,n=new lt,s,a,i){super(),this.#U=t,this.#t=i,this.#wt=new ct.BrowsingContextProcessor(e,r,t,s,a,i),this.#bt=n}static#Ct(){return{result:{ready:!1,message:"already connected"}}}async#It(e,t){return await this.#U.subscribe(e.events,e.contexts??[null],t),{result:{}}}async#_t(e,t){return await this.#U.unsubscribe(e.events,e.contexts??[null],t),{result:{}}}async#St(e){switch(e.method){case"session.status":return pt.#Ct();case"session.subscribe":return this.#It(this.#bt.parseSubscribeParams(e.params),e.channel??null);case"session.unsubscribe":return this.#_t(this.#bt.parseSubscribeParams(e.params),e.channel??null);case"browsingContext.create":return this.#wt.process_browsingContext_create(this.#bt.parseCreateParams(e.params));case"browsingContext.close":return this.#wt.process_browsingContext_close(this.#bt.parseCloseParams(e.params));case"browsingContext.getTree":return this.#wt.process_browsingContext_getTree(this.#bt.parseGetTreeParams(e.params));case"browsingContext.navigate":return this.#wt.process_browsingContext_navigate(this.#bt.parseNavigateParams(e.params));case"browsingContext.captureScreenshot":return this.#wt.process_browsingContext_captureScreenshot(this.#bt.parseCaptureScreenshotParams(e.params));case"browsingContext.print":return this.#wt.process_browsingContext_print(this.#bt.parsePrintParams(e.params));case"browsingContext.reload":return this.#wt.process_browsingContext_reload(this.#bt.parseReloadParams(e.params));case"browsingContext.setViewport":return this.#wt.process_browsingContext_setViewport(this.#bt.parseSetViewportParams(e.params));case"script.addPreloadScript":return this.#wt.process_script_addPreloadScript(this.#bt.parseAddPreloadScriptParams(e.params));case"script.removePreloadScript":return this.#wt.process_script_removePreloadScript(this.#bt.parseRemovePreloadScriptParams(e.params));case"script.getRealms":return this.#wt.process_script_getRealms(this.#bt.parseGetRealmsParams(e.params));case"script.callFunction":return this.#wt.process_script_callFunction(this.#bt.parseCallFunctionParams(e.params));case"script.evaluate":return this.#wt.process_script_evaluate(this.#bt.parseEvaluateParams(e.params));case"script.disown":return this.#wt.process_script_disown(this.#bt.parseDisownParams(e.params));case"input.performActions":return this.#wt.process_input_performActions(this.#bt.parsePerformActionsParams(e.params));case"input.releaseActions":return this.#wt.process_input_releaseActions(this.#bt.parseReleaseActionsParams(e.params));case"cdp.sendCommand":return this.#wt.process_cdp_sendCommand(this.#bt.parseSendCommandParams(e.params));case"cdp.getSession":return this.#wt.process_cdp_getSession(this.#bt.parseGetSessionParams(e.params))}throw new it.Message.UnknownCommandException(`Unknown command '${e.method}'.`)}async processCommand(e){try{const t=await this.#St(e),r={id:e.id,...t};this.emit("response",ut.OutgoingBidiMessage.createResolved(r,e.channel??null))}catch(t){if(t instanceof it.Message.ErrorResponse){const r=t;this.emit("response",ut.OutgoingBidiMessage.createResolved(r.toErrorResponse(e.id),e.channel??null))}else{const r=t;this.#t?.(ot.LogType.bidi,r),this.emit("response",ut.OutgoingBidiMessage.createResolved(new it.Message.UnknownErrorException(r.message).toErrorResponse(e.id),e.channel??null))}}}}N.CommandProcessor=pt;var ht={};Object.defineProperty(ht,"__esModule",{value:!0}),ht.BrowsingContextStorage=void 0;const mt=b;ht.BrowsingContextStorage=class{#Tt=new Map;getTopLevelContexts(){return this.getAllContexts().filter((e=>e.isTopLevelContext()))}getAllContexts(){return Array.from(this.#Tt.values())}deleteContextById(e){this.#Tt.delete(e)}deleteContext(e){this.#Tt.delete(e.id)}addContext(e){this.#Tt.set(e.id,e)}hasContext(e){return this.#Tt.has(e)}findContext(e){return this.#Tt.get(e)}findTopLevelContextId(e){if(null===e)return null;const t=this.findContext(e),r=t?.parentId??null;return null===r?e:this.findTopLevelContextId(r)}getContext(e){const t=this.findContext(e);if(void 0===t)throw new mt.Message.NoSuchFrameException(`Context ${e} not found`);return t}};var gt={},ft={};Object.defineProperty(ft,"__esModule",{value:!0}),ft.Buffer=void 0;ft.Buffer=class{#Pt;#Et=[];#kt;constructor(e,t){this.#Pt=e,this.#kt=t}get(){return this.#Et}add(e){for(this.#Et.push(e);this.#Et.length>this.#Pt;){const e=this.#Et.shift();void 0!==e&&this.#kt?.(e)}}};var vt={};Object.defineProperty(vt,"__esModule",{value:!0}),vt.IdWrapper=void 0;class yt{static#Nt=0;#A;constructor(){this.#A=++yt.#Nt}get id(){return this.#A}}vt.IdWrapper=yt;var xt={};Object.defineProperty(xt,"__esModule",{value:!0}),xt.SubscriptionManager=xt.unrollEvents=xt.cartesianProduct=void 0;const wt=b;function bt(...e){return e.reduce(((e,t)=>e.flatMap((e=>t.map((t=>[e,t].flat()))))))}function Ct(e){const t=new Set;function r(e){for(const r of e)t.add(r)}for(const n of e)switch(n){case wt.BrowsingContext.AllEvents:r(Object.values(wt.BrowsingContext.EventNames));break;case wt.Log.AllEvents:r(Object.values(wt.Log.EventNames));break;case wt.Network.AllEvents:r(Object.values(wt.Network.EventNames));break;case wt.Script.AllEvents:r(Object.values(wt.Script.EventNames));break;default:t.add(n)}return[...t.values()]}xt.cartesianProduct=bt,xt.unrollEvents=Ct;xt.SubscriptionManager=class{#Mt=0;#Ot=new Map;#G;constructor(e){this.#G=e}getChannelsSubscribedToEvent(e,t){return Array.from(this.#Ot.keys()).map((r=>({priority:this.#Dt(e,t,r),channel:r}))).filter((({priority:e})=>null!==e)).sort(((e,t)=>e.priority-t.priority)).map((({channel:e})=>e))}#Dt(e,t,r){const n=this.#Ot.get(r);if(void 0===n)return null;const s=this.#G.findTopLevelContextId(t),a=[...new Set([null,s])].map((t=>n.get(t)?.get(e))).filter((e=>void 0!==e));return 0===a.length?null:Math.min(...a)}subscribe(e,t,r){if(t=this.#G.findTopLevelContextId(t),e===wt.BrowsingContext.AllEvents)return void Object.values(wt.BrowsingContext.EventNames).map((e=>this.subscribe(e,t,r)));if(e===wt.Log.AllEvents)return void Object.values(wt.Log.EventNames).map((e=>this.subscribe(e,t,r)));if(e===wt.Network.AllEvents)return void Object.values(wt.Network.EventNames).map((e=>this.subscribe(e,t,r)));if(e===wt.Script.AllEvents)return void Object.values(wt.Script.EventNames).map((e=>this.subscribe(e,t,r)));this.#Ot.has(r)||this.#Ot.set(r,new Map);const n=this.#Ot.get(r);n.has(t)||n.set(t,new Map);const s=n.get(t);s.has(e)||s.set(e,this.#Mt++)}unsubscribeAll(e,t,r){for(const e of t)null!==e&&this.#G.getContext(e);bt(Ct(e),t).map((([e,t])=>this.#Zt(e,t,r))).forEach((e=>e()))}unsubscribe(e,t,r){this.unsubscribeAll([e],[t],r)}#Zt(e,t,r){if(t=this.#G.findTopLevelContextId(t),!this.#Ot.has(r))throw new wt.Message.InvalidArgumentException(`Cannot unsubscribe from ${e}, ${null===t?"null":t}. No subscription found.`);const n=this.#Ot.get(r);if(!n.has(t))throw new wt.Message.InvalidArgumentException(`Cannot unsubscribe from ${e}, ${null===t?"null":t}. No subscription found.`);const s=n.get(t);if(!s.has(e))throw new wt.Message.InvalidArgumentException(`Cannot unsubscribe from ${e}, ${null===t?"null":t}. No subscription found.`);return()=>{s.delete(e),0===s.size&&n.delete(e),0===n.size&&this.#Ot.delete(r)}}},Object.defineProperty(gt,"__esModule",{value:!0}),gt.EventManager=void 0;const It=b,_t=ft,St=vt,Tt=st,Pt=Ze,Et=xt;class kt{#Rt=new St.IdWrapper;#nt;#zt;constructor(e,t){this.#zt=e,this.#nt=t}get id(){return this.#Rt.id}get contextId(){return this.#nt}get event(){return this.#zt}}const Nt=new Map([[It.Log.EventNames.LogEntryAddedEvent,100]]);class Mt{static#At="network";#jt=new Pt.DefaultMap((()=>new Set));#Lt=new Map;#Bt=new Map;#Kt;#Ft;#Ut;constructor(e){this.#Ft=e,this.#Kt=new Et.SubscriptionManager(e.getBrowsingContextStorage()),this.#Ut=!1}get isNetworkDomainEnabled(){return this.#Ut}static#Vt(e,t,r){return JSON.stringify({eventName:e,browsingContext:t,channel:r})}registerEvent(e,t){this.registerPromiseEvent(Promise.resolve(e),t,e.method)}registerPromiseEvent(e,t,r){const n=new kt(e,t),s=this.#Kt.getChannelsSubscribedToEvent(r,t);this.#$t(n,r);for(const t of s)this.#Ft.emitOutgoingMessage(Tt.OutgoingBidiMessage.createFromPromise(e,t)),this.#qt(n,t,r)}async subscribe(e,t,r){for(const e of t)null!==e&&this.#Ft.getBrowsingContextStorage().getContext(e);for(const n of e)for(const e of t){await this.#Wt(n,e),this.#Kt.subscribe(n,e,r);for(const t of this.#Ht(n,e,r))this.#Ft.emitOutgoingMessage(Tt.OutgoingBidiMessage.createFromPromise(t.event,r)),this.#qt(t,r,n)}}async#Wt(e,t){e.startsWith(Mt.#At)&&(null===t?(this.#Ut=!0,await Promise.all(this.#Ft.getBrowsingContextStorage().getAllContexts().map((e=>e.cdpTarget.enableNetworkDomain())))):await this.#Ft.getBrowsingContextStorage().getContext(t).cdpTarget.enableNetworkDomain())}unsubscribe(e,t,r){this.#Kt.unsubscribeAll(e,t,r)}#$t(e,t){if(!Nt.has(t))return;const r=Mt.#Vt(t,e.contextId);this.#Lt.has(r)||this.#Lt.set(r,new _t.Buffer(Nt.get(t))),this.#Lt.get(r).add(e),this.#jt.get(t).add(e.contextId)}#qt(e,t,r){if(!Nt.has(r))return;const n=Mt.#Vt(r,e.contextId,t);this.#Bt.set(n,Math.max(this.#Bt.get(n)??0,e.id))}#Ht(e,t,r){const n=Mt.#Vt(e,t),s=Mt.#Vt(e,t,r),a=this.#Bt.get(s)??-1/0,i=this.#Lt.get(n)?.get().filter((e=>e.id>a))??[];return null===t&&Array.from(this.#jt.get(e).keys()).filter((e=>null!==e&&this.#Ft.getBrowsingContextStorage().hasContext(e))).map((t=>this.#Ht(e,t,r))).forEach((e=>i.push(...e))),i.sort(((e,t)=>e.id-t.id))}}gt.EventManager=Mt;var Ot={};Object.defineProperty(Ot,"__esModule",{value:!0}),Ot.RealmStorage=void 0;const Dt=b;Ot.RealmStorage=class{#Jt=new Map;#Gt=new Map;get knownHandlesToRealm(){return this.#Jt}addRealm(e){this.#Gt.set(e.realmId,e)}findRealms(e){return Array.from(this.#Gt.values()).filter((t=>(void 0===e.realmId||e.realmId===t.realmId)&&((void 0===e.browsingContextId||e.browsingContextId===t.browsingContextId)&&((void 0===e.navigableId||e.navigableId===t.navigableId)&&((void 0===e.executionContextId||e.executionContextId===t.executionContextId)&&((void 0===e.origin||e.origin===t.origin)&&((void 0===e.type||e.type===t.type)&&((void 0===e.sandbox||e.sandbox===t.sandbox)&&(void 0===e.cdpSessionId||e.cdpSessionId===t.cdpSessionId)))))))))}findRealm(e){const t=this.findRealms(e);if(1===t.length)return t[0]}getRealm(e){const t=this.findRealm(e);if(void 0===t)throw new Dt.Message.NoSuchFrameException(`Realm ${JSON.stringify(e)} not found`);return t}deleteRealms(e){this.findRealms(e).map((e=>{e.delete(),this.#Gt.delete(e.realmId),Array.from(this.knownHandlesToRealm.entries()).filter((([,t])=>t===e.realmId)).map((([e])=>this.knownHandlesToRealm.delete(e)))}))}},Object.defineProperty(I,"__esModule",{value:!0}),I.BidiServer=void 0;const Zt=_,Rt=P,zt=E,At=N,jt=ht,Lt=gt,Bt=Ot;class Kt extends Zt.EventEmitter{#Xt;#Yt;#Qt;#G=new jt.BrowsingContextStorage;#J=new Bt.RealmStorage;#t;#er=e=>{this.#Qt.processCommand(e).catch((e=>{this.#t?.(Rt.LogType.system,e)}))};#tr=async e=>{const t=e.message;null!==e.channel&&(t.channel=e.channel),await this.#Yt.sendMessage(t)};constructor(e,t,r,n,s){super(),this.#t=s,this.#Xt=new zt.ProcessingQueue(this.#tr,this.#t),this.#Yt=e,this.#Yt.setOnMessage(this.#er),this.#Qt=new At.CommandProcessor(t,new Lt.EventManager(this),r,n,this.#G,this.#J,this.#t),this.#Qt.on("response",(e=>{this.emitOutgoingMessage(e)}))}static async createAndStart(e,t,r,n,s){const a=new Kt(e,t,r,n,s),i=t.browserClient();return await i.sendCommand("Target.setDiscoverTargets",{discover:!0}),await i.sendCommand("Target.setAutoAttach",{autoAttach:!0,waitForDebuggerOnStart:!0,flatten:!0}),await a.topLevelContextsLoaded(),a}async topLevelContextsLoaded(){await Promise.all(this.#G.getTopLevelContexts().map((e=>e.awaitLoaded())))}emitOutgoingMessage(e){this.#Xt.add(e)}close(){this.#Yt.close()}getBrowsingContextStorage(){return this.#G}}I.BidiServer=Kt,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.OutgoingBidiMessage=e.EventEmitter=e.BidiServer=void 0;var t=I;Object.defineProperty(e,"BidiServer",{enumerable:!0,get:function(){return t.BidiServer}});var r=_;Object.defineProperty(e,"EventEmitter",{enumerable:!0,get:function(){return r.EventEmitter}});var n=st;Object.defineProperty(e,"OutgoingBidiMessage",{enumerable:!0,get:function(){return n.OutgoingBidiMessage}})}(C);var Ft={},Ut={};Object.defineProperty(Ut,"__esModule",{value:!0}),Ut.CdpClient=Ut.CloseError=void 0;const Vt=_;class $t extends Error{}Ut.CloseError=$t;class qt extends Vt.EventEmitter{#ot;#rr;constructor(e,t){super(),this.#ot=e,this.#rr=t}sendCommand(e,...t){return this.#ot.sendCommand(e,t[0],this.#rr)}isCloseError(e){return e instanceof $t}}Ut.CdpClient=qt,Object.defineProperty(Ft,"__esModule",{value:!0}),Ft.CdpConnection=void 0;const Wt=P,Ht=Ut;Ft.CdpConnection=class{#Yt;#nr;#sr=new Map;#ar=new Map;#t;#ir=0;constructor(e,t){this.#Yt=e,this.#t=t,this.#Yt.setOnMessage(this.#or),this.#nr=new Ht.CdpClient(this,void 0)}close(){this.#Yt.close();for(const[,{reject:e,error:t}]of this.#ar)e(t);this.#ar.clear(),this.#sr.clear()}browserClient(){return this.#nr}getCdpClient(e){const t=this.#sr.get(e);if(!t)throw new Error("Unknown CDP session ID");return t}sendCommand(e,t,r){return new Promise(((n,s)=>{const a=this.#ir++;this.#ar.set(a,{resolve:n,reject:s,error:new Ht.CloseError(`${e} ${JSON.stringify(t)} ${r??""} call rejected because the connection has been closed.`)});const i={id:a,method:e,params:t};r&&(i.sessionId=r);const o=JSON.stringify(i);this.#Yt.sendMessage(o)?.catch((e=>{this.#t?.(`${Wt.LogType.cdp}:ERROR`,e),this.#Yt.close()})),this.#t?.(`${Wt.LogType.cdp}:SEND \u25b8`,JSON.stringify(i,null,2))}))}#or=e=>{const t=JSON.parse(e),r=JSON.stringify(t,null,2);if(this.#t?.(`${Wt.LogType.cdp}:RECV \u25c2`,r),"Target.attachedToTarget"===t.method){const{sessionId:e}=t.params;this.#sr.set(e,new Ht.CdpClient(this,e))}else if("Target.detachedFromTarget"===t.method){const{sessionId:e}=t.params;this.#sr.get(e)&&this.#sr.delete(e)}if(void 0!==t.id){const e=this.#ar.get(t.id);this.#ar.delete(t.id),e&&(t.result?e.resolve(t.result):t.error&&e.reject(t.error))}else if(t.method){const e=t.sessionId?this.#sr.get(t.sessionId):this.#nr;e?.emit(t.method,t.params||{})}}};var Jt={};Object.defineProperty(Jt,"__esModule",{value:!0}),Jt.log=Jt.generatePage=void 0;const Gt=P;function Xt(e){const t=`${e}_log`,r=document.getElementById(t);if(r)return r;const n=document.getElementById("details"),s=document.createElement("div");s.className="divider",n.appendChild(s);const a=document.createElement("div");return a.className="item",a.innerHTML=`<h3>${e}</h3><div id="${t}" class="log"></div>`,n.appendChild(a),document.getElementById(t)}Jt.generatePage=function(){globalThis.document.documentElement&&(globalThis.document.documentElement.innerHTML='<!DOCTYPE html><title>BiDi-CDP Mapper</title><style>body{font-family: Roboto, serif; font-size: 13px; color: #202124;}.log{padding: 12px; font-family: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace; font-size: 11px; line-height: 180%; background: #f1f3f4; border-radius: 4px;}.pre{overflow-wrap: break-word; padding: 10px;}.card{margin: 60px auto; padding: 2px 0; max-width: 900px; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15), 0 1px 6px rgba(0, 0, 0, 0.2); border-radius: 8px;}.divider{height: 1px; background: #f0f0f0;}.item{padding: 16px 20px;}</style><div class="card"><div class="item"><h1>BiDi-CDP Mapper is controlling this tab</h1><p>Closing or reloading it will stop the BiDi process. <a target="_blank" title="BiDi-CDP Mapper GitHub Repository" href="https://github.com/GoogleChromeLabs/chromium-bidi">Details.</a></p></div><div class="divider"></div><details id="details"><summary class="item">Debug information</summary></details></div>',Xt(Gt.LogType.system),Xt(Gt.LogType.bidi),Xt(Gt.LogType.browsingContexts),Xt(Gt.LogType.cdp))},Jt.log=function(t,...r){if(!globalThis.document.documentElement)return;e.window?.sendDebugMessage?.(JSON.stringify({logType:t,messages:r}));const n=Xt(t),s=document.createElement("div");s.className="pre",s.textContent=r.join(" "),n.appendChild(s)};
+var mapperTab=function(){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){if(e.__esModule)return e;var t=e.default;if("function"==typeof t){var a=function e(){if(this instanceof e){var a=[null];return a.push.apply(a,arguments),new(Function.bind.apply(t,a))}return t.apply(this,arguments)};a.prototype=t.prototype}else a={};return Object.defineProperty(a,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(a,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})})),a}var a={},n={},r={},s={};var o=t(Object.freeze({__proto__:null,default:function(e){return{all:e=e||new Map,on:function(t,a){var n=e.get(t);n?n.push(a):e.set(t,[a])},off:function(t,a){var n=e.get(t);n&&(a?n.splice(n.indexOf(a)>>>0,1):e.set(t,[]))},emit:function(t,a){var n=e.get(t);n&&n.slice().map((function(e){e(a)})),(n=e.get("*"))&&n.slice().map((function(e){e(t,a)}))}}}})),i=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(s,"__esModule",{value:!0}),s.EventEmitter=void 0;const c=i(o);s.EventEmitter=class{#e=(0,c.default)();on(e,t){return this.#e.on(e,t),this}once(e,t){const a=n=>{t(n),this.off(e,a)};return this.on(e,a)}off(e,t){return this.#e.off(e,t),this}emit(e,t){this.#e.emit(e,t)}removeAllListeners(e){return e?this.#e.all.delete(e):this.#e.all.clear(),this}};var d,l={};Object.defineProperty(l,"__esModule",{value:!0}),l.LogType=void 0,function(e){e.bidi="BiDi Messages",e.browsingContexts="Browsing Contexts",e.cdp="CDP",e.system="System"}(d||(l.LogType=d={}));var u={};Object.defineProperty(u,"__esModule",{value:!0}),u.ProcessingQueue=void 0;const m=l;u.ProcessingQueue=class{#t;#a;#n=[];#r=!1;constructor(e,t){this.#a=e,this.#t=t}add(e){this.#n.push(e),this.#s()}async#s(){if(!this.#r){for(this.#r=!0;this.#n.length>0;){const e=this.#n.shift();void 0!==e&&await e.then((e=>{if("error"!==e.kind)return this.#a(e.value);this.#t?.(m.LogType.system,"Event threw before sending:",e.error)})).catch((e=>{this.#t?.(m.LogType.system,"Event was not processed:",e)}))}this.#r=!1}}};var p={},h={},f={};Object.defineProperty(f,"__esModule",{value:!0});var g,y,v,S,b={};Object.defineProperty(b,"__esModule",{value:!0}),b.Network=b.BrowsingContext=b.Log=b.Script=void 0,function(e){var t;(t=e.EventNames||(e.EventNames={})).AllScriptEvent="script",t.MessageEvent="script.message",t.RealmCreated="script.realmCreated",t.RealmDestroyed="script.realmDestroyed"}(g||(b.Script=g={})),function(e){var t;(t=e.EventNames||(e.EventNames={})).AllLogEvent="log",t.LogEntryAddedEvent="log.entryAdded"}(y||(b.Log=y={})),function(e){var t;(t=e.EventNames||(e.EventNames={})).AllBrowsingContextEvent="browsingContext",t.ContextCreatedEvent="browsingContext.contextCreated",t.ContextDestroyedEvent="browsingContext.contextDestroyed",t.DomContentLoadedEvent="browsingContext.domContentLoaded",t.FragmentNavigated="browsingContext.fragmentNavigated",t.LoadEvent="browsingContext.load",t.NavigationStarted="browsingContext.navigationStarted",t.UserPromptClosed="browsingContext.userPromptClosed",t.UserPromptOpened="browsingContext.userPromptOpened"}(v||(b.BrowsingContext=v={})),function(e){var t;(t=e.EventNames||(e.EventNames={})).AllNetworkEvent="network",t.BeforeRequestSentEvent="network.beforeRequestSent",t.FetchErrorEvent="network.fetchError",t.ResponseCompletedEvent="network.responseCompleted",t.ResponseStartedEvent="network.responseStarted"}(S||(b.Network=S={}));var C={};Object.defineProperty(C,"__esModule",{value:!0});var w={};Object.defineProperty(w,"__esModule",{value:!0}),w.UnsupportedOperationException=w.UnableToCloseBrowserException=w.UnableToCaptureScreenException=w.UnknownErrorException=w.UnknownCommandException=w.SessionNotCreatedException=w.NoSuchScriptException=w.NoSuchNodeException=w.NoSuchHandleException=w.NoSuchFrameException=w.NoSuchElementException=w.NoSuchAlertException=w.MoveTargetOutOfBoundsException=w.InvalidSessionIdException=w.InvalidArgumentException=w.Exception=void 0;class x{error;message;stacktrace;constructor(e,t,a){this.error=e,this.message=t,this.stacktrace=a}toErrorResponse(e){return{type:"error",id:e,error:this.error,message:this.message,stacktrace:this.stacktrace}}}w.Exception=x;w.InvalidArgumentException=class extends x{constructor(e,t){super("invalid argument",e,t)}};w.InvalidSessionIdException=class extends x{constructor(e,t){super("invalid session id",e,t)}};w.MoveTargetOutOfBoundsException=class extends x{constructor(e,t){super("move target out of bounds",e,t)}};w.NoSuchAlertException=class extends x{constructor(e,t){super("no such alert",e,t)}};w.NoSuchElementException=class extends x{constructor(e,t){super("no such element",e,t)}};w.NoSuchFrameException=class extends x{constructor(e,t){super("no such frame",e,t)}};w.NoSuchHandleException=class extends x{constructor(e,t){super("no such handle",e,t)}};w.NoSuchNodeException=class extends x{constructor(e,t){super("no such node",e,t)}};w.NoSuchScriptException=class extends x{constructor(e,t){super("no such script",e,t)}};w.SessionNotCreatedException=class extends x{constructor(e,t){super("session not created",e,t)}};w.UnknownCommandException=class extends x{constructor(e,t){super("unknown command",e,t)}};w.UnknownErrorException=class extends x{constructor(e,t=(new Error).stack){super("unknown error",e,t)}};w.UnableToCaptureScreenException=class extends x{constructor(e,t){super("unable to capture screen",e,t)}};w.UnableToCloseBrowserException=class extends x{constructor(e,t){super("unable to close browser",e,t)}};w.UnsupportedOperationException=class extends x{constructor(e,t){super("unsupported operation",e,t)}},function(t){var a=e&&e.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a);var r=Object.getOwnPropertyDescriptor(t,a);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,n,r)}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),n=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&a(t,e,r);return n(t,e),t},s=e&&e.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||a(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.ChromiumBidi=t.Cdp=void 0,t.Cdp=r(f),t.ChromiumBidi=r(b),s(C,t),s(w,t)}(h);var I={};Object.defineProperty(I,"__esModule",{value:!0}),I.BidiNoOpParser=void 0;I.BidiNoOpParser=class{parseActivateParams(e){return e}parseCaptureScreenshotParams(e){return e}parseCloseParams(e){return e}parseCreateParams(e){return e}parseGetTreeParams(e){return e}parseHandleUserPromptParams(e){return e}parseNavigateParams(e){return e}parsePrintParams(e){return e}parseReloadParams(e){return e}parseSetViewportParams(e){return e}parseGetSessionParams(e){return e}parseSendCommandParams(e){return e}parseAddPreloadScriptParams(e){return e}parseCallFunctionParams(e){return e}parseDisownParams(e){return e}parseEvaluateParams(e){return e}parseGetRealmsParams(e){return e}parseRemovePreloadScriptParams(e){return e}parsePerformActionsParams(e){return e}parseReleaseActionsParams(e){return e}parseSubscribeParams(e){return e}};var P={};Object.defineProperty(P,"__esModule",{value:!0}),P.OutgoingBidiMessage=void 0;class _{#o;#i;constructor(e,t=null){this.#o=e,this.#i=t}static createFromPromise(e,t){return e.then((e=>"success"===e.kind?{kind:"success",value:new _(e.value,t)}:e))}static createResolved(e,t){return Promise.resolve({kind:"success",value:new _(e,t)})}get message(){return this.#o}get channel(){return this.#i}}P.OutgoingBidiMessage=_;var E={};Object.defineProperty(E,"__esModule",{value:!0}),E.BrowserProcessor=void 0;E.BrowserProcessor=class{#c;constructor(e){this.#c=e}close(){const e=this.#c.browserClient();return setTimeout((()=>e.sendCommand("Browser.close")),0),{}}};var T={};Object.defineProperty(T,"__esModule",{value:!0}),T.CdpProcessor=void 0;T.CdpProcessor=class{#d;#c;constructor(e,t){this.#d=e,this.#c=t}getSession(e){const t=e.context,a=this.#d.getContext(t).cdpTarget.cdpSessionId;return void 0===a?{}:{session:a}}async sendCommand(e){const t=e.session?this.#c.getCdpClient(e.session):this.#c.browserClient();return{result:await t.sendCommand(e.method,e.params),session:e.session}}};var k={},R={},N={};Object.defineProperty(N,"__esModule",{value:!0}),N.Deferred=void 0;class j{#l=!1;#u;#m;#p;get isFinished(){return this.#l}constructor(){this.#u=new Promise(((e,t)=>{this.#m=e,this.#p=t})),this.#u.catch((e=>{}))}then(e,t){return this.#u.then(e,t)}catch(e){return this.#u.catch(e)}resolve(e){this.#l||(this.#l=!0,this.#m(e))}reject(e){this.#l||(this.#l=!0,this.#p(e))}finally(e){return this.#u.finally(e)}[Symbol.toStringTag]="Promise"}N.Deferred=j;var O={};Object.defineProperty(O,"__esModule",{value:!0}),O.inchesFromCm=void 0,O.inchesFromCm=function(e){return e/2.54};var M={},B={},D={};Object.defineProperty(D,"__esModule",{value:!0}),D.uuidv4=void 0,D.uuidv4=function(){if("crypto"in globalThis&&"randomUUID"in globalThis.crypto)return globalThis.crypto.randomUUID();const e=new Uint8Array(16);"crypto"in globalThis&&"getRandomValues"in globalThis.crypto?globalThis.crypto.getRandomValues(e):require("crypto").webcrypto.getRandomValues(e),e[6]=15&e[6]|64,e[8]=63&e[8]|128;const t=e=>e.reduce(((e,t)=>e+t.toString(16).padStart(2,"0")),"");return[t(e.subarray(0,4)),t(e.subarray(4,6)),t(e.subarray(6,8)),t(e.subarray(8,10)),t(e.subarray(10,16))].join("-")},Object.defineProperty(B,"__esModule",{value:!0}),B.ChannelProxy=void 0;const A=h,z=D;class Z{#h;#f=(0,z.uuidv4)();constructor(e){if(![0,null,void 0].includes(e.serializationOptions?.maxDomDepth))throw new Error("serializationOptions.maxDomDepth other than 0 or null is not supported");if(![void 0,"none"].includes(e.serializationOptions?.includeShadowTree))throw new Error('serializationOptions.includeShadowTree other than "none" is not supported');this.#h=e}async init(e,t){const a=await Z.#g(e),n=await Z.#y(e,a);return this.#v(e,a,t),n}async startListenerFromWindow(e,t){const a=await this.#S(e);this.#v(e,a,t)}static#b(){return`(${String((()=>{const e=[];let t=null;return{async getMessage(){const a=e.length>0?Promise.resolve():new Promise((e=>{t=e}));return await a,e.shift()},sendMessage(a){e.push(a),null!==t&&(t(),t=null)}}}))})()`}static async#g(e){const t=await e.cdpClient.sendCommand("Runtime.evaluate",{expression:this.#b(),contextId:e.executionContextId,serializationOptions:{serialization:"idOnly"}});if(t.exceptionDetails||void 0===t.result.objectId)throw new Error("Cannot create channel");return t.result.objectId}static async#y(e,t){return(await e.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String((e=>e.sendMessage)),arguments:[{objectId:t}],executionContextId:e.executionContextId,serializationOptions:{serialization:"idOnly"}})).result.objectId}async#v(e,t,a){for(;;){const n=await e.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String((async e=>e.getMessage())),arguments:[{objectId:t}],awaitPromise:!0,executionContextId:e.executionContextId,serializationOptions:{serialization:"deep",...void 0===this.#h.serializationOptions?.maxObjectDepth||null===this.#h.serializationOptions.maxObjectDepth?{}:{maxDepth:this.#h.serializationOptions.maxObjectDepth}}});if(n.exceptionDetails)return;a.registerEvent({type:"event",method:A.ChromiumBidi.Script.EventNames.MessageEvent,params:{channel:this.#h.channel,data:e.cdpToBidiValue(n,this.#h.ownership??"none"),source:{realm:e.realmId,context:e.browsingContextId}}},e.browsingContextId)}}async#S(e){const t=await e.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String((e=>{const t=window;if(void 0===t[e])return new Promise((a=>t[e]=a));const a=t[e];return delete t[e],a})),arguments:[{value:this.#f}],executionContextId:e.executionContextId,awaitPromise:!0,serializationOptions:{serialization:"idOnly"}});if(void 0!==t.exceptionDetails||void 0===t.result.objectId)throw new Error(`ChannelHandle not found in window["${this.#f}"]`);return t.result.objectId}getEvalInWindowStr(){const e=String(((e,t)=>{const a=window;return void 0===a[e]?a[e]=t:(a[e](t),delete a[e]),t.sendMessage})),t=Z.#b();return`(${e})('${this.#f}',${t})`}}B.ChannelProxy=Z,Object.defineProperty(M,"__esModule",{value:!0}),M.Realm=void 0;const L=h,V=l,U=B,F="_element_";class K{#C;#d;#w;#x;#I;#P;#_;#E;#T;sandbox;#t;constructor(e,t,a,n,r,s,o,i,c,d,l){this.#w=a,this.#x=n,this.#I=r,this.sandbox=i,this.#P=s,this.#_=o,this.#E=c,this.#C=e,this.#d=t,this.#T=d,this.#t=l,this.#C.addRealm(this),this.#T.registerEvent({type:"event",method:L.ChromiumBidi.Script.EventNames.RealmCreated,params:this.realmInfo},this.browsingContextId)}cdpToBidiValue(e,t){const a=this.#k(e.result.deepSerializedValue);if(e.result.objectId){const n=e.result.objectId;"root"===t?(a.handle=n,this.#C.knownHandlesToRealmMap.set(n,this.realmId)):this.#R(n).catch((e=>this.#t?.(V.LogType.system,e)))}if("object"===e.result.type)switch(e.result.subtype){case"generator":case"iterator":a.type=e.result.subtype,delete a.value}return a}#k(e){if(Object.hasOwn(e,"weakLocalObjectReference")&&(e.internalId=`${e.weakLocalObjectReference}`,delete e.weakLocalObjectReference),"platformobject"===e.type)return{type:"object"};const t=e.value;if(void 0===t)return e;if("node"===e.type){if(Object.hasOwn(t,"backendNodeId")&&(e.sharedId=`${this.navigableId}${F}${t.backendNodeId}`,delete t.backendNodeId),Object.hasOwn(t,"children"))for(const e in t.children)t.children[e]=this.#k(t.children[e]);Object.hasOwn(t,"shadowRoot")&&null!==t.shadowRoot&&(t.shadowRoot=this.#k(t.shadowRoot))}if(["array","set","htmlcollection","nodelist"].includes(e.type))for(const e in t)t[e]=this.#k(t[e]);if(["object","map"].includes(e.type))for(const e in t)t[e]=[this.#k(t[e][0]),this.#k(t[e][1])];return e}get realmId(){return this.#w}get navigableId(){return this.#d.findContext(this.#x)?.navigableId??"UNKNOWN"}get browsingContextId(){return this.#x}get executionContextId(){return this.#I}get origin(){return this.#P}get type(){return this.#_}get cdpClient(){return this.#E}get realmInfo(){return{realm:this.realmId,origin:this.origin,type:this.type,context:this.browsingContextId,...void 0===this.sandbox?{}:{sandbox:this.sandbox}}}async evaluate(e,t,a,n,r=!1){await this.#d.getContext(this.browsingContextId).targetUnblocked();const s=await this.cdpClient.sendCommand("Runtime.evaluate",{contextId:this.executionContextId,expression:e,awaitPromise:t,serializationOptions:K.#N("deep",n),userGesture:r});return s.exceptionDetails?this.#j(s.exceptionDetails,0,a):{realm:this.realmId,result:this.cdpToBidiValue(s,a),type:"success"}}async serializeCdpObject(e,t){const a=K.#O(e),n=await this.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String((e=>e)),awaitPromise:!1,arguments:[a],serializationOptions:{serialization:"deep"},executionContextId:this.executionContextId});return this.cdpToBidiValue(n,t)}static#O(e){return void 0!==e.objectId?{objectId:e.objectId}:void 0!==e.unserializableValue?{unserializableValue:e.unserializableValue}:{value:e.value}}async stringifyObject(e){const{result:t}=await this.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String((e=>String(e))),awaitPromise:!1,arguments:[e],returnByValue:!0,executionContextId:this.executionContextId});return t.value}async#M(e){const t=[];for(const[a,n]of e){let e;e="string"==typeof a?{value:a}:await this.#B(a);const r=await this.#B(n);t.push(e),t.push(r)}return t}async#D(e){return Promise.all(e.map((e=>this.#B(e))))}async#A(e,t,a){const n=e.stackTrace?.callFrames.map((e=>({url:e.url,functionName:e.functionName,lineNumber:e.lineNumber-t,columnNumber:e.columnNumber})))??[],r=e.exception;return{exception:await this.serializeCdpObject(r,a),columnNumber:e.columnNumber,lineNumber:e.lineNumber-t,stackTrace:{callFrames:n},text:await this.stringifyObject(r)||e.text}}async callFunction(e,t,a,n,r,s,o=!1){await this.#d.getContext(this.browsingContextId).targetUnblocked();const i=`(...args) => {\n      function callFunction(f, args) {\n        const deserializedThis = args.shift();\n        const deserializedArgs = args;\n        return f.apply(deserializedThis, deserializedArgs);\n      }\n      return callFunction((\n        ${e}\n      ), args);\n    }`,c=[await this.#B(t),...await Promise.all(a.map((async e=>this.#B(e))))];let d;try{d=await this.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:i,awaitPromise:n,arguments:c,serializationOptions:K.#N("deep",s),executionContextId:this.executionContextId,userGesture:o})}catch(e){if(-32e3===e.code&&["Could not find object with given id","Argument should belong to the same JavaScript world as target object","Invalid remote object id"].includes(e.message))throw new L.NoSuchHandleException("Handle was not found.");throw e}return d.exceptionDetails?this.#j(d.exceptionDetails,1,r):{type:"success",result:this.cdpToBidiValue(d,r),realm:this.realmId}}async#B(e){if("sharedId"in e&&e.sharedId){const[t,a]=e.sharedId.split(F),n=parseInt(a??"");if(isNaN(n)||void 0===n||void 0===t)throw new L.NoSuchNodeException(`SharedId "${e.sharedId}" was not found.`);if(this.navigableId!==t)throw new L.NoSuchNodeException(`SharedId "${e.sharedId}" belongs to different document. Current document is ${this.navigableId}.`);try{const{object:e}=await this.cdpClient.sendCommand("DOM.resolveNode",{backendNodeId:n,executionContextId:this.executionContextId});return{objectId:e.objectId}}catch(t){if(-32e3===t.code&&"No node with given id found"===t.message)throw new L.NoSuchNodeException(`SharedId "${e.sharedId}" was not found.`);throw new L.UnknownErrorException(t.message,t.stack)}}else{if("handle"in e&&e.handle)return{objectId:e.handle};if("handle"in e||"sharedId"in e)throw new L.NoSuchHandleException("Handle was not found.")}switch(e.type){case"undefined":return{unserializableValue:"undefined"};case"null":return{unserializableValue:"null"};case"string":return{value:e.value};case"number":return"NaN"===e.value?{unserializableValue:"NaN"}:"-0"===e.value?{unserializableValue:"-0"}:"Infinity"===e.value?{unserializableValue:"Infinity"}:"-Infinity"===e.value?{unserializableValue:"-Infinity"}:{value:e.value};case"boolean":return{value:Boolean(e.value)};case"bigint":return{unserializableValue:`BigInt(${JSON.stringify(e.value)})`};case"date":return{unserializableValue:`new Date(Date.parse(${JSON.stringify(e.value)}))`};case"regexp":return{unserializableValue:`new RegExp(${JSON.stringify(e.value.pattern)}, ${JSON.stringify(e.value.flags)})`};case"map":{const t=await this.#M(e.value),{result:a}=await this.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String(((...e)=>{const t=new Map;for(let a=0;a<e.length;a+=2)t.set(e[a],e[a+1]);return t})),awaitPromise:!1,arguments:t,returnByValue:!1,executionContextId:this.executionContextId});return{objectId:a.objectId}}case"object":{const t=await this.#M(e.value),{result:a}=await this.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String(((...e)=>{const t={};for(let a=0;a<e.length;a+=2){t[e[a]]=e[a+1]}return t})),awaitPromise:!1,arguments:t,returnByValue:!1,executionContextId:this.executionContextId});return{objectId:a.objectId}}case"array":{const t=await this.#D(e.value),{result:a}=await this.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String(((...e)=>e)),awaitPromise:!1,arguments:t,returnByValue:!1,executionContextId:this.executionContextId});return{objectId:a.objectId}}case"set":{const t=await this.#D(e.value),{result:a}=await this.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String(((...e)=>new Set(e))),awaitPromise:!1,arguments:t,returnByValue:!1,executionContextId:this.executionContextId});return{objectId:a.objectId}}case"channel":{const t=new U.ChannelProxy(e.value);return{objectId:await t.init(this,this.#T)}}}throw new Error(`Value ${JSON.stringify(e)} is not deserializable.`)}async#j(e,t,a){return{exceptionDetails:await this.#A(e,t,a),realm:this.realmId,type:"exception"}}static#N(e,t){return{serialization:e,additionalParameters:K.#z(t),...K.#Z(t)}}static#z(e){const t={};return void 0!==e.maxDomDepth&&(t.maxNodeDepth=null===e.maxDomDepth?1e3:e.maxDomDepth),void 0!==e.includeShadowTree&&(t.includeShadowTree=e.includeShadowTree),t}static#Z(e){return void 0===e.maxObjectDepth||null===e.maxObjectDepth?{}:{maxDepth:e.maxObjectDepth}}async#R(e){try{await this.cdpClient.sendCommand("Runtime.releaseObject",{objectId:e})}catch(e){if(-32e3!==e.code||"Invalid remote object id"!==e.message)throw e}}async disown(e){this.#C.knownHandlesToRealmMap.get(e)===this.realmId&&(await this.#R(e),this.#C.knownHandlesToRealmMap.delete(e))}dispose(){this.#T.registerEvent({type:"event",method:L.ChromiumBidi.Script.EventNames.RealmDestroyed,params:{realm:this.realmId}},this.browsingContextId)}}M.Realm=K,Object.defineProperty(R,"__esModule",{value:!0}),R.BrowsingContextImpl=void 0;const q=h,$=N,W=l,J=O,H=M;class G{#f;#L;#V=new Set;#d;#U={Page:{navigatedWithinDocument:new $.Deferred,lifecycleEvent:{DOMContentLoaded:new $.Deferred,load:new $.Deferred}}};#F="about:blank";#T;#C;#K;#q;#$;#t;constructor(e,t,a,n,r,s,o){this.#q=e,this.#C=t,this.#f=a,this.#L=n,this.#T=r,this.#d=s,this.#t=o}static create(e,t,a,n,r,s,o){const i=new G(e,t,a,n,r,s,o);return i.#W(),s.addContext(i),i.isTopLevelContext()||i.parent.addChild(i.id),r.registerEvent({type:"event",method:q.ChromiumBidi.BrowsingContext.EventNames.ContextCreatedEvent,params:i.serializeToBidiValue()},i.id),i}static getTimestamp(){return(new Date).getTime()}get navigableId(){return this.#K}dispose(){this.#J(),this.#C.deleteRealms({browsingContextId:this.id}),this.isTopLevelContext()||this.parent.#V.delete(this.id),this.#T.registerEvent({type:"event",method:q.ChromiumBidi.BrowsingContext.EventNames.ContextDestroyedEvent,params:this.serializeToBidiValue()},this.id),this.#d.deleteContextById(this.id)}get id(){return this.#f}get parentId(){return this.#L}get parent(){return null===this.parentId?null:this.#d.getContext(this.parentId)}get directChildren(){return[...this.#V].map((e=>this.#d.getContext(e)))}get allChildren(){const e=this.directChildren;return e.concat(...e.map((e=>e.allChildren)))}isTopLevelContext(){return null===this.#L}get top(){let e=this,t=e.parent;for(;t;)e=t,t=e.parent;return e}addChild(e){this.#V.add(e)}#J(){this.directChildren.map((e=>e.dispose()))}get#H(){if(void 0===this.#$)throw new Error(`No default realm for browsing context ${this.#f}`);return this.#$}get cdpTarget(){return this.#q}updateCdpTarget(e){this.#q=e,this.#W()}get url(){return this.#F}async lifecycleLoaded(){await this.#U.Page.lifecycleEvent.load}targetUnblocked(){return this.#q.targetUnblocked}async getOrCreateSandbox(e){if(void 0===e||""===e)return this.#H;let t=this.#C.findRealms({browsingContextId:this.id,sandbox:e});if(0===t.length&&(await this.#q.cdpClient.sendCommand("Page.createIsolatedWorld",{frameId:this.id,worldName:e}),t=this.#C.findRealms({browsingContextId:this.id,sandbox:e})),1!==t.length)throw Error(`Sandbox ${e} wasn't created.`);return t[0]}serializeToBidiValue(e=0,t=!0){return{context:this.#f,url:this.url,children:e>0?this.directChildren.map((t=>t.serializeToBidiValue(e-1,!1))):null,...t?{parent:this.#L}:{}}}onTargetInfoChanged(e){this.#F=e.targetInfo.url}#W(){this.#q.cdpClient.on("Page.frameNavigated",(e=>{this.id===e.frame.id&&(this.#F=e.frame.url+(e.frame.urlFragment??""),this.#J())})),this.#q.cdpClient.on("Page.navigatedWithinDocument",(e=>{if(this.id!==e.frameId)return;const t=G.getTimestamp();this.#F=e.url,this.#U.Page.navigatedWithinDocument.resolve(e),this.#T.registerEvent({type:"event",method:q.ChromiumBidi.BrowsingContext.EventNames.FragmentNavigated,params:{context:this.id,navigation:null,timestamp:t,url:this.#F}},this.id)})),this.#q.cdpClient.on("Page.frameStartedLoading",(e=>{this.id===e.frameId&&this.#T.registerEvent({type:"event",method:q.ChromiumBidi.BrowsingContext.EventNames.NavigationStarted,params:{context:this.id,navigation:null,timestamp:G.getTimestamp(),url:""}},this.id)})),this.#q.cdpClient.on("Page.lifecycleEvent",(e=>{if(this.id!==e.frameId)return;if("init"===e.name)return void this.#G(e.loaderId);if("commit"===e.name)return void(this.#K=e.loaderId);if(e.loaderId!==this.#K)return;const t=G.getTimestamp();switch(e.name){case"DOMContentLoaded":this.#T.registerEvent({type:"event",method:q.ChromiumBidi.BrowsingContext.EventNames.DomContentLoadedEvent,params:{context:this.id,navigation:this.#K??null,timestamp:t,url:this.#F}},this.id),this.#U.Page.lifecycleEvent.DOMContentLoaded.resolve(e);break;case"load":this.#T.registerEvent({type:"event",method:q.ChromiumBidi.BrowsingContext.EventNames.LoadEvent,params:{context:this.id,navigation:this.#K??null,timestamp:t,url:this.#F}},this.id),this.#U.Page.lifecycleEvent.load.resolve(e)}})),this.#q.cdpClient.on("Runtime.executionContextCreated",(e=>{if(e.context.auxData.frameId!==this.id)return;if(!["default","isolated"].includes(e.context.auxData.type))return;const t=new H.Realm(this.#C,this.#d,e.context.uniqueId,this.id,e.context.id,this.#X(e),"window","isolated"===e.context.auxData.type?e.context.name:void 0,this.#q.cdpClient,this.#T,this.#t);e.context.auxData.isDefault&&(this.#$=t,Promise.all(this.#q.getChannels().map((e=>e.startListenerFromWindow(t,this.#T)))))})),this.#q.cdpClient.on("Runtime.executionContextDestroyed",(e=>{this.#C.deleteRealms({cdpSessionId:this.#q.cdpSessionId,executionContextId:e.executionContextId})})),this.#q.cdpClient.on("Runtime.executionContextsCleared",(()=>{this.#C.deleteRealms({cdpSessionId:this.#q.cdpSessionId})})),this.#q.cdpClient.on("Page.javascriptDialogClosed",(e=>{this.#T.registerEvent({type:"event",method:q.ChromiumBidi.BrowsingContext.EventNames.UserPromptClosed,params:{context:this.id,accepted:e.result,userText:e.userInput?e.userInput:void 0}},this.id)})),this.#q.cdpClient.on("Page.javascriptDialogOpening",(e=>{this.#T.registerEvent({type:"event",method:q.ChromiumBidi.BrowsingContext.EventNames.UserPromptOpened,params:{context:this.id,type:e.type,message:e.message}},this.id)}))}#X(e){return"isolated"===e.context.auxData.type?this.#H.origin:["://",""].includes(e.context.origin)?"null":e.context.origin}#G(e){void 0!==e&&this.#K!==e?(this.#Y(),this.#K=e):this.#U.Page.navigatedWithinDocument.isFinished?this.#U.Page.navigatedWithinDocument=new $.Deferred:this.#t?.(W.LogType.browsingContexts,"Document changed (navigatedWithinDocument)")}#Y(){this.#U.Page.lifecycleEvent.DOMContentLoaded.isFinished?this.#U.Page.lifecycleEvent.DOMContentLoaded=new $.Deferred:this.#t?.(W.LogType.browsingContexts,"Document changed (DOMContentLoaded)"),this.#U.Page.lifecycleEvent.load.isFinished?this.#U.Page.lifecycleEvent.load=new $.Deferred:this.#t?.(W.LogType.browsingContexts,"Document changed (load)")}async navigate(e,t){try{new URL(e)}catch{throw new q.InvalidArgumentException(`Invalid URL: ${e}`)}await this.targetUnblocked();const a=await this.#q.cdpClient.sendCommand("Page.navigate",{url:e,frameId:this.id});if(a.errorText)throw new q.UnknownErrorException(a.errorText);switch(this.#G(a.loaderId),t){case"none":break;case"interactive":void 0===a.loaderId?await this.#U.Page.navigatedWithinDocument:await this.#U.Page.lifecycleEvent.DOMContentLoaded;break;case"complete":void 0===a.loaderId?await this.#U.Page.navigatedWithinDocument:await this.lifecycleLoaded()}return{navigation:a.loaderId??null,url:e}}async reload(e,t){switch(await this.targetUnblocked(),await this.#q.cdpClient.sendCommand("Page.reload",{ignoreCache:e}),this.#Y(),t){case"none":break;case"interactive":await this.#U.Page.lifecycleEvent.DOMContentLoaded;break;case"complete":await this.lifecycleLoaded()}return{}}async setViewport(e){if(null===e)await this.#q.cdpClient.sendCommand("Emulation.clearDeviceMetricsOverride");else try{await this.#q.cdpClient.sendCommand("Emulation.setDeviceMetricsOverride",{width:e.width,height:e.height,deviceScaleFactor:0,mobile:!1,dontSetVisibleSize:!0})}catch(e){if(e.message.startsWith("Width and height values must be positive"))throw new q.UnsupportedOperationException("Provided viewport dimensions are not supported");throw e}}async handleUserPrompt(e){await this.#q.cdpClient.sendCommand("Page.handleJavaScriptDialog",{accept:e.accept??!0,promptText:e.userText})}async activate(){await this.#q.cdpClient.sendCommand("Page.bringToFront")}async captureScreenshot(){let e;if(await this.#q.cdpClient.sendCommand("Page.bringToFront"),this.isTopLevelContext()){const{cssContentSize:t,cssLayoutViewport:a}=await this.#q.cdpClient.sendCommand("Page.getLayoutMetrics");e={x:t.x,y:t.y,width:a.clientWidth,height:a.clientHeight}}else{const{result:{value:t}}=await this.#q.cdpClient.sendCommand("Runtime.callFunctionOn",{functionDeclaration:String((()=>{const e=globalThis.document.documentElement.getBoundingClientRect();return JSON.stringify({x:e.x,y:e.y,width:e.width,height:e.height})})),executionContextId:this.#H.executionContextId});e=JSON.parse(t)}return{data:(await this.#q.cdpClient.sendCommand("Page.captureScreenshot",{clip:{...e,scale:1}})).data}}async print(e){const t={};if(void 0!==e.background&&(t.printBackground=e.background),void 0!==e.margin?.bottom&&(t.marginBottom=(0,J.inchesFromCm)(e.margin.bottom)),void 0!==e.margin?.left&&(t.marginLeft=(0,J.inchesFromCm)(e.margin.left)),void 0!==e.margin?.right&&(t.marginRight=(0,J.inchesFromCm)(e.margin.right)),void 0!==e.margin?.top&&(t.marginTop=(0,J.inchesFromCm)(e.margin.top)),void 0!==e.orientation&&(t.landscape="landscape"===e.orientation),void 0!==e.page?.height&&(t.paperHeight=(0,J.inchesFromCm)(e.page.height)),void 0!==e.page?.width&&(t.paperWidth=(0,J.inchesFromCm)(e.page.width)),void 0!==e.pageRanges){for(const t of e.pageRanges){if("number"==typeof t)continue;const e=t.split("-");if(e.length<1||e.length>2)throw new q.InvalidArgumentException(`Invalid page range: ${t} is not a valid integer range.`);if(1===e.length){X(e[0]??"");continue}let a,n;const[r="",s=""]=e;if(a=""===r?1:X(r),n=""===s?Number.MAX_SAFE_INTEGER:X(s),a>n)throw new q.InvalidArgumentException(`Invalid page range: ${r} > ${s}`)}t.pageRanges=e.pageRanges.join(",")}void 0!==e.scale&&(t.scale=e.scale),void 0!==e.shrinkToFit&&(t.preferCSSPageSize=!e.shrinkToFit);try{return{data:(await this.#q.cdpClient.sendCommand("Page.printToPDF",t)).data}}catch(e){if("invalid print parameters: content area is empty"===e.message)throw new q.UnsupportedOperationException(e.message);throw e}}async close(){await this.#q.cdpClient.sendCommand("Page.close")}}function X(e){if(e=e.trim(),!/^[0-9]+$/.test(e))throw new q.InvalidArgumentException(`Invalid integer: ${e}`);return parseInt(e)}R.BrowsingContextImpl=G;var Y={},Q={},ee={};Object.defineProperty(ee,"__esModule",{value:!0}),ee.getRemoteValuesText=ee.logMessageFormatter=void 0;const te=["%s","%d","%i","%f","%o","%O","%c"];function ae(e){return te.some((t=>e.includes(t)))}function ne(e){let t="";const a=e[0].value.toString(),n=e.slice(1,void 0),r=a.split(new RegExp(te.map((e=>`(${e})`)).join("|"),"g"));for(const a of r)if(void 0!==a&&""!==a)if(ae(a)){const r=n.shift();if(void 0===r)throw new Error(`Less value is provided: "${oe(e,!1)}"`);"%s"===a?t+=se(r):"%d"===a||"%i"===a?"bigint"===r.type||"number"===r.type||"string"===r.type?t+=parseInt(r.value.toString(),10):t+="NaN":"%f"===a?"bigint"===r.type||"number"===r.type||"string"===r.type?t+=parseFloat(r.value.toString()):t+="NaN":t+=re(r)}else t+=a;if(n.length>0)throw new Error(`More value is provided: "${oe(e,!1)}"`);return t}function re(e){if("array"!==e.type&&"bigint"!==e.type&&"date"!==e.type&&"number"!==e.type&&"object"!==e.type&&"string"!==e.type)return se(e);if("bigint"===e.type)return`${e.value.toString()}n`;if("number"===e.type)return e.value.toString();if(["date","string"].includes(e.type))return JSON.stringify(e.value);if("object"===e.type)return`{${e.value.map((e=>`${JSON.stringify(e[0])}:${re(e[1])}`)).join(",")}}`;if("array"===e.type)return`[${e.value?.map((e=>re(e))).join(",")??""}]`;throw Error(`Invalid value type: ${e}`)}function se(e){if(!Object.hasOwn(e,"value"))return e.type;switch(e.type){case"string":case"number":case"boolean":case"bigint":return String(e.value);case"regexp":return`/${e.value.pattern}/${e.value.flags??""}`;case"date":return new Date(e.value).toString();case"object":return`Object(${e.value?.length??""})`;case"array":return`Array(${e.value?.length??""})`;case"map":return`Map(${e.value?.length})`;case"set":return`Set(${e.value?.length})`;default:return e.type}}function oe(e,t){const a=e[0];return a?"string"===a.type&&ae(a.value.toString())&&t?ne(e):e.map((e=>se(e))).join(" "):""}ee.logMessageFormatter=ne,ee.getRemoteValuesText=oe,Object.defineProperty(Q,"__esModule",{value:!0}),Q.LogManager=void 0;const ie=h,ce=ee;function de(e){const t=e?.callFrames.map((e=>({columnNumber:e.columnNumber,functionName:e.functionName,lineNumber:e.lineNumber,url:e.url})));return t?{callFrames:t}:void 0}class le{#T;#C;#q;constructor(e,t,a){this.#q=e,this.#C=t,this.#T=a}static create(e,t,a){const n=new le(e,t,a);return n.#Q(),n}#Q(){this.#q.cdpClient.on("Runtime.consoleAPICalled",(e=>{const t=this.#C.findRealm({cdpSessionId:this.#q.cdpSessionId,executionContextId:e.executionContextId}),a=void 0===t?Promise.resolve(e.args):Promise.all(e.args.map((e=>t.serializeCdpObject(e,"none"))));this.#T.registerPromiseEvent(a.then((a=>{return{kind:"success",value:{type:"event",method:ie.ChromiumBidi.Log.EventNames.LogEntryAddedEvent,params:{level:(n=e.type,["error","assert"].includes(n)?"error":["debug","trace"].includes(n)?"debug":["warn","warning"].includes(n)?"warn":"info"),source:{realm:t?.realmId??"UNKNOWN",context:t?.browsingContextId??"UNKNOWN"},text:(0,ce.getRemoteValuesText)(a,!0),timestamp:Math.round(e.timestamp),stackTrace:de(e.stackTrace),type:"console",method:"warning"===e.type?"warn":e.type,args:a}}};var n})),t?.browsingContextId??"UNKNOWN",ie.ChromiumBidi.Log.EventNames.LogEntryAddedEvent)})),this.#q.cdpClient.on("Runtime.exceptionThrown",(e=>{const t=this.#C.findRealm({cdpSessionId:this.#q.cdpSessionId,executionContextId:e.exceptionDetails.executionContextId}),a=(async()=>e.exceptionDetails.exception?void 0===t?JSON.stringify(e.exceptionDetails.exception):t.stringifyObject(e.exceptionDetails.exception):e.exceptionDetails.text)();this.#T.registerPromiseEvent(a.then((a=>({kind:"success",value:{type:"event",method:ie.ChromiumBidi.Log.EventNames.LogEntryAddedEvent,params:{level:"error",source:{realm:t?.realmId??"UNKNOWN",context:t?.browsingContextId??"UNKNOWN"},text:a,timestamp:Math.round(e.timestamp),stackTrace:de(e.exceptionDetails.stackTrace),type:"javascript"}}}))),t?.browsingContextId??"UNKNOWN",ie.ChromiumBidi.Log.EventNames.LogEntryAddedEvent)}))}}Q.LogManager=le;var ue={},me={};Object.defineProperty(me,"__esModule",{value:!0}),me.DefaultMap=void 0;class pe extends Map{#ee;constructor(e,t){super(t),this.#ee=e}get(e){return this.has(e)||this.set(e,this.#ee(e)),super.get(e)}}me.DefaultMap=pe;var he={};Object.defineProperty(he,"__esModule",{value:!0}),he.NetworkRequest=void 0;const fe=N,ge=h;class ye{static#te="UNKNOWN";requestId;#ae=!1;#ne=0;#T;#re;#se;#oe;#ie;#ce=new fe.Deferred;#de=new fe.Deferred;constructor(e,t){this.requestId=e,this.#T=t}onRequestWillBeSentEvent(e){void 0===this.#re&&(this.#re=e,void 0!==this.#se&&this.#ce.resolve({kind:"success",value:void 0}),this.#le())}onRequestWillBeSentExtraInfoEvent(e){void 0===this.#se&&(this.#se=e,void 0!==this.#re&&this.#ce.resolve({kind:"success",value:void 0}))}onResponseReceivedEventExtraInfo(e){void 0===this.#ie&&(this.#ie=e,void 0!==this.#oe&&this.#de.resolve({kind:"success",value:void 0}))}onResponseReceivedEvent(e){void 0===this.#oe&&(this.#oe=e,e.hasExtraInfo||this.#ce.isFinished||this.#ce.resolve({kind:"success",value:void 0}),e.hasExtraInfo&&void 0===this.#ie&&!this.#ae||this.#de.resolve({kind:"success",value:void 0}),this.#ue())}onServedFromCache(){void 0!==this.#re&&this.#ce.resolve({kind:"success",value:void 0}),void 0!==this.#oe&&this.#de.resolve({kind:"success",value:void 0}),this.#ae=!0}onLoadingFailedEvent(e){this.#ce.resolve({kind:"success",value:void 0}),this.#de.resolve({kind:"error",error:new Error("Loading Failed")}),this.#T.registerEvent({type:"event",method:ge.ChromiumBidi.Network.EventNames.FetchErrorEvent,params:{...this.#me(),errorText:e.errorText}},this.#re?.frameId??null)}dispose(){const e={kind:"error",error:new Error("Network processor detached")};this.#de.resolve(e),this.#ce.resolve(e)}#me(){return{context:this.#re?.frameId??null,navigation:this.#pe(),redirectCount:this.#ne,request:this.#he(),timestamp:Math.round(1e3*(this.#re?.wallTime??0))}}#pe(){return this.#re&&this.#re.loaderId&&this.#re.loaderId===this.#re.requestId?this.#re.loaderId:null}#he(){const e=this.#se?ye.#fe(this.#se.associatedCookies):[];return{request:this.#re?.requestId??ye.#te,url:this.#re?.request.url??ye.#te,method:this.#re?.request.method??ye.#te,headers:ye.#ge(this.#re?.request.headers),cookies:e,headersSize:-1,bodySize:0,timings:{timeOrigin:0,requestTime:0,redirectStart:0,redirectEnd:0,fetchStart:0,dnsStart:0,dnsEnd:0,connectStart:0,connectEnd:0,tlsStart:0,requestStart:0,responseStart:0,responseEnd:0}}}#le(){this.#ye()||this.#T.registerPromiseEvent(this.#ce.then((e=>"success"===e.kind?{kind:"success",value:Object.assign(this.#ve(),{type:"event"})}:e)),this.#re?.frameId??null,ge.ChromiumBidi.Network.EventNames.BeforeRequestSentEvent)}#ve(){if(void 0===this.#re)throw new Error("RequestWillBeSentEvent is not set");return{method:ge.ChromiumBidi.Network.EventNames.BeforeRequestSentEvent,params:{...this.#me(),initiator:{type:ye.#Se(this.#re.initiator.type)}}}}#ue(){this.#ye()||this.#T.registerPromiseEvent(this.#de.then((e=>"success"===e.kind?{kind:"success",value:Object.assign(this.#be(),{type:"event"})}:e)),this.#oe?.frameId??null,ge.ChromiumBidi.Network.EventNames.ResponseCompletedEvent)}#be(){if(void 0===this.#re)throw new Error("RequestWillBeSentEvent is not set");if(void 0===this.#oe)throw new Error("ResponseReceivedEvent is not set");this.#oe.response.fromDiskCache&&(this.#ie=void 0);const e=ye.#ge(this.#oe.response.headers);return{method:ge.ChromiumBidi.Network.EventNames.ResponseCompletedEvent,params:{...this.#me(),response:{url:this.#oe.response.url,protocol:this.#oe.response.protocol??"",status:this.#ie?.statusCode??this.#oe.response.status,statusText:this.#oe.response.statusText,fromCache:this.#oe.response.fromDiskCache||this.#oe.response.fromPrefetchCache||this.#ae,headers:e,mimeType:this.#oe.response.mimeType,bytesReceived:this.#oe.response.encodedDataLength,headersSize:this.#Ce(e),bodySize:0,content:{size:0}}}}}#Ce(e){return e.reduce(((e,t)=>e+t.name.length+t.value.value.length+4),0)}#ye(){return this.#re?.request.url.endsWith("/favicon.ico")??!1}static#ge(e){return e?Object.entries(e).map((([e,t])=>({name:e,value:{type:"string",value:t}}))):[]}static#Se(e){switch(e){case"parser":case"script":case"preflight":return e;default:return"other"}}static#fe(e){return e.map((e=>({name:e.cookie.name,value:{type:"string",value:e.cookie.value},domain:e.cookie.domain,path:e.cookie.path,expires:e.cookie.expires,size:e.cookie.size,httpOnly:e.cookie.httpOnly,secure:e.cookie.secure,sameSite:ye.#we(e.cookie.sameSite)})))}static#we(e){switch(e){case"Strict":return"strict";case"Lax":return"lax";default:return"none"}}}he.NetworkRequest=ye,Object.defineProperty(ue,"__esModule",{value:!0}),ue.NetworkManager=void 0;const ve=me,Se=he;class be{#T;#xe;constructor(e){this.#T=e,this.#xe=new ve.DefaultMap((e=>new Se.NetworkRequest(e,this.#T)))}static create(e,t){const a=new be(t);return e.browserClient().on("Target.detachedFromTarget",(t=>{e.sessionId===t.sessionId&&a.dispose()})),e.on("Network.requestWillBeSent",(e=>{a.#Ie(e.requestId).onRequestWillBeSentEvent(e)})),e.on("Network.requestWillBeSentExtraInfo",(e=>{a.#Ie(e.requestId).onRequestWillBeSentExtraInfoEvent(e)})),e.on("Network.responseReceived",(e=>{a.#Ie(e.requestId).onResponseReceivedEvent(e)})),e.on("Network.responseReceivedExtraInfo",(e=>{a.#Ie(e.requestId).onResponseReceivedEventExtraInfo(e)})),e.on("Network.requestServedFromCache",(e=>{a.#Ie(e.requestId).onServedFromCache()})),e.on("Network.loadingFailed",(e=>{a.#Ie(e.requestId).onLoadingFailedEvent(e),a.#Pe(e.requestId)})),e.on("Network.loadingFinished",(e=>{a.#Pe(e.requestId)})),a}dispose(){for(const e of this.#xe.values())e.dispose();this.#xe.clear()}#Ie(e){return this.#xe.get(e)}#Pe(e){const t=this.#xe.get(e);t&&(t.dispose(),this.#xe.delete(e))}}ue.NetworkManager=be,Object.defineProperty(Y,"__esModule",{value:!0}),Y.CdpTarget=void 0;const Ce=N,we=Q,xe=ue;class Ie{#_e;#E;#Ee;#T;#Te;#ke=new Ce.Deferred;static create(e,t,a,n,r,s){const o=new Ie(e,t,a,r,s);return we.LogManager.create(o,n,r),xe.NetworkManager.create(t,r),o.#Re(),o.#Ne(),o}constructor(e,t,a,n,r){this.#_e=e,this.#E=t,this.#Ee=a,this.#T=n,this.#Te=r}get targetUnblocked(){return this.#ke}get targetId(){return this.#_e}get cdpClient(){return this.#E}get cdpSessionId(){return this.#Ee}async#Ne(){try{const e=[];e.push(this.#E.sendCommand("Runtime.enable"),this.#E.sendCommand("Page.enable"),this.#E.sendCommand("Page.setLifecycleEventsEnabled",{enabled:!0}),this.#E.sendCommand("Network.enable"),this.#E.sendCommand("Target.setAutoAttach",{autoAttach:!0,waitForDebuggerOnStart:!0,flatten:!0}),this.#je()),await this.#E.sendCommand("Runtime.runIfWaitingForDebugger"),await Promise.all(e)}catch(e){if(!this.#E.isCloseError(e))throw e}this.#ke.resolve({kind:"success",value:void 0})}#Re(){this.#E.on("*",((e,t)=>{"string"==typeof e&&this.#T.registerEvent({type:"event",method:`cdp.${e}`,params:{event:e,params:t,session:this.#Ee}},null)}))}getChannels(){return this.#Te.findPreloadScripts().flatMap((e=>e.channels))}async#je(){for(const e of this.#Te.findPreloadScripts())await e.initInTarget(this,!0)}}Y.CdpTarget=Ie,Object.defineProperty(k,"__esModule",{value:!0}),k.BrowsingContextProcessor=void 0;const Pe=h,_e=l,Ee=R,Te=Y;k.BrowsingContextProcessor=class{#c;#Oe;#T;#d;#Te;#C;#t;constructor(e,t,a,n,r,s,o){this.#c=e,this.#Oe=t,this.#T=a,this.#d=n,this.#Te=s,this.#C=r,this.#t=o,this.#Re(this.#c.browserClient())}getTree(e){return{contexts:(void 0===e.root?this.#d.getTopLevelContexts():[this.#d.getContext(e.root)]).map((t=>t.serializeToBidiValue(e.maxDepth??Number.MAX_VALUE)))}}async create(e){const t=this.#c.browserClient();let a,n;if(void 0!==e.referenceContext&&(a=this.#d.getContext(e.referenceContext),!a.isTopLevelContext()))throw new Pe.InvalidArgumentException("referenceContext should be a top-level context");switch(e.type){case"tab":n=await t.sendCommand("Target.createTarget",{url:"about:blank",newWindow:!1});break;case"window":n=await t.sendCommand("Target.createTarget",{url:"about:blank",newWindow:!0})}const r=n.targetId,s=this.#d.getContext(r);return await s.lifecycleLoaded(),{context:s.id}}navigate(e){return this.#d.getContext(e.context).navigate(e.url,e.wait??"none")}reload(e){return this.#d.getContext(e.context).reload(e.ignoreCache??!1,e.wait??"none")}async activate(e){const t=this.#d.getContext(e.context);if(!t.isTopLevelContext())throw new Pe.InvalidArgumentException("Activation is only supported on the top-level context");return await t.activate(),{}}async captureScreenshot(e){return this.#d.getContext(e.context).captureScreenshot()}async print(e){return this.#d.getContext(e.context).print(e)}async setViewport(e){const t=this.#d.getContext(e.context);if(!t.isTopLevelContext())throw new Pe.InvalidArgumentException("Emulating viewport is only supported on the top-level context");return await t.setViewport(e.viewport),{}}async handleUserPrompt(e){const t=this.#d.getContext(e.context);return await t.handleUserPrompt(e),{}}async close(e){const t=this.#d.getContext(e.context);if(!t.isTopLevelContext())throw new Pe.InvalidArgumentException(`Non top-level browsing context ${t.id} cannot be closed.`);try{const a=this.#c.browserClient(),n=new Promise((t=>{const n=r=>{r.targetId===e.context&&(a.off("Target.detachedFromTarget",n),t())};a.on("Target.detachedFromTarget",n)}));await t.close(),await n}catch(e){if(-32e3!==e.code||"Not attached to an active page"!==e.message)throw e}return{}}#Re(e){e.on("Target.attachedToTarget",(t=>{this.#Me(t,e)})),e.on("Target.detachedFromTarget",(e=>{this.#Be(e)})),e.on("Target.targetInfoChanged",(e=>{this.#De(e)})),e.on("Page.frameAttached",(e=>{this.#Ae(e)})),e.on("Page.frameDetached",(e=>{this.#ze(e)}))}#Ae(e){const t=this.#d.findContext(e.parentFrameId);void 0!==t&&Ee.BrowsingContextImpl.create(t.cdpTarget,this.#C,e.frameId,e.parentFrameId,this.#T,this.#d,this.#t)}#ze(e){"swap"!==e.reason&&this.#d.findContext(e.frameId)?.dispose()}#Me(e,t){const{sessionId:a,targetInfo:n}=e,r=this.#c.getCdpClient(a);if(!this.#Ze(n))return void r.sendCommand("Runtime.runIfWaitingForDebugger").then((()=>t.sendCommand("Target.detachFromTarget",e))).catch((e=>this.#t?.(_e.LogType.system,e)));this.#t?.(_e.LogType.browsingContexts,"AttachedToTarget event received:",JSON.stringify(e,null,2)),this.#Re(r);const s=this.#d.findContext(n.targetId),o=Te.CdpTarget.create(n.targetId,r,a,this.#C,this.#T,this.#Te);s?s.updateCdpTarget(o):Ee.BrowsingContextImpl.create(o,this.#C,n.targetId,null,this.#T,this.#d,this.#t)}#Be(e){const t=e.targetId;this.#d.findContext(t)?.dispose(),this.#Te.findPreloadScripts({targetId:t}).map((e=>e.dispose(t)))}#De(e){const t=e.targetInfo.targetId;this.#d.findContext(t)?.onTargetInfoChanged(e)}#Ze(e){return e.targetId!==this.#Oe&&["page","iframe"].includes(e.type)}};var ke={},Re={},Ne={};Object.defineProperty(Ne,"__esModule",{value:!0}),Ne.assert=void 0,Ne.assert=function(e){if(!e)throw new Error("Internal assertion failed.")};var je={},Oe={};Object.defineProperty(Oe,"__esModule",{value:!0}),Oe.Mutex=void 0;Oe.Mutex=class{#Le=!1;#Ve=[];acquire(){const e={resolved:!1};return this.#Le?new Promise((t=>{this.#Ve.push((()=>t(this.#Ue.bind(this,e))))})):(this.#Le=!0,Promise.resolve(this.#Ue.bind(this,e)))}#Ue(e){if(e.resolved)throw new Error("Cannot release more than once.");e.resolved=!0;const t=this.#Ve.shift();t?t():this.#Le=!1}async run(e){const t=await this.acquire();try{return await e()}finally{t()}}};var Me={};Object.defineProperty(Me,"__esModule",{value:!0}),Me.WheelSource=Me.PointerSource=Me.KeySource=Me.NoneSource=void 0;Me.NoneSource=class{type="none"};Me.KeySource=class{type="key";pressed=new Set;#Fe=0;get modifiers(){return this.#Fe}get alt(){return 1==(1&this.#Fe)}set alt(e){this.#Ke(e,1)}get ctrl(){return 2==(2&this.#Fe)}set ctrl(e){this.#Ke(e,2)}get meta(){return 4==(4&this.#Fe)}set meta(e){this.#Ke(e,4)}get shift(){return 8==(8&this.#Fe)}set shift(e){this.#Ke(e,8)}#Ke(e,t){e?this.#Fe|=t:this.#Fe&=~t}};class Be{type="pointer";subtype;pointerId;pressed=new Set;x=0;y=0;constructor(e,t){this.pointerId=e,this.subtype=t}get buttons(){let e=0;for(const t of this.pressed)switch(t){case 0:e|=1;break;case 1:e|=4;break;case 2:e|=2;break;case 3:e|=8;break;case 4:e|=16}return e}static#qe=500;static#$e=2;#We=0;#Je;setClickCount(e){(!this.#Je||e.timeStamp-this.#Je.timeStamp>Be.#qe||Math.abs(this.#Je.x-e.x)>Be.#$e||Math.abs(this.#Je.y-e.y)>Be.#$e)&&(this.#We=0),++this.#We,this.#Je=e}get clickCount(){return this.#We}}Me.PointerSource=Be;Me.WheelSource=class{type="wheel"},Object.defineProperty(je,"__esModule",{value:!0}),je.InputState=void 0;const De=h,Ae=Oe,ze=Me;je.InputState=class{cancelList=[];#He=new Map;#Ge=new Ae.Mutex;getOrCreate(e,t,a){let n=this.#He.get(e);if(!n){switch(t){case"none":n=new ze.NoneSource;break;case"key":n=new ze.KeySource;break;case"pointer":{let e="mouse"===a?0:2;const t=new Set;for(const[,e]of this.#He)"pointer"===e.type&&t.add(e.pointerId);for(;t.has(e);)++e;n=new ze.PointerSource(e,a);break}case"wheel":n=new ze.WheelSource;break;default:throw new De.InvalidArgumentException(`Expected "none", "key", "pointer", or "wheel". Found unknown source type ${t}.`)}return this.#He.set(e,n),n}if(n.type!==t)throw new De.InvalidArgumentException(`Input source type of ${e} is ${n.type}, but received ${t}.`);return n}get(e){const t=this.#He.get(e);if(!t)throw new De.UnknownErrorException("Internal error.");return t}getGlobalKeyState(){const e=new ze.KeySource;for(const[,t]of this.#He)if("key"===t.type){for(const a of t.pressed)e.pressed.add(a);e.alt||=t.alt,e.ctrl||=t.ctrl,e.meta||=t.meta,e.shift||=t.shift}return e}get queue(){return this.#Ge}},Object.defineProperty(Re,"__esModule",{value:!0}),Re.InputStateManager=void 0;const Ze=Ne,Le=je;class Ve extends WeakMap{get(e){return(0,Ze.assert)(e.isTopLevelContext()),this.has(e)||this.set(e,new Le.InputState),super.get(e)}}Re.InputStateManager=Ve;var Ue={},Fe={};Object.defineProperty(Fe,"__esModule",{value:!0}),Fe.KeyToKeyCode=void 0,Fe.KeyToKeyCode={0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,Abort:3,Help:6,Backspace:8,Tab:9,Numpad5:12,NumpadEnter:13,Enter:13,"\\r":13,"\\n":13,ShiftLeft:16,ShiftRight:16,ControlLeft:17,ControlRight:17,AltLeft:18,AltRight:18,Pause:19,CapsLock:20,Escape:27,Convert:28,NonConvert:29,Space:32,Numpad9:33,PageUp:33,Numpad3:34,PageDown:34,End:35,Numpad1:35,Home:36,Numpad7:36,ArrowLeft:37,Numpad4:37,Numpad8:38,ArrowUp:38,ArrowRight:39,Numpad6:39,Numpad2:40,ArrowDown:40,Select:41,Open:43,PrintScreen:44,Insert:45,Numpad0:45,Delete:46,NumpadDecimal:46,Digit0:48,Digit1:49,Digit2:50,Digit3:51,Digit4:52,Digit5:53,Digit6:54,Digit7:55,Digit8:56,Digit9:57,KeyA:65,KeyB:66,KeyC:67,KeyD:68,KeyE:69,KeyF:70,KeyG:71,KeyH:72,KeyI:73,KeyJ:74,KeyK:75,KeyL:76,KeyM:77,KeyN:78,KeyO:79,KeyP:80,KeyQ:81,KeyR:82,KeyS:83,KeyT:84,KeyU:85,KeyV:86,KeyW:87,KeyX:88,KeyY:89,KeyZ:90,MetaLeft:91,MetaRight:92,ContextMenu:93,NumpadMultiply:106,NumpadAdd:107,NumpadSubtract:109,NumpadDivide:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,F13:124,F14:125,F15:126,F16:127,F17:128,F18:129,F19:130,F20:131,F21:132,F22:133,F23:134,F24:135,NumLock:144,ScrollLock:145,AudioVolumeMute:173,AudioVolumeDown:174,AudioVolumeUp:175,MediaTrackNext:176,MediaTrackPrevious:177,MediaStop:178,MediaPlayPause:179,Semicolon:186,Equal:187,NumpadEqual:187,Comma:188,Minus:189,Period:190,Slash:191,Backquote:192,BracketLeft:219,Backslash:220,BracketRight:221,Quote:222,AltGraph:225,Props:247,Cancel:3,Clear:12,Shift:16,Control:17,Alt:18,Accept:30,ModeChange:31," ":32,Print:42,Execute:43,"\\u0000":46,a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90,Meta:91,"*":106,"+":107,"-":109,"/":111,";":186,"=":187,",":188,".":190,"`":192,"[":219,"\\\\":220,"]":221,"'":222,Attn:246,CrSel:247,ExSel:248,EraseEof:249,Play:250,ZoomOut:251,")":48,"!":49,"@":50,"#":51,$:52,"%":53,"^":54,"&":55,"(":57,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,":":186,"<":188,_:189,">":190,"?":191,"~":192,"{":219,"|":220,"}":221,'"':222,Camera:44,EndCall:95,VolumeDown:182,VolumeUp:183};var Ke={};Object.defineProperty(Ke,"__esModule",{value:!0}),Ke.getKeyLocation=Ke.getKeyCode=Ke.getNormalizedKey=void 0,Ke.getNormalizedKey=function(e){switch(e){case"\ue000":return"Unidentified";case"\ue001":return"Cancel";case"\ue002":return"Help";case"\ue003":return"Backspace";case"\ue004":return"Tab";case"\ue005":return"Clear";case"\ue006":return"Return";case"\ue007":return"Enter";case"\ue008":case"\ue050":return"Shift";case"\ue009":case"\ue051":return"Control";case"\ue00a":case"\ue052":return"Alt";case"\ue00b":return"Pause";case"\ue00c":return"Escape";case"\ue00d":return" ";case"\ue00e":case"\ue054":return"PageUp";case"\ue00f":case"\ue055":return"PageDown";case"\ue010":case"\ue056":return"End";case"\ue011":case"\ue057":return"Home";case"\ue012":case"\ue058":return"ArrowLeft";case"\ue013":case"\ue059":return"ArrowUp";case"\ue014":case"\ue05a":return"ArrowRight";case"\ue015":case"\ue05b":return"ArrowDown";case"\ue016":case"\ue05c":return"Insert";case"\ue017":case"\ue05d":return"Delete";case"\ue018":return";";case"\ue019":return"=";case"\ue01a":return"0";case"\ue01b":return"1";case"\ue01c":return"2";case"\ue01d":return"3";case"\ue01e":return"4";case"\ue01f":return"5";case"\ue020":return"6";case"\ue021":return"7";case"\ue022":return"8";case"\ue023":return"9";case"\ue024":return"*";case"\ue025":return"+";case"\ue026":return",";case"\ue027":return"-";case"\ue028":return".";case"\ue029":return"/";case"\ue031":return"F1";case"\ue032":return"F2";case"\ue033":return"F3";case"\ue034":return"F4";case"\ue035":return"F5";case"\ue036":return"F6";case"\ue037":return"F7";case"\ue038":return"F8";case"\ue039":return"F9";case"\ue03a":return"F10";case"\ue03b":return"F11";case"\ue03c":return"F12";case"\ue03d":case"\ue053":return"Meta";case"\ue040":return"ZenkakuHankaku";default:return e}},Ke.getKeyCode=function(e){switch(e){case"`":case"~":return"Backquote";case"\\":case"|":return"Backslash";case"\ue003":return"Backspace";case"[":case"{":return"BracketLeft";case"]":case"}":return"BracketRight";case",":case"<":return"Comma";case"0":case")":return"Digit0";case"1":case"!":return"Digit1";case"2":case"@":return"Digit2";case"3":case"#":return"Digit3";case"4":case"$":return"Digit4";case"5":case"%":return"Digit5";case"6":case"^":return"Digit6";case"7":case"&":return"Digit7";case"8":case"*":return"Digit8";case"9":case"(":return"Digit9";case"=":case"+":return"Equal";case"a":case"A":return"KeyA";case"b":case"B":return"KeyB";case"c":case"C":return"KeyC";case"d":case"D":return"KeyD";case"e":case"E":return"KeyE";case"f":case"F":return"KeyF";case"g":case"G":return"KeyG";case"h":case"H":return"KeyH";case"i":case"I":return"KeyI";case"j":case"J":return"KeyJ";case"k":case"K":return"KeyK";case"l":case"L":return"KeyL";case"m":case"M":return"KeyM";case"n":case"N":return"KeyN";case"o":case"O":return"KeyO";case"p":case"P":return"KeyP";case"q":case"Q":return"KeyQ";case"r":case"R":return"KeyR";case"s":case"S":return"KeyS";case"t":case"T":return"KeyT";case"u":case"U":return"KeyU";case"v":case"V":return"KeyV";case"w":case"W":return"KeyW";case"x":case"X":return"KeyX";case"y":case"Y":return"KeyY";case"z":case"Z":return"KeyZ";case"-":case"_":return"Minus";case".":return"Period";case"'":case'"':return"Quote";case";":case":":return"Semicolon";case"/":case"?":return"Slash";case"\ue00a":return"AltLeft";case"\ue052":return"AltRight";case"\ue009":return"ControlLeft";case"\ue051":return"ControlRight";case"\ue006":return"Enter";case"\ue03d":return"MetaLeft";case"\ue053":return"MetaRight";case"\ue008":return"ShiftLeft";case"\ue050":return"ShiftRight";case" ":case"\ue00d":return"Space";case"\ue004":return"Tab";case"\ue017":return"Delete";case"\ue010":return"End";case"\ue002":return"Help";case"\ue011":return"Home";case"\ue016":return"Insert";case"\ue00f":return"PageDown";case"\ue00e":return"PageUp";case"\ue015":return"ArrowDown";case"\ue012":return"ArrowLeft";case"\ue014":return"ArrowRight";case"\ue013":return"ArrowUp";case"\ue00c":return"Escape";case"\ue031":return"F1";case"\ue032":return"F2";case"\ue033":return"F3";case"\ue034":return"F4";case"\ue035":return"F5";case"\ue036":return"F6";case"\ue037":return"F7";case"\ue038":return"F8";case"\ue039":return"F9";case"\ue03a":return"F10";case"\ue03b":return"F11";case"\ue03c":return"F12";case"\ue01a":case"\ue05c":return"Numpad0";case"\ue01b":case"\ue056":return"Numpad1";case"\ue01c":case"\ue05b":return"Numpad2";case"\ue01d":case"\ue055":return"Numpad3";case"\ue01e":case"\ue058":return"Numpad4";case"\ue01f":return"Numpad5";case"\ue020":case"\ue05a":return"Numpad6";case"\ue021":case"\ue057":return"Numpad7";case"\ue022":case"\ue059":return"Numpad8";case"\ue023":case"\ue054":return"Numpad9";case"\ue025":return"NumpadAdd";case"\ue026":return"NumpadComma";case"\ue028":case"\ue05d":return"NumpadDecimal";case"\ue029":return"NumpadDivide";case"\ue007":return"NumpadEnter";case"\ue024":return"NumpadMultiply";case"\ue027":return"NumpadSubtract";default:return}},Ke.getKeyLocation=function(e){switch(e){case"\ue007":case"\ue008":case"\ue009":case"\ue00a":case"\ue03d":return 1;case"\ue01a":case"\ue01b":case"\ue01c":case"\ue01d":case"\ue01e":case"\ue01f":case"\ue020":case"\ue021":case"\ue022":case"\ue023":case"\ue024":case"\ue025":case"\ue026":case"\ue027":case"\ue028":case"\ue029":case"\ue054":case"\ue055":case"\ue056":case"\ue057":case"\ue058":case"\ue059":case"\ue05a":case"\ue05b":case"\ue05c":case"\ue05d":return 3;case"\ue050":case"\ue051":case"\ue052":case"\ue053":return 2;default:return 0}},Object.defineProperty(Ue,"__esModule",{value:!0}),Ue.ActionDispatcher=void 0;const qe=h,$e=Ne,We=Fe,Je=Ke,He=(e=>{const t=e.getClientRects()[0],a=Math.max(0,Math.min(t.x,t.x+t.width)),n=Math.min(window.innerWidth,Math.max(t.x,t.x+t.width)),r=Math.max(0,Math.min(t.y,t.y+t.height));return[a+(n-a>>1),r+(Math.min(window.innerHeight,Math.max(t.y,t.y+t.height))-r>>1)]}).toString(),Ge=(()=>navigator.platform.toLowerCase().includes("mac")).toString();Ue.ActionDispatcher=class{static isMacOS=async e=>{const t=await(await e.getOrCreateSandbox(void 0)).callFunction(Ge,{type:"undefined"},[],!1,"none",{});return(0,$e.assert)("exception"!==t.type),(0,$e.assert)("boolean"===t.result.type),t.result.value};#Xe=0;#Ye=0;#Qe;#et;#tt;constructor(e,t,a){this.#Qe=e,this.#et=t,this.#tt=a}async dispatchActions(e){await this.#Qe.queue.run((async()=>{for(const t of e)await this.dispatchTickActions(t)}))}async dispatchTickActions(e){this.#Xe=performance.now(),this.#Ye=0;for(const{action:t}of e)"duration"in t&&void 0!==t.duration&&(this.#Ye=Math.max(this.#Ye,t.duration));const t=[new Promise((e=>setTimeout(e,this.#Ye)))];for(const a of e)t.push(this.#at(a));await Promise.all(t)}async#at({id:e,action:t}){const a=this.#Qe.get(e),n=this.#Qe.getGlobalKeyState();switch(t.type){case"keyDown":await this.#nt(a,t),this.#Qe.cancelList.push({id:e,action:{...t,type:"keyUp"}});break;case"keyUp":await this.#rt(a,t);break;case"pause":break;case"pointerDown":await this.#st(a,n,t),this.#Qe.cancelList.push({id:e,action:{...t,type:"pointerUp"}});break;case"pointerMove":await this.#ot(a,n,t);break;case"pointerUp":await this.#it(a,n,t);break;case"scroll":await this.#ct(a,n,t)}}#st(e,t,a){const{button:n}=a;if(e.pressed.has(n))return;e.pressed.add(n);const{x:r,y:s,subtype:o}=e,{width:i,height:c,pressure:d,twist:l,tangentialPressure:u}=a,{tiltX:m,tiltY:p}="tiltX"in a?a:{},{modifiers:h}=t;switch(o){case"mouse":case"pen":return e.setClickCount({x:r,y:s,timeStamp:performance.now()}),this.#et.cdpTarget.cdpClient.sendCommand("Input.dispatchMouseEvent",{type:"mousePressed",x:r,y:s,modifiers:h,button:Qe(n),buttons:e.buttons,clickCount:e.clickCount,pointerType:o,tangentialPressure:u,tiltX:m,tiltY:p,twist:l,force:d});case"touch":return this.#et.cdpTarget.cdpClient.sendCommand("Input.dispatchTouchEvent",{type:"touchStart",touchPoints:[{x:r,y:s,radiusX:i,radiusY:c,tangentialPressure:u,tiltX:m,tiltY:p,twist:l,force:d,id:e.pointerId}],modifiers:h})}}#it(e,t,a){const{button:n}=a;if(!e.pressed.has(n))return;e.pressed.delete(n);const{x:r,y:s,subtype:o}=e,{modifiers:i}=t;switch(o){case"mouse":case"pen":return this.#et.cdpTarget.cdpClient.sendCommand("Input.dispatchMouseEvent",{type:"mouseReleased",x:r,y:s,modifiers:i,button:Qe(n),buttons:e.buttons,clickCount:e.clickCount,pointerType:o});case"touch":return this.#et.cdpTarget.cdpClient.sendCommand("Input.dispatchTouchEvent",{type:"touchEnd",touchPoints:[{x:r,y:s,id:e.pointerId}],modifiers:i})}}async#ot(e,t,a){const{x:n,y:r,subtype:s}=e,{width:o,height:i,pressure:c,twist:d,tangentialPressure:l,x:u,y:m,origin:p="viewport",duration:h=this.#Ye}=a,{tiltX:f,tiltY:g}="tiltX"in a?a:{},{targetX:y,targetY:v}=await this.#dt(p,u,m,n,r);if(y<0||v<0)throw new qe.MoveTargetOutOfBoundsException(`Cannot move beyond viewport (x: ${y}, y: ${v})`);let S;do{const a=h>0?(performance.now()-this.#Xe)/h:1;let u,m;if(S=a>=1,S?(u=y,m=v):(u=Math.round(a*(y-n)+n),m=Math.round(a*(v-r)+r)),e.x!==u||e.y!==m){const{modifiers:a}=t;switch(s){case"mouse":case"pen":await this.#et.cdpTarget.cdpClient.sendCommand("Input.dispatchMouseEvent",{type:"mouseMoved",x:u,y:m,modifiers:a,clickCount:0,button:Qe(e.pressed.values().next().value??5),buttons:e.buttons,pointerType:s,tangentialPressure:l,tiltX:f,tiltY:g,twist:d,force:c});break;case"touch":await this.#et.cdpTarget.cdpClient.sendCommand("Input.dispatchTouchEvent",{type:"touchMove",touchPoints:[{x:u,y:m,radiusX:o,radiusY:i,tangentialPressure:l,tiltX:f,tiltY:g,twist:d,force:c,id:e.pointerId}],modifiers:a})}e.x=u,e.y=m}}while(!S)}async#dt(e,t,a,n,r){let s,o;switch(e){case"viewport":s=t,o=a;break;case"pointer":s=n+t,o=r+a;break;default:{const{x:n,y:r}=await async function(e,t){const a=await e.getOrCreateSandbox(void 0),n=await a.callFunction(He,{type:"undefined"},[t],!1,"none",{});if("exception"===n.type)throw new qe.NoSuchElementException(`Origin element ${t.sharedId} was not found`);(0,$e.assert)("array"===n.result.type),(0,$e.assert)("number"===n.result.value?.[0]?.type),(0,$e.assert)("number"===n.result.value?.[1]?.type);const{result:{value:[{value:r},{value:s}]}}=n;return{x:r,y:s}}(this.#et,e.element);s=n+t,o=r+a;break}}return{targetX:s,targetY:o}}async#ct(e,t,a){const{deltaX:n,deltaY:r,x:s,y:o,origin:i="viewport",duration:c=this.#Ye}=a;if("pointer"===i)throw new qe.InvalidArgumentException('"pointer" origin is invalid for scrolling.');const{targetX:d,targetY:l}=await this.#dt(i,s,o,0,0);if(d<0||l<0)throw new qe.MoveTargetOutOfBoundsException(`Cannot move beyond viewport (x: ${d}, y: ${l})`);let u,m=0,p=0;do{const e=c>0?(performance.now()-this.#Xe)/c:1;let a,s;if(u=e>=1,u?(a=n-m,s=r-p):(a=Math.round(e*n-m),s=Math.round(e*r-p)),0!==a||0!==s){const{modifiers:e}=t;await this.#et.cdpTarget.cdpClient.sendCommand("Input.dispatchMouseEvent",{type:"mouseWheel",deltaX:a,deltaY:s,x:d,y:l,modifiers:e}),m+=a,p+=s}}while(!u)}async#nt(e,t){if([...t.value].length>1)throw new qe.InvalidArgumentException(`Invalid key value: ${t.value}`);const a=t.value,n=(0,Je.getNormalizedKey)(a),r=e.pressed.has(n),s=(0,Je.getKeyCode)(a),o=(0,Je.getKeyLocation)(a);switch(n){case"Alt":e.alt=!0;break;case"Shift":e.shift=!0;break;case"Control":e.ctrl=!0;break;case"Meta":e.meta=!0}e.pressed.add(n);const{modifiers:i}=e,c=Xe(n,e),d=Ye(s??"",e)??c;let l;if(this.#tt&&e.meta)switch(s){case"KeyA":l="SelectAll";break;case"KeyC":l="Copy";break;case"KeyV":l=e.shift?"PasteAndMatchStyle":"Paste";break;case"KeyX":l="Cut";break;case"KeyZ":l=e.shift?"Redo":"Undo"}const u=[this.#et.cdpTarget.cdpClient.sendCommand("Input.dispatchKeyEvent",{type:d?"keyDown":"rawKeyDown",windowsVirtualKeyCode:We.KeyToKeyCode[n],key:n,code:s,text:d,unmodifiedText:c,autoRepeat:r,isSystemKey:e.alt||void 0,location:o<3?o:void 0,isKeypad:3===o,modifiers:i,commands:l?[l]:void 0})];"Escape"===n&&(e.alt||(!this.#tt||e.ctrl||e.meta)&&this.#tt||u.push(this.#et.cdpTarget.cdpClient.sendCommand("Input.cancelDragging"))),await Promise.all(u)}#rt(e,t){if([...t.value].length>1)throw new qe.InvalidArgumentException(`Invalid key value: ${t.value}`);const a=t.value,n=(0,Je.getNormalizedKey)(a);if(!e.pressed.has(n))return;const r=(0,Je.getKeyCode)(a),s=(0,Je.getKeyLocation)(a);switch(n){case"Alt":e.alt=!1;break;case"Shift":e.shift=!1;break;case"Control":e.ctrl=!1;break;case"Meta":e.meta=!1}e.pressed.delete(n);const{modifiers:o}=e,i=Xe(n,e),c=Ye(r??"",e)??i;return this.#et.cdpTarget.cdpClient.sendCommand("Input.dispatchKeyEvent",{type:"keyUp",windowsVirtualKeyCode:We.KeyToKeyCode[n],key:n,code:r,text:c,unmodifiedText:i,location:s<3?s:void 0,isSystemKey:e.alt||void 0,isKeypad:3===s,modifiers:o})}};const Xe=(e,t)=>"Enter"===e?"\r":1===[...e].length?t.shift?e.toLocaleUpperCase("en-US"):e:void 0,Ye=(e,t)=>{if(t.ctrl){switch(e){case"Digit2":if(t.shift)return"\0";break;case"KeyA":return"\x01";case"KeyB":return"\x02";case"KeyC":return"\x03";case"KeyD":return"\x04";case"KeyE":return"\x05";case"KeyF":return"\x06";case"KeyG":return"\x07";case"KeyH":return"\b";case"KeyI":return"\t";case"KeyJ":return"\n";case"KeyK":return"\v";case"KeyL":return"\f";case"KeyM":return"\r";case"KeyN":return"\x0e";case"KeyO":return"\x0f";case"KeyP":return"\x10";case"KeyQ":return"\x11";case"KeyR":return"\x12";case"KeyS":return"\x13";case"KeyT":return"\x14";case"KeyU":return"\x15";case"KeyV":return"\x16";case"KeyW":return"\x17";case"KeyX":return"\x18";case"KeyY":return"\x19";case"KeyZ":return"\x1a";case"BracketLeft":return"\x1b";case"Backslash":return"\x1c";case"BracketRight":return"\x1d";case"Digit6":if(t.shift)return"\x1e";break;case"Minus":return"\x1f"}return""}if(t.alt)return""};function Qe(e){switch(e){case 0:return"left";case 1:return"middle";case 2:return"right";case 3:return"back";case 4:return"forward";default:return"none"}}Object.defineProperty(ke,"__esModule",{value:!0}),ke.InputProcessor=void 0;const et=h,tt=Re,at=Ue;class nt{#d;#lt=new tt.InputStateManager;constructor(e){this.#d=e}static create(e){return new nt(e)}async performActions(e){const t=this.#d.getContext(e.context),a=this.#lt.get(t.top),n=this.#ut(e,a),r=new at.ActionDispatcher(a,t,await at.ActionDispatcher.isMacOS(t).catch((()=>!1)));return await r.dispatchActions(n),{}}async releaseActions(e){const t=this.#d.getContext(e.context),a=t.top,n=this.#lt.get(a),r=new at.ActionDispatcher(n,t,await at.ActionDispatcher.isMacOS(t).catch((()=>!1)));return await r.dispatchTickActions(n.cancelList.reverse()),this.#lt.delete(a),{}}#ut(e,t){const a=[];for(const n of e.actions){switch(n.type){case"pointer":{n.parameters??={pointerType:"mouse"},n.parameters.pointerType??="mouse";const e=t.getOrCreate(n.id,"pointer",n.parameters.pointerType);if(e.subtype!==n.parameters.pointerType)throw new et.InvalidArgumentException(`Expected input source ${n.id} to be ${e.subtype}; got ${n.parameters.pointerType}.`);break}default:t.getOrCreate(n.id,n.type)}const e=n.actions.map((e=>({id:n.id,action:e})));for(let t=0;t<e.length;t++)a.length===t&&a.push([]),a[t].push(e[t])}return a}}ke.InputProcessor=nt;var rt={};Object.defineProperty(rt,"__esModule",{value:!0}),rt.PreloadScriptStorage=void 0;rt.PreloadScriptStorage=class{#mt=new Set;findPreloadScripts(e){return e?[...this.#mt].filter((t=>(void 0===e.id||e.id===t.id)&&!(void 0!==e.targetId&&!t.targetIds.has(e.targetId)))):[...this.#mt]}addPreloadScript(e){this.#mt.add(e)}removeBiDiPreloadScripts(e){for(const t of this.findPreloadScripts(e))this.#mt.delete(t)}};var st={},ot={};Object.defineProperty(ot,"__esModule",{value:!0}),ot.BidiPreloadScript=void 0;const it=D,ct=B;ot.BidiPreloadScript=class{#f=(0,it.uuidv4)();#pt=[];#ht;#ft=new Set;#gt;#yt;get id(){return this.#f}get targetIds(){return this.#ft}constructor(e){this.#gt=e.arguments?.map((e=>new ct.ChannelProxy(e.value)))??[],this.#ht=e.functionDeclaration,this.#yt=e.sandbox}get channels(){return this.#gt}#vt(){const e=`[${this.channels.map((e=>e.getEvalInWindowStr())).join(", ")}]`;return`(()=>{(${this.#ht})(...${e})})()`}async initInTargets(e,t){await Promise.all(Array.from(e).map((e=>this.initInTarget(e,t))))}async initInTarget(e,t){const a=await e.cdpClient.sendCommand("Page.addScriptToEvaluateOnNewDocument",{source:this.#vt(),worldName:this.#yt,runImmediately:t});this.#pt.push({target:e,preloadScriptId:a.identifier}),this.#ft.add(e.targetId)}async remove(){for(const e of this.#pt){const t=e.target,a=e.preloadScriptId;await t.cdpClient.sendCommand("Page.removeScriptToEvaluateOnNewDocument",{identifier:a})}}dispose(e){this.#pt=this.#pt.filter((t=>t.target?.targetId!==e)),this.#ft.delete(e)}},Object.defineProperty(st,"__esModule",{value:!0}),st.ScriptProcessor=void 0;const dt=h,lt=ot;st.ScriptProcessor=class{#d;#C;#Te;constructor(e,t,a){this.#d=e,this.#C=t,this.#Te=a}async addPreloadScript(e){const t=new lt.BidiPreloadScript(e);this.#Te.addPreloadScript(t);const a=new Set(this.#d.getTopLevelContexts().map((e=>e.cdpTarget)));return await t.initInTargets(a,!1),{script:t.id}}async removePreloadScript(e){const t=e.script,a=this.#Te.findPreloadScripts({id:t});if(0===a.length)throw new dt.NoSuchScriptException(`No preload script with BiDi ID '${t}'`);return await Promise.all(a.map((e=>e.remove()))),this.#Te.removeBiDiPreloadScripts({id:t}),{}}async callFunction(e){return(await this.#St(e.target)).callFunction(e.functionDeclaration,e.this??{type:"undefined"},e.arguments??[],e.awaitPromise,e.resultOwnership??"none",e.serializationOptions??{},e.userActivation??!1)}async evaluate(e){return(await this.#St(e.target)).evaluate(e.expression,e.awaitPromise,e.resultOwnership??"none",e.serializationOptions??{},e.userActivation??!1)}async disown(e){const t=await this.#St(e.target);return await Promise.all(e.handles.map((async e=>t.disown(e)))),{}}getRealms(e){void 0!==e.context&&this.#d.getContext(e.context);const t=this.#C.findRealms({browsingContextId:e.context,type:e.type}).map((e=>e.realmInfo));return{realms:t}}async#St(e){if("realm"in e)return this.#C.getRealm({realmId:e.realm});return this.#d.getContext(e.context).getOrCreateSandbox(e.sandbox)}};var ut={};Object.defineProperty(ut,"__esModule",{value:!0}),ut.SessionProcessor=void 0;ut.SessionProcessor=class{#T;constructor(e){this.#T=e}status(){return{ready:!1,message:"already connected"}}async subscribe(e,t=null){return await this.#T.subscribe(e.events,e.contexts??[null],t),{}}async unsubscribe(e,t=null){return await this.#T.unsubscribe(e.events,e.contexts??[null],t),{}}},Object.defineProperty(p,"__esModule",{value:!0}),p.CommandProcessor=void 0;const mt=h,pt=s,ht=l,ft=I,gt=P,yt=E,vt=T,St=k,bt=ke,Ct=rt,wt=st,xt=ut;class It extends pt.EventEmitter{#bt;#Ct;#wt;#xt;#It;#Pt;#_t;#t;constructor(e,t,a,n,r,s=new ft.BidiNoOpParser,o){super(),this.#_t=s,this.#t=o;const i=new Ct.PreloadScriptStorage;this.#bt=new yt.BrowserProcessor(e),this.#Ct=new St.BrowsingContextProcessor(e,a,t,n,r,i,o),this.#wt=bt.InputProcessor.create(n),this.#xt=new wt.ScriptProcessor(n,r,i),this.#It=new xt.SessionProcessor(t),this.#Pt=new vt.CdpProcessor(n,e)}async#Et(e){switch(e.method){case"session.end":case"session.new":break;case"browser.close":return this.#bt.close();case"browsingContext.activate":return this.#Ct.activate(this.#_t.parseActivateParams(e.params));case"browsingContext.captureScreenshot":return this.#Ct.captureScreenshot(this.#_t.parseCaptureScreenshotParams(e.params));case"browsingContext.close":return this.#Ct.close(this.#_t.parseCloseParams(e.params));case"browsingContext.create":return this.#Ct.create(this.#_t.parseCreateParams(e.params));case"browsingContext.getTree":return this.#Ct.getTree(this.#_t.parseGetTreeParams(e.params));case"browsingContext.handleUserPrompt":return this.#Ct.handleUserPrompt(this.#_t.parseHandleUserPromptParams(e.params));case"browsingContext.navigate":return this.#Ct.navigate(this.#_t.parseNavigateParams(e.params));case"browsingContext.print":return this.#Ct.print(this.#_t.parsePrintParams(e.params));case"browsingContext.reload":return this.#Ct.reload(this.#_t.parseReloadParams(e.params));case"browsingContext.setViewport":return this.#Ct.setViewport(this.#_t.parseSetViewportParams(e.params));case"cdp.getSession":return this.#Pt.getSession(this.#_t.parseGetSessionParams(e.params));case"cdp.sendCommand":return this.#Pt.sendCommand(this.#_t.parseSendCommandParams(e.params));case"input.performActions":return this.#wt.performActions(this.#_t.parsePerformActionsParams(e.params));case"input.releaseActions":return this.#wt.releaseActions(this.#_t.parseReleaseActionsParams(e.params));case"script.addPreloadScript":return this.#xt.addPreloadScript(this.#_t.parseAddPreloadScriptParams(e.params));case"script.callFunction":return this.#xt.callFunction(this.#_t.parseCallFunctionParams(e.params));case"script.disown":return this.#xt.disown(this.#_t.parseDisownParams(e.params));case"script.evaluate":return this.#xt.evaluate(this.#_t.parseEvaluateParams(e.params));case"script.getRealms":return this.#xt.getRealms(this.#_t.parseGetRealmsParams(e.params));case"script.removePreloadScript":return this.#xt.removePreloadScript(this.#_t.parseRemovePreloadScriptParams(e.params));case"session.status":return this.#It.status();case"session.subscribe":return this.#It.subscribe(this.#_t.parseSubscribeParams(e.params),e.channel);case"session.unsubscribe":return this.#It.unsubscribe(this.#_t.parseSubscribeParams(e.params),e.channel)}throw new mt.UnknownCommandException(`Unknown command '${e.method}'.`)}async processCommand(e){try{const t=await this.#Et(e),a={type:"success",id:e.id,result:t};this.emit("response",gt.OutgoingBidiMessage.createResolved(a,e.channel))}catch(t){if(t instanceof mt.Exception){const a=t;this.emit("response",gt.OutgoingBidiMessage.createResolved(a.toErrorResponse(e.id),e.channel))}else{const a=t;this.#t?.(ht.LogType.bidi,a),this.emit("response",gt.OutgoingBidiMessage.createResolved(new mt.UnknownErrorException(a.message,a.stack).toErrorResponse(e.id),e.channel))}}}}p.CommandProcessor=It;var Pt={};Object.defineProperty(Pt,"__esModule",{value:!0}),Pt.BrowsingContextStorage=void 0;const _t=h;Pt.BrowsingContextStorage=class{#Tt=new Map;getTopLevelContexts(){return this.getAllContexts().filter((e=>e.isTopLevelContext()))}getAllContexts(){return Array.from(this.#Tt.values())}deleteContextById(e){this.#Tt.delete(e)}deleteContext(e){this.#Tt.delete(e.id)}addContext(e){this.#Tt.set(e.id,e)}hasContext(e){return this.#Tt.has(e)}findContext(e){return this.#Tt.get(e)}findTopLevelContextId(e){if(null===e)return null;const t=this.findContext(e),a=t?.parentId??null;return null===a?e:this.findTopLevelContextId(a)}getContext(e){const t=this.findContext(e);if(void 0===t)throw new _t.NoSuchFrameException(`Context ${e} not found`);return t}};var Et={},Tt={};Object.defineProperty(Tt,"__esModule",{value:!0}),Tt.Buffer=void 0;Tt.Buffer=class{#kt;#Rt=[];#Nt;constructor(e,t){this.#kt=e,this.#Nt=t}get(){return this.#Rt}add(e){for(this.#Rt.push(e);this.#Rt.length>this.#kt;){const e=this.#Rt.shift();void 0!==e&&this.#Nt?.(e)}}};var kt={};Object.defineProperty(kt,"__esModule",{value:!0}),kt.IdWrapper=void 0;class Rt{static#jt=0;#f;constructor(){this.#f=++Rt.#jt}get id(){return this.#f}}kt.IdWrapper=Rt;var Nt={};Object.defineProperty(Nt,"__esModule",{value:!0}),Nt.SubscriptionManager=Nt.unrollEvents=Nt.cartesianProduct=void 0;const jt=h;function Ot(...e){return e.reduce(((e,t)=>e.flatMap((e=>t.map((t=>[e,t].flat()))))))}function Mt(e){const t=new Set;function a(e){for(const a of e)t.add(a)}for(const n of e)switch(n){case jt.ChromiumBidi.BrowsingContext.EventNames.AllBrowsingContextEvent:a(Object.values(jt.ChromiumBidi.BrowsingContext.EventNames).filter((e=>e!==jt.ChromiumBidi.BrowsingContext.EventNames.AllBrowsingContextEvent)));break;case jt.ChromiumBidi.Log.EventNames.AllLogEvent:a(Object.values(jt.ChromiumBidi.Log.EventNames).filter((e=>e!==jt.ChromiumBidi.Log.EventNames.AllLogEvent)));break;case jt.ChromiumBidi.Network.EventNames.AllNetworkEvent:a(Object.values(jt.ChromiumBidi.Network.EventNames).filter((e=>e!==jt.ChromiumBidi.Network.EventNames.AllNetworkEvent)));break;case jt.ChromiumBidi.Script.EventNames.AllScriptEvent:a(Object.values(jt.ChromiumBidi.Script.EventNames).filter((e=>e!==jt.ChromiumBidi.Script.EventNames.AllScriptEvent)));break;default:t.add(n)}return[...t.values()]}Nt.cartesianProduct=Ot,Nt.unrollEvents=Mt;Nt.SubscriptionManager=class{#Ot=0;#Mt=new Map;#d;constructor(e){this.#d=e}getChannelsSubscribedToEvent(e,t){return Array.from(this.#Mt.keys()).map((a=>({priority:this.#Bt(e,t,a),channel:a}))).filter((({priority:e})=>null!==e)).sort(((e,t)=>e.priority-t.priority)).map((({channel:e})=>e))}#Bt(e,t,a){const n=this.#Mt.get(a);if(void 0===n)return null;const r=this.#d.findTopLevelContextId(t),s=[...new Set([null,r])].map((t=>n.get(t)?.get(e))).filter((e=>void 0!==e));return 0===s.length?null:Math.min(...s)}subscribe(e,t,a){switch(t=this.#d.findTopLevelContextId(t),e){case jt.ChromiumBidi.BrowsingContext.EventNames.AllBrowsingContextEvent:return void Object.values(jt.ChromiumBidi.BrowsingContext.EventNames).filter((e=>e!==jt.ChromiumBidi.BrowsingContext.EventNames.AllBrowsingContextEvent)).map((e=>this.subscribe(e,t,a)));case jt.ChromiumBidi.Log.EventNames.AllLogEvent:return void Object.values(jt.ChromiumBidi.Log.EventNames).filter((e=>e!==jt.ChromiumBidi.Log.EventNames.AllLogEvent)).map((e=>this.subscribe(e,t,a)));case jt.ChromiumBidi.Network.EventNames.AllNetworkEvent:return void Object.values(jt.ChromiumBidi.Network.EventNames).filter((e=>e!==jt.ChromiumBidi.Network.EventNames.AllNetworkEvent)).map((e=>this.subscribe(e,t,a)));case jt.ChromiumBidi.Script.EventNames.AllScriptEvent:return void Object.values(jt.ChromiumBidi.Script.EventNames).filter((e=>e!==jt.ChromiumBidi.Script.EventNames.AllScriptEvent)).map((e=>this.subscribe(e,t,a)))}this.#Mt.has(a)||this.#Mt.set(a,new Map);const n=this.#Mt.get(a);n.has(t)||n.set(t,new Map);const r=n.get(t);r.has(e)||r.set(e,this.#Ot++)}unsubscribeAll(e,t,a){for(const e of t)null!==e&&this.#d.getContext(e);Ot(Mt(e),t).map((([e,t])=>this.#Dt(e,t,a))).forEach((e=>e()))}unsubscribe(e,t,a){this.unsubscribeAll([e],[t],a)}#Dt(e,t,a){if(t=this.#d.findTopLevelContextId(t),!this.#Mt.has(a))throw new jt.InvalidArgumentException(`Cannot unsubscribe from ${e}, ${null===t?"null":t}. No subscription found.`);const n=this.#Mt.get(a);if(!n.has(t))throw new jt.InvalidArgumentException(`Cannot unsubscribe from ${e}, ${null===t?"null":t}. No subscription found.`);const r=n.get(t);if(!r.has(e))throw new jt.InvalidArgumentException(`Cannot unsubscribe from ${e}, ${null===t?"null":t}. No subscription found.`);return()=>{r.delete(e),0===r.size&&n.delete(e),0===n.size&&this.#Mt.delete(a)}}},Object.defineProperty(Et,"__esModule",{value:!0}),Et.EventManager=void 0;const Bt=h,Dt=me,At=Tt,zt=kt,Zt=P,Lt=Nt;class Vt{#At=new zt.IdWrapper;#zt;#Zt;constructor(e,t){this.#Zt=e,this.#zt=t}get id(){return this.#At.id}get contextId(){return this.#zt}get event(){return this.#Zt}}const Ut=new Map([[Bt.ChromiumBidi.Log.EventNames.LogEntryAddedEvent,100]]);class Ft{#Lt=new Dt.DefaultMap((()=>new Set));#Vt=new Map;#Ut=new Map;#Ft;#Kt;constructor(e){this.#Kt=e,this.#Ft=new Lt.SubscriptionManager(e.getBrowsingContextStorage())}static#qt(e,t,a){return JSON.stringify({eventName:e,browsingContext:t,channel:a})}registerEvent(e,t){this.registerPromiseEvent(Promise.resolve({kind:"success",value:e}),t,e.method)}registerPromiseEvent(e,t,a){const n=new Vt(e,t),r=this.#Ft.getChannelsSubscribedToEvent(a,t);this.#$t(n,a);for(const t of r)this.#Kt.emitOutgoingMessage(Zt.OutgoingBidiMessage.createFromPromise(e,t)),this.#Wt(n,t,a)}subscribe(e,t,a){for(const t of e)qt(t);for(const e of t)null!==e&&this.#Kt.getBrowsingContextStorage().getContext(e);for(const n of e)for(const e of t){this.#Ft.subscribe(n,e,a);for(const t of this.#Jt(n,e,a))this.#Kt.emitOutgoingMessage(Zt.OutgoingBidiMessage.createFromPromise(t.event,a)),this.#Wt(t,a,n)}}unsubscribe(e,t,a){for(const t of e)qt(t);this.#Ft.unsubscribeAll(e,t,a)}#$t(e,t){if(!Ut.has(t))return;const a=Ft.#qt(t,e.contextId);this.#Vt.has(a)||this.#Vt.set(a,new At.Buffer(Ut.get(t))),this.#Vt.get(a).add(e),this.#Lt.get(t).add(e.contextId)}#Wt(e,t,a){if(!Ut.has(a))return;const n=Ft.#qt(a,e.contextId,t);this.#Ut.set(n,Math.max(this.#Ut.get(n)??0,e.id))}#Jt(e,t,a){const n=Ft.#qt(e,t),r=Ft.#qt(e,t,a),s=this.#Ut.get(r)??-1/0,o=this.#Vt.get(n)?.get().filter((e=>e.id>s))??[];return null===t&&Array.from(this.#Lt.get(e).keys()).filter((e=>null!==e&&this.#Kt.getBrowsingContextStorage().hasContext(e))).map((t=>this.#Jt(e,t,a))).forEach((e=>o.push(...e))),o.sort(((e,t)=>e.id-t.id))}}Et.EventManager=Ft;const Kt=new Set([...Object.values(Bt.ChromiumBidi.BrowsingContext.EventNames),...Object.values(Bt.ChromiumBidi.Log.EventNames),...Object.values(Bt.ChromiumBidi.Network.EventNames),...Object.values(Bt.ChromiumBidi.Script.EventNames)]);function qt(e){if(!Kt.has(e)&&!e.startsWith("cdp.")&&"cdp"!==e)throw new Bt.InvalidArgumentException(`Unknown event: ${e}`)}var $t={};Object.defineProperty($t,"__esModule",{value:!0}),$t.RealmStorage=void 0;const Wt=h;$t.RealmStorage=class{#Ht=new Map;#Gt=new Map;get knownHandlesToRealmMap(){return this.#Ht}addRealm(e){this.#Gt.set(e.realmId,e)}findRealms(e){return Array.from(this.#Gt.values()).filter((t=>(void 0===e.realmId||e.realmId===t.realmId)&&((void 0===e.browsingContextId||e.browsingContextId===t.browsingContextId)&&((void 0===e.navigableId||e.navigableId===t.navigableId)&&((void 0===e.executionContextId||e.executionContextId===t.executionContextId)&&((void 0===e.origin||e.origin===t.origin)&&((void 0===e.type||e.type===t.type)&&((void 0===e.sandbox||e.sandbox===t.sandbox)&&(void 0===e.cdpSessionId||e.cdpSessionId===t.cdpClient.sessionId)))))))))}findRealm(e){const t=this.findRealms(e);if(1===t.length)return t[0]}getRealm(e){const t=this.findRealm(e);if(void 0===t)throw new Wt.NoSuchFrameException(`Realm ${JSON.stringify(e)} not found`);return t}deleteRealms(e){this.findRealms(e).map((e=>{e.dispose(),this.#Gt.delete(e.realmId),Array.from(this.knownHandlesToRealmMap.entries()).filter((([,t])=>t===e.realmId)).map((([e])=>this.knownHandlesToRealmMap.delete(e)))}))}},Object.defineProperty(r,"__esModule",{value:!0}),r.BidiServer=void 0;const Jt=s,Ht=l,Gt=u,Xt=p,Yt=Pt,Qt=Et,ea=$t;class ta extends Jt.EventEmitter{#Xt;#Yt;#Qt;#d=new Yt.BrowsingContextStorage;#t;#ea=e=>{this.#Qt.processCommand(e).catch((e=>{this.#t?.(Ht.LogType.system,e)}))};#ta=async e=>{const t=e.message;null!==e.channel&&(t.channel=e.channel),await this.#Yt.sendMessage(t)};constructor(e,t,a,n,r){super(),this.#t=r,this.#Xt=new Gt.ProcessingQueue(this.#ta,this.#t),this.#Yt=e,this.#Yt.setOnMessage(this.#ea),this.#Qt=new Xt.CommandProcessor(t,new Qt.EventManager(this),a,this.#d,new ea.RealmStorage,n,this.#t),this.#Qt.on("response",(e=>{this.emitOutgoingMessage(e)}))}static async createAndStart(e,t,a,n,r){const s=new ta(e,t,a,n,r),o=t.browserClient();return await o.sendCommand("Target.setDiscoverTargets",{discover:!0}),await o.sendCommand("Target.setAutoAttach",{autoAttach:!0,waitForDebuggerOnStart:!0,flatten:!0}),await s.#aa(),s}emitOutgoingMessage(e){this.#Xt.add(e)}close(){this.#Yt.close()}getBrowsingContextStorage(){return this.#d}async#aa(){await Promise.all(this.#d.getTopLevelContexts().map((e=>e.lifecycleLoaded())))}}r.BidiServer=ta,function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.OutgoingBidiMessage=e.EventEmitter=e.BidiServer=void 0;var t=r;Object.defineProperty(e,"BidiServer",{enumerable:!0,get:function(){return t.BidiServer}});var a=s;Object.defineProperty(e,"EventEmitter",{enumerable:!0,get:function(){return a.EventEmitter}});var n=P;Object.defineProperty(e,"OutgoingBidiMessage",{enumerable:!0,get:function(){return n.OutgoingBidiMessage}})}(n);var aa={},na={};Object.defineProperty(na,"__esModule",{value:!0}),na.CdpClient=na.CloseError=void 0;const ra=s;class sa extends Error{}na.CloseError=sa;class oa extends ra.EventEmitter{#c;#na;constructor(e,t){super(),this.#c=e,this.#na=t}get sessionId(){return this.#na}browserClient(){return this.#c.browserClient()}sendCommand(e,...t){return this.#c.sendCommand(e,t[0],this.#na)}isCloseError(e){return e instanceof sa}}na.CdpClient=oa,Object.defineProperty(aa,"__esModule",{value:!0}),aa.CdpConnection=void 0;const ia=l,ca=na;aa.CdpConnection=class{#Yt;#ra;#sa=new Map;#oa=new Map;#t;#ia=0;constructor(e,t){this.#Yt=e,this.#t=t,this.#Yt.setOnMessage(this.#ca),this.#ra=new ca.CdpClient(this,void 0)}close(){this.#Yt.close();for(const[,{reject:e,error:t}]of this.#oa)e(t);this.#oa.clear(),this.#sa.clear()}browserClient(){return this.#ra}getCdpClient(e){const t=this.#sa.get(e);if(!t)throw new Error("Unknown CDP session ID");return t}sendCommand(e,t,a){return new Promise(((n,r)=>{const s=this.#ia++;this.#oa.set(s,{resolve:n,reject:r,error:new ca.CloseError(`${e} ${JSON.stringify(t)} ${a??""} call rejected because the connection has been closed.`)});const o={id:s,method:e,params:t};a&&(o.sessionId=a);const i=JSON.stringify(o);this.#Yt.sendMessage(i)?.catch((e=>{this.#t?.(`${ia.LogType.cdp}:ERROR`,e),this.#Yt.close()})),this.#t?.(`${ia.LogType.cdp}:SEND \u25b8`,JSON.stringify(o,null,2))}))}#ca=e=>{const t=JSON.parse(e),a=JSON.stringify(t,null,2);if(this.#t?.(`${ia.LogType.cdp}:RECV \u25c2`,a),"Target.attachedToTarget"===t.method){const{sessionId:e}=t.params;this.#sa.set(e,new ca.CdpClient(this,e))}if(void 0!==t.id){const e=this.#oa.get(t.id);this.#oa.delete(t.id),e&&(t.result?e.resolve(t.result):t.error&&e.reject(t.error))}else if(t.method){const e=t.sessionId?this.#sa.get(t.sessionId):this.#ra;if(e?.emit(t.method,t.params||{}),"Target.detachedFromTarget"===t.method){const{sessionId:e}=t.params,a=this.#sa.get(e);a&&(this.#sa.delete(e),a.removeAllListeners())}}}};var da={},la={},ua={},ma={},pa={},ha={},fa={};!function(e){var t;Object.defineProperty(e,"__esModule",{value:!0}),e.getParsedType=e.ZodParsedType=e.objectUtil=e.util=void 0,function(e){e.assertEqual=e=>e,e.assertIs=function(e){},e.assertNever=function(e){throw new Error},e.arrayToEnum=e=>{const t={};for(const a of e)t[a]=a;return t},e.getValidEnumValues=t=>{const a=e.objectKeys(t).filter((e=>"number"!=typeof t[t[e]])),n={};for(const e of a)n[e]=t[e];return e.objectValues(n)},e.objectValues=t=>e.objectKeys(t).map((function(e){return t[e]})),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{const t=[];for(const a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.push(a);return t},e.find=(e,t)=>{for(const a of e)if(t(a))return a},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map((e=>"string"==typeof e?`'${e}'`:e)).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(t=e.util||(e.util={})),(e.objectUtil||(e.objectUtil={})).mergeShapes=(e,t)=>({...e,...t}),e.ZodParsedType=t.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]);e.getParsedType=t=>{switch(typeof t){case"undefined":return e.ZodParsedType.undefined;case"string":return e.ZodParsedType.string;case"number":return isNaN(t)?e.ZodParsedType.nan:e.ZodParsedType.number;case"boolean":return e.ZodParsedType.boolean;case"function":return e.ZodParsedType.function;case"bigint":return e.ZodParsedType.bigint;case"symbol":return e.ZodParsedType.symbol;case"object":return Array.isArray(t)?e.ZodParsedType.array:null===t?e.ZodParsedType.null:t.then&&"function"==typeof t.then&&t.catch&&"function"==typeof t.catch?e.ZodParsedType.promise:"undefined"!=typeof Map&&t instanceof Map?e.ZodParsedType.map:"undefined"!=typeof Set&&t instanceof Set?e.ZodParsedType.set:"undefined"!=typeof Date&&t instanceof Date?e.ZodParsedType.date:e.ZodParsedType.object;default:return e.ZodParsedType.unknown}}}(fa);var ga={};Object.defineProperty(ga,"__esModule",{value:!0}),ga.ZodError=ga.quotelessJson=ga.ZodIssueCode=void 0;const ya=fa;ga.ZodIssueCode=ya.util.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);ga.quotelessJson=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:");class va extends Error{constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(e){return e.message},a={_errors:[]},n=e=>{for(const r of e.issues)if("invalid_union"===r.code)r.unionErrors.map(n);else if("invalid_return_type"===r.code)n(r.returnTypeError);else if("invalid_arguments"===r.code)n(r.argumentsError);else if(0===r.path.length)a._errors.push(t(r));else{let e=a,n=0;for(;n<r.path.length;){const a=r.path[n];n===r.path.length-1?(e[a]=e[a]||{_errors:[]},e[a]._errors.push(t(r))):e[a]=e[a]||{_errors:[]},e=e[a],n++}}};return n(this),a}toString(){return this.message}get message(){return JSON.stringify(this.issues,ya.util.jsonStringifyReplacer,2)}get isEmpty(){return 0===this.issues.length}flatten(e=(e=>e.message)){const t={},a=[];for(const n of this.issues)n.path.length>0?(t[n.path[0]]=t[n.path[0]]||[],t[n.path[0]].push(e(n))):a.push(e(n));return{formErrors:a,fieldErrors:t}}get formErrors(){return this.flatten()}}ga.ZodError=va,va.create=e=>new va(e),Object.defineProperty(ha,"__esModule",{value:!0});const Sa=fa,ba=ga;ha.default=(e,t)=>{let a;switch(e.code){case ba.ZodIssueCode.invalid_type:a=e.received===Sa.ZodParsedType.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case ba.ZodIssueCode.invalid_literal:a=`Invalid literal value, expected ${JSON.stringify(e.expected,Sa.util.jsonStringifyReplacer)}`;break;case ba.ZodIssueCode.unrecognized_keys:a=`Unrecognized key(s) in object: ${Sa.util.joinValues(e.keys,", ")}`;break;case ba.ZodIssueCode.invalid_union:a="Invalid input";break;case ba.ZodIssueCode.invalid_union_discriminator:a=`Invalid discriminator value. Expected ${Sa.util.joinValues(e.options)}`;break;case ba.ZodIssueCode.invalid_enum_value:a=`Invalid enum value. Expected ${Sa.util.joinValues(e.options)}, received '${e.received}'`;break;case ba.ZodIssueCode.invalid_arguments:a="Invalid function arguments";break;case ba.ZodIssueCode.invalid_return_type:a="Invalid function return type";break;case ba.ZodIssueCode.invalid_date:a="Invalid date";break;case ba.ZodIssueCode.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(a=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(a=`${a} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?a=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?a=`Invalid input: must end with "${e.validation.endsWith}"`:Sa.util.assertNever(e.validation):a="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case ba.ZodIssueCode.too_small:a="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case ba.ZodIssueCode.too_big:a="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case ba.ZodIssueCode.custom:a="Invalid input";break;case ba.ZodIssueCode.invalid_intersection_types:a="Intersection results could not be merged";break;case ba.ZodIssueCode.not_multiple_of:a=`Number must be a multiple of ${e.multipleOf}`;break;case ba.ZodIssueCode.not_finite:a="Number must be finite";break;default:a=t.defaultError,Sa.util.assertNever(e)}return{message:a}};var Ca=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(pa,"__esModule",{value:!0}),pa.getErrorMap=pa.setErrorMap=pa.defaultErrorMap=void 0;const wa=Ca(ha);pa.defaultErrorMap=wa.default;let xa=wa.default;pa.setErrorMap=function(e){xa=e},pa.getErrorMap=function(){return xa};var Ia={};!function(t){var a=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.isAsync=t.isValid=t.isDirty=t.isAborted=t.OK=t.DIRTY=t.INVALID=t.ParseStatus=t.addIssueToContext=t.EMPTY_PATH=t.makeIssue=void 0;const n=pa,r=a(ha);t.makeIssue=e=>{const{data:t,path:a,errorMaps:n,issueData:r}=e,s=[...a,...r.path||[]],o={...r,path:s};let i="";const c=n.filter((e=>!!e)).slice().reverse();for(const e of c)i=e(o,{data:t,defaultError:i}).message;return{...r,path:s,message:r.message||i}},t.EMPTY_PATH=[],t.addIssueToContext=function(e,a){const s=(0,t.makeIssue)({issueData:a,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,(0,n.getErrorMap)(),r.default].filter((e=>!!e))});e.common.issues.push(s)};class s{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,a){const n=[];for(const r of a){if("aborted"===r.status)return t.INVALID;"dirty"===r.status&&e.dirty(),n.push(r.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const a=[];for(const e of t)a.push({key:await e.key,value:await e.value});return s.mergeObjectSync(e,a)}static mergeObjectSync(e,a){const n={};for(const r of a){const{key:a,value:s}=r;if("aborted"===a.status)return t.INVALID;if("aborted"===s.status)return t.INVALID;"dirty"===a.status&&e.dirty(),"dirty"===s.status&&e.dirty(),(void 0!==s.value||r.alwaysSet)&&(n[a.value]=s.value)}return{status:e.value,value:n}}}t.ParseStatus=s,t.INVALID=Object.freeze({status:"aborted"});t.DIRTY=e=>({status:"dirty",value:e});t.OK=e=>({status:"valid",value:e});t.isAborted=e=>"aborted"===e.status;t.isDirty=e=>"dirty"===e.status;t.isValid=e=>"valid"===e.status;t.isAsync=e=>"undefined"!=typeof Promise&&e instanceof Promise}(Ia);var Pa={};Object.defineProperty(Pa,"__esModule",{value:!0});var _a,Ea={},Ta={};_a=Ta,Object.defineProperty(_a,"__esModule",{value:!0}),_a.errorUtil=void 0,function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:null==e?void 0:e.message}(_a.errorUtil||(_a.errorUtil={})),function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.discriminatedUnion=e.date=e.boolean=e.bigint=e.array=e.any=e.coerce=e.ZodFirstPartyTypeKind=e.late=e.ZodSchema=e.Schema=e.custom=e.ZodPipeline=e.ZodBranded=e.BRAND=e.ZodNaN=e.ZodCatch=e.ZodDefault=e.ZodNullable=e.ZodOptional=e.ZodTransformer=e.ZodEffects=e.ZodPromise=e.ZodNativeEnum=e.ZodEnum=e.ZodLiteral=e.ZodLazy=e.ZodFunction=e.ZodSet=e.ZodMap=e.ZodRecord=e.ZodTuple=e.ZodIntersection=e.ZodDiscriminatedUnion=e.ZodUnion=e.ZodObject=e.ZodArray=e.ZodVoid=e.ZodNever=e.ZodUnknown=e.ZodAny=e.ZodNull=e.ZodUndefined=e.ZodSymbol=e.ZodDate=e.ZodBoolean=e.ZodBigInt=e.ZodNumber=e.ZodString=e.ZodType=void 0,e.NEVER=e.void=e.unknown=e.union=e.undefined=e.tuple=e.transformer=e.symbol=e.string=e.strictObject=e.set=e.record=e.promise=e.preprocess=e.pipeline=e.ostring=e.optional=e.onumber=e.oboolean=e.object=e.number=e.nullable=e.null=e.never=e.nativeEnum=e.nan=e.map=e.literal=e.lazy=e.intersection=e.instanceof=e.function=e.enum=e.effect=void 0;const t=pa,a=Ta,n=Ia,r=fa,s=ga;class o{constructor(e,t,a,n){this._cachedPath=[],this.parent=e,this.data=t,this._path=a,this._key=n}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const i=(e,t)=>{if((0,n.isValid)(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new s.ZodError(e.common.issues);return this._error=t,this._error}}};function c(e){if(!e)return{};const{errorMap:t,invalid_type_error:a,required_error:n,description:r}=e;if(t&&(a||n))throw new Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');if(t)return{errorMap:t,description:r};return{errorMap:(e,t)=>"invalid_type"!==e.code?{message:t.defaultError}:void 0===t.data?{message:null!=n?n:t.defaultError}:{message:null!=a?a:t.defaultError},description:r}}class d{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return(0,r.getParsedType)(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:(0,r.getParsedType)(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new n.ParseStatus,ctx:{common:e.parent.common,data:e.data,parsedType:(0,r.getParsedType)(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if((0,n.isAsync)(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const a=this.safeParse(e,t);if(a.success)return a.data;throw a.error}safeParse(e,t){var a;const n={common:{issues:[],async:null!==(a=null==t?void 0:t.async)&&void 0!==a&&a,contextualErrorMap:null==t?void 0:t.errorMap},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,r.getParsedType)(e)},s=this._parseSync({data:e,path:n.path,parent:n});return i(n,s)}async parseAsync(e,t){const a=await this.safeParseAsync(e,t);if(a.success)return a.data;throw a.error}async safeParseAsync(e,t){const a={common:{issues:[],contextualErrorMap:null==t?void 0:t.errorMap,async:!0},path:(null==t?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:(0,r.getParsedType)(e)},s=this._parse({data:e,path:a.path,parent:a}),o=await((0,n.isAsync)(s)?s:Promise.resolve(s));return i(a,o)}refine(e,t){const a=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement(((t,n)=>{const r=e(t),o=()=>n.addIssue({code:s.ZodIssueCode.custom,...a(t)});return"undefined"!=typeof Promise&&r instanceof Promise?r.then((e=>!!e||(o(),!1))):!!r||(o(),!1)}))}refinement(e,t){return this._refinement(((a,n)=>!!e(a)||(n.addIssue("function"==typeof t?t(a,n):t),!1)))}_refinement(e){return new G({schema:this,typeName:re.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return X.create(this,this._def)}nullable(){return Y.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return N.create(this,this._def)}promise(){return H.create(this,this._def)}or(e){return M.create([this,e],this._def)}and(e){return z.create(this,e,this._def)}transform(e){return new G({...c(this._def),schema:this,typeName:re.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t="function"==typeof e?e:()=>e;return new Q({...c(this._def),innerType:this,defaultValue:t,typeName:re.ZodDefault})}brand(){return new ae({typeName:re.ZodBranded,type:this,...c(this._def)})}catch(e){const t="function"==typeof e?e:()=>e;return new ee({...c(this._def),innerType:this,catchValue:t,typeName:re.ZodCatch})}describe(e){return new(0,this.constructor)({...this._def,description:e})}pipe(e){return ne.create(this,e)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}e.ZodType=d,e.Schema=d,e.ZodSchema=d;const l=/^c[^\s-]{8,}$/i,u=/^[a-z][a-z0-9]*$/,m=/[0-9A-HJKMNP-TV-Z]{26}/,p=/^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i,h=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\])|(\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\.[A-Za-z]{2,})+))$/,f=/^(\p{Extended_Pictographic}|\p{Emoji_Component})+$/u,g=/^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/,y=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;class v extends d{constructor(){super(...arguments),this._regex=(e,t,n)=>this.refinement((t=>e.test(t)),{validation:t,code:s.ZodIssueCode.invalid_string,...a.errorUtil.errToObj(n)}),this.nonempty=e=>this.min(1,a.errorUtil.errToObj(e)),this.trim=()=>new v({...this._def,checks:[...this._def.checks,{kind:"trim"}]}),this.toLowerCase=()=>new v({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]}),this.toUpperCase=()=>new v({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}_parse(e){this._def.coerce&&(e.data=String(e.data));if(this._getType(e)!==r.ZodParsedType.string){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.string,received:t.parsedType}),n.INVALID}const t=new n.ParseStatus;let a;for(const d of this._def.checks)if("min"===d.kind)e.data.length<d.value&&(a=this._getOrReturnCtx(e,a),(0,n.addIssueToContext)(a,{code:s.ZodIssueCode.too_small,minimum:d.value,type:"string",inclusive:!0,exact:!1,message:d.message}),t.dirty());else if("max"===d.kind)e.data.length>d.value&&(a=this._getOrReturnCtx(e,a),(0,n.addIssueToContext)(a,{code:s.ZodIssueCode.too_big,maximum:d.value,type:"string",inclusive:!0,exact:!1,message:d.message}),t.dirty());else if("length"===d.kind){const r=e.data.length>d.value,o=e.data.length<d.value;(r||o)&&(a=this._getOrReturnCtx(e,a),r?(0,n.addIssueToContext)(a,{code:s.ZodIssueCode.too_big,maximum:d.value,type:"string",inclusive:!0,exact:!0,message:d.message}):o&&(0,n.addIssueToContext)(a,{code:s.ZodIssueCode.too_small,minimum:d.value,type:"string",inclusive:!0,exact:!0,message:d.message}),t.dirty())}else if("email"===d.kind)h.test(e.data)||(a=this._getOrReturnCtx(e,a),(0,n.addIssueToContext)(a,{validation:"email",code:s.ZodIssueCode.invalid_string,message:d.message}),t.dirty());else if("emoji"===d.kind)f.test(e.data)||(a=this._getOrReturnCtx(e,a),(0,n.addIssueToContext)(a,{validation:"emoji",code:s.ZodIssueCode.invalid_string,message:d.message}),t.dirty());else if("uuid"===d.kind)p.test(e.data)||(a=this._getOrReturnCtx(e,a),(0,n.addIssueToContext)(a,{validation:"uuid",code:s.ZodIssueCode.invalid_string,message:d.message}),t.dirty());else if("cuid"===d.kind)l.test(e.data)||(a=this._getOrReturnCtx(e,a),(0,n.addIssueToContext)(a,{validation:"cuid",code:s.ZodIssueCode.invalid_string,message:d.message}),t.dirty());else if("cuid2"===d.kind)u.test(e.data)||(a=this._getOrReturnCtx(e,a),(0,n.addIssueToContext)(a,{validation:"cuid2",code:s.ZodIssueCode.invalid_string,message:d.message}),t.dirty());else if("ulid"===d.kind)m.test(e.data)||(a=this._getOrReturnCtx(e,a),(0,n.addIssueToContext)(a,{validation:"ulid",code:s.ZodIssueCode.invalid_string,message:d.message}),t.dirty());else if("url"===d.kind)try{new URL(e.data)}catch(r){a=this._getOrReturnCtx(e,a),(0,n.addIssueToContext)(a,{validation:"url",code:s.ZodIssueCode.invalid_string,message:d.message}),t.dirty()}else if("regex"===d.kind){d.regex.lastIndex=0;d.regex.test(e.data)||(a=this._getOrReturnCtx(e,a),(0,n.addIssueToContext)(a,{validation:"regex",code:s.ZodIssueCode.invalid_string,message:d.message}),t.dirty())}else if("trim"===d.kind)e.data=e.data.trim();else if("includes"===d.kind)e.data.includes(d.value,d.position)||(a=this._getOrReturnCtx(e,a),(0,n.addIssueToContext)(a,{code:s.ZodIssueCode.invalid_string,validation:{includes:d.value,position:d.position},message:d.message}),t.dirty());else if("toLowerCase"===d.kind)e.data=e.data.toLowerCase();else if("toUpperCase"===d.kind)e.data=e.data.toUpperCase();else if("startsWith"===d.kind)e.data.startsWith(d.value)||(a=this._getOrReturnCtx(e,a),(0,n.addIssueToContext)(a,{code:s.ZodIssueCode.invalid_string,validation:{startsWith:d.value},message:d.message}),t.dirty());else if("endsWith"===d.kind)e.data.endsWith(d.value)||(a=this._getOrReturnCtx(e,a),(0,n.addIssueToContext)(a,{code:s.ZodIssueCode.invalid_string,validation:{endsWith:d.value},message:d.message}),t.dirty());else if("datetime"===d.kind){((c=d).precision?c.offset?new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${c.precision}}(([+-]\\d{2}(:?\\d{2})?)|Z)$`):new RegExp(`^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}\\.\\d{${c.precision}}Z$`):0===c.precision?c.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$"):c.offset?new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?(([+-]\\d{2}(:?\\d{2})?)|Z)$"):new RegExp("^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$")).test(e.data)||(a=this._getOrReturnCtx(e,a),(0,n.addIssueToContext)(a,{code:s.ZodIssueCode.invalid_string,validation:"datetime",message:d.message}),t.dirty())}else"ip"===d.kind?(o=e.data,("v4"!==(i=d.version)&&i||!g.test(o))&&("v6"!==i&&i||!y.test(o))&&(a=this._getOrReturnCtx(e,a),(0,n.addIssueToContext)(a,{validation:"ip",code:s.ZodIssueCode.invalid_string,message:d.message}),t.dirty())):r.util.assertNever(d);var o,i,c;return{status:t.value,value:e.data}}_addCheck(e){return new v({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...a.errorUtil.errToObj(e)})}url(e){return this._addCheck({kind:"url",...a.errorUtil.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...a.errorUtil.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...a.errorUtil.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...a.errorUtil.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...a.errorUtil.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...a.errorUtil.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...a.errorUtil.errToObj(e)})}datetime(e){var t;return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===(null==e?void 0:e.precision)?null:null==e?void 0:e.precision,offset:null!==(t=null==e?void 0:e.offset)&&void 0!==t&&t,...a.errorUtil.errToObj(null==e?void 0:e.message)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...a.errorUtil.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:null==t?void 0:t.position,...a.errorUtil.errToObj(null==t?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...a.errorUtil.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...a.errorUtil.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...a.errorUtil.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...a.errorUtil.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...a.errorUtil.errToObj(t)})}get isDatetime(){return!!this._def.checks.find((e=>"datetime"===e.kind))}get isEmail(){return!!this._def.checks.find((e=>"email"===e.kind))}get isURL(){return!!this._def.checks.find((e=>"url"===e.kind))}get isEmoji(){return!!this._def.checks.find((e=>"emoji"===e.kind))}get isUUID(){return!!this._def.checks.find((e=>"uuid"===e.kind))}get isCUID(){return!!this._def.checks.find((e=>"cuid"===e.kind))}get isCUID2(){return!!this._def.checks.find((e=>"cuid2"===e.kind))}get isULID(){return!!this._def.checks.find((e=>"ulid"===e.kind))}get isIP(){return!!this._def.checks.find((e=>"ip"===e.kind))}get minLength(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}function S(e,t){const a=(e.toString().split(".")[1]||"").length,n=(t.toString().split(".")[1]||"").length,r=a>n?a:n;return parseInt(e.toFixed(r).replace(".",""))%parseInt(t.toFixed(r).replace(".",""))/Math.pow(10,r)}e.ZodString=v,v.create=e=>{var t;return new v({checks:[],typeName:re.ZodString,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...c(e)})};class b extends d{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){this._def.coerce&&(e.data=Number(e.data));if(this._getType(e)!==r.ZodParsedType.number){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.number,received:t.parsedType}),n.INVALID}let t;const a=new n.ParseStatus;for(const o of this._def.checks)if("int"===o.kind)r.util.isInteger(e.data)||(t=this._getOrReturnCtx(e,t),(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_type,expected:"integer",received:"float",message:o.message}),a.dirty());else if("min"===o.kind){(o.inclusive?e.data<o.value:e.data<=o.value)&&(t=this._getOrReturnCtx(e,t),(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),a.dirty())}else if("max"===o.kind){(o.inclusive?e.data>o.value:e.data>=o.value)&&(t=this._getOrReturnCtx(e,t),(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),a.dirty())}else"multipleOf"===o.kind?0!==S(e.data,o.value)&&(t=this._getOrReturnCtx(e,t),(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.not_multiple_of,multipleOf:o.value,message:o.message}),a.dirty()):"finite"===o.kind?Number.isFinite(e.data)||(t=this._getOrReturnCtx(e,t),(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.not_finite,message:o.message}),a.dirty()):r.util.assertNever(o);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,a.errorUtil.toString(t))}gt(e,t){return this.setLimit("min",e,!1,a.errorUtil.toString(t))}lte(e,t){return this.setLimit("max",e,!0,a.errorUtil.toString(t))}lt(e,t){return this.setLimit("max",e,!1,a.errorUtil.toString(t))}setLimit(e,t,n,r){return new b({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:a.errorUtil.toString(r)}]})}_addCheck(e){return new b({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:a.errorUtil.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:a.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:a.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:a.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:a.errorUtil.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:a.errorUtil.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:a.errorUtil.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:a.errorUtil.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:a.errorUtil.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find((e=>"int"===e.kind||"multipleOf"===e.kind&&r.util.isInteger(e.value)))}get isFinite(){let e=null,t=null;for(const a of this._def.checks){if("finite"===a.kind||"int"===a.kind||"multipleOf"===a.kind)return!0;"min"===a.kind?(null===t||a.value>t)&&(t=a.value):"max"===a.kind&&(null===e||a.value<e)&&(e=a.value)}return Number.isFinite(t)&&Number.isFinite(e)}}e.ZodNumber=b,b.create=e=>new b({checks:[],typeName:re.ZodNumber,coerce:(null==e?void 0:e.coerce)||!1,...c(e)});class C extends d{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){this._def.coerce&&(e.data=BigInt(e.data));if(this._getType(e)!==r.ZodParsedType.bigint){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.bigint,received:t.parsedType}),n.INVALID}let t;const a=new n.ParseStatus;for(const o of this._def.checks)if("min"===o.kind){(o.inclusive?e.data<o.value:e.data<=o.value)&&(t=this._getOrReturnCtx(e,t),(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),a.dirty())}else if("max"===o.kind){(o.inclusive?e.data>o.value:e.data>=o.value)&&(t=this._getOrReturnCtx(e,t),(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),a.dirty())}else"multipleOf"===o.kind?e.data%o.value!==BigInt(0)&&(t=this._getOrReturnCtx(e,t),(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.not_multiple_of,multipleOf:o.value,message:o.message}),a.dirty()):r.util.assertNever(o);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,a.errorUtil.toString(t))}gt(e,t){return this.setLimit("min",e,!1,a.errorUtil.toString(t))}lte(e,t){return this.setLimit("max",e,!0,a.errorUtil.toString(t))}lt(e,t){return this.setLimit("max",e,!1,a.errorUtil.toString(t))}setLimit(e,t,n,r){return new C({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:a.errorUtil.toString(r)}]})}_addCheck(e){return new C({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:a.errorUtil.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:a.errorUtil.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:a.errorUtil.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:a.errorUtil.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:a.errorUtil.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return e}}e.ZodBigInt=C,C.create=e=>{var t;return new C({checks:[],typeName:re.ZodBigInt,coerce:null!==(t=null==e?void 0:e.coerce)&&void 0!==t&&t,...c(e)})};class w extends d{_parse(e){this._def.coerce&&(e.data=Boolean(e.data));if(this._getType(e)!==r.ZodParsedType.boolean){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.boolean,received:t.parsedType}),n.INVALID}return(0,n.OK)(e.data)}}e.ZodBoolean=w,w.create=e=>new w({typeName:re.ZodBoolean,coerce:(null==e?void 0:e.coerce)||!1,...c(e)});class x extends d{_parse(e){this._def.coerce&&(e.data=new Date(e.data));if(this._getType(e)!==r.ZodParsedType.date){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.date,received:t.parsedType}),n.INVALID}if(isNaN(e.data.getTime())){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_date}),n.INVALID}const t=new n.ParseStatus;let a;for(const o of this._def.checks)"min"===o.kind?e.data.getTime()<o.value&&(a=this._getOrReturnCtx(e,a),(0,n.addIssueToContext)(a,{code:s.ZodIssueCode.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),t.dirty()):"max"===o.kind?e.data.getTime()>o.value&&(a=this._getOrReturnCtx(e,a),(0,n.addIssueToContext)(a,{code:s.ZodIssueCode.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),t.dirty()):r.util.assertNever(o);return{status:t.value,value:new Date(e.data.getTime())}}_addCheck(e){return new x({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:a.errorUtil.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:a.errorUtil.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)"max"===t.kind&&(null===e||t.value<e)&&(e=t.value);return null!=e?new Date(e):null}}e.ZodDate=x,x.create=e=>new x({checks:[],coerce:(null==e?void 0:e.coerce)||!1,typeName:re.ZodDate,...c(e)});class I extends d{_parse(e){if(this._getType(e)!==r.ZodParsedType.symbol){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.symbol,received:t.parsedType}),n.INVALID}return(0,n.OK)(e.data)}}e.ZodSymbol=I,I.create=e=>new I({typeName:re.ZodSymbol,...c(e)});class P extends d{_parse(e){if(this._getType(e)!==r.ZodParsedType.undefined){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.undefined,received:t.parsedType}),n.INVALID}return(0,n.OK)(e.data)}}e.ZodUndefined=P,P.create=e=>new P({typeName:re.ZodUndefined,...c(e)});class _ extends d{_parse(e){if(this._getType(e)!==r.ZodParsedType.null){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.null,received:t.parsedType}),n.INVALID}return(0,n.OK)(e.data)}}e.ZodNull=_,_.create=e=>new _({typeName:re.ZodNull,...c(e)});class E extends d{constructor(){super(...arguments),this._any=!0}_parse(e){return(0,n.OK)(e.data)}}e.ZodAny=E,E.create=e=>new E({typeName:re.ZodAny,...c(e)});class T extends d{constructor(){super(...arguments),this._unknown=!0}_parse(e){return(0,n.OK)(e.data)}}e.ZodUnknown=T,T.create=e=>new T({typeName:re.ZodUnknown,...c(e)});class k extends d{_parse(e){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.never,received:t.parsedType}),n.INVALID}}e.ZodNever=k,k.create=e=>new k({typeName:re.ZodNever,...c(e)});class R extends d{_parse(e){if(this._getType(e)!==r.ZodParsedType.undefined){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.void,received:t.parsedType}),n.INVALID}return(0,n.OK)(e.data)}}e.ZodVoid=R,R.create=e=>new R({typeName:re.ZodVoid,...c(e)});class N extends d{_parse(e){const{ctx:t,status:a}=this._processInputParams(e),i=this._def;if(t.parsedType!==r.ZodParsedType.array)return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.array,received:t.parsedType}),n.INVALID;if(null!==i.exactLength){const e=t.data.length>i.exactLength.value,r=t.data.length<i.exactLength.value;(e||r)&&((0,n.addIssueToContext)(t,{code:e?s.ZodIssueCode.too_big:s.ZodIssueCode.too_small,minimum:r?i.exactLength.value:void 0,maximum:e?i.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:i.exactLength.message}),a.dirty())}if(null!==i.minLength&&t.data.length<i.minLength.value&&((0,n.addIssueToContext)(t,{code:s.ZodIssueCode.too_small,minimum:i.minLength.value,type:"array",inclusive:!0,exact:!1,message:i.minLength.message}),a.dirty()),null!==i.maxLength&&t.data.length>i.maxLength.value&&((0,n.addIssueToContext)(t,{code:s.ZodIssueCode.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),a.dirty()),t.common.async)return Promise.all([...t.data].map(((e,a)=>i.type._parseAsync(new o(t,e,t.path,a))))).then((e=>n.ParseStatus.mergeArray(a,e)));const c=[...t.data].map(((e,a)=>i.type._parseSync(new o(t,e,t.path,a))));return n.ParseStatus.mergeArray(a,c)}get element(){return this._def.type}min(e,t){return new N({...this._def,minLength:{value:e,message:a.errorUtil.toString(t)}})}max(e,t){return new N({...this._def,maxLength:{value:e,message:a.errorUtil.toString(t)}})}length(e,t){return new N({...this._def,exactLength:{value:e,message:a.errorUtil.toString(t)}})}nonempty(e){return this.min(1,e)}}function j(e){if(e instanceof O){const t={};for(const a in e.shape){const n=e.shape[a];t[a]=X.create(j(n))}return new O({...e._def,shape:()=>t})}return e instanceof N?new N({...e._def,type:j(e.element)}):e instanceof X?X.create(j(e.unwrap())):e instanceof Y?Y.create(j(e.unwrap())):e instanceof Z?Z.create(e.items.map((e=>j(e)))):e}e.ZodArray=N,N.create=(e,t)=>new N({type:e,minLength:null,maxLength:null,exactLength:null,typeName:re.ZodArray,...c(t)});class O extends d{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;const e=this._def.shape(),t=r.util.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==r.ZodParsedType.object){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.object,received:t.parsedType}),n.INVALID}const{status:t,ctx:a}=this._processInputParams(e),{shape:i,keys:c}=this._getCached(),d=[];if(!(this._def.catchall instanceof k&&"strip"===this._def.unknownKeys))for(const e in a.data)c.includes(e)||d.push(e);const l=[];for(const e of c){const t=i[e],n=a.data[e];l.push({key:{status:"valid",value:e},value:t._parse(new o(a,n,a.path,e)),alwaysSet:e in a.data})}if(this._def.catchall instanceof k){const e=this._def.unknownKeys;if("passthrough"===e)for(const e of d)l.push({key:{status:"valid",value:e},value:{status:"valid",value:a.data[e]}});else if("strict"===e)d.length>0&&((0,n.addIssueToContext)(a,{code:s.ZodIssueCode.unrecognized_keys,keys:d}),t.dirty());else if("strip"!==e)throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const e=this._def.catchall;for(const t of d){const n=a.data[t];l.push({key:{status:"valid",value:t},value:e._parse(new o(a,n,a.path,t)),alwaysSet:t in a.data})}}return a.common.async?Promise.resolve().then((async()=>{const e=[];for(const t of l){const a=await t.key;e.push({key:a,value:await t.value,alwaysSet:t.alwaysSet})}return e})).then((e=>n.ParseStatus.mergeObjectSync(t,e))):n.ParseStatus.mergeObjectSync(t,l)}get shape(){return this._def.shape()}strict(e){return a.errorUtil.errToObj,new O({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,n)=>{var r,s,o,i;const c=null!==(o=null===(s=(r=this._def).errorMap)||void 0===s?void 0:s.call(r,t,n).message)&&void 0!==o?o:n.defaultError;return"unrecognized_keys"===t.code?{message:null!==(i=a.errorUtil.errToObj(e).message)&&void 0!==i?i:c}:{message:c}}}:{}})}strip(){return new O({...this._def,unknownKeys:"strip"})}passthrough(){return new O({...this._def,unknownKeys:"passthrough"})}extend(e){return new O({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new O({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:re.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new O({...this._def,catchall:e})}pick(e){const t={};return r.util.objectKeys(e).forEach((a=>{e[a]&&this.shape[a]&&(t[a]=this.shape[a])})),new O({...this._def,shape:()=>t})}omit(e){const t={};return r.util.objectKeys(this.shape).forEach((a=>{e[a]||(t[a]=this.shape[a])})),new O({...this._def,shape:()=>t})}deepPartial(){return j(this)}partial(e){const t={};return r.util.objectKeys(this.shape).forEach((a=>{const n=this.shape[a];e&&!e[a]?t[a]=n:t[a]=n.optional()})),new O({...this._def,shape:()=>t})}required(e){const t={};return r.util.objectKeys(this.shape).forEach((a=>{if(e&&!e[a])t[a]=this.shape[a];else{let e=this.shape[a];for(;e instanceof X;)e=e._def.innerType;t[a]=e}})),new O({...this._def,shape:()=>t})}keyof(){return $(r.util.objectKeys(this.shape))}}e.ZodObject=O,O.create=(e,t)=>new O({shape:()=>e,unknownKeys:"strip",catchall:k.create(),typeName:re.ZodObject,...c(t)}),O.strictCreate=(e,t)=>new O({shape:()=>e,unknownKeys:"strict",catchall:k.create(),typeName:re.ZodObject,...c(t)}),O.lazycreate=(e,t)=>new O({shape:e,unknownKeys:"strip",catchall:k.create(),typeName:re.ZodObject,...c(t)});class M extends d{_parse(e){const{ctx:t}=this._processInputParams(e),a=this._def.options;if(t.common.async)return Promise.all(a.map((async e=>{const a={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}}))).then((function(e){for(const t of e)if("valid"===t.result.status)return t.result;for(const a of e)if("dirty"===a.result.status)return t.common.issues.push(...a.ctx.common.issues),a.result;const a=e.map((e=>new s.ZodError(e.ctx.common.issues)));return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_union,unionErrors:a}),n.INVALID}));{let e;const r=[];for(const n of a){const a={...t,common:{...t.common,issues:[]},parent:null},s=n._parseSync({data:t.data,path:t.path,parent:a});if("valid"===s.status)return s;"dirty"!==s.status||e||(e={result:s,ctx:a}),a.common.issues.length&&r.push(a.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;const o=r.map((e=>new s.ZodError(e)));return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_union,unionErrors:o}),n.INVALID}}get options(){return this._def.options}}e.ZodUnion=M,M.create=(e,t)=>new M({options:e,typeName:re.ZodUnion,...c(t)});const B=e=>e instanceof K?B(e.schema):e instanceof G?B(e.innerType()):e instanceof q?[e.value]:e instanceof W?e.options:e instanceof J?Object.keys(e.enum):e instanceof Q?B(e._def.innerType):e instanceof P?[void 0]:e instanceof _?[null]:null;class D extends d{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==r.ZodParsedType.object)return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.object,received:t.parsedType}),n.INVALID;const a=this.discriminator,o=t.data[a],i=this.optionsMap.get(o);return i?t.common.async?i._parseAsync({data:t.data,path:t.path,parent:t}):i._parseSync({data:t.data,path:t.path,parent:t}):((0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[a]}),n.INVALID)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,a){const n=new Map;for(const a of t){const t=B(a.shape[e]);if(!t)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const r of t){if(n.has(r))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(r)}`);n.set(r,a)}}return new D({typeName:re.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:n,...c(a)})}}function A(e,t){const a=(0,r.getParsedType)(e),n=(0,r.getParsedType)(t);if(e===t)return{valid:!0,data:e};if(a===r.ZodParsedType.object&&n===r.ZodParsedType.object){const a=r.util.objectKeys(t),n=r.util.objectKeys(e).filter((e=>-1!==a.indexOf(e))),s={...e,...t};for(const a of n){const n=A(e[a],t[a]);if(!n.valid)return{valid:!1};s[a]=n.data}return{valid:!0,data:s}}if(a===r.ZodParsedType.array&&n===r.ZodParsedType.array){if(e.length!==t.length)return{valid:!1};const a=[];for(let n=0;n<e.length;n++){const r=A(e[n],t[n]);if(!r.valid)return{valid:!1};a.push(r.data)}return{valid:!0,data:a}}return a===r.ZodParsedType.date&&n===r.ZodParsedType.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}e.ZodDiscriminatedUnion=D;class z extends d{_parse(e){const{status:t,ctx:a}=this._processInputParams(e),r=(e,r)=>{if((0,n.isAborted)(e)||(0,n.isAborted)(r))return n.INVALID;const o=A(e.value,r.value);return o.valid?(((0,n.isDirty)(e)||(0,n.isDirty)(r))&&t.dirty(),{status:t.value,value:o.data}):((0,n.addIssueToContext)(a,{code:s.ZodIssueCode.invalid_intersection_types}),n.INVALID)};return a.common.async?Promise.all([this._def.left._parseAsync({data:a.data,path:a.path,parent:a}),this._def.right._parseAsync({data:a.data,path:a.path,parent:a})]).then((([e,t])=>r(e,t))):r(this._def.left._parseSync({data:a.data,path:a.path,parent:a}),this._def.right._parseSync({data:a.data,path:a.path,parent:a}))}}e.ZodIntersection=z,z.create=(e,t,a)=>new z({left:e,right:t,typeName:re.ZodIntersection,...c(a)});class Z extends d{_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==r.ZodParsedType.array)return(0,n.addIssueToContext)(a,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.array,received:a.parsedType}),n.INVALID;if(a.data.length<this._def.items.length)return(0,n.addIssueToContext)(a,{code:s.ZodIssueCode.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.INVALID;!this._def.rest&&a.data.length>this._def.items.length&&((0,n.addIssueToContext)(a,{code:s.ZodIssueCode.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const i=[...a.data].map(((e,t)=>{const n=this._def.items[t]||this._def.rest;return n?n._parse(new o(a,e,a.path,t)):null})).filter((e=>!!e));return a.common.async?Promise.all(i).then((e=>n.ParseStatus.mergeArray(t,e))):n.ParseStatus.mergeArray(t,i)}get items(){return this._def.items}rest(e){return new Z({...this._def,rest:e})}}e.ZodTuple=Z,Z.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Z({items:e,typeName:re.ZodTuple,rest:null,...c(t)})};class L extends d{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==r.ZodParsedType.object)return(0,n.addIssueToContext)(a,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.object,received:a.parsedType}),n.INVALID;const i=[],c=this._def.keyType,d=this._def.valueType;for(const e in a.data)i.push({key:c._parse(new o(a,e,a.path,e)),value:d._parse(new o(a,a.data[e],a.path,e))});return a.common.async?n.ParseStatus.mergeObjectAsync(t,i):n.ParseStatus.mergeObjectSync(t,i)}get element(){return this._def.valueType}static create(e,t,a){return new L(t instanceof d?{keyType:e,valueType:t,typeName:re.ZodRecord,...c(a)}:{keyType:v.create(),valueType:e,typeName:re.ZodRecord,...c(t)})}}e.ZodRecord=L;class V extends d{_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==r.ZodParsedType.map)return(0,n.addIssueToContext)(a,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.map,received:a.parsedType}),n.INVALID;const i=this._def.keyType,c=this._def.valueType,d=[...a.data.entries()].map((([e,t],n)=>({key:i._parse(new o(a,e,a.path,[n,"key"])),value:c._parse(new o(a,t,a.path,[n,"value"]))})));if(a.common.async){const e=new Map;return Promise.resolve().then((async()=>{for(const a of d){const r=await a.key,s=await a.value;if("aborted"===r.status||"aborted"===s.status)return n.INVALID;"dirty"!==r.status&&"dirty"!==s.status||t.dirty(),e.set(r.value,s.value)}return{status:t.value,value:e}}))}{const e=new Map;for(const a of d){const r=a.key,s=a.value;if("aborted"===r.status||"aborted"===s.status)return n.INVALID;"dirty"!==r.status&&"dirty"!==s.status||t.dirty(),e.set(r.value,s.value)}return{status:t.value,value:e}}}}e.ZodMap=V,V.create=(e,t,a)=>new V({valueType:t,keyType:e,typeName:re.ZodMap,...c(a)});class U extends d{_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==r.ZodParsedType.set)return(0,n.addIssueToContext)(a,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.set,received:a.parsedType}),n.INVALID;const i=this._def;null!==i.minSize&&a.data.size<i.minSize.value&&((0,n.addIssueToContext)(a,{code:s.ZodIssueCode.too_small,minimum:i.minSize.value,type:"set",inclusive:!0,exact:!1,message:i.minSize.message}),t.dirty()),null!==i.maxSize&&a.data.size>i.maxSize.value&&((0,n.addIssueToContext)(a,{code:s.ZodIssueCode.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),t.dirty());const c=this._def.valueType;function d(e){const a=new Set;for(const r of e){if("aborted"===r.status)return n.INVALID;"dirty"===r.status&&t.dirty(),a.add(r.value)}return{status:t.value,value:a}}const l=[...a.data.values()].map(((e,t)=>c._parse(new o(a,e,a.path,t))));return a.common.async?Promise.all(l).then((e=>d(e))):d(l)}min(e,t){return new U({...this._def,minSize:{value:e,message:a.errorUtil.toString(t)}})}max(e,t){return new U({...this._def,maxSize:{value:e,message:a.errorUtil.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}e.ZodSet=U,U.create=(e,t)=>new U({valueType:e,minSize:null,maxSize:null,typeName:re.ZodSet,...c(t)});class F extends d{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:a}=this._processInputParams(e);if(a.parsedType!==r.ZodParsedType.function)return(0,n.addIssueToContext)(a,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.function,received:a.parsedType}),n.INVALID;function o(e,r){return(0,n.makeIssue)({data:e,path:a.path,errorMaps:[a.common.contextualErrorMap,a.schemaErrorMap,(0,t.getErrorMap)(),t.defaultErrorMap].filter((e=>!!e)),issueData:{code:s.ZodIssueCode.invalid_arguments,argumentsError:r}})}function i(e,r){return(0,n.makeIssue)({data:e,path:a.path,errorMaps:[a.common.contextualErrorMap,a.schemaErrorMap,(0,t.getErrorMap)(),t.defaultErrorMap].filter((e=>!!e)),issueData:{code:s.ZodIssueCode.invalid_return_type,returnTypeError:r}})}const c={errorMap:a.common.contextualErrorMap},d=a.data;return this._def.returns instanceof H?(0,n.OK)((async(...e)=>{const t=new s.ZodError([]),a=await this._def.args.parseAsync(e,c).catch((a=>{throw t.addIssue(o(e,a)),t})),n=await d(...a);return await this._def.returns._def.type.parseAsync(n,c).catch((e=>{throw t.addIssue(i(n,e)),t}))})):(0,n.OK)(((...e)=>{const t=this._def.args.safeParse(e,c);if(!t.success)throw new s.ZodError([o(e,t.error)]);const a=d(...t.data),n=this._def.returns.safeParse(a,c);if(!n.success)throw new s.ZodError([i(a,n.error)]);return n.data}))}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new F({...this._def,args:Z.create(e).rest(T.create())})}returns(e){return new F({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,a){return new F({args:e||Z.create([]).rest(T.create()),returns:t||T.create(),typeName:re.ZodFunction,...c(a)})}}e.ZodFunction=F;class K extends d{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}e.ZodLazy=K,K.create=(e,t)=>new K({getter:e,typeName:re.ZodLazy,...c(t)});class q extends d{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{received:t.data,code:s.ZodIssueCode.invalid_literal,expected:this._def.value}),n.INVALID}return{status:"valid",value:e.data}}get value(){return this._def.value}}function $(e,t){return new W({values:e,typeName:re.ZodEnum,...c(t)})}e.ZodLiteral=q,q.create=(e,t)=>new q({value:e,typeName:re.ZodLiteral,...c(t)});class W extends d{_parse(e){if("string"!=typeof e.data){const t=this._getOrReturnCtx(e),a=this._def.values;return(0,n.addIssueToContext)(t,{expected:r.util.joinValues(a),received:t.parsedType,code:s.ZodIssueCode.invalid_type}),n.INVALID}if(-1===this._def.values.indexOf(e.data)){const t=this._getOrReturnCtx(e),a=this._def.values;return(0,n.addIssueToContext)(t,{received:t.data,code:s.ZodIssueCode.invalid_enum_value,options:a}),n.INVALID}return(0,n.OK)(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e){return W.create(e)}exclude(e){return W.create(this.options.filter((t=>!e.includes(t))))}}e.ZodEnum=W,W.create=$;class J extends d{_parse(e){const t=r.util.getValidEnumValues(this._def.values),a=this._getOrReturnCtx(e);if(a.parsedType!==r.ZodParsedType.string&&a.parsedType!==r.ZodParsedType.number){const e=r.util.objectValues(t);return(0,n.addIssueToContext)(a,{expected:r.util.joinValues(e),received:a.parsedType,code:s.ZodIssueCode.invalid_type}),n.INVALID}if(-1===t.indexOf(e.data)){const e=r.util.objectValues(t);return(0,n.addIssueToContext)(a,{received:a.data,code:s.ZodIssueCode.invalid_enum_value,options:e}),n.INVALID}return(0,n.OK)(e.data)}get enum(){return this._def.values}}e.ZodNativeEnum=J,J.create=(e,t)=>new J({values:e,typeName:re.ZodNativeEnum,...c(t)});class H extends d{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==r.ZodParsedType.promise&&!1===t.common.async)return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.promise,received:t.parsedType}),n.INVALID;const a=t.parsedType===r.ZodParsedType.promise?t.data:Promise.resolve(t.data);return(0,n.OK)(a.then((e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap}))))}}e.ZodPromise=H,H.create=(e,t)=>new H({type:e,typeName:re.ZodPromise,...c(t)});class G extends d{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===re.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:a}=this._processInputParams(e),s=this._def.effect||null;if("preprocess"===s.type){const e=s.transform(a.data);return a.common.async?Promise.resolve(e).then((e=>this._def.schema._parseAsync({data:e,path:a.path,parent:a}))):this._def.schema._parseSync({data:e,path:a.path,parent:a})}const o={addIssue:e=>{(0,n.addIssueToContext)(a,e),e.fatal?t.abort():t.dirty()},get path(){return a.path}};if(o.addIssue=o.addIssue.bind(o),"refinement"===s.type){const e=e=>{const t=s.refinement(e,o);if(a.common.async)return Promise.resolve(t);if(t instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1===a.common.async){const r=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});return"aborted"===r.status?n.INVALID:("dirty"===r.status&&t.dirty(),e(r.value),{status:t.value,value:r.value})}return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then((a=>"aborted"===a.status?n.INVALID:("dirty"===a.status&&t.dirty(),e(a.value).then((()=>({status:t.value,value:a.value}))))))}if("transform"===s.type){if(!1===a.common.async){const e=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});if(!(0,n.isValid)(e))return e;const r=s.transform(e.value,o);if(r instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:r}}return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then((e=>(0,n.isValid)(e)?Promise.resolve(s.transform(e.value,o)).then((e=>({status:t.value,value:e}))):e))}r.util.assertNever(s)}}e.ZodEffects=G,e.ZodTransformer=G,G.create=(e,t,a)=>new G({schema:e,typeName:re.ZodEffects,effect:t,...c(a)}),G.createWithPreprocess=(e,t,a)=>new G({schema:t,effect:{type:"preprocess",transform:e},typeName:re.ZodEffects,...c(a)});class X extends d{_parse(e){return this._getType(e)===r.ZodParsedType.undefined?(0,n.OK)(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}e.ZodOptional=X,X.create=(e,t)=>new X({innerType:e,typeName:re.ZodOptional,...c(t)});class Y extends d{_parse(e){return this._getType(e)===r.ZodParsedType.null?(0,n.OK)(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}e.ZodNullable=Y,Y.create=(e,t)=>new Y({innerType:e,typeName:re.ZodNullable,...c(t)});class Q extends d{_parse(e){const{ctx:t}=this._processInputParams(e);let a=t.data;return t.parsedType===r.ZodParsedType.undefined&&(a=this._def.defaultValue()),this._def.innerType._parse({data:a,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}e.ZodDefault=Q,Q.create=(e,t)=>new Q({innerType:e,typeName:re.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...c(t)});class ee extends d{_parse(e){const{ctx:t}=this._processInputParams(e),a={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:a.data,path:a.path,parent:{...a}});return(0,n.isAsync)(r)?r.then((e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new s.ZodError(a.common.issues)},input:a.data})}))):{status:"valid",value:"valid"===r.status?r.value:this._def.catchValue({get error(){return new s.ZodError(a.common.issues)},input:a.data})}}removeCatch(){return this._def.innerType}}e.ZodCatch=ee,ee.create=(e,t)=>new ee({innerType:e,typeName:re.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...c(t)});class te extends d{_parse(e){if(this._getType(e)!==r.ZodParsedType.nan){const t=this._getOrReturnCtx(e);return(0,n.addIssueToContext)(t,{code:s.ZodIssueCode.invalid_type,expected:r.ZodParsedType.nan,received:t.parsedType}),n.INVALID}return{status:"valid",value:e.data}}}e.ZodNaN=te,te.create=e=>new te({typeName:re.ZodNaN,...c(e)}),e.BRAND=Symbol("zod_brand");class ae extends d{_parse(e){const{ctx:t}=this._processInputParams(e),a=t.data;return this._def.type._parse({data:a,path:t.path,parent:t})}unwrap(){return this._def.type}}e.ZodBranded=ae;class ne extends d{_parse(e){const{status:t,ctx:a}=this._processInputParams(e);if(a.common.async){return(async()=>{const e=await this._def.in._parseAsync({data:a.data,path:a.path,parent:a});return"aborted"===e.status?n.INVALID:"dirty"===e.status?(t.dirty(),(0,n.DIRTY)(e.value)):this._def.out._parseAsync({data:e.value,path:a.path,parent:a})})()}{const e=this._def.in._parseSync({data:a.data,path:a.path,parent:a});return"aborted"===e.status?n.INVALID:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:a.path,parent:a})}}static create(e,t){return new ne({in:e,out:t,typeName:re.ZodPipeline})}}e.ZodPipeline=ne;var re;e.custom=(e,t={},a)=>e?E.create().superRefine(((n,r)=>{var s,o;if(!e(n)){const e="function"==typeof t?t(n):"string"==typeof t?{message:t}:t,i=null===(o=null!==(s=e.fatal)&&void 0!==s?s:a)||void 0===o||o,c="string"==typeof e?{message:e}:e;r.addIssue({code:"custom",...c,fatal:i})}})):E.create(),e.late={object:O.lazycreate},function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline"}(re=e.ZodFirstPartyTypeKind||(e.ZodFirstPartyTypeKind={}));e.instanceof=(t,a={message:`Input not instance of ${t.name}`})=>(0,e.custom)((e=>e instanceof t),a);const se=v.create;e.string=se;const oe=b.create;e.number=oe;const ie=te.create;e.nan=ie;const ce=C.create;e.bigint=ce;const de=w.create;e.boolean=de;const le=x.create;e.date=le;const ue=I.create;e.symbol=ue;const me=P.create;e.undefined=me;const pe=_.create;e.null=pe;const he=E.create;e.any=he;const fe=T.create;e.unknown=fe;const ge=k.create;e.never=ge;const ye=R.create;e.void=ye;const ve=N.create;e.array=ve;const Se=O.create;e.object=Se;const be=O.strictCreate;e.strictObject=be;const Ce=M.create;e.union=Ce;const we=D.create;e.discriminatedUnion=we;const xe=z.create;e.intersection=xe;const Ie=Z.create;e.tuple=Ie;const Pe=L.create;e.record=Pe;const _e=V.create;e.map=_e;const Ee=U.create;e.set=Ee;const Te=F.create;e.function=Te;const ke=K.create;e.lazy=ke;const Re=q.create;e.literal=Re;const Ne=W.create;e.enum=Ne;const je=J.create;e.nativeEnum=je;const Oe=H.create;e.promise=Oe;const Me=G.create;e.effect=Me,e.transformer=Me;const Be=X.create;e.optional=Be;const De=Y.create;e.nullable=De;const Ae=G.createWithPreprocess;e.preprocess=Ae;const ze=ne.create;e.pipeline=ze;e.ostring=()=>se().optional();e.onumber=()=>oe().optional();e.oboolean=()=>de().optional(),e.coerce={string:e=>v.create({...e,coerce:!0}),number:e=>b.create({...e,coerce:!0}),boolean:e=>w.create({...e,coerce:!0}),bigint:e=>C.create({...e,coerce:!0}),date:e=>x.create({...e,coerce:!0})},e.NEVER=n.INVALID}(Ea),function(t){var a=e&&e.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[a]}})}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),n=e&&e.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||a(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),n(pa,t),n(Ia,t),n(Pa,t),n(fa,t),n(Ea,t),n(ga,t)}(ma),function(t){var a=e&&e.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[a]}})}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),n=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&a(t,e,r);return n(t,e),t},s=e&&e.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||a(t,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.z=void 0;const o=r(ma);t.z=o,s(ma,t),t.default=o}(ua);var ka={};!function(t){var a=e&&e.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Input=t.InputCommandSchema=t.Log=t.LogEventSchema=t.Script=t.ScriptEventSchema=t.ScriptResultSchema=t.ScriptCommandSchema=t.Network=t.NetworkEventSchema=t.NetworkResultSchema=t.NetworkCommandSchema=t.BrowsingContext=t.BrowsingContextEventSchema=t.BrowsingContextResultSchema=t.BrowsingContextCommandSchema=t.Browser=t.BrowserCommandSchema=t.Session=t.SessionResultSchema=t.SessionCommandSchema=t.ErrorCodeSchema=t.JsUintSchema=t.JsIntSchema=t.ExtensibleSchema=t.EventDataSchema=t.EventSchema=t.EmptyResultSchema=t.ResultDataSchema=t.ErrorResponseSchema=t.CommandResponseSchema=t.MessageSchema=t.EmptyParamsSchema=t.CommandDataSchema=t.CommandSchema=void 0;const n=a(ua);var r,s,o,i,c,d,l;t.CommandSchema=n.default.lazy((()=>n.default.object({id:t.JsUintSchema}).and(t.CommandDataSchema).and(t.ExtensibleSchema))),t.CommandDataSchema=n.default.lazy((()=>n.default.union([t.BrowserCommandSchema,t.BrowsingContextCommandSchema,t.InputCommandSchema,t.NetworkCommandSchema,t.ScriptCommandSchema,t.SessionCommandSchema]))),t.EmptyParamsSchema=n.default.lazy((()=>t.ExtensibleSchema)),t.MessageSchema=n.default.lazy((()=>n.default.union([t.CommandResponseSchema,t.ErrorResponseSchema,t.EventSchema]))),t.CommandResponseSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("success"),id:t.JsUintSchema,result:t.ResultDataSchema}).and(t.ExtensibleSchema))),t.ErrorResponseSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("error"),id:n.default.union([t.JsUintSchema,n.default.null()]),error:t.ErrorCodeSchema,message:n.default.string(),stacktrace:n.default.string().optional()}).and(t.ExtensibleSchema))),t.ResultDataSchema=n.default.lazy((()=>n.default.union([t.BrowsingContextResultSchema,t.EmptyResultSchema,t.NetworkResultSchema,t.ScriptResultSchema,t.SessionResultSchema]))),t.EmptyResultSchema=n.default.lazy((()=>t.ExtensibleSchema)),t.EventSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("event")}).and(t.EventDataSchema).and(t.ExtensibleSchema))),t.EventDataSchema=n.default.lazy((()=>n.default.union([t.BrowsingContextEventSchema,t.LogEventSchema,t.NetworkEventSchema,t.ScriptEventSchema]))),t.ExtensibleSchema=n.default.lazy((()=>n.default.record(n.default.string(),n.default.any()))),t.JsIntSchema=n.default.lazy((()=>n.default.number().int().gte(-9007199254740991).lte(9007199254740991))),t.JsUintSchema=n.default.lazy((()=>n.default.number().int().nonnegative().gte(0).lte(9007199254740991))),t.ErrorCodeSchema=n.default.lazy((()=>n.default.enum(["invalid argument","invalid session id","move target out of bounds","no such alert","no such element","no such frame","no such handle","no such node","no such script","session not created","unable to capture screen","unable to close browser","unknown command","unknown error","unsupported operation"]))),t.SessionCommandSchema=n.default.lazy((()=>n.default.union([r.EndSchema,r.NewSchema,r.StatusSchema,r.SubscribeSchema,r.UnsubscribeSchema]))),t.SessionResultSchema=n.default.lazy((()=>n.default.union([r.NewResultSchema,r.StatusResultSchema]))),function(e){e.CapabilitiesRequestSchema=n.default.lazy((()=>n.default.object({alwaysMatch:e.CapabilityRequestSchema.optional(),firstMatch:n.default.array(e.CapabilityRequestSchema).optional()})))}(r||(t.Session=r={})),function(e){e.CapabilityRequestSchema=n.default.lazy((()=>n.default.object({acceptInsecureCerts:n.default.boolean().optional(),browserName:n.default.string().optional(),browserVersion:n.default.string().optional(),platformName:n.default.string().optional(),proxy:n.default.object({proxyType:n.default.enum(["pac","direct","autodetect","system","manual"]).optional(),proxyAutoconfigUrl:n.default.string().optional(),ftpProxy:n.default.string().optional(),httpProxy:n.default.string().optional(),noProxy:n.default.array(n.default.string()).optional(),sslProxy:n.default.string().optional(),socksProxy:n.default.string().optional(),socksVersion:n.default.number().int().nonnegative().gte(0).lte(255).optional()}).optional()}).and(t.ExtensibleSchema)))}(r||(t.Session=r={})),function(e){e.SubscriptionRequestSchema=n.default.lazy((()=>n.default.object({events:n.default.array(n.default.string()),contexts:n.default.array(o.BrowsingContextSchema).optional()})))}(r||(t.Session=r={})),function(e){e.StatusSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("session.status"),params:t.EmptyParamsSchema})))}(r||(t.Session=r={})),function(e){e.StatusResultSchema=n.default.lazy((()=>n.default.object({ready:n.default.boolean(),message:n.default.string()})))}(r||(t.Session=r={})),function(e){e.NewSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("session.new"),params:e.NewParametersSchema})))}(r||(t.Session=r={})),function(e){e.NewParametersSchema=n.default.lazy((()=>n.default.object({capabilities:e.CapabilitiesRequestSchema})))}(r||(t.Session=r={})),function(e){e.NewResultSchema=n.default.lazy((()=>n.default.object({sessionId:n.default.string(),capabilities:n.default.object({acceptInsecureCerts:n.default.boolean(),browserName:n.default.string(),browserVersion:n.default.string(),platformName:n.default.string(),proxy:n.default.object({proxyType:n.default.enum(["pac","direct","autodetect","system","manual"]).optional(),proxyAutoconfigUrl:n.default.string().optional(),ftpProxy:n.default.string().optional(),httpProxy:n.default.string().optional(),noProxy:n.default.array(n.default.string()).optional(),sslProxy:n.default.string().optional(),socksProxy:n.default.string().optional(),socksVersion:n.default.number().int().nonnegative().gte(0).lte(255).optional()}),setWindowRect:n.default.boolean()}).and(t.ExtensibleSchema)})))}(r||(t.Session=r={})),function(e){e.EndSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("session.end"),params:t.EmptyParamsSchema})))}(r||(t.Session=r={})),function(e){e.SubscribeSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("session.subscribe"),params:e.SubscriptionRequestSchema})))}(r||(t.Session=r={})),function(e){e.UnsubscribeSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("session.unsubscribe"),params:e.SubscriptionRequestSchema})))}(r||(t.Session=r={})),t.BrowserCommandSchema=n.default.lazy((()=>s.CloseSchema)),function(e){e.CloseSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browser.close"),params:t.EmptyParamsSchema})))}(s||(t.Browser=s={})),t.BrowsingContextCommandSchema=n.default.lazy((()=>n.default.union([o.ActivateSchema,o.CaptureScreenshotSchema,o.CloseSchema,o.CreateSchema,o.GetTreeSchema,o.HandleUserPromptSchema,o.NavigateSchema,o.PrintSchema,o.ReloadSchema,o.SetViewportSchema]))),t.BrowsingContextResultSchema=n.default.lazy((()=>n.default.union([o.CaptureScreenshotResultSchema,o.CreateResultSchema,o.GetTreeResultSchema,o.NavigateResultSchema,o.PrintResultSchema]))),t.BrowsingContextEventSchema=n.default.lazy((()=>n.default.union([o.ContextCreatedSchema,o.ContextDestroyedSchema,o.NavigationStartedSchema,o.FragmentNavigatedSchema,o.DomContentLoadedSchema,o.LoadSchema,o.DownloadWillBeginSchema,o.NavigationAbortedSchema,o.NavigationFailedSchema,o.UserPromptClosedSchema,o.UserPromptOpenedSchema]))),function(e){e.BrowsingContextSchema=n.default.lazy((()=>n.default.string()))}(o||(t.BrowsingContext=o={})),function(e){e.InfoListSchema=n.default.lazy((()=>n.default.array(e.InfoSchema)))}(o||(t.BrowsingContext=o={})),function(e){e.InfoSchema=n.default.lazy((()=>n.default.object({context:e.BrowsingContextSchema,url:n.default.string(),children:n.default.union([e.InfoListSchema,n.default.null()]),parent:n.default.union([e.BrowsingContextSchema,n.default.null()]).optional()})))}(o||(t.BrowsingContext=o={})),function(e){e.NavigationSchema=n.default.lazy((()=>n.default.string()))}(o||(t.BrowsingContext=o={})),function(e){e.NavigationInfoSchema=n.default.lazy((()=>n.default.object({context:e.BrowsingContextSchema,navigation:n.default.union([e.NavigationSchema,n.default.null()]),timestamp:t.JsUintSchema,url:n.default.string()})))}(o||(t.BrowsingContext=o={})),function(e){e.ReadinessStateSchema=n.default.lazy((()=>n.default.enum(["none","interactive","complete"])))}(o||(t.BrowsingContext=o={})),function(e){e.ActivateSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.activate"),params:e.ActivateParametersSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.ActivateParametersSchema=n.default.lazy((()=>n.default.object({context:e.BrowsingContextSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.CaptureScreenshotSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.captureScreenshot"),params:e.CaptureScreenshotParametersSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.CaptureScreenshotParametersSchema=n.default.lazy((()=>n.default.object({context:e.BrowsingContextSchema,clip:e.ClipRectangleSchema.optional()})))}(o||(t.BrowsingContext=o={})),function(e){e.ClipRectangleSchema=n.default.lazy((()=>n.default.union([e.BoxClipRectangleSchema,e.ElementClipRectangleSchema])))}(o||(t.BrowsingContext=o={})),function(e){e.ElementClipRectangleSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("element"),element:c.SharedReferenceSchema,scrollIntoView:n.default.boolean().optional()})))}(o||(t.BrowsingContext=o={})),function(e){e.BoxClipRectangleSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("viewport"),x:n.default.number(),y:n.default.number(),width:n.default.number(),height:n.default.number()})))}(o||(t.BrowsingContext=o={})),function(e){e.CaptureScreenshotResultSchema=n.default.lazy((()=>n.default.object({data:n.default.string()})))}(o||(t.BrowsingContext=o={})),function(e){e.CloseSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.close"),params:e.CloseParametersSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.CloseParametersSchema=n.default.lazy((()=>n.default.object({context:e.BrowsingContextSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.CreateSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.create"),params:e.CreateParametersSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.CreateTypeSchema=n.default.lazy((()=>n.default.enum(["tab","window"])))}(o||(t.BrowsingContext=o={})),function(e){e.CreateParametersSchema=n.default.lazy((()=>n.default.object({type:e.CreateTypeSchema,referenceContext:e.BrowsingContextSchema.optional(),background:n.default.boolean().default(!1).optional()})))}(o||(t.BrowsingContext=o={})),function(e){e.CreateResultSchema=n.default.lazy((()=>n.default.object({context:e.BrowsingContextSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.GetTreeSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.getTree"),params:e.GetTreeParametersSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.GetTreeParametersSchema=n.default.lazy((()=>n.default.object({maxDepth:t.JsUintSchema.optional(),root:e.BrowsingContextSchema.optional()})))}(o||(t.BrowsingContext=o={})),function(e){e.GetTreeResultSchema=n.default.lazy((()=>n.default.object({contexts:e.InfoListSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.HandleUserPromptSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.handleUserPrompt"),params:e.HandleUserPromptParametersSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.HandleUserPromptParametersSchema=n.default.lazy((()=>n.default.object({context:e.BrowsingContextSchema,accept:n.default.boolean().optional(),userText:n.default.string().optional()})))}(o||(t.BrowsingContext=o={})),function(e){e.NavigateSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.navigate"),params:e.NavigateParametersSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.NavigateParametersSchema=n.default.lazy((()=>n.default.object({context:e.BrowsingContextSchema,url:n.default.string(),wait:e.ReadinessStateSchema.optional()})))}(o||(t.BrowsingContext=o={})),function(e){e.NavigateResultSchema=n.default.lazy((()=>n.default.object({navigation:n.default.union([e.NavigationSchema,n.default.null()]),url:n.default.string()})))}(o||(t.BrowsingContext=o={})),function(e){e.PrintSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.print"),params:e.PrintParametersSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.PrintParametersSchema=n.default.lazy((()=>n.default.object({context:e.BrowsingContextSchema,background:n.default.boolean().default(!1).optional(),margin:e.PrintMarginParametersSchema.optional(),orientation:n.default.enum(["portrait","landscape"]).default("portrait").optional(),page:e.PrintPageParametersSchema.optional(),pageRanges:n.default.array(n.default.union([t.JsUintSchema,n.default.string()])).optional(),scale:n.default.number().gte(.1).lte(2).default(1).optional(),shrinkToFit:n.default.boolean().default(!0).optional()})))}(o||(t.BrowsingContext=o={})),function(e){e.PrintMarginParametersSchema=n.default.lazy((()=>n.default.object({bottom:n.default.number().gte(0).default(1).optional(),left:n.default.number().gte(0).default(1).optional(),right:n.default.number().gte(0).default(1).optional(),top:n.default.number().gte(0).default(1).optional()})))}(o||(t.BrowsingContext=o={})),function(e){e.PrintPageParametersSchema=n.default.lazy((()=>n.default.object({height:n.default.number().gte(0).default(27.94).optional(),width:n.default.number().gte(0).default(21.59).optional()})))}(o||(t.BrowsingContext=o={})),function(e){e.PrintResultSchema=n.default.lazy((()=>n.default.object({data:n.default.string()})))}(o||(t.BrowsingContext=o={})),function(e){e.ReloadSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.reload"),params:e.ReloadParametersSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.ReloadParametersSchema=n.default.lazy((()=>n.default.object({context:e.BrowsingContextSchema,ignoreCache:n.default.boolean().optional(),wait:e.ReadinessStateSchema.optional()})))}(o||(t.BrowsingContext=o={})),function(e){e.SetViewportSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.setViewport"),params:e.SetViewportParametersSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.SetViewportParametersSchema=n.default.lazy((()=>n.default.object({context:e.BrowsingContextSchema,viewport:n.default.union([e.ViewportSchema,n.default.null()])})))}(o||(t.BrowsingContext=o={})),function(e){e.ViewportSchema=n.default.lazy((()=>n.default.object({width:t.JsUintSchema,height:t.JsUintSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.ContextCreatedSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.contextCreated"),params:e.InfoSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.ContextDestroyedSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.contextDestroyed"),params:e.InfoSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.NavigationStartedSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.navigationStarted"),params:e.NavigationInfoSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.FragmentNavigatedSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.fragmentNavigated"),params:e.NavigationInfoSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.DomContentLoadedSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.domContentLoaded"),params:e.NavigationInfoSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.LoadSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.load"),params:e.NavigationInfoSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.DownloadWillBeginSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.downloadWillBegin"),params:e.NavigationInfoSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.NavigationAbortedSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.navigationAborted"),params:e.NavigationInfoSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.NavigationFailedSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.navigationFailed"),params:e.NavigationInfoSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.UserPromptClosedSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.userPromptClosed"),params:e.UserPromptClosedParametersSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.UserPromptClosedParametersSchema=n.default.lazy((()=>n.default.object({context:e.BrowsingContextSchema,accepted:n.default.boolean(),userText:n.default.string().optional()})))}(o||(t.BrowsingContext=o={})),function(e){e.UserPromptOpenedSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("browsingContext.userPromptOpened"),params:e.UserPromptOpenedParametersSchema})))}(o||(t.BrowsingContext=o={})),function(e){e.UserPromptOpenedParametersSchema=n.default.lazy((()=>n.default.object({context:e.BrowsingContextSchema,type:n.default.enum(["alert","confirm","prompt","beforeunload"]),message:n.default.string()})))}(o||(t.BrowsingContext=o={})),t.NetworkCommandSchema=n.default.lazy((()=>n.default.object({}))),t.NetworkResultSchema=n.default.lazy((()=>n.default.object({}))),t.NetworkEventSchema=n.default.lazy((()=>n.default.union([i.BeforeRequestSentSchema,i.FetchErrorSchema,i.ResponseStartedSchema,i.ResponseCompletedSchema]))),function(e){e.BaseParametersSchema=n.default.lazy((()=>n.default.object({context:n.default.union([o.BrowsingContextSchema,n.default.null()]),navigation:n.default.union([o.NavigationSchema,n.default.null()]),redirectCount:t.JsUintSchema,request:e.RequestDataSchema,timestamp:t.JsUintSchema})))}(i||(t.Network=i={})),function(e){e.BytesValueSchema=n.default.lazy((()=>n.default.union([e.StringValueSchema,e.Base64ValueSchema])))}(i||(t.Network=i={})),function(e){e.StringValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("string"),value:n.default.string()})))}(i||(t.Network=i={})),function(e){e.Base64ValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("base64"),value:n.default.string()})))}(i||(t.Network=i={})),function(e){e.CookieSchema=n.default.lazy((()=>n.default.object({name:n.default.string(),value:e.BytesValueSchema,domain:n.default.string(),path:n.default.string(),expires:t.JsUintSchema.optional(),size:t.JsUintSchema,httpOnly:n.default.boolean(),secure:n.default.boolean(),sameSite:n.default.enum(["strict","lax","none"])})))}(i||(t.Network=i={})),function(e){e.FetchTimingInfoSchema=n.default.lazy((()=>n.default.object({timeOrigin:n.default.number(),requestTime:n.default.number(),redirectStart:n.default.number(),redirectEnd:n.default.number(),fetchStart:n.default.number(),dnsStart:n.default.number(),dnsEnd:n.default.number(),connectStart:n.default.number(),connectEnd:n.default.number(),tlsStart:n.default.number(),requestStart:n.default.number(),responseStart:n.default.number(),responseEnd:n.default.number()})))}(i||(t.Network=i={})),function(e){e.HeaderSchema=n.default.lazy((()=>n.default.object({name:n.default.string(),value:e.BytesValueSchema})))}(i||(t.Network=i={})),function(e){e.InitiatorSchema=n.default.lazy((()=>n.default.object({type:n.default.enum(["parser","script","preflight","other"]),columnNumber:t.JsUintSchema.optional(),lineNumber:t.JsUintSchema.optional(),stackTrace:c.StackTraceSchema.optional(),request:e.RequestSchema.optional()})))}(i||(t.Network=i={})),function(e){e.RequestSchema=n.default.lazy((()=>n.default.string()))}(i||(t.Network=i={})),function(e){e.RequestDataSchema=n.default.lazy((()=>n.default.object({request:e.RequestSchema,url:n.default.string(),method:n.default.string(),headers:n.default.array(e.HeaderSchema),cookies:n.default.array(e.CookieSchema),headersSize:t.JsUintSchema,bodySize:n.default.union([t.JsUintSchema,n.default.null()]),timings:e.FetchTimingInfoSchema})))}(i||(t.Network=i={})),function(e){e.ResponseContentSchema=n.default.lazy((()=>n.default.object({size:t.JsUintSchema})))}(i||(t.Network=i={})),function(e){e.ResponseDataSchema=n.default.lazy((()=>n.default.object({url:n.default.string(),protocol:n.default.string(),status:t.JsUintSchema,statusText:n.default.string(),fromCache:n.default.boolean(),headers:n.default.array(e.HeaderSchema),mimeType:n.default.string(),bytesReceived:t.JsUintSchema,headersSize:n.default.union([t.JsUintSchema,n.default.null()]),bodySize:n.default.union([t.JsUintSchema,n.default.null()]),content:e.ResponseContentSchema})))}(i||(t.Network=i={})),function(e){e.BeforeRequestSentSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("network.beforeRequestSent"),params:e.BeforeRequestSentParametersSchema})))}(i||(t.Network=i={})),function(e){e.BeforeRequestSentParametersSchema=n.default.lazy((()=>e.BaseParametersSchema.and(n.default.object({initiator:e.InitiatorSchema}))))}(i||(t.Network=i={})),function(e){e.FetchErrorSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("network.fetchError"),params:e.FetchErrorParametersSchema})))}(i||(t.Network=i={})),function(e){e.FetchErrorParametersSchema=n.default.lazy((()=>e.BaseParametersSchema.and(n.default.object({errorText:n.default.string()}))))}(i||(t.Network=i={})),function(e){e.ResponseCompletedSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("network.responseCompleted"),params:e.ResponseCompletedParametersSchema})))}(i||(t.Network=i={})),function(e){e.ResponseCompletedParametersSchema=n.default.lazy((()=>e.BaseParametersSchema.and(n.default.object({response:e.ResponseDataSchema}))))}(i||(t.Network=i={})),function(e){e.ResponseStartedSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("network.responseStarted"),params:e.ResponseStartedParametersSchema})))}(i||(t.Network=i={})),function(e){e.ResponseStartedParametersSchema=n.default.lazy((()=>e.BaseParametersSchema.and(n.default.object({response:e.ResponseDataSchema}))))}(i||(t.Network=i={})),t.ScriptCommandSchema=n.default.lazy((()=>n.default.union([c.AddPreloadScriptCommandSchema,c.CallFunctionSchema,c.DisownSchema,c.EvaluateSchema,c.GetRealmsSchema,c.RemovePreloadScriptCommandSchema]))),t.ScriptResultSchema=n.default.lazy((()=>n.default.union([c.AddPreloadScriptResultSchema,c.EvaluateResultSchema,c.GetRealmsResultSchema]))),t.ScriptEventSchema=n.default.lazy((()=>n.default.union([c.MessageSchema,c.RealmCreatedSchema,c.RealmDestroyedSchema]))),function(e){e.ChannelSchema=n.default.lazy((()=>n.default.string()))}(c||(t.Script=c={})),function(e){e.ChannelValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("channel"),value:e.ChannelPropertiesSchema})))}(c||(t.Script=c={})),function(e){e.ChannelPropertiesSchema=n.default.lazy((()=>n.default.object({channel:e.ChannelSchema,serializationOptions:e.SerializationOptionsSchema.optional(),ownership:e.ResultOwnershipSchema.optional()})))}(c||(t.Script=c={})),function(e){e.EvaluateResultSchema=n.default.lazy((()=>n.default.union([e.EvaluateResultSuccessSchema,e.EvaluateResultExceptionSchema])))}(c||(t.Script=c={})),function(e){e.EvaluateResultSuccessSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("success"),result:e.RemoteValueSchema,realm:e.RealmSchema})))}(c||(t.Script=c={})),function(e){e.EvaluateResultExceptionSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("exception"),exceptionDetails:e.ExceptionDetailsSchema,realm:e.RealmSchema})))}(c||(t.Script=c={})),function(e){e.ExceptionDetailsSchema=n.default.lazy((()=>n.default.object({columnNumber:t.JsUintSchema,exception:e.RemoteValueSchema,lineNumber:t.JsUintSchema,stackTrace:e.StackTraceSchema,text:n.default.string()})))}(c||(t.Script=c={})),function(e){e.HandleSchema=n.default.lazy((()=>n.default.string()))}(c||(t.Script=c={})),function(e){e.LocalValueSchema=n.default.lazy((()=>n.default.union([e.RemoteReferenceSchema,e.PrimitiveProtocolValueSchema,e.ChannelValueSchema,e.ArrayLocalValueSchema,e.DateLocalValueSchema,e.MapLocalValueSchema,e.ObjectLocalValueSchema,e.RegExpLocalValueSchema,e.SetLocalValueSchema])))}(c||(t.Script=c={})),function(e){e.ListLocalValueSchema=n.default.lazy((()=>n.default.array(e.LocalValueSchema)))}(c||(t.Script=c={})),function(e){e.ArrayLocalValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("array"),value:e.ListLocalValueSchema})))}(c||(t.Script=c={})),function(e){e.DateLocalValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("date"),value:n.default.string()})))}(c||(t.Script=c={})),function(e){e.MappingLocalValueSchema=n.default.lazy((()=>n.default.array(n.default.tuple([n.default.union([e.LocalValueSchema,n.default.string()]),e.LocalValueSchema]))))}(c||(t.Script=c={})),function(e){e.MapLocalValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("map"),value:e.MappingLocalValueSchema})))}(c||(t.Script=c={})),function(e){e.ObjectLocalValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("object"),value:e.MappingLocalValueSchema})))}(c||(t.Script=c={})),function(e){e.RegExpValueSchema=n.default.lazy((()=>n.default.object({pattern:n.default.string(),flags:n.default.string().optional()})))}(c||(t.Script=c={})),function(e){e.RegExpLocalValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("regexp"),value:e.RegExpValueSchema})))}(c||(t.Script=c={})),function(e){e.SetLocalValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("set"),value:e.ListLocalValueSchema})))}(c||(t.Script=c={})),function(e){e.PreloadScriptSchema=n.default.lazy((()=>n.default.string()))}(c||(t.Script=c={})),function(e){e.RealmSchema=n.default.lazy((()=>n.default.string()))}(c||(t.Script=c={})),function(e){e.PrimitiveProtocolValueSchema=n.default.lazy((()=>n.default.union([e.UndefinedValueSchema,e.NullValueSchema,e.StringValueSchema,e.NumberValueSchema,e.BooleanValueSchema,e.BigIntValueSchema])))}(c||(t.Script=c={})),function(e){e.UndefinedValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("undefined")})))}(c||(t.Script=c={})),function(e){e.NullValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("null")})))}(c||(t.Script=c={})),function(e){e.StringValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("string"),value:n.default.string()})))}(c||(t.Script=c={})),function(e){e.SpecialNumberSchema=n.default.lazy((()=>n.default.enum(["NaN","-0","Infinity","-Infinity"])))}(c||(t.Script=c={})),function(e){e.NumberValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("number"),value:n.default.union([n.default.number(),e.SpecialNumberSchema])})))}(c||(t.Script=c={})),function(e){e.BooleanValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("boolean"),value:n.default.boolean()})))}(c||(t.Script=c={})),function(e){e.BigIntValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("bigint"),value:n.default.string()})))}(c||(t.Script=c={})),function(e){e.RealmInfoSchema=n.default.lazy((()=>n.default.union([e.WindowRealmInfoSchema,e.DedicatedWorkerRealmInfoSchema,e.SharedWorkerRealmInfoSchema,e.ServiceWorkerRealmInfoSchema,e.WorkerRealmInfoSchema,e.PaintWorkletRealmInfoSchema,e.AudioWorkletRealmInfoSchema,e.WorkletRealmInfoSchema])))}(c||(t.Script=c={})),function(e){e.BaseRealmInfoSchema=n.default.lazy((()=>n.default.object({realm:e.RealmSchema,origin:n.default.string()})))}(c||(t.Script=c={})),function(e){e.WindowRealmInfoSchema=n.default.lazy((()=>e.BaseRealmInfoSchema.and(n.default.object({type:n.default.literal("window"),context:o.BrowsingContextSchema,sandbox:n.default.string().optional()}))))}(c||(t.Script=c={})),function(e){e.DedicatedWorkerRealmInfoSchema=n.default.lazy((()=>e.BaseRealmInfoSchema.and(n.default.object({type:n.default.literal("dedicated-worker")}))))}(c||(t.Script=c={})),function(e){e.SharedWorkerRealmInfoSchema=n.default.lazy((()=>e.BaseRealmInfoSchema.and(n.default.object({type:n.default.literal("shared-worker")}))))}(c||(t.Script=c={})),function(e){e.ServiceWorkerRealmInfoSchema=n.default.lazy((()=>e.BaseRealmInfoSchema.and(n.default.object({type:n.default.literal("service-worker")}))))}(c||(t.Script=c={})),function(e){e.WorkerRealmInfoSchema=n.default.lazy((()=>e.BaseRealmInfoSchema.and(n.default.object({type:n.default.literal("worker")}))))}(c||(t.Script=c={})),function(e){e.PaintWorkletRealmInfoSchema=n.default.lazy((()=>e.BaseRealmInfoSchema.and(n.default.object({type:n.default.literal("paint-worklet")}))))}(c||(t.Script=c={})),function(e){e.AudioWorkletRealmInfoSchema=n.default.lazy((()=>e.BaseRealmInfoSchema.and(n.default.object({type:n.default.literal("audio-worklet")}))))}(c||(t.Script=c={})),function(e){e.WorkletRealmInfoSchema=n.default.lazy((()=>e.BaseRealmInfoSchema.and(n.default.object({type:n.default.literal("worklet")}))))}(c||(t.Script=c={})),function(e){e.RealmTypeSchema=n.default.lazy((()=>n.default.enum(["window","dedicated-worker","shared-worker","service-worker","worker","paint-worklet","audio-worklet","worklet"])))}(c||(t.Script=c={})),function(e){e.RemoteReferenceSchema=n.default.lazy((()=>n.default.union([e.SharedReferenceSchema,e.RemoteObjectReferenceSchema])))}(c||(t.Script=c={})),function(e){e.SharedReferenceSchema=n.default.lazy((()=>n.default.object({sharedId:e.SharedIdSchema,handle:e.HandleSchema.optional()}).and(t.ExtensibleSchema)))}(c||(t.Script=c={})),function(e){e.RemoteObjectReferenceSchema=n.default.lazy((()=>n.default.object({handle:e.HandleSchema,sharedId:e.SharedIdSchema.optional()}).and(t.ExtensibleSchema)))}(c||(t.Script=c={})),function(e){e.RemoteValueSchema=n.default.lazy((()=>n.default.union([e.PrimitiveProtocolValueSchema,e.SymbolRemoteValueSchema,e.ArrayRemoteValueSchema,e.ObjectRemoteValueSchema,e.FunctionRemoteValueSchema,e.RegExpRemoteValueSchema,e.DateRemoteValueSchema,e.MapRemoteValueSchema,e.SetRemoteValueSchema,e.WeakMapRemoteValueSchema,e.WeakSetRemoteValueSchema,e.IteratorRemoteValueSchema,e.GeneratorRemoteValueSchema,e.ErrorRemoteValueSchema,e.ProxyRemoteValueSchema,e.PromiseRemoteValueSchema,e.TypedArrayRemoteValueSchema,e.ArrayBufferRemoteValueSchema,e.NodeListRemoteValueSchema,e.HtmlCollectionRemoteValueSchema,e.NodeRemoteValueSchema,e.WindowProxyRemoteValueSchema])))}(c||(t.Script=c={})),function(e){e.InternalIdSchema=n.default.lazy((()=>t.JsUintSchema))}(c||(t.Script=c={})),function(e){e.ListRemoteValueSchema=n.default.lazy((()=>n.default.array(e.RemoteValueSchema)))}(c||(t.Script=c={})),function(e){e.MappingRemoteValueSchema=n.default.lazy((()=>n.default.array(n.default.tuple([n.default.union([e.RemoteValueSchema,n.default.string()]),e.RemoteValueSchema]))))}(c||(t.Script=c={})),function(e){e.SymbolRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("symbol"),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional()})))}(c||(t.Script=c={})),function(e){e.ArrayRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("array"),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional(),value:e.ListRemoteValueSchema.optional()})))}(c||(t.Script=c={})),function(e){e.ObjectRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("object"),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional(),value:e.MappingRemoteValueSchema.optional()})))}(c||(t.Script=c={})),function(e){e.FunctionRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("function"),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional()})))}(c||(t.Script=c={})),function(e){e.RegExpRemoteValueSchema=n.default.lazy((()=>n.default.object({handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional()}).and(e.RegExpLocalValueSchema)))}(c||(t.Script=c={})),function(e){e.DateRemoteValueSchema=n.default.lazy((()=>n.default.object({handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional()}).and(e.DateLocalValueSchema)))}(c||(t.Script=c={})),function(e){e.MapRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("map"),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional(),value:e.MappingRemoteValueSchema.optional()})))}(c||(t.Script=c={})),function(e){e.SetRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("set"),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional(),value:e.ListRemoteValueSchema.optional()})))}(c||(t.Script=c={})),function(e){e.WeakMapRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("weakmap"),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional()})))}(c||(t.Script=c={})),function(e){e.WeakSetRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("weakset"),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional()})))}(c||(t.Script=c={})),function(e){e.IteratorRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("iterator"),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional()})))}(c||(t.Script=c={})),function(e){e.GeneratorRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("generator"),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional()})))}(c||(t.Script=c={})),function(e){e.ErrorRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("error"),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional()})))}(c||(t.Script=c={})),function(e){e.ProxyRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("proxy"),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional()})))}(c||(t.Script=c={})),function(e){e.PromiseRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("promise"),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional()})))}(c||(t.Script=c={})),function(e){e.TypedArrayRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("typedarray"),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional()})))}(c||(t.Script=c={})),function(e){e.ArrayBufferRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("arraybuffer"),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional()})))}(c||(t.Script=c={})),function(e){e.NodeListRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("nodelist"),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional(),value:e.ListRemoteValueSchema.optional()})))}(c||(t.Script=c={})),function(e){e.HtmlCollectionRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("htmlcollection"),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional(),value:e.ListRemoteValueSchema.optional()})))}(c||(t.Script=c={})),function(e){e.NodeRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("node"),sharedId:e.SharedIdSchema.optional(),handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional(),value:e.NodePropertiesSchema.optional()})))}(c||(t.Script=c={})),function(e){e.NodePropertiesSchema=n.default.lazy((()=>n.default.object({nodeType:t.JsUintSchema,childNodeCount:t.JsUintSchema,attributes:n.default.record(n.default.string(),n.default.string()).optional(),children:n.default.array(e.NodeRemoteValueSchema).optional(),localName:n.default.string().optional(),mode:n.default.enum(["open","closed"]).optional(),namespaceURI:n.default.string().optional(),nodeValue:n.default.string().optional(),shadowRoot:n.default.union([e.NodeRemoteValueSchema,n.default.null()]).optional()})))}(c||(t.Script=c={})),function(e){e.WindowProxyRemoteValueSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("window"),value:e.WindowProxyPropertiesSchema,handle:e.HandleSchema.optional(),internalId:e.InternalIdSchema.optional()})))}(c||(t.Script=c={})),function(e){e.WindowProxyPropertiesSchema=n.default.lazy((()=>n.default.object({context:o.BrowsingContextSchema})))}(c||(t.Script=c={})),function(e){e.ResultOwnershipSchema=n.default.lazy((()=>n.default.enum(["root","none"])))}(c||(t.Script=c={})),function(e){e.SerializationOptionsSchema=n.default.lazy((()=>n.default.object({maxDomDepth:n.default.union([t.JsUintSchema,n.default.null()]).default(0).optional(),maxObjectDepth:n.default.union([t.JsUintSchema,n.default.null()]).default(null).optional(),includeShadowTree:n.default.enum(["none","open","all"]).default("none").optional()})))}(c||(t.Script=c={})),function(e){e.SharedIdSchema=n.default.lazy((()=>n.default.string()))}(c||(t.Script=c={})),function(e){e.StackFrameSchema=n.default.lazy((()=>n.default.object({columnNumber:t.JsUintSchema,functionName:n.default.string(),lineNumber:t.JsUintSchema,url:n.default.string()})))}(c||(t.Script=c={})),function(e){e.StackTraceSchema=n.default.lazy((()=>n.default.object({callFrames:n.default.array(e.StackFrameSchema)})))}(c||(t.Script=c={})),function(e){e.SourceSchema=n.default.lazy((()=>n.default.object({realm:e.RealmSchema,context:o.BrowsingContextSchema.optional()})))}(c||(t.Script=c={})),function(e){e.RealmTargetSchema=n.default.lazy((()=>n.default.object({realm:e.RealmSchema})))}(c||(t.Script=c={})),function(e){e.ContextTargetSchema=n.default.lazy((()=>n.default.object({context:o.BrowsingContextSchema,sandbox:n.default.string().optional()})))}(c||(t.Script=c={})),function(e){e.TargetSchema=n.default.lazy((()=>n.default.union([e.RealmTargetSchema,e.ContextTargetSchema])))}(c||(t.Script=c={})),function(e){e.AddPreloadScriptCommandSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("script.addPreloadScript"),params:e.AddPreloadScriptParametersSchema})))}(c||(t.Script=c={})),function(e){e.AddPreloadScriptParametersSchema=n.default.lazy((()=>n.default.object({functionDeclaration:n.default.string(),arguments:n.default.array(e.ChannelValueSchema).optional(),sandbox:n.default.string().optional()})))}(c||(t.Script=c={})),function(e){e.AddPreloadScriptResultSchema=n.default.lazy((()=>n.default.object({script:e.PreloadScriptSchema})))}(c||(t.Script=c={})),function(e){e.DisownSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("script.disown"),params:e.DisownParametersSchema})))}(c||(t.Script=c={})),function(e){e.DisownParametersSchema=n.default.lazy((()=>n.default.object({handles:n.default.array(e.HandleSchema),target:e.TargetSchema})))}(c||(t.Script=c={})),function(e){e.CallFunctionSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("script.callFunction"),params:e.CallFunctionParametersSchema})))}(c||(t.Script=c={})),function(e){e.CallFunctionParametersSchema=n.default.lazy((()=>n.default.object({functionDeclaration:n.default.string(),awaitPromise:n.default.boolean(),target:e.TargetSchema,arguments:n.default.array(e.LocalValueSchema).optional(),resultOwnership:e.ResultOwnershipSchema.optional(),serializationOptions:e.SerializationOptionsSchema.optional(),this:e.LocalValueSchema.optional(),userActivation:n.default.boolean().default(!1).optional()})))}(c||(t.Script=c={})),function(e){e.EvaluateSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("script.evaluate"),params:e.EvaluateParametersSchema})))}(c||(t.Script=c={})),function(e){e.EvaluateParametersSchema=n.default.lazy((()=>n.default.object({expression:n.default.string(),target:e.TargetSchema,awaitPromise:n.default.boolean(),resultOwnership:e.ResultOwnershipSchema.optional(),serializationOptions:e.SerializationOptionsSchema.optional(),userActivation:n.default.boolean().default(!1).optional()})))}(c||(t.Script=c={})),function(e){e.GetRealmsSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("script.getRealms"),params:e.GetRealmsParametersSchema})))}(c||(t.Script=c={})),function(e){e.GetRealmsParametersSchema=n.default.lazy((()=>n.default.object({context:o.BrowsingContextSchema.optional(),type:e.RealmTypeSchema.optional()})))}(c||(t.Script=c={})),function(e){e.GetRealmsResultSchema=n.default.lazy((()=>n.default.object({realms:n.default.array(e.RealmInfoSchema)})))}(c||(t.Script=c={})),function(e){e.RemovePreloadScriptCommandSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("script.removePreloadScript"),params:e.RemovePreloadScriptParametersSchema})))}(c||(t.Script=c={})),function(e){e.RemovePreloadScriptParametersSchema=n.default.lazy((()=>n.default.object({script:e.PreloadScriptSchema})))}(c||(t.Script=c={})),function(e){e.MessageSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("script.message"),params:e.MessageParametersSchema})))}(c||(t.Script=c={})),function(e){e.MessageParametersSchema=n.default.lazy((()=>n.default.object({channel:e.ChannelSchema,data:e.RemoteValueSchema,source:e.SourceSchema})))}(c||(t.Script=c={})),function(e){e.RealmCreatedSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("script.realmCreated"),params:e.RealmInfoSchema})))}(c||(t.Script=c={})),function(e){e.RealmDestroyedSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("script.realmDestroyed"),params:e.RealmDestroyedParametersSchema})))}(c||(t.Script=c={})),function(e){e.RealmDestroyedParametersSchema=n.default.lazy((()=>n.default.object({realm:e.RealmSchema})))}(c||(t.Script=c={})),t.LogEventSchema=n.default.lazy((()=>d.EntryAddedSchema)),function(e){e.LevelSchema=n.default.lazy((()=>n.default.enum(["debug","info","warn","error"])))}(d||(t.Log=d={})),function(e){e.EntrySchema=n.default.lazy((()=>n.default.union([e.GenericLogEntrySchema,e.ConsoleLogEntrySchema,e.JavascriptLogEntrySchema])))}(d||(t.Log=d={})),function(e){e.BaseLogEntrySchema=n.default.lazy((()=>n.default.object({level:e.LevelSchema,source:c.SourceSchema,text:n.default.union([n.default.string(),n.default.null()]),timestamp:t.JsUintSchema,stackTrace:c.StackTraceSchema.optional()})))}(d||(t.Log=d={})),function(e){e.GenericLogEntrySchema=n.default.lazy((()=>e.BaseLogEntrySchema.and(n.default.object({type:n.default.string()}))))}(d||(t.Log=d={})),function(e){e.ConsoleLogEntrySchema=n.default.lazy((()=>e.BaseLogEntrySchema.and(n.default.object({type:n.default.literal("console"),method:n.default.string(),args:n.default.array(c.RemoteValueSchema)}))))}(d||(t.Log=d={})),function(e){e.JavascriptLogEntrySchema=n.default.lazy((()=>e.BaseLogEntrySchema.and(n.default.object({type:n.default.literal("javascript")}))))}(d||(t.Log=d={})),function(e){e.EntryAddedSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("log.entryAdded"),params:e.EntrySchema})))}(d||(t.Log=d={})),t.InputCommandSchema=n.default.lazy((()=>n.default.union([l.PerformActionsSchema,l.ReleaseActionsSchema]))),function(e){e.ElementOriginSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("element"),element:c.SharedReferenceSchema})))}(l||(t.Input=l={})),function(e){e.PerformActionsSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("input.performActions"),params:e.PerformActionsParametersSchema})))}(l||(t.Input=l={})),function(e){e.PerformActionsParametersSchema=n.default.lazy((()=>n.default.object({context:o.BrowsingContextSchema,actions:n.default.array(e.SourceActionsSchema)})))}(l||(t.Input=l={})),function(e){e.SourceActionsSchema=n.default.lazy((()=>n.default.union([e.NoneSourceActionsSchema,e.KeySourceActionsSchema,e.PointerSourceActionsSchema,e.WheelSourceActionsSchema])))}(l||(t.Input=l={})),function(e){e.NoneSourceActionsSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("none"),id:n.default.string(),actions:n.default.array(e.NoneSourceActionSchema)})))}(l||(t.Input=l={})),function(e){e.NoneSourceActionSchema=n.default.lazy((()=>e.PauseActionSchema))}(l||(t.Input=l={})),function(e){e.KeySourceActionsSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("key"),id:n.default.string(),actions:n.default.array(e.KeySourceActionSchema)})))}(l||(t.Input=l={})),function(e){e.KeySourceActionSchema=n.default.lazy((()=>n.default.union([e.PauseActionSchema,e.KeyDownActionSchema,e.KeyUpActionSchema])))}(l||(t.Input=l={})),function(e){e.PointerSourceActionsSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("pointer"),id:n.default.string(),parameters:e.PointerParametersSchema.optional(),actions:n.default.array(e.PointerSourceActionSchema)})))}(l||(t.Input=l={})),function(e){e.PointerTypeSchema=n.default.lazy((()=>n.default.enum(["mouse","pen","touch"])))}(l||(t.Input=l={})),function(e){e.PointerParametersSchema=n.default.lazy((()=>n.default.object({pointerType:e.PointerTypeSchema.default("mouse").optional()})))}(l||(t.Input=l={})),function(e){e.PointerSourceActionSchema=n.default.lazy((()=>n.default.union([e.PauseActionSchema,e.PointerDownActionSchema,e.PointerUpActionSchema,e.PointerMoveActionSchema])))}(l||(t.Input=l={})),function(e){e.WheelSourceActionsSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("wheel"),id:n.default.string(),actions:n.default.array(e.WheelSourceActionSchema)})))}(l||(t.Input=l={})),function(e){e.WheelSourceActionSchema=n.default.lazy((()=>n.default.union([e.PauseActionSchema,e.WheelScrollActionSchema])))}(l||(t.Input=l={})),function(e){e.PauseActionSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("pause"),duration:t.JsUintSchema.optional()})))}(l||(t.Input=l={})),function(e){e.KeyDownActionSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("keyDown"),value:n.default.string()})))}(l||(t.Input=l={})),function(e){e.KeyUpActionSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("keyUp"),value:n.default.string()})))}(l||(t.Input=l={})),function(e){e.PointerUpActionSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("pointerUp"),button:t.JsUintSchema}).and(e.PointerCommonPropertiesSchema)))}(l||(t.Input=l={})),function(e){e.PointerDownActionSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("pointerDown"),button:t.JsUintSchema}).and(e.PointerCommonPropertiesSchema)))}(l||(t.Input=l={})),function(e){e.PointerMoveActionSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("pointerMove"),x:t.JsIntSchema,y:t.JsIntSchema,duration:t.JsUintSchema.optional(),origin:e.OriginSchema.optional()}).and(e.PointerCommonPropertiesSchema)))}(l||(t.Input=l={})),function(e){e.WheelScrollActionSchema=n.default.lazy((()=>n.default.object({type:n.default.literal("scroll"),x:t.JsIntSchema,y:t.JsIntSchema,deltaX:t.JsIntSchema,deltaY:t.JsIntSchema,duration:t.JsUintSchema.optional(),origin:e.OriginSchema.default("viewport").optional()})))}(l||(t.Input=l={})),function(e){e.PointerCommonPropertiesSchema=n.default.lazy((()=>n.default.object({width:t.JsUintSchema.default(1).optional(),height:t.JsUintSchema.default(1).optional(),pressure:n.default.number().default(0).optional(),tangentialPressure:n.default.number().default(0).optional(),twist:n.default.number().int().nonnegative().gte(0).lte(359).default(0).optional()}).and(n.default.union([e.TiltPropertiesSchema,e.AnglePropertiesSchema]))))}(l||(t.Input=l={})),function(e){e.AnglePropertiesSchema=n.default.lazy((()=>n.default.object({altitudeAngle:n.default.number().default(0).optional(),azimuthAngle:n.default.number().default(0).optional()})))}(l||(t.Input=l={})),function(e){e.TiltPropertiesSchema=n.default.lazy((()=>n.default.object({tiltX:n.default.number().int().gte(-90).lte(90).default(0).optional(),tiltY:n.default.number().int().gte(-90).lte(90).default(0).optional()})))}(l||(t.Input=l={})),function(e){e.OriginSchema=n.default.lazy((()=>n.default.union([n.default.literal("viewport"),n.default.literal("pointer"),e.ElementOriginSchema])))}(l||(t.Input=l={})),function(e){e.ReleaseActionsSchema=n.default.lazy((()=>n.default.object({method:n.default.literal("input.releaseActions"),params:e.ReleaseActionsParametersSchema})))}(l||(t.Input=l={})),function(e){e.ReleaseActionsParametersSchema=n.default.lazy((()=>n.default.object({context:o.BrowsingContextSchema})))}(l||(t.Input=l={}))}(ka);var Ra=e&&e.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a);var r=Object.getOwnPropertyDescriptor(t,a);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,n,r)}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),Na=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),ja=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&Ra(t,e,a);return Na(t,e),t};Object.defineProperty(la,"__esModule",{value:!0}),la.Cdp=la.Input=la.Session=la.BrowsingContext=la.Script=la.parseObject=void 0;const Oa=ua,Ma=h,Ba=ja(ka);function Da(e,t){const a=t.safeParse(e);if(a.success)return a.data;const n=a.error.errors.map((e=>`${e.message} in ${e.path.map((e=>JSON.stringify(e))).join("/")}.`)).join(" ");throw new Ma.InvalidArgumentException(n)}var Aa,za,Za,La,Va;la.parseObject=Da,function(e){e.parseGetRealmsParams=function(e){return Da(e,Ba.Script.GetRealmsParametersSchema)},e.parseEvaluateParams=function(e){return Da(e,Ba.Script.EvaluateParametersSchema)},e.parseDisownParams=function(e){return Da(e,Ba.Script.DisownParametersSchema)},e.parseAddPreloadScriptParams=function(e){return Da(e,Ba.Script.AddPreloadScriptParametersSchema)},e.parseRemovePreloadScriptParams=function(e){return Da(e,Ba.Script.RemovePreloadScriptParametersSchema)},e.parseCallFunctionParams=function(e){return Da(e,Ba.Script.CallFunctionParametersSchema)}}(Aa||(la.Script=Aa={})),function(e){e.parseActivateParams=function(e){return Da(e,Ba.BrowsingContext.ActivateParametersSchema)},e.parseGetTreeParams=function(e){return Da(e,Ba.BrowsingContext.GetTreeParametersSchema)},e.parseNavigateParams=function(e){return Da(e,Ba.BrowsingContext.NavigateParametersSchema)},e.parseReloadParams=function(e){return Da(e,Ba.BrowsingContext.ReloadParametersSchema)},e.parseCreateParams=function(e){return Da(e,Ba.BrowsingContext.CreateParametersSchema)},e.parseCloseParams=function(e){return Da(e,Ba.BrowsingContext.CloseParametersSchema)},e.parseCaptureScreenshotParams=function(e){return Da(e,Ba.BrowsingContext.CaptureScreenshotParametersSchema)},e.parsePrintParams=function(e){return Da(e,Ba.BrowsingContext.PrintParametersSchema)},e.parseSetViewportParams=function(e){return Da(e,Ba.BrowsingContext.SetViewportParametersSchema)},e.parseHandleUserPromptParameters=function(e){return Da(e,Ba.BrowsingContext.HandleUserPromptParametersSchema)}}(za||(la.BrowsingContext=za={})),function(e){e.parseSubscribeParams=function(e){return Da(e,Ba.Session.SubscriptionRequestSchema)}}(Za||(la.Session=Za={})),function(e){e.parsePerformActionsParams=function(e){return Da(e,Ba.Input.PerformActionsParametersSchema)},e.parseReleaseActionsParams=function(e){return Da(e,Ba.Input.ReleaseActionsParametersSchema)}}(La||(la.Input=La={})),function(e){const t=Oa.z.object({method:Oa.z.string(),params:Oa.z.object({}).passthrough().optional(),session:Oa.z.string().optional()}),a=Oa.z.object({context:Ba.BrowsingContext.BrowsingContextSchema});e.parseSendCommandRequest=function(e){return Da(e,t)},e.parseGetSessionRequest=function(e){return Da(e,a)}}(Va||(la.Cdp=Va={}));var Ua=e&&e.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a);var r=Object.getOwnPropertyDescriptor(t,a);r&&!("get"in r?!t.__esModule:r.writable||r.configurable)||(r={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,n,r)}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),Fa=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),Ka=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&Ua(t,e,a);return Fa(t,e),t};Object.defineProperty(da,"__esModule",{value:!0}),da.BidiParserImpl=void 0;const qa=Ka(la);da.BidiParserImpl=class{parseActivateParams(e){return qa.BrowsingContext.parseActivateParams(e)}parseCaptureScreenshotParams(e){return qa.BrowsingContext.parseCaptureScreenshotParams(e)}parseCloseParams(e){return qa.BrowsingContext.parseCloseParams(e)}parseCreateParams(e){return qa.BrowsingContext.parseCreateParams(e)}parseGetTreeParams(e){return qa.BrowsingContext.parseGetTreeParams(e)}parseHandleUserPromptParams(e){return qa.BrowsingContext.parseHandleUserPromptParameters(e)}parseNavigateParams(e){return qa.BrowsingContext.parseNavigateParams(e)}parsePrintParams(e){return qa.BrowsingContext.parsePrintParams(e)}parseReloadParams(e){return qa.BrowsingContext.parseReloadParams(e)}parseSetViewportParams(e){return qa.BrowsingContext.parseSetViewportParams(e)}parseGetSessionParams(e){return qa.Cdp.parseGetSessionRequest(e)}parseSendCommandParams(e){return qa.Cdp.parseSendCommandRequest(e)}parsePerformActionsParams(e){return qa.Input.parsePerformActionsParams(e)}parseReleaseActionsParams(e){return qa.Input.parseReleaseActionsParams(e)}parseAddPreloadScriptParams(e){return qa.Script.parseAddPreloadScriptParams(e)}parseCallFunctionParams(e){return qa.Script.parseCallFunctionParams(e)}parseDisownParams(e){return qa.Script.parseDisownParams(e)}parseEvaluateParams(e){return qa.Script.parseEvaluateParams(e)}parseGetRealmsParams(e){return qa.Script.parseGetRealmsParams(e)}parseRemovePreloadScriptParams(e){return qa.Script.parseRemovePreloadScriptParams(e)}parseSubscribeParams(e){return qa.Session.parseSubscribeParams(e)}};var $a={};Object.defineProperty($a,"__esModule",{value:!0}),$a.log=$a.generatePage=void 0;const Wa=l;function Ja(e){const t=`${e}_log`,a=document.getElementById(t);if(a)return a;const n=document.getElementById("details"),r=document.createElement("div");r.className="divider",n.appendChild(r);const s=document.createElement("div");return s.className="item",s.innerHTML=`<h3>${e}</h3><div id="${t}" class="log"></div>`,n.appendChild(s),document.getElementById(t)}$a.generatePage=function(){globalThis.document.documentElement&&(globalThis.document.documentElement.innerHTML='<!DOCTYPE html><title>BiDi-CDP Mapper</title><style>body{font-family: Roboto, serif; font-size: 13px; color: #202124;}.log{padding: 12px; font-family: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace; font-size: 11px; line-height: 180%; background: #f1f3f4; border-radius: 4px;}.pre{overflow-wrap: break-word; padding: 10px;}.card{margin: 60px auto; padding: 2px 0; max-width: 900px; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15), 0 1px 6px rgba(0, 0, 0, 0.2); border-radius: 8px;}.divider{height: 1px; background: #f0f0f0;}.item{padding: 16px 20px;}</style><div class="card"><div class="item"><h1>BiDi-CDP Mapper is controlling this tab</h1><p>Closing or reloading it will stop the BiDi process. <a target="_blank" title="BiDi-CDP Mapper GitHub Repository" href="https://github.com/GoogleChromeLabs/chromium-bidi">Details.</a></p></div><div class="divider"></div><details id="details"><summary class="item">Debug information</summary></details></div>',Ja(Wa.LogType.system),Ja(Wa.LogType.bidi),Ja(Wa.LogType.browsingContexts),Ja(Wa.LogType.cdp))},$a.log=function(t,...a){if(!globalThis.document.documentElement)return;e.window?.sendDebugMessage?.(JSON.stringify({logType:t,messages:a}));const n=Ja(t),r=document.createElement("div");r.className="pre",r.textContent=a.join(" "),n.appendChild(r)},
 /**
 	 * Copyright 2021 Google LLC.
 	 * Copyright (c) Microsoft Corporation.
@@ -17,5 +17,5 @@
 	 *
 	 * @license
 	 */
-var Yt=e&&e.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var s=Object.getOwnPropertyDescriptor(t,r);s&&!("get"in s?!t.__esModule:s.writable||s.configurable)||(s={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,s)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),Qt=e&&e.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),er=e&&e.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&Yt(t,e,r);return Qt(t,e),t};Object.defineProperty(t,"__esModule",{value:!0});const tr=er(r),rr=b,nr=C,sr=Ft,ar=P,ir=Jt,or=async function(){return new Promise((e=>{window.setSelfTargetId=t=>{(0,ir.log)(ar.LogType.system,"Current target ID:",t),e(t)}}))}();(async()=>{(0,ir.generatePage)();const e=await or,t=await function(e){class t{#or=null;constructor(){window.onBidiMessage=e=>{let r;(0,ir.log)(`${ar.LogType.bidi}:RECV \u25c2`,e);try{r=t.#dr(e)}catch(t){return void this.#cr(e,rr.Message.ErrorCode.InvalidArgument,t.message,null)}this.#or?.call(null,r)}}setOnMessage(e){this.#or=e}sendMessage(e){const t=JSON.stringify(e);window.sendBidiResponse(t),(0,ir.log)(`${ar.LogType.bidi}:SEND \u25b8`,t)}close(){this.#or=null,window.onBidiMessage=null}#cr(e,r,n,s){const a=t.#ur(e,r,n);s?this.sendMessage({...a,channel:s}):this.sendMessage(a)}static#lr(e){return null===e?"null":Array.isArray(e)?"array":typeof e}static#ur(e,r,n){let s;try{const r=JSON.parse(e);"object"===t.#lr(r)&&"id"in r&&(s=r.id)}catch{}return{id:s,error:r,message:n}}static#dr(e){let r;try{r=JSON.parse(e)}catch{throw new Error("Cannot parse data as JSON")}const n=t.#lr(r);if("object"!==n)throw new Error(`Expected JSON object but got ${n}`);const{id:s,method:a,params:i}=r,o=t.#lr(s);if("number"!==o||!Number.isInteger(s)||s<0)throw new Error(`Expected unsigned integer but got ${o}`);const d=t.#lr(a);if("string"!==d)throw new Error(`Expected string method but got ${d}`);const c=t.#lr(i);if("object"!==c)throw new Error(`Expected object params but got ${c}`);let u=r.channel;if(void 0!==u){const e=t.#lr(u);if("string"!==e)throw new Error(`Expected string channel but got ${e}`);""===u&&(u=void 0)}return{id:s,method:a,params:i,channel:u}}}return nr.BidiServer.createAndStart(new t,function(){class e{#or=null;constructor(){window.cdp.onmessage=e=>{this.#or?.call(null,e)}}setOnMessage(e){this.#or=e}sendMessage(e){window.cdp.send(e)}close(){this.#or=null,window.cdp.onmessage=null}}return new sr.CdpConnection(new e,ir.log)}(),e,new dr,ir.log)}(e);(0,ir.log)(ar.LogType.system,"Launched"),t.emitOutgoingMessage(nr.OutgoingBidiMessage.createResolved({launched:!0},null))})();class dr{parseAddPreloadScriptParams(e){return tr.Script.parseAddPreloadScriptParams(e)}parseRemovePreloadScriptParams(e){return tr.Script.parseRemovePreloadScriptParams(e)}parseGetRealmsParams(e){return tr.Script.parseGetRealmsParams(e)}parseCallFunctionParams(e){return tr.Script.parseCallFunctionParams(e)}parseEvaluateParams(e){return tr.Script.parseEvaluateParams(e)}parseDisownParams(e){return tr.Script.parseDisownParams(e)}parseSendCommandParams(e){return tr.Cdp.parseSendCommandParams(e)}parseGetSessionParams(e){return tr.Cdp.parseGetSessionParams(e)}parseSubscribeParams(e){return tr.Session.parseSubscribeParams(e)}parseNavigateParams(e){return tr.BrowsingContext.parseNavigateParams(e)}parseReloadParams(e){return tr.BrowsingContext.parseReloadParams(e)}parseGetTreeParams(e){return tr.BrowsingContext.parseGetTreeParams(e)}parseCreateParams(e){return tr.BrowsingContext.parseCreateParams(e)}parseCloseParams(e){return tr.BrowsingContext.parseCloseParams(e)}parseCaptureScreenshotParams(e){return tr.BrowsingContext.parseCaptureScreenshotParams(e)}parsePrintParams(e){return tr.BrowsingContext.parsePrintParams(e)}parsePerformActionsParams(e){return tr.Input.parsePerformActionsParams(e)}parseReleaseActionsParams(e){return tr.Input.parseReleaseActionsParams(e)}parseSetViewportParams(e){return tr.BrowsingContext.parseSetViewportParams(e)}}return t}();
+Object.defineProperty(a,"__esModule",{value:!0});const Ha=n,Ga=aa,Xa=l,Ya=da,Qa=$a,en=async function(){return new Promise((e=>{window.setSelfTargetId=t=>{(0,Qa.log)(Xa.LogType.system,"Current target ID:",t),e(t)}}))}();return(async()=>{(0,Qa.generatePage)();const e=await en,t=await function(e){class t{#ca=null;constructor(){window.onBidiMessage=e=>{let a;(0,Qa.log)(`${Xa.LogType.bidi}:RECV \u25c2`,e);try{a=t.#da(e)}catch(t){return void this.#la(e,"invalid argument",t.message,null)}this.#ca?.call(null,a)}}setOnMessage(e){this.#ca=e}sendMessage(e){const t=JSON.stringify(e);window.sendBidiResponse(t),(0,Qa.log)(`${Xa.LogType.bidi}:SEND \u25b8`,t)}close(){this.#ca=null,window.onBidiMessage=null}#la(e,a,n,r){const s=t.#ua(e,a,n);r?this.sendMessage({...s,channel:r}):this.sendMessage(s)}static#ma(e){return null===e?"null":Array.isArray(e)?"array":typeof e}static#ua(e,a,n){let r;try{const a=JSON.parse(e);"object"===t.#ma(a)&&"id"in a&&(r=a.id)}catch{}return{type:"error",id:r,error:a,message:n}}static#da(e){let a;try{a=JSON.parse(e)}catch{throw new Error("Cannot parse data as JSON")}const n=t.#ma(a);if("object"!==n)throw new Error(`Expected JSON object but got ${n}`);const{id:r,method:s,params:o}=a,i=t.#ma(r);if("number"!==i||!Number.isInteger(r)||r<0)throw new Error(`Expected unsigned integer but got ${i}`);const c=t.#ma(s);if("string"!==c)throw new Error(`Expected string method but got ${c}`);const d=t.#ma(o);if("object"!==d)throw new Error(`Expected object params but got ${d}`);let l=a.channel;if(void 0!==l){const e=t.#ma(l);if("string"!==e)throw new Error(`Expected string channel but got ${e}`);""===l&&(l=void 0)}return{id:r,method:s,params:o,channel:l}}}return Ha.BidiServer.createAndStart(new t,function(){class e{#ca=null;constructor(){window.cdp.onmessage=e=>{this.#ca?.call(null,e)}}setOnMessage(e){this.#ca=e}sendMessage(e){window.cdp.send(e)}close(){this.#ca=null,window.cdp.onmessage=null}}return new Ga.CdpConnection(new e,Qa.log)}(),e,new Ya.BidiParserImpl,Qa.log)}(e);(0,Qa.log)(Xa.LogType.system,"Launched"),t.emitOutgoingMessage(Ha.OutgoingBidiMessage.createResolved({launched:!0}))})(),a}();
 //# sourceMappingURL=mapperTab.js.map
diff --git a/node_modules/chromium-bidi/lib/iife/mapperTab.js.map b/node_modules/chromium-bidi/lib/iife/mapperTab.js.map
index ba75687a..b8d363d 100644
--- a/node_modules/chromium-bidi/lib/iife/mapperTab.js.map
+++ b/node_modules/chromium-bidi/lib/iife/mapperTab.js.map
@@ -1 +1 @@
-{"version":3,"file":"mapperTab.js","sources":["../../node_modules/zod/lib/helpers/util.js","../../node_modules/zod/lib/ZodError.js","../../node_modules/zod/lib/locales/en.js","../../node_modules/zod/lib/errors.js","../../node_modules/zod/lib/helpers/parseUtil.js","../../node_modules/zod/lib/helpers/typeAliases.js","../../node_modules/zod/lib/helpers/errorUtil.js","../../node_modules/zod/lib/types.js","../../node_modules/zod/lib/external.js","../../node_modules/zod/lib/index.js","../cjs/protocol/protocol.js","../cjs/protocol-parser/protocol-parser.js","../cjs/utils/EventEmitter.js","../../node_modules/mitt/dist/mitt.js","../cjs/utils/log.js","../cjs/utils/processingQueue.js","../cjs/utils/assert.js","../cjs/utils/Mutex.js","../cjs/bidiMapper/domains/input/InputSource.js","../cjs/bidiMapper/domains/input/InputState.js","../cjs/bidiMapper/domains/input/InputStateManager.js","../cjs/bidiMapper/domains/input/USKeyboardLayout.js","../cjs/bidiMapper/domains/input/keyUtils.js","../cjs/bidiMapper/domains/input/ActionDispatcher.js","../cjs/bidiMapper/domains/context/PreloadScriptStorage.js","../cjs/utils/unitConversions.js","../cjs/utils/deferred.js","../cjs/utils/uuid.js","../cjs/bidiMapper/domains/script/channelProxy.js","../cjs/bidiMapper/domains/script/scriptEvaluator.js","../cjs/bidiMapper/domains/script/realm.js","../cjs/bidiMapper/domains/context/browsingContextImpl.js","../cjs/bidiMapper/domains/log/logHelper.js","../cjs/bidiMapper/domains/log/logManager.js","../cjs/utils/DefaultMap.js","../cjs/bidiMapper/domains/network/networkRequest.js","../cjs/bidiMapper/domains/network/networkProcessor.js","../cjs/bidiMapper/domains/context/cdpTarget.js","../cjs/bidiMapper/domains/context/bidiPreloadScript.js","../cjs/bidiMapper/domains/context/browsingContextProcessor.js","../cjs/bidiMapper/OutgoingBidiMessage.js","../cjs/bidiMapper/CommandProcessor.js","../cjs/bidiMapper/domains/context/browsingContextStorage.js","../cjs/utils/buffer.js","../cjs/utils/idWrapper.js","../cjs/bidiMapper/domains/events/SubscriptionManager.js","../cjs/bidiMapper/domains/events/EventManager.js","../cjs/bidiMapper/domains/script/realmStorage.js","../cjs/bidiMapper/BidiServer.js","../cjs/bidiMapper/bidiMapper.js","../cjs/cdp/cdpClient.js","../cjs/cdp/cdpConnection.js","../cjs/bidiTab/mapperTabPage.js","../cjs/bidiTab/bidiTab.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getParsedType = exports.ZodParsedType = exports.objectUtil = exports.util = void 0;\nvar util;\n(function (util) {\n    util.assertEqual = (val) => val;\n    function assertIs(_arg) { }\n    util.assertIs = assertIs;\n    function assertNever(_x) {\n        throw new Error();\n    }\n    util.assertNever = assertNever;\n    util.arrayToEnum = (items) => {\n        const obj = {};\n        for (const item of items) {\n            obj[item] = item;\n        }\n        return obj;\n    };\n    util.getValidEnumValues = (obj) => {\n        const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n        const filtered = {};\n        for (const k of validKeys) {\n            filtered[k] = obj[k];\n        }\n        return util.objectValues(filtered);\n    };\n    util.objectValues = (obj) => {\n        return util.objectKeys(obj).map(function (e) {\n            return obj[e];\n        });\n    };\n    util.objectKeys = typeof Object.keys === \"function\"\n        ? (obj) => Object.keys(obj)\n        : (object) => {\n            const keys = [];\n            for (const key in object) {\n                if (Object.prototype.hasOwnProperty.call(object, key)) {\n                    keys.push(key);\n                }\n            }\n            return keys;\n        };\n    util.find = (arr, checker) => {\n        for (const item of arr) {\n            if (checker(item))\n                return item;\n        }\n        return undefined;\n    };\n    util.isInteger = typeof Number.isInteger === \"function\"\n        ? (val) => Number.isInteger(val)\n        : (val) => typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n    function joinValues(array, separator = \" | \") {\n        return array\n            .map((val) => (typeof val === \"string\" ? `'${val}'` : val))\n            .join(separator);\n    }\n    util.joinValues = joinValues;\n    util.jsonStringifyReplacer = (_, value) => {\n        if (typeof value === \"bigint\") {\n            return value.toString();\n        }\n        return value;\n    };\n})(util = exports.util || (exports.util = {}));\nvar objectUtil;\n(function (objectUtil) {\n    objectUtil.mergeShapes = (first, second) => {\n        return {\n            ...first,\n            ...second,\n        };\n    };\n})(objectUtil = exports.objectUtil || (exports.objectUtil = {}));\nexports.ZodParsedType = util.arrayToEnum([\n    \"string\",\n    \"nan\",\n    \"number\",\n    \"integer\",\n    \"float\",\n    \"boolean\",\n    \"date\",\n    \"bigint\",\n    \"symbol\",\n    \"function\",\n    \"undefined\",\n    \"null\",\n    \"array\",\n    \"object\",\n    \"unknown\",\n    \"promise\",\n    \"void\",\n    \"never\",\n    \"map\",\n    \"set\",\n]);\nconst getParsedType = (data) => {\n    const t = typeof data;\n    switch (t) {\n        case \"undefined\":\n            return exports.ZodParsedType.undefined;\n        case \"string\":\n            return exports.ZodParsedType.string;\n        case \"number\":\n            return isNaN(data) ? exports.ZodParsedType.nan : exports.ZodParsedType.number;\n        case \"boolean\":\n            return exports.ZodParsedType.boolean;\n        case \"function\":\n            return exports.ZodParsedType.function;\n        case \"bigint\":\n            return exports.ZodParsedType.bigint;\n        case \"symbol\":\n            return exports.ZodParsedType.symbol;\n        case \"object\":\n            if (Array.isArray(data)) {\n                return exports.ZodParsedType.array;\n            }\n            if (data === null) {\n                return exports.ZodParsedType.null;\n            }\n            if (data.then &&\n                typeof data.then === \"function\" &&\n                data.catch &&\n                typeof data.catch === \"function\") {\n                return exports.ZodParsedType.promise;\n            }\n            if (typeof Map !== \"undefined\" && data instanceof Map) {\n                return exports.ZodParsedType.map;\n            }\n            if (typeof Set !== \"undefined\" && data instanceof Set) {\n                return exports.ZodParsedType.set;\n            }\n            if (typeof Date !== \"undefined\" && data instanceof Date) {\n                return exports.ZodParsedType.date;\n            }\n            return exports.ZodParsedType.object;\n        default:\n            return exports.ZodParsedType.unknown;\n    }\n};\nexports.getParsedType = getParsedType;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ZodError = exports.quotelessJson = exports.ZodIssueCode = void 0;\nconst util_1 = require(\"./helpers/util\");\nexports.ZodIssueCode = util_1.util.arrayToEnum([\n    \"invalid_type\",\n    \"invalid_literal\",\n    \"custom\",\n    \"invalid_union\",\n    \"invalid_union_discriminator\",\n    \"invalid_enum_value\",\n    \"unrecognized_keys\",\n    \"invalid_arguments\",\n    \"invalid_return_type\",\n    \"invalid_date\",\n    \"invalid_string\",\n    \"too_small\",\n    \"too_big\",\n    \"invalid_intersection_types\",\n    \"not_multiple_of\",\n    \"not_finite\",\n]);\nconst quotelessJson = (obj) => {\n    const json = JSON.stringify(obj, null, 2);\n    return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nexports.quotelessJson = quotelessJson;\nclass ZodError extends Error {\n    constructor(issues) {\n        super();\n        this.issues = [];\n        this.addIssue = (sub) => {\n            this.issues = [...this.issues, sub];\n        };\n        this.addIssues = (subs = []) => {\n            this.issues = [...this.issues, ...subs];\n        };\n        const actualProto = new.target.prototype;\n        if (Object.setPrototypeOf) {\n            Object.setPrototypeOf(this, actualProto);\n        }\n        else {\n            this.__proto__ = actualProto;\n        }\n        this.name = \"ZodError\";\n        this.issues = issues;\n    }\n    get errors() {\n        return this.issues;\n    }\n    format(_mapper) {\n        const mapper = _mapper ||\n            function (issue) {\n                return issue.message;\n            };\n        const fieldErrors = { _errors: [] };\n        const processError = (error) => {\n            for (const issue of error.issues) {\n                if (issue.code === \"invalid_union\") {\n                    issue.unionErrors.map(processError);\n                }\n                else if (issue.code === \"invalid_return_type\") {\n                    processError(issue.returnTypeError);\n                }\n                else if (issue.code === \"invalid_arguments\") {\n                    processError(issue.argumentsError);\n                }\n                else if (issue.path.length === 0) {\n                    fieldErrors._errors.push(mapper(issue));\n                }\n                else {\n                    let curr = fieldErrors;\n                    let i = 0;\n                    while (i < issue.path.length) {\n                        const el = issue.path[i];\n                        const terminal = i === issue.path.length - 1;\n                        if (!terminal) {\n                            curr[el] = curr[el] || { _errors: [] };\n                        }\n                        else {\n                            curr[el] = curr[el] || { _errors: [] };\n                            curr[el]._errors.push(mapper(issue));\n                        }\n                        curr = curr[el];\n                        i++;\n                    }\n                }\n            }\n        };\n        processError(this);\n        return fieldErrors;\n    }\n    toString() {\n        return this.message;\n    }\n    get message() {\n        return JSON.stringify(this.issues, util_1.util.jsonStringifyReplacer, 2);\n    }\n    get isEmpty() {\n        return this.issues.length === 0;\n    }\n    flatten(mapper = (issue) => issue.message) {\n        const fieldErrors = {};\n        const formErrors = [];\n        for (const sub of this.issues) {\n            if (sub.path.length > 0) {\n                fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n                fieldErrors[sub.path[0]].push(mapper(sub));\n            }\n            else {\n                formErrors.push(mapper(sub));\n            }\n        }\n        return { formErrors, fieldErrors };\n    }\n    get formErrors() {\n        return this.flatten();\n    }\n}\nexports.ZodError = ZodError;\nZodError.create = (issues) => {\n    const error = new ZodError(issues);\n    return error;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst util_1 = require(\"../helpers/util\");\nconst ZodError_1 = require(\"../ZodError\");\nconst errorMap = (issue, _ctx) => {\n    let message;\n    switch (issue.code) {\n        case ZodError_1.ZodIssueCode.invalid_type:\n            if (issue.received === util_1.ZodParsedType.undefined) {\n                message = \"Required\";\n            }\n            else {\n                message = `Expected ${issue.expected}, received ${issue.received}`;\n            }\n            break;\n        case ZodError_1.ZodIssueCode.invalid_literal:\n            message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util_1.util.jsonStringifyReplacer)}`;\n            break;\n        case ZodError_1.ZodIssueCode.unrecognized_keys:\n            message = `Unrecognized key(s) in object: ${util_1.util.joinValues(issue.keys, \", \")}`;\n            break;\n        case ZodError_1.ZodIssueCode.invalid_union:\n            message = `Invalid input`;\n            break;\n        case ZodError_1.ZodIssueCode.invalid_union_discriminator:\n            message = `Invalid discriminator value. Expected ${util_1.util.joinValues(issue.options)}`;\n            break;\n        case ZodError_1.ZodIssueCode.invalid_enum_value:\n            message = `Invalid enum value. Expected ${util_1.util.joinValues(issue.options)}, received '${issue.received}'`;\n            break;\n        case ZodError_1.ZodIssueCode.invalid_arguments:\n            message = `Invalid function arguments`;\n            break;\n        case ZodError_1.ZodIssueCode.invalid_return_type:\n            message = `Invalid function return type`;\n            break;\n        case ZodError_1.ZodIssueCode.invalid_date:\n            message = `Invalid date`;\n            break;\n        case ZodError_1.ZodIssueCode.invalid_string:\n            if (typeof issue.validation === \"object\") {\n                if (\"includes\" in issue.validation) {\n                    message = `Invalid input: must include \"${issue.validation.includes}\"`;\n                    if (typeof issue.validation.position === \"number\") {\n                        message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n                    }\n                }\n                else if (\"startsWith\" in issue.validation) {\n                    message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n                }\n                else if (\"endsWith\" in issue.validation) {\n                    message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n                }\n                else {\n                    util_1.util.assertNever(issue.validation);\n                }\n            }\n            else if (issue.validation !== \"regex\") {\n                message = `Invalid ${issue.validation}`;\n            }\n            else {\n                message = \"Invalid\";\n            }\n            break;\n        case ZodError_1.ZodIssueCode.too_small:\n            if (issue.type === \"array\")\n                message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n            else if (issue.type === \"string\")\n                message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n            else if (issue.type === \"number\")\n                message = `Number must be ${issue.exact\n                    ? `exactly equal to `\n                    : issue.inclusive\n                        ? `greater than or equal to `\n                        : `greater than `}${issue.minimum}`;\n            else if (issue.type === \"date\")\n                message = `Date must be ${issue.exact\n                    ? `exactly equal to `\n                    : issue.inclusive\n                        ? `greater than or equal to `\n                        : `greater than `}${new Date(Number(issue.minimum))}`;\n            else\n                message = \"Invalid input\";\n            break;\n        case ZodError_1.ZodIssueCode.too_big:\n            if (issue.type === \"array\")\n                message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n            else if (issue.type === \"string\")\n                message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n            else if (issue.type === \"number\")\n                message = `Number must be ${issue.exact\n                    ? `exactly`\n                    : issue.inclusive\n                        ? `less than or equal to`\n                        : `less than`} ${issue.maximum}`;\n            else if (issue.type === \"bigint\")\n                message = `BigInt must be ${issue.exact\n                    ? `exactly`\n                    : issue.inclusive\n                        ? `less than or equal to`\n                        : `less than`} ${issue.maximum}`;\n            else if (issue.type === \"date\")\n                message = `Date must be ${issue.exact\n                    ? `exactly`\n                    : issue.inclusive\n                        ? `smaller than or equal to`\n                        : `smaller than`} ${new Date(Number(issue.maximum))}`;\n            else\n                message = \"Invalid input\";\n            break;\n        case ZodError_1.ZodIssueCode.custom:\n            message = `Invalid input`;\n            break;\n        case ZodError_1.ZodIssueCode.invalid_intersection_types:\n            message = `Intersection results could not be merged`;\n            break;\n        case ZodError_1.ZodIssueCode.not_multiple_of:\n            message = `Number must be a multiple of ${issue.multipleOf}`;\n            break;\n        case ZodError_1.ZodIssueCode.not_finite:\n            message = \"Number must be finite\";\n            break;\n        default:\n            message = _ctx.defaultError;\n            util_1.util.assertNever(issue);\n    }\n    return { message };\n};\nexports.default = errorMap;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getErrorMap = exports.setErrorMap = exports.defaultErrorMap = void 0;\nconst en_1 = __importDefault(require(\"./locales/en\"));\nexports.defaultErrorMap = en_1.default;\nlet overrideErrorMap = en_1.default;\nfunction setErrorMap(map) {\n    overrideErrorMap = map;\n}\nexports.setErrorMap = setErrorMap;\nfunction getErrorMap() {\n    return overrideErrorMap;\n}\nexports.getErrorMap = getErrorMap;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isAsync = exports.isValid = exports.isDirty = exports.isAborted = exports.OK = exports.DIRTY = exports.INVALID = exports.ParseStatus = exports.addIssueToContext = exports.EMPTY_PATH = exports.makeIssue = void 0;\nconst errors_1 = require(\"../errors\");\nconst en_1 = __importDefault(require(\"../locales/en\"));\nconst makeIssue = (params) => {\n    const { data, path, errorMaps, issueData } = params;\n    const fullPath = [...path, ...(issueData.path || [])];\n    const fullIssue = {\n        ...issueData,\n        path: fullPath,\n    };\n    let errorMessage = \"\";\n    const maps = errorMaps\n        .filter((m) => !!m)\n        .slice()\n        .reverse();\n    for (const map of maps) {\n        errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n    }\n    return {\n        ...issueData,\n        path: fullPath,\n        message: issueData.message || errorMessage,\n    };\n};\nexports.makeIssue = makeIssue;\nexports.EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n    const issue = (0, exports.makeIssue)({\n        issueData: issueData,\n        data: ctx.data,\n        path: ctx.path,\n        errorMaps: [\n            ctx.common.contextualErrorMap,\n            ctx.schemaErrorMap,\n            (0, errors_1.getErrorMap)(),\n            en_1.default,\n        ].filter((x) => !!x),\n    });\n    ctx.common.issues.push(issue);\n}\nexports.addIssueToContext = addIssueToContext;\nclass ParseStatus {\n    constructor() {\n        this.value = \"valid\";\n    }\n    dirty() {\n        if (this.value === \"valid\")\n            this.value = \"dirty\";\n    }\n    abort() {\n        if (this.value !== \"aborted\")\n            this.value = \"aborted\";\n    }\n    static mergeArray(status, results) {\n        const arrayValue = [];\n        for (const s of results) {\n            if (s.status === \"aborted\")\n                return exports.INVALID;\n            if (s.status === \"dirty\")\n                status.dirty();\n            arrayValue.push(s.value);\n        }\n        return { status: status.value, value: arrayValue };\n    }\n    static async mergeObjectAsync(status, pairs) {\n        const syncPairs = [];\n        for (const pair of pairs) {\n            syncPairs.push({\n                key: await pair.key,\n                value: await pair.value,\n            });\n        }\n        return ParseStatus.mergeObjectSync(status, syncPairs);\n    }\n    static mergeObjectSync(status, pairs) {\n        const finalObject = {};\n        for (const pair of pairs) {\n            const { key, value } = pair;\n            if (key.status === \"aborted\")\n                return exports.INVALID;\n            if (value.status === \"aborted\")\n                return exports.INVALID;\n            if (key.status === \"dirty\")\n                status.dirty();\n            if (value.status === \"dirty\")\n                status.dirty();\n            if (typeof value.value !== \"undefined\" || pair.alwaysSet) {\n                finalObject[key.value] = value.value;\n            }\n        }\n        return { status: status.value, value: finalObject };\n    }\n}\nexports.ParseStatus = ParseStatus;\nexports.INVALID = Object.freeze({\n    status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nexports.DIRTY = DIRTY;\nconst OK = (value) => ({ status: \"valid\", value });\nexports.OK = OK;\nconst isAborted = (x) => x.status === \"aborted\";\nexports.isAborted = isAborted;\nconst isDirty = (x) => x.status === \"dirty\";\nexports.isDirty = isDirty;\nconst isValid = (x) => x.status === \"valid\";\nexports.isValid = isValid;\nconst isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\nexports.isAsync = isAsync;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorUtil = void 0;\nvar errorUtil;\n(function (errorUtil) {\n    errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n    errorUtil.toString = (message) => typeof message === \"string\" ? message : message === null || message === void 0 ? void 0 : message.message;\n})(errorUtil = exports.errorUtil || (exports.errorUtil = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.discriminatedUnion = exports.date = exports.boolean = exports.bigint = exports.array = exports.any = exports.coerce = exports.ZodFirstPartyTypeKind = exports.late = exports.ZodSchema = exports.Schema = exports.custom = exports.ZodPipeline = exports.ZodBranded = exports.BRAND = exports.ZodNaN = exports.ZodCatch = exports.ZodDefault = exports.ZodNullable = exports.ZodOptional = exports.ZodTransformer = exports.ZodEffects = exports.ZodPromise = exports.ZodNativeEnum = exports.ZodEnum = exports.ZodLiteral = exports.ZodLazy = exports.ZodFunction = exports.ZodSet = exports.ZodMap = exports.ZodRecord = exports.ZodTuple = exports.ZodIntersection = exports.ZodDiscriminatedUnion = exports.ZodUnion = exports.ZodObject = exports.ZodArray = exports.ZodVoid = exports.ZodNever = exports.ZodUnknown = exports.ZodAny = exports.ZodNull = exports.ZodUndefined = exports.ZodSymbol = exports.ZodDate = exports.ZodBoolean = exports.ZodBigInt = exports.ZodNumber = exports.ZodString = exports.ZodType = void 0;\nexports.NEVER = exports.void = exports.unknown = exports.union = exports.undefined = exports.tuple = exports.transformer = exports.symbol = exports.string = exports.strictObject = exports.set = exports.record = exports.promise = exports.preprocess = exports.pipeline = exports.ostring = exports.optional = exports.onumber = exports.oboolean = exports.object = exports.number = exports.nullable = exports.null = exports.never = exports.nativeEnum = exports.nan = exports.map = exports.literal = exports.lazy = exports.intersection = exports.instanceof = exports.function = exports.enum = exports.effect = void 0;\nconst errors_1 = require(\"./errors\");\nconst errorUtil_1 = require(\"./helpers/errorUtil\");\nconst parseUtil_1 = require(\"./helpers/parseUtil\");\nconst util_1 = require(\"./helpers/util\");\nconst ZodError_1 = require(\"./ZodError\");\nclass ParseInputLazyPath {\n    constructor(parent, value, path, key) {\n        this._cachedPath = [];\n        this.parent = parent;\n        this.data = value;\n        this._path = path;\n        this._key = key;\n    }\n    get path() {\n        if (!this._cachedPath.length) {\n            if (this._key instanceof Array) {\n                this._cachedPath.push(...this._path, ...this._key);\n            }\n            else {\n                this._cachedPath.push(...this._path, this._key);\n            }\n        }\n        return this._cachedPath;\n    }\n}\nconst handleResult = (ctx, result) => {\n    if ((0, parseUtil_1.isValid)(result)) {\n        return { success: true, data: result.value };\n    }\n    else {\n        if (!ctx.common.issues.length) {\n            throw new Error(\"Validation failed but no issues detected.\");\n        }\n        return {\n            success: false,\n            get error() {\n                if (this._error)\n                    return this._error;\n                const error = new ZodError_1.ZodError(ctx.common.issues);\n                this._error = error;\n                return this._error;\n            },\n        };\n    }\n};\nfunction processCreateParams(params) {\n    if (!params)\n        return {};\n    const { errorMap, invalid_type_error, required_error, description } = params;\n    if (errorMap && (invalid_type_error || required_error)) {\n        throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n    }\n    if (errorMap)\n        return { errorMap: errorMap, description };\n    const customMap = (iss, ctx) => {\n        if (iss.code !== \"invalid_type\")\n            return { message: ctx.defaultError };\n        if (typeof ctx.data === \"undefined\") {\n            return { message: required_error !== null && required_error !== void 0 ? required_error : ctx.defaultError };\n        }\n        return { message: invalid_type_error !== null && invalid_type_error !== void 0 ? invalid_type_error : ctx.defaultError };\n    };\n    return { errorMap: customMap, description };\n}\nclass ZodType {\n    constructor(def) {\n        this.spa = this.safeParseAsync;\n        this._def = def;\n        this.parse = this.parse.bind(this);\n        this.safeParse = this.safeParse.bind(this);\n        this.parseAsync = this.parseAsync.bind(this);\n        this.safeParseAsync = this.safeParseAsync.bind(this);\n        this.spa = this.spa.bind(this);\n        this.refine = this.refine.bind(this);\n        this.refinement = this.refinement.bind(this);\n        this.superRefine = this.superRefine.bind(this);\n        this.optional = this.optional.bind(this);\n        this.nullable = this.nullable.bind(this);\n        this.nullish = this.nullish.bind(this);\n        this.array = this.array.bind(this);\n        this.promise = this.promise.bind(this);\n        this.or = this.or.bind(this);\n        this.and = this.and.bind(this);\n        this.transform = this.transform.bind(this);\n        this.brand = this.brand.bind(this);\n        this.default = this.default.bind(this);\n        this.catch = this.catch.bind(this);\n        this.describe = this.describe.bind(this);\n        this.pipe = this.pipe.bind(this);\n        this.isNullable = this.isNullable.bind(this);\n        this.isOptional = this.isOptional.bind(this);\n    }\n    get description() {\n        return this._def.description;\n    }\n    _getType(input) {\n        return (0, util_1.getParsedType)(input.data);\n    }\n    _getOrReturnCtx(input, ctx) {\n        return (ctx || {\n            common: input.parent.common,\n            data: input.data,\n            parsedType: (0, util_1.getParsedType)(input.data),\n            schemaErrorMap: this._def.errorMap,\n            path: input.path,\n            parent: input.parent,\n        });\n    }\n    _processInputParams(input) {\n        return {\n            status: new parseUtil_1.ParseStatus(),\n            ctx: {\n                common: input.parent.common,\n                data: input.data,\n                parsedType: (0, util_1.getParsedType)(input.data),\n                schemaErrorMap: this._def.errorMap,\n                path: input.path,\n                parent: input.parent,\n            },\n        };\n    }\n    _parseSync(input) {\n        const result = this._parse(input);\n        if ((0, parseUtil_1.isAsync)(result)) {\n            throw new Error(\"Synchronous parse encountered promise.\");\n        }\n        return result;\n    }\n    _parseAsync(input) {\n        const result = this._parse(input);\n        return Promise.resolve(result);\n    }\n    parse(data, params) {\n        const result = this.safeParse(data, params);\n        if (result.success)\n            return result.data;\n        throw result.error;\n    }\n    safeParse(data, params) {\n        var _a;\n        const ctx = {\n            common: {\n                issues: [],\n                async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false,\n                contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n            },\n            path: (params === null || params === void 0 ? void 0 : params.path) || [],\n            schemaErrorMap: this._def.errorMap,\n            parent: null,\n            data,\n            parsedType: (0, util_1.getParsedType)(data),\n        };\n        const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n        return handleResult(ctx, result);\n    }\n    async parseAsync(data, params) {\n        const result = await this.safeParseAsync(data, params);\n        if (result.success)\n            return result.data;\n        throw result.error;\n    }\n    async safeParseAsync(data, params) {\n        const ctx = {\n            common: {\n                issues: [],\n                contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n                async: true,\n            },\n            path: (params === null || params === void 0 ? void 0 : params.path) || [],\n            schemaErrorMap: this._def.errorMap,\n            parent: null,\n            data,\n            parsedType: (0, util_1.getParsedType)(data),\n        };\n        const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n        const result = await ((0, parseUtil_1.isAsync)(maybeAsyncResult)\n            ? maybeAsyncResult\n            : Promise.resolve(maybeAsyncResult));\n        return handleResult(ctx, result);\n    }\n    refine(check, message) {\n        const getIssueProperties = (val) => {\n            if (typeof message === \"string\" || typeof message === \"undefined\") {\n                return { message };\n            }\n            else if (typeof message === \"function\") {\n                return message(val);\n            }\n            else {\n                return message;\n            }\n        };\n        return this._refinement((val, ctx) => {\n            const result = check(val);\n            const setError = () => ctx.addIssue({\n                code: ZodError_1.ZodIssueCode.custom,\n                ...getIssueProperties(val),\n            });\n            if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n                return result.then((data) => {\n                    if (!data) {\n                        setError();\n                        return false;\n                    }\n                    else {\n                        return true;\n                    }\n                });\n            }\n            if (!result) {\n                setError();\n                return false;\n            }\n            else {\n                return true;\n            }\n        });\n    }\n    refinement(check, refinementData) {\n        return this._refinement((val, ctx) => {\n            if (!check(val)) {\n                ctx.addIssue(typeof refinementData === \"function\"\n                    ? refinementData(val, ctx)\n                    : refinementData);\n                return false;\n            }\n            else {\n                return true;\n            }\n        });\n    }\n    _refinement(refinement) {\n        return new ZodEffects({\n            schema: this,\n            typeName: ZodFirstPartyTypeKind.ZodEffects,\n            effect: { type: \"refinement\", refinement },\n        });\n    }\n    superRefine(refinement) {\n        return this._refinement(refinement);\n    }\n    optional() {\n        return ZodOptional.create(this, this._def);\n    }\n    nullable() {\n        return ZodNullable.create(this, this._def);\n    }\n    nullish() {\n        return this.nullable().optional();\n    }\n    array() {\n        return ZodArray.create(this, this._def);\n    }\n    promise() {\n        return ZodPromise.create(this, this._def);\n    }\n    or(option) {\n        return ZodUnion.create([this, option], this._def);\n    }\n    and(incoming) {\n        return ZodIntersection.create(this, incoming, this._def);\n    }\n    transform(transform) {\n        return new ZodEffects({\n            ...processCreateParams(this._def),\n            schema: this,\n            typeName: ZodFirstPartyTypeKind.ZodEffects,\n            effect: { type: \"transform\", transform },\n        });\n    }\n    default(def) {\n        const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n        return new ZodDefault({\n            ...processCreateParams(this._def),\n            innerType: this,\n            defaultValue: defaultValueFunc,\n            typeName: ZodFirstPartyTypeKind.ZodDefault,\n        });\n    }\n    brand() {\n        return new ZodBranded({\n            typeName: ZodFirstPartyTypeKind.ZodBranded,\n            type: this,\n            ...processCreateParams(this._def),\n        });\n    }\n    catch(def) {\n        const catchValueFunc = typeof def === \"function\" ? def : () => def;\n        return new ZodCatch({\n            ...processCreateParams(this._def),\n            innerType: this,\n            catchValue: catchValueFunc,\n            typeName: ZodFirstPartyTypeKind.ZodCatch,\n        });\n    }\n    describe(description) {\n        const This = this.constructor;\n        return new This({\n            ...this._def,\n            description,\n        });\n    }\n    pipe(target) {\n        return ZodPipeline.create(this, target);\n    }\n    isOptional() {\n        return this.safeParse(undefined).success;\n    }\n    isNullable() {\n        return this.safeParse(null).success;\n    }\n}\nexports.ZodType = ZodType;\nexports.Schema = ZodType;\nexports.ZodSchema = ZodType;\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[a-z][a-z0-9]*$/;\nconst ulidRegex = /[0-9A-HJKMNP-TV-Z]{26}/;\nconst uuidRegex = /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst emailRegex = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\nconst emojiRegex = /^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$/u;\nconst ipv4Regex = /^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/;\nconst ipv6Regex = /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\nconst datetimeRegex = (args) => {\n    if (args.precision) {\n        if (args.offset) {\n            return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n        }\n        else {\n            return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}Z$`);\n        }\n    }\n    else if (args.precision === 0) {\n        if (args.offset) {\n            return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n        }\n        else {\n            return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}Z$`);\n        }\n    }\n    else {\n        if (args.offset) {\n            return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n        }\n        else {\n            return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?Z$`);\n        }\n    }\n};\nfunction isValidIP(ip, version) {\n    if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n        return true;\n    }\n    if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n        return true;\n    }\n    return false;\n}\nclass ZodString extends ZodType {\n    constructor() {\n        super(...arguments);\n        this._regex = (regex, validation, message) => this.refinement((data) => regex.test(data), {\n            validation,\n            code: ZodError_1.ZodIssueCode.invalid_string,\n            ...errorUtil_1.errorUtil.errToObj(message),\n        });\n        this.nonempty = (message) => this.min(1, errorUtil_1.errorUtil.errToObj(message));\n        this.trim = () => new ZodString({\n            ...this._def,\n            checks: [...this._def.checks, { kind: \"trim\" }],\n        });\n        this.toLowerCase = () => new ZodString({\n            ...this._def,\n            checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n        });\n        this.toUpperCase = () => new ZodString({\n            ...this._def,\n            checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n        });\n    }\n    _parse(input) {\n        if (this._def.coerce) {\n            input.data = String(input.data);\n        }\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.string) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.string,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        const status = new parseUtil_1.ParseStatus();\n        let ctx = undefined;\n        for (const check of this._def.checks) {\n            if (check.kind === \"min\") {\n                if (input.data.length < check.value) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.too_small,\n                        minimum: check.value,\n                        type: \"string\",\n                        inclusive: true,\n                        exact: false,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"max\") {\n                if (input.data.length > check.value) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.too_big,\n                        maximum: check.value,\n                        type: \"string\",\n                        inclusive: true,\n                        exact: false,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"length\") {\n                const tooBig = input.data.length > check.value;\n                const tooSmall = input.data.length < check.value;\n                if (tooBig || tooSmall) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    if (tooBig) {\n                        (0, parseUtil_1.addIssueToContext)(ctx, {\n                            code: ZodError_1.ZodIssueCode.too_big,\n                            maximum: check.value,\n                            type: \"string\",\n                            inclusive: true,\n                            exact: true,\n                            message: check.message,\n                        });\n                    }\n                    else if (tooSmall) {\n                        (0, parseUtil_1.addIssueToContext)(ctx, {\n                            code: ZodError_1.ZodIssueCode.too_small,\n                            minimum: check.value,\n                            type: \"string\",\n                            inclusive: true,\n                            exact: true,\n                            message: check.message,\n                        });\n                    }\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"email\") {\n                if (!emailRegex.test(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"email\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"emoji\") {\n                if (!emojiRegex.test(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"emoji\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"uuid\") {\n                if (!uuidRegex.test(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"uuid\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"cuid\") {\n                if (!cuidRegex.test(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"cuid\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"cuid2\") {\n                if (!cuid2Regex.test(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"cuid2\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"ulid\") {\n                if (!ulidRegex.test(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"ulid\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"url\") {\n                try {\n                    new URL(input.data);\n                }\n                catch (_a) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"url\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"regex\") {\n                check.regex.lastIndex = 0;\n                const testResult = check.regex.test(input.data);\n                if (!testResult) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"regex\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"trim\") {\n                input.data = input.data.trim();\n            }\n            else if (check.kind === \"includes\") {\n                if (!input.data.includes(check.value, check.position)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        validation: { includes: check.value, position: check.position },\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"toLowerCase\") {\n                input.data = input.data.toLowerCase();\n            }\n            else if (check.kind === \"toUpperCase\") {\n                input.data = input.data.toUpperCase();\n            }\n            else if (check.kind === \"startsWith\") {\n                if (!input.data.startsWith(check.value)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        validation: { startsWith: check.value },\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"endsWith\") {\n                if (!input.data.endsWith(check.value)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        validation: { endsWith: check.value },\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"datetime\") {\n                const regex = datetimeRegex(check);\n                if (!regex.test(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        validation: \"datetime\",\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"ip\") {\n                if (!isValidIP(input.data, check.version)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"ip\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else {\n                util_1.util.assertNever(check);\n            }\n        }\n        return { status: status.value, value: input.data };\n    }\n    _addCheck(check) {\n        return new ZodString({\n            ...this._def,\n            checks: [...this._def.checks, check],\n        });\n    }\n    email(message) {\n        return this._addCheck({ kind: \"email\", ...errorUtil_1.errorUtil.errToObj(message) });\n    }\n    url(message) {\n        return this._addCheck({ kind: \"url\", ...errorUtil_1.errorUtil.errToObj(message) });\n    }\n    emoji(message) {\n        return this._addCheck({ kind: \"emoji\", ...errorUtil_1.errorUtil.errToObj(message) });\n    }\n    uuid(message) {\n        return this._addCheck({ kind: \"uuid\", ...errorUtil_1.errorUtil.errToObj(message) });\n    }\n    cuid(message) {\n        return this._addCheck({ kind: \"cuid\", ...errorUtil_1.errorUtil.errToObj(message) });\n    }\n    cuid2(message) {\n        return this._addCheck({ kind: \"cuid2\", ...errorUtil_1.errorUtil.errToObj(message) });\n    }\n    ulid(message) {\n        return this._addCheck({ kind: \"ulid\", ...errorUtil_1.errorUtil.errToObj(message) });\n    }\n    ip(options) {\n        return this._addCheck({ kind: \"ip\", ...errorUtil_1.errorUtil.errToObj(options) });\n    }\n    datetime(options) {\n        var _a;\n        if (typeof options === \"string\") {\n            return this._addCheck({\n                kind: \"datetime\",\n                precision: null,\n                offset: false,\n                message: options,\n            });\n        }\n        return this._addCheck({\n            kind: \"datetime\",\n            precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === \"undefined\" ? null : options === null || options === void 0 ? void 0 : options.precision,\n            offset: (_a = options === null || options === void 0 ? void 0 : options.offset) !== null && _a !== void 0 ? _a : false,\n            ...errorUtil_1.errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n        });\n    }\n    regex(regex, message) {\n        return this._addCheck({\n            kind: \"regex\",\n            regex: regex,\n            ...errorUtil_1.errorUtil.errToObj(message),\n        });\n    }\n    includes(value, options) {\n        return this._addCheck({\n            kind: \"includes\",\n            value: value,\n            position: options === null || options === void 0 ? void 0 : options.position,\n            ...errorUtil_1.errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n        });\n    }\n    startsWith(value, message) {\n        return this._addCheck({\n            kind: \"startsWith\",\n            value: value,\n            ...errorUtil_1.errorUtil.errToObj(message),\n        });\n    }\n    endsWith(value, message) {\n        return this._addCheck({\n            kind: \"endsWith\",\n            value: value,\n            ...errorUtil_1.errorUtil.errToObj(message),\n        });\n    }\n    min(minLength, message) {\n        return this._addCheck({\n            kind: \"min\",\n            value: minLength,\n            ...errorUtil_1.errorUtil.errToObj(message),\n        });\n    }\n    max(maxLength, message) {\n        return this._addCheck({\n            kind: \"max\",\n            value: maxLength,\n            ...errorUtil_1.errorUtil.errToObj(message),\n        });\n    }\n    length(len, message) {\n        return this._addCheck({\n            kind: \"length\",\n            value: len,\n            ...errorUtil_1.errorUtil.errToObj(message),\n        });\n    }\n    get isDatetime() {\n        return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n    }\n    get isEmail() {\n        return !!this._def.checks.find((ch) => ch.kind === \"email\");\n    }\n    get isURL() {\n        return !!this._def.checks.find((ch) => ch.kind === \"url\");\n    }\n    get isEmoji() {\n        return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n    }\n    get isUUID() {\n        return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n    }\n    get isCUID() {\n        return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n    }\n    get isCUID2() {\n        return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n    }\n    get isULID() {\n        return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n    }\n    get isIP() {\n        return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n    }\n    get minLength() {\n        let min = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"min\") {\n                if (min === null || ch.value > min)\n                    min = ch.value;\n            }\n        }\n        return min;\n    }\n    get maxLength() {\n        let max = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"max\") {\n                if (max === null || ch.value < max)\n                    max = ch.value;\n            }\n        }\n        return max;\n    }\n}\nexports.ZodString = ZodString;\nZodString.create = (params) => {\n    var _a;\n    return new ZodString({\n        checks: [],\n        typeName: ZodFirstPartyTypeKind.ZodString,\n        coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n        ...processCreateParams(params),\n    });\n};\nfunction floatSafeRemainder(val, step) {\n    const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n    const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n    const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n    const valInt = parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n    const stepInt = parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n    return (valInt % stepInt) / Math.pow(10, decCount);\n}\nclass ZodNumber extends ZodType {\n    constructor() {\n        super(...arguments);\n        this.min = this.gte;\n        this.max = this.lte;\n        this.step = this.multipleOf;\n    }\n    _parse(input) {\n        if (this._def.coerce) {\n            input.data = Number(input.data);\n        }\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.number) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.number,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        let ctx = undefined;\n        const status = new parseUtil_1.ParseStatus();\n        for (const check of this._def.checks) {\n            if (check.kind === \"int\") {\n                if (!util_1.util.isInteger(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.invalid_type,\n                        expected: \"integer\",\n                        received: \"float\",\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"min\") {\n                const tooSmall = check.inclusive\n                    ? input.data < check.value\n                    : input.data <= check.value;\n                if (tooSmall) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.too_small,\n                        minimum: check.value,\n                        type: \"number\",\n                        inclusive: check.inclusive,\n                        exact: false,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"max\") {\n                const tooBig = check.inclusive\n                    ? input.data > check.value\n                    : input.data >= check.value;\n                if (tooBig) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.too_big,\n                        maximum: check.value,\n                        type: \"number\",\n                        inclusive: check.inclusive,\n                        exact: false,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"multipleOf\") {\n                if (floatSafeRemainder(input.data, check.value) !== 0) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.not_multiple_of,\n                        multipleOf: check.value,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"finite\") {\n                if (!Number.isFinite(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.not_finite,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else {\n                util_1.util.assertNever(check);\n            }\n        }\n        return { status: status.value, value: input.data };\n    }\n    gte(value, message) {\n        return this.setLimit(\"min\", value, true, errorUtil_1.errorUtil.toString(message));\n    }\n    gt(value, message) {\n        return this.setLimit(\"min\", value, false, errorUtil_1.errorUtil.toString(message));\n    }\n    lte(value, message) {\n        return this.setLimit(\"max\", value, true, errorUtil_1.errorUtil.toString(message));\n    }\n    lt(value, message) {\n        return this.setLimit(\"max\", value, false, errorUtil_1.errorUtil.toString(message));\n    }\n    setLimit(kind, value, inclusive, message) {\n        return new ZodNumber({\n            ...this._def,\n            checks: [\n                ...this._def.checks,\n                {\n                    kind,\n                    value,\n                    inclusive,\n                    message: errorUtil_1.errorUtil.toString(message),\n                },\n            ],\n        });\n    }\n    _addCheck(check) {\n        return new ZodNumber({\n            ...this._def,\n            checks: [...this._def.checks, check],\n        });\n    }\n    int(message) {\n        return this._addCheck({\n            kind: \"int\",\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    positive(message) {\n        return this._addCheck({\n            kind: \"min\",\n            value: 0,\n            inclusive: false,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    negative(message) {\n        return this._addCheck({\n            kind: \"max\",\n            value: 0,\n            inclusive: false,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    nonpositive(message) {\n        return this._addCheck({\n            kind: \"max\",\n            value: 0,\n            inclusive: true,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    nonnegative(message) {\n        return this._addCheck({\n            kind: \"min\",\n            value: 0,\n            inclusive: true,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    multipleOf(value, message) {\n        return this._addCheck({\n            kind: \"multipleOf\",\n            value: value,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    finite(message) {\n        return this._addCheck({\n            kind: \"finite\",\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    safe(message) {\n        return this._addCheck({\n            kind: \"min\",\n            inclusive: true,\n            value: Number.MIN_SAFE_INTEGER,\n            message: errorUtil_1.errorUtil.toString(message),\n        })._addCheck({\n            kind: \"max\",\n            inclusive: true,\n            value: Number.MAX_SAFE_INTEGER,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    get minValue() {\n        let min = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"min\") {\n                if (min === null || ch.value > min)\n                    min = ch.value;\n            }\n        }\n        return min;\n    }\n    get maxValue() {\n        let max = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"max\") {\n                if (max === null || ch.value < max)\n                    max = ch.value;\n            }\n        }\n        return max;\n    }\n    get isInt() {\n        return !!this._def.checks.find((ch) => ch.kind === \"int\" ||\n            (ch.kind === \"multipleOf\" && util_1.util.isInteger(ch.value)));\n    }\n    get isFinite() {\n        let max = null, min = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"finite\" ||\n                ch.kind === \"int\" ||\n                ch.kind === \"multipleOf\") {\n                return true;\n            }\n            else if (ch.kind === \"min\") {\n                if (min === null || ch.value > min)\n                    min = ch.value;\n            }\n            else if (ch.kind === \"max\") {\n                if (max === null || ch.value < max)\n                    max = ch.value;\n            }\n        }\n        return Number.isFinite(min) && Number.isFinite(max);\n    }\n}\nexports.ZodNumber = ZodNumber;\nZodNumber.create = (params) => {\n    return new ZodNumber({\n        checks: [],\n        typeName: ZodFirstPartyTypeKind.ZodNumber,\n        coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n        ...processCreateParams(params),\n    });\n};\nclass ZodBigInt extends ZodType {\n    constructor() {\n        super(...arguments);\n        this.min = this.gte;\n        this.max = this.lte;\n    }\n    _parse(input) {\n        if (this._def.coerce) {\n            input.data = BigInt(input.data);\n        }\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.bigint) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.bigint,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        let ctx = undefined;\n        const status = new parseUtil_1.ParseStatus();\n        for (const check of this._def.checks) {\n            if (check.kind === \"min\") {\n                const tooSmall = check.inclusive\n                    ? input.data < check.value\n                    : input.data <= check.value;\n                if (tooSmall) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.too_small,\n                        type: \"bigint\",\n                        minimum: check.value,\n                        inclusive: check.inclusive,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"max\") {\n                const tooBig = check.inclusive\n                    ? input.data > check.value\n                    : input.data >= check.value;\n                if (tooBig) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.too_big,\n                        type: \"bigint\",\n                        maximum: check.value,\n                        inclusive: check.inclusive,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"multipleOf\") {\n                if (input.data % check.value !== BigInt(0)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.not_multiple_of,\n                        multipleOf: check.value,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else {\n                util_1.util.assertNever(check);\n            }\n        }\n        return { status: status.value, value: input.data };\n    }\n    gte(value, message) {\n        return this.setLimit(\"min\", value, true, errorUtil_1.errorUtil.toString(message));\n    }\n    gt(value, message) {\n        return this.setLimit(\"min\", value, false, errorUtil_1.errorUtil.toString(message));\n    }\n    lte(value, message) {\n        return this.setLimit(\"max\", value, true, errorUtil_1.errorUtil.toString(message));\n    }\n    lt(value, message) {\n        return this.setLimit(\"max\", value, false, errorUtil_1.errorUtil.toString(message));\n    }\n    setLimit(kind, value, inclusive, message) {\n        return new ZodBigInt({\n            ...this._def,\n            checks: [\n                ...this._def.checks,\n                {\n                    kind,\n                    value,\n                    inclusive,\n                    message: errorUtil_1.errorUtil.toString(message),\n                },\n            ],\n        });\n    }\n    _addCheck(check) {\n        return new ZodBigInt({\n            ...this._def,\n            checks: [...this._def.checks, check],\n        });\n    }\n    positive(message) {\n        return this._addCheck({\n            kind: \"min\",\n            value: BigInt(0),\n            inclusive: false,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    negative(message) {\n        return this._addCheck({\n            kind: \"max\",\n            value: BigInt(0),\n            inclusive: false,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    nonpositive(message) {\n        return this._addCheck({\n            kind: \"max\",\n            value: BigInt(0),\n            inclusive: true,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    nonnegative(message) {\n        return this._addCheck({\n            kind: \"min\",\n            value: BigInt(0),\n            inclusive: true,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    multipleOf(value, message) {\n        return this._addCheck({\n            kind: \"multipleOf\",\n            value,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    get minValue() {\n        let min = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"min\") {\n                if (min === null || ch.value > min)\n                    min = ch.value;\n            }\n        }\n        return min;\n    }\n    get maxValue() {\n        let max = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"max\") {\n                if (max === null || ch.value < max)\n                    max = ch.value;\n            }\n        }\n        return max;\n    }\n}\nexports.ZodBigInt = ZodBigInt;\nZodBigInt.create = (params) => {\n    var _a;\n    return new ZodBigInt({\n        checks: [],\n        typeName: ZodFirstPartyTypeKind.ZodBigInt,\n        coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n        ...processCreateParams(params),\n    });\n};\nclass ZodBoolean extends ZodType {\n    _parse(input) {\n        if (this._def.coerce) {\n            input.data = Boolean(input.data);\n        }\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.boolean) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.boolean,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return (0, parseUtil_1.OK)(input.data);\n    }\n}\nexports.ZodBoolean = ZodBoolean;\nZodBoolean.create = (params) => {\n    return new ZodBoolean({\n        typeName: ZodFirstPartyTypeKind.ZodBoolean,\n        coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n        ...processCreateParams(params),\n    });\n};\nclass ZodDate extends ZodType {\n    _parse(input) {\n        if (this._def.coerce) {\n            input.data = new Date(input.data);\n        }\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.date) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.date,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        if (isNaN(input.data.getTime())) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_date,\n            });\n            return parseUtil_1.INVALID;\n        }\n        const status = new parseUtil_1.ParseStatus();\n        let ctx = undefined;\n        for (const check of this._def.checks) {\n            if (check.kind === \"min\") {\n                if (input.data.getTime() < check.value) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.too_small,\n                        message: check.message,\n                        inclusive: true,\n                        exact: false,\n                        minimum: check.value,\n                        type: \"date\",\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"max\") {\n                if (input.data.getTime() > check.value) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.too_big,\n                        message: check.message,\n                        inclusive: true,\n                        exact: false,\n                        maximum: check.value,\n                        type: \"date\",\n                    });\n                    status.dirty();\n                }\n            }\n            else {\n                util_1.util.assertNever(check);\n            }\n        }\n        return {\n            status: status.value,\n            value: new Date(input.data.getTime()),\n        };\n    }\n    _addCheck(check) {\n        return new ZodDate({\n            ...this._def,\n            checks: [...this._def.checks, check],\n        });\n    }\n    min(minDate, message) {\n        return this._addCheck({\n            kind: \"min\",\n            value: minDate.getTime(),\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    max(maxDate, message) {\n        return this._addCheck({\n            kind: \"max\",\n            value: maxDate.getTime(),\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    get minDate() {\n        let min = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"min\") {\n                if (min === null || ch.value > min)\n                    min = ch.value;\n            }\n        }\n        return min != null ? new Date(min) : null;\n    }\n    get maxDate() {\n        let max = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"max\") {\n                if (max === null || ch.value < max)\n                    max = ch.value;\n            }\n        }\n        return max != null ? new Date(max) : null;\n    }\n}\nexports.ZodDate = ZodDate;\nZodDate.create = (params) => {\n    return new ZodDate({\n        checks: [],\n        coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n        typeName: ZodFirstPartyTypeKind.ZodDate,\n        ...processCreateParams(params),\n    });\n};\nclass ZodSymbol extends ZodType {\n    _parse(input) {\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.symbol) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.symbol,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return (0, parseUtil_1.OK)(input.data);\n    }\n}\nexports.ZodSymbol = ZodSymbol;\nZodSymbol.create = (params) => {\n    return new ZodSymbol({\n        typeName: ZodFirstPartyTypeKind.ZodSymbol,\n        ...processCreateParams(params),\n    });\n};\nclass ZodUndefined extends ZodType {\n    _parse(input) {\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.undefined) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.undefined,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return (0, parseUtil_1.OK)(input.data);\n    }\n}\nexports.ZodUndefined = ZodUndefined;\nZodUndefined.create = (params) => {\n    return new ZodUndefined({\n        typeName: ZodFirstPartyTypeKind.ZodUndefined,\n        ...processCreateParams(params),\n    });\n};\nclass ZodNull extends ZodType {\n    _parse(input) {\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.null) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.null,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return (0, parseUtil_1.OK)(input.data);\n    }\n}\nexports.ZodNull = ZodNull;\nZodNull.create = (params) => {\n    return new ZodNull({\n        typeName: ZodFirstPartyTypeKind.ZodNull,\n        ...processCreateParams(params),\n    });\n};\nclass ZodAny extends ZodType {\n    constructor() {\n        super(...arguments);\n        this._any = true;\n    }\n    _parse(input) {\n        return (0, parseUtil_1.OK)(input.data);\n    }\n}\nexports.ZodAny = ZodAny;\nZodAny.create = (params) => {\n    return new ZodAny({\n        typeName: ZodFirstPartyTypeKind.ZodAny,\n        ...processCreateParams(params),\n    });\n};\nclass ZodUnknown extends ZodType {\n    constructor() {\n        super(...arguments);\n        this._unknown = true;\n    }\n    _parse(input) {\n        return (0, parseUtil_1.OK)(input.data);\n    }\n}\nexports.ZodUnknown = ZodUnknown;\nZodUnknown.create = (params) => {\n    return new ZodUnknown({\n        typeName: ZodFirstPartyTypeKind.ZodUnknown,\n        ...processCreateParams(params),\n    });\n};\nclass ZodNever extends ZodType {\n    _parse(input) {\n        const ctx = this._getOrReturnCtx(input);\n        (0, parseUtil_1.addIssueToContext)(ctx, {\n            code: ZodError_1.ZodIssueCode.invalid_type,\n            expected: util_1.ZodParsedType.never,\n            received: ctx.parsedType,\n        });\n        return parseUtil_1.INVALID;\n    }\n}\nexports.ZodNever = ZodNever;\nZodNever.create = (params) => {\n    return new ZodNever({\n        typeName: ZodFirstPartyTypeKind.ZodNever,\n        ...processCreateParams(params),\n    });\n};\nclass ZodVoid extends ZodType {\n    _parse(input) {\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.undefined) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.void,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return (0, parseUtil_1.OK)(input.data);\n    }\n}\nexports.ZodVoid = ZodVoid;\nZodVoid.create = (params) => {\n    return new ZodVoid({\n        typeName: ZodFirstPartyTypeKind.ZodVoid,\n        ...processCreateParams(params),\n    });\n};\nclass ZodArray extends ZodType {\n    _parse(input) {\n        const { ctx, status } = this._processInputParams(input);\n        const def = this._def;\n        if (ctx.parsedType !== util_1.ZodParsedType.array) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.array,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        if (def.exactLength !== null) {\n            const tooBig = ctx.data.length > def.exactLength.value;\n            const tooSmall = ctx.data.length < def.exactLength.value;\n            if (tooBig || tooSmall) {\n                (0, parseUtil_1.addIssueToContext)(ctx, {\n                    code: tooBig ? ZodError_1.ZodIssueCode.too_big : ZodError_1.ZodIssueCode.too_small,\n                    minimum: (tooSmall ? def.exactLength.value : undefined),\n                    maximum: (tooBig ? def.exactLength.value : undefined),\n                    type: \"array\",\n                    inclusive: true,\n                    exact: true,\n                    message: def.exactLength.message,\n                });\n                status.dirty();\n            }\n        }\n        if (def.minLength !== null) {\n            if (ctx.data.length < def.minLength.value) {\n                (0, parseUtil_1.addIssueToContext)(ctx, {\n                    code: ZodError_1.ZodIssueCode.too_small,\n                    minimum: def.minLength.value,\n                    type: \"array\",\n                    inclusive: true,\n                    exact: false,\n                    message: def.minLength.message,\n                });\n                status.dirty();\n            }\n        }\n        if (def.maxLength !== null) {\n            if (ctx.data.length > def.maxLength.value) {\n                (0, parseUtil_1.addIssueToContext)(ctx, {\n                    code: ZodError_1.ZodIssueCode.too_big,\n                    maximum: def.maxLength.value,\n                    type: \"array\",\n                    inclusive: true,\n                    exact: false,\n                    message: def.maxLength.message,\n                });\n                status.dirty();\n            }\n        }\n        if (ctx.common.async) {\n            return Promise.all([...ctx.data].map((item, i) => {\n                return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n            })).then((result) => {\n                return parseUtil_1.ParseStatus.mergeArray(status, result);\n            });\n        }\n        const result = [...ctx.data].map((item, i) => {\n            return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n        });\n        return parseUtil_1.ParseStatus.mergeArray(status, result);\n    }\n    get element() {\n        return this._def.type;\n    }\n    min(minLength, message) {\n        return new ZodArray({\n            ...this._def,\n            minLength: { value: minLength, message: errorUtil_1.errorUtil.toString(message) },\n        });\n    }\n    max(maxLength, message) {\n        return new ZodArray({\n            ...this._def,\n            maxLength: { value: maxLength, message: errorUtil_1.errorUtil.toString(message) },\n        });\n    }\n    length(len, message) {\n        return new ZodArray({\n            ...this._def,\n            exactLength: { value: len, message: errorUtil_1.errorUtil.toString(message) },\n        });\n    }\n    nonempty(message) {\n        return this.min(1, message);\n    }\n}\nexports.ZodArray = ZodArray;\nZodArray.create = (schema, params) => {\n    return new ZodArray({\n        type: schema,\n        minLength: null,\n        maxLength: null,\n        exactLength: null,\n        typeName: ZodFirstPartyTypeKind.ZodArray,\n        ...processCreateParams(params),\n    });\n};\nfunction deepPartialify(schema) {\n    if (schema instanceof ZodObject) {\n        const newShape = {};\n        for (const key in schema.shape) {\n            const fieldSchema = schema.shape[key];\n            newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n        }\n        return new ZodObject({\n            ...schema._def,\n            shape: () => newShape,\n        });\n    }\n    else if (schema instanceof ZodArray) {\n        return new ZodArray({\n            ...schema._def,\n            type: deepPartialify(schema.element),\n        });\n    }\n    else if (schema instanceof ZodOptional) {\n        return ZodOptional.create(deepPartialify(schema.unwrap()));\n    }\n    else if (schema instanceof ZodNullable) {\n        return ZodNullable.create(deepPartialify(schema.unwrap()));\n    }\n    else if (schema instanceof ZodTuple) {\n        return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n    }\n    else {\n        return schema;\n    }\n}\nclass ZodObject extends ZodType {\n    constructor() {\n        super(...arguments);\n        this._cached = null;\n        this.nonstrict = this.passthrough;\n        this.augment = this.extend;\n    }\n    _getCached() {\n        if (this._cached !== null)\n            return this._cached;\n        const shape = this._def.shape();\n        const keys = util_1.util.objectKeys(shape);\n        return (this._cached = { shape, keys });\n    }\n    _parse(input) {\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.object) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.object,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        const { status, ctx } = this._processInputParams(input);\n        const { shape, keys: shapeKeys } = this._getCached();\n        const extraKeys = [];\n        if (!(this._def.catchall instanceof ZodNever &&\n            this._def.unknownKeys === \"strip\")) {\n            for (const key in ctx.data) {\n                if (!shapeKeys.includes(key)) {\n                    extraKeys.push(key);\n                }\n            }\n        }\n        const pairs = [];\n        for (const key of shapeKeys) {\n            const keyValidator = shape[key];\n            const value = ctx.data[key];\n            pairs.push({\n                key: { status: \"valid\", value: key },\n                value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n                alwaysSet: key in ctx.data,\n            });\n        }\n        if (this._def.catchall instanceof ZodNever) {\n            const unknownKeys = this._def.unknownKeys;\n            if (unknownKeys === \"passthrough\") {\n                for (const key of extraKeys) {\n                    pairs.push({\n                        key: { status: \"valid\", value: key },\n                        value: { status: \"valid\", value: ctx.data[key] },\n                    });\n                }\n            }\n            else if (unknownKeys === \"strict\") {\n                if (extraKeys.length > 0) {\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.unrecognized_keys,\n                        keys: extraKeys,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (unknownKeys === \"strip\") {\n            }\n            else {\n                throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n            }\n        }\n        else {\n            const catchall = this._def.catchall;\n            for (const key of extraKeys) {\n                const value = ctx.data[key];\n                pairs.push({\n                    key: { status: \"valid\", value: key },\n                    value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n                    alwaysSet: key in ctx.data,\n                });\n            }\n        }\n        if (ctx.common.async) {\n            return Promise.resolve()\n                .then(async () => {\n                const syncPairs = [];\n                for (const pair of pairs) {\n                    const key = await pair.key;\n                    syncPairs.push({\n                        key,\n                        value: await pair.value,\n                        alwaysSet: pair.alwaysSet,\n                    });\n                }\n                return syncPairs;\n            })\n                .then((syncPairs) => {\n                return parseUtil_1.ParseStatus.mergeObjectSync(status, syncPairs);\n            });\n        }\n        else {\n            return parseUtil_1.ParseStatus.mergeObjectSync(status, pairs);\n        }\n    }\n    get shape() {\n        return this._def.shape();\n    }\n    strict(message) {\n        errorUtil_1.errorUtil.errToObj;\n        return new ZodObject({\n            ...this._def,\n            unknownKeys: \"strict\",\n            ...(message !== undefined\n                ? {\n                    errorMap: (issue, ctx) => {\n                        var _a, _b, _c, _d;\n                        const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError;\n                        if (issue.code === \"unrecognized_keys\")\n                            return {\n                                message: (_d = errorUtil_1.errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError,\n                            };\n                        return {\n                            message: defaultError,\n                        };\n                    },\n                }\n                : {}),\n        });\n    }\n    strip() {\n        return new ZodObject({\n            ...this._def,\n            unknownKeys: \"strip\",\n        });\n    }\n    passthrough() {\n        return new ZodObject({\n            ...this._def,\n            unknownKeys: \"passthrough\",\n        });\n    }\n    extend(augmentation) {\n        return new ZodObject({\n            ...this._def,\n            shape: () => ({\n                ...this._def.shape(),\n                ...augmentation,\n            }),\n        });\n    }\n    merge(merging) {\n        const merged = new ZodObject({\n            unknownKeys: merging._def.unknownKeys,\n            catchall: merging._def.catchall,\n            shape: () => ({\n                ...this._def.shape(),\n                ...merging._def.shape(),\n            }),\n            typeName: ZodFirstPartyTypeKind.ZodObject,\n        });\n        return merged;\n    }\n    setKey(key, schema) {\n        return this.augment({ [key]: schema });\n    }\n    catchall(index) {\n        return new ZodObject({\n            ...this._def,\n            catchall: index,\n        });\n    }\n    pick(mask) {\n        const shape = {};\n        util_1.util.objectKeys(mask).forEach((key) => {\n            if (mask[key] && this.shape[key]) {\n                shape[key] = this.shape[key];\n            }\n        });\n        return new ZodObject({\n            ...this._def,\n            shape: () => shape,\n        });\n    }\n    omit(mask) {\n        const shape = {};\n        util_1.util.objectKeys(this.shape).forEach((key) => {\n            if (!mask[key]) {\n                shape[key] = this.shape[key];\n            }\n        });\n        return new ZodObject({\n            ...this._def,\n            shape: () => shape,\n        });\n    }\n    deepPartial() {\n        return deepPartialify(this);\n    }\n    partial(mask) {\n        const newShape = {};\n        util_1.util.objectKeys(this.shape).forEach((key) => {\n            const fieldSchema = this.shape[key];\n            if (mask && !mask[key]) {\n                newShape[key] = fieldSchema;\n            }\n            else {\n                newShape[key] = fieldSchema.optional();\n            }\n        });\n        return new ZodObject({\n            ...this._def,\n            shape: () => newShape,\n        });\n    }\n    required(mask) {\n        const newShape = {};\n        util_1.util.objectKeys(this.shape).forEach((key) => {\n            if (mask && !mask[key]) {\n                newShape[key] = this.shape[key];\n            }\n            else {\n                const fieldSchema = this.shape[key];\n                let newField = fieldSchema;\n                while (newField instanceof ZodOptional) {\n                    newField = newField._def.innerType;\n                }\n                newShape[key] = newField;\n            }\n        });\n        return new ZodObject({\n            ...this._def,\n            shape: () => newShape,\n        });\n    }\n    keyof() {\n        return createZodEnum(util_1.util.objectKeys(this.shape));\n    }\n}\nexports.ZodObject = ZodObject;\nZodObject.create = (shape, params) => {\n    return new ZodObject({\n        shape: () => shape,\n        unknownKeys: \"strip\",\n        catchall: ZodNever.create(),\n        typeName: ZodFirstPartyTypeKind.ZodObject,\n        ...processCreateParams(params),\n    });\n};\nZodObject.strictCreate = (shape, params) => {\n    return new ZodObject({\n        shape: () => shape,\n        unknownKeys: \"strict\",\n        catchall: ZodNever.create(),\n        typeName: ZodFirstPartyTypeKind.ZodObject,\n        ...processCreateParams(params),\n    });\n};\nZodObject.lazycreate = (shape, params) => {\n    return new ZodObject({\n        shape,\n        unknownKeys: \"strip\",\n        catchall: ZodNever.create(),\n        typeName: ZodFirstPartyTypeKind.ZodObject,\n        ...processCreateParams(params),\n    });\n};\nclass ZodUnion extends ZodType {\n    _parse(input) {\n        const { ctx } = this._processInputParams(input);\n        const options = this._def.options;\n        function handleResults(results) {\n            for (const result of results) {\n                if (result.result.status === \"valid\") {\n                    return result.result;\n                }\n            }\n            for (const result of results) {\n                if (result.result.status === \"dirty\") {\n                    ctx.common.issues.push(...result.ctx.common.issues);\n                    return result.result;\n                }\n            }\n            const unionErrors = results.map((result) => new ZodError_1.ZodError(result.ctx.common.issues));\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_union,\n                unionErrors,\n            });\n            return parseUtil_1.INVALID;\n        }\n        if (ctx.common.async) {\n            return Promise.all(options.map(async (option) => {\n                const childCtx = {\n                    ...ctx,\n                    common: {\n                        ...ctx.common,\n                        issues: [],\n                    },\n                    parent: null,\n                };\n                return {\n                    result: await option._parseAsync({\n                        data: ctx.data,\n                        path: ctx.path,\n                        parent: childCtx,\n                    }),\n                    ctx: childCtx,\n                };\n            })).then(handleResults);\n        }\n        else {\n            let dirty = undefined;\n            const issues = [];\n            for (const option of options) {\n                const childCtx = {\n                    ...ctx,\n                    common: {\n                        ...ctx.common,\n                        issues: [],\n                    },\n                    parent: null,\n                };\n                const result = option._parseSync({\n                    data: ctx.data,\n                    path: ctx.path,\n                    parent: childCtx,\n                });\n                if (result.status === \"valid\") {\n                    return result;\n                }\n                else if (result.status === \"dirty\" && !dirty) {\n                    dirty = { result, ctx: childCtx };\n                }\n                if (childCtx.common.issues.length) {\n                    issues.push(childCtx.common.issues);\n                }\n            }\n            if (dirty) {\n                ctx.common.issues.push(...dirty.ctx.common.issues);\n                return dirty.result;\n            }\n            const unionErrors = issues.map((issues) => new ZodError_1.ZodError(issues));\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_union,\n                unionErrors,\n            });\n            return parseUtil_1.INVALID;\n        }\n    }\n    get options() {\n        return this._def.options;\n    }\n}\nexports.ZodUnion = ZodUnion;\nZodUnion.create = (types, params) => {\n    return new ZodUnion({\n        options: types,\n        typeName: ZodFirstPartyTypeKind.ZodUnion,\n        ...processCreateParams(params),\n    });\n};\nconst getDiscriminator = (type) => {\n    if (type instanceof ZodLazy) {\n        return getDiscriminator(type.schema);\n    }\n    else if (type instanceof ZodEffects) {\n        return getDiscriminator(type.innerType());\n    }\n    else if (type instanceof ZodLiteral) {\n        return [type.value];\n    }\n    else if (type instanceof ZodEnum) {\n        return type.options;\n    }\n    else if (type instanceof ZodNativeEnum) {\n        return Object.keys(type.enum);\n    }\n    else if (type instanceof ZodDefault) {\n        return getDiscriminator(type._def.innerType);\n    }\n    else if (type instanceof ZodUndefined) {\n        return [undefined];\n    }\n    else if (type instanceof ZodNull) {\n        return [null];\n    }\n    else {\n        return null;\n    }\n};\nclass ZodDiscriminatedUnion extends ZodType {\n    _parse(input) {\n        const { ctx } = this._processInputParams(input);\n        if (ctx.parsedType !== util_1.ZodParsedType.object) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.object,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        const discriminator = this.discriminator;\n        const discriminatorValue = ctx.data[discriminator];\n        const option = this.optionsMap.get(discriminatorValue);\n        if (!option) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_union_discriminator,\n                options: Array.from(this.optionsMap.keys()),\n                path: [discriminator],\n            });\n            return parseUtil_1.INVALID;\n        }\n        if (ctx.common.async) {\n            return option._parseAsync({\n                data: ctx.data,\n                path: ctx.path,\n                parent: ctx,\n            });\n        }\n        else {\n            return option._parseSync({\n                data: ctx.data,\n                path: ctx.path,\n                parent: ctx,\n            });\n        }\n    }\n    get discriminator() {\n        return this._def.discriminator;\n    }\n    get options() {\n        return this._def.options;\n    }\n    get optionsMap() {\n        return this._def.optionsMap;\n    }\n    static create(discriminator, options, params) {\n        const optionsMap = new Map();\n        for (const type of options) {\n            const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n            if (!discriminatorValues) {\n                throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n            }\n            for (const value of discriminatorValues) {\n                if (optionsMap.has(value)) {\n                    throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n                }\n                optionsMap.set(value, type);\n            }\n        }\n        return new ZodDiscriminatedUnion({\n            typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n            discriminator,\n            options,\n            optionsMap,\n            ...processCreateParams(params),\n        });\n    }\n}\nexports.ZodDiscriminatedUnion = ZodDiscriminatedUnion;\nfunction mergeValues(a, b) {\n    const aType = (0, util_1.getParsedType)(a);\n    const bType = (0, util_1.getParsedType)(b);\n    if (a === b) {\n        return { valid: true, data: a };\n    }\n    else if (aType === util_1.ZodParsedType.object && bType === util_1.ZodParsedType.object) {\n        const bKeys = util_1.util.objectKeys(b);\n        const sharedKeys = util_1.util\n            .objectKeys(a)\n            .filter((key) => bKeys.indexOf(key) !== -1);\n        const newObj = { ...a, ...b };\n        for (const key of sharedKeys) {\n            const sharedValue = mergeValues(a[key], b[key]);\n            if (!sharedValue.valid) {\n                return { valid: false };\n            }\n            newObj[key] = sharedValue.data;\n        }\n        return { valid: true, data: newObj };\n    }\n    else if (aType === util_1.ZodParsedType.array && bType === util_1.ZodParsedType.array) {\n        if (a.length !== b.length) {\n            return { valid: false };\n        }\n        const newArray = [];\n        for (let index = 0; index < a.length; index++) {\n            const itemA = a[index];\n            const itemB = b[index];\n            const sharedValue = mergeValues(itemA, itemB);\n            if (!sharedValue.valid) {\n                return { valid: false };\n            }\n            newArray.push(sharedValue.data);\n        }\n        return { valid: true, data: newArray };\n    }\n    else if (aType === util_1.ZodParsedType.date &&\n        bType === util_1.ZodParsedType.date &&\n        +a === +b) {\n        return { valid: true, data: a };\n    }\n    else {\n        return { valid: false };\n    }\n}\nclass ZodIntersection extends ZodType {\n    _parse(input) {\n        const { status, ctx } = this._processInputParams(input);\n        const handleParsed = (parsedLeft, parsedRight) => {\n            if ((0, parseUtil_1.isAborted)(parsedLeft) || (0, parseUtil_1.isAborted)(parsedRight)) {\n                return parseUtil_1.INVALID;\n            }\n            const merged = mergeValues(parsedLeft.value, parsedRight.value);\n            if (!merged.valid) {\n                (0, parseUtil_1.addIssueToContext)(ctx, {\n                    code: ZodError_1.ZodIssueCode.invalid_intersection_types,\n                });\n                return parseUtil_1.INVALID;\n            }\n            if ((0, parseUtil_1.isDirty)(parsedLeft) || (0, parseUtil_1.isDirty)(parsedRight)) {\n                status.dirty();\n            }\n            return { status: status.value, value: merged.data };\n        };\n        if (ctx.common.async) {\n            return Promise.all([\n                this._def.left._parseAsync({\n                    data: ctx.data,\n                    path: ctx.path,\n                    parent: ctx,\n                }),\n                this._def.right._parseAsync({\n                    data: ctx.data,\n                    path: ctx.path,\n                    parent: ctx,\n                }),\n            ]).then(([left, right]) => handleParsed(left, right));\n        }\n        else {\n            return handleParsed(this._def.left._parseSync({\n                data: ctx.data,\n                path: ctx.path,\n                parent: ctx,\n            }), this._def.right._parseSync({\n                data: ctx.data,\n                path: ctx.path,\n                parent: ctx,\n            }));\n        }\n    }\n}\nexports.ZodIntersection = ZodIntersection;\nZodIntersection.create = (left, right, params) => {\n    return new ZodIntersection({\n        left: left,\n        right: right,\n        typeName: ZodFirstPartyTypeKind.ZodIntersection,\n        ...processCreateParams(params),\n    });\n};\nclass ZodTuple extends ZodType {\n    _parse(input) {\n        const { status, ctx } = this._processInputParams(input);\n        if (ctx.parsedType !== util_1.ZodParsedType.array) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.array,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        if (ctx.data.length < this._def.items.length) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.too_small,\n                minimum: this._def.items.length,\n                inclusive: true,\n                exact: false,\n                type: \"array\",\n            });\n            return parseUtil_1.INVALID;\n        }\n        const rest = this._def.rest;\n        if (!rest && ctx.data.length > this._def.items.length) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.too_big,\n                maximum: this._def.items.length,\n                inclusive: true,\n                exact: false,\n                type: \"array\",\n            });\n            status.dirty();\n        }\n        const items = [...ctx.data]\n            .map((item, itemIndex) => {\n            const schema = this._def.items[itemIndex] || this._def.rest;\n            if (!schema)\n                return null;\n            return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n        })\n            .filter((x) => !!x);\n        if (ctx.common.async) {\n            return Promise.all(items).then((results) => {\n                return parseUtil_1.ParseStatus.mergeArray(status, results);\n            });\n        }\n        else {\n            return parseUtil_1.ParseStatus.mergeArray(status, items);\n        }\n    }\n    get items() {\n        return this._def.items;\n    }\n    rest(rest) {\n        return new ZodTuple({\n            ...this._def,\n            rest,\n        });\n    }\n}\nexports.ZodTuple = ZodTuple;\nZodTuple.create = (schemas, params) => {\n    if (!Array.isArray(schemas)) {\n        throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n    }\n    return new ZodTuple({\n        items: schemas,\n        typeName: ZodFirstPartyTypeKind.ZodTuple,\n        rest: null,\n        ...processCreateParams(params),\n    });\n};\nclass ZodRecord extends ZodType {\n    get keySchema() {\n        return this._def.keyType;\n    }\n    get valueSchema() {\n        return this._def.valueType;\n    }\n    _parse(input) {\n        const { status, ctx } = this._processInputParams(input);\n        if (ctx.parsedType !== util_1.ZodParsedType.object) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.object,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        const pairs = [];\n        const keyType = this._def.keyType;\n        const valueType = this._def.valueType;\n        for (const key in ctx.data) {\n            pairs.push({\n                key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n                value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n            });\n        }\n        if (ctx.common.async) {\n            return parseUtil_1.ParseStatus.mergeObjectAsync(status, pairs);\n        }\n        else {\n            return parseUtil_1.ParseStatus.mergeObjectSync(status, pairs);\n        }\n    }\n    get element() {\n        return this._def.valueType;\n    }\n    static create(first, second, third) {\n        if (second instanceof ZodType) {\n            return new ZodRecord({\n                keyType: first,\n                valueType: second,\n                typeName: ZodFirstPartyTypeKind.ZodRecord,\n                ...processCreateParams(third),\n            });\n        }\n        return new ZodRecord({\n            keyType: ZodString.create(),\n            valueType: first,\n            typeName: ZodFirstPartyTypeKind.ZodRecord,\n            ...processCreateParams(second),\n        });\n    }\n}\nexports.ZodRecord = ZodRecord;\nclass ZodMap extends ZodType {\n    _parse(input) {\n        const { status, ctx } = this._processInputParams(input);\n        if (ctx.parsedType !== util_1.ZodParsedType.map) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.map,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        const keyType = this._def.keyType;\n        const valueType = this._def.valueType;\n        const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n            return {\n                key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n                value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n            };\n        });\n        if (ctx.common.async) {\n            const finalMap = new Map();\n            return Promise.resolve().then(async () => {\n                for (const pair of pairs) {\n                    const key = await pair.key;\n                    const value = await pair.value;\n                    if (key.status === \"aborted\" || value.status === \"aborted\") {\n                        return parseUtil_1.INVALID;\n                    }\n                    if (key.status === \"dirty\" || value.status === \"dirty\") {\n                        status.dirty();\n                    }\n                    finalMap.set(key.value, value.value);\n                }\n                return { status: status.value, value: finalMap };\n            });\n        }\n        else {\n            const finalMap = new Map();\n            for (const pair of pairs) {\n                const key = pair.key;\n                const value = pair.value;\n                if (key.status === \"aborted\" || value.status === \"aborted\") {\n                    return parseUtil_1.INVALID;\n                }\n                if (key.status === \"dirty\" || value.status === \"dirty\") {\n                    status.dirty();\n                }\n                finalMap.set(key.value, value.value);\n            }\n            return { status: status.value, value: finalMap };\n        }\n    }\n}\nexports.ZodMap = ZodMap;\nZodMap.create = (keyType, valueType, params) => {\n    return new ZodMap({\n        valueType,\n        keyType,\n        typeName: ZodFirstPartyTypeKind.ZodMap,\n        ...processCreateParams(params),\n    });\n};\nclass ZodSet extends ZodType {\n    _parse(input) {\n        const { status, ctx } = this._processInputParams(input);\n        if (ctx.parsedType !== util_1.ZodParsedType.set) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.set,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        const def = this._def;\n        if (def.minSize !== null) {\n            if (ctx.data.size < def.minSize.value) {\n                (0, parseUtil_1.addIssueToContext)(ctx, {\n                    code: ZodError_1.ZodIssueCode.too_small,\n                    minimum: def.minSize.value,\n                    type: \"set\",\n                    inclusive: true,\n                    exact: false,\n                    message: def.minSize.message,\n                });\n                status.dirty();\n            }\n        }\n        if (def.maxSize !== null) {\n            if (ctx.data.size > def.maxSize.value) {\n                (0, parseUtil_1.addIssueToContext)(ctx, {\n                    code: ZodError_1.ZodIssueCode.too_big,\n                    maximum: def.maxSize.value,\n                    type: \"set\",\n                    inclusive: true,\n                    exact: false,\n                    message: def.maxSize.message,\n                });\n                status.dirty();\n            }\n        }\n        const valueType = this._def.valueType;\n        function finalizeSet(elements) {\n            const parsedSet = new Set();\n            for (const element of elements) {\n                if (element.status === \"aborted\")\n                    return parseUtil_1.INVALID;\n                if (element.status === \"dirty\")\n                    status.dirty();\n                parsedSet.add(element.value);\n            }\n            return { status: status.value, value: parsedSet };\n        }\n        const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n        if (ctx.common.async) {\n            return Promise.all(elements).then((elements) => finalizeSet(elements));\n        }\n        else {\n            return finalizeSet(elements);\n        }\n    }\n    min(minSize, message) {\n        return new ZodSet({\n            ...this._def,\n            minSize: { value: minSize, message: errorUtil_1.errorUtil.toString(message) },\n        });\n    }\n    max(maxSize, message) {\n        return new ZodSet({\n            ...this._def,\n            maxSize: { value: maxSize, message: errorUtil_1.errorUtil.toString(message) },\n        });\n    }\n    size(size, message) {\n        return this.min(size, message).max(size, message);\n    }\n    nonempty(message) {\n        return this.min(1, message);\n    }\n}\nexports.ZodSet = ZodSet;\nZodSet.create = (valueType, params) => {\n    return new ZodSet({\n        valueType,\n        minSize: null,\n        maxSize: null,\n        typeName: ZodFirstPartyTypeKind.ZodSet,\n        ...processCreateParams(params),\n    });\n};\nclass ZodFunction extends ZodType {\n    constructor() {\n        super(...arguments);\n        this.validate = this.implement;\n    }\n    _parse(input) {\n        const { ctx } = this._processInputParams(input);\n        if (ctx.parsedType !== util_1.ZodParsedType.function) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.function,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        function makeArgsIssue(args, error) {\n            return (0, parseUtil_1.makeIssue)({\n                data: args,\n                path: ctx.path,\n                errorMaps: [\n                    ctx.common.contextualErrorMap,\n                    ctx.schemaErrorMap,\n                    (0, errors_1.getErrorMap)(),\n                    errors_1.defaultErrorMap,\n                ].filter((x) => !!x),\n                issueData: {\n                    code: ZodError_1.ZodIssueCode.invalid_arguments,\n                    argumentsError: error,\n                },\n            });\n        }\n        function makeReturnsIssue(returns, error) {\n            return (0, parseUtil_1.makeIssue)({\n                data: returns,\n                path: ctx.path,\n                errorMaps: [\n                    ctx.common.contextualErrorMap,\n                    ctx.schemaErrorMap,\n                    (0, errors_1.getErrorMap)(),\n                    errors_1.defaultErrorMap,\n                ].filter((x) => !!x),\n                issueData: {\n                    code: ZodError_1.ZodIssueCode.invalid_return_type,\n                    returnTypeError: error,\n                },\n            });\n        }\n        const params = { errorMap: ctx.common.contextualErrorMap };\n        const fn = ctx.data;\n        if (this._def.returns instanceof ZodPromise) {\n            return (0, parseUtil_1.OK)(async (...args) => {\n                const error = new ZodError_1.ZodError([]);\n                const parsedArgs = await this._def.args\n                    .parseAsync(args, params)\n                    .catch((e) => {\n                    error.addIssue(makeArgsIssue(args, e));\n                    throw error;\n                });\n                const result = await fn(...parsedArgs);\n                const parsedReturns = await this._def.returns._def.type\n                    .parseAsync(result, params)\n                    .catch((e) => {\n                    error.addIssue(makeReturnsIssue(result, e));\n                    throw error;\n                });\n                return parsedReturns;\n            });\n        }\n        else {\n            return (0, parseUtil_1.OK)((...args) => {\n                const parsedArgs = this._def.args.safeParse(args, params);\n                if (!parsedArgs.success) {\n                    throw new ZodError_1.ZodError([makeArgsIssue(args, parsedArgs.error)]);\n                }\n                const result = fn(...parsedArgs.data);\n                const parsedReturns = this._def.returns.safeParse(result, params);\n                if (!parsedReturns.success) {\n                    throw new ZodError_1.ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n                }\n                return parsedReturns.data;\n            });\n        }\n    }\n    parameters() {\n        return this._def.args;\n    }\n    returnType() {\n        return this._def.returns;\n    }\n    args(...items) {\n        return new ZodFunction({\n            ...this._def,\n            args: ZodTuple.create(items).rest(ZodUnknown.create()),\n        });\n    }\n    returns(returnType) {\n        return new ZodFunction({\n            ...this._def,\n            returns: returnType,\n        });\n    }\n    implement(func) {\n        const validatedFunc = this.parse(func);\n        return validatedFunc;\n    }\n    strictImplement(func) {\n        const validatedFunc = this.parse(func);\n        return validatedFunc;\n    }\n    static create(args, returns, params) {\n        return new ZodFunction({\n            args: (args\n                ? args\n                : ZodTuple.create([]).rest(ZodUnknown.create())),\n            returns: returns || ZodUnknown.create(),\n            typeName: ZodFirstPartyTypeKind.ZodFunction,\n            ...processCreateParams(params),\n        });\n    }\n}\nexports.ZodFunction = ZodFunction;\nclass ZodLazy extends ZodType {\n    get schema() {\n        return this._def.getter();\n    }\n    _parse(input) {\n        const { ctx } = this._processInputParams(input);\n        const lazySchema = this._def.getter();\n        return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n    }\n}\nexports.ZodLazy = ZodLazy;\nZodLazy.create = (getter, params) => {\n    return new ZodLazy({\n        getter: getter,\n        typeName: ZodFirstPartyTypeKind.ZodLazy,\n        ...processCreateParams(params),\n    });\n};\nclass ZodLiteral extends ZodType {\n    _parse(input) {\n        if (input.data !== this._def.value) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                received: ctx.data,\n                code: ZodError_1.ZodIssueCode.invalid_literal,\n                expected: this._def.value,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return { status: \"valid\", value: input.data };\n    }\n    get value() {\n        return this._def.value;\n    }\n}\nexports.ZodLiteral = ZodLiteral;\nZodLiteral.create = (value, params) => {\n    return new ZodLiteral({\n        value: value,\n        typeName: ZodFirstPartyTypeKind.ZodLiteral,\n        ...processCreateParams(params),\n    });\n};\nfunction createZodEnum(values, params) {\n    return new ZodEnum({\n        values: values,\n        typeName: ZodFirstPartyTypeKind.ZodEnum,\n        ...processCreateParams(params),\n    });\n}\nclass ZodEnum extends ZodType {\n    _parse(input) {\n        if (typeof input.data !== \"string\") {\n            const ctx = this._getOrReturnCtx(input);\n            const expectedValues = this._def.values;\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                expected: util_1.util.joinValues(expectedValues),\n                received: ctx.parsedType,\n                code: ZodError_1.ZodIssueCode.invalid_type,\n            });\n            return parseUtil_1.INVALID;\n        }\n        if (this._def.values.indexOf(input.data) === -1) {\n            const ctx = this._getOrReturnCtx(input);\n            const expectedValues = this._def.values;\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                received: ctx.data,\n                code: ZodError_1.ZodIssueCode.invalid_enum_value,\n                options: expectedValues,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return (0, parseUtil_1.OK)(input.data);\n    }\n    get options() {\n        return this._def.values;\n    }\n    get enum() {\n        const enumValues = {};\n        for (const val of this._def.values) {\n            enumValues[val] = val;\n        }\n        return enumValues;\n    }\n    get Values() {\n        const enumValues = {};\n        for (const val of this._def.values) {\n            enumValues[val] = val;\n        }\n        return enumValues;\n    }\n    get Enum() {\n        const enumValues = {};\n        for (const val of this._def.values) {\n            enumValues[val] = val;\n        }\n        return enumValues;\n    }\n    extract(values) {\n        return ZodEnum.create(values);\n    }\n    exclude(values) {\n        return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)));\n    }\n}\nexports.ZodEnum = ZodEnum;\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n    _parse(input) {\n        const nativeEnumValues = util_1.util.getValidEnumValues(this._def.values);\n        const ctx = this._getOrReturnCtx(input);\n        if (ctx.parsedType !== util_1.ZodParsedType.string &&\n            ctx.parsedType !== util_1.ZodParsedType.number) {\n            const expectedValues = util_1.util.objectValues(nativeEnumValues);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                expected: util_1.util.joinValues(expectedValues),\n                received: ctx.parsedType,\n                code: ZodError_1.ZodIssueCode.invalid_type,\n            });\n            return parseUtil_1.INVALID;\n        }\n        if (nativeEnumValues.indexOf(input.data) === -1) {\n            const expectedValues = util_1.util.objectValues(nativeEnumValues);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                received: ctx.data,\n                code: ZodError_1.ZodIssueCode.invalid_enum_value,\n                options: expectedValues,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return (0, parseUtil_1.OK)(input.data);\n    }\n    get enum() {\n        return this._def.values;\n    }\n}\nexports.ZodNativeEnum = ZodNativeEnum;\nZodNativeEnum.create = (values, params) => {\n    return new ZodNativeEnum({\n        values: values,\n        typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n        ...processCreateParams(params),\n    });\n};\nclass ZodPromise extends ZodType {\n    unwrap() {\n        return this._def.type;\n    }\n    _parse(input) {\n        const { ctx } = this._processInputParams(input);\n        if (ctx.parsedType !== util_1.ZodParsedType.promise &&\n            ctx.common.async === false) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.promise,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        const promisified = ctx.parsedType === util_1.ZodParsedType.promise\n            ? ctx.data\n            : Promise.resolve(ctx.data);\n        return (0, parseUtil_1.OK)(promisified.then((data) => {\n            return this._def.type.parseAsync(data, {\n                path: ctx.path,\n                errorMap: ctx.common.contextualErrorMap,\n            });\n        }));\n    }\n}\nexports.ZodPromise = ZodPromise;\nZodPromise.create = (schema, params) => {\n    return new ZodPromise({\n        type: schema,\n        typeName: ZodFirstPartyTypeKind.ZodPromise,\n        ...processCreateParams(params),\n    });\n};\nclass ZodEffects extends ZodType {\n    innerType() {\n        return this._def.schema;\n    }\n    sourceType() {\n        return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n            ? this._def.schema.sourceType()\n            : this._def.schema;\n    }\n    _parse(input) {\n        const { status, ctx } = this._processInputParams(input);\n        const effect = this._def.effect || null;\n        if (effect.type === \"preprocess\") {\n            const processed = effect.transform(ctx.data);\n            if (ctx.common.async) {\n                return Promise.resolve(processed).then((processed) => {\n                    return this._def.schema._parseAsync({\n                        data: processed,\n                        path: ctx.path,\n                        parent: ctx,\n                    });\n                });\n            }\n            else {\n                return this._def.schema._parseSync({\n                    data: processed,\n                    path: ctx.path,\n                    parent: ctx,\n                });\n            }\n        }\n        const checkCtx = {\n            addIssue: (arg) => {\n                (0, parseUtil_1.addIssueToContext)(ctx, arg);\n                if (arg.fatal) {\n                    status.abort();\n                }\n                else {\n                    status.dirty();\n                }\n            },\n            get path() {\n                return ctx.path;\n            },\n        };\n        checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n        if (effect.type === \"refinement\") {\n            const executeRefinement = (acc) => {\n                const result = effect.refinement(acc, checkCtx);\n                if (ctx.common.async) {\n                    return Promise.resolve(result);\n                }\n                if (result instanceof Promise) {\n                    throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n                }\n                return acc;\n            };\n            if (ctx.common.async === false) {\n                const inner = this._def.schema._parseSync({\n                    data: ctx.data,\n                    path: ctx.path,\n                    parent: ctx,\n                });\n                if (inner.status === \"aborted\")\n                    return parseUtil_1.INVALID;\n                if (inner.status === \"dirty\")\n                    status.dirty();\n                executeRefinement(inner.value);\n                return { status: status.value, value: inner.value };\n            }\n            else {\n                return this._def.schema\n                    ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n                    .then((inner) => {\n                    if (inner.status === \"aborted\")\n                        return parseUtil_1.INVALID;\n                    if (inner.status === \"dirty\")\n                        status.dirty();\n                    return executeRefinement(inner.value).then(() => {\n                        return { status: status.value, value: inner.value };\n                    });\n                });\n            }\n        }\n        if (effect.type === \"transform\") {\n            if (ctx.common.async === false) {\n                const base = this._def.schema._parseSync({\n                    data: ctx.data,\n                    path: ctx.path,\n                    parent: ctx,\n                });\n                if (!(0, parseUtil_1.isValid)(base))\n                    return base;\n                const result = effect.transform(base.value, checkCtx);\n                if (result instanceof Promise) {\n                    throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n                }\n                return { status: status.value, value: result };\n            }\n            else {\n                return this._def.schema\n                    ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n                    .then((base) => {\n                    if (!(0, parseUtil_1.isValid)(base))\n                        return base;\n                    return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));\n                });\n            }\n        }\n        util_1.util.assertNever(effect);\n    }\n}\nexports.ZodEffects = ZodEffects;\nexports.ZodTransformer = ZodEffects;\nZodEffects.create = (schema, effect, params) => {\n    return new ZodEffects({\n        schema,\n        typeName: ZodFirstPartyTypeKind.ZodEffects,\n        effect,\n        ...processCreateParams(params),\n    });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n    return new ZodEffects({\n        schema,\n        effect: { type: \"preprocess\", transform: preprocess },\n        typeName: ZodFirstPartyTypeKind.ZodEffects,\n        ...processCreateParams(params),\n    });\n};\nclass ZodOptional extends ZodType {\n    _parse(input) {\n        const parsedType = this._getType(input);\n        if (parsedType === util_1.ZodParsedType.undefined) {\n            return (0, parseUtil_1.OK)(undefined);\n        }\n        return this._def.innerType._parse(input);\n    }\n    unwrap() {\n        return this._def.innerType;\n    }\n}\nexports.ZodOptional = ZodOptional;\nZodOptional.create = (type, params) => {\n    return new ZodOptional({\n        innerType: type,\n        typeName: ZodFirstPartyTypeKind.ZodOptional,\n        ...processCreateParams(params),\n    });\n};\nclass ZodNullable extends ZodType {\n    _parse(input) {\n        const parsedType = this._getType(input);\n        if (parsedType === util_1.ZodParsedType.null) {\n            return (0, parseUtil_1.OK)(null);\n        }\n        return this._def.innerType._parse(input);\n    }\n    unwrap() {\n        return this._def.innerType;\n    }\n}\nexports.ZodNullable = ZodNullable;\nZodNullable.create = (type, params) => {\n    return new ZodNullable({\n        innerType: type,\n        typeName: ZodFirstPartyTypeKind.ZodNullable,\n        ...processCreateParams(params),\n    });\n};\nclass ZodDefault extends ZodType {\n    _parse(input) {\n        const { ctx } = this._processInputParams(input);\n        let data = ctx.data;\n        if (ctx.parsedType === util_1.ZodParsedType.undefined) {\n            data = this._def.defaultValue();\n        }\n        return this._def.innerType._parse({\n            data,\n            path: ctx.path,\n            parent: ctx,\n        });\n    }\n    removeDefault() {\n        return this._def.innerType;\n    }\n}\nexports.ZodDefault = ZodDefault;\nZodDefault.create = (type, params) => {\n    return new ZodDefault({\n        innerType: type,\n        typeName: ZodFirstPartyTypeKind.ZodDefault,\n        defaultValue: typeof params.default === \"function\"\n            ? params.default\n            : () => params.default,\n        ...processCreateParams(params),\n    });\n};\nclass ZodCatch extends ZodType {\n    _parse(input) {\n        const { ctx } = this._processInputParams(input);\n        const newCtx = {\n            ...ctx,\n            common: {\n                ...ctx.common,\n                issues: [],\n            },\n        };\n        const result = this._def.innerType._parse({\n            data: newCtx.data,\n            path: newCtx.path,\n            parent: {\n                ...newCtx,\n            },\n        });\n        if ((0, parseUtil_1.isAsync)(result)) {\n            return result.then((result) => {\n                return {\n                    status: \"valid\",\n                    value: result.status === \"valid\"\n                        ? result.value\n                        : this._def.catchValue({\n                            get error() {\n                                return new ZodError_1.ZodError(newCtx.common.issues);\n                            },\n                            input: newCtx.data,\n                        }),\n                };\n            });\n        }\n        else {\n            return {\n                status: \"valid\",\n                value: result.status === \"valid\"\n                    ? result.value\n                    : this._def.catchValue({\n                        get error() {\n                            return new ZodError_1.ZodError(newCtx.common.issues);\n                        },\n                        input: newCtx.data,\n                    }),\n            };\n        }\n    }\n    removeCatch() {\n        return this._def.innerType;\n    }\n}\nexports.ZodCatch = ZodCatch;\nZodCatch.create = (type, params) => {\n    return new ZodCatch({\n        innerType: type,\n        typeName: ZodFirstPartyTypeKind.ZodCatch,\n        catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n        ...processCreateParams(params),\n    });\n};\nclass ZodNaN extends ZodType {\n    _parse(input) {\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.nan) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.nan,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return { status: \"valid\", value: input.data };\n    }\n}\nexports.ZodNaN = ZodNaN;\nZodNaN.create = (params) => {\n    return new ZodNaN({\n        typeName: ZodFirstPartyTypeKind.ZodNaN,\n        ...processCreateParams(params),\n    });\n};\nexports.BRAND = Symbol(\"zod_brand\");\nclass ZodBranded extends ZodType {\n    _parse(input) {\n        const { ctx } = this._processInputParams(input);\n        const data = ctx.data;\n        return this._def.type._parse({\n            data,\n            path: ctx.path,\n            parent: ctx,\n        });\n    }\n    unwrap() {\n        return this._def.type;\n    }\n}\nexports.ZodBranded = ZodBranded;\nclass ZodPipeline extends ZodType {\n    _parse(input) {\n        const { status, ctx } = this._processInputParams(input);\n        if (ctx.common.async) {\n            const handleAsync = async () => {\n                const inResult = await this._def.in._parseAsync({\n                    data: ctx.data,\n                    path: ctx.path,\n                    parent: ctx,\n                });\n                if (inResult.status === \"aborted\")\n                    return parseUtil_1.INVALID;\n                if (inResult.status === \"dirty\") {\n                    status.dirty();\n                    return (0, parseUtil_1.DIRTY)(inResult.value);\n                }\n                else {\n                    return this._def.out._parseAsync({\n                        data: inResult.value,\n                        path: ctx.path,\n                        parent: ctx,\n                    });\n                }\n            };\n            return handleAsync();\n        }\n        else {\n            const inResult = this._def.in._parseSync({\n                data: ctx.data,\n                path: ctx.path,\n                parent: ctx,\n            });\n            if (inResult.status === \"aborted\")\n                return parseUtil_1.INVALID;\n            if (inResult.status === \"dirty\") {\n                status.dirty();\n                return {\n                    status: \"dirty\",\n                    value: inResult.value,\n                };\n            }\n            else {\n                return this._def.out._parseSync({\n                    data: inResult.value,\n                    path: ctx.path,\n                    parent: ctx,\n                });\n            }\n        }\n    }\n    static create(a, b) {\n        return new ZodPipeline({\n            in: a,\n            out: b,\n            typeName: ZodFirstPartyTypeKind.ZodPipeline,\n        });\n    }\n}\nexports.ZodPipeline = ZodPipeline;\nconst custom = (check, params = {}, fatal) => {\n    if (check)\n        return ZodAny.create().superRefine((data, ctx) => {\n            var _a, _b;\n            if (!check(data)) {\n                const p = typeof params === \"function\"\n                    ? params(data)\n                    : typeof params === \"string\"\n                        ? { message: params }\n                        : params;\n                const _fatal = (_b = (_a = p.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;\n                const p2 = typeof p === \"string\" ? { message: p } : p;\n                ctx.addIssue({ code: \"custom\", ...p2, fatal: _fatal });\n            }\n        });\n    return ZodAny.create();\n};\nexports.custom = custom;\nexports.late = {\n    object: ZodObject.lazycreate,\n};\nvar ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n    ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n    ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n    ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n    ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n    ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n    ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n    ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n    ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n    ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n    ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n    ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n    ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n    ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n    ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n    ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n    ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n    ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n    ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n    ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n    ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n    ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n    ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n    ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n    ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n    ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n    ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n    ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n    ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n    ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n    ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n    ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n    ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n    ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n    ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n    ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n})(ZodFirstPartyTypeKind = exports.ZodFirstPartyTypeKind || (exports.ZodFirstPartyTypeKind = {}));\nclass Class {\n    constructor(..._) { }\n}\nconst instanceOfType = (cls, params = {\n    message: `Input not instance of ${cls.name}`,\n}) => (0, exports.custom)((data) => data instanceof cls, params);\nexports.instanceof = instanceOfType;\nconst stringType = ZodString.create;\nexports.string = stringType;\nconst numberType = ZodNumber.create;\nexports.number = numberType;\nconst nanType = ZodNaN.create;\nexports.nan = nanType;\nconst bigIntType = ZodBigInt.create;\nexports.bigint = bigIntType;\nconst booleanType = ZodBoolean.create;\nexports.boolean = booleanType;\nconst dateType = ZodDate.create;\nexports.date = dateType;\nconst symbolType = ZodSymbol.create;\nexports.symbol = symbolType;\nconst undefinedType = ZodUndefined.create;\nexports.undefined = undefinedType;\nconst nullType = ZodNull.create;\nexports.null = nullType;\nconst anyType = ZodAny.create;\nexports.any = anyType;\nconst unknownType = ZodUnknown.create;\nexports.unknown = unknownType;\nconst neverType = ZodNever.create;\nexports.never = neverType;\nconst voidType = ZodVoid.create;\nexports.void = voidType;\nconst arrayType = ZodArray.create;\nexports.array = arrayType;\nconst objectType = ZodObject.create;\nexports.object = objectType;\nconst strictObjectType = ZodObject.strictCreate;\nexports.strictObject = strictObjectType;\nconst unionType = ZodUnion.create;\nexports.union = unionType;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nexports.discriminatedUnion = discriminatedUnionType;\nconst intersectionType = ZodIntersection.create;\nexports.intersection = intersectionType;\nconst tupleType = ZodTuple.create;\nexports.tuple = tupleType;\nconst recordType = ZodRecord.create;\nexports.record = recordType;\nconst mapType = ZodMap.create;\nexports.map = mapType;\nconst setType = ZodSet.create;\nexports.set = setType;\nconst functionType = ZodFunction.create;\nexports.function = functionType;\nconst lazyType = ZodLazy.create;\nexports.lazy = lazyType;\nconst literalType = ZodLiteral.create;\nexports.literal = literalType;\nconst enumType = ZodEnum.create;\nexports.enum = enumType;\nconst nativeEnumType = ZodNativeEnum.create;\nexports.nativeEnum = nativeEnumType;\nconst promiseType = ZodPromise.create;\nexports.promise = promiseType;\nconst effectsType = ZodEffects.create;\nexports.effect = effectsType;\nexports.transformer = effectsType;\nconst optionalType = ZodOptional.create;\nexports.optional = optionalType;\nconst nullableType = ZodNullable.create;\nexports.nullable = nullableType;\nconst preprocessType = ZodEffects.createWithPreprocess;\nexports.preprocess = preprocessType;\nconst pipelineType = ZodPipeline.create;\nexports.pipeline = pipelineType;\nconst ostring = () => stringType().optional();\nexports.ostring = ostring;\nconst onumber = () => numberType().optional();\nexports.onumber = onumber;\nconst oboolean = () => booleanType().optional();\nexports.oboolean = oboolean;\nexports.coerce = {\n    string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n    number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n    boolean: ((arg) => ZodBoolean.create({\n        ...arg,\n        coerce: true,\n    })),\n    bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n    date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nexports.NEVER = parseUtil_1.INVALID;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./errors\"), exports);\n__exportStar(require(\"./helpers/parseUtil\"), exports);\n__exportStar(require(\"./helpers/typeAliases\"), exports);\n__exportStar(require(\"./helpers/util\"), exports);\n__exportStar(require(\"./types\"), exports);\n__exportStar(require(\"./ZodError\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.z = void 0;\nconst z = __importStar(require(\"./external\"));\nexports.z = z;\n__exportStar(require(\"./external\"), exports);\nexports.default = z;\n","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Input = exports.Network = exports.Log = exports.BrowsingContext = exports.Script = exports.Message = void 0;\n// keep-sorted end\nvar Message;\n(function (Message) {\n    // keep-sorted end\n    let ErrorCode;\n    (function (ErrorCode) {\n        // keep-sorted start\n        ErrorCode[\"InvalidArgument\"] = \"invalid argument\";\n        ErrorCode[\"InvalidSessionId\"] = \"invalid session id\";\n        ErrorCode[\"MoveTargetOutOfBounds\"] = \"move target out of bounds\";\n        ErrorCode[\"NoSuchAlert\"] = \"no such alert\";\n        ErrorCode[\"NoSuchElement\"] = \"no such element\";\n        ErrorCode[\"NoSuchFrame\"] = \"no such frame\";\n        ErrorCode[\"NoSuchHandle\"] = \"no such handle\";\n        ErrorCode[\"NoSuchNode\"] = \"no such node\";\n        ErrorCode[\"NoSuchScript\"] = \"no such script\";\n        ErrorCode[\"SessionNotCreated\"] = \"session not created\";\n        ErrorCode[\"UnknownCommand\"] = \"unknown command\";\n        ErrorCode[\"UnknownError\"] = \"unknown error\";\n        ErrorCode[\"UnsupportedOperation\"] = \"unsupported operation\";\n        // keep-sorted end\n    })(ErrorCode = Message.ErrorCode || (Message.ErrorCode = {}));\n    class ErrorResponse {\n        error;\n        message;\n        stacktrace;\n        constructor(error, message, stacktrace) {\n            this.error = error;\n            this.message = message;\n            this.stacktrace = stacktrace;\n        }\n        toErrorResponse(commandId) {\n            return {\n                id: commandId,\n                error: this.error,\n                message: this.message,\n                stacktrace: this.stacktrace,\n            };\n        }\n    }\n    Message.ErrorResponse = ErrorResponse;\n    class InvalidArgumentException extends ErrorResponse {\n        constructor(message, stacktrace) {\n            super(ErrorCode.InvalidArgument, message, stacktrace);\n        }\n    }\n    Message.InvalidArgumentException = InvalidArgumentException;\n    class MoveTargetOutOfBoundsException extends ErrorResponse {\n        constructor(message, stacktrace) {\n            super(ErrorCode.MoveTargetOutOfBounds, message, stacktrace);\n        }\n    }\n    Message.MoveTargetOutOfBoundsException = MoveTargetOutOfBoundsException;\n    class NoSuchHandleException extends ErrorResponse {\n        constructor(message, stacktrace) {\n            super(ErrorCode.NoSuchHandle, message, stacktrace);\n        }\n    }\n    Message.NoSuchHandleException = NoSuchHandleException;\n    class InvalidSessionIdException extends ErrorResponse {\n        constructor(message, stacktrace) {\n            super(ErrorCode.InvalidSessionId, message, stacktrace);\n        }\n    }\n    Message.InvalidSessionIdException = InvalidSessionIdException;\n    class NoSuchAlertException extends ErrorResponse {\n        constructor(message, stacktrace) {\n            super(ErrorCode.NoSuchAlert, message, stacktrace);\n        }\n    }\n    Message.NoSuchAlertException = NoSuchAlertException;\n    class NoSuchFrameException extends ErrorResponse {\n        constructor(message) {\n            super(ErrorCode.NoSuchFrame, message);\n        }\n    }\n    Message.NoSuchFrameException = NoSuchFrameException;\n    class NoSuchNodeException extends ErrorResponse {\n        constructor(message, stacktrace) {\n            super(ErrorCode.NoSuchNode, message, stacktrace);\n        }\n    }\n    Message.NoSuchNodeException = NoSuchNodeException;\n    class NoSuchElementException extends ErrorResponse {\n        constructor(message, stacktrace) {\n            super(ErrorCode.NoSuchElement, message, stacktrace);\n        }\n    }\n    Message.NoSuchElementException = NoSuchElementException;\n    class NoSuchScriptException extends ErrorResponse {\n        constructor(message, stacktrace) {\n            super(ErrorCode.NoSuchScript, message, stacktrace);\n        }\n    }\n    Message.NoSuchScriptException = NoSuchScriptException;\n    class SessionNotCreatedException extends ErrorResponse {\n        constructor(message, stacktrace) {\n            super(ErrorCode.SessionNotCreated, message, stacktrace);\n        }\n    }\n    Message.SessionNotCreatedException = SessionNotCreatedException;\n    class UnknownCommandException extends ErrorResponse {\n        constructor(message, stacktrace) {\n            super(ErrorCode.UnknownCommand, message, stacktrace);\n        }\n    }\n    Message.UnknownCommandException = UnknownCommandException;\n    class UnknownErrorException extends ErrorResponse {\n        constructor(message, stacktrace) {\n            super(ErrorCode.UnknownError, message, stacktrace);\n        }\n    }\n    Message.UnknownErrorException = UnknownErrorException;\n    class UnsupportedOperationException extends ErrorResponse {\n        constructor(message, stacktrace) {\n            super(ErrorCode.UnsupportedOperation, message, stacktrace);\n        }\n    }\n    Message.UnsupportedOperationException = UnsupportedOperationException;\n})(Message = exports.Message || (exports.Message = {}));\n/** @see https://w3c.github.io/webdriver-bidi/#module-script */\nvar Script;\n(function (Script) {\n    let EventNames;\n    (function (EventNames) {\n        // keep-sorted start\n        EventNames[\"MessageEvent\"] = \"script.message\";\n        EventNames[\"RealmCreated\"] = \"script.realmCreated\";\n        EventNames[\"RealmDestroyed\"] = \"script.realmDestroyed\";\n        // keep-sorted end\n    })(EventNames = Script.EventNames || (Script.EventNames = {}));\n    Script.AllEvents = 'script';\n})(Script = exports.Script || (exports.Script = {}));\n// https://w3c.github.io/webdriver-bidi/#module-browsingContext\nvar BrowsingContext;\n(function (BrowsingContext) {\n    let EventNames;\n    (function (EventNames) {\n        // keep-sorted start\n        EventNames[\"ContextCreatedEvent\"] = \"browsingContext.contextCreated\";\n        EventNames[\"ContextDestroyedEvent\"] = \"browsingContext.contextDestroyed\";\n        EventNames[\"DomContentLoadedEvent\"] = \"browsingContext.domContentLoaded\";\n        EventNames[\"FragmentNavigated\"] = \"browsingContext.fragmentNavigated\";\n        EventNames[\"LoadEvent\"] = \"browsingContext.load\";\n        EventNames[\"NavigationStarted\"] = \"browsingContext.navigationStarted\";\n        // keep-sorted end\n    })(EventNames = BrowsingContext.EventNames || (BrowsingContext.EventNames = {}));\n    BrowsingContext.AllEvents = 'browsingContext';\n})(BrowsingContext = exports.BrowsingContext || (exports.BrowsingContext = {}));\n/** @see https://w3c.github.io/webdriver-bidi/#module-log */\nvar Log;\n(function (Log) {\n    Log.AllEvents = 'log';\n    let EventNames;\n    (function (EventNames) {\n        EventNames[\"LogEntryAddedEvent\"] = \"log.entryAdded\";\n    })(EventNames = Log.EventNames || (Log.EventNames = {}));\n})(Log = exports.Log || (exports.Log = {}));\nvar Network;\n(function (Network) {\n    Network.AllEvents = 'network';\n    let EventNames;\n    (function (EventNames) {\n        EventNames[\"BeforeRequestSentEvent\"] = \"network.beforeRequestSent\";\n        EventNames[\"FetchErrorEvent\"] = \"network.fetchError\";\n        EventNames[\"ResponseStartedEvent\"] = \"network.responseStarted\";\n        EventNames[\"ResponseCompletedEvent\"] = \"network.responseCompleted\";\n    })(EventNames = Network.EventNames || (Network.EventNames = {}));\n})(Network = exports.Network || (exports.Network = {}));\n/** @see https://w3c.github.io/webdriver-bidi/#module-input */\nvar Input;\n(function (Input) {\n    let SourceActionsType;\n    (function (SourceActionsType) {\n        SourceActionsType[\"None\"] = \"none\";\n        SourceActionsType[\"Key\"] = \"key\";\n        SourceActionsType[\"Pointer\"] = \"pointer\";\n        SourceActionsType[\"Wheel\"] = \"wheel\";\n    })(SourceActionsType = Input.SourceActionsType || (Input.SourceActionsType = {}));\n    let PointerType;\n    (function (PointerType) {\n        PointerType[\"Mouse\"] = \"mouse\";\n        PointerType[\"Pen\"] = \"pen\";\n        PointerType[\"Touch\"] = \"touch\";\n    })(PointerType = Input.PointerType || (Input.PointerType = {}));\n    let ActionType;\n    (function (ActionType) {\n        ActionType[\"Pause\"] = \"pause\";\n        ActionType[\"KeyDown\"] = \"keyDown\";\n        ActionType[\"KeyUp\"] = \"keyUp\";\n        ActionType[\"PointerUp\"] = \"pointerUp\";\n        ActionType[\"PointerDown\"] = \"pointerDown\";\n        ActionType[\"PointerMove\"] = \"pointerMove\";\n        ActionType[\"Scroll\"] = \"scroll\";\n    })(ActionType = Input.ActionType || (Input.ActionType = {}));\n})(Input = exports.Input || (exports.Input = {}));\n//# sourceMappingURL=protocol.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Input = exports.Session = exports.Cdp = exports.BrowsingContext = exports.Script = exports.CommonDataTypes = exports.parseObject = void 0;\n/**\n * @fileoverview Provides parsing and validator for WebDriver BiDi protocol.\n * Parser types should match the `../protocol` types.\n */\nconst zod_1 = require(\"zod\");\nconst protocol_js_1 = require(\"../protocol/protocol.js\");\nconst MAX_INT = 9007199254740991;\nfunction parseObject(obj, schema) {\n    const parseResult = schema.safeParse(obj);\n    if (parseResult.success) {\n        return parseResult.data;\n    }\n    const errorMessage = parseResult.error.errors\n        .map((e) => `${e.message} in ` +\n        `${e.path.map((p) => JSON.stringify(p)).join('/')}.`)\n        .join(' ');\n    throw new protocol_js_1.Message.InvalidArgumentException(errorMessage);\n}\nexports.parseObject = parseObject;\nconst UnicodeCharacterSchema = zod_1.z.string().refine((value) => {\n    // The spread is a little hack so JS gives us an array of unicode characters\n    // to measure.\n    return [...value].length === 1;\n});\nvar CommonDataTypes;\n(function (CommonDataTypes) {\n    CommonDataTypes.SharedReferenceSchema = zod_1.z.object({\n        sharedId: zod_1.z.string().min(1),\n        handle: zod_1.z.string().optional(),\n    });\n    CommonDataTypes.RemoteReferenceSchema = zod_1.z.object({\n        handle: zod_1.z.string().min(1),\n    });\n    // UndefinedValue = {\n    //   type: \"undefined\",\n    // }\n    const UndefinedValueSchema = zod_1.z.object({ type: zod_1.z.literal('undefined') });\n    // NullValue = {\n    //   type: \"null\",\n    // }\n    const NullValueSchema = zod_1.z.object({ type: zod_1.z.literal('null') });\n    // StringValue = {\n    //   type: \"string\",\n    //   value: text,\n    // }\n    const StringValueSchema = zod_1.z.object({\n        type: zod_1.z.literal('string'),\n        value: zod_1.z.string(),\n    });\n    // SpecialNumber = \"NaN\" / \"-0\" / \"Infinity\" / \"-Infinity\";\n    const SpecialNumberSchema = zod_1.z.enum(['NaN', '-0', 'Infinity', '-Infinity']);\n    // NumberValue = {\n    //   type: \"number\",\n    //   value: number / SpecialNumber,\n    // }\n    const NumberValueSchema = zod_1.z.object({\n        type: zod_1.z.literal('number'),\n        value: zod_1.z.union([SpecialNumberSchema, zod_1.z.number()]),\n    });\n    // BooleanValue = {\n    //   type: \"boolean\",\n    //   value: bool,\n    // }\n    const BooleanValueSchema = zod_1.z.object({\n        type: zod_1.z.literal('boolean'),\n        value: zod_1.z.boolean(),\n    });\n    // BigIntValue = {\n    //   type: \"bigint\",\n    //   value: text,\n    // }\n    const BigIntValueSchema = zod_1.z.object({\n        type: zod_1.z.literal('bigint'),\n        value: zod_1.z.string(),\n    });\n    const PrimitiveProtocolValueSchema = zod_1.z.union([\n        UndefinedValueSchema,\n        NullValueSchema,\n        StringValueSchema,\n        NumberValueSchema,\n        BooleanValueSchema,\n        BigIntValueSchema,\n    ]);\n    CommonDataTypes.LocalValueSchema = zod_1.z.lazy(() => zod_1.z.union([\n        PrimitiveProtocolValueSchema,\n        ArrayLocalValueSchema,\n        DateLocalValueSchema,\n        MapLocalValueSchema,\n        ObjectLocalValueSchema,\n        RegExpLocalValueSchema,\n        SetLocalValueSchema,\n    ]));\n    // Order is important, as `parse` is processed in the same order.\n    // `SharedReferenceSchema`->`RemoteReferenceSchema`->`LocalValueSchema`.\n    const LocalOrRemoteValueSchema = zod_1.z.union([\n        CommonDataTypes.SharedReferenceSchema,\n        CommonDataTypes.RemoteReferenceSchema,\n        CommonDataTypes.LocalValueSchema,\n    ]);\n    // ListLocalValue = [*LocalValue];\n    const ListLocalValueSchema = zod_1.z.array(LocalOrRemoteValueSchema);\n    // ArrayLocalValue = {\n    //   type: \"array\",\n    //   value: ListLocalValue,\n    // }\n    const ArrayLocalValueSchema = zod_1.z.object({\n        type: zod_1.z.literal('array'),\n        value: ListLocalValueSchema,\n    });\n    // DateLocalValue = {\n    //   type: \"date\",\n    //   value: text\n    // }\n    const DateLocalValueSchema = zod_1.z.object({\n        type: zod_1.z.literal('date'),\n        value: zod_1.z.string().min(1),\n    });\n    // MappingLocalValue = [*[(LocalValue / text), LocalValue]];\n    const MappingLocalValueSchema = zod_1.z.tuple([\n        zod_1.z.union([zod_1.z.string(), LocalOrRemoteValueSchema]),\n        LocalOrRemoteValueSchema,\n    ]);\n    // MapLocalValue = {\n    //   type: \"map\",\n    //   value: MappingLocalValue,\n    // }\n    const MapLocalValueSchema = zod_1.z.object({\n        type: zod_1.z.literal('map'),\n        value: zod_1.z.array(MappingLocalValueSchema),\n    });\n    // ObjectLocalValue = {\n    //   type: \"object\",\n    //   value: MappingLocalValue,\n    // }\n    const ObjectLocalValueSchema = zod_1.z.object({\n        type: zod_1.z.literal('object'),\n        value: zod_1.z.array(MappingLocalValueSchema),\n    });\n    // RegExpLocalValue = {\n    //   type: \"regexp\",\n    //   value: RegExpValue,\n    // }\n    const RegExpLocalValueSchema = zod_1.z.object({\n        type: zod_1.z.literal('regexp'),\n        value: zod_1.z.object({\n            pattern: zod_1.z.string(),\n            flags: zod_1.z.string().optional(),\n        }),\n    });\n    // SetLocalValue = {\n    //   type: \"set\",\n    //   value: ListLocalValue,\n    // }\n    const SetLocalValueSchema = zod_1.z.lazy(() => zod_1.z.object({\n        type: zod_1.z.literal('set'),\n        value: ListLocalValueSchema,\n    }));\n    // BrowsingContext = text;\n    CommonDataTypes.BrowsingContextSchema = zod_1.z.string();\n    CommonDataTypes.MaxDepthSchema = zod_1.z.number().int().nonnegative().max(MAX_INT);\n})(CommonDataTypes = exports.CommonDataTypes || (exports.CommonDataTypes = {}));\n/** @see https://w3c.github.io/webdriver-bidi/#module-script */\nvar Script;\n(function (Script) {\n    const RealmTypeSchema = zod_1.z.enum([\n        'window',\n        'dedicated-worker',\n        'shared-worker',\n        'service-worker',\n        'worker',\n        'paint-worklet',\n        'audio-worklet',\n        'worklet',\n    ]);\n    Script.GetRealmsParametersSchema = zod_1.z.object({\n        context: CommonDataTypes.BrowsingContextSchema.optional(),\n        type: RealmTypeSchema.optional(),\n    });\n    function parseGetRealmsParams(params) {\n        return parseObject(params, Script.GetRealmsParametersSchema);\n    }\n    Script.parseGetRealmsParams = parseGetRealmsParams;\n    // ContextTarget = {\n    //   context: BrowsingContext,\n    //   ?sandbox: text\n    // }\n    const ContextTargetSchema = zod_1.z.object({\n        context: CommonDataTypes.BrowsingContextSchema,\n        sandbox: zod_1.z.string().optional(),\n    });\n    // RealmTarget = {realm: Realm};\n    const RealmTargetSchema = zod_1.z.object({\n        realm: zod_1.z.string().min(1),\n    });\n    // Target = (\n    //   RealmTarget //\n    //   ContextTarget\n    // );\n    // Order is important, as `parse` is processed in the same order.\n    // `RealmTargetSchema` has higher priority.\n    const TargetSchema = zod_1.z.union([RealmTargetSchema, ContextTargetSchema]);\n    // ResultOwnership = \"root\" / \"none\"\n    const ResultOwnershipSchema = zod_1.z.enum(['root', 'none']);\n    // SerializationOptions = {\n    //   ?maxDomDepth: (js-uint / null) .default 0,\n    //   ?maxObjectDepth: (js-uint / null) .default null,\n    //   ?includeShadowTree: (\"none\" / \"open\" / \"all\") .default \"none\",\n    // }\n    const SerializationOptionsSchema = zod_1.z.object({\n        maxDomDepth: zod_1.z\n            .union([zod_1.z.null(), zod_1.z.number().int().nonnegative()])\n            .optional(),\n        maxObjectDepth: zod_1.z\n            .union([zod_1.z.null(), zod_1.z.number().int().nonnegative().max(MAX_INT)])\n            .optional(),\n        includeShadowTree: zod_1.z.enum(['none', 'open', 'all']).optional(),\n    });\n    // script.EvaluateParameters = {\n    //   expression: text,\n    //   target: script.Target,\n    //   awaitPromise: bool,\n    //   ?resultOwnership: script.ResultOwnership,\n    //   ?serializationOptions: script.SerializationOptions,\n    // }\n    const EvaluateParametersSchema = zod_1.z.object({\n        expression: zod_1.z.string(),\n        awaitPromise: zod_1.z.boolean(),\n        target: TargetSchema,\n        resultOwnership: ResultOwnershipSchema.optional(),\n        serializationOptions: SerializationOptionsSchema.optional(),\n    });\n    function parseEvaluateParams(params) {\n        return parseObject(params, EvaluateParametersSchema);\n    }\n    Script.parseEvaluateParams = parseEvaluateParams;\n    // DisownParameters = {\n    //   handles: [Handle]\n    //   target: script.Target;\n    // }\n    const DisownParametersSchema = zod_1.z.object({\n        target: TargetSchema,\n        handles: zod_1.z.array(zod_1.z.string()),\n    });\n    function parseDisownParams(params) {\n        return parseObject(params, DisownParametersSchema);\n    }\n    Script.parseDisownParams = parseDisownParams;\n    const ChannelSchema = zod_1.z.string();\n    const ChannelPropertiesSchema = zod_1.z.object({\n        channel: ChannelSchema,\n        serializationOptions: SerializationOptionsSchema.optional(),\n        ownership: ResultOwnershipSchema.optional(),\n    });\n    Script.ChannelValueSchema = zod_1.z.object({\n        type: zod_1.z.literal('channel'),\n        value: ChannelPropertiesSchema,\n    });\n    Script.PreloadScriptSchema = zod_1.z.string();\n    Script.AddPreloadScriptParametersSchema = zod_1.z.object({\n        functionDeclaration: zod_1.z.string(),\n        arguments: zod_1.z.array(Script.ChannelValueSchema).optional(),\n        sandbox: zod_1.z.string().optional(),\n        context: CommonDataTypes.BrowsingContextSchema.optional(),\n    });\n    function parseAddPreloadScriptParams(params) {\n        return parseObject(params, Script.AddPreloadScriptParametersSchema);\n    }\n    Script.parseAddPreloadScriptParams = parseAddPreloadScriptParams;\n    Script.RemovePreloadScriptParametersSchema = zod_1.z.object({\n        script: Script.PreloadScriptSchema,\n    });\n    function parseRemovePreloadScriptParams(params) {\n        return parseObject(params, Script.RemovePreloadScriptParametersSchema);\n    }\n    Script.parseRemovePreloadScriptParams = parseRemovePreloadScriptParams;\n    // ArgumentValue = (\n    //   RemoteReference //\n    //   LocalValue //\n    //   script.Channel\n    // );\n    const ArgumentValueSchema = zod_1.z.union([\n        CommonDataTypes.RemoteReferenceSchema,\n        CommonDataTypes.SharedReferenceSchema,\n        CommonDataTypes.LocalValueSchema,\n        Script.ChannelValueSchema,\n    ]);\n    // CallFunctionParameters = {\n    //   functionDeclaration: text,\n    //   awaitPromise: bool,\n    //   target: script.Target,\n    //   ?arguments: [*script.ArgumentValue],\n    //   ?resultOwnership: script.ResultOwnership,\n    //   ?serializationOptions: script.SerializationOptions,\n    //   ?this: script.ArgumentValue,\n    // }\n    const CallFunctionParametersSchema = zod_1.z.object({\n        functionDeclaration: zod_1.z.string(),\n        awaitPromise: zod_1.z.boolean(),\n        target: TargetSchema,\n        arguments: zod_1.z.array(ArgumentValueSchema).optional(),\n        resultOwnership: ResultOwnershipSchema.optional(),\n        serializationOptions: SerializationOptionsSchema.optional(),\n        this: ArgumentValueSchema.optional(),\n    });\n    function parseCallFunctionParams(params) {\n        return parseObject(params, CallFunctionParametersSchema);\n    }\n    Script.parseCallFunctionParams = parseCallFunctionParams;\n})(Script = exports.Script || (exports.Script = {}));\n/** @see https://w3c.github.io/webdriver-bidi/#module-browsingContext */\nvar BrowsingContext;\n(function (BrowsingContext) {\n    // GetTreeParameters = {\n    //   ?maxDepth: js-uint,\n    //   ?root: browsingContext.BrowsingContext,\n    // }\n    const GetTreeParametersSchema = zod_1.z.object({\n        maxDepth: CommonDataTypes.MaxDepthSchema.optional(),\n        root: CommonDataTypes.BrowsingContextSchema.optional(),\n    });\n    function parseGetTreeParams(params) {\n        return parseObject(params, GetTreeParametersSchema);\n    }\n    BrowsingContext.parseGetTreeParams = parseGetTreeParams;\n    // ReadinessState = \"none\" / \"interactive\" / \"complete\"\n    const ReadinessStateSchema = zod_1.z.enum(['none', 'interactive', 'complete']);\n    // BrowsingContextNavigateParameters = {\n    //   context: BrowsingContext,\n    //   url: text,\n    //   ?wait: ReadinessState,\n    // }\n    // ReadinessState = \"none\" / \"interactive\" / \"complete\"\n    const NavigateParametersSchema = zod_1.z.object({\n        context: CommonDataTypes.BrowsingContextSchema,\n        url: zod_1.z.string().url(),\n        wait: ReadinessStateSchema.optional(),\n    });\n    function parseNavigateParams(params) {\n        return parseObject(params, NavigateParametersSchema);\n    }\n    BrowsingContext.parseNavigateParams = parseNavigateParams;\n    const ReloadParametersSchema = zod_1.z.object({\n        context: CommonDataTypes.BrowsingContextSchema,\n        ignoreCache: zod_1.z.boolean().optional(),\n        wait: ReadinessStateSchema.optional(),\n    });\n    function parseReloadParams(params) {\n        return parseObject(params, ReloadParametersSchema);\n    }\n    BrowsingContext.parseReloadParams = parseReloadParams;\n    // BrowsingContextCreateType = \"tab\" / \"window\"\n    // BrowsingContextCreateParameters = {\n    //   type: BrowsingContextCreateType\n    // }\n    const CreateParametersSchema = zod_1.z.object({\n        type: zod_1.z.enum(['tab', 'window']),\n        referenceContext: CommonDataTypes.BrowsingContextSchema.optional(),\n    });\n    function parseCreateParams(params) {\n        return parseObject(params, CreateParametersSchema);\n    }\n    BrowsingContext.parseCreateParams = parseCreateParams;\n    // BrowsingContextCloseParameters = {\n    //   context: BrowsingContext\n    // }\n    const CloseParametersSchema = zod_1.z.object({\n        context: CommonDataTypes.BrowsingContextSchema,\n    });\n    function parseCloseParams(params) {\n        return parseObject(params, CloseParametersSchema);\n    }\n    BrowsingContext.parseCloseParams = parseCloseParams;\n    // browsingContext.CaptureScreenshotParameters = {\n    //   context: browsingContext.BrowsingContext\n    // }\n    const CaptureScreenshotParametersSchema = zod_1.z.object({\n        context: CommonDataTypes.BrowsingContextSchema,\n    });\n    function parseCaptureScreenshotParams(params) {\n        return parseObject(params, CaptureScreenshotParametersSchema);\n    }\n    BrowsingContext.parseCaptureScreenshotParams = parseCaptureScreenshotParams;\n    // All units are in cm.\n    // PrintPageParameters = {\n    //   ?height: (float .ge 0.0) .default 27.94,\n    //   ?width: (float .ge 0.0) .default 21.59,\n    // }\n    const PrintPageParametersSchema = zod_1.z.object({\n        height: zod_1.z.number().nonnegative().optional(),\n        width: zod_1.z.number().nonnegative().optional(),\n    });\n    // All units are in cm.\n    // PrintMarginParameters = {\n    //   ?bottom: (float .ge 0.0) .default 1.0,\n    //   ?left: (float .ge 0.0) .default 1.0,\n    //   ?right: (float .ge 0.0) .default 1.0,\n    //   ?top: (float .ge 0.0) .default 1.0,\n    // }\n    const PrintMarginParametersSchema = zod_1.z.object({\n        bottom: zod_1.z.number().nonnegative().optional(),\n        left: zod_1.z.number().nonnegative().optional(),\n        right: zod_1.z.number().nonnegative().optional(),\n        top: zod_1.z.number().nonnegative().optional(),\n    });\n    /** @see https://w3c.github.io/webdriver/#dfn-parse-a-page-range */\n    const PrintPageRangesSchema = zod_1.z\n        .array(zod_1.z.union([zod_1.z.string().min(1), zod_1.z.number().int().nonnegative()]))\n        .refine((pageRanges) => {\n        return pageRanges.every((pageRange) => {\n            const match = String(pageRange).match(\n            // matches: '2' | '2-' | '-2' | '2-4'\n            /^(?:(?:\\d+)|(?:\\d+[-])|(?:[-]\\d+)|(?:(?<start>\\d+)[-](?<end>\\d+)))$/);\n            // If a page range is specified, validate start <= end.\n            const { start, end } = match?.groups ?? {};\n            if (start && end && Number(start) > Number(end)) {\n                return false;\n            }\n            return match;\n        });\n    });\n    // PrintParameters = {\n    //   context: browsingContext.BrowsingContext,\n    //   ?background: bool .default false,\n    //   ?margin: browsingContext.PrintMarginParameters,\n    //   ?orientation: (\"portrait\" / \"landscape\") .default \"portrait\",\n    //   ?page: browsingContext.PrintPageParameters,\n    //   ?pageRanges: [*(js-uint / text)],\n    //   ?scale: 0.1..2.0 .default 1.0,\n    //   ?shrinkToFit: bool .default true,\n    // }\n    const PrintParametersSchema = zod_1.z.object({\n        context: CommonDataTypes.BrowsingContextSchema,\n        background: zod_1.z.boolean().optional(),\n        margin: PrintMarginParametersSchema.optional(),\n        orientation: zod_1.z.enum(['portrait', 'landscape']).optional(),\n        page: PrintPageParametersSchema.optional(),\n        pageRanges: PrintPageRangesSchema.optional(),\n        scale: zod_1.z.number().min(0.1).max(2.0).optional(),\n        shrinkToFit: zod_1.z.boolean().optional(),\n    });\n    function parsePrintParams(params) {\n        return parseObject(params, PrintParametersSchema);\n    }\n    BrowsingContext.parsePrintParams = parsePrintParams;\n    // browsingContext.Viewport = {\n    //   width: js-uint,\n    //   height: js-uint,\n    // }\n    const ViewportSchema = zod_1.z.object({\n        width: zod_1.z.number().int().nonnegative(),\n        height: zod_1.z.number().int().nonnegative(),\n    });\n    // browsingContext.SetViewportParameters = {\n    //   context: browsingContext.BrowsingContext,\n    //   viewport: emulation.Viewport / null\n    // }\n    const SetViewportActionSchema = zod_1.z.object({\n        context: CommonDataTypes.BrowsingContextSchema,\n        viewport: zod_1.z.union([zod_1.z.null(), ViewportSchema]),\n    });\n    function parseSetViewportParams(params) {\n        return parseObject(params, SetViewportActionSchema);\n    }\n    BrowsingContext.parseSetViewportParams = parseSetViewportParams;\n})(BrowsingContext = exports.BrowsingContext || (exports.BrowsingContext = {}));\nvar Cdp;\n(function (Cdp) {\n    const SendCommandParamsSchema = zod_1.z.object({\n        // Allowing any cdpMethod, and casting to proper type later on.\n        method: zod_1.z.string(),\n        // `passthrough` allows object to have any fields.\n        // https://github.com/colinhacks/zod#passthrough\n        params: zod_1.z.object({}).passthrough().optional(),\n        session: zod_1.z.string().optional(),\n    });\n    function parseSendCommandParams(params) {\n        return parseObject(params, SendCommandParamsSchema);\n    }\n    Cdp.parseSendCommandParams = parseSendCommandParams;\n    const GetSessionParamsSchema = zod_1.z.object({\n        context: CommonDataTypes.BrowsingContextSchema,\n    });\n    function parseGetSessionParams(params) {\n        return parseObject(params, GetSessionParamsSchema);\n    }\n    Cdp.parseGetSessionParams = parseGetSessionParams;\n})(Cdp = exports.Cdp || (exports.Cdp = {}));\n/** @see https://w3c.github.io/webdriver-bidi/#module-session */\nvar Session;\n(function (Session) {\n    const BiDiSubscriptionRequestParametersEventsSchema = zod_1.z.enum([\n        protocol_js_1.BrowsingContext.AllEvents,\n        ...Object.values(protocol_js_1.BrowsingContext.EventNames),\n        protocol_js_1.Log.AllEvents,\n        ...Object.values(protocol_js_1.Log.EventNames),\n        protocol_js_1.Network.AllEvents,\n        ...Object.values(protocol_js_1.Network.EventNames),\n        protocol_js_1.Script.AllEvents,\n        ...Object.values(protocol_js_1.Script.EventNames),\n    ]);\n    // BiDi+ events\n    const CdpSubscriptionRequestParametersEventsSchema = zod_1.z.custom((value) => {\n        return typeof value === 'string' && value.startsWith('cdp.');\n    }, 'Not a CDP event');\n    const SubscriptionRequestParametersEventsSchema = zod_1.z.union([\n        BiDiSubscriptionRequestParametersEventsSchema,\n        CdpSubscriptionRequestParametersEventsSchema,\n    ]);\n    // SessionSubscriptionRequest = {\n    //   events: [*text],\n    //   ?contexts: [*BrowsingContext],\n    // }\n    const SubscriptionRequestParametersSchema = zod_1.z.object({\n        events: zod_1.z.array(SubscriptionRequestParametersEventsSchema),\n        contexts: zod_1.z.array(CommonDataTypes.BrowsingContextSchema).optional(),\n    });\n    function parseSubscribeParams(params) {\n        return parseObject(params, SubscriptionRequestParametersSchema);\n    }\n    Session.parseSubscribeParams = parseSubscribeParams;\n})(Session = exports.Session || (exports.Session = {}));\n/** @see https://w3c.github.io/webdriver-bidi/#module-input */\nvar Input;\n(function (Input) {\n    // input.ElementOrigin = {\n    //   type: \"element\",\n    //   element: script.SharedReference\n    // }\n    const ElementOriginSchema = zod_1.z.object({\n        type: zod_1.z.literal('element'),\n        element: CommonDataTypes.SharedReferenceSchema,\n    });\n    // input.Origin = \"viewport\" / \"pointer\" / input.ElementOrigin\n    const OriginSchema = zod_1.z.union([\n        zod_1.z.literal('viewport'),\n        zod_1.z.literal('pointer'),\n        ElementOriginSchema,\n    ]);\n    // input.PauseAction = {\n    //   type: \"pause\",\n    //   ? duration: js-uint\n    // }\n    const PauseActionSchema = zod_1.z.object({\n        type: zod_1.z.literal(protocol_js_1.Input.ActionType.Pause),\n        duration: zod_1.z.number().nonnegative().int().optional(),\n    });\n    // input.KeyDownAction = {\n    //   type: \"keyDown\",\n    //   value: text\n    // }\n    const KeyDownActionSchema = zod_1.z.object({\n        type: zod_1.z.literal(protocol_js_1.Input.ActionType.KeyDown),\n        value: UnicodeCharacterSchema,\n    });\n    // input.KeyUpAction = {\n    //   type: \"keyUp\",\n    //   value: text\n    // }\n    const KeyUpActionSchema = zod_1.z.object({\n        type: zod_1.z.literal(protocol_js_1.Input.ActionType.KeyUp),\n        value: UnicodeCharacterSchema,\n    });\n    // input.TiltProperties = (\n    //   ? tiltX: -90..90 .default 0,\n    //   ? tiltY: -90..90 .default 0,\n    // )\n    const TiltPropertiesSchema = zod_1.z.object({\n        tiltX: zod_1.z.number().min(-90).max(90).int().default(0).optional(),\n        tiltY: zod_1.z.number().min(-90).max(90).int().default(0).optional(),\n    });\n    // input.AngleProperties = (\n    //   ? altitudeAngle: float .default 0.0,\n    //   ? azimuthAngle: float .default 0.0,\n    // )\n    const AnglePropertiesSchema = zod_1.z.object({\n        altitudeAngle: zod_1.z\n            .number()\n            .nonnegative()\n            .max(Math.PI / 2)\n            .default(0.0)\n            .optional(),\n        azimuthAngle: zod_1.z\n            .number()\n            .nonnegative()\n            .max(2 * Math.PI)\n            .default(0.0)\n            .optional(),\n    });\n    // input.PointerCommonProperties = (\n    //   ? width: js-uint .default 1,\n    //   ? height: js-uint .default 1,\n    //   ? pressure: float .default 0.0,\n    //   ? tangentialPressure: float .default 0.0,\n    //   ? twist: 0..359 .default 0,\n    //   (input.TiltProperties // input.AngleProperties)\n    // )\n    const PointerCommonPropertiesSchema = zod_1.z\n        .object({\n        width: zod_1.z.number().nonnegative().int().default(1),\n        height: zod_1.z.number().nonnegative().int().default(1),\n        pressure: zod_1.z.number().min(0.0).max(1.0).default(0.0),\n        tangentialPressure: zod_1.z.number().min(-1.0).max(1.0).default(0.0),\n        twist: zod_1.z.number().nonnegative().max(359).int().default(0),\n    })\n        .and(zod_1.z.union([TiltPropertiesSchema, AnglePropertiesSchema]));\n    // input.PointerUpAction = {\n    //   type: \"pointerUp\",\n    //   button: js-uint,\n    //   input.PointerCommonProperties\n    // }\n    const PointerUpActionSchema = zod_1.z\n        .object({\n        type: zod_1.z.literal(protocol_js_1.Input.ActionType.PointerUp),\n        button: zod_1.z.number().nonnegative().int(),\n    })\n        .and(PointerCommonPropertiesSchema);\n    // input.PointerDownAction = {\n    //   type: \"pointerDown\",\n    //   button: js-uint,\n    //   input.PointerCommonProperties\n    // }\n    const PointerDownActionSchema = zod_1.z\n        .object({\n        type: zod_1.z.literal(protocol_js_1.Input.ActionType.PointerDown),\n        button: zod_1.z.number().nonnegative().int(),\n    })\n        .and(PointerCommonPropertiesSchema);\n    // input.PointerMoveAction = {\n    //   type: \"pointerMove\",\n    //   x: js-int,\n    //   y: js-int,\n    //   ? duration: js-uint,\n    //   ? origin: input.Origin,\n    //   input.PointerCommonProperties\n    // }\n    const PointerMoveActionSchema = zod_1.z\n        .object({\n        type: zod_1.z.literal(protocol_js_1.Input.ActionType.PointerMove),\n        x: zod_1.z.number().int(),\n        y: zod_1.z.number().int(),\n        duration: zod_1.z.number().nonnegative().int().optional(),\n        origin: OriginSchema.optional().default('viewport'),\n    })\n        .and(PointerCommonPropertiesSchema);\n    // input.WheelScrollAction = {\n    //   type: \"scroll\",\n    //   x: js-int,\n    //   y: js-int,\n    //   deltaX: js-int,\n    //   deltaY: js-int,\n    //   ? duration: js-uint,\n    //   ? origin: input.Origin .default \"viewport\",\n    // }\n    const WheelScrollActionSchema = zod_1.z.object({\n        type: zod_1.z.literal(protocol_js_1.Input.ActionType.Scroll),\n        x: zod_1.z.number().int(),\n        y: zod_1.z.number().int(),\n        deltaX: zod_1.z.number().int(),\n        deltaY: zod_1.z.number().int(),\n        duration: zod_1.z.number().nonnegative().int().optional(),\n        origin: OriginSchema.optional().default('viewport'),\n    });\n    // input.WheelSourceAction = (\n    //   input.PauseAction //\n    //   input.WheelScrollAction\n    // )\n    const WheelSourceActionSchema = zod_1.z.discriminatedUnion('type', [\n        PauseActionSchema,\n        WheelScrollActionSchema,\n    ]);\n    // input.WheelSourceActions = {\n    //   type: \"wheel\",\n    //   id: text,\n    //   actions: [*input.WheelSourceAction]\n    // }\n    const WheelSourceActionsSchema = zod_1.z.object({\n        type: zod_1.z.literal(protocol_js_1.Input.SourceActionsType.Wheel),\n        id: zod_1.z.string(),\n        actions: zod_1.z.array(WheelSourceActionSchema),\n    });\n    // input.PointerSourceAction = (\n    //   input.PauseAction //\n    //   input.PointerDownAction //\n    //   input.PointerUpAction //\n    //   input.PointerMoveAction\n    // )\n    const PointerSourceActionSchema = zod_1.z.union([\n        PauseActionSchema,\n        PointerDownActionSchema,\n        PointerUpActionSchema,\n        PointerMoveActionSchema,\n    ]);\n    // input.PointerType = \"mouse\" / \"pen\" / \"touch\"\n    const PointerTypeSchema = zod_1.z.nativeEnum(protocol_js_1.Input.PointerType);\n    // input.PointerParameters = {\n    //   ? pointerType: input.PointerType .default \"mouse\"\n    // }\n    const PointerParametersSchema = zod_1.z.object({\n        pointerType: PointerTypeSchema.optional().default(protocol_js_1.Input.PointerType.Mouse),\n    });\n    // input.PointerSourceActions = {\n    //   type: \"pointer\",\n    //   id: text,\n    //   ? parameters: input.PointerParameters,\n    //   actions: [*input.PointerSourceAction]\n    // }\n    const PointerSourceActionsSchema = zod_1.z.object({\n        type: zod_1.z.literal(protocol_js_1.Input.SourceActionsType.Pointer),\n        id: zod_1.z.string(),\n        parameters: PointerParametersSchema.optional(),\n        actions: zod_1.z.array(PointerSourceActionSchema),\n    });\n    // input.KeySourceAction = (\n    //   input.PauseAction //\n    //   input.KeyDownAction //\n    //   input.KeyUpAction\n    // )\n    const KeySourceActionSchema = zod_1.z.discriminatedUnion('type', [\n        PauseActionSchema,\n        KeyDownActionSchema,\n        KeyUpActionSchema,\n    ]);\n    // input.KeySourceActions = {\n    //   type: \"key\",\n    //   id: text,\n    //   actions: [*input.KeySourceAction]\n    // }\n    const KeySourceActionsSchema = zod_1.z.object({\n        type: zod_1.z.literal(protocol_js_1.Input.SourceActionsType.Key),\n        id: zod_1.z.string(),\n        actions: zod_1.z.array(KeySourceActionSchema),\n    });\n    // input.NoneSourceAction = input.PauseAction\n    const NoneSourceActionSchema = PauseActionSchema;\n    // input.NoneSourceActions = {\n    //   type: \"none\",\n    //   id: text,\n    //   actions: [*input.NoneSourceAction]\n    // }\n    const NoneSourceActionsSchema = zod_1.z.object({\n        type: zod_1.z.literal(protocol_js_1.Input.SourceActionsType.None),\n        id: zod_1.z.string(),\n        actions: zod_1.z.array(NoneSourceActionSchema),\n    });\n    // input.SourceActions = (\n    //   input.NoneSourceActions //\n    //   input.KeySourceActions //\n    //   input.PointerSourceActions //\n    //   input.WheelSourceActions\n    // )\n    const SourceActionsSchema = zod_1.z.discriminatedUnion('type', [\n        NoneSourceActionsSchema,\n        KeySourceActionsSchema,\n        PointerSourceActionsSchema,\n        WheelSourceActionsSchema,\n    ]);\n    // input.PerformActionsParameters = {\n    //   context: browsingContext.BrowsingContext,\n    //   actions: [*input.SourceActions]\n    // }\n    const PerformActionsParametersSchema = zod_1.z.object({\n        context: CommonDataTypes.BrowsingContextSchema,\n        actions: zod_1.z.array(SourceActionsSchema),\n    });\n    function parsePerformActionsParams(params) {\n        return parseObject(params, PerformActionsParametersSchema);\n    }\n    Input.parsePerformActionsParams = parsePerformActionsParams;\n    // input.ReleaseActionsParameters = {\n    //   context: browsingContext.BrowsingContext,\n    // }\n    const ReleaseActionsParametersSchema = zod_1.z.object({\n        context: CommonDataTypes.BrowsingContextSchema,\n    });\n    function parseReleaseActionsParams(params) {\n        return parseObject(params, ReleaseActionsParametersSchema);\n    }\n    Input.parseReleaseActionsParams = parseReleaseActionsParams;\n})(Input = exports.Input || (exports.Input = {}));\n//# sourceMappingURL=protocol-parser.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventEmitter = void 0;\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst mitt_1 = __importDefault(require(\"mitt\"));\nclass EventEmitter {\n    #emitter = (0, mitt_1.default)();\n    on(type, handler) {\n        this.#emitter.on(type, handler);\n        return this;\n    }\n    /**\n     * Like `on` but the listener will only be fired once and then it will be removed.\n     * @param event The event you'd like to listen to\n     * @param handler The handler function to run when the event occurs\n     * @return `this` to enable chaining method calls.\n     */\n    once(event, handler) {\n        const onceHandler = (eventData) => {\n            handler(eventData);\n            this.off(event, onceHandler);\n        };\n        return this.on(event, onceHandler);\n    }\n    off(type, handler) {\n        this.#emitter.off(type, handler);\n        return this;\n    }\n    /**\n     * Emits an event and call any associated listeners.\n     *\n     * @param event The event to emit.\n     * @param eventData Any data to emit with the event.\n     * @return `true` if there are any listeners, `false` otherwise.\n     */\n    emit(event, eventData) {\n        this.#emitter.emit(event, eventData);\n    }\n}\nexports.EventEmitter = EventEmitter;\n//# sourceMappingURL=EventEmitter.js.map","module.exports=function(n){return{all:n=n||new Map,on:function(e,t){var i=n.get(e);i?i.push(t):n.set(e,[t])},off:function(e,t){var i=n.get(e);i&&(t?i.splice(i.indexOf(t)>>>0,1):n.set(e,[]))},emit:function(e,t){var i=n.get(e);i&&i.slice().map(function(n){n(t)}),(i=n.get(\"*\"))&&i.slice().map(function(n){n(e,t)})}}};\n//# sourceMappingURL=mitt.js.map\n","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogType = void 0;\nvar LogType;\n(function (LogType) {\n    // keep-sorted start\n    LogType[\"bidi\"] = \"BiDi Messages\";\n    LogType[\"browsingContexts\"] = \"Browsing Contexts\";\n    LogType[\"cdp\"] = \"CDP\";\n    LogType[\"system\"] = \"System\";\n    // keep-sorted end\n})(LogType = exports.LogType || (exports.LogType = {}));\n//# sourceMappingURL=log.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProcessingQueue = void 0;\nconst log_js_1 = require(\"./log.js\");\nclass ProcessingQueue {\n    #logger;\n    #processor;\n    #queue = [];\n    // Flag to keep only 1 active processor.\n    #isProcessing = false;\n    constructor(processor, logger) {\n        this.#processor = processor;\n        this.#logger = logger;\n    }\n    add(entry) {\n        this.#queue.push(entry);\n        // No need in waiting. Just initialise processor if needed.\n        void this.#processIfNeeded();\n    }\n    async #processIfNeeded() {\n        if (this.#isProcessing) {\n            return;\n        }\n        this.#isProcessing = true;\n        while (this.#queue.length > 0) {\n            const entryPromise = this.#queue.shift();\n            if (entryPromise !== undefined) {\n                await entryPromise\n                    .then((entry) => this.#processor(entry))\n                    .catch((e) => {\n                    this.#logger?.(log_js_1.LogType.system, 'Event was not processed:', e);\n                });\n            }\n        }\n        this.#isProcessing = false;\n    }\n}\nexports.ProcessingQueue = ProcessingQueue;\n//# sourceMappingURL=processingQueue.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assert = void 0;\nfunction assert(predicate) {\n    if (!predicate) {\n        throw new Error('Internal assertion failed.');\n    }\n}\nexports.assert = assert;\n//# sourceMappingURL=assert.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n * Copyright 2022 The Chromium Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Mutex = void 0;\n/**\n * Use Mutex class to coordinate local concurrent operations.\n * Once `acquire` promise resolves, you hold the lock and must\n * call `release` function returned by `acquire` to release the\n * lock. Failing to `release` the lock may lead to deadlocks.\n */\nclass Mutex {\n    #locked = false;\n    #acquirers = [];\n    // This is FIFO.\n    acquire() {\n        const state = { resolved: false };\n        if (this.#locked) {\n            return new Promise((resolve) => {\n                this.#acquirers.push(() => resolve(this.#release.bind(this, state)));\n            });\n        }\n        this.#locked = true;\n        return Promise.resolve(this.#release.bind(this, state));\n    }\n    #release(state) {\n        if (state.resolved) {\n            throw new Error('Cannot release more than once.');\n        }\n        state.resolved = true;\n        const resolve = this.#acquirers.shift();\n        if (!resolve) {\n            this.#locked = false;\n            return;\n        }\n        resolve();\n    }\n    async run(action) {\n        const release = await this.acquire();\n        try {\n            // Note we need to await here because we want the await to release AFTER\n            // that await happens. Returning action() will trigger the release\n            // immediately which is counter to what we want.\n            const result = await action();\n            return result;\n        }\n        finally {\n            release();\n        }\n    }\n}\nexports.Mutex = Mutex;\n//# sourceMappingURL=Mutex.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WheelSource = exports.PointerSource = exports.KeySource = exports.NoneSource = exports.SourceType = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nexports.SourceType = protocol_js_1.Input.SourceActionsType;\nclass NoneSource {\n    type = exports.SourceType.None;\n}\nexports.NoneSource = NoneSource;\nclass KeySource {\n    type = exports.SourceType.Key;\n    pressed = new Set();\n    // This is a bitfield that matches the modifiers parameter of\n    // https://chromedevtools.github.io/devtools-protocol/tot/Input/#method-dispatchKeyEvent\n    #modifiers = 0;\n    get modifiers() {\n        return this.#modifiers;\n    }\n    get alt() {\n        return (this.#modifiers & 1) === 1;\n    }\n    set alt(value) {\n        this.#setModifier(value, 1);\n    }\n    get ctrl() {\n        return (this.#modifiers & 2) === 2;\n    }\n    set ctrl(value) {\n        this.#setModifier(value, 2);\n    }\n    get meta() {\n        return (this.#modifiers & 4) === 4;\n    }\n    set meta(value) {\n        this.#setModifier(value, 4);\n    }\n    get shift() {\n        return (this.#modifiers & 8) === 8;\n    }\n    set shift(value) {\n        this.#setModifier(value, 8);\n    }\n    #setModifier(value, bit) {\n        if (value) {\n            this.#modifiers |= bit;\n        }\n        else {\n            this.#modifiers &= ~bit;\n        }\n    }\n}\nexports.KeySource = KeySource;\nclass PointerSource {\n    type = exports.SourceType.Pointer;\n    subtype;\n    pointerId;\n    pressed = new Set();\n    x = 0;\n    y = 0;\n    constructor(id, subtype) {\n        this.pointerId = id;\n        this.subtype = subtype;\n    }\n    // This is a bitfield that matches the buttons parameter of\n    // https://chromedevtools.github.io/devtools-protocol/tot/Input/#method-dispatchMouseEvent\n    get buttons() {\n        let buttons = 0;\n        for (const button of this.pressed) {\n            switch (button) {\n                case 0:\n                    buttons |= 1;\n                    break;\n                case 1:\n                    buttons |= 4;\n                    break;\n                case 2:\n                    buttons |= 2;\n                    break;\n                case 3:\n                    buttons |= 8;\n                    break;\n                case 4:\n                    buttons |= 16;\n                    break;\n            }\n        }\n        return buttons;\n    }\n    // --- Platform-specific state starts here ---\n    // Input.dispatchMouseEvent doesn't know the concept of double click, so we\n    // need to create it like for OSes:\n    // https://source.chromium.org/chromium/chromium/src/+/refs/heads/main:ui/events/event.cc;l=479\n    static #DOUBLE_CLICK_TIME_MS = 500;\n    static #MAX_DOUBLE_CLICK_RADIUS = 2;\n    #clickCount = 0;\n    #lastClick;\n    setClickCount(context) {\n        if (!this.#lastClick ||\n            // The click needs to be within a certain amount of ms.\n            context.timeStamp - this.#lastClick.timeStamp >\n                PointerSource.#DOUBLE_CLICK_TIME_MS ||\n            // The click needs to be within a square radius.\n            Math.abs(this.#lastClick.x - context.x) >\n                PointerSource.#MAX_DOUBLE_CLICK_RADIUS ||\n            Math.abs(this.#lastClick.y - context.y) >\n                PointerSource.#MAX_DOUBLE_CLICK_RADIUS) {\n            this.#clickCount = 0;\n        }\n        ++this.#clickCount;\n        this.#lastClick = context;\n    }\n    get clickCount() {\n        return this.#clickCount;\n    }\n}\nexports.PointerSource = PointerSource;\nclass WheelSource {\n    type = exports.SourceType.Wheel;\n}\nexports.WheelSource = WheelSource;\n//# sourceMappingURL=InputSource.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InputState = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst Mutex_js_1 = require(\"../../../utils/Mutex.js\");\nconst InputSource_js_1 = require(\"./InputSource.js\");\nclass InputState {\n    cancelList = [];\n    #sources = new Map();\n    #mutex = new Mutex_js_1.Mutex();\n    getOrCreate(id, type, subtype) {\n        let source = this.#sources.get(id);\n        if (!source) {\n            switch (type) {\n                case InputSource_js_1.SourceType.None:\n                    source = new InputSource_js_1.NoneSource();\n                    break;\n                case InputSource_js_1.SourceType.Key:\n                    source = new InputSource_js_1.KeySource();\n                    break;\n                case InputSource_js_1.SourceType.Pointer: {\n                    let pointerId = subtype === protocol_js_1.Input.PointerType.Mouse ? 0 : 2;\n                    const pointerIds = new Set();\n                    for (const [, source] of this.#sources) {\n                        if (source.type === InputSource_js_1.SourceType.Pointer) {\n                            pointerIds.add(source.pointerId);\n                        }\n                    }\n                    while (pointerIds.has(pointerId)) {\n                        ++pointerId;\n                    }\n                    source = new InputSource_js_1.PointerSource(pointerId, subtype);\n                    break;\n                }\n                case InputSource_js_1.SourceType.Wheel:\n                    source = new InputSource_js_1.WheelSource();\n                    break;\n                default:\n                    throw new protocol_js_1.Message.InvalidArgumentException(`Expected \"${InputSource_js_1.SourceType.None}\", \"${InputSource_js_1.SourceType.Key}\", \"${InputSource_js_1.SourceType.Pointer}\", or \"${InputSource_js_1.SourceType.Wheel}\". Found unknown source type ${type}.`);\n            }\n            this.#sources.set(id, source);\n            return source;\n        }\n        if (source.type !== type) {\n            throw new protocol_js_1.Message.InvalidArgumentException(`Input source type of ${id} is ${source.type}, but received ${type}.`);\n        }\n        return source;\n    }\n    get(id) {\n        const source = this.#sources.get(id);\n        if (!source) {\n            throw new protocol_js_1.Message.UnknownErrorException(`Internal error.`);\n        }\n        return source;\n    }\n    getGlobalKeyState() {\n        const state = new InputSource_js_1.KeySource();\n        for (const [, source] of this.#sources) {\n            if (source.type !== InputSource_js_1.SourceType.Key) {\n                continue;\n            }\n            for (const pressed of source.pressed) {\n                state.pressed.add(pressed);\n            }\n            state.alt ||= source.alt;\n            state.ctrl ||= source.ctrl;\n            state.meta ||= source.meta;\n            state.shift ||= source.shift;\n        }\n        return state;\n    }\n    get queue() {\n        return this.#mutex;\n    }\n}\nexports.InputState = InputState;\n//# sourceMappingURL=InputState.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InputStateManager = void 0;\nconst assert_js_1 = require(\"../../../utils/assert.js\");\nconst InputState_js_1 = require(\"./InputState.js\");\nclass InputStateManager {\n    // We use a weak map here as specified here:\n    // https://www.w3.org/TR/webdriver/#dfn-browsing-context-input-state-map\n    #states = new WeakMap();\n    get(context) {\n        (0, assert_js_1.assert)(context.isTopLevelContext());\n        let state = this.#states.get(context);\n        if (!state) {\n            state = new InputState_js_1.InputState();\n            this.#states.set(context, state);\n        }\n        return state;\n    }\n    delete(context) {\n        this.#states.delete(context);\n    }\n}\nexports.InputStateManager = InputStateManager;\n//# sourceMappingURL=InputStateManager.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KeyToKeyCode = void 0;\n// TODO: Remove this once https://crrev.com/c/4548290 is stably in Chromium.\n// `Input.dispatchKeyboardEvent` will automatically handle these conversions.\nexports.KeyToKeyCode = {\n    '0': 48,\n    '1': 49,\n    '2': 50,\n    '3': 51,\n    '4': 52,\n    '5': 53,\n    '6': 54,\n    '7': 55,\n    '8': 56,\n    '9': 57,\n    Abort: 3,\n    Help: 6,\n    Backspace: 8,\n    Tab: 9,\n    Numpad5: 12,\n    NumpadEnter: 13,\n    Enter: 13,\n    '\\\\r': 13,\n    '\\\\n': 13,\n    ShiftLeft: 16,\n    ShiftRight: 16,\n    ControlLeft: 17,\n    ControlRight: 17,\n    AltLeft: 18,\n    AltRight: 18,\n    Pause: 19,\n    CapsLock: 20,\n    Escape: 27,\n    Convert: 28,\n    NonConvert: 29,\n    Space: 32,\n    Numpad9: 33,\n    PageUp: 33,\n    Numpad3: 34,\n    PageDown: 34,\n    End: 35,\n    Numpad1: 35,\n    Home: 36,\n    Numpad7: 36,\n    ArrowLeft: 37,\n    Numpad4: 37,\n    Numpad8: 38,\n    ArrowUp: 38,\n    ArrowRight: 39,\n    Numpad6: 39,\n    Numpad2: 40,\n    ArrowDown: 40,\n    Select: 41,\n    Open: 43,\n    PrintScreen: 44,\n    Insert: 45,\n    Numpad0: 45,\n    Delete: 46,\n    NumpadDecimal: 46,\n    Digit0: 48,\n    Digit1: 49,\n    Digit2: 50,\n    Digit3: 51,\n    Digit4: 52,\n    Digit5: 53,\n    Digit6: 54,\n    Digit7: 55,\n    Digit8: 56,\n    Digit9: 57,\n    KeyA: 65,\n    KeyB: 66,\n    KeyC: 67,\n    KeyD: 68,\n    KeyE: 69,\n    KeyF: 70,\n    KeyG: 71,\n    KeyH: 72,\n    KeyI: 73,\n    KeyJ: 74,\n    KeyK: 75,\n    KeyL: 76,\n    KeyM: 77,\n    KeyN: 78,\n    KeyO: 79,\n    KeyP: 80,\n    KeyQ: 81,\n    KeyR: 82,\n    KeyS: 83,\n    KeyT: 84,\n    KeyU: 85,\n    KeyV: 86,\n    KeyW: 87,\n    KeyX: 88,\n    KeyY: 89,\n    KeyZ: 90,\n    MetaLeft: 91,\n    MetaRight: 92,\n    ContextMenu: 93,\n    NumpadMultiply: 106,\n    NumpadAdd: 107,\n    NumpadSubtract: 109,\n    NumpadDivide: 111,\n    F1: 112,\n    F2: 113,\n    F3: 114,\n    F4: 115,\n    F5: 116,\n    F6: 117,\n    F7: 118,\n    F8: 119,\n    F9: 120,\n    F10: 121,\n    F11: 122,\n    F12: 123,\n    F13: 124,\n    F14: 125,\n    F15: 126,\n    F16: 127,\n    F17: 128,\n    F18: 129,\n    F19: 130,\n    F20: 131,\n    F21: 132,\n    F22: 133,\n    F23: 134,\n    F24: 135,\n    NumLock: 144,\n    ScrollLock: 145,\n    AudioVolumeMute: 173,\n    AudioVolumeDown: 174,\n    AudioVolumeUp: 175,\n    MediaTrackNext: 176,\n    MediaTrackPrevious: 177,\n    MediaStop: 178,\n    MediaPlayPause: 179,\n    Semicolon: 186,\n    Equal: 187,\n    NumpadEqual: 187,\n    Comma: 188,\n    Minus: 189,\n    Period: 190,\n    Slash: 191,\n    Backquote: 192,\n    BracketLeft: 219,\n    Backslash: 220,\n    BracketRight: 221,\n    Quote: 222,\n    AltGraph: 225,\n    Props: 247,\n    Cancel: 3,\n    Clear: 12,\n    Shift: 16,\n    Control: 17,\n    Alt: 18,\n    Accept: 30,\n    ModeChange: 31,\n    ' ': 32,\n    Print: 42,\n    Execute: 43,\n    '\\\\u0000': 46,\n    a: 65,\n    b: 66,\n    c: 67,\n    d: 68,\n    e: 69,\n    f: 70,\n    g: 71,\n    h: 72,\n    i: 73,\n    j: 74,\n    k: 75,\n    l: 76,\n    m: 77,\n    n: 78,\n    o: 79,\n    p: 80,\n    q: 81,\n    r: 82,\n    s: 83,\n    t: 84,\n    u: 85,\n    v: 86,\n    w: 87,\n    x: 88,\n    y: 89,\n    z: 90,\n    Meta: 91,\n    '*': 106,\n    '+': 107,\n    '-': 109,\n    '/': 111,\n    ';': 186,\n    '=': 187,\n    ',': 188,\n    '.': 190,\n    '`': 192,\n    '[': 219,\n    '\\\\\\\\': 220,\n    ']': 221,\n    \"'\": 222,\n    Attn: 246,\n    CrSel: 247,\n    ExSel: 248,\n    EraseEof: 249,\n    Play: 250,\n    ZoomOut: 251,\n    ')': 48,\n    '!': 49,\n    '@': 50,\n    '#': 51,\n    $: 52,\n    '%': 53,\n    '^': 54,\n    '&': 55,\n    '(': 57,\n    A: 65,\n    B: 66,\n    C: 67,\n    D: 68,\n    E: 69,\n    F: 70,\n    G: 71,\n    H: 72,\n    I: 73,\n    J: 74,\n    K: 75,\n    L: 76,\n    M: 77,\n    N: 78,\n    O: 79,\n    P: 80,\n    Q: 81,\n    R: 82,\n    S: 83,\n    T: 84,\n    U: 85,\n    V: 86,\n    W: 87,\n    X: 88,\n    Y: 89,\n    Z: 90,\n    ':': 186,\n    '<': 188,\n    _: 189,\n    '>': 190,\n    '?': 191,\n    '~': 192,\n    '{': 219,\n    '|': 220,\n    '}': 221,\n    '\"': 222,\n    Camera: 44,\n    EndCall: 95,\n    VolumeDown: 182,\n    VolumeUp: 183,\n};\n//# sourceMappingURL=USKeyboardLayout.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getKeyLocation = exports.getKeyCode = exports.getNormalizedKey = void 0;\nfunction getNormalizedKey(value) {\n    switch (value) {\n        case '\\uE000':\n            return 'Unidentified';\n        case '\\uE001':\n            return 'Cancel';\n        case '\\uE002':\n            return 'Help';\n        case '\\uE003':\n            return 'Backspace';\n        case '\\uE004':\n            return 'Tab';\n        case '\\uE005':\n            return 'Clear';\n        case '\\uE006':\n            return 'Return';\n        case '\\uE007':\n            return 'Enter';\n        case '\\uE008':\n            return 'Shift';\n        case '\\uE009':\n            return 'Control';\n        case '\\uE00A':\n            return 'Alt';\n        case '\\uE00B':\n            return 'Pause';\n        case '\\uE00C':\n            return 'Escape';\n        case '\\uE00D':\n            return ' ';\n        case '\\uE00E':\n            return 'PageUp';\n        case '\\uE00F':\n            return 'PageDown';\n        case '\\uE010':\n            return 'End';\n        case '\\uE011':\n            return 'Home';\n        case '\\uE012':\n            return 'ArrowLeft';\n        case '\\uE013':\n            return 'ArrowUp';\n        case '\\uE014':\n            return 'ArrowRight';\n        case '\\uE015':\n            return 'ArrowDown';\n        case '\\uE016':\n            return 'Insert';\n        case '\\uE017':\n            return 'Delete';\n        case '\\uE018':\n            return ';';\n        case '\\uE019':\n            return '=';\n        case '\\uE01A':\n            return '0';\n        case '\\uE01B':\n            return '1';\n        case '\\uE01C':\n            return '2';\n        case '\\uE01D':\n            return '3';\n        case '\\uE01E':\n            return '4';\n        case '\\uE01F':\n            return '5';\n        case '\\uE020':\n            return '6';\n        case '\\uE021':\n            return '7';\n        case '\\uE022':\n            return '8';\n        case '\\uE023':\n            return '9';\n        case '\\uE024':\n            return '*';\n        case '\\uE025':\n            return '+';\n        case '\\uE026':\n            return ',';\n        case '\\uE027':\n            return '-';\n        case '\\uE028':\n            return '.';\n        case '\\uE029':\n            return '/';\n        case '\\uE031':\n            return 'F1';\n        case '\\uE032':\n            return 'F2';\n        case '\\uE033':\n            return 'F3';\n        case '\\uE034':\n            return 'F4';\n        case '\\uE035':\n            return 'F5';\n        case '\\uE036':\n            return 'F6';\n        case '\\uE037':\n            return 'F7';\n        case '\\uE038':\n            return 'F8';\n        case '\\uE039':\n            return 'F9';\n        case '\\uE03A':\n            return 'F10';\n        case '\\uE03B':\n            return 'F11';\n        case '\\uE03C':\n            return 'F12';\n        case '\\uE03D':\n            return 'Meta';\n        case '\\uE040':\n            return 'ZenkakuHankaku';\n        case '\\uE050':\n            return 'Shift';\n        case '\\uE051':\n            return 'Control';\n        case '\\uE052':\n            return 'Alt';\n        case '\\uE053':\n            return 'Meta';\n        case '\\uE054':\n            return 'PageUp';\n        case '\\uE055':\n            return 'PageDown';\n        case '\\uE056':\n            return 'End';\n        case '\\uE057':\n            return 'Home';\n        case '\\uE058':\n            return 'ArrowLeft';\n        case '\\uE059':\n            return 'ArrowUp';\n        case '\\uE05A':\n            return 'ArrowRight';\n        case '\\uE05B':\n            return 'ArrowDown';\n        case '\\uE05C':\n            return 'Insert';\n        case '\\uE05D':\n            return 'Delete';\n        default:\n            return value;\n    }\n}\nexports.getNormalizedKey = getNormalizedKey;\nfunction getKeyCode(key) {\n    switch (key) {\n        case '`':\n        case '~':\n            return 'Backquote';\n        case '\\\\':\n        case '|':\n            return 'Backslash';\n        case '\\uE003':\n            return 'Backspace';\n        case '[':\n        case '{':\n            return 'BracketLeft';\n        case ']':\n        case '}':\n            return 'BracketRight';\n        case ',':\n        case '<':\n            return 'Comma';\n        case '0':\n        case ')':\n            return 'Digit0';\n        case '1':\n        case '!':\n            return 'Digit1';\n        case '2':\n        case '@':\n            return 'Digit2';\n        case '3':\n        case '#':\n            return 'Digit3';\n        case '4':\n        case '$':\n            return 'Digit4';\n        case '5':\n        case '%':\n            return 'Digit5';\n        case '6':\n        case '^':\n            return 'Digit6';\n        case '7':\n        case '&':\n            return 'Digit7';\n        case '8':\n        case '*':\n            return 'Digit8';\n        case '9':\n        case '(':\n            return 'Digit9';\n        case '=':\n        case '+':\n            return 'Equal';\n        case 'a':\n        case 'A':\n            return 'KeyA';\n        case 'b':\n        case 'B':\n            return 'KeyB';\n        case 'c':\n        case 'C':\n            return 'KeyC';\n        case 'd':\n        case 'D':\n            return 'KeyD';\n        case 'e':\n        case 'E':\n            return 'KeyE';\n        case 'f':\n        case 'F':\n            return 'KeyF';\n        case 'g':\n        case 'G':\n            return 'KeyG';\n        case 'h':\n        case 'H':\n            return 'KeyH';\n        case 'i':\n        case 'I':\n            return 'KeyI';\n        case 'j':\n        case 'J':\n            return 'KeyJ';\n        case 'k':\n        case 'K':\n            return 'KeyK';\n        case 'l':\n        case 'L':\n            return 'KeyL';\n        case 'm':\n        case 'M':\n            return 'KeyM';\n        case 'n':\n        case 'N':\n            return 'KeyN';\n        case 'o':\n        case 'O':\n            return 'KeyO';\n        case 'p':\n        case 'P':\n            return 'KeyP';\n        case 'q':\n        case 'Q':\n            return 'KeyQ';\n        case 'r':\n        case 'R':\n            return 'KeyR';\n        case 's':\n        case 'S':\n            return 'KeyS';\n        case 't':\n        case 'T':\n            return 'KeyT';\n        case 'u':\n        case 'U':\n            return 'KeyU';\n        case 'v':\n        case 'V':\n            return 'KeyV';\n        case 'w':\n        case 'W':\n            return 'KeyW';\n        case 'x':\n        case 'X':\n            return 'KeyX';\n        case 'y':\n        case 'Y':\n            return 'KeyY';\n        case 'z':\n        case 'Z':\n            return 'KeyZ';\n        case '-':\n        case '_':\n            return 'Minus';\n        case '.':\n            return 'Period';\n        case \"'\":\n        case '\"':\n            return 'Quote';\n        case ';':\n        case ':':\n            return 'Semicolon';\n        case '/':\n        case '?':\n            return 'Slash';\n        case '\\uE00A':\n            return 'AltLeft';\n        case '\\uE052':\n            return 'AltRight';\n        case '\\uE009':\n            return 'ControlLeft';\n        case '\\uE051':\n            return 'ControlRight';\n        case '\\uE006':\n            return 'Enter';\n        case '\\uE03D':\n            return 'MetaLeft';\n        case '\\uE053':\n            return 'MetaRight';\n        case '\\uE008':\n            return 'ShiftLeft';\n        case '\\uE050':\n            return 'ShiftRight';\n        case ' ':\n        case '\\uE00D':\n            return 'Space';\n        case '\\uE004':\n            return 'Tab';\n        case '\\uE017':\n            return 'Delete';\n        case '\\uE010':\n            return 'End';\n        case '\\uE002':\n            return 'Help';\n        case '\\uE011':\n            return 'Home';\n        case '\\uE016':\n            return 'Insert';\n        case '\\uE00F':\n            return 'PageDown';\n        case '\\uE00E':\n            return 'PageUp';\n        case '\\uE015':\n            return 'ArrowDown';\n        case '\\uE012':\n            return 'ArrowLeft';\n        case '\\uE014':\n            return 'ArrowRight';\n        case '\\uE013':\n            return 'ArrowUp';\n        case '\\uE00C':\n            return 'Escape';\n        case '\\uE031':\n            return 'F1';\n        case '\\uE032':\n            return 'F2';\n        case '\\uE033':\n            return 'F3';\n        case '\\uE034':\n            return 'F4';\n        case '\\uE035':\n            return 'F5';\n        case '\\uE036':\n            return 'F6';\n        case '\\uE037':\n            return 'F7';\n        case '\\uE038':\n            return 'F8';\n        case '\\uE039':\n            return 'F9';\n        case '\\uE03A':\n            return 'F10';\n        case '\\uE03B':\n            return 'F11';\n        case '\\uE03C':\n            return 'F12';\n        case '\\uE01A':\n        case '\\uE05C':\n            return 'Numpad0';\n        case '\\uE01B':\n        case '\\uE056':\n            return 'Numpad1';\n        case '\\uE01C':\n        case '\\uE05B':\n            return 'Numpad2';\n        case '\\uE01D':\n        case '\\uE055':\n            return 'Numpad3';\n        case '\\uE01E':\n        case '\\uE058':\n            return 'Numpad4';\n        case '\\uE01F':\n            return 'Numpad5';\n        case '\\uE020':\n        case '\\uE05A':\n            return 'Numpad6';\n        case '\\uE021':\n        case '\\uE057':\n            return 'Numpad7';\n        case '\\uE022':\n        case '\\uE059':\n            return 'Numpad8';\n        case '\\uE023':\n        case '\\uE054':\n            return 'Numpad9';\n        case '\\uE025':\n            return 'NumpadAdd';\n        case '\\uE026':\n            return 'NumpadComma';\n        case '\\uE028':\n        case '\\uE05D':\n            return 'NumpadDecimal';\n        case '\\uE029':\n            return 'NumpadDivide';\n        case '\\uE007':\n            return 'NumpadEnter';\n        case '\\uE024':\n            return 'NumpadMultiply';\n        case '\\uE027':\n            return 'NumpadSubtract';\n        default:\n            return;\n    }\n}\nexports.getKeyCode = getKeyCode;\nfunction getKeyLocation(key) {\n    switch (key) {\n        case '\\uE007':\n        case '\\uE008':\n        case '\\uE009':\n        case '\\uE00A':\n        case '\\uE03D':\n            return 1;\n        case '\\uE01A':\n        case '\\uE01B':\n        case '\\uE01C':\n        case '\\uE01D':\n        case '\\uE01E':\n        case '\\uE01F':\n        case '\\uE020':\n        case '\\uE021':\n        case '\\uE022':\n        case '\\uE023':\n        case '\\uE024':\n        case '\\uE025':\n        case '\\uE026':\n        case '\\uE027':\n        case '\\uE028':\n        case '\\uE029':\n        case '\\uE054':\n        case '\\uE055':\n        case '\\uE056':\n        case '\\uE057':\n        case '\\uE058':\n        case '\\uE059':\n        case '\\uE05A':\n        case '\\uE05B':\n        case '\\uE05C':\n        case '\\uE05D':\n            return 3;\n        case '\\uE050':\n        case '\\uE051':\n        case '\\uE052':\n        case '\\uE053':\n            return 2;\n        default:\n            return 0;\n    }\n}\nexports.getKeyLocation = getKeyLocation;\n//# sourceMappingURL=keyUtils.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActionDispatcher = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst assert_js_1 = require(\"../../../utils/assert.js\");\nconst USKeyboardLayout_js_1 = require(\"./USKeyboardLayout.js\");\nconst keyUtils_js_1 = require(\"./keyUtils.js\");\n/** https://w3c.github.io/webdriver/#dfn-center-point */\nconst CALCULATE_IN_VIEW_CENTER_PT_DECL = ((i) => {\n    const t = i.getClientRects()[0], e = Math.max(0, Math.min(t.x, t.x + t.width)), n = Math.min(window.innerWidth, Math.max(t.x, t.x + t.width)), h = Math.max(0, Math.min(t.y, t.y + t.height)), m = Math.min(window.innerHeight, Math.max(t.y, t.y + t.height));\n    return [e + ((n - e) >> 1), h + ((m - h) >> 1)];\n}).toString();\nconst IS_MAC_DECL = (() => {\n    return navigator.platform.toLowerCase().includes('mac');\n}).toString();\nasync function getElementCenter(context, element) {\n    const { result } = await (await context.getOrCreateSandbox(undefined)).callFunction(CALCULATE_IN_VIEW_CENTER_PT_DECL, { type: 'undefined' }, [element], false, 'none', {});\n    if (result.type === 'exception') {\n        throw new protocol_js_1.Message.NoSuchElementException(`Origin element ${element.sharedId} was not found`);\n    }\n    (0, assert_js_1.assert)(result.result.type === 'array');\n    (0, assert_js_1.assert)(result.result.value?.[0]?.type === 'number');\n    (0, assert_js_1.assert)(result.result.value?.[1]?.type === 'number');\n    const { result: { value: [{ value: x }, { value: y }], }, } = result;\n    return { x: x, y: y };\n}\nclass ActionDispatcher {\n    static isMacOS = async (context) => {\n        const { result } = await (await context.getOrCreateSandbox(undefined)).callFunction(IS_MAC_DECL, { type: 'undefined' }, [], false, 'none', {});\n        (0, assert_js_1.assert)(result.type !== 'exception');\n        (0, assert_js_1.assert)(result.result.type === 'boolean');\n        return result.result.value;\n    };\n    #tickStart = 0;\n    #tickDuration = 0;\n    #inputState;\n    #context;\n    #isMacOS;\n    constructor(inputState, context, isMacOS) {\n        this.#inputState = inputState;\n        this.#context = context;\n        this.#isMacOS = isMacOS;\n    }\n    async dispatchActions(optionsByTick) {\n        await this.#inputState.queue.run(async () => {\n            for (const options of optionsByTick) {\n                await this.dispatchTickActions(options);\n            }\n        });\n    }\n    async dispatchTickActions(options) {\n        this.#tickStart = performance.now();\n        this.#tickDuration = 0;\n        for (const { action } of options) {\n            if ('duration' in action && action.duration !== undefined) {\n                this.#tickDuration = Math.max(this.#tickDuration, action.duration);\n            }\n        }\n        const promises = [\n            new Promise((resolve) => setTimeout(resolve, this.#tickDuration)),\n        ];\n        for (const option of options) {\n            promises.push(this.#dispatchAction(option));\n        }\n        await Promise.all(promises);\n    }\n    async #dispatchAction({ id, action }) {\n        const source = this.#inputState.get(id);\n        const keyState = this.#inputState.getGlobalKeyState();\n        switch (action.type) {\n            case protocol_js_1.Input.ActionType.KeyDown: {\n                // SAFETY: The source is validated before.\n                await this.#dispatchKeyDownAction(source, action);\n                this.#inputState.cancelList.push({\n                    id,\n                    action: {\n                        ...action,\n                        type: protocol_js_1.Input.ActionType.KeyUp,\n                    },\n                });\n                break;\n            }\n            case protocol_js_1.Input.ActionType.KeyUp: {\n                // SAFETY: The source is validated before.\n                await this.#dispatchKeyUpAction(source, action);\n                break;\n            }\n            case protocol_js_1.Input.ActionType.Pause: {\n                // TODO: Implement waiting on the input source.\n                break;\n            }\n            case protocol_js_1.Input.ActionType.PointerDown: {\n                // SAFETY: The source is validated before.\n                await this.#dispatchPointerDownAction(source, keyState, action);\n                this.#inputState.cancelList.push({\n                    id,\n                    action: {\n                        ...action,\n                        type: protocol_js_1.Input.ActionType.PointerUp,\n                    },\n                });\n                break;\n            }\n            case protocol_js_1.Input.ActionType.PointerMove: {\n                // SAFETY: The source is validated before.\n                await this.#dispatchPointerMoveAction(source, keyState, action);\n                break;\n            }\n            case protocol_js_1.Input.ActionType.PointerUp: {\n                // SAFETY: The source is validated before.\n                await this.#dispatchPointerUpAction(source, keyState, action);\n                break;\n            }\n            case protocol_js_1.Input.ActionType.Scroll: {\n                // SAFETY: The source is validated before.\n                await this.#dispatchScrollAction(source, keyState, action);\n                break;\n            }\n        }\n    }\n    #dispatchPointerDownAction(source, keyState, action) {\n        const { button } = action;\n        if (source.pressed.has(button)) {\n            return;\n        }\n        source.pressed.add(button);\n        const { x, y, subtype: pointerType } = source;\n        const { width, height, pressure, twist, tangentialPressure } = action;\n        const { tiltX, tiltY } = 'tiltX' in action ? action : {};\n        // TODO: Implement azimuth/altitude angle.\n        // --- Platform-specific code begins here ---\n        const { modifiers } = keyState;\n        switch (pointerType) {\n            case protocol_js_1.Input.PointerType.Mouse:\n            case protocol_js_1.Input.PointerType.Pen:\n                source.setClickCount({ x, y, timeStamp: performance.now() });\n                // TODO: Implement width and height when available.\n                return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {\n                    type: 'mousePressed',\n                    x,\n                    y,\n                    modifiers,\n                    button: (() => {\n                        switch (button) {\n                            case 0:\n                                return 'left';\n                            case 1:\n                                return 'middle';\n                            case 2:\n                                return 'right';\n                            case 3:\n                                return 'back';\n                            case 4:\n                                return 'forward';\n                            default:\n                                return 'none';\n                        }\n                    })(),\n                    buttons: source.buttons,\n                    clickCount: source.clickCount,\n                    pointerType,\n                    tangentialPressure,\n                    tiltX,\n                    tiltY,\n                    twist,\n                    force: pressure,\n                });\n            case protocol_js_1.Input.PointerType.Touch:\n                return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchTouchEvent', {\n                    type: 'touchStart',\n                    touchPoints: [\n                        {\n                            x,\n                            y,\n                            radiusX: width,\n                            radiusY: height,\n                            tangentialPressure,\n                            tiltX,\n                            tiltY,\n                            twist,\n                            force: pressure,\n                            id: source.pointerId,\n                        },\n                    ],\n                    modifiers,\n                });\n        }\n        // --- Platform-specific code ends here ---\n    }\n    #dispatchPointerUpAction(source, keyState, action) {\n        const { button } = action;\n        if (!source.pressed.has(button)) {\n            return;\n        }\n        source.pressed.delete(button);\n        const { x, y, subtype: pointerType } = source;\n        // --- Platform-specific code begins here ---\n        const { modifiers } = keyState;\n        switch (pointerType) {\n            case protocol_js_1.Input.PointerType.Mouse:\n            case protocol_js_1.Input.PointerType.Pen:\n                // TODO: Implement width and height when available.\n                return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {\n                    type: 'mouseReleased',\n                    x,\n                    y,\n                    modifiers,\n                    button: (() => {\n                        switch (button) {\n                            case 0:\n                                return 'left';\n                            case 1:\n                                return 'middle';\n                            case 2:\n                                return 'right';\n                            case 3:\n                                return 'back';\n                            case 4:\n                                return 'forward';\n                            default:\n                                return 'none';\n                        }\n                    })(),\n                    buttons: source.buttons,\n                    clickCount: source.clickCount,\n                    pointerType,\n                });\n            case protocol_js_1.Input.PointerType.Touch:\n                return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchTouchEvent', {\n                    type: 'touchEnd',\n                    touchPoints: [\n                        {\n                            x,\n                            y,\n                            id: source.pointerId,\n                        },\n                    ],\n                    modifiers,\n                });\n        }\n        // --- Platform-specific code ends here ---\n    }\n    async #dispatchPointerMoveAction(source, keyState, action) {\n        const { x: startX, y: startY, subtype: pointerType } = source;\n        const { width, height, pressure, twist, tangentialPressure, x: offsetX, y: offsetY, origin = 'viewport', duration = this.#tickDuration, } = action;\n        const { tiltX, tiltY } = 'tiltX' in action ? action : {};\n        // TODO: Implement azimuth/altitude angle.\n        const { targetX, targetY } = await this.#getCoordinateFromOrigin(origin, offsetX, offsetY, startX, startY);\n        if (targetX < 0 || targetY < 0) {\n            throw new protocol_js_1.Message.MoveTargetOutOfBoundsException(`Cannot move beyond viewport (x: ${targetX}, y: ${targetY})`);\n        }\n        let last;\n        do {\n            const ratio = duration > 0 ? (performance.now() - this.#tickStart) / duration : 1;\n            last = ratio >= 1;\n            let x;\n            let y;\n            if (last) {\n                x = targetX;\n                y = targetY;\n            }\n            else {\n                x = Math.round(ratio * (targetX - startX) + startX);\n                y = Math.round(ratio * (targetY - startY) + startY);\n            }\n            if (source.x !== x || source.y !== y) {\n                // --- Platform-specific code begins here ---\n                const { modifiers } = keyState;\n                switch (pointerType) {\n                    case protocol_js_1.Input.PointerType.Mouse:\n                    case protocol_js_1.Input.PointerType.Pen:\n                        // TODO: Implement width and height when available.\n                        await this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {\n                            type: 'mouseMoved',\n                            x,\n                            y,\n                            modifiers,\n                            clickCount: 0,\n                            buttons: source.buttons,\n                            pointerType,\n                            tangentialPressure,\n                            tiltX,\n                            tiltY,\n                            twist,\n                            force: pressure,\n                        });\n                        break;\n                    case protocol_js_1.Input.PointerType.Touch:\n                        await this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchTouchEvent', {\n                            type: 'touchMove',\n                            touchPoints: [\n                                {\n                                    x,\n                                    y,\n                                    radiusX: width,\n                                    radiusY: height,\n                                    tangentialPressure,\n                                    tiltX,\n                                    tiltY,\n                                    twist,\n                                    force: pressure,\n                                    id: source.pointerId,\n                                },\n                            ],\n                            modifiers,\n                        });\n                        break;\n                }\n                // --- Platform-specific code ends here ---\n                source.x = x;\n                source.y = y;\n            }\n        } while (!last);\n    }\n    async #getCoordinateFromOrigin(origin, offsetX, offsetY, startX, startY) {\n        let targetX;\n        let targetY;\n        switch (origin) {\n            case 'viewport':\n                targetX = offsetX;\n                targetY = offsetY;\n                break;\n            case 'pointer':\n                targetX = startX + offsetX;\n                targetY = startY + offsetY;\n                break;\n            default: {\n                const { x: posX, y: posY } = await getElementCenter(this.#context, origin.element);\n                // SAFETY: These can never be special numbers.\n                targetX = posX + offsetX;\n                targetY = posY + offsetY;\n                break;\n            }\n        }\n        return { targetX, targetY };\n    }\n    async #dispatchScrollAction(_source, keyState, action) {\n        const { deltaX: targetDeltaX, deltaY: targetDeltaY, x: offsetX, y: offsetY, origin = 'viewport', duration = this.#tickDuration, } = action;\n        if (origin === 'pointer') {\n            throw new protocol_js_1.Message.InvalidArgumentException('\"pointer\" origin is invalid for scrolling.');\n        }\n        const { targetX, targetY } = await this.#getCoordinateFromOrigin(origin, offsetX, offsetY, 0, 0);\n        if (targetX < 0 || targetY < 0) {\n            throw new protocol_js_1.Message.MoveTargetOutOfBoundsException(`Cannot move beyond viewport (x: ${targetX}, y: ${targetY})`);\n        }\n        let currentDeltaX = 0;\n        let currentDeltaY = 0;\n        let last;\n        do {\n            const ratio = duration > 0 ? (performance.now() - this.#tickStart) / duration : 1;\n            last = ratio >= 1;\n            let deltaX;\n            let deltaY;\n            if (last) {\n                deltaX = targetDeltaX - currentDeltaX;\n                deltaY = targetDeltaY - currentDeltaY;\n            }\n            else {\n                deltaX = Math.round(ratio * targetDeltaX - currentDeltaX);\n                deltaY = Math.round(ratio * targetDeltaY - currentDeltaY);\n            }\n            if (deltaX !== 0 || deltaY !== 0) {\n                // --- Platform-specific code begins here ---\n                const { modifiers } = keyState;\n                await this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {\n                    type: 'mouseWheel',\n                    deltaX,\n                    deltaY,\n                    x: targetX,\n                    y: targetY,\n                    modifiers,\n                });\n                // --- Platform-specific code ends here ---\n                currentDeltaX += deltaX;\n                currentDeltaY += deltaY;\n            }\n        } while (!last);\n    }\n    #dispatchKeyDownAction(source, action) {\n        const rawKey = action.value;\n        const key = (0, keyUtils_js_1.getNormalizedKey)(rawKey);\n        const repeat = source.pressed.has(key);\n        const code = (0, keyUtils_js_1.getKeyCode)(rawKey);\n        const location = (0, keyUtils_js_1.getKeyLocation)(rawKey);\n        switch (key) {\n            case 'Alt':\n                source.alt = true;\n                break;\n            case 'Shift':\n                source.shift = true;\n                break;\n            case 'Control':\n                source.ctrl = true;\n                break;\n            case 'Meta':\n                source.meta = true;\n                break;\n        }\n        source.pressed.add(key);\n        const { modifiers } = source;\n        // --- Platform-specific code begins here ---\n        // The spread is a little hack so JS gives us an array of unicode characters\n        // to measure.\n        const unmodifiedText = getKeyEventUnmodifiedText(key, source);\n        const text = getKeyEventText(code ?? '', source) ?? unmodifiedText;\n        let command;\n        // The following commands need to be declared because Chromium doesn't\n        // handle them. See\n        // https://source.chromium.org/chromium/chromium/src/+/refs/heads/main:third_party/blink/renderer/core/editing/editing_behavior.cc;l=169;drc=b8143cf1dfd24842890fcd831c4f5d909bef4fc4;bpv=0;bpt=1.\n        if (this.#isMacOS && source.meta) {\n            switch (code) {\n                case 'KeyA':\n                    command = 'SelectAll';\n                    break;\n                case 'KeyC':\n                    command = 'Copy';\n                    break;\n                case 'KeyV':\n                    command = source.shift ? 'PasteAndMatchStyle' : 'Paste';\n                    break;\n                case 'KeyX':\n                    command = 'Cut';\n                    break;\n                case 'KeyZ':\n                    command = source.shift ? 'Redo' : 'Undo';\n                    break;\n                default:\n            }\n        }\n        return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchKeyEvent', {\n            type: text ? 'keyDown' : 'rawKeyDown',\n            windowsVirtualKeyCode: USKeyboardLayout_js_1.KeyToKeyCode[key],\n            key,\n            code,\n            text,\n            unmodifiedText,\n            autoRepeat: repeat,\n            isSystemKey: source.alt || undefined,\n            location: location < 3 ? location : undefined,\n            isKeypad: location === 3,\n            modifiers,\n            commands: command ? [command] : undefined,\n        });\n        // --- Platform-specific code ends here ---\n    }\n    #dispatchKeyUpAction(source, action) {\n        const rawKey = action.value;\n        const key = (0, keyUtils_js_1.getNormalizedKey)(rawKey);\n        if (!source.pressed.has(key)) {\n            return;\n        }\n        const code = (0, keyUtils_js_1.getKeyCode)(rawKey);\n        const location = (0, keyUtils_js_1.getKeyLocation)(rawKey);\n        switch (key) {\n            case 'Alt':\n                source.alt = false;\n                break;\n            case 'Shift':\n                source.shift = false;\n                break;\n            case 'Control':\n                source.ctrl = false;\n                break;\n            case 'Meta':\n                source.meta = false;\n                break;\n        }\n        source.pressed.delete(key);\n        const { modifiers } = source;\n        // --- Platform-specific code begins here ---\n        // The spread is a little hack so JS gives us an array of unicode characters\n        // to measure.\n        const unmodifiedText = getKeyEventUnmodifiedText(key, source);\n        const text = getKeyEventText(code ?? '', source) ?? unmodifiedText;\n        return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchKeyEvent', {\n            type: 'keyUp',\n            windowsVirtualKeyCode: USKeyboardLayout_js_1.KeyToKeyCode[key],\n            key,\n            code,\n            text,\n            unmodifiedText,\n            location: location < 3 ? location : undefined,\n            isSystemKey: source.alt || undefined,\n            isKeypad: location === 3,\n            modifiers,\n        });\n        // --- Platform-specific code ends here ---\n    }\n}\nexports.ActionDispatcher = ActionDispatcher;\nconst getKeyEventUnmodifiedText = (key, source) => {\n    if (key === 'Enter') {\n        return '\\r';\n    }\n    return [...key].length === 1\n        ? source.shift\n            ? key.toLocaleUpperCase('en-US')\n            : key\n        : undefined;\n};\nconst getKeyEventText = (code, source) => {\n    if (source.ctrl) {\n        switch (code) {\n            case 'Digit2':\n                if (source.shift) {\n                    return '\\x00';\n                }\n                break;\n            case 'KeyA':\n                return '\\x01';\n            case 'KeyB':\n                return '\\x02';\n            case 'KeyC':\n                return '\\x03';\n            case 'KeyD':\n                return '\\x04';\n            case 'KeyE':\n                return '\\x05';\n            case 'KeyF':\n                return '\\x06';\n            case 'KeyG':\n                return '\\x07';\n            case 'KeyH':\n                return '\\x08';\n            case 'KeyI':\n                return '\\x09';\n            case 'KeyJ':\n                return '\\x0A';\n            case 'KeyK':\n                return '\\x0B';\n            case 'KeyL':\n                return '\\x0C';\n            case 'KeyM':\n                return '\\x0D';\n            case 'KeyN':\n                return '\\x0E';\n            case 'KeyO':\n                return '\\x0F';\n            case 'KeyP':\n                return '\\x10';\n            case 'KeyQ':\n                return '\\x11';\n            case 'KeyR':\n                return '\\x12';\n            case 'KeyS':\n                return '\\x13';\n            case 'KeyT':\n                return '\\x14';\n            case 'KeyU':\n                return '\\x15';\n            case 'KeyV':\n                return '\\x16';\n            case 'KeyW':\n                return '\\x17';\n            case 'KeyX':\n                return '\\x18';\n            case 'KeyY':\n                return '\\x19';\n            case 'KeyZ':\n                return '\\x1A';\n            case 'BracketLeft':\n                return '\\x1B';\n            case 'Backslash':\n                return '\\x1C';\n            case 'BracketRight':\n                return '\\x1D';\n            case 'Digit6':\n                if (source.shift) {\n                    return '\\x1E';\n                }\n                break;\n            case 'Minus':\n                return '\\x1F';\n        }\n        return '';\n    }\n    if (source.alt) {\n        return '';\n    }\n    return;\n};\n//# sourceMappingURL=ActionDispatcher.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PreloadScriptStorage = void 0;\n/**\n * Container class for preload scripts.\n */\nclass PreloadScriptStorage {\n    /** Tracks all BiDi preload scripts.  */\n    #scripts = new Set();\n    /** Finds all entries that match the given filter. */\n    findPreloadScripts(filter) {\n        if (!filter) {\n            return [...this.#scripts];\n        }\n        return [...this.#scripts].filter((script) => {\n            if (filter.id !== undefined && filter.id !== script.id) {\n                return false;\n            }\n            if (filter.contextId !== undefined &&\n                filter.contextId !== script.contextId) {\n                return false;\n            }\n            if (filter.contextIds !== undefined &&\n                !filter.contextIds.includes(script.contextId)) {\n                return false;\n            }\n            if (filter.targetId !== undefined &&\n                !script.targetIds.has(filter.targetId)) {\n                return false;\n            }\n            return true;\n        });\n    }\n    addPreloadScript(preloadScript) {\n        this.#scripts.add(preloadScript);\n    }\n    /** Deletes all BiDi preload script entries that match the given filter. */\n    removeBiDiPreloadScripts(filter) {\n        for (const preloadScript of this.findPreloadScripts(filter)) {\n            this.#scripts.delete(preloadScript);\n        }\n    }\n}\nexports.PreloadScriptStorage = PreloadScriptStorage;\n//# sourceMappingURL=PreloadScriptStorage.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.inchesFromCm = void 0;\n/** @return Given an input in cm, convert it to inches. */\nfunction inchesFromCm(cm) {\n    return cm / 2.54;\n}\nexports.inchesFromCm = inchesFromCm;\n//# sourceMappingURL=unitConversions.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Deferred = void 0;\nclass Deferred {\n    #isFinished = false;\n    #promise;\n    #resolve;\n    #reject;\n    get isFinished() {\n        return this.#isFinished;\n    }\n    constructor() {\n        this.#promise = new Promise((resolve, reject) => {\n            this.#resolve = resolve;\n            this.#reject = reject;\n        });\n        // Needed to avoid `Uncaught (in promise)`. The promises returned by `then`\n        // and `catch` will be rejected anyway.\n        this.#promise.catch((_error) => {\n            // Intentionally empty.\n        });\n    }\n    then(onFulfilled, onRejected) {\n        return this.#promise.then(onFulfilled, onRejected);\n    }\n    catch(onRejected) {\n        return this.#promise.catch(onRejected);\n    }\n    resolve(value) {\n        this.#isFinished = true;\n        this.#resolve?.(value);\n    }\n    reject(reason) {\n        this.#isFinished = true;\n        this.#reject?.(reason);\n    }\n    finally(onFinally) {\n        return this.#promise.finally(onFinally);\n    }\n    [Symbol.toStringTag] = 'Promise';\n}\nexports.Deferred = Deferred;\n//# sourceMappingURL=deferred.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uuidv4 = void 0;\n/**\n * Generates a random v4 UUID, as specified in RFC4122.\n *\n * Uses the native Web Crypto API if available, otherwise falls back to a\n * polyfill.\n *\n * Example: '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n */\nfunction uuidv4() {\n    // Available only in secure contexts\n    // https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API\n    if ('crypto' in globalThis && 'randomUUID' in globalThis.crypto) {\n        // Node with\n        // https://nodejs.org/dist/latest-v20.x/docs/api/globals.html#crypto_1 or\n        // secure browser context.\n        return globalThis.crypto.randomUUID();\n    }\n    const randomValues = new Uint8Array(16);\n    if ('crypto' in globalThis && 'getRandomValues' in globalThis.crypto) {\n        // Node with\n        // https://nodejs.org/dist/latest-v20.x/docs/api/globals.html#crypto_1 or\n        // browser.\n        globalThis.crypto.getRandomValues(randomValues);\n    }\n    else {\n        // Node without\n        // https://nodejs.org/dist/latest-v20.x/docs/api/globals.html#crypto_1.\n        // eslint-disable-next-line @typescript-eslint/no-var-requires\n        require('crypto').webcrypto.getRandomValues(randomValues);\n    }\n    // Set version (4) and variant (RFC4122) bits.\n    randomValues[6] = (randomValues[6] & 0x0f) | 0x40;\n    randomValues[8] = (randomValues[8] & 0x3f) | 0x80;\n    const bytesToHex = (bytes) => bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');\n    return [\n        bytesToHex(randomValues.subarray(0, 4)),\n        bytesToHex(randomValues.subarray(4, 6)),\n        bytesToHex(randomValues.subarray(6, 8)),\n        bytesToHex(randomValues.subarray(8, 10)),\n        bytesToHex(randomValues.subarray(10, 16)),\n    ].join('-');\n}\nexports.uuidv4 = uuidv4;\n//# sourceMappingURL=uuid.js.map","\"use strict\";\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChannelProxy = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst uuid_1 = require(\"../../../utils/uuid\");\n/**\n * Used to send messages from realm to BiDi user.\n */\nclass ChannelProxy {\n    #properties;\n    #id = (0, uuid_1.uuidv4)();\n    constructor(channel) {\n        if (![0, null, undefined].includes(channel.serializationOptions?.maxDomDepth)) {\n            throw new Error('serializationOptions.maxDomDepth other than 0 or null is not supported');\n        }\n        if (![undefined, 'none'].includes(channel.serializationOptions?.includeShadowTree)) {\n            throw new Error('serializationOptions.includeShadowTree other than \"none\" is not supported');\n        }\n        this.#properties = channel;\n    }\n    /**\n     * Creates a channel proxy in the given realm, initialises listener and\n     * returns a handle to `sendMessage` delegate.\n     */\n    async init(realm, eventManager) {\n        const channelHandle = await ChannelProxy.#createAndGetHandleInRealm(realm);\n        const sendMessageHandle = await ChannelProxy.#createSendMessageHandle(realm, channelHandle);\n        void this.#startListener(realm, channelHandle, eventManager);\n        return sendMessageHandle;\n    }\n    /** Gets a ChannelProxy from window and returns its handle. */\n    async startListenerFromWindow(realm, eventManager) {\n        const channelHandle = await this.#getHandleFromWindow(realm);\n        void this.#startListener(realm, channelHandle, eventManager);\n    }\n    /**\n     * Evaluation string which creates a ChannelProxy object on the client side.\n     */\n    static #createChannelProxyEvalStr() {\n        const functionStr = String(() => {\n            const queue = [];\n            let queueNonEmptyResolver = null;\n            return {\n                /**\n                 * Gets a promise, which is resolved as soon as a message occurs\n                 * in the queue.\n                 */\n                async getMessage() {\n                    const onMessage = queue.length > 0\n                        ? Promise.resolve()\n                        : new Promise((resolve) => {\n                            queueNonEmptyResolver = resolve;\n                        });\n                    await onMessage;\n                    return queue.shift();\n                },\n                /**\n                 * Adds a message to the queue.\n                 * Resolves the pending promise if needed.\n                 */\n                sendMessage(message) {\n                    queue.push(message);\n                    if (queueNonEmptyResolver !== null) {\n                        queueNonEmptyResolver();\n                        queueNonEmptyResolver = null;\n                    }\n                },\n            };\n        });\n        return `(${functionStr})()`;\n    }\n    /** Creates a ChannelProxy in the given realm. */\n    static async #createAndGetHandleInRealm(realm) {\n        const createChannelHandleResult = await realm.cdpClient.sendCommand('Runtime.evaluate', {\n            expression: this.#createChannelProxyEvalStr(),\n            contextId: realm.executionContextId,\n            serializationOptions: {\n                serialization: 'idOnly',\n            },\n        });\n        if (createChannelHandleResult.exceptionDetails ||\n            createChannelHandleResult.result.objectId === undefined) {\n            throw new Error(`Cannot create channel`);\n        }\n        return createChannelHandleResult.result.objectId;\n    }\n    /** Gets a handle to `sendMessage` delegate from the ChannelProxy handle. */\n    static async #createSendMessageHandle(realm, channelHandle) {\n        const sendMessageArgResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n            functionDeclaration: String((channelHandle) => {\n                return channelHandle.sendMessage;\n            }),\n            arguments: [{ objectId: channelHandle }],\n            executionContextId: realm.executionContextId,\n            serializationOptions: {\n                serialization: 'idOnly',\n            },\n        });\n        // TODO: check for exceptionDetails.\n        return sendMessageArgResult.result.objectId;\n    }\n    /** Starts listening for the channel events of the provided ChannelProxy. */\n    async #startListener(realm, channelHandle, eventManager) {\n        // TODO(#294): Remove this loop after the realm is destroyed.\n        // Rely on the CDP throwing exception in such a case.\n        // noinspection InfiniteLoopJS\n        for (;;) {\n            const message = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n                functionDeclaration: String(async (channelHandle) => channelHandle.getMessage()),\n                arguments: [\n                    {\n                        objectId: channelHandle,\n                    },\n                ],\n                awaitPromise: true,\n                executionContextId: realm.executionContextId,\n                serializationOptions: {\n                    serialization: 'deep',\n                    ...(this.#properties.serializationOptions?.maxObjectDepth ===\n                        undefined ||\n                        this.#properties.serializationOptions.maxObjectDepth === null\n                        ? {}\n                        : {\n                            maxDepth: this.#properties.serializationOptions.maxObjectDepth,\n                        }),\n                },\n            });\n            if (message.exceptionDetails) {\n                // TODO: add logging.\n                // TODO: check if a error should be thrown.\n                return;\n            }\n            eventManager.registerEvent({\n                method: protocol_js_1.Script.EventNames.MessageEvent,\n                params: {\n                    channel: this.#properties.channel,\n                    data: realm.cdpToBidiValue(message, this.#properties.ownership ?? 'none'),\n                    source: {\n                        realm: realm.realmId,\n                        context: realm.browsingContextId,\n                    },\n                },\n            }, realm.browsingContextId);\n        }\n    }\n    /**\n     * Returns a handle of ChannelProxy from window's property which was set there\n     * by `getEvalInWindowStr`. If window property is not set yet, sets a promise\n     * resolver to the window property, so that `getEvalInWindowStr` can resolve\n     * the promise later on with the channel.\n     * This is needed because `getEvalInWindowStr` can be called before or\n     * after this method.\n     */\n    async #getHandleFromWindow(realm) {\n        const channelHandleResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n            functionDeclaration: String((id) => {\n                const w = window;\n                if (w[id] === undefined) {\n                    // The channelProxy is not created yet. Create a promise, put the\n                    // resolver to window property and return the promise.\n                    // `getEvalInWindowStr` will resolve the promise later.\n                    return new Promise((resolve) => (w[id] = resolve));\n                }\n                // The channelProxy is already created by `getEvalInWindowStr` and\n                // is set into window property. Return it.\n                const channelProxy = w[id];\n                delete w[id];\n                return channelProxy;\n            }),\n            arguments: [{ value: this.#id }],\n            executionContextId: realm.executionContextId,\n            awaitPromise: true,\n            serializationOptions: {\n                serialization: 'idOnly',\n            },\n        });\n        if (channelHandleResult.exceptionDetails !== undefined ||\n            channelHandleResult.result.objectId === undefined) {\n            throw new Error(`ChannelHandle not found in window[\"${this.#id}\"]`);\n        }\n        return channelHandleResult.result.objectId;\n    }\n    /**\n     * String to be evaluated to create a ProxyChannel and put it to window.\n     * Returns the delegate `sendMessage`. Used to provide an argument for preload\n     * script. Does the following:\n     * 1. Creates a ChannelProxy.\n     * 2. Puts the ChannelProxy to window['${this.#id}'] or resolves the promise\n     *    by calling delegate stored in window['${this.#id}'].\n     *    This is needed because `#getHandleFromWindow` can be called before or\n     *    after this method.\n     * 3. Returns the delegate `sendMessage` of the created ChannelProxy.\n     */\n    getEvalInWindowStr() {\n        const delegate = String((id, channelProxy) => {\n            const w = window;\n            if (w[id] === undefined) {\n                // `#getHandleFromWindow` is not initialized yet, and will get the\n                // channelProxy later.\n                w[id] = channelProxy;\n            }\n            else {\n                // `#getHandleFromWindow` is already set a delegate to window property\n                // and is waiting for it to be called with the channelProxy.\n                w[id](channelProxy);\n                delete w[id];\n            }\n            return channelProxy.sendMessage;\n        });\n        const channelProxyEval = ChannelProxy.#createChannelProxyEvalStr();\n        return `(${delegate})('${this.#id}',${channelProxyEval})`;\n    }\n}\nexports.ChannelProxy = ChannelProxy;\n//# sourceMappingURL=channelProxy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScriptEvaluator = exports.SHARED_ID_DIVIDER = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst channelProxy_js_1 = require(\"./channelProxy.js\");\n// As `script.evaluate` wraps call into serialization script, `lineNumber`\n// should be adjusted.\nconst CALL_FUNCTION_STACKTRACE_LINE_OFFSET = 1;\nconst EVALUATE_STACKTRACE_LINE_OFFSET = 0;\nexports.SHARED_ID_DIVIDER = '_element_';\nclass ScriptEvaluator {\n    #eventManager;\n    constructor(eventManager) {\n        this.#eventManager = eventManager;\n    }\n    /**\n     * Gets the string representation of an object. This is equivalent to\n     * calling toString() on the object value.\n     * @param cdpObject CDP remote object representing an object.\n     * @param realm\n     * @return string The stringified object.\n     */\n    static async stringifyObject(cdpObject, realm) {\n        const stringifyResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n            functionDeclaration: String((obj) => {\n                return String(obj);\n            }),\n            awaitPromise: false,\n            arguments: [cdpObject],\n            returnByValue: true,\n            executionContextId: realm.executionContextId,\n        });\n        return stringifyResult.result.value;\n    }\n    /**\n     * Serializes a given CDP object into BiDi, keeping references in the\n     * target's `globalThis`.\n     * @param cdpRemoteObject CDP remote object to be serialized.\n     * @param resultOwnership Indicates desired ResultOwnership.\n     * @param realm\n     */\n    async serializeCdpObject(cdpRemoteObject, resultOwnership, realm) {\n        const arg = ScriptEvaluator.#cdpRemoteObjectToCallArgument(cdpRemoteObject);\n        const cdpWebDriverValue = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n            functionDeclaration: String((obj) => obj),\n            awaitPromise: false,\n            arguments: [arg],\n            serializationOptions: {\n                serialization: 'deep',\n            },\n            executionContextId: realm.executionContextId,\n        });\n        return realm.cdpToBidiValue(cdpWebDriverValue, resultOwnership);\n    }\n    async scriptEvaluate(realm, expression, awaitPromise, resultOwnership, serializationOptions) {\n        if (![0, null, undefined].includes(serializationOptions.maxDomDepth))\n            throw new Error('serializationOptions.maxDomDepth other than 0 or null is not supported');\n        const cdpEvaluateResult = await realm.cdpClient.sendCommand('Runtime.evaluate', {\n            contextId: realm.executionContextId,\n            expression,\n            awaitPromise,\n            serializationOptions: {\n                serialization: 'deep',\n                ...(serializationOptions.maxObjectDepth === undefined ||\n                    serializationOptions.maxObjectDepth === null\n                    ? {}\n                    : { maxDepth: serializationOptions.maxObjectDepth }),\n            },\n        });\n        if (cdpEvaluateResult.exceptionDetails) {\n            // Serialize exception details.\n            return {\n                exceptionDetails: await this.#serializeCdpExceptionDetails(cdpEvaluateResult.exceptionDetails, EVALUATE_STACKTRACE_LINE_OFFSET, resultOwnership, realm),\n                type: 'exception',\n                realm: realm.realmId,\n            };\n        }\n        return {\n            type: 'success',\n            result: realm.cdpToBidiValue(cdpEvaluateResult, resultOwnership),\n            realm: realm.realmId,\n        };\n    }\n    async callFunction(realm, functionDeclaration, _this, _arguments, awaitPromise, resultOwnership, serializationOptions) {\n        if (![0, null, undefined].includes(serializationOptions.maxDomDepth))\n            throw new Error('serializationOptions.maxDomDepth other than 0 or null is not supported');\n        const callFunctionAndSerializeScript = `(...args)=>{ return _callFunction((\\n${functionDeclaration}\\n), args);\n      function _callFunction(f, args) {\n        const deserializedThis = args.shift();\n        const deserializedArgs = args;\n        return f.apply(deserializedThis, deserializedArgs);\n      }}`;\n        const thisAndArgumentsList = [\n            await this.#deserializeToCdpArg(_this, realm),\n        ];\n        thisAndArgumentsList.push(...(await Promise.all(_arguments.map(async (a) => {\n            return this.#deserializeToCdpArg(a, realm);\n        }))));\n        let cdpCallFunctionResult;\n        try {\n            cdpCallFunctionResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n                functionDeclaration: callFunctionAndSerializeScript,\n                awaitPromise,\n                arguments: thisAndArgumentsList,\n                serializationOptions: {\n                    serialization: 'deep',\n                    ...(serializationOptions.maxObjectDepth === undefined ||\n                        serializationOptions.maxObjectDepth === null\n                        ? {}\n                        : { maxDepth: serializationOptions.maxObjectDepth }),\n                },\n                executionContextId: realm.executionContextId,\n            });\n        }\n        catch (e) {\n            // Heuristic to determine if the problem is in the argument.\n            // The check can be done on the `deserialization` step, but this approach\n            // helps to save round-trips.\n            if (e.code === -32000 &&\n                [\n                    'Could not find object with given id',\n                    'Argument should belong to the same JavaScript world as target object',\n                    'Invalid remote object id',\n                ].includes(e.message)) {\n                throw new protocol_js_1.Message.NoSuchHandleException('Handle was not found.');\n            }\n            throw e;\n        }\n        if (cdpCallFunctionResult.exceptionDetails) {\n            // Serialize exception details.\n            return {\n                exceptionDetails: await this.#serializeCdpExceptionDetails(cdpCallFunctionResult.exceptionDetails, CALL_FUNCTION_STACKTRACE_LINE_OFFSET, resultOwnership, realm),\n                type: 'exception',\n                realm: realm.realmId,\n            };\n        }\n        return {\n            type: 'success',\n            result: realm.cdpToBidiValue(cdpCallFunctionResult, resultOwnership),\n            realm: realm.realmId,\n        };\n    }\n    static #cdpRemoteObjectToCallArgument(cdpRemoteObject) {\n        if (cdpRemoteObject.objectId !== undefined) {\n            return { objectId: cdpRemoteObject.objectId };\n        }\n        if (cdpRemoteObject.unserializableValue !== undefined) {\n            return { unserializableValue: cdpRemoteObject.unserializableValue };\n        }\n        return { value: cdpRemoteObject.value };\n    }\n    async #deserializeToCdpArg(argumentValue, realm) {\n        if ('sharedId' in argumentValue) {\n            const [navigableId, rawBackendNodeId] = argumentValue.sharedId.split(exports.SHARED_ID_DIVIDER);\n            const backendNodeId = parseInt(rawBackendNodeId ?? '');\n            if (isNaN(backendNodeId) ||\n                backendNodeId === undefined ||\n                navigableId === undefined) {\n                throw new protocol_js_1.Message.NoSuchNodeException(`SharedId \"${argumentValue.sharedId}\" was not found.`);\n            }\n            if (realm.navigableId !== navigableId) {\n                throw new protocol_js_1.Message.NoSuchNodeException(`SharedId \"${argumentValue.sharedId}\" belongs to different document. Current document is ${realm.navigableId}.`);\n            }\n            try {\n                const obj = await realm.cdpClient.sendCommand('DOM.resolveNode', {\n                    backendNodeId,\n                    executionContextId: realm.executionContextId,\n                });\n                // TODO(#375): Release `obj.object.objectId` after using.\n                return { objectId: obj.object.objectId };\n            }\n            catch (e) {\n                // Heuristic to detect \"no such node\" exception. Based on the  specific\n                // CDP implementation.\n                if (e.code === -32000 && e.message === 'No node with given id found') {\n                    throw new protocol_js_1.Message.NoSuchNodeException(`SharedId \"${argumentValue.sharedId}\" was not found.`);\n                }\n                throw e;\n            }\n        }\n        if ('handle' in argumentValue) {\n            return { objectId: argumentValue.handle };\n        }\n        switch (argumentValue.type) {\n            // Primitive Protocol Value\n            // https://w3c.github.io/webdriver-bidi/#data-types-protocolValue-primitiveProtocolValue\n            case 'undefined':\n                return { unserializableValue: 'undefined' };\n            case 'null':\n                return { unserializableValue: 'null' };\n            case 'string':\n                return { value: argumentValue.value };\n            case 'number':\n                if (argumentValue.value === 'NaN') {\n                    return { unserializableValue: 'NaN' };\n                }\n                else if (argumentValue.value === '-0') {\n                    return { unserializableValue: '-0' };\n                }\n                else if (argumentValue.value === 'Infinity') {\n                    return { unserializableValue: 'Infinity' };\n                }\n                else if (argumentValue.value === '-Infinity') {\n                    return { unserializableValue: '-Infinity' };\n                }\n                return {\n                    value: argumentValue.value,\n                };\n            case 'boolean':\n                return { value: Boolean(argumentValue.value) };\n            case 'bigint':\n                return {\n                    unserializableValue: `BigInt(${JSON.stringify(argumentValue.value)})`,\n                };\n            case 'date':\n                return {\n                    unserializableValue: `new Date(Date.parse(${JSON.stringify(argumentValue.value)}))`,\n                };\n            case 'regexp':\n                return {\n                    unserializableValue: `new RegExp(${JSON.stringify(argumentValue.value.pattern)}, ${JSON.stringify(argumentValue.value.flags)})`,\n                };\n            case 'map': {\n                // TODO: If none of the nested keys and values has a remote\n                // reference, serialize to `unserializableValue` without CDP roundtrip.\n                const keyValueArray = await this.#flattenKeyValuePairs(argumentValue.value, realm);\n                const argEvalResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n                    functionDeclaration: String((...args) => {\n                        const result = new Map();\n                        for (let i = 0; i < args.length; i += 2) {\n                            result.set(args[i], args[i + 1]);\n                        }\n                        return result;\n                    }),\n                    awaitPromise: false,\n                    arguments: keyValueArray,\n                    returnByValue: false,\n                    executionContextId: realm.executionContextId,\n                });\n                // TODO(#375): Release `argEvalResult.result.objectId` after using.\n                return { objectId: argEvalResult.result.objectId };\n            }\n            case 'object': {\n                // TODO: If none of the nested keys and values has a remote\n                //  reference, serialize to `unserializableValue` without CDP roundtrip.\n                const keyValueArray = await this.#flattenKeyValuePairs(argumentValue.value, realm);\n                const argEvalResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n                    functionDeclaration: String((...args) => {\n                        const result = {};\n                        for (let i = 0; i < args.length; i += 2) {\n                            // Key should be either `string`, `number`, or `symbol`.\n                            const key = args[i];\n                            result[key] = args[i + 1];\n                        }\n                        return result;\n                    }),\n                    awaitPromise: false,\n                    arguments: keyValueArray,\n                    returnByValue: false,\n                    executionContextId: realm.executionContextId,\n                });\n                // TODO(#375): Release `argEvalResult.result.objectId` after using.\n                return { objectId: argEvalResult.result.objectId };\n            }\n            case 'array': {\n                // TODO: If none of the nested items has a remote reference,\n                // serialize to `unserializableValue` without CDP roundtrip.\n                const args = await this.#flattenValueList(argumentValue.value, realm);\n                const argEvalResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n                    functionDeclaration: String((...args) => {\n                        return args;\n                    }),\n                    awaitPromise: false,\n                    arguments: args,\n                    returnByValue: false,\n                    executionContextId: realm.executionContextId,\n                });\n                // TODO(#375): Release `argEvalResult.result.objectId` after using.\n                return { objectId: argEvalResult.result.objectId };\n            }\n            case 'set': {\n                // TODO: if none of the nested items has a remote reference,\n                // serialize to `unserializableValue` without CDP roundtrip.\n                const args = await this.#flattenValueList(argumentValue.value, realm);\n                const argEvalResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n                    functionDeclaration: String((...args) => {\n                        return new Set(args);\n                    }),\n                    awaitPromise: false,\n                    arguments: args,\n                    returnByValue: false,\n                    executionContextId: realm.executionContextId,\n                });\n                // TODO(#375): Release `argEvalResult.result.objectId` after using.\n                return { objectId: argEvalResult.result.objectId };\n            }\n            case 'channel': {\n                const channelProxy = new channelProxy_js_1.ChannelProxy(argumentValue.value);\n                const channelProxySendMessageHandle = await channelProxy.init(realm, this.#eventManager);\n                return { objectId: channelProxySendMessageHandle };\n            }\n            // TODO(#375): Dispose of nested objects.\n            default:\n                throw new Error(`Value ${JSON.stringify(argumentValue)} is not deserializable.`);\n        }\n    }\n    async #flattenKeyValuePairs(mapping, realm) {\n        const keyValueArray = [];\n        for (const [key, value] of mapping) {\n            let keyArg;\n            if (typeof key === 'string') {\n                // Key is a string.\n                keyArg = { value: key };\n            }\n            else {\n                // Key is a serialized value.\n                keyArg = await this.#deserializeToCdpArg(key, realm);\n            }\n            const valueArg = await this.#deserializeToCdpArg(value, realm);\n            keyValueArray.push(keyArg);\n            keyValueArray.push(valueArg);\n        }\n        return keyValueArray;\n    }\n    async #flattenValueList(list, realm) {\n        return Promise.all(list.map((value) => this.#deserializeToCdpArg(value, realm)));\n    }\n    async #serializeCdpExceptionDetails(cdpExceptionDetails, lineOffset, resultOwnership, realm) {\n        const callFrames = cdpExceptionDetails.stackTrace?.callFrames.map((frame) => ({\n            url: frame.url,\n            functionName: frame.functionName,\n            // As `script.evaluate` wraps call into serialization script, so\n            // `lineNumber` should be adjusted.\n            lineNumber: frame.lineNumber - lineOffset,\n            columnNumber: frame.columnNumber,\n        }));\n        const exception = await this.serializeCdpObject(\n        // Exception should always be there.\n        cdpExceptionDetails.exception, resultOwnership, realm);\n        const text = await ScriptEvaluator.stringifyObject(cdpExceptionDetails.exception, realm);\n        return {\n            exception,\n            columnNumber: cdpExceptionDetails.columnNumber,\n            // As `script.evaluate` wraps call into serialization script, so\n            // `lineNumber` should be adjusted.\n            lineNumber: cdpExceptionDetails.lineNumber - lineOffset,\n            stackTrace: {\n                callFrames: callFrames ?? [],\n            },\n            text: text || cdpExceptionDetails.text,\n        };\n    }\n}\nexports.ScriptEvaluator = ScriptEvaluator;\n//# sourceMappingURL=scriptEvaluator.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Realm = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst log_js_1 = require(\"../../../utils/log.js\");\nconst scriptEvaluator_js_1 = require(\"./scriptEvaluator.js\");\nclass Realm {\n    #realmStorage;\n    #browsingContextStorage;\n    #realmId;\n    #browsingContextId;\n    #executionContextId;\n    #origin;\n    #type;\n    #cdpClient;\n    #eventManager;\n    #scriptEvaluator;\n    sandbox;\n    cdpSessionId;\n    #logger;\n    constructor(realmStorage, browsingContextStorage, realmId, browsingContextId, executionContextId, origin, type, sandbox, cdpSessionId, cdpClient, eventManager, logger) {\n        this.#realmId = realmId;\n        this.#browsingContextId = browsingContextId;\n        this.#executionContextId = executionContextId;\n        this.sandbox = sandbox;\n        this.#origin = origin;\n        this.#type = type;\n        this.cdpSessionId = cdpSessionId;\n        this.#cdpClient = cdpClient;\n        this.#realmStorage = realmStorage;\n        this.#browsingContextStorage = browsingContextStorage;\n        this.#eventManager = eventManager;\n        this.#scriptEvaluator = new scriptEvaluator_js_1.ScriptEvaluator(this.#eventManager);\n        this.#realmStorage.addRealm(this);\n        this.#logger = logger;\n        this.#eventManager.registerEvent({\n            method: protocol_js_1.Script.EventNames.RealmCreated,\n            params: this.toBiDi(),\n        }, this.browsingContextId);\n    }\n    async #releaseObject(handle) {\n        try {\n            await this.cdpClient.sendCommand('Runtime.releaseObject', {\n                objectId: handle,\n            });\n        }\n        catch (e) {\n            // Heuristic to determine if the problem is in the unknown handler.\n            // Ignore the error if so.\n            if (!(e.code === -32000 && e.message === 'Invalid remote object id')) {\n                throw e;\n            }\n        }\n    }\n    async disown(handle) {\n        // Disowning an object from different realm does nothing.\n        if (this.#realmStorage.knownHandlesToRealm.get(handle) !== this.realmId) {\n            return;\n        }\n        await this.#releaseObject(handle);\n        this.#realmStorage.knownHandlesToRealm.delete(handle);\n    }\n    cdpToBidiValue(cdpValue, resultOwnership) {\n        const deepSerializedValue = cdpValue.result.deepSerializedValue;\n        const bidiValue = this.deepSerializedToBiDi(deepSerializedValue);\n        if (cdpValue.result.objectId) {\n            const objectId = cdpValue.result.objectId;\n            if (resultOwnership === 'root') {\n                // Extend BiDi value with `handle` based on required `resultOwnership`\n                // and  CDP response but not on the actual BiDi type.\n                bidiValue.handle = objectId;\n                // Remember all the handles sent to client.\n                this.#realmStorage.knownHandlesToRealm.set(objectId, this.realmId);\n            }\n            else {\n                // No need in awaiting for the object to be released.\n                void this.#releaseObject(objectId).catch((error) => this.#logger?.(log_js_1.LogType.system, error));\n            }\n        }\n        return bidiValue;\n    }\n    deepSerializedToBiDi(webDriverValue) {\n        // This relies on the CDP to implement proper BiDi serialization, except\n        // backendNodeId/sharedId and `platformobject`.\n        const result = webDriverValue;\n        if (Object.hasOwn(result, 'weakLocalObjectReference')) {\n            result.internalId = `${result.weakLocalObjectReference}`;\n            delete result['weakLocalObjectReference'];\n        }\n        // Platform object is a special case. It should have only `{type: object}`\n        // without `value` field.\n        if (result.type === 'platformobject') {\n            return { type: 'object' };\n        }\n        const bidiValue = result.value;\n        if (bidiValue === undefined) {\n            return result;\n        }\n        if (result.type === 'node') {\n            if (Object.hasOwn(bidiValue, 'backendNodeId')) {\n                // eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n                result.sharedId = `${this.navigableId}${scriptEvaluator_js_1.SHARED_ID_DIVIDER}${bidiValue.backendNodeId}`;\n                delete bidiValue['backendNodeId'];\n            }\n            if (Object.hasOwn(bidiValue, 'children')) {\n                for (const i in bidiValue.children) {\n                    bidiValue.children[i] = this.deepSerializedToBiDi(bidiValue.children[i]);\n                }\n            }\n        }\n        // Recursively update the nested values.\n        if (['array', 'set'].includes(webDriverValue.type)) {\n            for (const i in bidiValue) {\n                bidiValue[i] = this.deepSerializedToBiDi(bidiValue[i]);\n            }\n        }\n        if (['object', 'map'].includes(webDriverValue.type)) {\n            for (const i in bidiValue) {\n                bidiValue[i] = [\n                    this.deepSerializedToBiDi(bidiValue[i][0]),\n                    this.deepSerializedToBiDi(bidiValue[i][1]),\n                ];\n            }\n        }\n        return result;\n    }\n    toBiDi() {\n        return {\n            realm: this.realmId,\n            origin: this.origin,\n            type: this.type,\n            context: this.browsingContextId,\n            ...(this.sandbox === undefined ? {} : { sandbox: this.sandbox }),\n        };\n    }\n    get realmId() {\n        return this.#realmId;\n    }\n    get navigableId() {\n        return (this.#browsingContextStorage.findContext(this.#browsingContextId)\n            ?.navigableId ?? 'UNKNOWN');\n    }\n    get browsingContextId() {\n        return this.#browsingContextId;\n    }\n    get executionContextId() {\n        return this.#executionContextId;\n    }\n    get origin() {\n        return this.#origin;\n    }\n    get type() {\n        return this.#type;\n    }\n    get cdpClient() {\n        return this.#cdpClient;\n    }\n    async callFunction(functionDeclaration, _this, _arguments, awaitPromise, resultOwnership, serializationOptions) {\n        const context = this.#browsingContextStorage.getContext(this.browsingContextId);\n        await context.awaitUnblocked();\n        return {\n            result: await this.#scriptEvaluator.callFunction(this, functionDeclaration, _this, _arguments, awaitPromise, resultOwnership, serializationOptions),\n        };\n    }\n    async scriptEvaluate(expression, awaitPromise, resultOwnership, serializationOptions) {\n        const context = this.#browsingContextStorage.getContext(this.browsingContextId);\n        await context.awaitUnblocked();\n        return {\n            result: await this.#scriptEvaluator.scriptEvaluate(this, expression, awaitPromise, resultOwnership, serializationOptions),\n        };\n    }\n    /**\n     * Serializes a given CDP object into BiDi, keeping references in the\n     * target's `globalThis`.\n     * @param cdpObject CDP remote object to be serialized.\n     * @param resultOwnership Indicates desired ResultOwnership.\n     */\n    async serializeCdpObject(cdpObject, resultOwnership) {\n        return this.#scriptEvaluator.serializeCdpObject(cdpObject, resultOwnership, this);\n    }\n    /**\n     * Gets the string representation of an object. This is equivalent to\n     * calling toString() on the object value.\n     * @param cdpObject CDP remote object representing an object.\n     * @return string The stringified object.\n     */\n    async stringifyObject(cdpObject) {\n        return scriptEvaluator_js_1.ScriptEvaluator.stringifyObject(cdpObject, this);\n    }\n    delete() {\n        this.#eventManager.registerEvent({\n            method: protocol_js_1.Script.EventNames.RealmDestroyed,\n            params: {\n                realm: this.realmId,\n            },\n        }, this.browsingContextId);\n    }\n}\nexports.Realm = Realm;\n//# sourceMappingURL=realm.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowsingContextImpl = void 0;\nconst unitConversions_js_1 = require(\"../../../utils/unitConversions.js\");\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst log_js_1 = require(\"../../../utils/log.js\");\nconst deferred_js_1 = require(\"../../../utils/deferred.js\");\nconst realm_js_1 = require(\"../script/realm.js\");\nclass BrowsingContextImpl {\n    /** The ID of this browsing context. */\n    #id;\n    /**\n     * The ID of the parent browsing context.\n     * If null, this is a top-level context.\n     */\n    #parentId;\n    /** Direct children browsing contexts. */\n    #children = new Set();\n    #browsingContextStorage;\n    #deferreds = {\n        documentInitialized: new deferred_js_1.Deferred(),\n        Page: {\n            navigatedWithinDocument: new deferred_js_1.Deferred(),\n            lifecycleEvent: {\n                DOMContentLoaded: new deferred_js_1.Deferred(),\n                load: new deferred_js_1.Deferred(),\n            },\n        },\n    };\n    #url = 'about:blank';\n    #eventManager;\n    #realmStorage;\n    #loaderId;\n    #cdpTarget;\n    #maybeDefaultRealm;\n    #isNavigating = false;\n    #logger;\n    constructor(cdpTarget, realmStorage, id, parentId, eventManager, browsingContextStorage, logger) {\n        this.#cdpTarget = cdpTarget;\n        this.#realmStorage = realmStorage;\n        this.#id = id;\n        this.#parentId = parentId;\n        this.#eventManager = eventManager;\n        this.#browsingContextStorage = browsingContextStorage;\n        this.#logger = logger;\n    }\n    static create(cdpTarget, realmStorage, id, parentId, eventManager, browsingContextStorage, logger) {\n        const context = new BrowsingContextImpl(cdpTarget, realmStorage, id, parentId, eventManager, browsingContextStorage, logger);\n        context.#initListeners();\n        browsingContextStorage.addContext(context);\n        if (!context.isTopLevelContext()) {\n            context.parent.addChild(context.id);\n        }\n        eventManager.registerEvent({\n            method: protocol_js_1.BrowsingContext.EventNames.ContextCreatedEvent,\n            params: context.serializeToBidiValue(),\n        }, context.id);\n        return context;\n    }\n    static getTimestamp() {\n        // `timestamp` from the event is MonotonicTime, not real time, so\n        // the best Mapper can do is to set the timestamp to the epoch time\n        // of the event arrived.\n        // https://chromedevtools.github.io/devtools-protocol/tot/Network/#type-MonotonicTime\n        return new Date().getTime();\n    }\n    /**\n     * @see https://html.spec.whatwg.org/multipage/document-sequences.html#navigable\n     */\n    get navigableId() {\n        return this.#loaderId;\n    }\n    delete() {\n        this.#deleteAllChildren();\n        this.#realmStorage.deleteRealms({\n            browsingContextId: this.id,\n        });\n        // Remove context from the parent.\n        if (!this.isTopLevelContext()) {\n            this.parent.#children.delete(this.id);\n        }\n        this.#eventManager.registerEvent({\n            method: protocol_js_1.BrowsingContext.EventNames.ContextDestroyedEvent,\n            params: this.serializeToBidiValue(),\n        }, this.id);\n        this.#browsingContextStorage.deleteContextById(this.id);\n    }\n    /** Returns the ID of this context. */\n    get id() {\n        return this.#id;\n    }\n    /** Returns the parent context ID. */\n    get parentId() {\n        return this.#parentId;\n    }\n    /** Returns the parent context. */\n    get parent() {\n        if (this.parentId === null) {\n            return null;\n        }\n        return this.#browsingContextStorage.getContext(this.parentId);\n    }\n    /** Returns all direct children contexts. */\n    get directChildren() {\n        return [...this.#children].map((id) => this.#browsingContextStorage.getContext(id));\n    }\n    /** Returns all children contexts, flattened. */\n    get allChildren() {\n        const children = this.directChildren;\n        return children.concat(...children.map((child) => child.allChildren));\n    }\n    /**\n     * Returns true if this is a top-level context.\n     * This is the case whenever the parent context ID is null.\n     */\n    isTopLevelContext() {\n        return this.#parentId === null;\n    }\n    get top() {\n        // eslint-disable-next-line @typescript-eslint/no-this-alias\n        let topContext = this;\n        let parent = topContext.parent;\n        while (parent) {\n            topContext = parent;\n            parent = topContext.parent;\n        }\n        return topContext;\n    }\n    addChild(childId) {\n        this.#children.add(childId);\n    }\n    #deleteAllChildren() {\n        this.directChildren.map((child) => child.delete());\n    }\n    get #defaultRealm() {\n        if (this.#maybeDefaultRealm === undefined) {\n            throw new Error(`No default realm for browsing context ${this.#id}`);\n        }\n        return this.#maybeDefaultRealm;\n    }\n    get cdpTarget() {\n        return this.#cdpTarget;\n    }\n    updateCdpTarget(cdpTarget) {\n        this.#cdpTarget = cdpTarget;\n        this.#initListeners();\n    }\n    get url() {\n        return this.#url;\n    }\n    async awaitLoaded() {\n        await this.#deferreds.Page.lifecycleEvent.load;\n    }\n    awaitUnblocked() {\n        return this.#cdpTarget.targetUnblocked;\n    }\n    async getOrCreateSandbox(sandbox) {\n        if (sandbox === undefined || sandbox === '') {\n            return this.#defaultRealm;\n        }\n        let maybeSandboxes = this.#realmStorage.findRealms({\n            browsingContextId: this.id,\n            sandbox,\n        });\n        if (maybeSandboxes.length === 0) {\n            await this.#cdpTarget.cdpClient.sendCommand('Page.createIsolatedWorld', {\n                frameId: this.id,\n                worldName: sandbox,\n            });\n            // `Runtime.executionContextCreated` should be emitted by the time the\n            // previous command is done.\n            maybeSandboxes = this.#realmStorage.findRealms({\n                browsingContextId: this.id,\n                sandbox,\n            });\n        }\n        if (maybeSandboxes.length !== 1) {\n            throw Error(`Sandbox ${sandbox} wasn't created.`);\n        }\n        return maybeSandboxes[0];\n    }\n    serializeToBidiValue(maxDepth = 0, addParentField = true) {\n        return {\n            context: this.#id,\n            url: this.url,\n            children: maxDepth > 0\n                ? this.directChildren.map((c) => c.serializeToBidiValue(maxDepth - 1, false))\n                : null,\n            ...(addParentField ? { parent: this.#parentId } : {}),\n        };\n    }\n    onTargetInfoChanged(params) {\n        this.#url = params.targetInfo.url;\n        if (this.#isNavigating) {\n            this.#eventManager.registerEvent({\n                method: protocol_js_1.BrowsingContext.EventNames.NavigationStarted,\n                params: {\n                    context: this.id,\n                    // TODO: The network event is send before the CDP Page.frameStartedLoading\n                    // It theory there should be a way to get the data.\n                    navigation: null,\n                    timestamp: BrowsingContextImpl.getTimestamp(),\n                    url: this.#url,\n                },\n            }, this.id);\n            this.#isNavigating = false;\n        }\n    }\n    #initListeners() {\n        this.#cdpTarget.cdpClient.on('Page.frameNavigated', (params) => {\n            if (this.id !== params.frame.id) {\n                return;\n            }\n            const timestamp = BrowsingContextImpl.getTimestamp();\n            this.#url = params.frame.url + (params.frame.urlFragment ?? '');\n            // At the point the page is initialized, all the nested iframes from the\n            // previous page are detached and realms are destroyed.\n            // Remove children from context.\n            this.#deleteAllChildren();\n            this.#eventManager.registerEvent({\n                method: protocol_js_1.BrowsingContext.EventNames.FragmentNavigated,\n                params: {\n                    context: this.id,\n                    navigation: this.#loaderId ?? null,\n                    timestamp,\n                    url: this.#url,\n                },\n            }, this.id);\n        });\n        this.#cdpTarget.cdpClient.on('Page.navigatedWithinDocument', (params) => {\n            if (this.id !== params.frameId) {\n                return;\n            }\n            const timestamp = BrowsingContextImpl.getTimestamp();\n            this.#url = params.url;\n            this.#deferreds.Page.navigatedWithinDocument.resolve(params);\n            // TODO: Remove this once History event for BiDi are added\n            this.#eventManager.registerEvent({\n                method: protocol_js_1.BrowsingContext.EventNames.FragmentNavigated,\n                params: {\n                    context: this.id,\n                    navigation: null,\n                    timestamp,\n                    url: this.#url,\n                },\n            }, this.id);\n        });\n        this.#cdpTarget.cdpClient.on('Page.frameStartedLoading', (params) => {\n            if (this.id !== params.frameId) {\n                return;\n            }\n            this.#isNavigating = true;\n        });\n        this.#cdpTarget.cdpClient.on('Page.frameStoppedLoading', (params) => {\n            if (this.id !== params.frameId) {\n                return;\n            }\n            this.#isNavigating = false;\n        });\n        this.#cdpTarget.cdpClient.on('Page.lifecycleEvent', (params) => {\n            if (this.id !== params.frameId) {\n                return;\n            }\n            if (params.name === 'init') {\n                this.#documentChanged(params.loaderId);\n                this.#deferreds.documentInitialized.resolve();\n                return;\n            }\n            if (params.name === 'commit') {\n                this.#loaderId = params.loaderId;\n                return;\n            }\n            // Ignore event from not current navigation.\n            if (params.loaderId !== this.#loaderId) {\n                return;\n            }\n            const timestamp = BrowsingContextImpl.getTimestamp();\n            switch (params.name) {\n                case 'DOMContentLoaded':\n                    this.#deferreds.Page.lifecycleEvent.DOMContentLoaded.resolve(params);\n                    this.#eventManager.registerEvent({\n                        method: protocol_js_1.BrowsingContext.EventNames.DomContentLoadedEvent,\n                        params: {\n                            context: this.id,\n                            navigation: this.#loaderId ?? null,\n                            timestamp,\n                            url: this.#url,\n                        },\n                    }, this.id);\n                    break;\n                case 'load':\n                    this.#deferreds.Page.lifecycleEvent.load.resolve(params);\n                    this.#eventManager.registerEvent({\n                        method: protocol_js_1.BrowsingContext.EventNames.LoadEvent,\n                        params: {\n                            context: this.id,\n                            navigation: this.#loaderId ?? null,\n                            timestamp,\n                            url: this.#url,\n                        },\n                    }, this.id);\n                    break;\n            }\n        });\n        this.#cdpTarget.cdpClient.on('Runtime.executionContextCreated', (params) => {\n            if (params.context.auxData.frameId !== this.id) {\n                return;\n            }\n            // Only this execution contexts are supported for now.\n            if (!['default', 'isolated'].includes(params.context.auxData.type)) {\n                return;\n            }\n            const realm = new realm_js_1.Realm(this.#realmStorage, this.#browsingContextStorage, params.context.uniqueId, this.id, params.context.id, this.#getOrigin(params), \n            // XXX: differentiate types.\n            'window', \n            // Sandbox name for isolated world.\n            params.context.auxData.type === 'isolated'\n                ? params.context.name\n                : undefined, this.#cdpTarget.cdpSessionId, this.#cdpTarget.cdpClient, this.#eventManager, this.#logger);\n            if (params.context.auxData.isDefault) {\n                this.#maybeDefaultRealm = realm;\n                // Initialize ChannelProxy listeners for all the channels of all the\n                // preload scripts related to this BrowsingContext.\n                // TODO: extend for not default realms by the sandbox name.\n                void Promise.all(this.#cdpTarget\n                    .getChannels(this.id)\n                    .map((channel) => channel.startListenerFromWindow(realm, this.#eventManager)));\n            }\n        });\n        this.#cdpTarget.cdpClient.on('Runtime.executionContextDestroyed', (params) => {\n            this.#realmStorage.deleteRealms({\n                cdpSessionId: this.#cdpTarget.cdpSessionId,\n                executionContextId: params.executionContextId,\n            });\n        });\n        this.#cdpTarget.cdpClient.on('Runtime.executionContextsCleared', () => {\n            this.#realmStorage.deleteRealms({\n                cdpSessionId: this.#cdpTarget.cdpSessionId,\n            });\n        });\n    }\n    #getOrigin(params) {\n        if (params.context.auxData.type === 'isolated') {\n            // Sandbox should have the same origin as the context itself, but in CDP\n            // it has an empty one.\n            return this.#defaultRealm.origin;\n        }\n        // https://html.spec.whatwg.org/multipage/origin.html#ascii-serialisation-of-an-origin\n        return ['://', ''].includes(params.context.origin)\n            ? 'null'\n            : params.context.origin;\n    }\n    #documentChanged(loaderId) {\n        // Same document navigation.\n        if (loaderId === undefined || this.#loaderId === loaderId) {\n            if (this.#deferreds.Page.navigatedWithinDocument.isFinished) {\n                this.#deferreds.Page.navigatedWithinDocument =\n                    new deferred_js_1.Deferred();\n            }\n            else {\n                this.#logger?.(log_js_1.LogType.browsingContexts, 'Document changed (navigatedWithinDocument)');\n            }\n            return;\n        }\n        this.#resetDeferredsIfFinished();\n        this.#loaderId = loaderId;\n    }\n    #resetDeferredsIfFinished() {\n        if (this.#deferreds.documentInitialized.isFinished) {\n            this.#deferreds.documentInitialized = new deferred_js_1.Deferred();\n        }\n        else {\n            this.#logger?.(log_js_1.LogType.browsingContexts, 'Document changed (document initialized)');\n        }\n        if (this.#deferreds.Page.lifecycleEvent.DOMContentLoaded.isFinished) {\n            this.#deferreds.Page.lifecycleEvent.DOMContentLoaded =\n                new deferred_js_1.Deferred();\n        }\n        else {\n            this.#logger?.(log_js_1.LogType.browsingContexts, 'Document changed (DOMContentLoaded)');\n        }\n        if (this.#deferreds.Page.lifecycleEvent.load.isFinished) {\n            this.#deferreds.Page.lifecycleEvent.load =\n                new deferred_js_1.Deferred();\n        }\n        else {\n            this.#logger?.(log_js_1.LogType.browsingContexts, 'Document changed (load)');\n        }\n    }\n    async navigate(url, wait) {\n        await this.awaitUnblocked();\n        // TODO: handle loading errors.\n        const cdpNavigateResult = await this.#cdpTarget.cdpClient.sendCommand('Page.navigate', {\n            url,\n            frameId: this.id,\n        });\n        if (cdpNavigateResult.errorText) {\n            throw new protocol_js_1.Message.UnknownErrorException(cdpNavigateResult.errorText);\n        }\n        this.#documentChanged(cdpNavigateResult.loaderId);\n        switch (wait) {\n            case 'none':\n                break;\n            case 'interactive':\n                // No `loaderId` means same-document navigation.\n                if (cdpNavigateResult.loaderId === undefined) {\n                    await this.#deferreds.Page.navigatedWithinDocument;\n                }\n                else {\n                    await this.#deferreds.Page.lifecycleEvent.DOMContentLoaded;\n                }\n                break;\n            case 'complete':\n                // No `loaderId` means same-document navigation.\n                if (cdpNavigateResult.loaderId === undefined) {\n                    await this.#deferreds.Page.navigatedWithinDocument;\n                }\n                else {\n                    await this.awaitLoaded();\n                }\n                break;\n        }\n        return {\n            result: {\n                navigation: cdpNavigateResult.loaderId ?? null,\n                url,\n            },\n        };\n    }\n    async reload(ignoreCache, wait) {\n        await this.awaitUnblocked();\n        await this.#cdpTarget.cdpClient.sendCommand('Page.reload', {\n            ignoreCache,\n        });\n        this.#resetDeferredsIfFinished();\n        switch (wait) {\n            case 'none':\n                break;\n            case 'interactive':\n                await this.#deferreds.Page.lifecycleEvent.DOMContentLoaded;\n                break;\n            case 'complete':\n                await this.awaitLoaded();\n                break;\n        }\n        return { result: {} };\n    }\n    async setViewport(viewport) {\n        if (viewport === null) {\n            await this.#cdpTarget.cdpClient.sendCommand('Emulation.clearDeviceMetricsOverride');\n        }\n        else {\n            try {\n                await this.#cdpTarget.cdpClient.sendCommand('Emulation.setDeviceMetricsOverride', {\n                    width: viewport.width,\n                    height: viewport.height,\n                    deviceScaleFactor: 0,\n                    mobile: false,\n                    dontSetVisibleSize: true,\n                });\n            }\n            catch (err) {\n                if (err.message.startsWith(\n                // https://crsrc.org/c/content/browser/devtools/protocol/emulation_handler.cc;l=257;drc=2f6eee84cf98d4227e7c41718dd71b82f26d90ff\n                'Width and height values must be positive')) {\n                    throw new protocol_js_1.Message.UnsupportedOperationException('Provided viewport dimensions are not supported');\n                }\n                throw err;\n            }\n        }\n    }\n    async captureScreenshot() {\n        // XXX: Focus the original tab after the screenshot is taken.\n        // This is needed because the screenshot gets blocked until the active tab gets focus.\n        await this.#cdpTarget.cdpClient.sendCommand('Page.bringToFront');\n        let clip;\n        if (this.isTopLevelContext()) {\n            const { cssContentSize, cssLayoutViewport } = await this.#cdpTarget.cdpClient.sendCommand('Page.getLayoutMetrics');\n            clip = {\n                x: cssContentSize.x,\n                y: cssContentSize.y,\n                width: cssLayoutViewport.clientWidth,\n                height: cssLayoutViewport.clientHeight,\n            };\n        }\n        else {\n            const { result: { value: iframeDocRect }, } = await this.#cdpTarget.cdpClient.sendCommand('Runtime.callFunctionOn', {\n                functionDeclaration: String(() => {\n                    const docRect = globalThis.document.documentElement.getBoundingClientRect();\n                    return JSON.stringify({\n                        x: docRect.x,\n                        y: docRect.y,\n                        width: docRect.width,\n                        height: docRect.height,\n                    });\n                }),\n                executionContextId: this.#defaultRealm.executionContextId,\n            });\n            clip = JSON.parse(iframeDocRect);\n        }\n        const result = await this.#cdpTarget.cdpClient.sendCommand('Page.captureScreenshot', {\n            clip: {\n                ...clip,\n                scale: 1.0,\n            },\n        });\n        return {\n            result: {\n                data: result.data,\n            },\n        };\n    }\n    async print(params) {\n        const cdpParams = {};\n        if (params.background !== undefined) {\n            cdpParams.printBackground = params.background;\n        }\n        if (params.margin?.bottom !== undefined) {\n            cdpParams.marginBottom = (0, unitConversions_js_1.inchesFromCm)(params.margin.bottom);\n        }\n        if (params.margin?.left !== undefined) {\n            cdpParams.marginLeft = (0, unitConversions_js_1.inchesFromCm)(params.margin.left);\n        }\n        if (params.margin?.right !== undefined) {\n            cdpParams.marginRight = (0, unitConversions_js_1.inchesFromCm)(params.margin.right);\n        }\n        if (params.margin?.top !== undefined) {\n            cdpParams.marginTop = (0, unitConversions_js_1.inchesFromCm)(params.margin.top);\n        }\n        if (params.orientation !== undefined) {\n            cdpParams.landscape = params.orientation === 'landscape';\n        }\n        if (params.page?.height !== undefined) {\n            cdpParams.paperHeight = (0, unitConversions_js_1.inchesFromCm)(params.page.height);\n        }\n        if (params.page?.width !== undefined) {\n            cdpParams.paperWidth = (0, unitConversions_js_1.inchesFromCm)(params.page.width);\n        }\n        if (params.pageRanges !== undefined) {\n            cdpParams.pageRanges = params.pageRanges.join(',');\n        }\n        if (params.scale !== undefined) {\n            cdpParams.scale = params.scale;\n        }\n        if (params.shrinkToFit !== undefined) {\n            cdpParams.preferCSSPageSize = !params.shrinkToFit;\n        }\n        const result = await this.#cdpTarget.cdpClient.sendCommand('Page.printToPDF', cdpParams);\n        return {\n            result: {\n                data: result.data,\n            },\n        };\n    }\n}\nexports.BrowsingContextImpl = BrowsingContextImpl;\n//# sourceMappingURL=browsingContextImpl.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRemoteValuesText = exports.logMessageFormatter = void 0;\nconst specifiers = ['%s', '%d', '%i', '%f', '%o', '%O', '%c'];\nfunction isFormmatSpecifier(str) {\n    return specifiers.some((spec) => str.includes(spec));\n}\n/**\n * @param args input remote values to be format printed\n * @return parsed text of the remote values in specific format\n */\nfunction logMessageFormatter(args) {\n    let output = '';\n    const argFormat = args[0].value.toString();\n    const argValues = args.slice(1, undefined);\n    const tokens = argFormat.split(new RegExp(specifiers.map((spec) => `(${spec})`).join('|'), 'g'));\n    for (const token of tokens) {\n        if (token === undefined || token === '') {\n            continue;\n        }\n        if (isFormmatSpecifier(token)) {\n            const arg = argValues.shift();\n            // raise an exception when less value is provided\n            if (arg === undefined) {\n                throw new Error(`Less value is provided: \"${getRemoteValuesText(args, false)}\"`);\n            }\n            if (token === '%s') {\n                output += stringFromArg(arg);\n            }\n            else if (token === '%d' || token === '%i') {\n                if (arg.type === 'bigint' ||\n                    arg.type === 'number' ||\n                    arg.type === 'string') {\n                    output += parseInt(arg.value.toString(), 10);\n                }\n                else {\n                    output += 'NaN';\n                }\n            }\n            else if (token === '%f') {\n                if (arg.type === 'bigint' ||\n                    arg.type === 'number' ||\n                    arg.type === 'string') {\n                    output += parseFloat(arg.value.toString());\n                }\n                else {\n                    output += 'NaN';\n                }\n            }\n            else {\n                // %o, %O, %c\n                output += toJson(arg);\n            }\n        }\n        else {\n            output += token;\n        }\n    }\n    // raise an exception when more value is provided\n    if (argValues.length > 0) {\n        throw new Error(`More value is provided: \"${getRemoteValuesText(args, false)}\"`);\n    }\n    return output;\n}\nexports.logMessageFormatter = logMessageFormatter;\n/**\n * @param arg input remote value to be parsed\n * @return parsed text of the remote value\n *\n * input: {\"type\": \"number\", \"value\": 1}\n * output: 1\n *\n * input: {\"type\": \"string\", \"value\": \"abc\"}\n * output: \"abc\"\n *\n * input: {\"type\": \"object\",  \"value\": [[\"id\", {\"type\": \"number\", \"value\": 1}]]}\n * output: '{\"id\": 1}'\n *\n * input: {\"type\": \"object\", \"value\": [[\"font-size\", {\"type\": \"string\", \"value\": \"20px\"}]]}\n * output: '{\"font-size\": \"20px\"}'\n */\nfunction toJson(arg) {\n    // arg type validation\n    if (arg.type !== 'array' &&\n        arg.type !== 'bigint' &&\n        arg.type !== 'date' &&\n        arg.type !== 'number' &&\n        arg.type !== 'object' &&\n        arg.type !== 'string') {\n        return stringFromArg(arg);\n    }\n    if (arg.type === 'bigint') {\n        return `${arg.value.toString()}n`;\n    }\n    if (arg.type === 'number') {\n        return arg.value.toString();\n    }\n    if (['date', 'string'].includes(arg.type)) {\n        return JSON.stringify(arg.value);\n    }\n    if (arg.type === 'object') {\n        return `{${arg.value\n            .map((pair) => {\n            return `${JSON.stringify(pair[0])}:${toJson(pair[1])}`;\n        })\n            .join(',')}}`;\n    }\n    if (arg.type === 'array') {\n        return `[${arg.value?.map((val) => toJson(val)).join(',') ?? ''}]`;\n    }\n    throw Error(`Invalid value type: ${arg.toString()}`);\n}\nfunction stringFromArg(arg) {\n    if (!Object.hasOwn(arg, 'value')) {\n        return arg.type;\n    }\n    switch (arg.type) {\n        case 'string':\n        case 'number':\n        case 'boolean':\n        case 'bigint':\n            return String(arg.value);\n        case 'regexp':\n            return `/${arg.value.pattern}/${arg.value.flags ?? ''}`;\n        case 'date':\n            return new Date(arg.value).toString();\n        case 'object':\n            return `Object(${arg.value?.length ?? ''})`;\n        case 'array':\n            return `Array(${arg.value?.length ?? ''})`;\n        case 'map':\n            return `Map(${arg.value.length})`;\n        case 'set':\n            return `Set(${arg.value.length})`;\n        case 'node':\n            return 'node';\n        default:\n            return arg.type;\n    }\n}\nfunction getRemoteValuesText(args, formatText) {\n    const arg = args[0];\n    if (!arg) {\n        return '';\n    }\n    // if args[0] is a format specifier, format the args as output\n    if (arg.type === 'string' &&\n        isFormmatSpecifier(arg.value.toString()) &&\n        formatText) {\n        return logMessageFormatter(args);\n    }\n    // if args[0] is not a format specifier, just join the args with \\u0020 (unicode 'SPACE')\n    return args\n        .map((arg) => {\n        return stringFromArg(arg);\n    })\n        .join('\\u0020');\n}\nexports.getRemoteValuesText = getRemoteValuesText;\n//# sourceMappingURL=logHelper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogManager = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst logHelper_js_1 = require(\"./logHelper.js\");\n/** Converts CDP StackTrace object to BiDi StackTrace object. */\nfunction getBidiStackTrace(cdpStackTrace) {\n    const stackFrames = cdpStackTrace?.callFrames.map((callFrame) => {\n        return {\n            columnNumber: callFrame.columnNumber,\n            functionName: callFrame.functionName,\n            lineNumber: callFrame.lineNumber,\n            url: callFrame.url,\n        };\n    });\n    return stackFrames ? { callFrames: stackFrames } : undefined;\n}\nfunction getLogLevel(consoleApiType) {\n    if (['assert', 'error'].includes(consoleApiType)) {\n        return 'error';\n    }\n    if (['debug', 'trace'].includes(consoleApiType)) {\n        return 'debug';\n    }\n    if (['warn', 'warning'].includes(consoleApiType)) {\n        return 'warn';\n    }\n    return 'info';\n}\nclass LogManager {\n    #eventManager;\n    #realmStorage;\n    #cdpTarget;\n    constructor(cdpTarget, realmStorage, eventManager) {\n        this.#cdpTarget = cdpTarget;\n        this.#realmStorage = realmStorage;\n        this.#eventManager = eventManager;\n    }\n    static create(cdpTarget, realmStorage, eventManager) {\n        const logManager = new LogManager(cdpTarget, realmStorage, eventManager);\n        logManager.#initialize();\n        return logManager;\n    }\n    #initialize() {\n        this.#initializeLogEntryAddedEventListener();\n    }\n    #initializeLogEntryAddedEventListener() {\n        this.#cdpTarget.cdpClient.on('Runtime.consoleAPICalled', (params) => {\n            // Try to find realm by `cdpSessionId` and `executionContextId`,\n            // if provided.\n            const realm = this.#realmStorage.findRealm({\n                cdpSessionId: this.#cdpTarget.cdpSessionId,\n                executionContextId: params.executionContextId,\n            });\n            const argsPromise = realm === undefined\n                ? Promise.resolve(params.args)\n                : // Properly serialize arguments if possible.\n                    Promise.all(params.args.map((arg) => {\n                        return realm.serializeCdpObject(arg, 'none');\n                    }));\n            this.#eventManager.registerPromiseEvent(argsPromise.then((args) => ({\n                method: protocol_js_1.Log.EventNames.LogEntryAddedEvent,\n                params: {\n                    level: getLogLevel(params.type),\n                    source: {\n                        realm: realm?.realmId ?? 'UNKNOWN',\n                        context: realm?.browsingContextId ?? 'UNKNOWN',\n                    },\n                    text: (0, logHelper_js_1.getRemoteValuesText)(args, true),\n                    timestamp: Math.round(params.timestamp),\n                    stackTrace: getBidiStackTrace(params.stackTrace),\n                    type: 'console',\n                    // Console method is `warn`, not `warning`.\n                    method: params.type === 'warning' ? 'warn' : params.type,\n                    args,\n                },\n            })), realm?.browsingContextId ?? 'UNKNOWN', protocol_js_1.Log.EventNames.LogEntryAddedEvent);\n        });\n        this.#cdpTarget.cdpClient.on('Runtime.exceptionThrown', (params) => {\n            // Try to find realm by `cdpSessionId` and `executionContextId`,\n            // if provided.\n            const realm = this.#realmStorage.findRealm({\n                cdpSessionId: this.#cdpTarget.cdpSessionId,\n                executionContextId: params.exceptionDetails.executionContextId,\n            });\n            // Try all the best to get the exception text.\n            const textPromise = (async () => {\n                if (!params.exceptionDetails.exception) {\n                    return params.exceptionDetails.text;\n                }\n                if (realm === undefined) {\n                    return JSON.stringify(params.exceptionDetails.exception);\n                }\n                return realm.stringifyObject(params.exceptionDetails.exception);\n            })();\n            this.#eventManager.registerPromiseEvent(textPromise.then((text) => ({\n                method: protocol_js_1.Log.EventNames.LogEntryAddedEvent,\n                params: {\n                    level: 'error',\n                    source: {\n                        realm: realm?.realmId ?? 'UNKNOWN',\n                        context: realm?.browsingContextId ?? 'UNKNOWN',\n                    },\n                    text,\n                    timestamp: Math.round(params.timestamp),\n                    stackTrace: getBidiStackTrace(params.exceptionDetails.stackTrace),\n                    type: 'javascript',\n                },\n            })), realm?.browsingContextId ?? 'UNKNOWN', protocol_js_1.Log.EventNames.LogEntryAddedEvent);\n        });\n    }\n}\nexports.LogManager = LogManager;\n//# sourceMappingURL=logManager.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefaultMap = void 0;\n/**\n * A subclass of Map whose functionality is almost the same as its parent\n * except for the fact that DefaultMap never returns undefined. It provides a\n * default value for keys that do not exist.\n */\nclass DefaultMap extends Map {\n    /** The default value to return whenever a key is not present in the map. */\n    #getDefaultValue;\n    constructor(getDefaultValue, entries) {\n        super(entries);\n        this.#getDefaultValue = getDefaultValue;\n    }\n    get(key) {\n        if (!this.has(key)) {\n            this.set(key, this.#getDefaultValue(key));\n        }\n        return super.get(key);\n    }\n}\nexports.DefaultMap = DefaultMap;\n//# sourceMappingURL=DefaultMap.js.map","\"use strict\";\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NetworkRequest = void 0;\nconst deferred_js_1 = require(\"../../../utils/deferred.js\");\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nclass NetworkRequest {\n    static #unknown = 'UNKNOWN';\n    /**\n     * Each network request has an associated request id, which is a string\n     * uniquely identifying that request.\n     *\n     * The identifier for a request resulting from a redirect matches that of the\n     * request that initiated it.\n     */\n    requestId;\n    #servedFromCache = false;\n    #redirectCount;\n    #eventManager;\n    #requestWillBeSentEvent;\n    #requestWillBeSentExtraInfoEvent;\n    #responseReceivedEvent;\n    #responseReceivedExtraInfoEvent;\n    #beforeRequestSentDeferred = new deferred_js_1.Deferred();\n    #responseReceivedDeferred = new deferred_js_1.Deferred();\n    constructor(requestId, eventManager) {\n        this.requestId = requestId;\n        this.#redirectCount = 0;\n        this.#eventManager = eventManager;\n    }\n    onRequestWillBeSentEvent(event) {\n        if (this.#requestWillBeSentEvent !== undefined) {\n            // TODO: Handle redirect event, requestId is same for the redirect chain\n            return;\n        }\n        this.#requestWillBeSentEvent = event;\n        if (this.#requestWillBeSentExtraInfoEvent !== undefined) {\n            this.#beforeRequestSentDeferred.resolve();\n        }\n        this.#sendBeforeRequestEvent();\n    }\n    onRequestWillBeSentExtraInfoEvent(event) {\n        if (this.#requestWillBeSentExtraInfoEvent !== undefined) {\n            // TODO: Handle redirect event, requestId is same for the redirect chain\n            return;\n        }\n        this.#requestWillBeSentExtraInfoEvent = event;\n        if (this.#requestWillBeSentEvent !== undefined) {\n            this.#beforeRequestSentDeferred.resolve();\n        }\n    }\n    onResponseReceivedEventExtraInfo(event) {\n        if (this.#responseReceivedExtraInfoEvent !== undefined) {\n            // TODO: Handle redirect event, requestId is same for the redirect chain\n            return;\n        }\n        this.#responseReceivedExtraInfoEvent = event;\n        if (this.#responseReceivedEvent !== undefined) {\n            this.#responseReceivedDeferred.resolve();\n        }\n    }\n    onResponseReceivedEvent(responseReceivedEvent) {\n        if (this.#responseReceivedEvent !== undefined) {\n            // TODO: Handle redirect event, requestId is same for the redirect chain\n            return;\n        }\n        this.#responseReceivedEvent = responseReceivedEvent;\n        if (!responseReceivedEvent.hasExtraInfo &&\n            !this.#beforeRequestSentDeferred.isFinished) {\n            this.#beforeRequestSentDeferred.resolve();\n        }\n        if (!responseReceivedEvent.hasExtraInfo ||\n            this.#responseReceivedExtraInfoEvent !== undefined ||\n            this.#servedFromCache) {\n            this.#responseReceivedDeferred.resolve();\n        }\n        this.#sendResponseReceivedEvent();\n    }\n    onServedFromCache() {\n        if (this.#requestWillBeSentEvent !== undefined) {\n            this.#beforeRequestSentDeferred.resolve();\n        }\n        if (this.#responseReceivedEvent !== undefined) {\n            this.#responseReceivedDeferred.resolve();\n        }\n        this.#servedFromCache = true;\n    }\n    onLoadingFailedEvent(event) {\n        this.#beforeRequestSentDeferred.resolve();\n        this.#responseReceivedDeferred.reject(event);\n        this.#eventManager.registerEvent({\n            method: protocol_js_1.Network.EventNames.FetchErrorEvent,\n            params: {\n                ...this.#getBaseEventParams(),\n                errorText: event.errorText,\n            },\n        }, this.#requestWillBeSentEvent?.frameId ?? null);\n    }\n    #getBaseEventParams() {\n        return {\n            context: this.#requestWillBeSentEvent?.frameId ?? null,\n            navigation: this.#getNavigationId(),\n            // TODO: implement.\n            redirectCount: this.#redirectCount,\n            request: this.#getRequestData(),\n            // Timestamp should be in milliseconds, while CDP provides it in seconds.\n            timestamp: Math.round((this.#requestWillBeSentEvent?.wallTime ?? 0) * 1000),\n        };\n    }\n    #getNavigationId() {\n        if (!this.#requestWillBeSentEvent ||\n            !this.#requestWillBeSentEvent.loaderId ||\n            // When we navigate all CDP network events have `loaderId`\n            // CDP's `loaderId` and `requestId` match when\n            // that request triggered the loading\n            this.#requestWillBeSentEvent.loaderId !==\n                this.#requestWillBeSentEvent.requestId) {\n            return null;\n        }\n        return this.#requestWillBeSentEvent.loaderId;\n    }\n    #getRequestData() {\n        const cookies = this.#requestWillBeSentExtraInfoEvent\n            ? NetworkRequest.#getCookies(this.#requestWillBeSentExtraInfoEvent.associatedCookies)\n            : [];\n        return {\n            request: this.#requestWillBeSentEvent?.requestId ?? NetworkRequest.#unknown,\n            url: this.#requestWillBeSentEvent?.request.url ?? NetworkRequest.#unknown,\n            method: this.#requestWillBeSentEvent?.request.method ?? NetworkRequest.#unknown,\n            headers: NetworkRequest.#getHeaders(this.#requestWillBeSentEvent?.request.headers),\n            cookies,\n            // TODO: implement.\n            headersSize: -1,\n            // TODO: implement.\n            bodySize: 0,\n            timings: {\n                // TODO: implement.\n                timeOrigin: 0,\n                // TODO: implement.\n                requestTime: 0,\n                // TODO: implement.\n                redirectStart: 0,\n                // TODO: implement.\n                redirectEnd: 0,\n                // TODO: implement.\n                fetchStart: 0,\n                // TODO: implement.\n                dnsStart: 0,\n                // TODO: implement.\n                dnsEnd: 0,\n                // TODO: implement.\n                connectStart: 0,\n                // TODO: implement.\n                connectEnd: 0,\n                // TODO: implement.\n                tlsStart: 0,\n                // TODO: implement.\n                requestStart: 0,\n                // TODO: implement.\n                responseStart: 0,\n                // TODO: implement.\n                responseEnd: 0,\n            },\n        };\n    }\n    #sendBeforeRequestEvent() {\n        if (!this.#isIgnoredEvent()) {\n            this.#eventManager.registerPromiseEvent(this.#beforeRequestSentDeferred.then(() => this.#getBeforeRequestEvent()), this.#requestWillBeSentEvent?.frameId ?? null, protocol_js_1.Network.EventNames.BeforeRequestSentEvent);\n        }\n    }\n    #getBeforeRequestEvent() {\n        if (this.#requestWillBeSentEvent === undefined) {\n            throw new Error('RequestWillBeSentEvent is not set');\n        }\n        return {\n            method: protocol_js_1.Network.EventNames.BeforeRequestSentEvent,\n            params: {\n                ...this.#getBaseEventParams(),\n                initiator: {\n                    type: NetworkRequest.#getInitiatorType(this.#requestWillBeSentEvent.initiator.type),\n                },\n            },\n        };\n    }\n    #sendResponseReceivedEvent() {\n        if (!this.#isIgnoredEvent()) {\n            this.#eventManager.registerPromiseEvent(this.#responseReceivedDeferred.then(() => this.#getResponseReceivedEvent()), this.#responseReceivedEvent?.frameId ?? null, protocol_js_1.Network.EventNames.ResponseCompletedEvent);\n        }\n    }\n    #getResponseReceivedEvent() {\n        if (this.#requestWillBeSentEvent === undefined) {\n            throw new Error('RequestWillBeSentEvent is not set');\n        }\n        if (this.#responseReceivedEvent === undefined) {\n            throw new Error('ResponseReceivedEvent is not set');\n        }\n        // Chromium sends wrong extraInfo events for responses served from cache.\n        // See https://github.com/puppeteer/puppeteer/issues/9965 and\n        // https://crbug.com/1340398.\n        if (this.#responseReceivedEvent.response.fromDiskCache) {\n            this.#responseReceivedExtraInfoEvent = undefined;\n        }\n        const headers = NetworkRequest.#getHeaders(this.#responseReceivedEvent.response.headers);\n        return {\n            method: protocol_js_1.Network.EventNames.ResponseCompletedEvent,\n            params: {\n                ...this.#getBaseEventParams(),\n                response: {\n                    url: this.#responseReceivedEvent.response.url,\n                    protocol: this.#responseReceivedEvent.response.protocol ?? '',\n                    status: this.#responseReceivedExtraInfoEvent?.statusCode ??\n                        this.#responseReceivedEvent.response.status,\n                    statusText: this.#responseReceivedEvent.response.statusText,\n                    fromCache: this.#responseReceivedEvent.response.fromDiskCache ||\n                        this.#responseReceivedEvent.response.fromPrefetchCache ||\n                        this.#servedFromCache,\n                    headers,\n                    mimeType: this.#responseReceivedEvent.response.mimeType,\n                    bytesReceived: this.#responseReceivedEvent.response.encodedDataLength,\n                    headersSize: this.#computeResponseHeadersSize(headers),\n                    // TODO: consider removing from spec.\n                    bodySize: 0,\n                    content: {\n                        // TODO: consider removing from spec.\n                        size: 0,\n                    },\n                },\n            },\n        };\n    }\n    #computeResponseHeadersSize(headers) {\n        return headers.reduce((total, header) => {\n            return total + header.name.length + (header.value?.length ?? 0) + 4; // 4 = ': ' + '\\r\\n'\n        }, 0);\n    }\n    #isIgnoredEvent() {\n        return (this.#requestWillBeSentEvent?.request.url.endsWith('/favicon.ico') ??\n            false);\n    }\n    static #getHeaders(headers) {\n        if (!headers) {\n            return [];\n        }\n        return Object.entries(headers).map(([name, value]) => ({\n            name,\n            value,\n        }));\n    }\n    static #getInitiatorType(initiatorType) {\n        switch (initiatorType) {\n            case 'parser':\n            case 'script':\n            case 'preflight':\n                return initiatorType;\n            default:\n                return 'other';\n        }\n    }\n    static #getCookies(associatedCookies) {\n        return associatedCookies.map((cookieInfo) => {\n            return {\n                name: cookieInfo.cookie.name,\n                value: cookieInfo.cookie.value,\n                domain: cookieInfo.cookie.domain,\n                path: cookieInfo.cookie.path,\n                expires: cookieInfo.cookie.expires,\n                size: cookieInfo.cookie.size,\n                httpOnly: cookieInfo.cookie.httpOnly,\n                secure: cookieInfo.cookie.secure,\n                sameSite: NetworkRequest.#getCookiesSameSite(cookieInfo.cookie.sameSite),\n            };\n        });\n    }\n    static #getCookiesSameSite(cdpSameSiteValue) {\n        switch (cdpSameSiteValue) {\n            case 'Strict':\n                return 'strict';\n            case 'Lax':\n                return 'lax';\n            default:\n                return 'none';\n        }\n    }\n}\nexports.NetworkRequest = NetworkRequest;\n//# sourceMappingURL=networkRequest.js.map","\"use strict\";\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NetworkProcessor = void 0;\nconst DefaultMap_js_1 = require(\"../../../utils/DefaultMap.js\");\nconst networkRequest_js_1 = require(\"./networkRequest.js\");\nclass NetworkProcessor {\n    #eventManager;\n    /**\n     * Map of request ID to NetworkRequest objects. Needed as long as information\n     * about requests comes from different events.\n     */\n    #requestMap;\n    constructor(eventManager) {\n        this.#eventManager = eventManager;\n        this.#requestMap = new DefaultMap_js_1.DefaultMap((requestId) => new networkRequest_js_1.NetworkRequest(requestId, this.#eventManager));\n    }\n    static async create(cdpClient, eventManager) {\n        const networkProcessor = new NetworkProcessor(eventManager);\n        cdpClient.on('Network.requestWillBeSent', (params) => {\n            networkProcessor\n                .#getOrCreateNetworkRequest(params.requestId)\n                .onRequestWillBeSentEvent(params);\n        });\n        cdpClient.on('Network.requestWillBeSentExtraInfo', (params) => {\n            networkProcessor\n                .#getOrCreateNetworkRequest(params.requestId)\n                .onRequestWillBeSentExtraInfoEvent(params);\n        });\n        cdpClient.on('Network.responseReceived', (params) => {\n            networkProcessor\n                .#getOrCreateNetworkRequest(params.requestId)\n                .onResponseReceivedEvent(params);\n        });\n        cdpClient.on('Network.responseReceivedExtraInfo', (params) => {\n            networkProcessor\n                .#getOrCreateNetworkRequest(params.requestId)\n                .onResponseReceivedEventExtraInfo(params);\n        });\n        cdpClient.on('Network.loadingFailed', (params) => {\n            networkProcessor\n                .#getOrCreateNetworkRequest(params.requestId)\n                .onLoadingFailedEvent(params);\n        });\n        cdpClient.on('Network.requestServedFromCache', (params) => {\n            networkProcessor\n                .#getOrCreateNetworkRequest(params.requestId)\n                .onServedFromCache();\n        });\n        await cdpClient.sendCommand('Network.enable');\n        return networkProcessor;\n    }\n    #getOrCreateNetworkRequest(requestId) {\n        return this.#requestMap.get(requestId);\n    }\n}\nexports.NetworkProcessor = NetworkProcessor;\n//# sourceMappingURL=networkProcessor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CdpTarget = void 0;\nconst logManager_js_1 = require(\"../log/logManager.js\");\nconst deferred_js_1 = require(\"../../../utils/deferred.js\");\nconst networkProcessor_js_1 = require(\"../network/networkProcessor.js\");\nclass CdpTarget {\n    #targetId;\n    #parentTargetId;\n    #cdpClient;\n    #cdpSessionId;\n    #eventManager;\n    #preloadScriptStorage;\n    #targetUnblocked;\n    #networkDomainActivated;\n    static create(targetId, parentTargetId, cdpClient, cdpSessionId, realmStorage, eventManager, preloadScriptStorage) {\n        const cdpTarget = new CdpTarget(targetId, parentTargetId, cdpClient, cdpSessionId, eventManager, preloadScriptStorage);\n        logManager_js_1.LogManager.create(cdpTarget, realmStorage, eventManager);\n        cdpTarget.#setEventListeners();\n        // No need to await.\n        // Deferred will be resolved when the target is unblocked.\n        void cdpTarget.#unblock();\n        return cdpTarget;\n    }\n    constructor(targetId, parentTargetId, cdpClient, cdpSessionId, eventManager, preloadScriptStorage) {\n        this.#targetId = targetId;\n        this.#parentTargetId = parentTargetId;\n        this.#cdpClient = cdpClient;\n        this.#cdpSessionId = cdpSessionId;\n        this.#eventManager = eventManager;\n        this.#preloadScriptStorage = preloadScriptStorage;\n        this.#networkDomainActivated = false;\n        this.#targetUnblocked = new deferred_js_1.Deferred();\n    }\n    /** Returns a promise that resolves when the target is unblocked. */\n    get targetUnblocked() {\n        return this.#targetUnblocked;\n    }\n    get targetId() {\n        return this.#targetId;\n    }\n    get cdpClient() {\n        return this.#cdpClient;\n    }\n    /**\n     * Needed for CDP escape path.\n     */\n    get cdpSessionId() {\n        return this.#cdpSessionId;\n    }\n    /**\n     * Enables all the required CDP domains and unblocks the target.\n     */\n    async #unblock() {\n        try {\n            // Enable Network domain, if it is enabled globally.\n            // TODO: enable Network domain for OOPiF targets.\n            if (this.#eventManager.isNetworkDomainEnabled) {\n                await this.enableNetworkDomain();\n            }\n            await this.#cdpClient.sendCommand('Runtime.enable');\n            await this.#cdpClient.sendCommand('Page.enable');\n            await this.#cdpClient.sendCommand('Page.setLifecycleEventsEnabled', {\n                enabled: true,\n            });\n            await this.#cdpClient.sendCommand('Target.setAutoAttach', {\n                autoAttach: true,\n                waitForDebuggerOnStart: true,\n                flatten: true,\n            });\n            await this.#initAndEvaluatePreloadScripts();\n            await this.#cdpClient.sendCommand('Runtime.runIfWaitingForDebugger');\n        }\n        catch (error) {\n            // The target might have been closed before the initialization finished.\n            if (!this.#cdpClient.isCloseError(error)) {\n                throw error;\n            }\n        }\n        this.#targetUnblocked.resolve();\n    }\n    /**\n     * Enables the Network domain (creates NetworkProcessor on the target's cdp\n     * client) if it is not enabled yet.\n     */\n    async enableNetworkDomain() {\n        if (!this.#networkDomainActivated) {\n            this.#networkDomainActivated = true;\n            await networkProcessor_js_1.NetworkProcessor.create(this.cdpClient, this.#eventManager);\n        }\n    }\n    #setEventListeners() {\n        this.#cdpClient.on('*', (event, params) => {\n            // We may encounter uses for EventEmitter other than CDP events,\n            // which we want to skip.\n            if (typeof event !== 'string') {\n                return;\n            }\n            this.#eventManager.registerEvent({\n                method: `cdp.${event}`,\n                params: {\n                    event,\n                    params: params,\n                    session: this.#cdpSessionId,\n                },\n            }, null);\n        });\n    }\n    /**\n     * All the ProxyChannels from all the preload scripts of the given\n     * BrowsingContext.\n     */\n    getChannels(contextId) {\n        return this.#preloadScriptStorage\n            .findPreloadScripts({\n            contextIds: [null, contextId],\n        })\n            .flatMap((script) => script.channels);\n    }\n    /** Loads all top-level and parent preload scripts. */\n    async #initAndEvaluatePreloadScripts() {\n        for (const script of this.#preloadScriptStorage.findPreloadScripts({\n            contextIds: [null, this.#parentTargetId],\n        })) {\n            await script.initInTarget(this);\n            // Upon attaching to a new target, schedule running preload scripts right\n            // after `Runtime.runIfWaitingForDebugger`, but don't wait for the result.\n            script.scheduleEvaluateInTarget(this);\n        }\n    }\n}\nexports.CdpTarget = CdpTarget;\n//# sourceMappingURL=cdpTarget.js.map","\"use strict\";\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BidiPreloadScript = void 0;\nconst uuid_js_1 = require(\"../../../utils/uuid.js\");\nconst channelProxy_js_1 = require(\"../script/channelProxy.js\");\n/**\n * BiDi IDs are generated by the server and are unique within the context.\n *\n * CDP preload script IDs are generated by the client and are unique\n * within the session.\n *\n * The mapping between BiDi and CDP preload script IDs is 1:many.\n * BiDi IDs are needed by the mapper to keep track of potential multiple CDP IDs\n * in the client.\n */\nclass BidiPreloadScript {\n    /** BiDi ID, an automatically generated UUID. */\n    #id = (0, uuid_js_1.uuidv4)();\n    /** CDP preload scripts. */\n    #cdpPreloadScripts = [];\n    /** The script itself, in a format expected by the spec i.e. a function. */\n    #functionDeclaration;\n    /** Browsing context ID. */\n    #contextId;\n    /** Targets, in which the preload script is initialized. */\n    #targetIds = new Set();\n    /** Channels to be added as arguments to functionDeclaration. */\n    #channels;\n    get id() {\n        return this.#id;\n    }\n    get contextId() {\n        return this.#contextId;\n    }\n    get targetIds() {\n        return this.#targetIds;\n    }\n    constructor(params) {\n        if (params.sandbox !== undefined) {\n            // TODO: Handle sandbox.\n            throw new Error('Sandbox is not supported yet');\n        }\n        this.#channels =\n            params.arguments?.map((a) => new channelProxy_js_1.ChannelProxy(a.value)) ?? [];\n        this.#functionDeclaration = params.functionDeclaration;\n        this.#contextId = params.context ?? null;\n    }\n    /** Channels of the preload script. */\n    get channels() {\n        return this.#channels;\n    }\n    /**\n     * Adds the script to the given CDP targets by calling the\n     * `Page.addScriptToEvaluateOnNewDocument` command.\n     */\n    async initInTargets(cdpTargets) {\n        await Promise.all(Array.from(cdpTargets).map((cdpTarget) => this.initInTarget(cdpTarget)));\n    }\n    /**\n     * String to be evaluated. Wraps user-provided function so that the following\n     * steps are run:\n     * 1. Create channels.\n     * 2. Store the created channels in window.\n     * 3. Call the user-provided function with channels as arguments.\n     */\n    #getEvaluateString() {\n        const channelsArgStr = `[${this.channels\n            .map((c) => c.getEvalInWindowStr())\n            .join(', ')}]`;\n        return `(()=>{(${this.#functionDeclaration})(...${channelsArgStr})})()`;\n    }\n    /**\n     * Adds the script to the given CDP target by calling the\n     * `Page.addScriptToEvaluateOnNewDocument` command.\n     */\n    async initInTarget(cdpTarget) {\n        const addCdpPreloadScriptResult = await cdpTarget.cdpClient.sendCommand('Page.addScriptToEvaluateOnNewDocument', {\n            source: this.#getEvaluateString(),\n        });\n        this.#cdpPreloadScripts.push({\n            target: cdpTarget,\n            preloadScriptId: addCdpPreloadScriptResult.identifier,\n        });\n        this.#targetIds.add(cdpTarget.targetId);\n    }\n    /**\n     * Schedules the script to be run right after\n     * `Runtime.runIfWaitingForDebugger`, but does not wait for result.\n     */\n    scheduleEvaluateInTarget(cdpTarget) {\n        void cdpTarget.cdpClient.sendCommand('Runtime.evaluate', {\n            expression: this.#getEvaluateString(),\n        });\n    }\n    /**\n     * Removes this script from all CDP targets.\n     */\n    async remove() {\n        for (const cdpPreloadScript of this.#cdpPreloadScripts) {\n            const cdpTarget = cdpPreloadScript.target;\n            const cdpPreloadScriptId = cdpPreloadScript.preloadScriptId;\n            await cdpTarget.cdpClient.sendCommand('Page.removeScriptToEvaluateOnNewDocument', {\n                identifier: cdpPreloadScriptId,\n            });\n        }\n    }\n    /**\n     * Removes the provided cdp target from the list of cdp preload scripts.\n     */\n    cdpTargetIsGone(cdpTargetId) {\n        this.#cdpPreloadScripts = this.#cdpPreloadScripts.filter((cdpPreloadScript) => cdpPreloadScript.target?.targetId !== cdpTargetId);\n        this.#targetIds.delete(cdpTargetId);\n    }\n}\nexports.BidiPreloadScript = BidiPreloadScript;\n//# sourceMappingURL=bidiPreloadScript.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowsingContextProcessor = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst log_js_1 = require(\"../../../utils/log.js\");\nconst InputStateManager_js_1 = require(\"../input/InputStateManager.js\");\nconst ActionDispatcher_js_1 = require(\"../input/ActionDispatcher.js\");\nconst PreloadScriptStorage_js_1 = require(\"./PreloadScriptStorage.js\");\nconst browsingContextImpl_js_1 = require(\"./browsingContextImpl.js\");\nconst cdpTarget_js_1 = require(\"./cdpTarget.js\");\nconst bidiPreloadScript_1 = require(\"./bidiPreloadScript\");\nclass BrowsingContextProcessor {\n    #browsingContextStorage;\n    #cdpConnection;\n    #eventManager;\n    #logger;\n    #realmStorage;\n    #selfTargetId;\n    #preloadScriptStorage = new PreloadScriptStorage_js_1.PreloadScriptStorage();\n    #inputStateManager = new InputStateManager_js_1.InputStateManager();\n    constructor(cdpConnection, selfTargetId, eventManager, browsingContextStorage, realmStorage, logger) {\n        this.#cdpConnection = cdpConnection;\n        this.#selfTargetId = selfTargetId;\n        this.#eventManager = eventManager;\n        this.#browsingContextStorage = browsingContextStorage;\n        this.#realmStorage = realmStorage;\n        this.#logger = logger;\n        this.#setEventListeners(this.#cdpConnection.browserClient());\n    }\n    /**\n     * This method is called for each CDP session, since this class is responsible\n     * for creating and destroying all targets and browsing contexts.\n     */\n    #setEventListeners(cdpClient) {\n        cdpClient.on('Target.attachedToTarget', (params) => {\n            this.#handleAttachedToTargetEvent(params, cdpClient);\n        });\n        cdpClient.on('Target.detachedFromTarget', (params) => {\n            this.#handleDetachedFromTargetEvent(params);\n        });\n        cdpClient.on('Target.targetInfoChanged', (params) => {\n            this.#handleTargetInfoChangedEvent(params);\n        });\n        cdpClient.on('Page.frameAttached', (params) => {\n            this.#handleFrameAttachedEvent(params);\n        });\n        cdpClient.on('Page.frameDetached', (params) => {\n            this.#handleFrameDetachedEvent(params);\n        });\n    }\n    #handleFrameAttachedEvent(params) {\n        const parentBrowsingContext = this.#browsingContextStorage.findContext(params.parentFrameId);\n        if (parentBrowsingContext !== undefined) {\n            browsingContextImpl_js_1.BrowsingContextImpl.create(parentBrowsingContext.cdpTarget, this.#realmStorage, params.frameId, params.parentFrameId, this.#eventManager, this.#browsingContextStorage, this.#logger);\n        }\n    }\n    #handleFrameDetachedEvent(params) {\n        // In case of OOPiF no need in deleting BrowsingContext.\n        if (params.reason === 'swap') {\n            return;\n        }\n        this.#browsingContextStorage.findContext(params.frameId)?.delete();\n    }\n    #handleAttachedToTargetEvent(params, parentSessionCdpClient) {\n        const { sessionId, targetInfo } = params;\n        const targetCdpClient = this.#cdpConnection.getCdpClient(sessionId);\n        if (!this.#isValidTarget(targetInfo)) {\n            // DevTools or some other not supported by BiDi target. Just release\n            // debugger  and ignore them.\n            targetCdpClient\n                .sendCommand('Runtime.runIfWaitingForDebugger')\n                .then(() => parentSessionCdpClient.sendCommand('Target.detachFromTarget', params))\n                .catch((error) => this.#logger?.(log_js_1.LogType.system, error));\n            return;\n        }\n        this.#logger?.(log_js_1.LogType.browsingContexts, 'AttachedToTarget event received:', JSON.stringify(params, null, 2));\n        this.#setEventListeners(targetCdpClient);\n        const maybeContext = this.#browsingContextStorage.findContext(targetInfo.targetId);\n        const cdpTarget = cdpTarget_js_1.CdpTarget.create(targetInfo.targetId, maybeContext?.parentId ?? null, targetCdpClient, sessionId, this.#realmStorage, this.#eventManager, this.#preloadScriptStorage);\n        if (maybeContext) {\n            // OOPiF.\n            maybeContext.updateCdpTarget(cdpTarget);\n        }\n        else {\n            // New context.\n            browsingContextImpl_js_1.BrowsingContextImpl.create(cdpTarget, this.#realmStorage, targetInfo.targetId, null, this.#eventManager, this.#browsingContextStorage, this.#logger);\n        }\n    }\n    #handleDetachedFromTargetEvent(params) {\n        // XXX: params.targetId is deprecated. Update this class to track using\n        // params.sessionId instead.\n        // https://github.com/GoogleChromeLabs/chromium-bidi/issues/60\n        const contextId = params.targetId;\n        this.#browsingContextStorage.findContext(contextId)?.delete();\n        this.#preloadScriptStorage\n            .findPreloadScripts({ targetId: contextId })\n            .map((preloadScript) => preloadScript.cdpTargetIsGone(contextId));\n    }\n    #handleTargetInfoChangedEvent(params) {\n        const contextId = params.targetInfo.targetId;\n        this.#browsingContextStorage\n            .findContext(contextId)\n            ?.onTargetInfoChanged(params);\n    }\n    async #getRealm(target) {\n        if ('realm' in target) {\n            return this.#realmStorage.getRealm({\n                realmId: target.realm,\n            });\n        }\n        const context = this.#browsingContextStorage.getContext(target.context);\n        return context.getOrCreateSandbox(target.sandbox);\n    }\n    process_browsingContext_getTree(params) {\n        const resultContexts = params.root === undefined\n            ? this.#browsingContextStorage.getTopLevelContexts()\n            : [this.#browsingContextStorage.getContext(params.root)];\n        return {\n            result: {\n                contexts: resultContexts.map((c) => c.serializeToBidiValue(params.maxDepth ?? Number.MAX_VALUE)),\n            },\n        };\n    }\n    async process_browsingContext_create(params) {\n        const browserCdpClient = this.#cdpConnection.browserClient();\n        let referenceContext;\n        if (params.referenceContext !== undefined) {\n            referenceContext = this.#browsingContextStorage.getContext(params.referenceContext);\n            if (!referenceContext.isTopLevelContext()) {\n                throw new protocol_js_1.Message.InvalidArgumentException(`referenceContext should be a top-level context`);\n            }\n        }\n        let result;\n        switch (params.type) {\n            case 'tab':\n                result = await browserCdpClient.sendCommand('Target.createTarget', {\n                    url: 'about:blank',\n                    newWindow: false,\n                });\n                break;\n            case 'window':\n                result = await browserCdpClient.sendCommand('Target.createTarget', {\n                    url: 'about:blank',\n                    newWindow: true,\n                });\n                break;\n        }\n        // Wait for the new tab to be loaded to avoid race conditions in the\n        // `browsingContext` events, when the `browsingContext.domContentLoaded` and\n        // `browsingContext.load` events from the initial `about:blank` navigation\n        // are emitted after the next navigation is started.\n        // Details: https://github.com/web-platform-tests/wpt/issues/35846\n        const contextId = result.targetId;\n        const context = this.#browsingContextStorage.getContext(contextId);\n        await context.awaitLoaded();\n        return {\n            result: {\n                context: context.id,\n            },\n        };\n    }\n    process_browsingContext_navigate(params) {\n        const context = this.#browsingContextStorage.getContext(params.context);\n        return context.navigate(params.url, params.wait ?? 'none');\n    }\n    process_browsingContext_reload(params) {\n        const context = this.#browsingContextStorage.getContext(params.context);\n        return context.reload(params.ignoreCache ?? false, params.wait ?? 'none');\n    }\n    async process_browsingContext_captureScreenshot(params) {\n        const context = this.#browsingContextStorage.getContext(params.context);\n        return context.captureScreenshot();\n    }\n    async process_browsingContext_print(params) {\n        const context = this.#browsingContextStorage.getContext(params.context);\n        return context.print(params);\n    }\n    async process_script_addPreloadScript(params) {\n        const preloadScript = new bidiPreloadScript_1.BidiPreloadScript(params);\n        this.#preloadScriptStorage.addPreloadScript(preloadScript);\n        const cdpTargets = new Set(\n        // TODO: The unique target can be in a non-top-level browsing context.\n        // We need all the targets.\n        // To get them, we can walk through all the contexts and collect their targets into the set.\n        params.context === undefined || params.context === null\n            ? this.#browsingContextStorage\n                .getTopLevelContexts()\n                .map((context) => context.cdpTarget)\n            : [this.#browsingContextStorage.getContext(params.context).cdpTarget]);\n        await preloadScript.initInTargets(cdpTargets);\n        return {\n            result: {\n                script: preloadScript.id,\n            },\n        };\n    }\n    async process_script_removePreloadScript(params) {\n        const bidiId = params.script;\n        const scripts = this.#preloadScriptStorage.findPreloadScripts({\n            id: bidiId,\n        });\n        if (scripts.length === 0) {\n            throw new protocol_js_1.Message.NoSuchScriptException(`No preload script with BiDi ID '${bidiId}'`);\n        }\n        await Promise.all(scripts.map((script) => script.remove()));\n        this.#preloadScriptStorage.removeBiDiPreloadScripts({\n            id: bidiId,\n        });\n        return { result: {} };\n    }\n    async process_script_evaluate(params) {\n        const realm = await this.#getRealm(params.target);\n        return realm.scriptEvaluate(params.expression, params.awaitPromise, params.resultOwnership ?? 'none', params.serializationOptions ?? {});\n    }\n    process_script_getRealms(params) {\n        if (params.context !== undefined) {\n            // Make sure the context is known.\n            this.#browsingContextStorage.getContext(params.context);\n        }\n        const realms = this.#realmStorage\n            .findRealms({\n            browsingContextId: params.context,\n            type: params.type,\n        })\n            .map((realm) => realm.toBiDi());\n        return { result: { realms } };\n    }\n    async process_script_callFunction(params) {\n        const realm = await this.#getRealm(params.target);\n        return realm.callFunction(params.functionDeclaration, params.this ?? {\n            type: 'undefined',\n        }, // `this` is `undefined` by default.\n        params.arguments ?? [], // `arguments` is `[]` by default.\n        params.awaitPromise, params.resultOwnership ?? 'none', params.serializationOptions ?? {});\n    }\n    async process_script_disown(params) {\n        const realm = await this.#getRealm(params.target);\n        await Promise.all(params.handles.map(async (h) => realm.disown(h)));\n        return { result: {} };\n    }\n    async process_input_performActions(params) {\n        const context = this.#browsingContextStorage.getContext(params.context);\n        const inputState = this.#inputStateManager.get(context.top);\n        const actionsByTick = this.#getActionsByTick(params, inputState);\n        const dispatcher = new ActionDispatcher_js_1.ActionDispatcher(inputState, context, await ActionDispatcher_js_1.ActionDispatcher.isMacOS(context).catch(() => false));\n        await dispatcher.dispatchActions(actionsByTick);\n        return { result: {} };\n    }\n    #getActionsByTick(params, inputState) {\n        const actionsByTick = [];\n        for (const action of params.actions) {\n            switch (action.type) {\n                case protocol_js_1.Input.SourceActionsType.Pointer: {\n                    action.parameters ??= { pointerType: protocol_js_1.Input.PointerType.Mouse };\n                    action.parameters.pointerType ??= protocol_js_1.Input.PointerType.Mouse;\n                    const source = inputState.getOrCreate(action.id, protocol_js_1.Input.SourceActionsType.Pointer, action.parameters.pointerType);\n                    if (source.subtype !== action.parameters.pointerType) {\n                        throw new protocol_js_1.Message.InvalidArgumentException(`Expected input source ${action.id} to be ${source.subtype}; got ${action.parameters.pointerType}.`);\n                    }\n                    break;\n                }\n                default:\n                    inputState.getOrCreate(action.id, action.type);\n            }\n            const actions = action.actions.map((item) => ({\n                id: action.id,\n                action: item,\n            }));\n            for (let i = 0; i < actions.length; i++) {\n                if (actionsByTick.length === i) {\n                    actionsByTick.push([]);\n                }\n                actionsByTick[i].push(actions[i]);\n            }\n        }\n        return actionsByTick;\n    }\n    async process_input_releaseActions(params) {\n        const context = this.#browsingContextStorage.getContext(params.context);\n        const topContext = context.top;\n        const inputState = this.#inputStateManager.get(topContext);\n        const dispatcher = new ActionDispatcher_js_1.ActionDispatcher(inputState, context, await ActionDispatcher_js_1.ActionDispatcher.isMacOS(context).catch(() => false));\n        await dispatcher.dispatchTickActions(inputState.cancelList.reverse());\n        this.#inputStateManager.delete(topContext);\n        return { result: {} };\n    }\n    async process_browsingContext_setViewport(params) {\n        const context = this.#browsingContextStorage.getContext(params.context);\n        if (!context.isTopLevelContext()) {\n            throw new protocol_js_1.Message.InvalidArgumentException('Emulating viewport is only supported on the top-level context');\n        }\n        await context.setViewport(params.viewport);\n        return { result: {} };\n    }\n    async process_browsingContext_close(commandParams) {\n        const browserCdpClient = this.#cdpConnection.browserClient();\n        const context = this.#browsingContextStorage.getContext(commandParams.context);\n        if (!context.isTopLevelContext()) {\n            throw new protocol_js_1.Message.InvalidArgumentException('A top-level browsing context cannot be closed.');\n        }\n        const detachedFromTargetPromise = new Promise((resolve) => {\n            const onContextDestroyed = (eventParams) => {\n                if (eventParams.targetId === commandParams.context) {\n                    browserCdpClient.off('Target.detachedFromTarget', onContextDestroyed);\n                    resolve();\n                }\n            };\n            browserCdpClient.on('Target.detachedFromTarget', onContextDestroyed);\n        });\n        await browserCdpClient.sendCommand('Target.closeTarget', {\n            targetId: commandParams.context,\n        });\n        // Sometimes CDP command finishes before `detachedFromTarget` event,\n        // sometimes after. Wait for the CDP command to be finished, and then wait\n        // for `detachedFromTarget` if it hasn't emitted.\n        await detachedFromTargetPromise;\n        return { result: {} };\n    }\n    #isValidTarget(target) {\n        if (target.targetId === this.#selfTargetId) {\n            return false;\n        }\n        return ['page', 'iframe'].includes(target.type);\n    }\n    async process_cdp_sendCommand(params) {\n        const client = params.session\n            ? this.#cdpConnection.getCdpClient(params.session)\n            : this.#cdpConnection.browserClient();\n        const sendCdpCommandResult = await client.sendCommand(params.method, params.params);\n        return {\n            result: sendCdpCommandResult,\n            session: params.session,\n        };\n    }\n    process_cdp_getSession(params) {\n        const context = params.context;\n        const sessionId = this.#browsingContextStorage.getContext(context).cdpTarget.cdpSessionId;\n        if (sessionId === undefined) {\n            return { result: { session: null } };\n        }\n        return { result: { session: sessionId } };\n    }\n}\nexports.BrowsingContextProcessor = BrowsingContextProcessor;\n//# sourceMappingURL=browsingContextProcessor.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OutgoingBidiMessage = void 0;\nclass OutgoingBidiMessage {\n    #message;\n    #channel;\n    constructor(message, channel) {\n        this.#message = message;\n        this.#channel = channel;\n    }\n    static async createFromPromise(messagePromise, channel) {\n        return messagePromise.then((message) => new OutgoingBidiMessage(message, channel));\n    }\n    static createResolved(message, channel) {\n        return Promise.resolve(new OutgoingBidiMessage(message, channel));\n    }\n    get message() {\n        return this.#message;\n    }\n    get channel() {\n        return this.#channel;\n    }\n}\nexports.OutgoingBidiMessage = OutgoingBidiMessage;\n//# sourceMappingURL=OutgoingBidiMessage.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CommandProcessor = void 0;\nconst protocol_js_1 = require(\"../protocol/protocol.js\");\nconst log_js_1 = require(\"../utils/log.js\");\nconst EventEmitter_js_1 = require(\"../utils/EventEmitter.js\");\nconst browsingContextProcessor_js_1 = require(\"./domains/context/browsingContextProcessor.js\");\nconst OutgoingBidiMessage_js_1 = require(\"./OutgoingBidiMessage.js\");\nclass BidiNoOpParser {\n    parseAddPreloadScriptParams(params) {\n        return params;\n    }\n    parseRemovePreloadScriptParams(params) {\n        return params;\n    }\n    parseGetRealmsParams(params) {\n        return params;\n    }\n    parseCallFunctionParams(params) {\n        return params;\n    }\n    parseEvaluateParams(params) {\n        return params;\n    }\n    parseDisownParams(params) {\n        return params;\n    }\n    parseSendCommandParams(params) {\n        return params;\n    }\n    parseGetSessionParams(params) {\n        return params;\n    }\n    parseSubscribeParams(params) {\n        return params;\n    }\n    parseNavigateParams(params) {\n        return params;\n    }\n    parseReloadParams(params) {\n        return params;\n    }\n    parseGetTreeParams(params) {\n        return params;\n    }\n    parseCreateParams(params) {\n        return params;\n    }\n    parseCloseParams(params) {\n        return params;\n    }\n    parseCaptureScreenshotParams(params) {\n        return params;\n    }\n    parsePrintParams(params) {\n        return params;\n    }\n    parsePerformActionsParams(params) {\n        return params;\n    }\n    parseReleaseActionsParams(params) {\n        return params;\n    }\n    parseSetViewportParams(params) {\n        return params;\n    }\n}\nclass CommandProcessor extends EventEmitter_js_1.EventEmitter {\n    #contextProcessor;\n    #eventManager;\n    #parser;\n    #logger;\n    constructor(cdpConnection, eventManager, selfTargetId, parser = new BidiNoOpParser(), browsingContextStorage, realmStorage, logger) {\n        super();\n        this.#eventManager = eventManager;\n        this.#logger = logger;\n        this.#contextProcessor = new browsingContextProcessor_js_1.BrowsingContextProcessor(cdpConnection, selfTargetId, eventManager, browsingContextStorage, realmStorage, logger);\n        this.#parser = parser;\n    }\n    static #process_session_status() {\n        return { result: { ready: false, message: 'already connected' } };\n    }\n    async #process_session_subscribe(params, channel) {\n        await this.#eventManager.subscribe(params.events, params.contexts ?? [null], channel);\n        return { result: {} };\n    }\n    async #process_session_unsubscribe(params, channel) {\n        await this.#eventManager.unsubscribe(params.events, params.contexts ?? [null], channel);\n        return { result: {} };\n    }\n    async #processCommand(commandData) {\n        switch (commandData.method) {\n            case 'session.status':\n                return CommandProcessor.#process_session_status();\n            case 'session.subscribe':\n                return this.#process_session_subscribe(this.#parser.parseSubscribeParams(commandData.params), commandData.channel ?? null);\n            case 'session.unsubscribe':\n                return this.#process_session_unsubscribe(this.#parser.parseSubscribeParams(commandData.params), commandData.channel ?? null);\n            case 'browsingContext.create':\n                return this.#contextProcessor.process_browsingContext_create(this.#parser.parseCreateParams(commandData.params));\n            case 'browsingContext.close':\n                return this.#contextProcessor.process_browsingContext_close(this.#parser.parseCloseParams(commandData.params));\n            case 'browsingContext.getTree':\n                return this.#contextProcessor.process_browsingContext_getTree(this.#parser.parseGetTreeParams(commandData.params));\n            case 'browsingContext.navigate':\n                return this.#contextProcessor.process_browsingContext_navigate(this.#parser.parseNavigateParams(commandData.params));\n            case 'browsingContext.captureScreenshot':\n                return this.#contextProcessor.process_browsingContext_captureScreenshot(this.#parser.parseCaptureScreenshotParams(commandData.params));\n            case 'browsingContext.print':\n                return this.#contextProcessor.process_browsingContext_print(this.#parser.parsePrintParams(commandData.params));\n            case 'browsingContext.reload':\n                return this.#contextProcessor.process_browsingContext_reload(this.#parser.parseReloadParams(commandData.params));\n            case 'browsingContext.setViewport':\n                return this.#contextProcessor.process_browsingContext_setViewport(this.#parser.parseSetViewportParams(commandData.params));\n            case 'script.addPreloadScript':\n                return this.#contextProcessor.process_script_addPreloadScript(this.#parser.parseAddPreloadScriptParams(commandData.params));\n            case 'script.removePreloadScript':\n                return this.#contextProcessor.process_script_removePreloadScript(this.#parser.parseRemovePreloadScriptParams(commandData.params));\n            case 'script.getRealms':\n                return this.#contextProcessor.process_script_getRealms(this.#parser.parseGetRealmsParams(commandData.params));\n            case 'script.callFunction':\n                return this.#contextProcessor.process_script_callFunction(this.#parser.parseCallFunctionParams(commandData.params));\n            case 'script.evaluate':\n                return this.#contextProcessor.process_script_evaluate(this.#parser.parseEvaluateParams(commandData.params));\n            case 'script.disown':\n                return this.#contextProcessor.process_script_disown(this.#parser.parseDisownParams(commandData.params));\n            case 'input.performActions':\n                return this.#contextProcessor.process_input_performActions(this.#parser.parsePerformActionsParams(commandData.params));\n            case 'input.releaseActions':\n                return this.#contextProcessor.process_input_releaseActions(this.#parser.parseReleaseActionsParams(commandData.params));\n            case 'cdp.sendCommand':\n                return this.#contextProcessor.process_cdp_sendCommand(this.#parser.parseSendCommandParams(commandData.params));\n            case 'cdp.getSession':\n                return this.#contextProcessor.process_cdp_getSession(this.#parser.parseGetSessionParams(commandData.params));\n        }\n        // Intentionally kept outside of the switch statement to ensure that\n        // ESLint @typescript-eslint/switch-exhaustiveness-check triggers if a new\n        // command is added.\n        throw new protocol_js_1.Message.UnknownCommandException(`Unknown command '${commandData.method}'.`);\n    }\n    async processCommand(command) {\n        try {\n            const result = await this.#processCommand(command);\n            const response = {\n                id: command.id,\n                ...result,\n            };\n            this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(response, command.channel ?? null));\n        }\n        catch (e) {\n            if (e instanceof protocol_js_1.Message.ErrorResponse) {\n                const errorResponse = e;\n                this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(errorResponse.toErrorResponse(command.id), command.channel ?? null));\n            }\n            else {\n                const error = e;\n                this.#logger?.(log_js_1.LogType.bidi, error);\n                this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(new protocol_js_1.Message.UnknownErrorException(error.message).toErrorResponse(command.id), command.channel ?? null));\n            }\n        }\n    }\n}\nexports.CommandProcessor = CommandProcessor;\n//# sourceMappingURL=CommandProcessor.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowsingContextStorage = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\n/** Container class for browsing contexts. */\nclass BrowsingContextStorage {\n    /** Map from context ID to context implementation. */\n    #contexts = new Map();\n    /** Gets all top-level contexts, i.e. those with no parent. */\n    getTopLevelContexts() {\n        return this.getAllContexts().filter((context) => context.isTopLevelContext());\n    }\n    /** Gets all contexts. */\n    getAllContexts() {\n        return Array.from(this.#contexts.values());\n    }\n    /** Deletes the context with the given ID. */\n    deleteContextById(id) {\n        this.#contexts.delete(id);\n    }\n    /** Deletes the given context. */\n    deleteContext(context) {\n        this.#contexts.delete(context.id);\n    }\n    /** Tracks the given context. */\n    addContext(context) {\n        this.#contexts.set(context.id, context);\n    }\n    /** Returns true whether there is an existing context with the given ID. */\n    hasContext(id) {\n        return this.#contexts.has(id);\n    }\n    /** Gets the context with the given ID, if any. */\n    findContext(id) {\n        return this.#contexts.get(id);\n    }\n    /** Returns the top-level context ID of the given context, if any. */\n    findTopLevelContextId(id) {\n        if (id === null) {\n            return null;\n        }\n        const maybeContext = this.findContext(id);\n        const parentId = maybeContext?.parentId ?? null;\n        if (parentId === null) {\n            return id;\n        }\n        return this.findTopLevelContextId(parentId);\n    }\n    /** Gets the context with the given ID, if any, otherwise throws. */\n    getContext(id) {\n        const result = this.findContext(id);\n        if (result === undefined) {\n            throw new protocol_js_1.Message.NoSuchFrameException(`Context ${id} not found`);\n        }\n        return result;\n    }\n}\nexports.BrowsingContextStorage = BrowsingContextStorage;\n//# sourceMappingURL=browsingContextStorage.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Buffer = void 0;\n/**\n * Implements a FIFO buffer with a fixed size.\n */\nclass Buffer {\n    #capacity;\n    #entries = [];\n    #onItemRemoved;\n    /**\n     * @param capacity\n     * @param onItemRemoved optional delegate called for each removed element.\n     */\n    constructor(capacity, onItemRemoved) {\n        this.#capacity = capacity;\n        this.#onItemRemoved = onItemRemoved;\n    }\n    get() {\n        return this.#entries;\n    }\n    add(value) {\n        this.#entries.push(value);\n        while (this.#entries.length > this.#capacity) {\n            const item = this.#entries.shift();\n            if (item !== undefined) {\n                this.#onItemRemoved?.(item);\n            }\n        }\n    }\n}\nexports.Buffer = Buffer;\n//# sourceMappingURL=buffer.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IdWrapper = void 0;\n/**\n * Creates an object with a positive unique incrementing id.\n */\nclass IdWrapper {\n    static #counter = 0;\n    #id;\n    constructor() {\n        this.#id = ++IdWrapper.#counter;\n    }\n    get id() {\n        return this.#id;\n    }\n}\nexports.IdWrapper = IdWrapper;\n//# sourceMappingURL=idWrapper.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SubscriptionManager = exports.unrollEvents = exports.cartesianProduct = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\n/**\n * Returns the cartesian product of the given arrays.\n *\n * Example:\n *   cartesian([1, 2], ['a', 'b']); => [[1, 'a'], [1, 'b'], [2, 'a'], [2, 'b']]\n */\nfunction cartesianProduct(...a) {\n    return a.reduce((a, b) => a.flatMap((d) => b.map((e) => [d, e].flat())));\n}\nexports.cartesianProduct = cartesianProduct;\n/** Expands \"AllEvents\" events into atomic events. */\nfunction unrollEvents(events) {\n    const allEvents = new Set();\n    function addEvents(events) {\n        for (const event of events) {\n            allEvents.add(event);\n        }\n    }\n    for (const event of events) {\n        switch (event) {\n            case protocol_js_1.BrowsingContext.AllEvents:\n                addEvents(Object.values(protocol_js_1.BrowsingContext.EventNames));\n                break;\n            case protocol_js_1.Log.AllEvents:\n                addEvents(Object.values(protocol_js_1.Log.EventNames));\n                break;\n            case protocol_js_1.Network.AllEvents:\n                addEvents(Object.values(protocol_js_1.Network.EventNames));\n                break;\n            case protocol_js_1.Script.AllEvents:\n                addEvents(Object.values(protocol_js_1.Script.EventNames));\n                break;\n            default:\n                allEvents.add(event);\n        }\n    }\n    return [...allEvents.values()];\n}\nexports.unrollEvents = unrollEvents;\nclass SubscriptionManager {\n    #subscriptionPriority = 0;\n    // BrowsingContext `null` means the event has subscription across all the\n    // browsing contexts.\n    // Channel `null` means no `channel` should be added.\n    #channelToContextToEventMap = new Map();\n    #browsingContextStorage;\n    constructor(browsingContextStorage) {\n        this.#browsingContextStorage = browsingContextStorage;\n    }\n    getChannelsSubscribedToEvent(eventMethod, contextId) {\n        const prioritiesAndChannels = Array.from(this.#channelToContextToEventMap.keys())\n            .map((channel) => ({\n            priority: this.#getEventSubscriptionPriorityForChannel(eventMethod, contextId, channel),\n            channel,\n        }))\n            .filter(({ priority }) => priority !== null);\n        // Sort channels by priority.\n        return prioritiesAndChannels\n            .sort((a, b) => a.priority - b.priority)\n            .map(({ channel }) => channel);\n    }\n    #getEventSubscriptionPriorityForChannel(eventMethod, contextId, channel) {\n        const contextToEventMap = this.#channelToContextToEventMap.get(channel);\n        if (contextToEventMap === undefined) {\n            return null;\n        }\n        const maybeTopLevelContextId = this.#browsingContextStorage.findTopLevelContextId(contextId);\n        // `null` covers global subscription.\n        const relevantContexts = [...new Set([null, maybeTopLevelContextId])];\n        // Get all the subscription priorities.\n        const priorities = relevantContexts\n            .map((c) => contextToEventMap.get(c)?.get(eventMethod))\n            .filter((p) => p !== undefined);\n        if (priorities.length === 0) {\n            // Not subscribed, return null.\n            return null;\n        }\n        // Return minimal priority.\n        return Math.min(...priorities);\n    }\n    subscribe(event, contextId, channel) {\n        // All the subscriptions are handled on the top-level contexts.\n        contextId = this.#browsingContextStorage.findTopLevelContextId(contextId);\n        if (event === protocol_js_1.BrowsingContext.AllEvents) {\n            Object.values(protocol_js_1.BrowsingContext.EventNames).map((specificEvent) => this.subscribe(specificEvent, contextId, channel));\n            return;\n        }\n        if (event === protocol_js_1.Log.AllEvents) {\n            Object.values(protocol_js_1.Log.EventNames).map((specificEvent) => this.subscribe(specificEvent, contextId, channel));\n            return;\n        }\n        if (event === protocol_js_1.Network.AllEvents) {\n            Object.values(protocol_js_1.Network.EventNames).map((specificEvent) => this.subscribe(specificEvent, contextId, channel));\n            return;\n        }\n        if (event === protocol_js_1.Script.AllEvents) {\n            Object.values(protocol_js_1.Script.EventNames).map((specificEvent) => this.subscribe(specificEvent, contextId, channel));\n            return;\n        }\n        if (!this.#channelToContextToEventMap.has(channel)) {\n            this.#channelToContextToEventMap.set(channel, new Map());\n        }\n        const contextToEventMap = this.#channelToContextToEventMap.get(channel);\n        if (!contextToEventMap.has(contextId)) {\n            contextToEventMap.set(contextId, new Map());\n        }\n        const eventMap = contextToEventMap.get(contextId);\n        // Do not re-subscribe to events to keep the priority.\n        if (eventMap.has(event)) {\n            return;\n        }\n        eventMap.set(event, this.#subscriptionPriority++);\n    }\n    /**\n     * Unsubscribes atomically from all events in the given contexts and channel.\n     */\n    unsubscribeAll(events, contextIds, channel) {\n        // Assert all contexts are known.\n        for (const contextId of contextIds) {\n            if (contextId !== null) {\n                this.#browsingContextStorage.getContext(contextId);\n            }\n        }\n        const eventContextPairs = cartesianProduct(unrollEvents(events), contextIds);\n        // Assert all unsubscriptions are valid.\n        // If any of the unsubscriptions are invalid, do not unsubscribe from anything.\n        eventContextPairs\n            .map(([event, contextId]) => this.#checkUnsubscribe(event, contextId, channel))\n            .forEach((unsubscribe) => unsubscribe());\n    }\n    /**\n     * Unsubscribes from the event in the given context and channel.\n     * Syntactic sugar for \"unsubscribeAll\".\n     */\n    unsubscribe(eventName, contextId, channel) {\n        this.unsubscribeAll([eventName], [contextId], channel);\n    }\n    #checkUnsubscribe(event, contextId, channel) {\n        // All the subscriptions are handled on the top-level contexts.\n        contextId = this.#browsingContextStorage.findTopLevelContextId(contextId);\n        if (!this.#channelToContextToEventMap.has(channel)) {\n            throw new protocol_js_1.Message.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);\n        }\n        const contextToEventMap = this.#channelToContextToEventMap.get(channel);\n        if (!contextToEventMap.has(contextId)) {\n            throw new protocol_js_1.Message.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);\n        }\n        const eventMap = contextToEventMap.get(contextId);\n        if (!eventMap.has(event)) {\n            throw new protocol_js_1.Message.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);\n        }\n        return () => {\n            eventMap.delete(event);\n            // Clean up maps if empty.\n            if (eventMap.size === 0) {\n                contextToEventMap.delete(event);\n            }\n            if (contextToEventMap.size === 0) {\n                this.#channelToContextToEventMap.delete(channel);\n            }\n        };\n    }\n}\nexports.SubscriptionManager = SubscriptionManager;\n//# sourceMappingURL=SubscriptionManager.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventManager = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst buffer_js_1 = require(\"../../../utils/buffer.js\");\nconst idWrapper_js_1 = require(\"../../../utils/idWrapper.js\");\nconst OutgoingBidiMessage_js_1 = require(\"../../OutgoingBidiMessage.js\");\nconst DefaultMap_js_1 = require(\"../../../utils/DefaultMap.js\");\nconst SubscriptionManager_js_1 = require(\"./SubscriptionManager.js\");\nclass EventWrapper {\n    #idWrapper = new idWrapper_js_1.IdWrapper();\n    #contextId;\n    #event;\n    constructor(event, contextId) {\n        this.#event = event;\n        this.#contextId = contextId;\n    }\n    get id() {\n        return this.#idWrapper.id;\n    }\n    get contextId() {\n        return this.#contextId;\n    }\n    get event() {\n        return this.#event;\n    }\n}\n/**\n * Maps event name to a desired buffer length.\n */\nconst eventBufferLength = new Map([\n    [protocol_js_1.Log.EventNames.LogEntryAddedEvent, 100],\n]);\nclass EventManager {\n    static #NETWORK_DOMAIN_PREFIX = 'network';\n    /**\n     * Maps event name to a set of contexts where this event already happened.\n     * Needed for getting buffered events from all the contexts in case of\n     * subscripting to all contexts.\n     */\n    #eventToContextsMap = new DefaultMap_js_1.DefaultMap(() => new Set());\n    /**\n     * Maps `eventName` + `browsingContext` to buffer. Used to get buffered events\n     * during subscription. Channel-agnostic.\n     */\n    #eventBuffers = new Map();\n    /**\n     * Maps `eventName` + `browsingContext` + `channel` to last sent event id.\n     * Used to avoid sending duplicated events when user\n     * subscribes -> unsubscribes -> subscribes.\n     */\n    #lastMessageSent = new Map();\n    #subscriptionManager;\n    #bidiServer;\n    #isNetworkDomainEnabled;\n    constructor(bidiServer) {\n        this.#bidiServer = bidiServer;\n        this.#subscriptionManager = new SubscriptionManager_js_1.SubscriptionManager(bidiServer.getBrowsingContextStorage());\n        this.#isNetworkDomainEnabled = false;\n    }\n    get isNetworkDomainEnabled() {\n        return this.#isNetworkDomainEnabled;\n    }\n    /**\n     * Returns consistent key to be used to access value maps.\n     */\n    static #getMapKey(eventName, browsingContext, channel) {\n        return JSON.stringify({ eventName, browsingContext, channel });\n    }\n    registerEvent(event, contextId) {\n        this.registerPromiseEvent(Promise.resolve(event), contextId, event.method);\n    }\n    registerPromiseEvent(event, contextId, eventName) {\n        const eventWrapper = new EventWrapper(event, contextId);\n        const sortedChannels = this.#subscriptionManager.getChannelsSubscribedToEvent(eventName, contextId);\n        this.#bufferEvent(eventWrapper, eventName);\n        // Send events to channels in the subscription priority.\n        for (const channel of sortedChannels) {\n            this.#bidiServer.emitOutgoingMessage(OutgoingBidiMessage_js_1.OutgoingBidiMessage.createFromPromise(event, channel));\n            this.#markEventSent(eventWrapper, channel, eventName);\n        }\n    }\n    async subscribe(eventNames, contextIds, channel) {\n        // First check if all the contexts are known.\n        for (const contextId of contextIds) {\n            if (contextId !== null) {\n                // Assert the context is known. Throw exception otherwise.\n                this.#bidiServer.getBrowsingContextStorage().getContext(contextId);\n            }\n        }\n        for (const eventName of eventNames) {\n            for (const contextId of contextIds) {\n                await this.#handleDomains(eventName, contextId);\n                this.#subscriptionManager.subscribe(eventName, contextId, channel);\n                for (const eventWrapper of this.#getBufferedEvents(eventName, contextId, channel)) {\n                    // The order of the events is important.\n                    this.#bidiServer.emitOutgoingMessage(OutgoingBidiMessage_js_1.OutgoingBidiMessage.createFromPromise(eventWrapper.event, channel));\n                    this.#markEventSent(eventWrapper, channel, eventName);\n                }\n            }\n        }\n    }\n    /**\n     * Enables domains for the subscribed event in the required contexts or\n     * globally.\n     */\n    async #handleDomains(eventName, contextId) {\n        // Enable network domain if user subscribed to any of network events.\n        if (eventName.startsWith(EventManager.#NETWORK_DOMAIN_PREFIX)) {\n            // Enable for all the contexts.\n            if (contextId === null) {\n                this.#isNetworkDomainEnabled = true;\n                await Promise.all(this.#bidiServer\n                    .getBrowsingContextStorage()\n                    .getAllContexts()\n                    .map((context) => context.cdpTarget.enableNetworkDomain()));\n            }\n            else {\n                await this.#bidiServer\n                    .getBrowsingContextStorage()\n                    .getContext(contextId)\n                    .cdpTarget.enableNetworkDomain();\n            }\n        }\n    }\n    unsubscribe(eventNames, contextIds, channel) {\n        this.#subscriptionManager.unsubscribeAll(eventNames, contextIds, channel);\n    }\n    /**\n     * If the event is buffer-able, put it in the buffer.\n     */\n    #bufferEvent(eventWrapper, eventName) {\n        if (!eventBufferLength.has(eventName)) {\n            // Do nothing if the event is no buffer-able.\n            return;\n        }\n        const bufferMapKey = EventManager.#getMapKey(eventName, eventWrapper.contextId);\n        if (!this.#eventBuffers.has(bufferMapKey)) {\n            this.#eventBuffers.set(bufferMapKey, new buffer_js_1.Buffer(eventBufferLength.get(eventName)));\n        }\n        this.#eventBuffers.get(bufferMapKey).add(eventWrapper);\n        // Add the context to the list of contexts having `eventName` events.\n        this.#eventToContextsMap.get(eventName).add(eventWrapper.contextId);\n    }\n    /**\n     * If the event is buffer-able, mark it as sent to the given contextId and channel.\n     */\n    #markEventSent(eventWrapper, channel, eventName) {\n        if (!eventBufferLength.has(eventName)) {\n            // Do nothing if the event is no buffer-able.\n            return;\n        }\n        const lastSentMapKey = EventManager.#getMapKey(eventName, eventWrapper.contextId, channel);\n        this.#lastMessageSent.set(lastSentMapKey, Math.max(this.#lastMessageSent.get(lastSentMapKey) ?? 0, eventWrapper.id));\n    }\n    /**\n     * Returns events which are buffered and not yet sent to the given channel events.\n     */\n    #getBufferedEvents(eventName, contextId, channel) {\n        const bufferMapKey = EventManager.#getMapKey(eventName, contextId);\n        const lastSentMapKey = EventManager.#getMapKey(eventName, contextId, channel);\n        const lastSentMessageId = this.#lastMessageSent.get(lastSentMapKey) ?? -Infinity;\n        const result = this.#eventBuffers\n            .get(bufferMapKey)\n            ?.get()\n            .filter((wrapper) => wrapper.id > lastSentMessageId) ?? [];\n        if (contextId === null) {\n            // For global subscriptions, events buffered in each context should be sent back.\n            Array.from(this.#eventToContextsMap.get(eventName).keys())\n                .filter((_contextId) => \n            // Events without context are already in the result.\n            _contextId !== null &&\n                // Events from deleted contexts should not be sent.\n                this.#bidiServer.getBrowsingContextStorage().hasContext(_contextId))\n                .map((_contextId) => this.#getBufferedEvents(eventName, _contextId, channel))\n                .forEach((events) => result.push(...events));\n        }\n        return result.sort((e1, e2) => e1.id - e2.id);\n    }\n}\nexports.EventManager = EventManager;\n//# sourceMappingURL=EventManager.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RealmStorage = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\n/** Container class for browsing realms. */\nclass RealmStorage {\n    /** Tracks handles and their realms sent to the client. */\n    #knownHandlesToRealm = new Map();\n    /** Map from realm ID to Realm. */\n    #realmMap = new Map();\n    get knownHandlesToRealm() {\n        return this.#knownHandlesToRealm;\n    }\n    addRealm(realm) {\n        this.#realmMap.set(realm.realmId, realm);\n    }\n    /** Finds all realms that match the given filter. */\n    findRealms(filter) {\n        return Array.from(this.#realmMap.values()).filter((realm) => {\n            if (filter.realmId !== undefined && filter.realmId !== realm.realmId) {\n                return false;\n            }\n            if (filter.browsingContextId !== undefined &&\n                filter.browsingContextId !== realm.browsingContextId) {\n                return false;\n            }\n            if (filter.navigableId !== undefined &&\n                filter.navigableId !== realm.navigableId) {\n                return false;\n            }\n            if (filter.executionContextId !== undefined &&\n                filter.executionContextId !== realm.executionContextId) {\n                return false;\n            }\n            if (filter.origin !== undefined && filter.origin !== realm.origin) {\n                return false;\n            }\n            if (filter.type !== undefined && filter.type !== realm.type) {\n                return false;\n            }\n            if (filter.sandbox !== undefined && filter.sandbox !== realm.sandbox) {\n                return false;\n            }\n            if (filter.cdpSessionId !== undefined &&\n                filter.cdpSessionId !== realm.cdpSessionId) {\n                return false;\n            }\n            return true;\n        });\n    }\n    findRealm(filter) {\n        const maybeRealms = this.findRealms(filter);\n        if (maybeRealms.length !== 1) {\n            return undefined;\n        }\n        return maybeRealms[0];\n    }\n    /** Gets the only realm that matches the given filter, if any, otherwise throws. */\n    getRealm(filter) {\n        const maybeRealm = this.findRealm(filter);\n        if (maybeRealm === undefined) {\n            throw new protocol_js_1.Message.NoSuchFrameException(`Realm ${JSON.stringify(filter)} not found`);\n        }\n        return maybeRealm;\n    }\n    /** Deletes all realms that match the given filter. */\n    deleteRealms(filter) {\n        this.findRealms(filter).map((realm) => {\n            realm.delete();\n            this.#realmMap.delete(realm.realmId);\n            Array.from(this.knownHandlesToRealm.entries())\n                .filter(([, r]) => r === realm.realmId)\n                .map(([handle]) => this.knownHandlesToRealm.delete(handle));\n        });\n    }\n}\nexports.RealmStorage = RealmStorage;\n//# sourceMappingURL=realmStorage.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BidiServer = void 0;\nconst EventEmitter_js_1 = require(\"../utils/EventEmitter.js\");\nconst log_js_1 = require(\"../utils/log.js\");\nconst processingQueue_js_1 = require(\"../utils/processingQueue.js\");\nconst CommandProcessor_js_1 = require(\"./CommandProcessor.js\");\nconst browsingContextStorage_js_1 = require(\"./domains/context/browsingContextStorage.js\");\nconst EventManager_js_1 = require(\"./domains/events/EventManager.js\");\nconst realmStorage_js_1 = require(\"./domains/script/realmStorage.js\");\nclass BidiServer extends EventEmitter_js_1.EventEmitter {\n    #messageQueue;\n    #transport;\n    #commandProcessor;\n    #browsingContextStorage = new browsingContextStorage_js_1.BrowsingContextStorage();\n    #realmStorage = new realmStorage_js_1.RealmStorage();\n    #logger;\n    #handleIncomingMessage = (message) => {\n        void this.#commandProcessor.processCommand(message).catch((error) => {\n            this.#logger?.(log_js_1.LogType.system, error);\n        });\n    };\n    #processOutgoingMessage = async (messageEntry) => {\n        const message = messageEntry.message;\n        if (messageEntry.channel !== null) {\n            message['channel'] = messageEntry.channel;\n        }\n        await this.#transport.sendMessage(message);\n    };\n    constructor(bidiTransport, cdpConnection, selfTargetId, parser, logger) {\n        super();\n        this.#logger = logger;\n        this.#messageQueue = new processingQueue_js_1.ProcessingQueue(this.#processOutgoingMessage, this.#logger);\n        this.#transport = bidiTransport;\n        this.#transport.setOnMessage(this.#handleIncomingMessage);\n        this.#commandProcessor = new CommandProcessor_js_1.CommandProcessor(cdpConnection, new EventManager_js_1.EventManager(this), selfTargetId, parser, this.#browsingContextStorage, this.#realmStorage, this.#logger);\n        this.#commandProcessor.on('response', (response) => {\n            this.emitOutgoingMessage(response);\n        });\n    }\n    static async createAndStart(bidiTransport, cdpConnection, selfTargetId, parser, logger) {\n        const server = new BidiServer(bidiTransport, cdpConnection, selfTargetId, parser, logger);\n        const cdpClient = cdpConnection.browserClient();\n        // Needed to get events about new targets.\n        await cdpClient.sendCommand('Target.setDiscoverTargets', { discover: true });\n        // Needed to automatically attach to new targets.\n        await cdpClient.sendCommand('Target.setAutoAttach', {\n            autoAttach: true,\n            waitForDebuggerOnStart: true,\n            flatten: true,\n        });\n        await server.topLevelContextsLoaded();\n        return server;\n    }\n    async topLevelContextsLoaded() {\n        await Promise.all(this.#browsingContextStorage\n            .getTopLevelContexts()\n            .map((c) => c.awaitLoaded()));\n    }\n    /**\n     * Sends BiDi message.\n     */\n    emitOutgoingMessage(messageEntry) {\n        this.#messageQueue.add(messageEntry);\n    }\n    close() {\n        this.#transport.close();\n    }\n    getBrowsingContextStorage() {\n        return this.#browsingContextStorage;\n    }\n}\nexports.BidiServer = BidiServer;\n//# sourceMappingURL=BidiServer.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OutgoingBidiMessage = exports.EventEmitter = exports.BidiServer = void 0;\n/**\n * @fileoverview The entry point to the BiDi Mapper namespace.\n * Other modules should only access exports defined in this file.\n * XXX: Add ESlint rule for this (https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-restricted-paths.md)\n */\nvar BidiServer_js_1 = require(\"./BidiServer.js\");\nObject.defineProperty(exports, \"BidiServer\", { enumerable: true, get: function () { return BidiServer_js_1.BidiServer; } });\nvar EventEmitter_js_1 = require(\"../utils/EventEmitter.js\");\nObject.defineProperty(exports, \"EventEmitter\", { enumerable: true, get: function () { return EventEmitter_js_1.EventEmitter; } });\nvar OutgoingBidiMessage_js_1 = require(\"./OutgoingBidiMessage.js\");\nObject.defineProperty(exports, \"OutgoingBidiMessage\", { enumerable: true, get: function () { return OutgoingBidiMessage_js_1.OutgoingBidiMessage; } });\n//# sourceMappingURL=bidiMapper.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CdpClient = exports.CloseError = void 0;\nconst EventEmitter_js_1 = require(\"../utils/EventEmitter.js\");\n/** A error that will be thrown if/when the connection is closed. */\nclass CloseError extends Error {\n}\nexports.CloseError = CloseError;\n/** Represents a high-level CDP connection to the browser. */\nclass CdpClient extends EventEmitter_js_1.EventEmitter {\n    #cdpConnection;\n    #sessionId;\n    constructor(cdpConnection, sessionId) {\n        super();\n        this.#cdpConnection = cdpConnection;\n        this.#sessionId = sessionId;\n    }\n    sendCommand(method, ...params) {\n        return this.#cdpConnection.sendCommand(method, params[0], this.#sessionId);\n    }\n    isCloseError(error) {\n        return error instanceof CloseError;\n    }\n}\nexports.CdpClient = CdpClient;\n//# sourceMappingURL=cdpClient.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CdpConnection = void 0;\nconst log_js_1 = require(\"../utils/log.js\");\nconst cdpClient_js_1 = require(\"./cdpClient.js\");\n/**\n * Represents a high-level CDP connection to the browser backend.\n * Manages a CdpClient instance for each active CDP session.\n */\nclass CdpConnection {\n    #transport;\n    /** The CdpClient object attached to the root browser session. */\n    #browserCdpClient;\n    /** Map from session ID to CdpClient. */\n    #sessionCdpClients = new Map();\n    #commandCallbacks = new Map();\n    #logger;\n    #nextId = 0;\n    constructor(transport, logger) {\n        this.#transport = transport;\n        this.#logger = logger;\n        this.#transport.setOnMessage(this.#onMessage);\n        this.#browserCdpClient = new cdpClient_js_1.CdpClient(this, undefined);\n    }\n    /** Closes the connection to the browser. */\n    close() {\n        this.#transport.close();\n        for (const [, { reject, error }] of this.#commandCallbacks) {\n            reject(error);\n        }\n        this.#commandCallbacks.clear();\n        this.#sessionCdpClients.clear();\n    }\n    /** The CdpClient object attached to the root browser session. */\n    browserClient() {\n        return this.#browserCdpClient;\n    }\n    /**\n     * Gets a CdpClient instance attached to the given session ID,\n     * or null if the session is not attached.\n     */\n    getCdpClient(sessionId) {\n        const cdpClient = this.#sessionCdpClients.get(sessionId);\n        if (!cdpClient) {\n            throw new Error('Unknown CDP session ID');\n        }\n        return cdpClient;\n    }\n    sendCommand(method, params, sessionId) {\n        return new Promise((resolve, reject) => {\n            const id = this.#nextId++;\n            this.#commandCallbacks.set(id, {\n                resolve,\n                reject,\n                error: new cdpClient_js_1.CloseError(`${method} ${JSON.stringify(params)} ${sessionId ?? ''} call rejected because the connection has been closed.`),\n            });\n            const cdpMessage = { id, method, params };\n            if (sessionId) {\n                cdpMessage.sessionId = sessionId;\n            }\n            const cdpMessageStr = JSON.stringify(cdpMessage);\n            void this.#transport.sendMessage(cdpMessageStr)?.catch((error) => {\n                this.#logger?.(`${log_js_1.LogType.cdp}:ERROR`, error);\n                this.#transport.close();\n            });\n            this.#logger?.(`${log_js_1.LogType.cdp}:SEND ▸`, JSON.stringify(cdpMessage, null, 2));\n        });\n    }\n    #onMessage = (message) => {\n        const messageParsed = JSON.parse(message);\n        const messagePretty = JSON.stringify(messageParsed, null, 2);\n        this.#logger?.(`${log_js_1.LogType.cdp}:RECV ◂`, messagePretty);\n        // Update client map if a session is attached or detached.\n        // Listen for these events on every session.\n        if (messageParsed.method === 'Target.attachedToTarget') {\n            const { sessionId } = messageParsed.params;\n            this.#sessionCdpClients.set(sessionId, new cdpClient_js_1.CdpClient(this, sessionId));\n        }\n        else if (messageParsed.method === 'Target.detachedFromTarget') {\n            const { sessionId } = messageParsed.params;\n            const client = this.#sessionCdpClients.get(sessionId);\n            if (client) {\n                this.#sessionCdpClients.delete(sessionId);\n            }\n        }\n        if (messageParsed.id !== undefined) {\n            // Handle command response.\n            const callbacks = this.#commandCallbacks.get(messageParsed.id);\n            this.#commandCallbacks.delete(messageParsed.id);\n            if (callbacks) {\n                if (messageParsed.result) {\n                    callbacks.resolve(messageParsed.result);\n                }\n                else if (messageParsed.error) {\n                    callbacks.reject(messageParsed.error);\n                }\n            }\n        }\n        else if (messageParsed.method) {\n            const client = messageParsed.sessionId\n                ? this.#sessionCdpClients.get(messageParsed.sessionId)\n                : this.#browserCdpClient;\n            client?.emit(messageParsed.method, messageParsed.params || {});\n        }\n    };\n}\nexports.CdpConnection = CdpConnection;\n//# sourceMappingURL=cdpConnection.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.log = exports.generatePage = void 0;\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst log_js_1 = require(\"../utils/log.js\");\n/** HTML source code for the user-facing Mapper tab. */\nconst mapperPageSource = '<!DOCTYPE html><title>BiDi-CDP Mapper</title><style>body{font-family: Roboto, serif; font-size: 13px; color: #202124;}.log{padding: 12px; font-family: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace; font-size: 11px; line-height: 180%; background: #f1f3f4; border-radius: 4px;}.pre{overflow-wrap: break-word; padding: 10px;}.card{margin: 60px auto; padding: 2px 0; max-width: 900px; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15), 0 1px 6px rgba(0, 0, 0, 0.2); border-radius: 8px;}.divider{height: 1px; background: #f0f0f0;}.item{padding: 16px 20px;}</style><div class=\"card\"><div class=\"item\"><h1>BiDi-CDP Mapper is controlling this tab</h1><p>Closing or reloading it will stop the BiDi process. <a target=\"_blank\" title=\"BiDi-CDP Mapper GitHub Repository\" href=\"https://github.com/GoogleChromeLabs/chromium-bidi\">Details.</a></p></div><div class=\"divider\"></div><details id=\"details\"><summary class=\"item\">Debug information</summary></details></div>';\n/**\n * The following piece of HTML should be added to the `debug` element:\n *\n * <div class=\"divider\"></div>\n * <div class=\"item\">\n * <h3>${name}</h3>\n * <div id=\"${name}_log\" class=\"log\">\n */\nfunction findOrCreateTypeLogContainer(logType) {\n    const containerId = `${logType}_log`;\n    const existingContainer = document.getElementById(containerId);\n    if (existingContainer) {\n        return existingContainer;\n    }\n    const debugElement = document.getElementById('details');\n    const divider = document.createElement('div');\n    divider.className = 'divider';\n    debugElement.appendChild(divider);\n    const htmlItem = document.createElement('div');\n    htmlItem.className = 'item';\n    htmlItem.innerHTML = `<h3>${logType}</h3><div id=\"${containerId}\" class=\"log\"></div>`;\n    debugElement.appendChild(htmlItem);\n    return document.getElementById(containerId);\n}\nfunction generatePage() {\n    // If run not in browser (e.g. unit test), do nothing.\n    if (!globalThis.document.documentElement) {\n        return;\n    }\n    globalThis.document.documentElement.innerHTML = mapperPageSource;\n    // Create main log containers in proper order.\n    findOrCreateTypeLogContainer(log_js_1.LogType.system);\n    findOrCreateTypeLogContainer(log_js_1.LogType.bidi);\n    findOrCreateTypeLogContainer(log_js_1.LogType.browsingContexts);\n    findOrCreateTypeLogContainer(log_js_1.LogType.cdp);\n}\nexports.generatePage = generatePage;\nfunction log(logType, ...messages) {\n    // If run not in browser (e.g. unit test), do nothing.\n    if (!globalThis.document.documentElement) {\n        return;\n    }\n    // If `sendDebugMessage` is defined, send the log message there.\n    global.window?.sendDebugMessage?.(JSON.stringify({ logType, messages }));\n    const typeLogContainer = findOrCreateTypeLogContainer(logType);\n    // This piece of HTML should be added:\n    // <div class=\"pre\">...log message...</div>\n    const lineElement = document.createElement('div');\n    lineElement.className = 'pre';\n    lineElement.textContent = messages.join(' ');\n    typeLogContainer.appendChild(lineElement);\n}\nexports.log = log;\n//# sourceMappingURL=mapperTabPage.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @license\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Parser = __importStar(require(\"../protocol-parser/protocol-parser.js\"));\nconst protocol_1 = require(\"../protocol/protocol\");\nconst bidiMapper_js_1 = require(\"../bidiMapper/bidiMapper.js\");\nconst cdpConnection_js_1 = require(\"../cdp/cdpConnection.js\");\nconst log_js_1 = require(\"../utils/log.js\");\nconst mapperTabPage_js_1 = require(\"./mapperTabPage.js\");\n// Initiate `setSelfTargetId` as soon as possible to prevent race condition.\nconst waitSelfTargetIdPromise = waitSelfTargetId();\nvoid (async () => {\n    (0, mapperTabPage_js_1.generatePage)();\n    // Needed to filter out info related to BiDi target.\n    const selfTargetId = await waitSelfTargetIdPromise;\n    const bidiServer = await createBidiServer(selfTargetId);\n    (0, mapperTabPage_js_1.log)(log_js_1.LogType.system, 'Launched');\n    bidiServer.emitOutgoingMessage(bidiMapper_js_1.OutgoingBidiMessage.createResolved({ launched: true }, null));\n})();\nfunction createCdpConnection() {\n    /**\n     * A CdpTransport implementation that uses the window.cdp bindings\n     * injected by Target.exposeDevToolsProtocol.\n     */\n    class WindowCdpTransport {\n        #onMessage = null;\n        constructor() {\n            window.cdp.onmessage = (message) => {\n                this.#onMessage?.call(null, message);\n            };\n        }\n        setOnMessage(onMessage) {\n            this.#onMessage = onMessage;\n        }\n        sendMessage(message) {\n            window.cdp.send(message);\n        }\n        close() {\n            this.#onMessage = null;\n            window.cdp.onmessage = null;\n        }\n    }\n    return new cdpConnection_js_1.CdpConnection(new WindowCdpTransport(), mapperTabPage_js_1.log);\n}\nfunction createBidiServer(selfTargetId) {\n    class WindowBidiTransport {\n        #onMessage = null;\n        constructor() {\n            window.onBidiMessage = (messageStr) => {\n                (0, mapperTabPage_js_1.log)(`${log_js_1.LogType.bidi}:RECV ◂`, messageStr);\n                let messageObject;\n                try {\n                    messageObject = WindowBidiTransport.#parseBidiMessage(messageStr);\n                }\n                catch (e) {\n                    // Transport-level error does not provide channel.\n                    this.#respondWithError(messageStr, protocol_1.Message.ErrorCode.InvalidArgument, e.message, null);\n                    return;\n                }\n                this.#onMessage?.call(null, messageObject);\n            };\n        }\n        setOnMessage(onMessage) {\n            this.#onMessage = onMessage;\n        }\n        sendMessage(message) {\n            const messageStr = JSON.stringify(message);\n            window.sendBidiResponse(messageStr);\n            (0, mapperTabPage_js_1.log)(`${log_js_1.LogType.bidi}:SEND ▸`, messageStr);\n        }\n        close() {\n            this.#onMessage = null;\n            window.onBidiMessage = null;\n        }\n        #respondWithError(plainCommandData, errorCode, errorMessage, channel) {\n            const errorResponse = WindowBidiTransport.#getErrorResponse(plainCommandData, errorCode, errorMessage);\n            if (channel) {\n                // XXX: get rid of any, same code existed in BidiServer.\n                this.sendMessage({\n                    ...errorResponse,\n                    channel,\n                });\n            }\n            else {\n                this.sendMessage(errorResponse);\n            }\n        }\n        static #getJsonType(value) {\n            if (value === null) {\n                return 'null';\n            }\n            if (Array.isArray(value)) {\n                return 'array';\n            }\n            return typeof value;\n        }\n        static #getErrorResponse(messageStr, errorCode, errorMessage) {\n            // XXX: this is bizarre per spec. We reparse the payload and\n            // extract the ID, regardless of what kind of value it was.\n            let messageId;\n            try {\n                const messageObj = JSON.parse(messageStr);\n                if (WindowBidiTransport.#getJsonType(messageObj) === 'object' &&\n                    'id' in messageObj) {\n                    messageId = messageObj.id;\n                }\n            }\n            catch { }\n            return {\n                id: messageId,\n                error: errorCode,\n                message: errorMessage,\n                // XXX: optional stacktrace field.\n            };\n        }\n        static #parseBidiMessage(messageStr) {\n            let messageObject;\n            try {\n                messageObject = JSON.parse(messageStr);\n            }\n            catch {\n                throw new Error('Cannot parse data as JSON');\n            }\n            const parsedType = WindowBidiTransport.#getJsonType(messageObject);\n            if (parsedType !== 'object') {\n                throw new Error(`Expected JSON object but got ${parsedType}`);\n            }\n            // Extract and validate id, method and params.\n            const { id, method, params } = messageObject;\n            const idType = WindowBidiTransport.#getJsonType(id);\n            if (idType !== 'number' || !Number.isInteger(id) || id < 0) {\n                // TODO: should uint64_t be the upper limit?\n                // https://tools.ietf.org/html/rfc7049#section-2.1\n                throw new Error(`Expected unsigned integer but got ${idType}`);\n            }\n            const methodType = WindowBidiTransport.#getJsonType(method);\n            if (methodType !== 'string') {\n                throw new Error(`Expected string method but got ${methodType}`);\n            }\n            const paramsType = WindowBidiTransport.#getJsonType(params);\n            if (paramsType !== 'object') {\n                throw new Error(`Expected object params but got ${paramsType}`);\n            }\n            let channel = messageObject.channel;\n            if (channel !== undefined) {\n                const channelType = WindowBidiTransport.#getJsonType(channel);\n                if (channelType !== 'string') {\n                    throw new Error(`Expected string channel but got ${channelType}`);\n                }\n                // Empty string channel is considered as no channel provided.\n                if (channel === '') {\n                    channel = undefined;\n                }\n            }\n            return { id, method, params, channel };\n        }\n    }\n    return bidiMapper_js_1.BidiServer.createAndStart(new WindowBidiTransport(), createCdpConnection(), selfTargetId, new BidiParserImpl(), mapperTabPage_js_1.log);\n}\nclass BidiParserImpl {\n    parseAddPreloadScriptParams(params) {\n        return Parser.Script.parseAddPreloadScriptParams(params);\n    }\n    parseRemovePreloadScriptParams(params) {\n        return Parser.Script.parseRemovePreloadScriptParams(params);\n    }\n    parseGetRealmsParams(params) {\n        return Parser.Script.parseGetRealmsParams(params);\n    }\n    parseCallFunctionParams(params) {\n        return Parser.Script.parseCallFunctionParams(params);\n    }\n    parseEvaluateParams(params) {\n        return Parser.Script.parseEvaluateParams(params);\n    }\n    parseDisownParams(params) {\n        return Parser.Script.parseDisownParams(params);\n    }\n    parseSendCommandParams(params) {\n        return Parser.Cdp.parseSendCommandParams(params);\n    }\n    parseGetSessionParams(params) {\n        return Parser.Cdp.parseGetSessionParams(params);\n    }\n    parseSubscribeParams(params) {\n        return Parser.Session.parseSubscribeParams(params);\n    }\n    parseNavigateParams(params) {\n        return Parser.BrowsingContext.parseNavigateParams(params);\n    }\n    parseReloadParams(params) {\n        return Parser.BrowsingContext.parseReloadParams(params);\n    }\n    parseGetTreeParams(params) {\n        return Parser.BrowsingContext.parseGetTreeParams(params);\n    }\n    parseCreateParams(params) {\n        return Parser.BrowsingContext.parseCreateParams(params);\n    }\n    parseCloseParams(params) {\n        return Parser.BrowsingContext.parseCloseParams(params);\n    }\n    parseCaptureScreenshotParams(params) {\n        return Parser.BrowsingContext.parseCaptureScreenshotParams(params);\n    }\n    parsePrintParams(params) {\n        return Parser.BrowsingContext.parsePrintParams(params);\n    }\n    parsePerformActionsParams(params) {\n        return Parser.Input.parsePerformActionsParams(params);\n    }\n    parseReleaseActionsParams(params) {\n        return Parser.Input.parseReleaseActionsParams(params);\n    }\n    parseSetViewportParams(params) {\n        return Parser.BrowsingContext.parseSetViewportParams(params);\n    }\n}\n// Needed to filter out info related to BiDi target.\nasync function waitSelfTargetId() {\n    return new Promise((resolve) => {\n        window.setSelfTargetId = (targetId) => {\n            (0, mapperTabPage_js_1.log)(log_js_1.LogType.system, 'Current target ID:', targetId);\n            resolve(targetId);\n        };\n    });\n}\n//# sourceMappingURL=bidiTab.js.map"],"names":["util","Object","defineProperty","exports","value","getParsedType","ZodParsedType","objectUtil","assertEqual","val","assertIs","_arg","assertNever","_x","Error","arrayToEnum","items","obj","item","getValidEnumValues","validKeys","objectKeys","filter","k","filtered","objectValues","map","e","keys","object","key","prototype","hasOwnProperty","call","push","find","arr","checker","isInteger","Number","isFinite","Math","floor","joinValues","array","separator","join","jsonStringifyReplacer","_","toString","mergeShapes","first","second","data","undefined","string","isNaN","nan","number","boolean","function","bigint","symbol","Array","isArray","null","then","catch","promise","Map","Set","set","Date","date","unknown","ZodError_1","ZodError","quotelessJson","util_1","require$$0","ZodError$1","ZodIssueCode","JSON","stringify","replace","constructor","issues","super","this","addIssue","sub","addIssues","subs","actualProto","setPrototypeOf","__proto__","name","errors","format","_mapper","mapper","issue","message","fieldErrors","_errors","processError","error","code","unionErrors","returnTypeError","argumentsError","path","length","curr","i","el","isEmpty","flatten","formErrors","create","en","require$$1","default","_ctx","invalid_type","received","expected","invalid_literal","unrecognized_keys","invalid_union","invalid_union_discriminator","options","invalid_enum_value","invalid_arguments","invalid_return_type","invalid_date","invalid_string","validation","includes","position","startsWith","endsWith","too_small","type","exact","inclusive","minimum","too_big","maximum","custom","invalid_intersection_types","not_multiple_of","multipleOf","not_finite","defaultError","__importDefault","mod","__esModule","getErrorMap","setErrorMap","en_1","defaultErrorMap","overrideErrorMap","isAsync","isValid","isDirty","isAborted","OK","DIRTY","INVALID","ParseStatus","addIssueToContext","EMPTY_PATH","makeIssue","errors_1","params","errorMaps","issueData","fullPath","fullIssue","errorMessage","maps","m","slice","reverse","ctx","common","contextualErrorMap","schemaErrorMap","x","dirty","abort","static","status","results","arrayValue","s","pairs","syncPairs","pair","mergeObjectSync","finalObject","alwaysSet","freeze","Promise","typeAliases","errorUtil","errToObj","discriminatedUnion","coerce","ZodFirstPartyTypeKind","late","ZodSchema","Schema","ZodBranded","BRAND","ZodNaN","ZodCatch","ZodDefault","ZodNullable","ZodTransformer","ZodEffects","ZodPromise","ZodNativeEnum","ZodEnum","ZodLiteral","ZodFunction","ZodSet","ZodMap","ZodRecord","ZodTuple","ZodIntersection","ZodUnion","ZodObject","ZodArray","ZodVoid","ZodNever","ZodUnknown","ZodNull","ZodUndefined","ZodSymbol","ZodDate","ZodBoolean","ZodBigInt","ZodString","ZodType","NEVER","void","union","transformer","strictObject","record","preprocess","pipeline","optional","onumber","oboolean","nullable","never","nativeEnum","literal","lazy","intersection","enum","effect","errorUtil_1","parseUtil_1","require$$2","require$$3","require$$4","ParseInputLazyPath","parent","_cachedPath","_path","_key","handleResult","result","success","_error","processCreateParams","errorMap","invalid_type_error","required_error","description","iss","def","spa","safeParseAsync","_def","parse","bind","safeParse","parseAsync","refine","refinement","superRefine","nullish","or","and","transform","brand","describe","pipe","isNullable","isOptional","_getType","input","_getOrReturnCtx","parsedType","_processInputParams","_parseSync","_parse","_parseAsync","resolve","_a","async","maybeAsyncResult","check","getIssueProperties","_refinement","setError","refinementData","schema","typeName","ZodOptional","option","incoming","defaultValueFunc","innerType","defaultValue","catchValueFunc","catchValue","This","target","ZodPipeline","cuidRegex","cuid2Regex","ulidRegex","uuidRegex","emailRegex","emojiRegex","ipv4Regex","ipv6Regex","arguments","_regex","regex","test","nonempty","min","trim","checks","kind","toLowerCase","toUpperCase","String","tooBig","tooSmall","URL","lastIndex","args","precision","offset","RegExp","ip","version","_addCheck","email","url","emoji","uuid","cuid","cuid2","ulid","datetime","minLength","max","maxLength","len","isDatetime","ch","isEmail","isURL","isEmoji","isUUID","isCUID","isCUID2","isULID","isIP","floatSafeRemainder","step","valDecCount","split","stepDecCount","decCount","parseInt","toFixed","pow","ZodNumber","gte","lte","setLimit","gt","lt","int","positive","negative","nonpositive","nonnegative","finite","safe","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","minValue","maxValue","isInt","BigInt","Boolean","getTime","minDate","maxDate","ZodAny","_any","_unknown","exactLength","all","mergeArray","element","deepPartialify","newShape","shape","fieldSchema","unwrap","_cached","nonstrict","passthrough","augment","extend","_getCached","shapeKeys","extraKeys","catchall","unknownKeys","keyValidator","strict","_b","_c","_d","strip","augmentation","merge","merging","setKey","index","pick","mask","forEach","omit","deepPartial","partial","required","newField","keyof","createZodEnum","strictCreate","lazycreate","childCtx","types","getDiscriminator","ZodLazy","ZodDiscriminatedUnion","discriminator","discriminatorValue","optionsMap","get","from","discriminatorValues","has","mergeValues","a","b","aType","bType","valid","bKeys","sharedKeys","indexOf","newObj","sharedValue","newArray","handleParsed","parsedLeft","parsedRight","merged","left","right","rest","itemIndex","schemas","keySchema","keyType","valueSchema","valueType","mergeObjectAsync","third","entries","finalMap","minSize","size","maxSize","finalizeSet","elements","parsedSet","add","values","validate","implement","makeArgsIssue","makeReturnsIssue","returns","fn","parsedArgs","parsedReturns","parameters","returnType","func","strictImplement","getter","expectedValues","enumValues","Values","Enum","extract","exclude","opt","nativeEnumValues","promisified","sourceType","processed","checkCtx","arg","fatal","executeRefinement","acc","inner","base","createWithPreprocess","removeDefault","newCtx","removeCatch","Symbol","inResult","in","out","handleAsync","p","_fatal","p2","instanceof","cls","stringType","numberType","nanType","bigIntType","booleanType","dateType","symbolType","undefinedType","nullType","anyType","any","unknownType","neverType","voidType","arrayType","objectType","strictObjectType","unionType","discriminatedUnionType","intersectionType","tupleType","tuple","recordType","mapType","setType","functionType","lazyType","literalType","enumType","nativeEnumType","promiseType","effectsType","optionalType","nullableType","preprocessType","pipelineType","ostring","__createBinding","o","k2","enumerable","__exportStar","require$$5","__setModuleDefault","v","__importStar","z","Script","EventNames","BrowsingContext","Log","Network","Input","SourceActionsType","PointerType","ActionType","Message","ErrorCode","ErrorResponse","stacktrace","toErrorResponse","commandId","id","InvalidArgumentException","InvalidArgument","MoveTargetOutOfBoundsException","MoveTargetOutOfBounds","NoSuchHandleException","NoSuchHandle","InvalidSessionIdException","InvalidSessionId","NoSuchAlertException","NoSuchAlert","NoSuchFrameException","NoSuchFrame","NoSuchNodeException","NoSuchNode","NoSuchElementException","NoSuchElement","NoSuchScriptException","NoSuchScript","SessionNotCreatedException","SessionNotCreated","UnknownCommandException","UnknownCommand","UnknownErrorException","UnknownError","UnsupportedOperationException","UnsupportedOperation","AllEvents","Session","parseObject","zod_1","protocol_js_1","MAX_INT","parseResult","UnicodeCharacterSchema","CommonDataTypes","SharedReferenceSchema","sharedId","handle","RemoteReferenceSchema","UndefinedValueSchema","NullValueSchema","StringValueSchema","SpecialNumberSchema","NumberValueSchema","BooleanValueSchema","BigIntValueSchema","PrimitiveProtocolValueSchema","LocalValueSchema","ArrayLocalValueSchema","DateLocalValueSchema","MapLocalValueSchema","ObjectLocalValueSchema","RegExpLocalValueSchema","SetLocalValueSchema","LocalOrRemoteValueSchema","ListLocalValueSchema","MappingLocalValueSchema","pattern","flags","BrowsingContextSchema","MaxDepthSchema","RealmTypeSchema","GetRealmsParametersSchema","context","parseGetRealmsParams","ContextTargetSchema","sandbox","RealmTargetSchema","realm","TargetSchema","ResultOwnershipSchema","SerializationOptionsSchema","maxDomDepth","maxObjectDepth","includeShadowTree","EvaluateParametersSchema","expression","awaitPromise","resultOwnership","serializationOptions","parseEvaluateParams","DisownParametersSchema","handles","parseDisownParams","ChannelSchema","ChannelPropertiesSchema","channel","ownership","ChannelValueSchema","PreloadScriptSchema","AddPreloadScriptParametersSchema","functionDeclaration","parseAddPreloadScriptParams","RemovePreloadScriptParametersSchema","script","parseRemovePreloadScriptParams","ArgumentValueSchema","CallFunctionParametersSchema","parseCallFunctionParams","GetTreeParametersSchema","maxDepth","root","parseGetTreeParams","ReadinessStateSchema","NavigateParametersSchema","wait","parseNavigateParams","ReloadParametersSchema","ignoreCache","parseReloadParams","CreateParametersSchema","referenceContext","parseCreateParams","CloseParametersSchema","parseCloseParams","CaptureScreenshotParametersSchema","parseCaptureScreenshotParams","PrintPageParametersSchema","height","width","PrintMarginParametersSchema","bottom","top","PrintPageRangesSchema","pageRanges","every","pageRange","match","start","end","groups","PrintParametersSchema","background","margin","orientation","page","scale","shrinkToFit","parsePrintParams","ViewportSchema","SetViewportActionSchema","viewport","parseSetViewportParams","Cdp","SendCommandParamsSchema","method","session","parseSendCommandParams","GetSessionParamsSchema","parseGetSessionParams","BiDiSubscriptionRequestParametersEventsSchema","CdpSubscriptionRequestParametersEventsSchema","SubscriptionRequestParametersEventsSchema","SubscriptionRequestParametersSchema","events","contexts","parseSubscribeParams","ElementOriginSchema","OriginSchema","PauseActionSchema","Pause","duration","KeyDownActionSchema","KeyDown","KeyUpActionSchema","KeyUp","TiltPropertiesSchema","tiltX","tiltY","AnglePropertiesSchema","altitudeAngle","PI","azimuthAngle","PointerCommonPropertiesSchema","pressure","tangentialPressure","twist","PointerUpActionSchema","PointerUp","button","PointerDownActionSchema","PointerDown","PointerMoveActionSchema","PointerMove","y","origin","WheelScrollActionSchema","Scroll","deltaX","deltaY","WheelSourceActionSchema","WheelSourceActionsSchema","Wheel","actions","PointerSourceActionSchema","PointerTypeSchema","PointerParametersSchema","pointerType","Mouse","PointerSourceActionsSchema","Pointer","KeySourceActionSchema","KeySourceActionsSchema","Key","NoneSourceActionSchema","NoneSourceActionsSchema","None","SourceActionsSchema","PerformActionsParametersSchema","parsePerformActionsParams","ReleaseActionsParametersSchema","parseReleaseActionsParams","EventEmitter_1","EventEmitter","mitt_1","n","on","t","off","splice","emit","EventEmitter$1","emitter","handler","once","event","onceHandler","eventData","LogType","processingQueue","ProcessingQueue","log_js_1","logger","processor","queue","isProcessing","entry","processIfNeeded","entryPromise","shift","system","assert_1","assert","assert$1","predicate","Mutex_1","Mutex","Mutex$1","locked","acquirers","acquire","state","resolved","release","action","WheelSource","KeySource","NoneSource","SourceType","pressed","modifiers","alt","setModifier","ctrl","meta","bit","PointerSource","subtype","pointerId","buttons","clickCount","lastClick","setClickCount","timeStamp","DOUBLE_CLICK_TIME_MS","abs","MAX_DOUBLE_CLICK_RADIUS","InputState_1","InputState","Mutex_js_1","InputSource_js_1","InputState$1","cancelList","sources","mutex","getOrCreate","source","pointerIds","getGlobalKeyState","InputStateManager_1","InputStateManager","assert_js_1","InputState_js_1","InputStateManager$1","states","WeakMap","isTopLevelContext","delete","USKeyboardLayout","KeyToKeyCode","Abort","Help","Backspace","Tab","Numpad5","NumpadEnter","Enter","ShiftLeft","ShiftRight","ControlLeft","ControlRight","AltLeft","AltRight","CapsLock","Escape","Convert","NonConvert","Space","Numpad9","PageUp","Numpad3","PageDown","End","Numpad1","Home","Numpad7","ArrowLeft","Numpad4","Numpad8","ArrowUp","ArrowRight","Numpad6","Numpad2","ArrowDown","Select","Open","PrintScreen","Insert","Numpad0","Delete","NumpadDecimal","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","KeyA","KeyB","KeyC","KeyD","KeyE","KeyF","KeyG","KeyH","KeyI","KeyJ","KeyK","KeyL","KeyM","KeyN","KeyO","KeyP","KeyQ","KeyR","KeyS","KeyT","KeyU","KeyV","KeyW","KeyX","KeyY","KeyZ","MetaLeft","MetaRight","ContextMenu","NumpadMultiply","NumpadAdd","NumpadSubtract","NumpadDivide","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F20","F21","F22","F23","F24","NumLock","ScrollLock","AudioVolumeMute","AudioVolumeDown","AudioVolumeUp","MediaTrackNext","MediaTrackPrevious","MediaStop","MediaPlayPause","Semicolon","Equal","NumpadEqual","Comma","Minus","Period","Slash","Backquote","BracketLeft","Backslash","BracketRight","Quote","AltGraph","Props","Cancel","Clear","Shift","Control","Alt","Accept","ModeChange","Print","Execute","c","d","f","g","h","j","l","q","r","u","w","Meta","Attn","CrSel","ExSel","EraseEof","Play","ZoomOut","$","A","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","Camera","EndCall","VolumeDown","VolumeUp","keyUtils","getKeyLocation","getKeyCode","getNormalizedKey","ActionDispatcher_1","ActionDispatcher","USKeyboardLayout_js_1","keyUtils_js_1","CALCULATE_IN_VIEW_CENTER_PT_DECL","getClientRects","window","innerWidth","innerHeight","IS_MAC_DECL","navigator","platform","getOrCreateSandbox","callFunction","tickStart","tickDuration","inputState","isMacOS","optionsByTick","run","dispatchTickActions","performance","now","promises","setTimeout","dispatchAction","keyState","dispatchKeyDownAction","dispatchKeyUpAction","dispatchPointerDownAction","dispatchPointerMoveAction","dispatchPointerUpAction","dispatchScrollAction","Pen","cdpTarget","cdpClient","sendCommand","force","Touch","touchPoints","radiusX","radiusY","startX","startY","offsetX","offsetY","targetX","targetY","getCoordinateFromOrigin","last","ratio","round","posX","posY","getElementCenter","_source","targetDeltaX","targetDeltaY","currentDeltaX","currentDeltaY","rawKey","repeat","location","unmodifiedText","getKeyEventUnmodifiedText","text","getKeyEventText","command","windowsVirtualKeyCode","autoRepeat","isSystemKey","isKeypad","commands","toLocaleUpperCase","PreloadScriptStorage_1","PreloadScriptStorage","PreloadScriptStorage$1","scripts","findPreloadScripts","contextId","contextIds","targetId","targetIds","addPreloadScript","preloadScript","removeBiDiPreloadScripts","unitConversions","inchesFromCm","cm","deferred","Deferred","isFinished","reject","onFulfilled","onRejected","reason","finally","onFinally","toStringTag","uuidv4","globalThis","crypto","randomUUID","randomValues","Uint8Array","getRandomValues","require","webcrypto","bytesToHex","bytes","reduce","str","byte","padStart","subarray","channelProxy","ChannelProxy","uuid_1","properties","eventManager","channelHandle","createAndGetHandleInRealm","sendMessageHandle","createSendMessageHandle","startListener","getHandleFromWindow","queueNonEmptyResolver","onMessage","sendMessage","createChannelHandleResult","createChannelProxyEvalStr","executionContextId","serialization","exceptionDetails","objectId","getMessage","registerEvent","MessageEvent","cdpToBidiValue","realmId","browsingContextId","channelHandleResult","getEvalInWindowStr","delegate","channelProxyEval","ScriptEvaluator","SHARED_ID_DIVIDER","channelProxy_js_1","cdpObject","returnByValue","cdpRemoteObject","cdpRemoteObjectToCallArgument","cdpWebDriverValue","cdpEvaluateResult","serializeCdpExceptionDetails","_this","_arguments","callFunctionAndSerializeScript","thisAndArgumentsList","deserializeToCdpArg","cdpCallFunctionResult","unserializableValue","argumentValue","navigableId","rawBackendNodeId","backendNodeId","keyValueArray","flattenKeyValuePairs","flattenValueList","init","mapping","keyArg","valueArg","list","cdpExceptionDetails","lineOffset","callFrames","stackTrace","frame","functionName","lineNumber","columnNumber","exception","serializeCdpObject","stringifyObject","Realm","scriptEvaluator_js_1","realmStorage","browsingContextStorage","scriptEvaluator","cdpSessionId","addRealm","RealmCreated","toBiDi","knownHandlesToRealm","releaseObject","cdpValue","deepSerializedValue","bidiValue","deepSerializedToBiDi","webDriverValue","hasOwn","internalId","weakLocalObjectReference","children","findContext","getContext","awaitUnblocked","scriptEvaluate","RealmDestroyed","browsingContextImpl","BrowsingContextImpl","unitConversions_js_1","deferred_js_1","realm_js_1","parentId","deferreds","documentInitialized","Page","navigatedWithinDocument","lifecycleEvent","DOMContentLoaded","load","loaderId","maybeDefaultRealm","isNavigating","initListeners","addContext","addChild","ContextCreatedEvent","serializeToBidiValue","deleteAllChildren","deleteRealms","ContextDestroyedEvent","deleteContextById","directChildren","allChildren","concat","child","topContext","childId","defaultRealm","updateCdpTarget","targetUnblocked","maybeSandboxes","findRealms","frameId","worldName","addParentField","onTargetInfoChanged","targetInfo","NavigationStarted","navigation","timestamp","getTimestamp","urlFragment","FragmentNavigated","documentChanged","DomContentLoadedEvent","LoadEvent","auxData","uniqueId","getOrigin","isDefault","getChannels","startListenerFromWindow","resetDeferredsIfFinished","browsingContexts","cdpNavigateResult","errorText","awaitLoaded","deviceScaleFactor","mobile","dontSetVisibleSize","err","clip","cssContentSize","cssLayoutViewport","clientWidth","clientHeight","iframeDocRect","docRect","document","documentElement","getBoundingClientRect","cdpParams","printBackground","marginBottom","marginLeft","marginRight","marginTop","landscape","paperHeight","paperWidth","preferCSSPageSize","logHelper","getRemoteValuesText","logMessageFormatter","specifiers","isFormmatSpecifier","some","spec","output","argFormat","argValues","tokens","token","stringFromArg","parseFloat","toJson","formatText","logManager","LogManager","logHelper_js_1","getBidiStackTrace","cdpStackTrace","stackFrames","callFrame","initialize","initializeLogEntryAddedEventListener","findRealm","argsPromise","registerPromiseEvent","LogEntryAddedEvent","level","consoleApiType","textPromise","DefaultMap_1","DefaultMap","getDefaultValue","DefaultMap$1","networkRequest","NetworkRequest","requestId","servedFromCache","redirectCount","requestWillBeSentEvent","requestWillBeSentExtraInfoEvent","responseReceivedEvent","responseReceivedExtraInfoEvent","beforeRequestSentDeferred","responseReceivedDeferred","onRequestWillBeSentEvent","sendBeforeRequestEvent","onRequestWillBeSentExtraInfoEvent","onResponseReceivedEventExtraInfo","onResponseReceivedEvent","hasExtraInfo","sendResponseReceivedEvent","onServedFromCache","onLoadingFailedEvent","FetchErrorEvent","getBaseEventParams","getNavigationId","request","getRequestData","wallTime","cookies","getCookies","associatedCookies","headers","getHeaders","headersSize","bodySize","timings","timeOrigin","requestTime","redirectStart","redirectEnd","fetchStart","dnsStart","dnsEnd","connectStart","connectEnd","tlsStart","requestStart","responseStart","responseEnd","isIgnoredEvent","getBeforeRequestEvent","BeforeRequestSentEvent","initiator","getInitiatorType","getResponseReceivedEvent","ResponseCompletedEvent","response","fromDiskCache","protocol","statusCode","statusText","fromCache","fromPrefetchCache","mimeType","bytesReceived","encodedDataLength","computeResponseHeadersSize","content","total","header","initiatorType","cookieInfo","cookie","domain","expires","httpOnly","secure","sameSite","getCookiesSameSite","cdpSameSiteValue","networkProcessor","NetworkProcessor","DefaultMap_js_1","networkRequest_js_1","requestMap","getOrCreateNetworkRequest","CdpTarget","logManager_js_1","networkProcessor_js_1","parentTargetId","preloadScriptStorage","networkDomainActivated","setEventListeners","unblock","isNetworkDomainEnabled","enableNetworkDomain","enabled","autoAttach","waitForDebuggerOnStart","initAndEvaluatePreloadScripts","isCloseError","flatMap","channels","initInTarget","scheduleEvaluateInTarget","bidiPreloadScript","BidiPreloadScript","uuid_js_1","cdpPreloadScripts","cdpTargets","getEvaluateString","channelsArgStr","addCdpPreloadScriptResult","preloadScriptId","identifier","cdpPreloadScript","cdpPreloadScriptId","cdpTargetIsGone","cdpTargetId","browsingContextProcessor","BrowsingContextProcessor","InputStateManager_js_1","ActionDispatcher_js_1","PreloadScriptStorage_js_1","browsingContextImpl_js_1","cdpTarget_js_1","require$$6","bidiPreloadScript_1","require$$7","cdpConnection","selfTargetId","inputStateManager","browserClient","handleAttachedToTargetEvent","handleDetachedFromTargetEvent","handleTargetInfoChangedEvent","handleFrameAttachedEvent","handleFrameDetachedEvent","parentBrowsingContext","parentFrameId","parentSessionCdpClient","sessionId","targetCdpClient","getCdpClient","isValidTarget","maybeContext","getRealm","process_browsingContext_getTree","getTopLevelContexts","MAX_VALUE","browserCdpClient","newWindow","process_browsingContext_navigate","navigate","process_browsingContext_reload","reload","captureScreenshot","print","initInTargets","bidiId","remove","process_script_getRealms","realms","disown","actionsByTick","getActionsByTick","dispatcher","dispatchActions","setViewport","commandParams","detachedFromTargetPromise","onContextDestroyed","eventParams","client","process_cdp_getSession","OutgoingBidiMessage_1","OutgoingBidiMessage","messagePromise","OutgoingBidiMessage$1","CommandProcessor_1","CommandProcessor","EventEmitter_js_1","browsingContextProcessor_js_1","OutgoingBidiMessage_js_1","BidiNoOpParser","contextProcessor","parser","ready","subscribe","unsubscribe","commandData","process_session_status","process_session_subscribe","process_session_unsubscribe","process_browsingContext_create","process_browsingContext_close","process_browsingContext_captureScreenshot","process_browsingContext_print","process_browsingContext_setViewport","process_script_addPreloadScript","process_script_removePreloadScript","process_script_callFunction","process_script_evaluate","process_script_disown","process_input_performActions","process_input_releaseActions","process_cdp_sendCommand","processCommand","createResolved","errorResponse","bidi","CommandProcessor$1","BrowsingContextStorage","getAllContexts","deleteContext","hasContext","findTopLevelContextId","buffer","Buffer","capacity","onItemRemoved","idWrapper","IdWrapper","counter","SubscriptionManager_1","SubscriptionManager","unrollEvents","cartesianProduct","flat","allEvents","addEvents","SubscriptionManager$1","subscriptionPriority","channelToContextToEventMap","getChannelsSubscribedToEvent","eventMethod","priority","getEventSubscriptionPriorityForChannel","sort","contextToEventMap","maybeTopLevelContextId","priorities","specificEvent","eventMap","unsubscribeAll","checkUnsubscribe","eventName","EventManager_1","EventManager","buffer_js_1","idWrapper_js_1","SubscriptionManager_js_1","EventWrapper","eventBufferLength","eventToContextsMap","eventBuffers","lastMessageSent","subscriptionManager","bidiServer","getBrowsingContextStorage","browsingContext","eventWrapper","sortedChannels","bufferEvent","emitOutgoingMessage","createFromPromise","markEventSent","eventNames","handleDomains","getBufferedEvents","NETWORK_DOMAIN_PREFIX","bufferMapKey","getMapKey","lastSentMapKey","lastSentMessageId","Infinity","wrapper","_contextId","e1","e2","EventManager$1","RealmStorage","realmMap","maybeRealms","maybeRealm","BidiServer_1","BidiServer","processingQueue_js_1","CommandProcessor_js_1","browsingContextStorage_js_1","EventManager_js_1","realmStorage_js_1","messageQueue","transport","commandProcessor","handleIncomingMessage","processOutgoingMessage","messageEntry","bidiTransport","setOnMessage","server","discover","topLevelContextsLoaded","close","BidiServer$1","BidiServer_js_1","CdpClient","CloseError","CdpConnection","cdpClient_js_1","sessionCdpClients","commandCallbacks","nextId","clear","cdpMessage","cdpMessageStr","cdp","messageParsed","messagePretty","callbacks","mapperTabPage","log","generatePage","findOrCreateTypeLogContainer","logType","containerId","existingContainer","getElementById","debugElement","divider","createElement","className","appendChild","htmlItem","innerHTML","messages","global","sendDebugMessage","typeLogContainer","lineElement","textContent","desc","getOwnPropertyDescriptor","writable","configurable","bidiTab","Parser","protocol_1","bidiMapper_js_1","cdpConnection_js_1","mapperTabPage_js_1","waitSelfTargetIdPromise","setSelfTargetId","waitSelfTargetId","WindowBidiTransport","onBidiMessage","messageStr","messageObject","parseBidiMessage","respondWithError","sendBidiResponse","plainCommandData","errorCode","getErrorResponse","messageId","messageObj","getJsonType","idType","methodType","paramsType","channelType","createAndStart","WindowCdpTransport","onmessage","send","createCdpConnection","BidiParserImpl","createBidiServer","launched"],"mappings":"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,SACD,MAAO,IACX,IAAK,SACD,MAAO,IACX,IAAK,SACD,MAAO,IACX,IAAK,SACD,MAAO,IACX,IAAK,SACD,MAAO,IACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,MACX,IAAK,SAUL,IAAK,SACD,MAAO,OATX,IAAK,SACD,MAAO,iBA6BX,QACI,OAAOA,EAEnB,EAyQkBmlC,EAAAE,WAvQlB,SAAoB3jC,GAChB,OAAQA,GACJ,IAAK,IACL,IAAK,IACD,MAAO,YACX,IAAK,KACL,IAAK,IACD,MAAO,YACX,IAAK,SACD,MAAO,YACX,IAAK,IACL,IAAK,IACD,MAAO,cACX,IAAK,IACL,IAAK,IACD,MAAO,eACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,IACL,IAAK,IACD,MAAO,YACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,SACD,MAAO,UACX,IAAK,SACD,MAAO,WACX,IAAK,SACD,MAAO,cACX,IAAK,SACD,MAAO,eACX,IAAK,SACD,MAAO,QACX,IAAK,SACD,MAAO,WACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,aACX,IAAK,IACL,IAAK,SACD,MAAO,QACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,OACX,IAAK,SACD,MAAO,OACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,WACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,aACX,IAAK,SACD,MAAO,UACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,K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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,13]}
\ No newline at end of file
+{"version":3,"file":"mapperTab.js","sources":["../../node_modules/mitt/dist/mitt.mjs","../cjs/utils/EventEmitter.js","../cjs/utils/log.js","../cjs/utils/processingQueue.js","../cjs/protocol/cdp.js","../cjs/protocol/chromium-bidi.js","../cjs/protocol/webdriver-bidi.js","../cjs/protocol/ErrorResponse.js","../cjs/protocol/protocol.js","../cjs/bidiMapper/BidiNoOpParser.js","../cjs/bidiMapper/OutgoingBidiMessage.js","../cjs/bidiMapper/domains/browser/BrowserProcessor.js","../cjs/bidiMapper/domains/cdp/CdpProcessor.js","../cjs/utils/deferred.js","../cjs/utils/unitConversions.js","../cjs/utils/uuid.js","../cjs/bidiMapper/domains/script/channelProxy.js","../cjs/bidiMapper/domains/script/realm.js","../cjs/bidiMapper/domains/context/browsingContextImpl.js","../cjs/bidiMapper/domains/log/logHelper.js","../cjs/bidiMapper/domains/log/logManager.js","../cjs/utils/DefaultMap.js","../cjs/bidiMapper/domains/network/networkRequest.js","../cjs/bidiMapper/domains/network/NetworkManager.js","../cjs/bidiMapper/domains/context/cdpTarget.js","../cjs/bidiMapper/domains/context/browsingContextProcessor.js","../cjs/utils/assert.js","../cjs/utils/Mutex.js","../cjs/bidiMapper/domains/input/InputSource.js","../cjs/bidiMapper/domains/input/InputState.js","../cjs/bidiMapper/domains/input/InputStateManager.js","../cjs/bidiMapper/domains/input/USKeyboardLayout.js","../cjs/bidiMapper/domains/input/keyUtils.js","../cjs/bidiMapper/domains/input/ActionDispatcher.js","../cjs/bidiMapper/domains/input/InputProcessor.js","../cjs/bidiMapper/domains/script/PreloadScriptStorage.js","../cjs/bidiMapper/domains/script/bidiPreloadScript.js","../cjs/bidiMapper/domains/script/ScriptProcessor.js","../cjs/bidiMapper/domains/session/SessionProcessor.js","../cjs/bidiMapper/CommandProcessor.js","../cjs/bidiMapper/domains/context/browsingContextStorage.js","../cjs/utils/buffer.js","../cjs/utils/idWrapper.js","../cjs/bidiMapper/domains/events/SubscriptionManager.js","../cjs/bidiMapper/domains/events/EventManager.js","../cjs/bidiMapper/domains/script/realmStorage.js","../cjs/bidiMapper/BidiServer.js","../cjs/bidiMapper/bidiMapper.js","../cjs/cdp/cdpClient.js","../cjs/cdp/cdpConnection.js","../../node_modules/zod/lib/helpers/util.js","../../node_modules/zod/lib/ZodError.js","../../node_modules/zod/lib/locales/en.js","../../node_modules/zod/lib/errors.js","../../node_modules/zod/lib/helpers/parseUtil.js","../../node_modules/zod/lib/helpers/typeAliases.js","../../node_modules/zod/lib/helpers/errorUtil.js","../../node_modules/zod/lib/types.js","../../node_modules/zod/lib/external.js","../../node_modules/zod/lib/index.js","../cjs/protocol-parser/webdriver-bidi.js","../cjs/protocol-parser/protocol-parser.js","../cjs/bidiTab/BidiParserImpl.js","../cjs/bidiTab/mapperTabPage.js","../cjs/bidiTab/bidiTab.js"],"sourcesContent":["export default function(n){return{all:n=n||new Map,on:function(t,e){var i=n.get(t);i?i.push(e):n.set(t,[e])},off:function(t,e){var i=n.get(t);i&&(e?i.splice(i.indexOf(e)>>>0,1):n.set(t,[]))},emit:function(t,e){var i=n.get(t);i&&i.slice().map(function(n){n(e)}),(i=n.get(\"*\"))&&i.slice().map(function(n){n(t,e)})}}}\n//# sourceMappingURL=mitt.mjs.map\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventEmitter = void 0;\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst mitt_1 = __importDefault(require(\"mitt\"));\nclass EventEmitter {\n    #emitter = (0, mitt_1.default)();\n    on(type, handler) {\n        this.#emitter.on(type, handler);\n        return this;\n    }\n    /**\n     * Like `on` but the listener will only be fired once and then it will be removed.\n     * @param event The event you'd like to listen to\n     * @param handler The handler function to run when the event occurs\n     * @return `this` to enable chaining method calls.\n     */\n    once(event, handler) {\n        const onceHandler = (eventData) => {\n            handler(eventData);\n            this.off(event, onceHandler);\n        };\n        return this.on(event, onceHandler);\n    }\n    off(type, handler) {\n        this.#emitter.off(type, handler);\n        return this;\n    }\n    /**\n     * Emits an event and call any associated listeners.\n     *\n     * @param event The event to emit.\n     * @param eventData Any data to emit with the event.\n     * @return `true` if there are any listeners, `false` otherwise.\n     */\n    emit(event, eventData) {\n        this.#emitter.emit(event, eventData);\n    }\n    /**\n     * Removes all listeners. If given an event argument, it will remove only\n     * listeners for that event.\n     * @param event - the event to remove listeners for.\n     * @returns `this` to enable you to chain method calls.\n     */\n    removeAllListeners(event) {\n        if (event) {\n            this.#emitter.all.delete(event);\n        }\n        else {\n            this.#emitter.all.clear();\n        }\n        return this;\n    }\n}\nexports.EventEmitter = EventEmitter;\n//# sourceMappingURL=EventEmitter.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogType = void 0;\nvar LogType;\n(function (LogType) {\n    // keep-sorted start\n    LogType[\"bidi\"] = \"BiDi Messages\";\n    LogType[\"browsingContexts\"] = \"Browsing Contexts\";\n    LogType[\"cdp\"] = \"CDP\";\n    LogType[\"system\"] = \"System\";\n    // keep-sorted end\n})(LogType || (exports.LogType = LogType = {}));\n//# sourceMappingURL=log.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProcessingQueue = void 0;\nconst log_js_1 = require(\"./log.js\");\nclass ProcessingQueue {\n    #logger;\n    #processor;\n    #queue = [];\n    // Flag to keep only 1 active processor.\n    #isProcessing = false;\n    constructor(processor, logger) {\n        this.#processor = processor;\n        this.#logger = logger;\n    }\n    add(entry) {\n        this.#queue.push(entry);\n        // No need in waiting. Just initialise processor if needed.\n        void this.#processIfNeeded();\n    }\n    async #processIfNeeded() {\n        if (this.#isProcessing) {\n            return;\n        }\n        this.#isProcessing = true;\n        while (this.#queue.length > 0) {\n            const entryPromise = this.#queue.shift();\n            if (entryPromise !== undefined) {\n                await entryPromise\n                    .then((entry) => {\n                    if (entry.kind === 'error') {\n                        this.#logger?.(log_js_1.LogType.system, 'Event threw before sending:', entry.error);\n                        return;\n                    }\n                    return this.#processor(entry.value);\n                })\n                    .catch((e) => {\n                    this.#logger?.(log_js_1.LogType.system, 'Event was not processed:', e);\n                });\n            }\n        }\n        this.#isProcessing = false;\n    }\n}\nexports.ProcessingQueue = ProcessingQueue;\n//# sourceMappingURL=processingQueue.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=cdp.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Network = exports.BrowsingContext = exports.Log = exports.Script = void 0;\n// keep-sorted end\nvar Script;\n(function (Script) {\n    let EventNames;\n    (function (EventNames) {\n        // keep-sorted start\n        EventNames[\"AllScriptEvent\"] = \"script\";\n        EventNames[\"MessageEvent\"] = \"script.message\";\n        EventNames[\"RealmCreated\"] = \"script.realmCreated\";\n        EventNames[\"RealmDestroyed\"] = \"script.realmDestroyed\";\n        // keep-sorted end\n    })(EventNames = Script.EventNames || (Script.EventNames = {}));\n})(Script || (exports.Script = Script = {}));\nvar Log;\n(function (Log) {\n    let EventNames;\n    (function (EventNames) {\n        EventNames[\"AllLogEvent\"] = \"log\";\n        EventNames[\"LogEntryAddedEvent\"] = \"log.entryAdded\";\n    })(EventNames = Log.EventNames || (Log.EventNames = {}));\n})(Log || (exports.Log = Log = {}));\nvar BrowsingContext;\n(function (BrowsingContext) {\n    let EventNames;\n    (function (EventNames) {\n        // keep-sorted start\n        EventNames[\"AllBrowsingContextEvent\"] = \"browsingContext\";\n        EventNames[\"ContextCreatedEvent\"] = \"browsingContext.contextCreated\";\n        EventNames[\"ContextDestroyedEvent\"] = \"browsingContext.contextDestroyed\";\n        EventNames[\"DomContentLoadedEvent\"] = \"browsingContext.domContentLoaded\";\n        EventNames[\"FragmentNavigated\"] = \"browsingContext.fragmentNavigated\";\n        EventNames[\"LoadEvent\"] = \"browsingContext.load\";\n        EventNames[\"NavigationStarted\"] = \"browsingContext.navigationStarted\";\n        EventNames[\"UserPromptClosed\"] = \"browsingContext.userPromptClosed\";\n        EventNames[\"UserPromptOpened\"] = \"browsingContext.userPromptOpened\";\n        // keep-sorted end\n    })(EventNames = BrowsingContext.EventNames || (BrowsingContext.EventNames = {}));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\nvar Network;\n(function (Network) {\n    let EventNames;\n    (function (EventNames) {\n        // keep-sorted start\n        EventNames[\"AllNetworkEvent\"] = \"network\";\n        EventNames[\"BeforeRequestSentEvent\"] = \"network.beforeRequestSent\";\n        EventNames[\"FetchErrorEvent\"] = \"network.fetchError\";\n        EventNames[\"ResponseCompletedEvent\"] = \"network.responseCompleted\";\n        EventNames[\"ResponseStartedEvent\"] = \"network.responseStarted\";\n        // keep-sorted end\n    })(EventNames = Network.EventNames || (Network.EventNames = {}));\n})(Network || (exports.Network = Network = {}));\n//# sourceMappingURL=chromium-bidi.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=webdriver-bidi.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.UnsupportedOperationException = exports.UnableToCloseBrowserException = exports.UnableToCaptureScreenException = exports.UnknownErrorException = exports.UnknownCommandException = exports.SessionNotCreatedException = exports.NoSuchScriptException = exports.NoSuchNodeException = exports.NoSuchHandleException = exports.NoSuchFrameException = exports.NoSuchElementException = exports.NoSuchAlertException = exports.MoveTargetOutOfBoundsException = exports.InvalidSessionIdException = exports.InvalidArgumentException = exports.Exception = void 0;\nclass Exception {\n    error;\n    message;\n    stacktrace;\n    constructor(error, message, stacktrace) {\n        this.error = error;\n        this.message = message;\n        this.stacktrace = stacktrace;\n    }\n    toErrorResponse(commandId) {\n        return {\n            type: 'error',\n            id: commandId,\n            error: this.error,\n            message: this.message,\n            stacktrace: this.stacktrace,\n        };\n    }\n}\nexports.Exception = Exception;\nclass InvalidArgumentException extends Exception {\n    constructor(message, stacktrace) {\n        super(\"invalid argument\" /* ErrorCode.InvalidArgument */, message, stacktrace);\n    }\n}\nexports.InvalidArgumentException = InvalidArgumentException;\nclass InvalidSessionIdException extends Exception {\n    constructor(message, stacktrace) {\n        super(\"invalid session id\" /* ErrorCode.InvalidSessionId */, message, stacktrace);\n    }\n}\nexports.InvalidSessionIdException = InvalidSessionIdException;\nclass MoveTargetOutOfBoundsException extends Exception {\n    constructor(message, stacktrace) {\n        super(\"move target out of bounds\" /* ErrorCode.MoveTargetOutOfBounds */, message, stacktrace);\n    }\n}\nexports.MoveTargetOutOfBoundsException = MoveTargetOutOfBoundsException;\nclass NoSuchAlertException extends Exception {\n    constructor(message, stacktrace) {\n        super(\"no such alert\" /* ErrorCode.NoSuchAlert */, message, stacktrace);\n    }\n}\nexports.NoSuchAlertException = NoSuchAlertException;\nclass NoSuchElementException extends Exception {\n    constructor(message, stacktrace) {\n        super(\"no such element\" /* ErrorCode.NoSuchElement */, message, stacktrace);\n    }\n}\nexports.NoSuchElementException = NoSuchElementException;\nclass NoSuchFrameException extends Exception {\n    constructor(message, stacktrace) {\n        super(\"no such frame\" /* ErrorCode.NoSuchFrame */, message, stacktrace);\n    }\n}\nexports.NoSuchFrameException = NoSuchFrameException;\nclass NoSuchHandleException extends Exception {\n    constructor(message, stacktrace) {\n        super(\"no such handle\" /* ErrorCode.NoSuchHandle */, message, stacktrace);\n    }\n}\nexports.NoSuchHandleException = NoSuchHandleException;\nclass NoSuchNodeException extends Exception {\n    constructor(message, stacktrace) {\n        super(\"no such node\" /* ErrorCode.NoSuchNode */, message, stacktrace);\n    }\n}\nexports.NoSuchNodeException = NoSuchNodeException;\nclass NoSuchScriptException extends Exception {\n    constructor(message, stacktrace) {\n        super(\"no such script\" /* ErrorCode.NoSuchScript */, message, stacktrace);\n    }\n}\nexports.NoSuchScriptException = NoSuchScriptException;\nclass SessionNotCreatedException extends Exception {\n    constructor(message, stacktrace) {\n        super(\"session not created\" /* ErrorCode.SessionNotCreated */, message, stacktrace);\n    }\n}\nexports.SessionNotCreatedException = SessionNotCreatedException;\nclass UnknownCommandException extends Exception {\n    constructor(message, stacktrace) {\n        super(\"unknown command\" /* ErrorCode.UnknownCommand */, message, stacktrace);\n    }\n}\nexports.UnknownCommandException = UnknownCommandException;\nclass UnknownErrorException extends Exception {\n    constructor(message, stacktrace = new Error().stack) {\n        super(\"unknown error\" /* ErrorCode.UnknownError */, message, stacktrace);\n    }\n}\nexports.UnknownErrorException = UnknownErrorException;\nclass UnableToCaptureScreenException extends Exception {\n    constructor(message, stacktrace) {\n        super(\"unable to capture screen\" /* ErrorCode.UnableToCaptureScreen */, message, stacktrace);\n    }\n}\nexports.UnableToCaptureScreenException = UnableToCaptureScreenException;\nclass UnableToCloseBrowserException extends Exception {\n    constructor(message, stacktrace) {\n        super(\"unable to close browser\" /* ErrorCode.UnableToCloseBrowser */, message, stacktrace);\n    }\n}\nexports.UnableToCloseBrowserException = UnableToCloseBrowserException;\nclass UnsupportedOperationException extends Exception {\n    constructor(message, stacktrace) {\n        super(\"unsupported operation\" /* ErrorCode.UnsupportedOperation */, message, stacktrace);\n    }\n}\nexports.UnsupportedOperationException = UnsupportedOperationException;\n//# sourceMappingURL=ErrorResponse.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChromiumBidi = exports.Cdp = void 0;\nexports.Cdp = __importStar(require(\"./cdp.js\"));\nexports.ChromiumBidi = __importStar(require(\"./chromium-bidi.js\"));\n__exportStar(require(\"./webdriver-bidi.js\"), exports);\n__exportStar(require(\"./ErrorResponse.js\"), exports);\n//# sourceMappingURL=protocol.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BidiNoOpParser = void 0;\nclass BidiNoOpParser {\n    // Browsing Context domain\n    // keep-sorted start block=yes\n    parseActivateParams(params) {\n        return params;\n    }\n    parseCaptureScreenshotParams(params) {\n        return params;\n    }\n    parseCloseParams(params) {\n        return params;\n    }\n    parseCreateParams(params) {\n        return params;\n    }\n    parseGetTreeParams(params) {\n        return params;\n    }\n    parseHandleUserPromptParams(params) {\n        return params;\n    }\n    parseNavigateParams(params) {\n        return params;\n    }\n    parsePrintParams(params) {\n        return params;\n    }\n    parseReloadParams(params) {\n        return params;\n    }\n    parseSetViewportParams(params) {\n        return params;\n    }\n    // keep-sorted end\n    // CDP domain\n    // keep-sorted start block=yes\n    parseGetSessionParams(params) {\n        return params;\n    }\n    parseSendCommandParams(params) {\n        return params;\n    }\n    // keep-sorted end\n    // Script domain\n    // keep-sorted start block=yes\n    parseAddPreloadScriptParams(params) {\n        return params;\n    }\n    parseCallFunctionParams(params) {\n        return params;\n    }\n    parseDisownParams(params) {\n        return params;\n    }\n    parseEvaluateParams(params) {\n        return params;\n    }\n    parseGetRealmsParams(params) {\n        return params;\n    }\n    parseRemovePreloadScriptParams(params) {\n        return params;\n    }\n    // keep-sorted end\n    // Input domain\n    // keep-sorted start block=yes\n    parsePerformActionsParams(params) {\n        return params;\n    }\n    parseReleaseActionsParams(params) {\n        return params;\n    }\n    // keep-sorted end\n    // Session domain\n    // keep-sorted start block=yes\n    parseSubscribeParams(params) {\n        return params;\n    }\n}\nexports.BidiNoOpParser = BidiNoOpParser;\n//# sourceMappingURL=BidiNoOpParser.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OutgoingBidiMessage = void 0;\nclass OutgoingBidiMessage {\n    #message;\n    #channel;\n    constructor(message, channel = null) {\n        this.#message = message;\n        this.#channel = channel;\n    }\n    static createFromPromise(messagePromise, channel) {\n        return messagePromise.then((message) => {\n            if (message.kind === 'success') {\n                return {\n                    kind: 'success',\n                    value: new OutgoingBidiMessage(message.value, channel),\n                };\n            }\n            return message;\n        });\n    }\n    static createResolved(message, channel) {\n        return Promise.resolve({\n            kind: 'success',\n            value: new OutgoingBidiMessage(message, channel),\n        });\n    }\n    get message() {\n        return this.#message;\n    }\n    get channel() {\n        return this.#channel;\n    }\n}\nexports.OutgoingBidiMessage = OutgoingBidiMessage;\n//# sourceMappingURL=OutgoingBidiMessage.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowserProcessor = void 0;\nclass BrowserProcessor {\n    #cdpConnection;\n    constructor(cdpConnection) {\n        this.#cdpConnection = cdpConnection;\n    }\n    close() {\n        const client = this.#cdpConnection.browserClient();\n        // Insure that its put at the last place in the event loop\n        // That way we send back the response before closing in tab\n        setTimeout(() => client.sendCommand('Browser.close'), 0);\n        return {};\n    }\n}\nexports.BrowserProcessor = BrowserProcessor;\n//# sourceMappingURL=BrowserProcessor.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CdpProcessor = void 0;\nclass CdpProcessor {\n    #browsingContextStorage;\n    #cdpConnection;\n    constructor(browsingContextStorage, cdpConnection) {\n        this.#browsingContextStorage = browsingContextStorage;\n        this.#cdpConnection = cdpConnection;\n    }\n    getSession(params) {\n        const context = params.context;\n        const sessionId = this.#browsingContextStorage.getContext(context).cdpTarget.cdpSessionId;\n        if (sessionId === undefined) {\n            return {};\n        }\n        return { session: sessionId };\n    }\n    async sendCommand(params) {\n        const client = params.session\n            ? this.#cdpConnection.getCdpClient(params.session)\n            : this.#cdpConnection.browserClient();\n        const result = await client.sendCommand(params.method, params.params);\n        return {\n            result,\n            session: params.session,\n        };\n    }\n}\nexports.CdpProcessor = CdpProcessor;\n//# sourceMappingURL=CdpProcessor.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Deferred = void 0;\nclass Deferred {\n    #isFinished = false;\n    #promise;\n    #resolve;\n    #reject;\n    get isFinished() {\n        return this.#isFinished;\n    }\n    constructor() {\n        this.#promise = new Promise((resolve, reject) => {\n            this.#resolve = resolve;\n            this.#reject = reject;\n        });\n        // Needed to avoid `Uncaught (in promise)`. The promises returned by `then`\n        // and `catch` will be rejected anyway.\n        this.#promise.catch((_error) => {\n            // Intentionally empty.\n        });\n    }\n    then(onFulfilled, onRejected) {\n        return this.#promise.then(onFulfilled, onRejected);\n    }\n    catch(onRejected) {\n        return this.#promise.catch(onRejected);\n    }\n    resolve(value) {\n        if (!this.#isFinished) {\n            this.#isFinished = true;\n            this.#resolve(value);\n        }\n    }\n    reject(reason) {\n        if (!this.#isFinished) {\n            this.#isFinished = true;\n            this.#reject(reason);\n        }\n    }\n    finally(onFinally) {\n        return this.#promise.finally(onFinally);\n    }\n    [Symbol.toStringTag] = 'Promise';\n}\nexports.Deferred = Deferred;\n//# sourceMappingURL=deferred.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.inchesFromCm = void 0;\n/** @return Given an input in cm, convert it to inches. */\nfunction inchesFromCm(cm) {\n    return cm / 2.54;\n}\nexports.inchesFromCm = inchesFromCm;\n//# sourceMappingURL=unitConversions.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uuidv4 = void 0;\n/**\n * Generates a random v4 UUID, as specified in RFC4122.\n *\n * Uses the native Web Crypto API if available, otherwise falls back to a\n * polyfill.\n *\n * Example: '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'\n */\nfunction uuidv4() {\n    // Available only in secure contexts\n    // https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API\n    if ('crypto' in globalThis && 'randomUUID' in globalThis.crypto) {\n        // Node with\n        // https://nodejs.org/dist/latest-v20.x/docs/api/globals.html#crypto_1 or\n        // secure browser context.\n        return globalThis.crypto.randomUUID();\n    }\n    const randomValues = new Uint8Array(16);\n    if ('crypto' in globalThis && 'getRandomValues' in globalThis.crypto) {\n        // Node with\n        // https://nodejs.org/dist/latest-v20.x/docs/api/globals.html#crypto_1 or\n        // browser.\n        globalThis.crypto.getRandomValues(randomValues);\n    }\n    else {\n        // Node without\n        // https://nodejs.org/dist/latest-v20.x/docs/api/globals.html#crypto_1.\n        // eslint-disable-next-line @typescript-eslint/no-var-requires\n        require('crypto').webcrypto.getRandomValues(randomValues);\n    }\n    // Set version (4) and variant (RFC4122) bits.\n    randomValues[6] = (randomValues[6] & 0x0f) | 0x40;\n    randomValues[8] = (randomValues[8] & 0x3f) | 0x80;\n    const bytesToHex = (bytes) => bytes.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');\n    return [\n        bytesToHex(randomValues.subarray(0, 4)),\n        bytesToHex(randomValues.subarray(4, 6)),\n        bytesToHex(randomValues.subarray(6, 8)),\n        bytesToHex(randomValues.subarray(8, 10)),\n        bytesToHex(randomValues.subarray(10, 16)),\n    ].join('-');\n}\nexports.uuidv4 = uuidv4;\n//# sourceMappingURL=uuid.js.map","\"use strict\";\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ChannelProxy = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst uuid_1 = require(\"../../../utils/uuid\");\n/**\n * Used to send messages from realm to BiDi user.\n */\nclass ChannelProxy {\n    #properties;\n    #id = (0, uuid_1.uuidv4)();\n    constructor(channel) {\n        if (![0, null, undefined].includes(channel.serializationOptions?.maxDomDepth)) {\n            throw new Error('serializationOptions.maxDomDepth other than 0 or null is not supported');\n        }\n        if (![undefined, 'none'].includes(channel.serializationOptions?.includeShadowTree)) {\n            throw new Error('serializationOptions.includeShadowTree other than \"none\" is not supported');\n        }\n        this.#properties = channel;\n    }\n    /**\n     * Creates a channel proxy in the given realm, initialises listener and\n     * returns a handle to `sendMessage` delegate.\n     */\n    async init(realm, eventManager) {\n        const channelHandle = await ChannelProxy.#createAndGetHandleInRealm(realm);\n        const sendMessageHandle = await ChannelProxy.#createSendMessageHandle(realm, channelHandle);\n        void this.#startListener(realm, channelHandle, eventManager);\n        return sendMessageHandle;\n    }\n    /** Gets a ChannelProxy from window and returns its handle. */\n    async startListenerFromWindow(realm, eventManager) {\n        const channelHandle = await this.#getHandleFromWindow(realm);\n        void this.#startListener(realm, channelHandle, eventManager);\n    }\n    /**\n     * Evaluation string which creates a ChannelProxy object on the client side.\n     */\n    static #createChannelProxyEvalStr() {\n        const functionStr = String(() => {\n            const queue = [];\n            let queueNonEmptyResolver = null;\n            return {\n                /**\n                 * Gets a promise, which is resolved as soon as a message occurs\n                 * in the queue.\n                 */\n                async getMessage() {\n                    const onMessage = queue.length > 0\n                        ? Promise.resolve()\n                        : new Promise((resolve) => {\n                            queueNonEmptyResolver = resolve;\n                        });\n                    await onMessage;\n                    return queue.shift();\n                },\n                /**\n                 * Adds a message to the queue.\n                 * Resolves the pending promise if needed.\n                 */\n                sendMessage(message) {\n                    queue.push(message);\n                    if (queueNonEmptyResolver !== null) {\n                        queueNonEmptyResolver();\n                        queueNonEmptyResolver = null;\n                    }\n                },\n            };\n        });\n        return `(${functionStr})()`;\n    }\n    /** Creates a ChannelProxy in the given realm. */\n    static async #createAndGetHandleInRealm(realm) {\n        const createChannelHandleResult = await realm.cdpClient.sendCommand('Runtime.evaluate', {\n            expression: this.#createChannelProxyEvalStr(),\n            contextId: realm.executionContextId,\n            serializationOptions: {\n                serialization: \"idOnly\" /* Protocol.Runtime.SerializationOptionsSerialization.IdOnly */,\n            },\n        });\n        if (createChannelHandleResult.exceptionDetails ||\n            createChannelHandleResult.result.objectId === undefined) {\n            throw new Error(`Cannot create channel`);\n        }\n        return createChannelHandleResult.result.objectId;\n    }\n    /** Gets a handle to `sendMessage` delegate from the ChannelProxy handle. */\n    static async #createSendMessageHandle(realm, channelHandle) {\n        const sendMessageArgResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n            functionDeclaration: String((channelHandle) => {\n                return channelHandle.sendMessage;\n            }),\n            arguments: [{ objectId: channelHandle }],\n            executionContextId: realm.executionContextId,\n            serializationOptions: {\n                serialization: \"idOnly\" /* Protocol.Runtime.SerializationOptionsSerialization.IdOnly */,\n            },\n        });\n        // TODO: check for exceptionDetails.\n        return sendMessageArgResult.result.objectId;\n    }\n    /** Starts listening for the channel events of the provided ChannelProxy. */\n    async #startListener(realm, channelHandle, eventManager) {\n        // TODO(#294): Remove this loop after the realm is destroyed.\n        // Rely on the CDP throwing exception in such a case.\n        // noinspection InfiniteLoopJS\n        for (;;) {\n            const message = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n                functionDeclaration: String(async (channelHandle) => channelHandle.getMessage()),\n                arguments: [\n                    {\n                        objectId: channelHandle,\n                    },\n                ],\n                awaitPromise: true,\n                executionContextId: realm.executionContextId,\n                serializationOptions: {\n                    serialization: \"deep\" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */,\n                    ...(this.#properties.serializationOptions?.maxObjectDepth ===\n                        undefined ||\n                        this.#properties.serializationOptions.maxObjectDepth === null\n                        ? {}\n                        : {\n                            maxDepth: this.#properties.serializationOptions.maxObjectDepth,\n                        }),\n                },\n            });\n            if (message.exceptionDetails) {\n                // TODO: add logging.\n                // TODO: check if a error should be thrown.\n                return;\n            }\n            eventManager.registerEvent({\n                type: 'event',\n                method: protocol_js_1.ChromiumBidi.Script.EventNames.MessageEvent,\n                params: {\n                    channel: this.#properties.channel,\n                    data: realm.cdpToBidiValue(message, this.#properties.ownership ?? \"none\" /* Script.ResultOwnership.None */),\n                    source: {\n                        realm: realm.realmId,\n                        context: realm.browsingContextId,\n                    },\n                },\n            }, realm.browsingContextId);\n        }\n    }\n    /**\n     * Returns a handle of ChannelProxy from window's property which was set there\n     * by `getEvalInWindowStr`. If window property is not set yet, sets a promise\n     * resolver to the window property, so that `getEvalInWindowStr` can resolve\n     * the promise later on with the channel.\n     * This is needed because `getEvalInWindowStr` can be called before or\n     * after this method.\n     */\n    async #getHandleFromWindow(realm) {\n        const channelHandleResult = await realm.cdpClient.sendCommand('Runtime.callFunctionOn', {\n            functionDeclaration: String((id) => {\n                const w = window;\n                if (w[id] === undefined) {\n                    // The channelProxy is not created yet. Create a promise, put the\n                    // resolver to window property and return the promise.\n                    // `getEvalInWindowStr` will resolve the promise later.\n                    return new Promise((resolve) => (w[id] = resolve));\n                }\n                // The channelProxy is already created by `getEvalInWindowStr` and\n                // is set into window property. Return it.\n                const channelProxy = w[id];\n                delete w[id];\n                return channelProxy;\n            }),\n            arguments: [{ value: this.#id }],\n            executionContextId: realm.executionContextId,\n            awaitPromise: true,\n            serializationOptions: {\n                serialization: \"idOnly\" /* Protocol.Runtime.SerializationOptionsSerialization.IdOnly */,\n            },\n        });\n        if (channelHandleResult.exceptionDetails !== undefined ||\n            channelHandleResult.result.objectId === undefined) {\n            throw new Error(`ChannelHandle not found in window[\"${this.#id}\"]`);\n        }\n        return channelHandleResult.result.objectId;\n    }\n    /**\n     * String to be evaluated to create a ProxyChannel and put it to window.\n     * Returns the delegate `sendMessage`. Used to provide an argument for preload\n     * script. Does the following:\n     * 1. Creates a ChannelProxy.\n     * 2. Puts the ChannelProxy to window['${this.#id}'] or resolves the promise\n     *    by calling delegate stored in window['${this.#id}'].\n     *    This is needed because `#getHandleFromWindow` can be called before or\n     *    after this method.\n     * 3. Returns the delegate `sendMessage` of the created ChannelProxy.\n     */\n    getEvalInWindowStr() {\n        const delegate = String((id, channelProxy) => {\n            const w = window;\n            if (w[id] === undefined) {\n                // `#getHandleFromWindow` is not initialized yet, and will get the\n                // channelProxy later.\n                w[id] = channelProxy;\n            }\n            else {\n                // `#getHandleFromWindow` is already set a delegate to window property\n                // and is waiting for it to be called with the channelProxy.\n                w[id](channelProxy);\n                delete w[id];\n            }\n            return channelProxy.sendMessage;\n        });\n        const channelProxyEval = ChannelProxy.#createChannelProxyEvalStr();\n        return `(${delegate})('${this.#id}',${channelProxyEval})`;\n    }\n}\nexports.ChannelProxy = ChannelProxy;\n//# sourceMappingURL=channelProxy.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Realm = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst log_js_1 = require(\"../../../utils/log.js\");\nconst channelProxy_js_1 = require(\"./channelProxy.js\");\nconst SHARED_ID_DIVIDER = '_element_';\nclass Realm {\n    #realmStorage;\n    #browsingContextStorage;\n    #realmId;\n    #browsingContextId;\n    #executionContextId;\n    #origin;\n    #type;\n    #cdpClient;\n    #eventManager;\n    sandbox;\n    #logger;\n    constructor(realmStorage, browsingContextStorage, realmId, browsingContextId, executionContextId, origin, type, sandbox, cdpClient, eventManager, logger) {\n        this.#realmId = realmId;\n        this.#browsingContextId = browsingContextId;\n        this.#executionContextId = executionContextId;\n        this.sandbox = sandbox;\n        this.#origin = origin;\n        this.#type = type;\n        this.#cdpClient = cdpClient;\n        this.#realmStorage = realmStorage;\n        this.#browsingContextStorage = browsingContextStorage;\n        this.#eventManager = eventManager;\n        this.#logger = logger;\n        this.#realmStorage.addRealm(this);\n        this.#eventManager.registerEvent({\n            type: 'event',\n            method: protocol_js_1.ChromiumBidi.Script.EventNames.RealmCreated,\n            params: this.realmInfo,\n        }, this.browsingContextId);\n    }\n    cdpToBidiValue(cdpValue, resultOwnership) {\n        const bidiValue = this.#deepSerializedToBiDi(cdpValue.result.deepSerializedValue);\n        if (cdpValue.result.objectId) {\n            const objectId = cdpValue.result.objectId;\n            if (resultOwnership === \"root\" /* Script.ResultOwnership.Root */) {\n                // Extend BiDi value with `handle` based on required `resultOwnership`\n                // and  CDP response but not on the actual BiDi type.\n                bidiValue.handle = objectId;\n                // Remember all the handles sent to client.\n                this.#realmStorage.knownHandlesToRealmMap.set(objectId, this.realmId);\n            }\n            else {\n                // No need to await for the object to be released.\n                void this.#releaseObject(objectId).catch((error) => this.#logger?.(log_js_1.LogType.system, error));\n            }\n        }\n        if (cdpValue.result.type === 'object') {\n            switch (cdpValue.result.subtype) {\n                case 'generator':\n                case 'iterator':\n                    bidiValue.type = cdpValue.result.subtype;\n                    delete bidiValue['value'];\n                    break;\n                default:\n                // Intentionally left blank.\n            }\n        }\n        return bidiValue;\n    }\n    /**\n     * Relies on the CDP to implement proper BiDi serialization, except\n     * backendNodeId/sharedId and `platformobject`.\n     */\n    #deepSerializedToBiDi(deepSerializedValue) {\n        if (Object.hasOwn(deepSerializedValue, 'weakLocalObjectReference')) {\n            deepSerializedValue.internalId = `${deepSerializedValue.weakLocalObjectReference}`;\n            delete deepSerializedValue['weakLocalObjectReference'];\n        }\n        // Platform object is a special case. It should have only `{type: object}`\n        // without `value` field.\n        if (deepSerializedValue.type === 'platformobject') {\n            return { type: 'object' };\n        }\n        const bidiValue = deepSerializedValue.value;\n        if (bidiValue === undefined) {\n            return deepSerializedValue;\n        }\n        if (deepSerializedValue.type === 'node') {\n            if (Object.hasOwn(bidiValue, 'backendNodeId')) {\n                deepSerializedValue.sharedId = `${this.navigableId}${SHARED_ID_DIVIDER}${bidiValue.backendNodeId}`;\n                delete bidiValue['backendNodeId'];\n            }\n            if (Object.hasOwn(bidiValue, 'children')) {\n                for (const i in bidiValue.children) {\n                    bidiValue.children[i] = this.#deepSerializedToBiDi(bidiValue.children[i]);\n                }\n            }\n            if (Object.hasOwn(bidiValue, 'shadowRoot') &&\n                bidiValue.shadowRoot !== null) {\n                bidiValue.shadowRoot = this.#deepSerializedToBiDi(bidiValue.shadowRoot);\n            }\n        }\n        // Recursively update the nested values.\n        if (['array', 'set', 'htmlcollection', 'nodelist'].includes(deepSerializedValue.type)) {\n            for (const i in bidiValue) {\n                bidiValue[i] = this.#deepSerializedToBiDi(bidiValue[i]);\n            }\n        }\n        if (['object', 'map'].includes(deepSerializedValue.type)) {\n            for (const i in bidiValue) {\n                bidiValue[i] = [\n                    this.#deepSerializedToBiDi(bidiValue[i][0]),\n                    this.#deepSerializedToBiDi(bidiValue[i][1]),\n                ];\n            }\n        }\n        return deepSerializedValue;\n    }\n    get realmId() {\n        return this.#realmId;\n    }\n    get navigableId() {\n        return (this.#browsingContextStorage.findContext(this.#browsingContextId)\n            ?.navigableId ?? 'UNKNOWN');\n    }\n    get browsingContextId() {\n        return this.#browsingContextId;\n    }\n    get executionContextId() {\n        return this.#executionContextId;\n    }\n    get origin() {\n        return this.#origin;\n    }\n    get type() {\n        return this.#type;\n    }\n    get cdpClient() {\n        return this.#cdpClient;\n    }\n    get realmInfo() {\n        return {\n            realm: this.realmId,\n            origin: this.origin,\n            type: this.type,\n            context: this.browsingContextId,\n            ...(this.sandbox === undefined ? {} : { sandbox: this.sandbox }),\n        };\n    }\n    async evaluate(expression, awaitPromise, resultOwnership, serializationOptions, userActivation = false) {\n        await this.#browsingContextStorage\n            .getContext(this.browsingContextId)\n            .targetUnblocked();\n        const cdpEvaluateResult = await this.cdpClient.sendCommand('Runtime.evaluate', {\n            contextId: this.executionContextId,\n            expression,\n            awaitPromise,\n            serializationOptions: Realm.#getSerializationOptions(\"deep\" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */, serializationOptions),\n            userGesture: userActivation,\n        });\n        if (cdpEvaluateResult.exceptionDetails) {\n            return this.#getExceptionResult(cdpEvaluateResult.exceptionDetails, 0, resultOwnership);\n        }\n        return {\n            realm: this.realmId,\n            result: this.cdpToBidiValue(cdpEvaluateResult, resultOwnership),\n            type: 'success',\n        };\n    }\n    /**\n     * Serializes a given CDP object into BiDi, keeping references in the\n     * target's `globalThis`.\n     */\n    async serializeCdpObject(cdpRemoteObject, resultOwnership) {\n        const argument = Realm.#cdpRemoteObjectToCallArgument(cdpRemoteObject);\n        const cdpValue = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n            functionDeclaration: String((remoteObject) => remoteObject),\n            awaitPromise: false,\n            arguments: [argument],\n            serializationOptions: {\n                serialization: \"deep\" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */,\n            },\n            executionContextId: this.executionContextId,\n        });\n        return this.cdpToBidiValue(cdpValue, resultOwnership);\n    }\n    static #cdpRemoteObjectToCallArgument(cdpRemoteObject) {\n        if (cdpRemoteObject.objectId !== undefined) {\n            return { objectId: cdpRemoteObject.objectId };\n        }\n        if (cdpRemoteObject.unserializableValue !== undefined) {\n            return { unserializableValue: cdpRemoteObject.unserializableValue };\n        }\n        return { value: cdpRemoteObject.value };\n    }\n    /**\n     * Gets the string representation of an object. This is equivalent to\n     * calling `toString()` on the object value.\n     */\n    async stringifyObject(cdpRemoteObject) {\n        const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n            functionDeclaration: String((remoteObject) => String(remoteObject)),\n            awaitPromise: false,\n            arguments: [cdpRemoteObject],\n            returnByValue: true,\n            executionContextId: this.executionContextId,\n        });\n        return result.value;\n    }\n    async #flattenKeyValuePairs(mappingLocalValue) {\n        const keyValueArray = [];\n        for (const [key, value] of mappingLocalValue) {\n            let keyArg;\n            if (typeof key === 'string') {\n                // Key is a string.\n                keyArg = { value: key };\n            }\n            else {\n                // Key is a serialized value.\n                keyArg = await this.#deserializeToCdpArg(key);\n            }\n            const valueArg = await this.#deserializeToCdpArg(value);\n            keyValueArray.push(keyArg);\n            keyValueArray.push(valueArg);\n        }\n        return keyValueArray;\n    }\n    async #flattenValueList(listLocalValue) {\n        return Promise.all(listLocalValue.map((localValue) => this.#deserializeToCdpArg(localValue)));\n    }\n    async #serializeCdpExceptionDetails(cdpExceptionDetails, lineOffset, resultOwnership) {\n        const callFrames = cdpExceptionDetails.stackTrace?.callFrames.map((frame) => ({\n            url: frame.url,\n            functionName: frame.functionName,\n            lineNumber: frame.lineNumber - lineOffset,\n            columnNumber: frame.columnNumber,\n        })) ?? [];\n        // Exception should always be there.\n        const exception = cdpExceptionDetails.exception;\n        return {\n            exception: await this.serializeCdpObject(exception, resultOwnership),\n            columnNumber: cdpExceptionDetails.columnNumber,\n            lineNumber: cdpExceptionDetails.lineNumber - lineOffset,\n            stackTrace: {\n                callFrames,\n            },\n            text: (await this.stringifyObject(exception)) || cdpExceptionDetails.text,\n        };\n    }\n    async callFunction(functionDeclaration, thisLocalValue, argumentsLocalValues, awaitPromise, resultOwnership, serializationOptions, userActivation = false) {\n        await this.#browsingContextStorage\n            .getContext(this.browsingContextId)\n            .targetUnblocked();\n        const callFunctionAndSerializeScript = `(...args) => {\n      function callFunction(f, args) {\n        const deserializedThis = args.shift();\n        const deserializedArgs = args;\n        return f.apply(deserializedThis, deserializedArgs);\n      }\n      return callFunction((\n        ${functionDeclaration}\n      ), args);\n    }`;\n        const thisAndArgumentsList = [\n            await this.#deserializeToCdpArg(thisLocalValue),\n            ...(await Promise.all(argumentsLocalValues.map(async (argumentLocalValue) => this.#deserializeToCdpArg(argumentLocalValue)))),\n        ];\n        let cdpCallFunctionResult;\n        try {\n            cdpCallFunctionResult = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n                functionDeclaration: callFunctionAndSerializeScript,\n                awaitPromise,\n                arguments: thisAndArgumentsList,\n                serializationOptions: Realm.#getSerializationOptions(\"deep\" /* Protocol.Runtime.SerializationOptionsSerialization.Deep */, serializationOptions),\n                executionContextId: this.executionContextId,\n                userGesture: userActivation,\n            });\n        }\n        catch (error) {\n            // Heuristic to determine if the problem is in the argument.\n            // The check can be done on the `deserialization` step, but this approach\n            // helps to save round-trips.\n            if (error.code === -32000 &&\n                [\n                    'Could not find object with given id',\n                    'Argument should belong to the same JavaScript world as target object',\n                    'Invalid remote object id',\n                ].includes(error.message)) {\n                throw new protocol_js_1.NoSuchHandleException('Handle was not found.');\n            }\n            throw error;\n        }\n        if (cdpCallFunctionResult.exceptionDetails) {\n            return this.#getExceptionResult(cdpCallFunctionResult.exceptionDetails, 1, resultOwnership);\n        }\n        return {\n            type: 'success',\n            result: this.cdpToBidiValue(cdpCallFunctionResult, resultOwnership),\n            realm: this.realmId,\n        };\n    }\n    async #deserializeToCdpArg(localValue) {\n        if ('sharedId' in localValue && localValue.sharedId) {\n            const [navigableId, rawBackendNodeId] = localValue.sharedId.split(SHARED_ID_DIVIDER);\n            const backendNodeId = parseInt(rawBackendNodeId ?? '');\n            if (isNaN(backendNodeId) ||\n                backendNodeId === undefined ||\n                navigableId === undefined) {\n                throw new protocol_js_1.NoSuchNodeException(`SharedId \"${localValue.sharedId}\" was not found.`);\n            }\n            if (this.navigableId !== navigableId) {\n                throw new protocol_js_1.NoSuchNodeException(`SharedId \"${localValue.sharedId}\" belongs to different document. Current document is ${this.navigableId}.`);\n            }\n            try {\n                const { object } = await this.cdpClient.sendCommand('DOM.resolveNode', {\n                    backendNodeId,\n                    executionContextId: this.executionContextId,\n                });\n                // TODO(#375): Release `obj.object.objectId` after using.\n                return { objectId: object.objectId };\n            }\n            catch (error) {\n                // Heuristic to detect \"no such node\" exception. Based on the  specific\n                // CDP implementation.\n                if (error.code === -32000 &&\n                    error.message === 'No node with given id found') {\n                    throw new protocol_js_1.NoSuchNodeException(`SharedId \"${localValue.sharedId}\" was not found.`);\n                }\n                throw new protocol_js_1.UnknownErrorException(error.message, error.stack);\n            }\n        }\n        else if ('handle' in localValue && localValue.handle) {\n            return { objectId: localValue.handle };\n            // We tried to find a handle value but failed\n            // This allows us to have exhaustive switch on `localValue.type`\n        }\n        else if ('handle' in localValue || 'sharedId' in localValue) {\n            throw new protocol_js_1.NoSuchHandleException('Handle was not found.');\n        }\n        switch (localValue.type) {\n            case 'undefined':\n                return { unserializableValue: 'undefined' };\n            case 'null':\n                return { unserializableValue: 'null' };\n            case 'string':\n                return { value: localValue.value };\n            case 'number':\n                if (localValue.value === 'NaN') {\n                    return { unserializableValue: 'NaN' };\n                }\n                else if (localValue.value === '-0') {\n                    return { unserializableValue: '-0' };\n                }\n                else if (localValue.value === 'Infinity') {\n                    return { unserializableValue: 'Infinity' };\n                }\n                else if (localValue.value === '-Infinity') {\n                    return { unserializableValue: '-Infinity' };\n                }\n                return {\n                    value: localValue.value,\n                };\n            case 'boolean':\n                return { value: Boolean(localValue.value) };\n            case 'bigint':\n                return {\n                    unserializableValue: `BigInt(${JSON.stringify(localValue.value)})`,\n                };\n            case 'date':\n                return {\n                    unserializableValue: `new Date(Date.parse(${JSON.stringify(localValue.value)}))`,\n                };\n            case 'regexp':\n                return {\n                    unserializableValue: `new RegExp(${JSON.stringify(localValue.value.pattern)}, ${JSON.stringify(localValue.value.flags)})`,\n                };\n            case 'map': {\n                // TODO: If none of the nested keys and values has a remote\n                // reference, serialize to `unserializableValue` without CDP roundtrip.\n                const keyValueArray = await this.#flattenKeyValuePairs(localValue.value);\n                const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n                    functionDeclaration: String((...args) => {\n                        const result = new Map();\n                        for (let i = 0; i < args.length; i += 2) {\n                            result.set(args[i], args[i + 1]);\n                        }\n                        return result;\n                    }),\n                    awaitPromise: false,\n                    arguments: keyValueArray,\n                    returnByValue: false,\n                    executionContextId: this.executionContextId,\n                });\n                // TODO(#375): Release `result.objectId` after using.\n                return { objectId: result.objectId };\n            }\n            case 'object': {\n                // TODO: If none of the nested keys and values has a remote\n                // reference, serialize to `unserializableValue` without CDP roundtrip.\n                const keyValueArray = await this.#flattenKeyValuePairs(localValue.value);\n                const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n                    functionDeclaration: String((...args) => {\n                        const result = {};\n                        for (let i = 0; i < args.length; i += 2) {\n                            // Key should be either `string`, `number`, or `symbol`.\n                            const key = args[i];\n                            result[key] = args[i + 1];\n                        }\n                        return result;\n                    }),\n                    awaitPromise: false,\n                    arguments: keyValueArray,\n                    returnByValue: false,\n                    executionContextId: this.executionContextId,\n                });\n                // TODO(#375): Release `result.objectId` after using.\n                return { objectId: result.objectId };\n            }\n            case 'array': {\n                // TODO: If none of the nested items has a remote reference,\n                // serialize to `unserializableValue` without CDP roundtrip.\n                const args = await this.#flattenValueList(localValue.value);\n                const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n                    functionDeclaration: String((...args) => args),\n                    awaitPromise: false,\n                    arguments: args,\n                    returnByValue: false,\n                    executionContextId: this.executionContextId,\n                });\n                // TODO(#375): Release `result.objectId` after using.\n                return { objectId: result.objectId };\n            }\n            case 'set': {\n                // TODO: if none of the nested items has a remote reference,\n                // serialize to `unserializableValue` without CDP roundtrip.\n                const args = await this.#flattenValueList(localValue.value);\n                const { result } = await this.cdpClient.sendCommand('Runtime.callFunctionOn', {\n                    functionDeclaration: String((...args) => new Set(args)),\n                    awaitPromise: false,\n                    arguments: args,\n                    returnByValue: false,\n                    executionContextId: this.executionContextId,\n                });\n                // TODO(#375): Release `result.objectId` after using.\n                return { objectId: result.objectId };\n            }\n            case 'channel': {\n                const channelProxy = new channelProxy_js_1.ChannelProxy(localValue.value);\n                const channelProxySendMessageHandle = await channelProxy.init(this, this.#eventManager);\n                return { objectId: channelProxySendMessageHandle };\n            }\n            // TODO(#375): Dispose of nested objects.\n        }\n        // Intentionally outside to handle unknown types\n        throw new Error(`Value ${JSON.stringify(localValue)} is not deserializable.`);\n    }\n    async #getExceptionResult(exceptionDetails, lineOffset, resultOwnership) {\n        return {\n            exceptionDetails: await this.#serializeCdpExceptionDetails(exceptionDetails, lineOffset, resultOwnership),\n            realm: this.realmId,\n            type: 'exception',\n        };\n    }\n    static #getSerializationOptions(serialization, serializationOptions) {\n        return {\n            serialization,\n            additionalParameters: Realm.#getAdditionalSerializationParameters(serializationOptions),\n            ...Realm.#getMaxObjectDepth(serializationOptions),\n        };\n    }\n    static #getAdditionalSerializationParameters(serializationOptions) {\n        const additionalParameters = {};\n        if (serializationOptions.maxDomDepth !== undefined) {\n            additionalParameters['maxNodeDepth'] =\n                serializationOptions.maxDomDepth === null\n                    ? 1000\n                    : serializationOptions.maxDomDepth;\n        }\n        if (serializationOptions.includeShadowTree !== undefined) {\n            additionalParameters['includeShadowTree'] =\n                serializationOptions.includeShadowTree;\n        }\n        return additionalParameters;\n    }\n    static #getMaxObjectDepth(serializationOptions) {\n        return serializationOptions.maxObjectDepth === undefined ||\n            serializationOptions.maxObjectDepth === null\n            ? {}\n            : { maxDepth: serializationOptions.maxObjectDepth };\n    }\n    async #releaseObject(handle) {\n        try {\n            await this.cdpClient.sendCommand('Runtime.releaseObject', {\n                objectId: handle,\n            });\n        }\n        catch (error) {\n            // Heuristic to determine if the problem is in the unknown handler.\n            // Ignore the error if so.\n            if (!(error.code === -32000 &&\n                error.message === 'Invalid remote object id')) {\n                throw error;\n            }\n        }\n    }\n    async disown(handle) {\n        // Disowning an object from different realm does nothing.\n        if (this.#realmStorage.knownHandlesToRealmMap.get(handle) !== this.realmId) {\n            return;\n        }\n        await this.#releaseObject(handle);\n        this.#realmStorage.knownHandlesToRealmMap.delete(handle);\n    }\n    dispose() {\n        this.#eventManager.registerEvent({\n            type: 'event',\n            method: protocol_js_1.ChromiumBidi.Script.EventNames.RealmDestroyed,\n            params: {\n                realm: this.realmId,\n            },\n        }, this.browsingContextId);\n    }\n}\nexports.Realm = Realm;\n//# sourceMappingURL=realm.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowsingContextImpl = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst deferred_js_1 = require(\"../../../utils/deferred.js\");\nconst log_js_1 = require(\"../../../utils/log.js\");\nconst unitConversions_js_1 = require(\"../../../utils/unitConversions.js\");\nconst realm_js_1 = require(\"../script/realm.js\");\nclass BrowsingContextImpl {\n    /** The ID of this browsing context. */\n    #id;\n    /**\n     * The ID of the parent browsing context.\n     * If null, this is a top-level context.\n     */\n    #parentId;\n    /** Direct children browsing contexts. */\n    #children = new Set();\n    #browsingContextStorage;\n    #deferreds = {\n        Page: {\n            navigatedWithinDocument: new deferred_js_1.Deferred(),\n            lifecycleEvent: {\n                DOMContentLoaded: new deferred_js_1.Deferred(),\n                load: new deferred_js_1.Deferred(),\n            },\n        },\n    };\n    #url = 'about:blank';\n    #eventManager;\n    #realmStorage;\n    #loaderId;\n    #cdpTarget;\n    #maybeDefaultRealm;\n    #logger;\n    constructor(cdpTarget, realmStorage, id, parentId, eventManager, browsingContextStorage, logger) {\n        this.#cdpTarget = cdpTarget;\n        this.#realmStorage = realmStorage;\n        this.#id = id;\n        this.#parentId = parentId;\n        this.#eventManager = eventManager;\n        this.#browsingContextStorage = browsingContextStorage;\n        this.#logger = logger;\n    }\n    static create(cdpTarget, realmStorage, id, parentId, eventManager, browsingContextStorage, logger) {\n        const context = new BrowsingContextImpl(cdpTarget, realmStorage, id, parentId, eventManager, browsingContextStorage, logger);\n        context.#initListeners();\n        browsingContextStorage.addContext(context);\n        if (!context.isTopLevelContext()) {\n            context.parent.addChild(context.id);\n        }\n        eventManager.registerEvent({\n            type: 'event',\n            method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.ContextCreatedEvent,\n            params: context.serializeToBidiValue(),\n        }, context.id);\n        return context;\n    }\n    static getTimestamp() {\n        // `timestamp` from the event is MonotonicTime, not real time, so\n        // the best Mapper can do is to set the timestamp to the epoch time\n        // of the event arrived.\n        // https://chromedevtools.github.io/devtools-protocol/tot/Network/#type-MonotonicTime\n        return new Date().getTime();\n    }\n    /**\n     * @see https://html.spec.whatwg.org/multipage/document-sequences.html#navigable\n     */\n    get navigableId() {\n        return this.#loaderId;\n    }\n    dispose() {\n        this.#deleteAllChildren();\n        this.#realmStorage.deleteRealms({\n            browsingContextId: this.id,\n        });\n        // Remove context from the parent.\n        if (!this.isTopLevelContext()) {\n            this.parent.#children.delete(this.id);\n        }\n        this.#eventManager.registerEvent({\n            type: 'event',\n            method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.ContextDestroyedEvent,\n            params: this.serializeToBidiValue(),\n        }, this.id);\n        this.#browsingContextStorage.deleteContextById(this.id);\n    }\n    /** Returns the ID of this context. */\n    get id() {\n        return this.#id;\n    }\n    /** Returns the parent context ID. */\n    get parentId() {\n        return this.#parentId;\n    }\n    /** Returns the parent context. */\n    get parent() {\n        if (this.parentId === null) {\n            return null;\n        }\n        return this.#browsingContextStorage.getContext(this.parentId);\n    }\n    /** Returns all direct children contexts. */\n    get directChildren() {\n        return [...this.#children].map((id) => this.#browsingContextStorage.getContext(id));\n    }\n    /** Returns all children contexts, flattened. */\n    get allChildren() {\n        const children = this.directChildren;\n        return children.concat(...children.map((child) => child.allChildren));\n    }\n    /**\n     * Returns true if this is a top-level context.\n     * This is the case whenever the parent context ID is null.\n     */\n    isTopLevelContext() {\n        return this.#parentId === null;\n    }\n    get top() {\n        // eslint-disable-next-line @typescript-eslint/no-this-alias\n        let topContext = this;\n        let parent = topContext.parent;\n        while (parent) {\n            topContext = parent;\n            parent = topContext.parent;\n        }\n        return topContext;\n    }\n    addChild(childId) {\n        this.#children.add(childId);\n    }\n    #deleteAllChildren() {\n        this.directChildren.map((child) => child.dispose());\n    }\n    get #defaultRealm() {\n        if (this.#maybeDefaultRealm === undefined) {\n            throw new Error(`No default realm for browsing context ${this.#id}`);\n        }\n        return this.#maybeDefaultRealm;\n    }\n    get cdpTarget() {\n        return this.#cdpTarget;\n    }\n    updateCdpTarget(cdpTarget) {\n        this.#cdpTarget = cdpTarget;\n        this.#initListeners();\n    }\n    get url() {\n        return this.#url;\n    }\n    async lifecycleLoaded() {\n        await this.#deferreds.Page.lifecycleEvent.load;\n    }\n    targetUnblocked() {\n        return this.#cdpTarget.targetUnblocked;\n    }\n    async getOrCreateSandbox(sandbox) {\n        if (sandbox === undefined || sandbox === '') {\n            return this.#defaultRealm;\n        }\n        let maybeSandboxes = this.#realmStorage.findRealms({\n            browsingContextId: this.id,\n            sandbox,\n        });\n        if (maybeSandboxes.length === 0) {\n            await this.#cdpTarget.cdpClient.sendCommand('Page.createIsolatedWorld', {\n                frameId: this.id,\n                worldName: sandbox,\n            });\n            // `Runtime.executionContextCreated` should be emitted by the time the\n            // previous command is done.\n            maybeSandboxes = this.#realmStorage.findRealms({\n                browsingContextId: this.id,\n                sandbox,\n            });\n        }\n        if (maybeSandboxes.length !== 1) {\n            throw Error(`Sandbox ${sandbox} wasn't created.`);\n        }\n        return maybeSandboxes[0];\n    }\n    serializeToBidiValue(maxDepth = 0, addParentField = true) {\n        return {\n            context: this.#id,\n            url: this.url,\n            children: maxDepth > 0\n                ? this.directChildren.map((c) => c.serializeToBidiValue(maxDepth - 1, false))\n                : null,\n            ...(addParentField ? { parent: this.#parentId } : {}),\n        };\n    }\n    onTargetInfoChanged(params) {\n        this.#url = params.targetInfo.url;\n    }\n    #initListeners() {\n        this.#cdpTarget.cdpClient.on('Page.frameNavigated', (params) => {\n            if (this.id !== params.frame.id) {\n                return;\n            }\n            this.#url = params.frame.url + (params.frame.urlFragment ?? '');\n            // At the point the page is initialized, all the nested iframes from the\n            // previous page are detached and realms are destroyed.\n            // Remove children from context.\n            this.#deleteAllChildren();\n        });\n        this.#cdpTarget.cdpClient.on('Page.navigatedWithinDocument', (params) => {\n            if (this.id !== params.frameId) {\n                return;\n            }\n            const timestamp = BrowsingContextImpl.getTimestamp();\n            this.#url = params.url;\n            this.#deferreds.Page.navigatedWithinDocument.resolve(params);\n            this.#eventManager.registerEvent({\n                type: 'event',\n                method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.FragmentNavigated,\n                params: {\n                    context: this.id,\n                    navigation: null,\n                    timestamp,\n                    url: this.#url,\n                },\n            }, this.id);\n        });\n        this.#cdpTarget.cdpClient.on('Page.frameStartedLoading', (params) => {\n            if (this.id !== params.frameId) {\n                return;\n            }\n            this.#eventManager.registerEvent({\n                type: 'event',\n                method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.NavigationStarted,\n                params: {\n                    context: this.id,\n                    navigation: null,\n                    timestamp: BrowsingContextImpl.getTimestamp(),\n                    url: '',\n                },\n            }, this.id);\n        });\n        this.#cdpTarget.cdpClient.on('Page.lifecycleEvent', (params) => {\n            if (this.id !== params.frameId) {\n                return;\n            }\n            if (params.name === 'init') {\n                this.#documentChanged(params.loaderId);\n                return;\n            }\n            if (params.name === 'commit') {\n                this.#loaderId = params.loaderId;\n                return;\n            }\n            // Ignore event from not current navigation.\n            if (params.loaderId !== this.#loaderId) {\n                return;\n            }\n            const timestamp = BrowsingContextImpl.getTimestamp();\n            switch (params.name) {\n                case 'DOMContentLoaded':\n                    this.#eventManager.registerEvent({\n                        type: 'event',\n                        method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.DomContentLoadedEvent,\n                        params: {\n                            context: this.id,\n                            navigation: this.#loaderId ?? null,\n                            timestamp,\n                            url: this.#url,\n                        },\n                    }, this.id);\n                    this.#deferreds.Page.lifecycleEvent.DOMContentLoaded.resolve(params);\n                    break;\n                case 'load':\n                    this.#eventManager.registerEvent({\n                        type: 'event',\n                        method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.LoadEvent,\n                        params: {\n                            context: this.id,\n                            navigation: this.#loaderId ?? null,\n                            timestamp,\n                            url: this.#url,\n                        },\n                    }, this.id);\n                    this.#deferreds.Page.lifecycleEvent.load.resolve(params);\n                    break;\n            }\n        });\n        this.#cdpTarget.cdpClient.on('Runtime.executionContextCreated', (params) => {\n            if (params.context.auxData.frameId !== this.id) {\n                return;\n            }\n            // Only this execution contexts are supported for now.\n            if (!['default', 'isolated'].includes(params.context.auxData.type)) {\n                return;\n            }\n            const realm = new realm_js_1.Realm(this.#realmStorage, this.#browsingContextStorage, params.context.uniqueId, this.id, params.context.id, this.#getOrigin(params), \n            // XXX: differentiate types.\n            'window', \n            // Sandbox name for isolated world.\n            params.context.auxData.type === 'isolated'\n                ? params.context.name\n                : undefined, this.#cdpTarget.cdpClient, this.#eventManager, this.#logger);\n            if (params.context.auxData.isDefault) {\n                this.#maybeDefaultRealm = realm;\n                // Initialize ChannelProxy listeners for all the channels of all the\n                // preload scripts related to this BrowsingContext.\n                // TODO: extend for not default realms by the sandbox name.\n                void Promise.all(this.#cdpTarget\n                    .getChannels()\n                    .map((channel) => channel.startListenerFromWindow(realm, this.#eventManager)));\n            }\n        });\n        this.#cdpTarget.cdpClient.on('Runtime.executionContextDestroyed', (params) => {\n            this.#realmStorage.deleteRealms({\n                cdpSessionId: this.#cdpTarget.cdpSessionId,\n                executionContextId: params.executionContextId,\n            });\n        });\n        this.#cdpTarget.cdpClient.on('Runtime.executionContextsCleared', () => {\n            this.#realmStorage.deleteRealms({\n                cdpSessionId: this.#cdpTarget.cdpSessionId,\n            });\n        });\n        this.#cdpTarget.cdpClient.on('Page.javascriptDialogClosed', (params) => {\n            this.#eventManager.registerEvent({\n                type: 'event',\n                method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.UserPromptClosed,\n                params: {\n                    context: this.id,\n                    accepted: params.result,\n                    // Cast empty string to undefined\n                    userText: params.userInput ? params.userInput : undefined,\n                },\n            }, this.id);\n        });\n        this.#cdpTarget.cdpClient.on('Page.javascriptDialogOpening', (params) => {\n            this.#eventManager.registerEvent({\n                type: 'event',\n                method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.UserPromptOpened,\n                params: {\n                    context: this.id,\n                    type: params.type,\n                    message: params.message,\n                },\n            }, this.id);\n        });\n    }\n    #getOrigin(params) {\n        if (params.context.auxData.type === 'isolated') {\n            // Sandbox should have the same origin as the context itself, but in CDP\n            // it has an empty one.\n            return this.#defaultRealm.origin;\n        }\n        // https://html.spec.whatwg.org/multipage/origin.html#ascii-serialisation-of-an-origin\n        return ['://', ''].includes(params.context.origin)\n            ? 'null'\n            : params.context.origin;\n    }\n    #documentChanged(loaderId) {\n        // Same document navigation.\n        if (loaderId === undefined || this.#loaderId === loaderId) {\n            if (this.#deferreds.Page.navigatedWithinDocument.isFinished) {\n                this.#deferreds.Page.navigatedWithinDocument =\n                    new deferred_js_1.Deferred();\n            }\n            else {\n                this.#logger?.(log_js_1.LogType.browsingContexts, 'Document changed (navigatedWithinDocument)');\n            }\n            return;\n        }\n        this.#resetDeferredsIfFinished();\n        this.#loaderId = loaderId;\n    }\n    #resetDeferredsIfFinished() {\n        if (this.#deferreds.Page.lifecycleEvent.DOMContentLoaded.isFinished) {\n            this.#deferreds.Page.lifecycleEvent.DOMContentLoaded =\n                new deferred_js_1.Deferred();\n        }\n        else {\n            this.#logger?.(log_js_1.LogType.browsingContexts, 'Document changed (DOMContentLoaded)');\n        }\n        if (this.#deferreds.Page.lifecycleEvent.load.isFinished) {\n            this.#deferreds.Page.lifecycleEvent.load =\n                new deferred_js_1.Deferred();\n        }\n        else {\n            this.#logger?.(log_js_1.LogType.browsingContexts, 'Document changed (load)');\n        }\n    }\n    async navigate(url, wait) {\n        try {\n            void new URL(url);\n        }\n        catch {\n            throw new protocol_js_1.InvalidArgumentException(`Invalid URL: ${url}`);\n        }\n        await this.targetUnblocked();\n        // TODO: handle loading errors.\n        const cdpNavigateResult = await this.#cdpTarget.cdpClient.sendCommand('Page.navigate', {\n            url,\n            frameId: this.id,\n        });\n        if (cdpNavigateResult.errorText) {\n            throw new protocol_js_1.UnknownErrorException(cdpNavigateResult.errorText);\n        }\n        this.#documentChanged(cdpNavigateResult.loaderId);\n        switch (wait) {\n            case \"none\" /* BrowsingContext.ReadinessState.None */:\n                break;\n            case \"interactive\" /* BrowsingContext.ReadinessState.Interactive */:\n                // No `loaderId` means same-document navigation.\n                if (cdpNavigateResult.loaderId === undefined) {\n                    await this.#deferreds.Page.navigatedWithinDocument;\n                }\n                else {\n                    await this.#deferreds.Page.lifecycleEvent.DOMContentLoaded;\n                }\n                break;\n            case \"complete\" /* BrowsingContext.ReadinessState.Complete */:\n                // No `loaderId` means same-document navigation.\n                if (cdpNavigateResult.loaderId === undefined) {\n                    await this.#deferreds.Page.navigatedWithinDocument;\n                }\n                else {\n                    await this.lifecycleLoaded();\n                }\n                break;\n        }\n        return {\n            navigation: cdpNavigateResult.loaderId ?? null,\n            url,\n        };\n    }\n    async reload(ignoreCache, wait) {\n        await this.targetUnblocked();\n        await this.#cdpTarget.cdpClient.sendCommand('Page.reload', {\n            ignoreCache,\n        });\n        this.#resetDeferredsIfFinished();\n        switch (wait) {\n            case \"none\" /* BrowsingContext.ReadinessState.None */:\n                break;\n            case \"interactive\" /* BrowsingContext.ReadinessState.Interactive */:\n                await this.#deferreds.Page.lifecycleEvent.DOMContentLoaded;\n                break;\n            case \"complete\" /* BrowsingContext.ReadinessState.Complete */:\n                await this.lifecycleLoaded();\n                break;\n        }\n        return {};\n    }\n    async setViewport(viewport) {\n        if (viewport === null) {\n            await this.#cdpTarget.cdpClient.sendCommand('Emulation.clearDeviceMetricsOverride');\n        }\n        else {\n            try {\n                await this.#cdpTarget.cdpClient.sendCommand('Emulation.setDeviceMetricsOverride', {\n                    width: viewport.width,\n                    height: viewport.height,\n                    deviceScaleFactor: 0,\n                    mobile: false,\n                    dontSetVisibleSize: true,\n                });\n            }\n            catch (err) {\n                if (err.message.startsWith(\n                // https://crsrc.org/c/content/browser/devtools/protocol/emulation_handler.cc;l=257;drc=2f6eee84cf98d4227e7c41718dd71b82f26d90ff\n                'Width and height values must be positive')) {\n                    throw new protocol_js_1.UnsupportedOperationException('Provided viewport dimensions are not supported');\n                }\n                throw err;\n            }\n        }\n    }\n    async handleUserPrompt(params) {\n        await this.#cdpTarget.cdpClient.sendCommand('Page.handleJavaScriptDialog', {\n            accept: params.accept ?? true,\n            promptText: params.userText,\n        });\n    }\n    async activate() {\n        await this.#cdpTarget.cdpClient.sendCommand('Page.bringToFront');\n    }\n    async captureScreenshot() {\n        // XXX: Focus the original tab after the screenshot is taken.\n        // This is needed because the screenshot gets blocked until the active tab gets focus.\n        await this.#cdpTarget.cdpClient.sendCommand('Page.bringToFront');\n        let clip;\n        if (this.isTopLevelContext()) {\n            const { cssContentSize, cssLayoutViewport } = await this.#cdpTarget.cdpClient.sendCommand('Page.getLayoutMetrics');\n            clip = {\n                x: cssContentSize.x,\n                y: cssContentSize.y,\n                width: cssLayoutViewport.clientWidth,\n                height: cssLayoutViewport.clientHeight,\n            };\n        }\n        else {\n            const { result: { value: iframeDocRect }, } = await this.#cdpTarget.cdpClient.sendCommand('Runtime.callFunctionOn', {\n                functionDeclaration: String(() => {\n                    const docRect = globalThis.document.documentElement.getBoundingClientRect();\n                    return JSON.stringify({\n                        x: docRect.x,\n                        y: docRect.y,\n                        width: docRect.width,\n                        height: docRect.height,\n                    });\n                }),\n                executionContextId: this.#defaultRealm.executionContextId,\n            });\n            clip = JSON.parse(iframeDocRect);\n        }\n        const result = await this.#cdpTarget.cdpClient.sendCommand('Page.captureScreenshot', {\n            clip: {\n                ...clip,\n                scale: 1.0,\n            },\n        });\n        return {\n            data: result.data,\n        };\n    }\n    async print(params) {\n        const cdpParams = {};\n        if (params.background !== undefined) {\n            cdpParams.printBackground = params.background;\n        }\n        if (params.margin?.bottom !== undefined) {\n            cdpParams.marginBottom = (0, unitConversions_js_1.inchesFromCm)(params.margin.bottom);\n        }\n        if (params.margin?.left !== undefined) {\n            cdpParams.marginLeft = (0, unitConversions_js_1.inchesFromCm)(params.margin.left);\n        }\n        if (params.margin?.right !== undefined) {\n            cdpParams.marginRight = (0, unitConversions_js_1.inchesFromCm)(params.margin.right);\n        }\n        if (params.margin?.top !== undefined) {\n            cdpParams.marginTop = (0, unitConversions_js_1.inchesFromCm)(params.margin.top);\n        }\n        if (params.orientation !== undefined) {\n            cdpParams.landscape = params.orientation === 'landscape';\n        }\n        if (params.page?.height !== undefined) {\n            cdpParams.paperHeight = (0, unitConversions_js_1.inchesFromCm)(params.page.height);\n        }\n        if (params.page?.width !== undefined) {\n            cdpParams.paperWidth = (0, unitConversions_js_1.inchesFromCm)(params.page.width);\n        }\n        if (params.pageRanges !== undefined) {\n            for (const range of params.pageRanges) {\n                if (typeof range === 'number') {\n                    continue;\n                }\n                const rangeParts = range.split('-');\n                if (rangeParts.length < 1 || rangeParts.length > 2) {\n                    throw new protocol_js_1.InvalidArgumentException(`Invalid page range: ${range} is not a valid integer range.`);\n                }\n                if (rangeParts.length === 1) {\n                    void parseInteger(rangeParts[0] ?? '');\n                    continue;\n                }\n                let lowerBound;\n                let upperBound;\n                const [rangeLowerPart = '', rangeUpperPart = ''] = rangeParts;\n                if (rangeLowerPart === '') {\n                    lowerBound = 1;\n                }\n                else {\n                    lowerBound = parseInteger(rangeLowerPart);\n                }\n                if (rangeUpperPart === '') {\n                    upperBound = Number.MAX_SAFE_INTEGER;\n                }\n                else {\n                    upperBound = parseInteger(rangeUpperPart);\n                }\n                if (lowerBound > upperBound) {\n                    throw new protocol_js_1.InvalidArgumentException(`Invalid page range: ${rangeLowerPart} > ${rangeUpperPart}`);\n                }\n            }\n            cdpParams.pageRanges = params.pageRanges.join(',');\n        }\n        if (params.scale !== undefined) {\n            cdpParams.scale = params.scale;\n        }\n        if (params.shrinkToFit !== undefined) {\n            cdpParams.preferCSSPageSize = !params.shrinkToFit;\n        }\n        try {\n            const result = await this.#cdpTarget.cdpClient.sendCommand('Page.printToPDF', cdpParams);\n            return {\n                data: result.data,\n            };\n        }\n        catch (error) {\n            // Effectively zero dimensions.\n            if (error.message ===\n                'invalid print parameters: content area is empty') {\n                throw new protocol_js_1.UnsupportedOperationException(error.message);\n            }\n            throw error;\n        }\n    }\n    async close() {\n        await this.#cdpTarget.cdpClient.sendCommand('Page.close');\n    }\n}\nexports.BrowsingContextImpl = BrowsingContextImpl;\nfunction parseInteger(value) {\n    value = value.trim();\n    if (!/^[0-9]+$/.test(value)) {\n        throw new protocol_js_1.InvalidArgumentException(`Invalid integer: ${value}`);\n    }\n    return parseInt(value);\n}\n//# sourceMappingURL=browsingContextImpl.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getRemoteValuesText = exports.logMessageFormatter = void 0;\nconst specifiers = ['%s', '%d', '%i', '%f', '%o', '%O', '%c'];\nfunction isFormatSpecifier(str) {\n    return specifiers.some((spec) => str.includes(spec));\n}\n/**\n * @param args input remote values to be format printed\n * @return parsed text of the remote values in specific format\n */\nfunction logMessageFormatter(args) {\n    let output = '';\n    const argFormat = args[0].value.toString();\n    const argValues = args.slice(1, undefined);\n    const tokens = argFormat.split(new RegExp(specifiers.map((spec) => `(${spec})`).join('|'), 'g'));\n    for (const token of tokens) {\n        if (token === undefined || token === '') {\n            continue;\n        }\n        if (isFormatSpecifier(token)) {\n            const arg = argValues.shift();\n            // raise an exception when less value is provided\n            if (arg === undefined) {\n                throw new Error(`Less value is provided: \"${getRemoteValuesText(args, false)}\"`);\n            }\n            if (token === '%s') {\n                output += stringFromArg(arg);\n            }\n            else if (token === '%d' || token === '%i') {\n                if (arg.type === 'bigint' ||\n                    arg.type === 'number' ||\n                    arg.type === 'string') {\n                    output += parseInt(arg.value.toString(), 10);\n                }\n                else {\n                    output += 'NaN';\n                }\n            }\n            else if (token === '%f') {\n                if (arg.type === 'bigint' ||\n                    arg.type === 'number' ||\n                    arg.type === 'string') {\n                    output += parseFloat(arg.value.toString());\n                }\n                else {\n                    output += 'NaN';\n                }\n            }\n            else {\n                // %o, %O, %c\n                output += toJson(arg);\n            }\n        }\n        else {\n            output += token;\n        }\n    }\n    // raise an exception when more value is provided\n    if (argValues.length > 0) {\n        throw new Error(`More value is provided: \"${getRemoteValuesText(args, false)}\"`);\n    }\n    return output;\n}\nexports.logMessageFormatter = logMessageFormatter;\n/**\n * @param arg input remote value to be parsed\n * @return parsed text of the remote value\n *\n * input: {\"type\": \"number\", \"value\": 1}\n * output: 1\n *\n * input: {\"type\": \"string\", \"value\": \"abc\"}\n * output: \"abc\"\n *\n * input: {\"type\": \"object\",  \"value\": [[\"id\", {\"type\": \"number\", \"value\": 1}]]}\n * output: '{\"id\": 1}'\n *\n * input: {\"type\": \"object\", \"value\": [[\"font-size\", {\"type\": \"string\", \"value\": \"20px\"}]]}\n * output: '{\"font-size\": \"20px\"}'\n */\nfunction toJson(arg) {\n    // arg type validation\n    if (arg.type !== 'array' &&\n        arg.type !== 'bigint' &&\n        arg.type !== 'date' &&\n        arg.type !== 'number' &&\n        arg.type !== 'object' &&\n        arg.type !== 'string') {\n        return stringFromArg(arg);\n    }\n    if (arg.type === 'bigint') {\n        return `${arg.value.toString()}n`;\n    }\n    if (arg.type === 'number') {\n        return arg.value.toString();\n    }\n    if (['date', 'string'].includes(arg.type)) {\n        return JSON.stringify(arg.value);\n    }\n    if (arg.type === 'object') {\n        return `{${arg.value\n            .map((pair) => {\n            return `${JSON.stringify(pair[0])}:${toJson(pair[1])}`;\n        })\n            .join(',')}}`;\n    }\n    if (arg.type === 'array') {\n        return `[${arg.value?.map((val) => toJson(val)).join(',') ?? ''}]`;\n    }\n    // eslint-disable-next-line @typescript-eslint/no-base-to-string\n    throw Error(`Invalid value type: ${arg}`);\n}\nfunction stringFromArg(arg) {\n    if (!Object.hasOwn(arg, 'value')) {\n        return arg.type;\n    }\n    switch (arg.type) {\n        case 'string':\n        case 'number':\n        case 'boolean':\n        case 'bigint':\n            return String(arg.value);\n        case 'regexp':\n            return `/${arg.value.pattern}/${arg.value.flags ?? ''}`;\n        case 'date':\n            return new Date(arg.value).toString();\n        case 'object':\n            return `Object(${arg.value?.length ?? ''})`;\n        case 'array':\n            return `Array(${arg.value?.length ?? ''})`;\n        case 'map':\n            return `Map(${arg.value?.length})`;\n        case 'set':\n            return `Set(${arg.value?.length})`;\n        default:\n            return arg.type;\n    }\n}\nfunction getRemoteValuesText(args, formatText) {\n    const arg = args[0];\n    if (!arg) {\n        return '';\n    }\n    // if args[0] is a format specifier, format the args as output\n    if (arg.type === 'string' &&\n        isFormatSpecifier(arg.value.toString()) &&\n        formatText) {\n        return logMessageFormatter(args);\n    }\n    // if args[0] is not a format specifier, just join the args with \\u0020 (unicode 'SPACE')\n    return args\n        .map((arg) => {\n        return stringFromArg(arg);\n    })\n        .join('\\u0020');\n}\nexports.getRemoteValuesText = getRemoteValuesText;\n//# sourceMappingURL=logHelper.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.LogManager = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst logHelper_js_1 = require(\"./logHelper.js\");\n/** Converts CDP StackTrace object to BiDi StackTrace object. */\nfunction getBidiStackTrace(cdpStackTrace) {\n    const stackFrames = cdpStackTrace?.callFrames.map((callFrame) => {\n        return {\n            columnNumber: callFrame.columnNumber,\n            functionName: callFrame.functionName,\n            lineNumber: callFrame.lineNumber,\n            url: callFrame.url,\n        };\n    });\n    return stackFrames ? { callFrames: stackFrames } : undefined;\n}\nfunction getLogLevel(consoleApiType) {\n    if ([\"error\" /* Log.Level.Error */, 'assert'].includes(consoleApiType)) {\n        return \"error\" /* Log.Level.Error */;\n    }\n    if ([\"debug\" /* Log.Level.Debug */, 'trace'].includes(consoleApiType)) {\n        return \"debug\" /* Log.Level.Debug */;\n    }\n    if ([\"warn\" /* Log.Level.Warn */, 'warning'].includes(consoleApiType)) {\n        return \"warn\" /* Log.Level.Warn */;\n    }\n    return \"info\" /* Log.Level.Info */;\n}\nclass LogManager {\n    #eventManager;\n    #realmStorage;\n    #cdpTarget;\n    constructor(cdpTarget, realmStorage, eventManager) {\n        this.#cdpTarget = cdpTarget;\n        this.#realmStorage = realmStorage;\n        this.#eventManager = eventManager;\n    }\n    static create(cdpTarget, realmStorage, eventManager) {\n        const logManager = new LogManager(cdpTarget, realmStorage, eventManager);\n        logManager.#initializeEntryAddedEventListener();\n        return logManager;\n    }\n    #initializeEntryAddedEventListener() {\n        this.#cdpTarget.cdpClient.on('Runtime.consoleAPICalled', (params) => {\n            // Try to find realm by `cdpSessionId` and `executionContextId`,\n            // if provided.\n            const realm = this.#realmStorage.findRealm({\n                cdpSessionId: this.#cdpTarget.cdpSessionId,\n                executionContextId: params.executionContextId,\n            });\n            const argsPromise = realm === undefined\n                ? Promise.resolve(params.args)\n                : // Properly serialize arguments if possible.\n                    Promise.all(params.args.map((arg) => {\n                        return realm.serializeCdpObject(arg, \"none\" /* Script.ResultOwnership.None */);\n                    }));\n            this.#eventManager.registerPromiseEvent(argsPromise.then((args) => ({\n                kind: 'success',\n                value: {\n                    type: 'event',\n                    method: protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent,\n                    params: {\n                        level: getLogLevel(params.type),\n                        source: {\n                            realm: realm?.realmId ?? 'UNKNOWN',\n                            context: realm?.browsingContextId ?? 'UNKNOWN',\n                        },\n                        text: (0, logHelper_js_1.getRemoteValuesText)(args, true),\n                        timestamp: Math.round(params.timestamp),\n                        stackTrace: getBidiStackTrace(params.stackTrace),\n                        type: 'console',\n                        // Console method is `warn`, not `warning`.\n                        method: params.type === 'warning' ? 'warn' : params.type,\n                        args,\n                    },\n                },\n            })), realm?.browsingContextId ?? 'UNKNOWN', protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent);\n        });\n        this.#cdpTarget.cdpClient.on('Runtime.exceptionThrown', (params) => {\n            // Try to find realm by `cdpSessionId` and `executionContextId`,\n            // if provided.\n            const realm = this.#realmStorage.findRealm({\n                cdpSessionId: this.#cdpTarget.cdpSessionId,\n                executionContextId: params.exceptionDetails.executionContextId,\n            });\n            // Try the best to get the exception text.\n            const textPromise = (async () => {\n                if (!params.exceptionDetails.exception) {\n                    return params.exceptionDetails.text;\n                }\n                if (realm === undefined) {\n                    return JSON.stringify(params.exceptionDetails.exception);\n                }\n                return realm.stringifyObject(params.exceptionDetails.exception);\n            })();\n            this.#eventManager.registerPromiseEvent(textPromise.then((text) => ({\n                kind: 'success',\n                value: {\n                    type: 'event',\n                    method: protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent,\n                    params: {\n                        level: \"error\" /* Log.Level.Error */,\n                        source: {\n                            realm: realm?.realmId ?? 'UNKNOWN',\n                            context: realm?.browsingContextId ?? 'UNKNOWN',\n                        },\n                        text,\n                        timestamp: Math.round(params.timestamp),\n                        stackTrace: getBidiStackTrace(params.exceptionDetails.stackTrace),\n                        type: 'javascript',\n                    },\n                },\n            })), realm?.browsingContextId ?? 'UNKNOWN', protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent);\n        });\n    }\n}\nexports.LogManager = LogManager;\n//# sourceMappingURL=logManager.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DefaultMap = void 0;\n/**\n * A subclass of Map whose functionality is almost the same as its parent\n * except for the fact that DefaultMap never returns undefined. It provides a\n * default value for keys that do not exist.\n */\nclass DefaultMap extends Map {\n    /** The default value to return whenever a key is not present in the map. */\n    #getDefaultValue;\n    constructor(getDefaultValue, entries) {\n        super(entries);\n        this.#getDefaultValue = getDefaultValue;\n    }\n    get(key) {\n        if (!this.has(key)) {\n            this.set(key, this.#getDefaultValue(key));\n        }\n        return super.get(key);\n    }\n}\nexports.DefaultMap = DefaultMap;\n//# sourceMappingURL=DefaultMap.js.map","\"use strict\";\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NetworkRequest = void 0;\nconst deferred_js_1 = require(\"../../../utils/deferred.js\");\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nclass NetworkRequest {\n    static #unknown = 'UNKNOWN';\n    /**\n     * Each network request has an associated request id, which is a string\n     * uniquely identifying that request.\n     *\n     * The identifier for a request resulting from a redirect matches that of the\n     * request that initiated it.\n     */\n    requestId;\n    #servedFromCache = false;\n    #redirectCount = 0;\n    #eventManager;\n    #requestWillBeSentEvent;\n    #requestWillBeSentExtraInfoEvent;\n    #responseReceivedEvent;\n    #responseReceivedExtraInfoEvent;\n    #beforeRequestSentDeferred = new deferred_js_1.Deferred();\n    #responseReceivedDeferred = new deferred_js_1.Deferred();\n    constructor(requestId, eventManager) {\n        this.requestId = requestId;\n        this.#eventManager = eventManager;\n    }\n    onRequestWillBeSentEvent(event) {\n        if (this.#requestWillBeSentEvent !== undefined) {\n            // TODO: Handle redirect event, requestId is same for the redirect chain\n            return;\n        }\n        this.#requestWillBeSentEvent = event;\n        if (this.#requestWillBeSentExtraInfoEvent !== undefined) {\n            this.#beforeRequestSentDeferred.resolve({\n                kind: 'success',\n                value: undefined,\n            });\n        }\n        this.#sendBeforeRequestEvent();\n    }\n    onRequestWillBeSentExtraInfoEvent(event) {\n        if (this.#requestWillBeSentExtraInfoEvent !== undefined) {\n            // TODO: Handle redirect event, requestId is same for the redirect chain\n            return;\n        }\n        this.#requestWillBeSentExtraInfoEvent = event;\n        if (this.#requestWillBeSentEvent !== undefined) {\n            this.#beforeRequestSentDeferred.resolve({\n                kind: 'success',\n                value: undefined,\n            });\n        }\n    }\n    onResponseReceivedEventExtraInfo(event) {\n        if (this.#responseReceivedExtraInfoEvent !== undefined) {\n            // TODO: Handle redirect event, requestId is same for the redirect chain\n            return;\n        }\n        this.#responseReceivedExtraInfoEvent = event;\n        if (this.#responseReceivedEvent !== undefined) {\n            this.#responseReceivedDeferred.resolve({\n                kind: 'success',\n                value: undefined,\n            });\n        }\n    }\n    onResponseReceivedEvent(responseReceivedEvent) {\n        if (this.#responseReceivedEvent !== undefined) {\n            // TODO: Handle redirect event, requestId is same for the redirect chain\n            return;\n        }\n        this.#responseReceivedEvent = responseReceivedEvent;\n        if (!responseReceivedEvent.hasExtraInfo &&\n            !this.#beforeRequestSentDeferred.isFinished) {\n            this.#beforeRequestSentDeferred.resolve({\n                kind: 'success',\n                value: undefined,\n            });\n        }\n        if (!responseReceivedEvent.hasExtraInfo ||\n            this.#responseReceivedExtraInfoEvent !== undefined ||\n            this.#servedFromCache) {\n            this.#responseReceivedDeferred.resolve({\n                kind: 'success',\n                value: undefined,\n            });\n        }\n        this.#sendResponseReceivedEvent();\n    }\n    onServedFromCache() {\n        if (this.#requestWillBeSentEvent !== undefined) {\n            this.#beforeRequestSentDeferred.resolve({\n                kind: 'success',\n                value: undefined,\n            });\n        }\n        if (this.#responseReceivedEvent !== undefined) {\n            this.#responseReceivedDeferred.resolve({\n                kind: 'success',\n                value: undefined,\n            });\n        }\n        this.#servedFromCache = true;\n    }\n    onLoadingFailedEvent(event) {\n        this.#beforeRequestSentDeferred.resolve({\n            kind: 'success',\n            value: undefined,\n        });\n        this.#responseReceivedDeferred.resolve({\n            kind: 'error',\n            error: new Error('Loading Failed'),\n        });\n        this.#eventManager.registerEvent({\n            type: 'event',\n            method: protocol_js_1.ChromiumBidi.Network.EventNames.FetchErrorEvent,\n            params: {\n                ...this.#getBaseEventParams(),\n                errorText: event.errorText,\n            },\n        }, this.#requestWillBeSentEvent?.frameId ?? null);\n    }\n    dispose() {\n        const result = {\n            kind: 'error',\n            error: new Error('Network processor detached'),\n        };\n        this.#responseReceivedDeferred.resolve(result);\n        this.#beforeRequestSentDeferred.resolve(result);\n    }\n    #getBaseEventParams() {\n        return {\n            context: this.#requestWillBeSentEvent?.frameId ?? null,\n            navigation: this.#getNavigationId(),\n            // TODO: implement.\n            redirectCount: this.#redirectCount,\n            request: this.#getRequestData(),\n            // Timestamp should be in milliseconds, while CDP provides it in seconds.\n            timestamp: Math.round((this.#requestWillBeSentEvent?.wallTime ?? 0) * 1000),\n        };\n    }\n    #getNavigationId() {\n        if (!this.#requestWillBeSentEvent ||\n            !this.#requestWillBeSentEvent.loaderId ||\n            // When we navigate all CDP network events have `loaderId`\n            // CDP's `loaderId` and `requestId` match when\n            // that request triggered the loading\n            this.#requestWillBeSentEvent.loaderId !==\n                this.#requestWillBeSentEvent.requestId) {\n            return null;\n        }\n        return this.#requestWillBeSentEvent.loaderId;\n    }\n    #getRequestData() {\n        const cookies = this.#requestWillBeSentExtraInfoEvent\n            ? NetworkRequest.#getCookies(this.#requestWillBeSentExtraInfoEvent.associatedCookies)\n            : [];\n        return {\n            request: this.#requestWillBeSentEvent?.requestId ?? NetworkRequest.#unknown,\n            url: this.#requestWillBeSentEvent?.request.url ?? NetworkRequest.#unknown,\n            method: this.#requestWillBeSentEvent?.request.method ?? NetworkRequest.#unknown,\n            headers: NetworkRequest.#getHeaders(this.#requestWillBeSentEvent?.request.headers),\n            cookies,\n            // TODO: implement.\n            headersSize: -1,\n            // TODO: implement.\n            bodySize: 0,\n            timings: {\n                // TODO: implement.\n                timeOrigin: 0,\n                // TODO: implement.\n                requestTime: 0,\n                // TODO: implement.\n                redirectStart: 0,\n                // TODO: implement.\n                redirectEnd: 0,\n                // TODO: implement.\n                fetchStart: 0,\n                // TODO: implement.\n                dnsStart: 0,\n                // TODO: implement.\n                dnsEnd: 0,\n                // TODO: implement.\n                connectStart: 0,\n                // TODO: implement.\n                connectEnd: 0,\n                // TODO: implement.\n                tlsStart: 0,\n                // TODO: implement.\n                requestStart: 0,\n                // TODO: implement.\n                responseStart: 0,\n                // TODO: implement.\n                responseEnd: 0,\n            },\n        };\n    }\n    #sendBeforeRequestEvent() {\n        if (!this.#isIgnoredEvent()) {\n            this.#eventManager.registerPromiseEvent(this.#beforeRequestSentDeferred.then((result) => {\n                if (result.kind === 'success') {\n                    return {\n                        kind: 'success',\n                        value: Object.assign(this.#getBeforeRequestEvent(), {\n                            type: 'event',\n                        }),\n                    };\n                }\n                return result;\n            }), this.#requestWillBeSentEvent?.frameId ?? null, protocol_js_1.ChromiumBidi.Network.EventNames.BeforeRequestSentEvent);\n        }\n    }\n    #getBeforeRequestEvent() {\n        if (this.#requestWillBeSentEvent === undefined) {\n            throw new Error('RequestWillBeSentEvent is not set');\n        }\n        return {\n            method: protocol_js_1.ChromiumBidi.Network.EventNames.BeforeRequestSentEvent,\n            params: {\n                ...this.#getBaseEventParams(),\n                initiator: {\n                    type: NetworkRequest.#getInitiatorType(this.#requestWillBeSentEvent.initiator.type),\n                },\n            },\n        };\n    }\n    #sendResponseReceivedEvent() {\n        if (!this.#isIgnoredEvent()) {\n            this.#eventManager.registerPromiseEvent(this.#responseReceivedDeferred.then((result) => {\n                if (result.kind === 'success') {\n                    return {\n                        kind: 'success',\n                        value: Object.assign(this.#getResponseReceivedEvent(), {\n                            type: 'event',\n                        }),\n                    };\n                }\n                return result;\n            }), this.#responseReceivedEvent?.frameId ?? null, protocol_js_1.ChromiumBidi.Network.EventNames.ResponseCompletedEvent);\n        }\n    }\n    #getResponseReceivedEvent() {\n        if (this.#requestWillBeSentEvent === undefined) {\n            throw new Error('RequestWillBeSentEvent is not set');\n        }\n        if (this.#responseReceivedEvent === undefined) {\n            throw new Error('ResponseReceivedEvent is not set');\n        }\n        // Chromium sends wrong extraInfo events for responses served from cache.\n        // See https://github.com/puppeteer/puppeteer/issues/9965 and\n        // https://crbug.com/1340398.\n        if (this.#responseReceivedEvent.response.fromDiskCache) {\n            this.#responseReceivedExtraInfoEvent = undefined;\n        }\n        const headers = NetworkRequest.#getHeaders(this.#responseReceivedEvent.response.headers);\n        return {\n            method: protocol_js_1.ChromiumBidi.Network.EventNames.ResponseCompletedEvent,\n            params: {\n                ...this.#getBaseEventParams(),\n                response: {\n                    url: this.#responseReceivedEvent.response.url,\n                    protocol: this.#responseReceivedEvent.response.protocol ?? '',\n                    status: this.#responseReceivedExtraInfoEvent?.statusCode ??\n                        this.#responseReceivedEvent.response.status,\n                    statusText: this.#responseReceivedEvent.response.statusText,\n                    fromCache: this.#responseReceivedEvent.response.fromDiskCache ||\n                        this.#responseReceivedEvent.response.fromPrefetchCache ||\n                        this.#servedFromCache,\n                    headers,\n                    mimeType: this.#responseReceivedEvent.response.mimeType,\n                    bytesReceived: this.#responseReceivedEvent.response.encodedDataLength,\n                    headersSize: this.#computeResponseHeadersSize(headers),\n                    // TODO: consider removing from spec.\n                    bodySize: 0,\n                    content: {\n                        // TODO: consider removing from spec.\n                        size: 0,\n                    },\n                },\n            },\n        };\n    }\n    #computeResponseHeadersSize(headers) {\n        return headers.reduce((total, header) => {\n            return (total + header.name.length + header.value.value.length + 4 // 4 = ': ' + '\\r\\n'\n            );\n        }, 0);\n    }\n    #isIgnoredEvent() {\n        return (this.#requestWillBeSentEvent?.request.url.endsWith('/favicon.ico') ??\n            false);\n    }\n    static #getHeaders(headers) {\n        if (!headers) {\n            return [];\n        }\n        return Object.entries(headers).map(([name, value]) => ({\n            name,\n            value: {\n                type: 'string',\n                value,\n            },\n        }));\n    }\n    static #getInitiatorType(initiatorType) {\n        switch (initiatorType) {\n            case 'parser':\n            case 'script':\n            case 'preflight':\n                return initiatorType;\n            default:\n                return 'other';\n        }\n    }\n    static #getCookies(associatedCookies) {\n        return associatedCookies.map((cookieInfo) => {\n            return {\n                name: cookieInfo.cookie.name,\n                value: {\n                    type: 'string',\n                    value: cookieInfo.cookie.value,\n                },\n                domain: cookieInfo.cookie.domain,\n                path: cookieInfo.cookie.path,\n                expires: cookieInfo.cookie.expires,\n                size: cookieInfo.cookie.size,\n                httpOnly: cookieInfo.cookie.httpOnly,\n                secure: cookieInfo.cookie.secure,\n                sameSite: NetworkRequest.#getCookiesSameSite(cookieInfo.cookie.sameSite),\n            };\n        });\n    }\n    static #getCookiesSameSite(cdpSameSiteValue) {\n        switch (cdpSameSiteValue) {\n            case 'Strict':\n                return 'strict';\n            case 'Lax':\n                return 'lax';\n            default:\n                return 'none';\n        }\n    }\n}\nexports.NetworkRequest = NetworkRequest;\n//# sourceMappingURL=networkRequest.js.map","\"use strict\";\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NetworkManager = void 0;\nconst DefaultMap_js_1 = require(\"../../../utils/DefaultMap.js\");\nconst networkRequest_js_1 = require(\"./networkRequest.js\");\nclass NetworkManager {\n    #eventManager;\n    /**\n     * Map of request ID to NetworkRequest objects. Needed as long as information\n     * about requests comes from different events.\n     */\n    #requestMap;\n    constructor(eventManager) {\n        this.#eventManager = eventManager;\n        this.#requestMap = new DefaultMap_js_1.DefaultMap((requestId) => new networkRequest_js_1.NetworkRequest(requestId, this.#eventManager));\n    }\n    static create(cdpClient, eventManager) {\n        const networkProcessor = new NetworkManager(eventManager);\n        cdpClient\n            .browserClient()\n            .on('Target.detachedFromTarget', (params) => {\n            if (cdpClient.sessionId === params.sessionId) {\n                networkProcessor.dispose();\n            }\n        });\n        cdpClient.on('Network.requestWillBeSent', (params) => {\n            networkProcessor\n                .#getOrCreateNetworkRequest(params.requestId)\n                .onRequestWillBeSentEvent(params);\n        });\n        cdpClient.on('Network.requestWillBeSentExtraInfo', (params) => {\n            networkProcessor\n                .#getOrCreateNetworkRequest(params.requestId)\n                .onRequestWillBeSentExtraInfoEvent(params);\n        });\n        cdpClient.on('Network.responseReceived', (params) => {\n            networkProcessor\n                .#getOrCreateNetworkRequest(params.requestId)\n                .onResponseReceivedEvent(params);\n        });\n        cdpClient.on('Network.responseReceivedExtraInfo', (params) => {\n            networkProcessor\n                .#getOrCreateNetworkRequest(params.requestId)\n                .onResponseReceivedEventExtraInfo(params);\n        });\n        cdpClient.on('Network.requestServedFromCache', (params) => {\n            networkProcessor\n                .#getOrCreateNetworkRequest(params.requestId)\n                .onServedFromCache();\n        });\n        cdpClient.on('Network.loadingFailed', (params) => {\n            networkProcessor\n                .#getOrCreateNetworkRequest(params.requestId)\n                .onLoadingFailedEvent(params);\n            networkProcessor.#forgetRequest(params.requestId);\n        });\n        cdpClient.on('Network.loadingFinished', (params) => {\n            networkProcessor.#forgetRequest(params.requestId);\n        });\n        return networkProcessor;\n    }\n    dispose() {\n        for (const request of this.#requestMap.values()) {\n            request.dispose();\n        }\n        this.#requestMap.clear();\n    }\n    #getOrCreateNetworkRequest(requestId) {\n        return this.#requestMap.get(requestId);\n    }\n    #forgetRequest(requestId) {\n        const request = this.#requestMap.get(requestId);\n        if (request) {\n            request.dispose();\n            this.#requestMap.delete(requestId);\n        }\n    }\n}\nexports.NetworkManager = NetworkManager;\n//# sourceMappingURL=NetworkManager.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CdpTarget = void 0;\nconst deferred_js_1 = require(\"../../../utils/deferred.js\");\nconst logManager_js_1 = require(\"../log/logManager.js\");\nconst NetworkManager_js_1 = require(\"../network/NetworkManager.js\");\nclass CdpTarget {\n    #targetId;\n    #cdpClient;\n    #cdpSessionId;\n    #eventManager;\n    #preloadScriptStorage;\n    #targetUnblocked = new deferred_js_1.Deferred();\n    static create(targetId, cdpClient, cdpSessionId, realmStorage, eventManager, preloadScriptStorage) {\n        const cdpTarget = new CdpTarget(targetId, cdpClient, cdpSessionId, eventManager, preloadScriptStorage);\n        logManager_js_1.LogManager.create(cdpTarget, realmStorage, eventManager);\n        NetworkManager_js_1.NetworkManager.create(cdpClient, eventManager);\n        cdpTarget.#setEventListeners();\n        // No need to await.\n        // Deferred will be resolved when the target is unblocked.\n        void cdpTarget.#unblock();\n        return cdpTarget;\n    }\n    constructor(targetId, cdpClient, cdpSessionId, eventManager, preloadScriptStorage) {\n        this.#targetId = targetId;\n        this.#cdpClient = cdpClient;\n        this.#cdpSessionId = cdpSessionId;\n        this.#eventManager = eventManager;\n        this.#preloadScriptStorage = preloadScriptStorage;\n    }\n    /** Returns a promise that resolves when the target is unblocked. */\n    get targetUnblocked() {\n        return this.#targetUnblocked;\n    }\n    get targetId() {\n        return this.#targetId;\n    }\n    get cdpClient() {\n        return this.#cdpClient;\n    }\n    /**\n     * Needed for CDP escape path.\n     */\n    get cdpSessionId() {\n        return this.#cdpSessionId;\n    }\n    /**\n     * Enables all the required CDP domains and unblocks the target.\n     */\n    async #unblock() {\n        try {\n            // Collect all command promises and wait for them after\n            // `Runtime.runIfWaitingForDebugger`.\n            const promises = [];\n            promises.push(this.#cdpClient.sendCommand('Runtime.enable'), this.#cdpClient.sendCommand('Page.enable'), this.#cdpClient.sendCommand('Page.setLifecycleEventsEnabled', {\n                enabled: true,\n            }), \n            // XXX: #1080: Do not always enable the network domain globally.\n            // TODO: enable Network domain for OOPiF targets.\n            this.#cdpClient.sendCommand('Network.enable'), this.#cdpClient.sendCommand('Target.setAutoAttach', {\n                autoAttach: true,\n                waitForDebuggerOnStart: true,\n                flatten: true,\n            }), this.#initAndEvaluatePreloadScripts());\n            await this.#cdpClient.sendCommand('Runtime.runIfWaitingForDebugger');\n            await Promise.all(promises);\n        }\n        catch (error) {\n            // The target might have been closed before the initialization finished.\n            if (!this.#cdpClient.isCloseError(error)) {\n                throw error;\n            }\n        }\n        this.#targetUnblocked.resolve({\n            kind: 'success',\n            value: undefined,\n        });\n    }\n    #setEventListeners() {\n        this.#cdpClient.on('*', (event, params) => {\n            // We may encounter uses for EventEmitter other than CDP events,\n            // which we want to skip.\n            if (typeof event !== 'string') {\n                return;\n            }\n            this.#eventManager.registerEvent({\n                type: 'event',\n                method: `cdp.${event}`,\n                params: {\n                    event,\n                    params: params,\n                    session: this.#cdpSessionId,\n                },\n            }, null);\n        });\n    }\n    /**\n     * All the ProxyChannels from all the preload scripts of the given\n     * BrowsingContext.\n     */\n    getChannels() {\n        return this.#preloadScriptStorage\n            .findPreloadScripts()\n            .flatMap((script) => script.channels);\n    }\n    /** Loads all top-level preload scripts. */\n    async #initAndEvaluatePreloadScripts() {\n        for (const script of this.#preloadScriptStorage.findPreloadScripts()) {\n            await script.initInTarget(this, true);\n        }\n    }\n}\nexports.CdpTarget = CdpTarget;\n//# sourceMappingURL=cdpTarget.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowsingContextProcessor = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst log_js_1 = require(\"../../../utils/log.js\");\nconst browsingContextImpl_js_1 = require(\"./browsingContextImpl.js\");\nconst cdpTarget_js_1 = require(\"./cdpTarget.js\");\nclass BrowsingContextProcessor {\n    #cdpConnection;\n    #selfTargetId;\n    #eventManager;\n    #browsingContextStorage;\n    #preloadScriptStorage;\n    #realmStorage;\n    #logger;\n    constructor(cdpConnection, selfTargetId, eventManager, browsingContextStorage, realmStorage, preloadScriptStorage, logger) {\n        this.#cdpConnection = cdpConnection;\n        this.#selfTargetId = selfTargetId;\n        this.#eventManager = eventManager;\n        this.#browsingContextStorage = browsingContextStorage;\n        this.#preloadScriptStorage = preloadScriptStorage;\n        this.#realmStorage = realmStorage;\n        this.#logger = logger;\n        this.#setEventListeners(this.#cdpConnection.browserClient());\n    }\n    getTree(params) {\n        const resultContexts = params.root === undefined\n            ? this.#browsingContextStorage.getTopLevelContexts()\n            : [this.#browsingContextStorage.getContext(params.root)];\n        return {\n            contexts: resultContexts.map((c) => c.serializeToBidiValue(params.maxDepth ?? Number.MAX_VALUE)),\n        };\n    }\n    async create(params) {\n        const browserCdpClient = this.#cdpConnection.browserClient();\n        let referenceContext;\n        if (params.referenceContext !== undefined) {\n            referenceContext = this.#browsingContextStorage.getContext(params.referenceContext);\n            if (!referenceContext.isTopLevelContext()) {\n                throw new protocol_js_1.InvalidArgumentException(`referenceContext should be a top-level context`);\n            }\n        }\n        let result;\n        switch (params.type) {\n            case \"tab\" /* BrowsingContext.CreateType.Tab */:\n                result = await browserCdpClient.sendCommand('Target.createTarget', {\n                    url: 'about:blank',\n                    newWindow: false,\n                });\n                break;\n            case \"window\" /* BrowsingContext.CreateType.Window */:\n                result = await browserCdpClient.sendCommand('Target.createTarget', {\n                    url: 'about:blank',\n                    newWindow: true,\n                });\n                break;\n        }\n        // Wait for the new tab to be loaded to avoid race conditions in the\n        // `browsingContext` events, when the `browsingContext.domContentLoaded` and\n        // `browsingContext.load` events from the initial `about:blank` navigation\n        // are emitted after the next navigation is started.\n        // Details: https://github.com/web-platform-tests/wpt/issues/35846\n        const contextId = result.targetId;\n        const context = this.#browsingContextStorage.getContext(contextId);\n        await context.lifecycleLoaded();\n        return { context: context.id };\n    }\n    navigate(params) {\n        const context = this.#browsingContextStorage.getContext(params.context);\n        return context.navigate(params.url, params.wait ?? \"none\" /* BrowsingContext.ReadinessState.None */);\n    }\n    reload(params) {\n        const context = this.#browsingContextStorage.getContext(params.context);\n        return context.reload(params.ignoreCache ?? false, params.wait ?? \"none\" /* BrowsingContext.ReadinessState.None */);\n    }\n    async activate(params) {\n        const context = this.#browsingContextStorage.getContext(params.context);\n        if (!context.isTopLevelContext()) {\n            throw new protocol_js_1.InvalidArgumentException('Activation is only supported on the top-level context');\n        }\n        await context.activate();\n        return {};\n    }\n    async captureScreenshot(params) {\n        const context = this.#browsingContextStorage.getContext(params.context);\n        return context.captureScreenshot();\n    }\n    async print(params) {\n        const context = this.#browsingContextStorage.getContext(params.context);\n        return context.print(params);\n    }\n    async setViewport(params) {\n        const context = this.#browsingContextStorage.getContext(params.context);\n        if (!context.isTopLevelContext()) {\n            throw new protocol_js_1.InvalidArgumentException('Emulating viewport is only supported on the top-level context');\n        }\n        await context.setViewport(params.viewport);\n        return {};\n    }\n    async handleUserPrompt(params) {\n        const context = this.#browsingContextStorage.getContext(params.context);\n        await context.handleUserPrompt(params);\n        return {};\n    }\n    async close(commandParams) {\n        const context = this.#browsingContextStorage.getContext(commandParams.context);\n        if (!context.isTopLevelContext()) {\n            throw new protocol_js_1.InvalidArgumentException(`Non top-level browsing context ${context.id} cannot be closed.`);\n        }\n        try {\n            const browserCdpClient = this.#cdpConnection.browserClient();\n            const detachedFromTargetPromise = new Promise((resolve) => {\n                const onContextDestroyed = (event) => {\n                    if (event.targetId === commandParams.context) {\n                        browserCdpClient.off('Target.detachedFromTarget', onContextDestroyed);\n                        resolve();\n                    }\n                };\n                browserCdpClient.on('Target.detachedFromTarget', onContextDestroyed);\n            });\n            await context.close();\n            // Sometimes CDP command finishes before `detachedFromTarget` event,\n            // sometimes after. Wait for the CDP command to be finished, and then wait\n            // for `detachedFromTarget` if it hasn't emitted.\n            await detachedFromTargetPromise;\n        }\n        catch (error) {\n            // Swallow error that arise from the page being destroyed\n            // Example is navigating to faulty SSL certificate\n            if (!(error.code === -32000 &&\n                error.message === 'Not attached to an active page')) {\n                throw error;\n            }\n        }\n        return {};\n    }\n    /**\n     * This method is called for each CDP session, since this class is responsible\n     * for creating and destroying all targets and browsing contexts.\n     */\n    #setEventListeners(cdpClient) {\n        cdpClient.on('Target.attachedToTarget', (params) => {\n            this.#handleAttachedToTargetEvent(params, cdpClient);\n        });\n        cdpClient.on('Target.detachedFromTarget', (params) => {\n            this.#handleDetachedFromTargetEvent(params);\n        });\n        cdpClient.on('Target.targetInfoChanged', (params) => {\n            this.#handleTargetInfoChangedEvent(params);\n        });\n        cdpClient.on('Page.frameAttached', (params) => {\n            this.#handleFrameAttachedEvent(params);\n        });\n        cdpClient.on('Page.frameDetached', (params) => {\n            this.#handleFrameDetachedEvent(params);\n        });\n    }\n    #handleFrameAttachedEvent(params) {\n        const parentBrowsingContext = this.#browsingContextStorage.findContext(params.parentFrameId);\n        if (parentBrowsingContext !== undefined) {\n            browsingContextImpl_js_1.BrowsingContextImpl.create(parentBrowsingContext.cdpTarget, this.#realmStorage, params.frameId, params.parentFrameId, this.#eventManager, this.#browsingContextStorage, this.#logger);\n        }\n    }\n    #handleFrameDetachedEvent(params) {\n        // In case of OOPiF no need in deleting BrowsingContext.\n        if (params.reason === 'swap') {\n            return;\n        }\n        this.#browsingContextStorage.findContext(params.frameId)?.dispose();\n    }\n    #handleAttachedToTargetEvent(params, parentSessionCdpClient) {\n        const { sessionId, targetInfo } = params;\n        const targetCdpClient = this.#cdpConnection.getCdpClient(sessionId);\n        if (!this.#isValidTarget(targetInfo)) {\n            // DevTools or some other not supported by BiDi target. Just release\n            // debugger  and ignore them.\n            targetCdpClient\n                .sendCommand('Runtime.runIfWaitingForDebugger')\n                .then(() => parentSessionCdpClient.sendCommand('Target.detachFromTarget', params))\n                .catch((error) => this.#logger?.(log_js_1.LogType.system, error));\n            return;\n        }\n        this.#logger?.(log_js_1.LogType.browsingContexts, 'AttachedToTarget event received:', JSON.stringify(params, null, 2));\n        this.#setEventListeners(targetCdpClient);\n        const maybeContext = this.#browsingContextStorage.findContext(targetInfo.targetId);\n        const cdpTarget = cdpTarget_js_1.CdpTarget.create(targetInfo.targetId, targetCdpClient, sessionId, this.#realmStorage, this.#eventManager, this.#preloadScriptStorage);\n        if (maybeContext) {\n            // OOPiF.\n            maybeContext.updateCdpTarget(cdpTarget);\n        }\n        else {\n            // New context.\n            browsingContextImpl_js_1.BrowsingContextImpl.create(cdpTarget, this.#realmStorage, targetInfo.targetId, null, this.#eventManager, this.#browsingContextStorage, this.#logger);\n        }\n    }\n    #handleDetachedFromTargetEvent(params) {\n        // XXX: params.targetId is deprecated. Update this class to track using\n        // params.sessionId instead.\n        // https://github.com/GoogleChromeLabs/chromium-bidi/issues/60\n        const contextId = params.targetId;\n        this.#browsingContextStorage.findContext(contextId)?.dispose();\n        this.#preloadScriptStorage\n            .findPreloadScripts({ targetId: contextId })\n            .map((preloadScript) => preloadScript.dispose(contextId));\n    }\n    #handleTargetInfoChangedEvent(params) {\n        const contextId = params.targetInfo.targetId;\n        this.#browsingContextStorage\n            .findContext(contextId)\n            ?.onTargetInfoChanged(params);\n    }\n    #isValidTarget(target) {\n        if (target.targetId === this.#selfTargetId) {\n            return false;\n        }\n        return ['page', 'iframe'].includes(target.type);\n    }\n}\nexports.BrowsingContextProcessor = BrowsingContextProcessor;\n//# sourceMappingURL=browsingContextProcessor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assert = void 0;\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nfunction assert(predicate) {\n    if (!predicate) {\n        throw new Error('Internal assertion failed.');\n    }\n}\nexports.assert = assert;\n//# sourceMappingURL=assert.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n * Copyright 2022 The Chromium Authors.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Mutex = void 0;\n/**\n * Use Mutex class to coordinate local concurrent operations.\n * Once `acquire` promise resolves, you hold the lock and must\n * call `release` function returned by `acquire` to release the\n * lock. Failing to `release` the lock may lead to deadlocks.\n */\nclass Mutex {\n    #locked = false;\n    #acquirers = [];\n    // This is FIFO.\n    acquire() {\n        const state = { resolved: false };\n        if (this.#locked) {\n            return new Promise((resolve) => {\n                this.#acquirers.push(() => resolve(this.#release.bind(this, state)));\n            });\n        }\n        this.#locked = true;\n        return Promise.resolve(this.#release.bind(this, state));\n    }\n    #release(state) {\n        if (state.resolved) {\n            throw new Error('Cannot release more than once.');\n        }\n        state.resolved = true;\n        const resolve = this.#acquirers.shift();\n        if (!resolve) {\n            this.#locked = false;\n            return;\n        }\n        resolve();\n    }\n    async run(action) {\n        const release = await this.acquire();\n        try {\n            // Note we need to await here because we want the await to release AFTER\n            // that await happens. Returning action() will trigger the release\n            // immediately which is counter to what we want.\n            const result = await action();\n            return result;\n        }\n        finally {\n            release();\n        }\n    }\n}\nexports.Mutex = Mutex;\n//# sourceMappingURL=Mutex.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WheelSource = exports.PointerSource = exports.KeySource = exports.NoneSource = void 0;\nclass NoneSource {\n    type = \"none\" /* SourceType.None */;\n}\nexports.NoneSource = NoneSource;\nclass KeySource {\n    type = \"key\" /* SourceType.Key */;\n    pressed = new Set();\n    // This is a bitfield that matches the modifiers parameter of\n    // https://chromedevtools.github.io/devtools-protocol/tot/Input/#method-dispatchKeyEvent\n    #modifiers = 0;\n    get modifiers() {\n        return this.#modifiers;\n    }\n    get alt() {\n        return (this.#modifiers & 1) === 1;\n    }\n    set alt(value) {\n        this.#setModifier(value, 1);\n    }\n    get ctrl() {\n        return (this.#modifiers & 2) === 2;\n    }\n    set ctrl(value) {\n        this.#setModifier(value, 2);\n    }\n    get meta() {\n        return (this.#modifiers & 4) === 4;\n    }\n    set meta(value) {\n        this.#setModifier(value, 4);\n    }\n    get shift() {\n        return (this.#modifiers & 8) === 8;\n    }\n    set shift(value) {\n        this.#setModifier(value, 8);\n    }\n    #setModifier(value, bit) {\n        if (value) {\n            this.#modifiers |= bit;\n        }\n        else {\n            this.#modifiers &= ~bit;\n        }\n    }\n}\nexports.KeySource = KeySource;\nclass PointerSource {\n    type = \"pointer\" /* SourceType.Pointer */;\n    subtype;\n    pointerId;\n    pressed = new Set();\n    x = 0;\n    y = 0;\n    constructor(id, subtype) {\n        this.pointerId = id;\n        this.subtype = subtype;\n    }\n    // This is a bitfield that matches the buttons parameter of\n    // https://chromedevtools.github.io/devtools-protocol/tot/Input/#method-dispatchMouseEvent\n    get buttons() {\n        let buttons = 0;\n        for (const button of this.pressed) {\n            switch (button) {\n                case 0:\n                    buttons |= 1;\n                    break;\n                case 1:\n                    buttons |= 4;\n                    break;\n                case 2:\n                    buttons |= 2;\n                    break;\n                case 3:\n                    buttons |= 8;\n                    break;\n                case 4:\n                    buttons |= 16;\n                    break;\n            }\n        }\n        return buttons;\n    }\n    // --- Platform-specific state starts here ---\n    // Input.dispatchMouseEvent doesn't know the concept of double click, so we\n    // need to create it like for OSes:\n    // https://source.chromium.org/chromium/chromium/src/+/refs/heads/main:ui/events/event.cc;l=479\n    static #DOUBLE_CLICK_TIME_MS = 500;\n    static #MAX_DOUBLE_CLICK_RADIUS = 2;\n    #clickCount = 0;\n    #lastClick;\n    setClickCount(context) {\n        if (!this.#lastClick ||\n            // The click needs to be within a certain amount of ms.\n            context.timeStamp - this.#lastClick.timeStamp >\n                PointerSource.#DOUBLE_CLICK_TIME_MS ||\n            // The click needs to be within a square radius.\n            Math.abs(this.#lastClick.x - context.x) >\n                PointerSource.#MAX_DOUBLE_CLICK_RADIUS ||\n            Math.abs(this.#lastClick.y - context.y) >\n                PointerSource.#MAX_DOUBLE_CLICK_RADIUS) {\n            this.#clickCount = 0;\n        }\n        ++this.#clickCount;\n        this.#lastClick = context;\n    }\n    get clickCount() {\n        return this.#clickCount;\n    }\n}\nexports.PointerSource = PointerSource;\nclass WheelSource {\n    type = \"wheel\" /* SourceType.Wheel */;\n}\nexports.WheelSource = WheelSource;\n//# sourceMappingURL=InputSource.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InputState = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst Mutex_js_1 = require(\"../../../utils/Mutex.js\");\nconst InputSource_js_1 = require(\"./InputSource.js\");\nclass InputState {\n    cancelList = [];\n    #sources = new Map();\n    #mutex = new Mutex_js_1.Mutex();\n    getOrCreate(id, type, subtype) {\n        let source = this.#sources.get(id);\n        if (!source) {\n            switch (type) {\n                case \"none\" /* SourceType.None */:\n                    source = new InputSource_js_1.NoneSource();\n                    break;\n                case \"key\" /* SourceType.Key */:\n                    source = new InputSource_js_1.KeySource();\n                    break;\n                case \"pointer\" /* SourceType.Pointer */: {\n                    let pointerId = subtype === \"mouse\" /* Input.PointerType.Mouse */ ? 0 : 2;\n                    const pointerIds = new Set();\n                    for (const [, source] of this.#sources) {\n                        if (source.type === \"pointer\" /* SourceType.Pointer */) {\n                            pointerIds.add(source.pointerId);\n                        }\n                    }\n                    while (pointerIds.has(pointerId)) {\n                        ++pointerId;\n                    }\n                    source = new InputSource_js_1.PointerSource(pointerId, subtype);\n                    break;\n                }\n                case \"wheel\" /* SourceType.Wheel */:\n                    source = new InputSource_js_1.WheelSource();\n                    break;\n                default:\n                    throw new protocol_js_1.InvalidArgumentException(`Expected \"${\"none\" /* SourceType.None */}\", \"${\"key\" /* SourceType.Key */}\", \"${\"pointer\" /* SourceType.Pointer */}\", or \"${\"wheel\" /* SourceType.Wheel */}\". Found unknown source type ${type}.`);\n            }\n            this.#sources.set(id, source);\n            return source;\n        }\n        if (source.type !== type) {\n            throw new protocol_js_1.InvalidArgumentException(`Input source type of ${id} is ${source.type}, but received ${type}.`);\n        }\n        return source;\n    }\n    get(id) {\n        const source = this.#sources.get(id);\n        if (!source) {\n            throw new protocol_js_1.UnknownErrorException(`Internal error.`);\n        }\n        return source;\n    }\n    getGlobalKeyState() {\n        const state = new InputSource_js_1.KeySource();\n        for (const [, source] of this.#sources) {\n            if (source.type !== \"key\" /* SourceType.Key */) {\n                continue;\n            }\n            for (const pressed of source.pressed) {\n                state.pressed.add(pressed);\n            }\n            state.alt ||= source.alt;\n            state.ctrl ||= source.ctrl;\n            state.meta ||= source.meta;\n            state.shift ||= source.shift;\n        }\n        return state;\n    }\n    get queue() {\n        return this.#mutex;\n    }\n}\nexports.InputState = InputState;\n//# sourceMappingURL=InputState.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InputStateManager = void 0;\nconst assert_js_1 = require(\"../../../utils/assert.js\");\nconst InputState_js_1 = require(\"./InputState.js\");\n// We use a weak map here as specified here:\n// https://www.w3.org/TR/webdriver/#dfn-browsing-context-input-state-map\nclass InputStateManager extends WeakMap {\n    get(context) {\n        (0, assert_js_1.assert)(context.isTopLevelContext());\n        if (!this.has(context)) {\n            this.set(context, new InputState_js_1.InputState());\n        }\n        return super.get(context);\n    }\n}\nexports.InputStateManager = InputStateManager;\n//# sourceMappingURL=InputStateManager.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KeyToKeyCode = void 0;\n// TODO: Remove this once https://crrev.com/c/4548290 is stably in Chromium.\n// `Input.dispatchKeyboardEvent` will automatically handle these conversions.\nexports.KeyToKeyCode = {\n    '0': 48,\n    '1': 49,\n    '2': 50,\n    '3': 51,\n    '4': 52,\n    '5': 53,\n    '6': 54,\n    '7': 55,\n    '8': 56,\n    '9': 57,\n    Abort: 3,\n    Help: 6,\n    Backspace: 8,\n    Tab: 9,\n    Numpad5: 12,\n    NumpadEnter: 13,\n    Enter: 13,\n    '\\\\r': 13,\n    '\\\\n': 13,\n    ShiftLeft: 16,\n    ShiftRight: 16,\n    ControlLeft: 17,\n    ControlRight: 17,\n    AltLeft: 18,\n    AltRight: 18,\n    Pause: 19,\n    CapsLock: 20,\n    Escape: 27,\n    Convert: 28,\n    NonConvert: 29,\n    Space: 32,\n    Numpad9: 33,\n    PageUp: 33,\n    Numpad3: 34,\n    PageDown: 34,\n    End: 35,\n    Numpad1: 35,\n    Home: 36,\n    Numpad7: 36,\n    ArrowLeft: 37,\n    Numpad4: 37,\n    Numpad8: 38,\n    ArrowUp: 38,\n    ArrowRight: 39,\n    Numpad6: 39,\n    Numpad2: 40,\n    ArrowDown: 40,\n    Select: 41,\n    Open: 43,\n    PrintScreen: 44,\n    Insert: 45,\n    Numpad0: 45,\n    Delete: 46,\n    NumpadDecimal: 46,\n    Digit0: 48,\n    Digit1: 49,\n    Digit2: 50,\n    Digit3: 51,\n    Digit4: 52,\n    Digit5: 53,\n    Digit6: 54,\n    Digit7: 55,\n    Digit8: 56,\n    Digit9: 57,\n    KeyA: 65,\n    KeyB: 66,\n    KeyC: 67,\n    KeyD: 68,\n    KeyE: 69,\n    KeyF: 70,\n    KeyG: 71,\n    KeyH: 72,\n    KeyI: 73,\n    KeyJ: 74,\n    KeyK: 75,\n    KeyL: 76,\n    KeyM: 77,\n    KeyN: 78,\n    KeyO: 79,\n    KeyP: 80,\n    KeyQ: 81,\n    KeyR: 82,\n    KeyS: 83,\n    KeyT: 84,\n    KeyU: 85,\n    KeyV: 86,\n    KeyW: 87,\n    KeyX: 88,\n    KeyY: 89,\n    KeyZ: 90,\n    MetaLeft: 91,\n    MetaRight: 92,\n    ContextMenu: 93,\n    NumpadMultiply: 106,\n    NumpadAdd: 107,\n    NumpadSubtract: 109,\n    NumpadDivide: 111,\n    F1: 112,\n    F2: 113,\n    F3: 114,\n    F4: 115,\n    F5: 116,\n    F6: 117,\n    F7: 118,\n    F8: 119,\n    F9: 120,\n    F10: 121,\n    F11: 122,\n    F12: 123,\n    F13: 124,\n    F14: 125,\n    F15: 126,\n    F16: 127,\n    F17: 128,\n    F18: 129,\n    F19: 130,\n    F20: 131,\n    F21: 132,\n    F22: 133,\n    F23: 134,\n    F24: 135,\n    NumLock: 144,\n    ScrollLock: 145,\n    AudioVolumeMute: 173,\n    AudioVolumeDown: 174,\n    AudioVolumeUp: 175,\n    MediaTrackNext: 176,\n    MediaTrackPrevious: 177,\n    MediaStop: 178,\n    MediaPlayPause: 179,\n    Semicolon: 186,\n    Equal: 187,\n    NumpadEqual: 187,\n    Comma: 188,\n    Minus: 189,\n    Period: 190,\n    Slash: 191,\n    Backquote: 192,\n    BracketLeft: 219,\n    Backslash: 220,\n    BracketRight: 221,\n    Quote: 222,\n    AltGraph: 225,\n    Props: 247,\n    Cancel: 3,\n    Clear: 12,\n    Shift: 16,\n    Control: 17,\n    Alt: 18,\n    Accept: 30,\n    ModeChange: 31,\n    ' ': 32,\n    Print: 42,\n    Execute: 43,\n    '\\\\u0000': 46,\n    a: 65,\n    b: 66,\n    c: 67,\n    d: 68,\n    e: 69,\n    f: 70,\n    g: 71,\n    h: 72,\n    i: 73,\n    j: 74,\n    k: 75,\n    l: 76,\n    m: 77,\n    n: 78,\n    o: 79,\n    p: 80,\n    q: 81,\n    r: 82,\n    s: 83,\n    t: 84,\n    u: 85,\n    v: 86,\n    w: 87,\n    x: 88,\n    y: 89,\n    z: 90,\n    Meta: 91,\n    '*': 106,\n    '+': 107,\n    '-': 109,\n    '/': 111,\n    ';': 186,\n    '=': 187,\n    ',': 188,\n    '.': 190,\n    '`': 192,\n    '[': 219,\n    '\\\\\\\\': 220,\n    ']': 221,\n    \"'\": 222,\n    Attn: 246,\n    CrSel: 247,\n    ExSel: 248,\n    EraseEof: 249,\n    Play: 250,\n    ZoomOut: 251,\n    ')': 48,\n    '!': 49,\n    '@': 50,\n    '#': 51,\n    $: 52,\n    '%': 53,\n    '^': 54,\n    '&': 55,\n    '(': 57,\n    A: 65,\n    B: 66,\n    C: 67,\n    D: 68,\n    E: 69,\n    F: 70,\n    G: 71,\n    H: 72,\n    I: 73,\n    J: 74,\n    K: 75,\n    L: 76,\n    M: 77,\n    N: 78,\n    O: 79,\n    P: 80,\n    Q: 81,\n    R: 82,\n    S: 83,\n    T: 84,\n    U: 85,\n    V: 86,\n    W: 87,\n    X: 88,\n    Y: 89,\n    Z: 90,\n    ':': 186,\n    '<': 188,\n    _: 189,\n    '>': 190,\n    '?': 191,\n    '~': 192,\n    '{': 219,\n    '|': 220,\n    '}': 221,\n    '\"': 222,\n    Camera: 44,\n    EndCall: 95,\n    VolumeDown: 182,\n    VolumeUp: 183,\n};\n//# sourceMappingURL=USKeyboardLayout.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getKeyLocation = exports.getKeyCode = exports.getNormalizedKey = void 0;\nfunction getNormalizedKey(value) {\n    switch (value) {\n        case '\\uE000':\n            return 'Unidentified';\n        case '\\uE001':\n            return 'Cancel';\n        case '\\uE002':\n            return 'Help';\n        case '\\uE003':\n            return 'Backspace';\n        case '\\uE004':\n            return 'Tab';\n        case '\\uE005':\n            return 'Clear';\n        case '\\uE006':\n            return 'Return';\n        case '\\uE007':\n            return 'Enter';\n        case '\\uE008':\n            return 'Shift';\n        case '\\uE009':\n            return 'Control';\n        case '\\uE00A':\n            return 'Alt';\n        case '\\uE00B':\n            return 'Pause';\n        case '\\uE00C':\n            return 'Escape';\n        case '\\uE00D':\n            return ' ';\n        case '\\uE00E':\n            return 'PageUp';\n        case '\\uE00F':\n            return 'PageDown';\n        case '\\uE010':\n            return 'End';\n        case '\\uE011':\n            return 'Home';\n        case '\\uE012':\n            return 'ArrowLeft';\n        case '\\uE013':\n            return 'ArrowUp';\n        case '\\uE014':\n            return 'ArrowRight';\n        case '\\uE015':\n            return 'ArrowDown';\n        case '\\uE016':\n            return 'Insert';\n        case '\\uE017':\n            return 'Delete';\n        case '\\uE018':\n            return ';';\n        case '\\uE019':\n            return '=';\n        case '\\uE01A':\n            return '0';\n        case '\\uE01B':\n            return '1';\n        case '\\uE01C':\n            return '2';\n        case '\\uE01D':\n            return '3';\n        case '\\uE01E':\n            return '4';\n        case '\\uE01F':\n            return '5';\n        case '\\uE020':\n            return '6';\n        case '\\uE021':\n            return '7';\n        case '\\uE022':\n            return '8';\n        case '\\uE023':\n            return '9';\n        case '\\uE024':\n            return '*';\n        case '\\uE025':\n            return '+';\n        case '\\uE026':\n            return ',';\n        case '\\uE027':\n            return '-';\n        case '\\uE028':\n            return '.';\n        case '\\uE029':\n            return '/';\n        case '\\uE031':\n            return 'F1';\n        case '\\uE032':\n            return 'F2';\n        case '\\uE033':\n            return 'F3';\n        case '\\uE034':\n            return 'F4';\n        case '\\uE035':\n            return 'F5';\n        case '\\uE036':\n            return 'F6';\n        case '\\uE037':\n            return 'F7';\n        case '\\uE038':\n            return 'F8';\n        case '\\uE039':\n            return 'F9';\n        case '\\uE03A':\n            return 'F10';\n        case '\\uE03B':\n            return 'F11';\n        case '\\uE03C':\n            return 'F12';\n        case '\\uE03D':\n            return 'Meta';\n        case '\\uE040':\n            return 'ZenkakuHankaku';\n        case '\\uE050':\n            return 'Shift';\n        case '\\uE051':\n            return 'Control';\n        case '\\uE052':\n            return 'Alt';\n        case '\\uE053':\n            return 'Meta';\n        case '\\uE054':\n            return 'PageUp';\n        case '\\uE055':\n            return 'PageDown';\n        case '\\uE056':\n            return 'End';\n        case '\\uE057':\n            return 'Home';\n        case '\\uE058':\n            return 'ArrowLeft';\n        case '\\uE059':\n            return 'ArrowUp';\n        case '\\uE05A':\n            return 'ArrowRight';\n        case '\\uE05B':\n            return 'ArrowDown';\n        case '\\uE05C':\n            return 'Insert';\n        case '\\uE05D':\n            return 'Delete';\n        default:\n            return value;\n    }\n}\nexports.getNormalizedKey = getNormalizedKey;\nfunction getKeyCode(key) {\n    switch (key) {\n        case '`':\n        case '~':\n            return 'Backquote';\n        case '\\\\':\n        case '|':\n            return 'Backslash';\n        case '\\uE003':\n            return 'Backspace';\n        case '[':\n        case '{':\n            return 'BracketLeft';\n        case ']':\n        case '}':\n            return 'BracketRight';\n        case ',':\n        case '<':\n            return 'Comma';\n        case '0':\n        case ')':\n            return 'Digit0';\n        case '1':\n        case '!':\n            return 'Digit1';\n        case '2':\n        case '@':\n            return 'Digit2';\n        case '3':\n        case '#':\n            return 'Digit3';\n        case '4':\n        case '$':\n            return 'Digit4';\n        case '5':\n        case '%':\n            return 'Digit5';\n        case '6':\n        case '^':\n            return 'Digit6';\n        case '7':\n        case '&':\n            return 'Digit7';\n        case '8':\n        case '*':\n            return 'Digit8';\n        case '9':\n        case '(':\n            return 'Digit9';\n        case '=':\n        case '+':\n            return 'Equal';\n        case 'a':\n        case 'A':\n            return 'KeyA';\n        case 'b':\n        case 'B':\n            return 'KeyB';\n        case 'c':\n        case 'C':\n            return 'KeyC';\n        case 'd':\n        case 'D':\n            return 'KeyD';\n        case 'e':\n        case 'E':\n            return 'KeyE';\n        case 'f':\n        case 'F':\n            return 'KeyF';\n        case 'g':\n        case 'G':\n            return 'KeyG';\n        case 'h':\n        case 'H':\n            return 'KeyH';\n        case 'i':\n        case 'I':\n            return 'KeyI';\n        case 'j':\n        case 'J':\n            return 'KeyJ';\n        case 'k':\n        case 'K':\n            return 'KeyK';\n        case 'l':\n        case 'L':\n            return 'KeyL';\n        case 'm':\n        case 'M':\n            return 'KeyM';\n        case 'n':\n        case 'N':\n            return 'KeyN';\n        case 'o':\n        case 'O':\n            return 'KeyO';\n        case 'p':\n        case 'P':\n            return 'KeyP';\n        case 'q':\n        case 'Q':\n            return 'KeyQ';\n        case 'r':\n        case 'R':\n            return 'KeyR';\n        case 's':\n        case 'S':\n            return 'KeyS';\n        case 't':\n        case 'T':\n            return 'KeyT';\n        case 'u':\n        case 'U':\n            return 'KeyU';\n        case 'v':\n        case 'V':\n            return 'KeyV';\n        case 'w':\n        case 'W':\n            return 'KeyW';\n        case 'x':\n        case 'X':\n            return 'KeyX';\n        case 'y':\n        case 'Y':\n            return 'KeyY';\n        case 'z':\n        case 'Z':\n            return 'KeyZ';\n        case '-':\n        case '_':\n            return 'Minus';\n        case '.':\n            return 'Period';\n        case \"'\":\n        case '\"':\n            return 'Quote';\n        case ';':\n        case ':':\n            return 'Semicolon';\n        case '/':\n        case '?':\n            return 'Slash';\n        case '\\uE00A':\n            return 'AltLeft';\n        case '\\uE052':\n            return 'AltRight';\n        case '\\uE009':\n            return 'ControlLeft';\n        case '\\uE051':\n            return 'ControlRight';\n        case '\\uE006':\n            return 'Enter';\n        case '\\uE03D':\n            return 'MetaLeft';\n        case '\\uE053':\n            return 'MetaRight';\n        case '\\uE008':\n            return 'ShiftLeft';\n        case '\\uE050':\n            return 'ShiftRight';\n        case ' ':\n        case '\\uE00D':\n            return 'Space';\n        case '\\uE004':\n            return 'Tab';\n        case '\\uE017':\n            return 'Delete';\n        case '\\uE010':\n            return 'End';\n        case '\\uE002':\n            return 'Help';\n        case '\\uE011':\n            return 'Home';\n        case '\\uE016':\n            return 'Insert';\n        case '\\uE00F':\n            return 'PageDown';\n        case '\\uE00E':\n            return 'PageUp';\n        case '\\uE015':\n            return 'ArrowDown';\n        case '\\uE012':\n            return 'ArrowLeft';\n        case '\\uE014':\n            return 'ArrowRight';\n        case '\\uE013':\n            return 'ArrowUp';\n        case '\\uE00C':\n            return 'Escape';\n        case '\\uE031':\n            return 'F1';\n        case '\\uE032':\n            return 'F2';\n        case '\\uE033':\n            return 'F3';\n        case '\\uE034':\n            return 'F4';\n        case '\\uE035':\n            return 'F5';\n        case '\\uE036':\n            return 'F6';\n        case '\\uE037':\n            return 'F7';\n        case '\\uE038':\n            return 'F8';\n        case '\\uE039':\n            return 'F9';\n        case '\\uE03A':\n            return 'F10';\n        case '\\uE03B':\n            return 'F11';\n        case '\\uE03C':\n            return 'F12';\n        case '\\uE01A':\n        case '\\uE05C':\n            return 'Numpad0';\n        case '\\uE01B':\n        case '\\uE056':\n            return 'Numpad1';\n        case '\\uE01C':\n        case '\\uE05B':\n            return 'Numpad2';\n        case '\\uE01D':\n        case '\\uE055':\n            return 'Numpad3';\n        case '\\uE01E':\n        case '\\uE058':\n            return 'Numpad4';\n        case '\\uE01F':\n            return 'Numpad5';\n        case '\\uE020':\n        case '\\uE05A':\n            return 'Numpad6';\n        case '\\uE021':\n        case '\\uE057':\n            return 'Numpad7';\n        case '\\uE022':\n        case '\\uE059':\n            return 'Numpad8';\n        case '\\uE023':\n        case '\\uE054':\n            return 'Numpad9';\n        case '\\uE025':\n            return 'NumpadAdd';\n        case '\\uE026':\n            return 'NumpadComma';\n        case '\\uE028':\n        case '\\uE05D':\n            return 'NumpadDecimal';\n        case '\\uE029':\n            return 'NumpadDivide';\n        case '\\uE007':\n            return 'NumpadEnter';\n        case '\\uE024':\n            return 'NumpadMultiply';\n        case '\\uE027':\n            return 'NumpadSubtract';\n        default:\n            return;\n    }\n}\nexports.getKeyCode = getKeyCode;\nfunction getKeyLocation(key) {\n    switch (key) {\n        case '\\uE007':\n        case '\\uE008':\n        case '\\uE009':\n        case '\\uE00A':\n        case '\\uE03D':\n            return 1;\n        case '\\uE01A':\n        case '\\uE01B':\n        case '\\uE01C':\n        case '\\uE01D':\n        case '\\uE01E':\n        case '\\uE01F':\n        case '\\uE020':\n        case '\\uE021':\n        case '\\uE022':\n        case '\\uE023':\n        case '\\uE024':\n        case '\\uE025':\n        case '\\uE026':\n        case '\\uE027':\n        case '\\uE028':\n        case '\\uE029':\n        case '\\uE054':\n        case '\\uE055':\n        case '\\uE056':\n        case '\\uE057':\n        case '\\uE058':\n        case '\\uE059':\n        case '\\uE05A':\n        case '\\uE05B':\n        case '\\uE05C':\n        case '\\uE05D':\n            return 3;\n        case '\\uE050':\n        case '\\uE051':\n        case '\\uE052':\n        case '\\uE053':\n            return 2;\n        default:\n            return 0;\n    }\n}\nexports.getKeyLocation = getKeyLocation;\n//# sourceMappingURL=keyUtils.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActionDispatcher = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst assert_js_1 = require(\"../../../utils/assert.js\");\nconst USKeyboardLayout_js_1 = require(\"./USKeyboardLayout.js\");\nconst keyUtils_js_1 = require(\"./keyUtils.js\");\n/** https://w3c.github.io/webdriver/#dfn-center-point */\nconst CALCULATE_IN_VIEW_CENTER_PT_DECL = ((i) => {\n    const t = i.getClientRects()[0], e = Math.max(0, Math.min(t.x, t.x + t.width)), n = Math.min(window.innerWidth, Math.max(t.x, t.x + t.width)), h = Math.max(0, Math.min(t.y, t.y + t.height)), m = Math.min(window.innerHeight, Math.max(t.y, t.y + t.height));\n    return [e + ((n - e) >> 1), h + ((m - h) >> 1)];\n}).toString();\nconst IS_MAC_DECL = (() => {\n    return navigator.platform.toLowerCase().includes('mac');\n}).toString();\nasync function getElementCenter(context, element) {\n    const sandbox = await context.getOrCreateSandbox(undefined);\n    const result = await sandbox.callFunction(CALCULATE_IN_VIEW_CENTER_PT_DECL, { type: 'undefined' }, [element], false, \"none\" /* Script.ResultOwnership.None */, {});\n    if (result.type === 'exception') {\n        throw new protocol_js_1.NoSuchElementException(`Origin element ${element.sharedId} was not found`);\n    }\n    (0, assert_js_1.assert)(result.result.type === 'array');\n    (0, assert_js_1.assert)(result.result.value?.[0]?.type === 'number');\n    (0, assert_js_1.assert)(result.result.value?.[1]?.type === 'number');\n    const { result: { value: [{ value: x }, { value: y }], }, } = result;\n    return { x: x, y: y };\n}\nclass ActionDispatcher {\n    static isMacOS = async (context) => {\n        const result = await (await context.getOrCreateSandbox(undefined)).callFunction(IS_MAC_DECL, { type: 'undefined' }, [], false, \"none\" /* Script.ResultOwnership.None */, {});\n        (0, assert_js_1.assert)(result.type !== 'exception');\n        (0, assert_js_1.assert)(result.result.type === 'boolean');\n        return result.result.value;\n    };\n    #tickStart = 0;\n    #tickDuration = 0;\n    #inputState;\n    #context;\n    #isMacOS;\n    constructor(inputState, context, isMacOS) {\n        this.#inputState = inputState;\n        this.#context = context;\n        this.#isMacOS = isMacOS;\n    }\n    async dispatchActions(optionsByTick) {\n        await this.#inputState.queue.run(async () => {\n            for (const options of optionsByTick) {\n                await this.dispatchTickActions(options);\n            }\n        });\n    }\n    async dispatchTickActions(options) {\n        this.#tickStart = performance.now();\n        this.#tickDuration = 0;\n        for (const { action } of options) {\n            if ('duration' in action && action.duration !== undefined) {\n                this.#tickDuration = Math.max(this.#tickDuration, action.duration);\n            }\n        }\n        const promises = [\n            new Promise((resolve) => setTimeout(resolve, this.#tickDuration)),\n        ];\n        for (const option of options) {\n            // In theory we have to wait for each action to happen, but CDP is serial,\n            // so as an optimization, we queue all CDP commands at once and await all\n            // of them.\n            promises.push(this.#dispatchAction(option));\n        }\n        await Promise.all(promises);\n    }\n    async #dispatchAction({ id, action }) {\n        const source = this.#inputState.get(id);\n        const keyState = this.#inputState.getGlobalKeyState();\n        switch (action.type) {\n            case 'keyDown': {\n                // SAFETY: The source is validated before.\n                await this.#dispatchKeyDownAction(source, action);\n                this.#inputState.cancelList.push({\n                    id,\n                    action: {\n                        ...action,\n                        type: 'keyUp',\n                    },\n                });\n                break;\n            }\n            case 'keyUp': {\n                // SAFETY: The source is validated before.\n                await this.#dispatchKeyUpAction(source, action);\n                break;\n            }\n            case 'pause': {\n                // TODO: Implement waiting on the input source.\n                break;\n            }\n            case 'pointerDown': {\n                // SAFETY: The source is validated before.\n                await this.#dispatchPointerDownAction(source, keyState, action);\n                this.#inputState.cancelList.push({\n                    id,\n                    action: {\n                        ...action,\n                        type: 'pointerUp',\n                    },\n                });\n                break;\n            }\n            case 'pointerMove': {\n                // SAFETY: The source is validated before.\n                await this.#dispatchPointerMoveAction(source, keyState, action);\n                break;\n            }\n            case 'pointerUp': {\n                // SAFETY: The source is validated before.\n                await this.#dispatchPointerUpAction(source, keyState, action);\n                break;\n            }\n            case 'scroll': {\n                // SAFETY: The source is validated before.\n                await this.#dispatchScrollAction(source, keyState, action);\n                break;\n            }\n        }\n    }\n    #dispatchPointerDownAction(source, keyState, action) {\n        const { button } = action;\n        if (source.pressed.has(button)) {\n            return;\n        }\n        source.pressed.add(button);\n        const { x, y, subtype: pointerType } = source;\n        const { width, height, pressure, twist, tangentialPressure } = action;\n        const { tiltX, tiltY } = 'tiltX' in action ? action : {};\n        // TODO: Implement azimuth/altitude angle.\n        // --- Platform-specific code begins here ---\n        const { modifiers } = keyState;\n        switch (pointerType) {\n            case \"mouse\" /* Input.PointerType.Mouse */:\n            case \"pen\" /* Input.PointerType.Pen */:\n                source.setClickCount({ x, y, timeStamp: performance.now() });\n                // TODO: Implement width and height when available.\n                return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {\n                    type: 'mousePressed',\n                    x,\n                    y,\n                    modifiers,\n                    button: getCdpButton(button),\n                    buttons: source.buttons,\n                    clickCount: source.clickCount,\n                    pointerType,\n                    tangentialPressure,\n                    tiltX,\n                    tiltY,\n                    twist,\n                    force: pressure,\n                });\n            case \"touch\" /* Input.PointerType.Touch */:\n                return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchTouchEvent', {\n                    type: 'touchStart',\n                    touchPoints: [\n                        {\n                            x,\n                            y,\n                            radiusX: width,\n                            radiusY: height,\n                            tangentialPressure,\n                            tiltX,\n                            tiltY,\n                            twist,\n                            force: pressure,\n                            id: source.pointerId,\n                        },\n                    ],\n                    modifiers,\n                });\n        }\n        // --- Platform-specific code ends here ---\n    }\n    #dispatchPointerUpAction(source, keyState, action) {\n        const { button } = action;\n        if (!source.pressed.has(button)) {\n            return;\n        }\n        source.pressed.delete(button);\n        const { x, y, subtype: pointerType } = source;\n        // --- Platform-specific code begins here ---\n        const { modifiers } = keyState;\n        switch (pointerType) {\n            case \"mouse\" /* Input.PointerType.Mouse */:\n            case \"pen\" /* Input.PointerType.Pen */:\n                // TODO: Implement width and height when available.\n                return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {\n                    type: 'mouseReleased',\n                    x,\n                    y,\n                    modifiers,\n                    button: getCdpButton(button),\n                    buttons: source.buttons,\n                    clickCount: source.clickCount,\n                    pointerType,\n                });\n            case \"touch\" /* Input.PointerType.Touch */:\n                return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchTouchEvent', {\n                    type: 'touchEnd',\n                    touchPoints: [\n                        {\n                            x,\n                            y,\n                            id: source.pointerId,\n                        },\n                    ],\n                    modifiers,\n                });\n        }\n        // --- Platform-specific code ends here ---\n    }\n    async #dispatchPointerMoveAction(source, keyState, action) {\n        const { x: startX, y: startY, subtype: pointerType } = source;\n        const { width, height, pressure, twist, tangentialPressure, x: offsetX, y: offsetY, origin = 'viewport', duration = this.#tickDuration, } = action;\n        const { tiltX, tiltY } = 'tiltX' in action ? action : {};\n        // TODO: Implement azimuth/altitude angle.\n        const { targetX, targetY } = await this.#getCoordinateFromOrigin(origin, offsetX, offsetY, startX, startY);\n        if (targetX < 0 || targetY < 0) {\n            throw new protocol_js_1.MoveTargetOutOfBoundsException(`Cannot move beyond viewport (x: ${targetX}, y: ${targetY})`);\n        }\n        let last;\n        do {\n            const ratio = duration > 0 ? (performance.now() - this.#tickStart) / duration : 1;\n            last = ratio >= 1;\n            let x;\n            let y;\n            if (last) {\n                x = targetX;\n                y = targetY;\n            }\n            else {\n                x = Math.round(ratio * (targetX - startX) + startX);\n                y = Math.round(ratio * (targetY - startY) + startY);\n            }\n            if (source.x !== x || source.y !== y) {\n                // --- Platform-specific code begins here ---\n                const { modifiers } = keyState;\n                switch (pointerType) {\n                    case \"mouse\" /* Input.PointerType.Mouse */:\n                    case \"pen\" /* Input.PointerType.Pen */:\n                        // TODO: Implement width and height when available.\n                        await this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {\n                            type: 'mouseMoved',\n                            x,\n                            y,\n                            modifiers,\n                            clickCount: 0,\n                            button: getCdpButton(source.pressed.values().next().value ?? 5),\n                            buttons: source.buttons,\n                            pointerType,\n                            tangentialPressure,\n                            tiltX,\n                            tiltY,\n                            twist,\n                            force: pressure,\n                        });\n                        break;\n                    case \"touch\" /* Input.PointerType.Touch */:\n                        await this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchTouchEvent', {\n                            type: 'touchMove',\n                            touchPoints: [\n                                {\n                                    x,\n                                    y,\n                                    radiusX: width,\n                                    radiusY: height,\n                                    tangentialPressure,\n                                    tiltX,\n                                    tiltY,\n                                    twist,\n                                    force: pressure,\n                                    id: source.pointerId,\n                                },\n                            ],\n                            modifiers,\n                        });\n                        break;\n                }\n                // --- Platform-specific code ends here ---\n                source.x = x;\n                source.y = y;\n            }\n        } while (!last);\n    }\n    async #getCoordinateFromOrigin(origin, offsetX, offsetY, startX, startY) {\n        let targetX;\n        let targetY;\n        switch (origin) {\n            case 'viewport':\n                targetX = offsetX;\n                targetY = offsetY;\n                break;\n            case 'pointer':\n                targetX = startX + offsetX;\n                targetY = startY + offsetY;\n                break;\n            default: {\n                const { x: posX, y: posY } = await getElementCenter(this.#context, origin.element);\n                // SAFETY: These can never be special numbers.\n                targetX = posX + offsetX;\n                targetY = posY + offsetY;\n                break;\n            }\n        }\n        return { targetX, targetY };\n    }\n    async #dispatchScrollAction(_source, keyState, action) {\n        const { deltaX: targetDeltaX, deltaY: targetDeltaY, x: offsetX, y: offsetY, origin = 'viewport', duration = this.#tickDuration, } = action;\n        if (origin === 'pointer') {\n            throw new protocol_js_1.InvalidArgumentException('\"pointer\" origin is invalid for scrolling.');\n        }\n        const { targetX, targetY } = await this.#getCoordinateFromOrigin(origin, offsetX, offsetY, 0, 0);\n        if (targetX < 0 || targetY < 0) {\n            throw new protocol_js_1.MoveTargetOutOfBoundsException(`Cannot move beyond viewport (x: ${targetX}, y: ${targetY})`);\n        }\n        let currentDeltaX = 0;\n        let currentDeltaY = 0;\n        let last;\n        do {\n            const ratio = duration > 0 ? (performance.now() - this.#tickStart) / duration : 1;\n            last = ratio >= 1;\n            let deltaX;\n            let deltaY;\n            if (last) {\n                deltaX = targetDeltaX - currentDeltaX;\n                deltaY = targetDeltaY - currentDeltaY;\n            }\n            else {\n                deltaX = Math.round(ratio * targetDeltaX - currentDeltaX);\n                deltaY = Math.round(ratio * targetDeltaY - currentDeltaY);\n            }\n            if (deltaX !== 0 || deltaY !== 0) {\n                // --- Platform-specific code begins here ---\n                const { modifiers } = keyState;\n                await this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchMouseEvent', {\n                    type: 'mouseWheel',\n                    deltaX,\n                    deltaY,\n                    x: targetX,\n                    y: targetY,\n                    modifiers,\n                });\n                // --- Platform-specific code ends here ---\n                currentDeltaX += deltaX;\n                currentDeltaY += deltaY;\n            }\n        } while (!last);\n    }\n    async #dispatchKeyDownAction(source, action) {\n        if ([...action.value].length > 1) {\n            throw new protocol_js_1.InvalidArgumentException(`Invalid key value: ${action.value}`);\n        }\n        const rawKey = action.value;\n        const key = (0, keyUtils_js_1.getNormalizedKey)(rawKey);\n        const repeat = source.pressed.has(key);\n        const code = (0, keyUtils_js_1.getKeyCode)(rawKey);\n        const location = (0, keyUtils_js_1.getKeyLocation)(rawKey);\n        switch (key) {\n            case 'Alt':\n                source.alt = true;\n                break;\n            case 'Shift':\n                source.shift = true;\n                break;\n            case 'Control':\n                source.ctrl = true;\n                break;\n            case 'Meta':\n                source.meta = true;\n                break;\n        }\n        source.pressed.add(key);\n        const { modifiers } = source;\n        // --- Platform-specific code begins here ---\n        // The spread is a little hack so JS gives us an array of unicode characters\n        // to measure.\n        const unmodifiedText = getKeyEventUnmodifiedText(key, source);\n        const text = getKeyEventText(code ?? '', source) ?? unmodifiedText;\n        let command;\n        // The following commands need to be declared because Chromium doesn't\n        // handle them. See\n        // https://source.chromium.org/chromium/chromium/src/+/refs/heads/main:third_party/blink/renderer/core/editing/editing_behavior.cc;l=169;drc=b8143cf1dfd24842890fcd831c4f5d909bef4fc4;bpv=0;bpt=1.\n        if (this.#isMacOS && source.meta) {\n            switch (code) {\n                case 'KeyA':\n                    command = 'SelectAll';\n                    break;\n                case 'KeyC':\n                    command = 'Copy';\n                    break;\n                case 'KeyV':\n                    command = source.shift ? 'PasteAndMatchStyle' : 'Paste';\n                    break;\n                case 'KeyX':\n                    command = 'Cut';\n                    break;\n                case 'KeyZ':\n                    command = source.shift ? 'Redo' : 'Undo';\n                    break;\n                default:\n                // Intentionally empty.\n            }\n        }\n        const promises = [\n            this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchKeyEvent', {\n                type: text ? 'keyDown' : 'rawKeyDown',\n                windowsVirtualKeyCode: USKeyboardLayout_js_1.KeyToKeyCode[key],\n                key,\n                code,\n                text,\n                unmodifiedText,\n                autoRepeat: repeat,\n                isSystemKey: source.alt || undefined,\n                location: location < 3 ? location : undefined,\n                isKeypad: location === 3,\n                modifiers,\n                commands: command ? [command] : undefined,\n            }),\n        ];\n        // Drag cancelling happens on escape.\n        if (key === 'Escape') {\n            if (!source.alt &&\n                ((this.#isMacOS && !source.ctrl && !source.meta) || !this.#isMacOS)) {\n                promises.push(this.#context.cdpTarget.cdpClient.sendCommand('Input.cancelDragging'));\n            }\n        }\n        await Promise.all(promises);\n        // --- Platform-specific code ends here ---\n    }\n    #dispatchKeyUpAction(source, action) {\n        if ([...action.value].length > 1) {\n            throw new protocol_js_1.InvalidArgumentException(`Invalid key value: ${action.value}`);\n        }\n        const rawKey = action.value;\n        const key = (0, keyUtils_js_1.getNormalizedKey)(rawKey);\n        if (!source.pressed.has(key)) {\n            return;\n        }\n        const code = (0, keyUtils_js_1.getKeyCode)(rawKey);\n        const location = (0, keyUtils_js_1.getKeyLocation)(rawKey);\n        switch (key) {\n            case 'Alt':\n                source.alt = false;\n                break;\n            case 'Shift':\n                source.shift = false;\n                break;\n            case 'Control':\n                source.ctrl = false;\n                break;\n            case 'Meta':\n                source.meta = false;\n                break;\n        }\n        source.pressed.delete(key);\n        const { modifiers } = source;\n        // --- Platform-specific code begins here ---\n        // The spread is a little hack so JS gives us an array of unicode characters\n        // to measure.\n        const unmodifiedText = getKeyEventUnmodifiedText(key, source);\n        const text = getKeyEventText(code ?? '', source) ?? unmodifiedText;\n        return this.#context.cdpTarget.cdpClient.sendCommand('Input.dispatchKeyEvent', {\n            type: 'keyUp',\n            windowsVirtualKeyCode: USKeyboardLayout_js_1.KeyToKeyCode[key],\n            key,\n            code,\n            text,\n            unmodifiedText,\n            location: location < 3 ? location : undefined,\n            isSystemKey: source.alt || undefined,\n            isKeypad: location === 3,\n            modifiers,\n        });\n        // --- Platform-specific code ends here ---\n    }\n}\nexports.ActionDispatcher = ActionDispatcher;\nconst getKeyEventUnmodifiedText = (key, source) => {\n    if (key === 'Enter') {\n        return '\\r';\n    }\n    return [...key].length === 1\n        ? source.shift\n            ? key.toLocaleUpperCase('en-US')\n            : key\n        : undefined;\n};\nconst getKeyEventText = (code, source) => {\n    if (source.ctrl) {\n        switch (code) {\n            case 'Digit2':\n                if (source.shift) {\n                    return '\\x00';\n                }\n                break;\n            case 'KeyA':\n                return '\\x01';\n            case 'KeyB':\n                return '\\x02';\n            case 'KeyC':\n                return '\\x03';\n            case 'KeyD':\n                return '\\x04';\n            case 'KeyE':\n                return '\\x05';\n            case 'KeyF':\n                return '\\x06';\n            case 'KeyG':\n                return '\\x07';\n            case 'KeyH':\n                return '\\x08';\n            case 'KeyI':\n                return '\\x09';\n            case 'KeyJ':\n                return '\\x0A';\n            case 'KeyK':\n                return '\\x0B';\n            case 'KeyL':\n                return '\\x0C';\n            case 'KeyM':\n                return '\\x0D';\n            case 'KeyN':\n                return '\\x0E';\n            case 'KeyO':\n                return '\\x0F';\n            case 'KeyP':\n                return '\\x10';\n            case 'KeyQ':\n                return '\\x11';\n            case 'KeyR':\n                return '\\x12';\n            case 'KeyS':\n                return '\\x13';\n            case 'KeyT':\n                return '\\x14';\n            case 'KeyU':\n                return '\\x15';\n            case 'KeyV':\n                return '\\x16';\n            case 'KeyW':\n                return '\\x17';\n            case 'KeyX':\n                return '\\x18';\n            case 'KeyY':\n                return '\\x19';\n            case 'KeyZ':\n                return '\\x1A';\n            case 'BracketLeft':\n                return '\\x1B';\n            case 'Backslash':\n                return '\\x1C';\n            case 'BracketRight':\n                return '\\x1D';\n            case 'Digit6':\n                if (source.shift) {\n                    return '\\x1E';\n                }\n                break;\n            case 'Minus':\n                return '\\x1F';\n        }\n        return '';\n    }\n    if (source.alt) {\n        return '';\n    }\n    return;\n};\nfunction getCdpButton(button) {\n    switch (button) {\n        case 0:\n            return 'left';\n        case 1:\n            return 'middle';\n        case 2:\n            return 'right';\n        case 3:\n            return 'back';\n        case 4:\n            return 'forward';\n        default:\n            return 'none';\n    }\n}\n//# sourceMappingURL=ActionDispatcher.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.InputProcessor = void 0;\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst InputStateManager_js_1 = require(\"../input/InputStateManager.js\");\nconst ActionDispatcher_js_1 = require(\"../input/ActionDispatcher.js\");\nclass InputProcessor {\n    #browsingContextStorage;\n    #inputStateManager = new InputStateManager_js_1.InputStateManager();\n    constructor(browsingContextStorage) {\n        this.#browsingContextStorage = browsingContextStorage;\n    }\n    static create(browsingContextStorage) {\n        return new InputProcessor(browsingContextStorage);\n    }\n    async performActions(params) {\n        const context = this.#browsingContextStorage.getContext(params.context);\n        const inputState = this.#inputStateManager.get(context.top);\n        const actionsByTick = this.#getActionsByTick(params, inputState);\n        const dispatcher = new ActionDispatcher_js_1.ActionDispatcher(inputState, context, await ActionDispatcher_js_1.ActionDispatcher.isMacOS(context).catch(() => false));\n        await dispatcher.dispatchActions(actionsByTick);\n        return {};\n    }\n    async releaseActions(params) {\n        const context = this.#browsingContextStorage.getContext(params.context);\n        const topContext = context.top;\n        const inputState = this.#inputStateManager.get(topContext);\n        const dispatcher = new ActionDispatcher_js_1.ActionDispatcher(inputState, context, await ActionDispatcher_js_1.ActionDispatcher.isMacOS(context).catch(() => false));\n        await dispatcher.dispatchTickActions(inputState.cancelList.reverse());\n        this.#inputStateManager.delete(topContext);\n        return {};\n    }\n    #getActionsByTick(params, inputState) {\n        const actionsByTick = [];\n        for (const action of params.actions) {\n            switch (action.type) {\n                case \"pointer\" /* SourceType.Pointer */: {\n                    action.parameters ??= { pointerType: \"mouse\" /* Input.PointerType.Mouse */ };\n                    action.parameters.pointerType ??= \"mouse\" /* Input.PointerType.Mouse */;\n                    const source = inputState.getOrCreate(action.id, \"pointer\" /* SourceType.Pointer */, action.parameters.pointerType);\n                    if (source.subtype !== action.parameters.pointerType) {\n                        throw new protocol_js_1.InvalidArgumentException(`Expected input source ${action.id} to be ${source.subtype}; got ${action.parameters.pointerType}.`);\n                    }\n                    break;\n                }\n                default:\n                    inputState.getOrCreate(action.id, action.type);\n            }\n            const actions = action.actions.map((item) => ({\n                id: action.id,\n                action: item,\n            }));\n            for (let i = 0; i < actions.length; i++) {\n                if (actionsByTick.length === i) {\n                    actionsByTick.push([]);\n                }\n                actionsByTick[i].push(actions[i]);\n            }\n        }\n        return actionsByTick;\n    }\n}\nexports.InputProcessor = InputProcessor;\n//# sourceMappingURL=InputProcessor.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PreloadScriptStorage = void 0;\n/**\n * Container class for preload scripts.\n */\nclass PreloadScriptStorage {\n    /** Tracks all BiDi preload scripts.  */\n    #scripts = new Set();\n    /** Finds all entries that match the given filter. */\n    findPreloadScripts(filter) {\n        if (!filter) {\n            return [...this.#scripts];\n        }\n        return [...this.#scripts].filter((script) => {\n            if (filter.id !== undefined && filter.id !== script.id) {\n                return false;\n            }\n            if (filter.targetId !== undefined &&\n                !script.targetIds.has(filter.targetId)) {\n                return false;\n            }\n            return true;\n        });\n    }\n    addPreloadScript(preloadScript) {\n        this.#scripts.add(preloadScript);\n    }\n    /** Deletes all BiDi preload script entries that match the given filter. */\n    removeBiDiPreloadScripts(filter) {\n        for (const preloadScript of this.findPreloadScripts(filter)) {\n            this.#scripts.delete(preloadScript);\n        }\n    }\n}\nexports.PreloadScriptStorage = PreloadScriptStorage;\n//# sourceMappingURL=PreloadScriptStorage.js.map","\"use strict\";\n/*\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BidiPreloadScript = void 0;\nconst uuid_js_1 = require(\"../../../utils/uuid.js\");\nconst channelProxy_js_1 = require(\"./channelProxy.js\");\n/**\n * BiDi IDs are generated by the server and are unique within contexts.\n *\n * CDP preload script IDs are generated by the client and are unique\n * within sessions.\n *\n * The mapping between BiDi and CDP preload script IDs is 1:many.\n * BiDi IDs are needed by the mapper to keep track of potential multiple CDP IDs\n * in the client.\n */\nclass BidiPreloadScript {\n    /** BiDi ID, an automatically generated UUID. */\n    #id = (0, uuid_js_1.uuidv4)();\n    /** CDP preload scripts. */\n    #cdpPreloadScripts = [];\n    /** The script itself, in a format expected by the spec i.e. a function. */\n    #functionDeclaration;\n    /** Targets, in which the preload script is initialized. */\n    #targetIds = new Set();\n    /** Channels to be added as arguments to functionDeclaration. */\n    #channels;\n    /** The script sandbox / world name. */\n    #sandbox;\n    get id() {\n        return this.#id;\n    }\n    get targetIds() {\n        return this.#targetIds;\n    }\n    constructor(params) {\n        this.#channels =\n            params.arguments?.map((a) => new channelProxy_js_1.ChannelProxy(a.value)) ?? [];\n        this.#functionDeclaration = params.functionDeclaration;\n        this.#sandbox = params.sandbox;\n    }\n    /** Channels of the preload script. */\n    get channels() {\n        return this.#channels;\n    }\n    /**\n     * String to be evaluated. Wraps user-provided function so that the following\n     * steps are run:\n     * 1. Create channels.\n     * 2. Store the created channels in window.\n     * 3. Call the user-provided function with channels as arguments.\n     */\n    #getEvaluateString() {\n        const channelsArgStr = `[${this.channels\n            .map((c) => c.getEvalInWindowStr())\n            .join(', ')}]`;\n        return `(()=>{(${this.#functionDeclaration})(...${channelsArgStr})})()`;\n    }\n    /**\n     * Adds the script to the given CDP targets by calling the\n     * `Page.addScriptToEvaluateOnNewDocument` command.\n     */\n    async initInTargets(cdpTargets, runImmediately) {\n        await Promise.all(Array.from(cdpTargets).map((cdpTarget) => this.initInTarget(cdpTarget, runImmediately)));\n    }\n    /**\n     * Adds the script to the given CDP target by calling the\n     * `Page.addScriptToEvaluateOnNewDocument` command.\n     */\n    async initInTarget(cdpTarget, runImmediately) {\n        const addCdpPreloadScriptResult = await cdpTarget.cdpClient.sendCommand('Page.addScriptToEvaluateOnNewDocument', {\n            source: this.#getEvaluateString(),\n            worldName: this.#sandbox,\n            runImmediately,\n        });\n        this.#cdpPreloadScripts.push({\n            target: cdpTarget,\n            preloadScriptId: addCdpPreloadScriptResult.identifier,\n        });\n        this.#targetIds.add(cdpTarget.targetId);\n    }\n    /**\n     * Removes this script from all CDP targets.\n     */\n    async remove() {\n        for (const cdpPreloadScript of this.#cdpPreloadScripts) {\n            const cdpTarget = cdpPreloadScript.target;\n            const cdpPreloadScriptId = cdpPreloadScript.preloadScriptId;\n            await cdpTarget.cdpClient.sendCommand('Page.removeScriptToEvaluateOnNewDocument', {\n                identifier: cdpPreloadScriptId,\n            });\n        }\n    }\n    /** Removes the provided cdp target from the list of cdp preload scripts. */\n    dispose(cdpTargetId) {\n        this.#cdpPreloadScripts = this.#cdpPreloadScripts.filter((cdpPreloadScript) => cdpPreloadScript.target?.targetId !== cdpTargetId);\n        this.#targetIds.delete(cdpTargetId);\n    }\n}\nexports.BidiPreloadScript = BidiPreloadScript;\n//# sourceMappingURL=bidiPreloadScript.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ScriptProcessor = void 0;\nconst protocol_1 = require(\"../../../protocol/protocol\");\nconst bidiPreloadScript_1 = require(\"./bidiPreloadScript\");\nclass ScriptProcessor {\n    #browsingContextStorage;\n    #realmStorage;\n    #preloadScriptStorage;\n    constructor(browsingContextStorage, realmStorage, preloadScriptStorage) {\n        this.#browsingContextStorage = browsingContextStorage;\n        this.#realmStorage = realmStorage;\n        this.#preloadScriptStorage = preloadScriptStorage;\n    }\n    async addPreloadScript(params) {\n        const preloadScript = new bidiPreloadScript_1.BidiPreloadScript(params);\n        this.#preloadScriptStorage.addPreloadScript(preloadScript);\n        const cdpTargets = new Set(this.#browsingContextStorage\n            .getTopLevelContexts()\n            .map((context) => context.cdpTarget));\n        await preloadScript.initInTargets(cdpTargets, false);\n        return {\n            script: preloadScript.id,\n        };\n    }\n    async removePreloadScript(params) {\n        const bidiId = params.script;\n        const scripts = this.#preloadScriptStorage.findPreloadScripts({\n            id: bidiId,\n        });\n        if (scripts.length === 0) {\n            throw new protocol_1.NoSuchScriptException(`No preload script with BiDi ID '${bidiId}'`);\n        }\n        await Promise.all(scripts.map((script) => script.remove()));\n        this.#preloadScriptStorage.removeBiDiPreloadScripts({\n            id: bidiId,\n        });\n        return {};\n    }\n    async callFunction(params) {\n        const realm = await this.#getRealm(params.target);\n        return realm.callFunction(params.functionDeclaration, params.this ?? {\n            type: 'undefined',\n        }, // `this` is `undefined` by default.\n        params.arguments ?? [], // `arguments` is `[]` by default.\n        params.awaitPromise, params.resultOwnership ?? \"none\" /* Script.ResultOwnership.None */, params.serializationOptions ?? {}, params.userActivation ?? false);\n    }\n    async evaluate(params) {\n        const realm = await this.#getRealm(params.target);\n        return realm.evaluate(params.expression, params.awaitPromise, params.resultOwnership ?? \"none\" /* Script.ResultOwnership.None */, params.serializationOptions ?? {}, params.userActivation ?? false);\n    }\n    async disown(params) {\n        const realm = await this.#getRealm(params.target);\n        await Promise.all(params.handles.map(async (handle) => realm.disown(handle)));\n        return {};\n    }\n    getRealms(params) {\n        if (params.context !== undefined) {\n            // Make sure the context is known.\n            this.#browsingContextStorage.getContext(params.context);\n        }\n        const realms = this.#realmStorage\n            .findRealms({\n            browsingContextId: params.context,\n            type: params.type,\n        })\n            .map((realm) => realm.realmInfo);\n        return { realms };\n    }\n    async #getRealm(target) {\n        if ('realm' in target) {\n            return this.#realmStorage.getRealm({\n                realmId: target.realm,\n            });\n        }\n        const context = this.#browsingContextStorage.getContext(target.context);\n        return context.getOrCreateSandbox(target.sandbox);\n    }\n}\nexports.ScriptProcessor = ScriptProcessor;\n//# sourceMappingURL=ScriptProcessor.js.map","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SessionProcessor = void 0;\nclass SessionProcessor {\n    #eventManager;\n    constructor(eventManager) {\n        this.#eventManager = eventManager;\n    }\n    status() {\n        return { ready: false, message: 'already connected' };\n    }\n    async subscribe(params, channel = null) {\n        await this.#eventManager.subscribe(params.events, params.contexts ?? [null], channel);\n        return {};\n    }\n    async unsubscribe(params, channel = null) {\n        await this.#eventManager.unsubscribe(params.events, params.contexts ?? [null], channel);\n        return {};\n    }\n}\nexports.SessionProcessor = SessionProcessor;\n//# sourceMappingURL=SessionProcessor.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CommandProcessor = void 0;\nconst protocol_js_1 = require(\"../protocol/protocol.js\");\nconst EventEmitter_js_1 = require(\"../utils/EventEmitter.js\");\nconst log_js_1 = require(\"../utils/log.js\");\nconst BidiNoOpParser_js_1 = require(\"./BidiNoOpParser.js\");\nconst OutgoingBidiMessage_js_1 = require(\"./OutgoingBidiMessage.js\");\nconst BrowserProcessor_js_1 = require(\"./domains/browser/BrowserProcessor.js\");\nconst CdpProcessor_js_1 = require(\"./domains/cdp/CdpProcessor.js\");\nconst browsingContextProcessor_js_1 = require(\"./domains/context/browsingContextProcessor.js\");\nconst InputProcessor_js_1 = require(\"./domains/input/InputProcessor.js\");\nconst PreloadScriptStorage_js_1 = require(\"./domains/script/PreloadScriptStorage.js\");\nconst ScriptProcessor_js_1 = require(\"./domains/script/ScriptProcessor.js\");\nconst SessionProcessor_js_1 = require(\"./domains/session/SessionProcessor.js\");\nclass CommandProcessor extends EventEmitter_js_1.EventEmitter {\n    #browserProcessor;\n    #browsingContextProcessor;\n    #inputProcessor;\n    #scriptProcessor;\n    #sessionProcessor;\n    #cdpProcessor;\n    #parser;\n    #logger;\n    constructor(cdpConnection, eventManager, selfTargetId, browsingContextStorage, realmStorage, parser = new BidiNoOpParser_js_1.BidiNoOpParser(), logger) {\n        super();\n        this.#parser = parser;\n        this.#logger = logger;\n        const preloadScriptStorage = new PreloadScriptStorage_js_1.PreloadScriptStorage();\n        this.#browserProcessor = new BrowserProcessor_js_1.BrowserProcessor(cdpConnection);\n        this.#browsingContextProcessor = new browsingContextProcessor_js_1.BrowsingContextProcessor(cdpConnection, selfTargetId, eventManager, browsingContextStorage, realmStorage, preloadScriptStorage, logger);\n        this.#inputProcessor = InputProcessor_js_1.InputProcessor.create(browsingContextStorage);\n        this.#scriptProcessor = new ScriptProcessor_js_1.ScriptProcessor(browsingContextStorage, realmStorage, preloadScriptStorage);\n        this.#sessionProcessor = new SessionProcessor_js_1.SessionProcessor(eventManager);\n        this.#cdpProcessor = new CdpProcessor_js_1.CdpProcessor(browsingContextStorage, cdpConnection);\n    }\n    async #processCommand(command) {\n        switch (command.method) {\n            case 'session.end':\n            case 'session.new':\n                // TODO: Implement.\n                break;\n            // Browser domain\n            // keep-sorted start block=yes\n            case 'browser.close':\n                return this.#browserProcessor.close();\n            // keep-sorted end\n            // Browsing Context domain\n            // keep-sorted start block=yes\n            case 'browsingContext.activate':\n                return this.#browsingContextProcessor.activate(this.#parser.parseActivateParams(command.params));\n            case 'browsingContext.captureScreenshot':\n                return this.#browsingContextProcessor.captureScreenshot(this.#parser.parseCaptureScreenshotParams(command.params));\n            case 'browsingContext.close':\n                return this.#browsingContextProcessor.close(this.#parser.parseCloseParams(command.params));\n            case 'browsingContext.create':\n                return this.#browsingContextProcessor.create(this.#parser.parseCreateParams(command.params));\n            case 'browsingContext.getTree':\n                return this.#browsingContextProcessor.getTree(this.#parser.parseGetTreeParams(command.params));\n            case 'browsingContext.handleUserPrompt':\n                return this.#browsingContextProcessor.handleUserPrompt(this.#parser.parseHandleUserPromptParams(command.params));\n            case 'browsingContext.navigate':\n                return this.#browsingContextProcessor.navigate(this.#parser.parseNavigateParams(command.params));\n            case 'browsingContext.print':\n                return this.#browsingContextProcessor.print(this.#parser.parsePrintParams(command.params));\n            case 'browsingContext.reload':\n                return this.#browsingContextProcessor.reload(this.#parser.parseReloadParams(command.params));\n            case 'browsingContext.setViewport':\n                return this.#browsingContextProcessor.setViewport(this.#parser.parseSetViewportParams(command.params));\n            // keep-sorted end\n            // CDP domain\n            // keep-sorted start block=yes\n            case 'cdp.getSession':\n                return this.#cdpProcessor.getSession(this.#parser.parseGetSessionParams(command.params));\n            case 'cdp.sendCommand':\n                return this.#cdpProcessor.sendCommand(this.#parser.parseSendCommandParams(command.params));\n            // keep-sorted end\n            // Input domain\n            // keep-sorted start block=yes\n            case 'input.performActions':\n                return this.#inputProcessor.performActions(this.#parser.parsePerformActionsParams(command.params));\n            case 'input.releaseActions':\n                return this.#inputProcessor.releaseActions(this.#parser.parseReleaseActionsParams(command.params));\n            // keep-sorted end\n            // Script domain\n            // keep-sorted start block=yes\n            case 'script.addPreloadScript':\n                return this.#scriptProcessor.addPreloadScript(this.#parser.parseAddPreloadScriptParams(command.params));\n            case 'script.callFunction':\n                return this.#scriptProcessor.callFunction(this.#parser.parseCallFunctionParams(command.params));\n            case 'script.disown':\n                return this.#scriptProcessor.disown(this.#parser.parseDisownParams(command.params));\n            case 'script.evaluate':\n                return this.#scriptProcessor.evaluate(this.#parser.parseEvaluateParams(command.params));\n            case 'script.getRealms':\n                return this.#scriptProcessor.getRealms(this.#parser.parseGetRealmsParams(command.params));\n            case 'script.removePreloadScript':\n                return this.#scriptProcessor.removePreloadScript(this.#parser.parseRemovePreloadScriptParams(command.params));\n            // keep-sorted end\n            // Session domain\n            // keep-sorted start block=yes\n            case 'session.status':\n                return this.#sessionProcessor.status();\n            case 'session.subscribe':\n                return this.#sessionProcessor.subscribe(this.#parser.parseSubscribeParams(command.params), command.channel);\n            case 'session.unsubscribe':\n                return this.#sessionProcessor.unsubscribe(this.#parser.parseSubscribeParams(command.params), command.channel);\n            // keep-sorted end\n        }\n        // Intentionally kept outside of the switch statement to ensure that\n        // ESLint @typescript-eslint/switch-exhaustiveness-check triggers if a new\n        // command is added.\n        throw new protocol_js_1.UnknownCommandException(`Unknown command '${command.method}'.`);\n    }\n    async processCommand(command) {\n        try {\n            const result = await this.#processCommand(command);\n            const response = {\n                type: 'success',\n                id: command.id,\n                result,\n            };\n            this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(response, command.channel));\n        }\n        catch (e) {\n            if (e instanceof protocol_js_1.Exception) {\n                const errorResponse = e;\n                this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(errorResponse.toErrorResponse(command.id), command.channel));\n            }\n            else {\n                const error = e;\n                this.#logger?.(log_js_1.LogType.bidi, error);\n                this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(new protocol_js_1.UnknownErrorException(error.message, error.stack).toErrorResponse(command.id), command.channel));\n            }\n        }\n    }\n}\nexports.CommandProcessor = CommandProcessor;\n//# sourceMappingURL=CommandProcessor.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowsingContextStorage = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\n/** Container class for browsing contexts. */\nclass BrowsingContextStorage {\n    /** Map from context ID to context implementation. */\n    #contexts = new Map();\n    /** Gets all top-level contexts, i.e. those with no parent. */\n    getTopLevelContexts() {\n        return this.getAllContexts().filter((context) => context.isTopLevelContext());\n    }\n    /** Gets all contexts. */\n    getAllContexts() {\n        return Array.from(this.#contexts.values());\n    }\n    /** Deletes the context with the given ID. */\n    deleteContextById(id) {\n        this.#contexts.delete(id);\n    }\n    /** Deletes the given context. */\n    deleteContext(context) {\n        this.#contexts.delete(context.id);\n    }\n    /** Tracks the given context. */\n    addContext(context) {\n        this.#contexts.set(context.id, context);\n    }\n    /** Returns true whether there is an existing context with the given ID. */\n    hasContext(id) {\n        return this.#contexts.has(id);\n    }\n    /** Gets the context with the given ID, if any. */\n    findContext(id) {\n        return this.#contexts.get(id);\n    }\n    /** Returns the top-level context ID of the given context, if any. */\n    findTopLevelContextId(id) {\n        if (id === null) {\n            return null;\n        }\n        const maybeContext = this.findContext(id);\n        const parentId = maybeContext?.parentId ?? null;\n        if (parentId === null) {\n            return id;\n        }\n        return this.findTopLevelContextId(parentId);\n    }\n    /** Gets the context with the given ID, if any, otherwise throws. */\n    getContext(id) {\n        const result = this.findContext(id);\n        if (result === undefined) {\n            throw new protocol_js_1.NoSuchFrameException(`Context ${id} not found`);\n        }\n        return result;\n    }\n}\nexports.BrowsingContextStorage = BrowsingContextStorage;\n//# sourceMappingURL=browsingContextStorage.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Buffer = void 0;\n/** Implements a FIFO buffer with a fixed size. */\nclass Buffer {\n    #capacity;\n    #entries = [];\n    #onItemRemoved;\n    /**\n     * @param capacity The buffer capacity.\n     * @param onItemRemoved Delegate called for each removed element.\n     */\n    constructor(capacity, onItemRemoved) {\n        this.#capacity = capacity;\n        this.#onItemRemoved = onItemRemoved;\n    }\n    get() {\n        return this.#entries;\n    }\n    add(value) {\n        this.#entries.push(value);\n        while (this.#entries.length > this.#capacity) {\n            const item = this.#entries.shift();\n            if (item !== undefined) {\n                this.#onItemRemoved?.(item);\n            }\n        }\n    }\n}\nexports.Buffer = Buffer;\n//# sourceMappingURL=buffer.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IdWrapper = void 0;\n/**\n * Creates an object with a positive unique incrementing id.\n */\nclass IdWrapper {\n    static #counter = 0;\n    #id;\n    constructor() {\n        this.#id = ++IdWrapper.#counter;\n    }\n    get id() {\n        return this.#id;\n    }\n}\nexports.IdWrapper = IdWrapper;\n//# sourceMappingURL=idWrapper.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SubscriptionManager = exports.unrollEvents = exports.cartesianProduct = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\n/**\n * Returns the cartesian product of the given arrays.\n *\n * Example:\n *   cartesian([1, 2], ['a', 'b']); => [[1, 'a'], [1, 'b'], [2, 'a'], [2, 'b']]\n */\nfunction cartesianProduct(...a) {\n    return a.reduce((a, b) => a.flatMap((d) => b.map((e) => [d, e].flat())));\n}\nexports.cartesianProduct = cartesianProduct;\n/** Expands \"AllEvents\" events into atomic events. */\nfunction unrollEvents(events) {\n    const allEvents = new Set();\n    function addEvents(events) {\n        for (const event of events) {\n            allEvents.add(event);\n        }\n    }\n    for (const event of events) {\n        switch (event) {\n            case protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.AllBrowsingContextEvent:\n                addEvents(Object.values(protocol_js_1.ChromiumBidi.BrowsingContext.EventNames).filter((name) => name !==\n                    protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.AllBrowsingContextEvent));\n                break;\n            case protocol_js_1.ChromiumBidi.Log.EventNames.AllLogEvent:\n                addEvents(Object.values(protocol_js_1.ChromiumBidi.Log.EventNames).filter((name) => name !== protocol_js_1.ChromiumBidi.Log.EventNames.AllLogEvent));\n                break;\n            case protocol_js_1.ChromiumBidi.Network.EventNames.AllNetworkEvent:\n                addEvents(Object.values(protocol_js_1.ChromiumBidi.Network.EventNames).filter((name) => name !== protocol_js_1.ChromiumBidi.Network.EventNames.AllNetworkEvent));\n                break;\n            case protocol_js_1.ChromiumBidi.Script.EventNames.AllScriptEvent:\n                addEvents(Object.values(protocol_js_1.ChromiumBidi.Script.EventNames).filter((name) => name !== protocol_js_1.ChromiumBidi.Script.EventNames.AllScriptEvent));\n                break;\n            default:\n                allEvents.add(event);\n        }\n    }\n    return [...allEvents.values()];\n}\nexports.unrollEvents = unrollEvents;\nclass SubscriptionManager {\n    #subscriptionPriority = 0;\n    // BrowsingContext `null` means the event has subscription across all the\n    // browsing contexts.\n    // Channel `null` means no `channel` should be added.\n    #channelToContextToEventMap = new Map();\n    #browsingContextStorage;\n    constructor(browsingContextStorage) {\n        this.#browsingContextStorage = browsingContextStorage;\n    }\n    getChannelsSubscribedToEvent(eventMethod, contextId) {\n        const prioritiesAndChannels = Array.from(this.#channelToContextToEventMap.keys())\n            .map((channel) => ({\n            priority: this.#getEventSubscriptionPriorityForChannel(eventMethod, contextId, channel),\n            channel,\n        }))\n            .filter(({ priority }) => priority !== null);\n        // Sort channels by priority.\n        return prioritiesAndChannels\n            .sort((a, b) => a.priority - b.priority)\n            .map(({ channel }) => channel);\n    }\n    #getEventSubscriptionPriorityForChannel(eventMethod, contextId, channel) {\n        const contextToEventMap = this.#channelToContextToEventMap.get(channel);\n        if (contextToEventMap === undefined) {\n            return null;\n        }\n        const maybeTopLevelContextId = this.#browsingContextStorage.findTopLevelContextId(contextId);\n        // `null` covers global subscription.\n        const relevantContexts = [...new Set([null, maybeTopLevelContextId])];\n        // Get all the subscription priorities.\n        const priorities = relevantContexts\n            .map((c) => contextToEventMap.get(c)?.get(eventMethod))\n            .filter((p) => p !== undefined);\n        if (priorities.length === 0) {\n            // Not subscribed, return null.\n            return null;\n        }\n        // Return minimal priority.\n        return Math.min(...priorities);\n    }\n    subscribe(event, contextId, channel) {\n        // All the subscriptions are handled on the top-level contexts.\n        contextId = this.#browsingContextStorage.findTopLevelContextId(contextId);\n        switch (event) {\n            case protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.AllBrowsingContextEvent:\n                Object.values(protocol_js_1.ChromiumBidi.BrowsingContext.EventNames)\n                    .filter((name) => name !==\n                    protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.AllBrowsingContextEvent)\n                    .map((specificEvent) => this.subscribe(specificEvent, contextId, channel));\n                return;\n            case protocol_js_1.ChromiumBidi.Log.EventNames.AllLogEvent:\n                Object.values(protocol_js_1.ChromiumBidi.Log.EventNames)\n                    .filter((name) => name !== protocol_js_1.ChromiumBidi.Log.EventNames.AllLogEvent)\n                    .map((specificEvent) => this.subscribe(specificEvent, contextId, channel));\n                return;\n            case protocol_js_1.ChromiumBidi.Network.EventNames.AllNetworkEvent:\n                Object.values(protocol_js_1.ChromiumBidi.Network.EventNames)\n                    .filter((name) => name !== protocol_js_1.ChromiumBidi.Network.EventNames.AllNetworkEvent)\n                    .map((specificEvent) => this.subscribe(specificEvent, contextId, channel));\n                return;\n            case protocol_js_1.ChromiumBidi.Script.EventNames.AllScriptEvent:\n                Object.values(protocol_js_1.ChromiumBidi.Script.EventNames)\n                    .filter((name) => name !== protocol_js_1.ChromiumBidi.Script.EventNames.AllScriptEvent)\n                    .map((specificEvent) => this.subscribe(specificEvent, contextId, channel));\n                return;\n            default:\n            // Intentionally left empty.\n        }\n        if (!this.#channelToContextToEventMap.has(channel)) {\n            this.#channelToContextToEventMap.set(channel, new Map());\n        }\n        const contextToEventMap = this.#channelToContextToEventMap.get(channel);\n        if (!contextToEventMap.has(contextId)) {\n            contextToEventMap.set(contextId, new Map());\n        }\n        const eventMap = contextToEventMap.get(contextId);\n        // Do not re-subscribe to events to keep the priority.\n        if (eventMap.has(event)) {\n            return;\n        }\n        eventMap.set(event, this.#subscriptionPriority++);\n    }\n    /**\n     * Unsubscribes atomically from all events in the given contexts and channel.\n     */\n    unsubscribeAll(events, contextIds, channel) {\n        // Assert all contexts are known.\n        for (const contextId of contextIds) {\n            if (contextId !== null) {\n                this.#browsingContextStorage.getContext(contextId);\n            }\n        }\n        const eventContextPairs = cartesianProduct(unrollEvents(events), contextIds);\n        // Assert all unsubscriptions are valid.\n        // If any of the unsubscriptions are invalid, do not unsubscribe from anything.\n        eventContextPairs\n            .map(([event, contextId]) => this.#checkUnsubscribe(event, contextId, channel))\n            .forEach((unsubscribe) => unsubscribe());\n    }\n    /**\n     * Unsubscribes from the event in the given context and channel.\n     * Syntactic sugar for \"unsubscribeAll\".\n     */\n    unsubscribe(eventName, contextId, channel) {\n        this.unsubscribeAll([eventName], [contextId], channel);\n    }\n    #checkUnsubscribe(event, contextId, channel) {\n        // All the subscriptions are handled on the top-level contexts.\n        contextId = this.#browsingContextStorage.findTopLevelContextId(contextId);\n        if (!this.#channelToContextToEventMap.has(channel)) {\n            throw new protocol_js_1.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);\n        }\n        const contextToEventMap = this.#channelToContextToEventMap.get(channel);\n        if (!contextToEventMap.has(contextId)) {\n            throw new protocol_js_1.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);\n        }\n        const eventMap = contextToEventMap.get(contextId);\n        if (!eventMap.has(event)) {\n            throw new protocol_js_1.InvalidArgumentException(`Cannot unsubscribe from ${event}, ${contextId === null ? 'null' : contextId}. No subscription found.`);\n        }\n        return () => {\n            eventMap.delete(event);\n            // Clean up maps if empty.\n            if (eventMap.size === 0) {\n                contextToEventMap.delete(event);\n            }\n            if (contextToEventMap.size === 0) {\n                this.#channelToContextToEventMap.delete(channel);\n            }\n        };\n    }\n}\nexports.SubscriptionManager = SubscriptionManager;\n//# sourceMappingURL=SubscriptionManager.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventManager = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\nconst DefaultMap_js_1 = require(\"../../../utils/DefaultMap.js\");\nconst buffer_js_1 = require(\"../../../utils/buffer.js\");\nconst idWrapper_js_1 = require(\"../../../utils/idWrapper.js\");\nconst OutgoingBidiMessage_js_1 = require(\"../../OutgoingBidiMessage.js\");\nconst SubscriptionManager_js_1 = require(\"./SubscriptionManager.js\");\nclass EventWrapper {\n    #idWrapper = new idWrapper_js_1.IdWrapper();\n    #contextId;\n    #event;\n    constructor(event, contextId) {\n        this.#event = event;\n        this.#contextId = contextId;\n    }\n    get id() {\n        return this.#idWrapper.id;\n    }\n    get contextId() {\n        return this.#contextId;\n    }\n    get event() {\n        return this.#event;\n    }\n}\n/**\n * Maps event name to a desired buffer length.\n */\nconst eventBufferLength = new Map([[protocol_js_1.ChromiumBidi.Log.EventNames.LogEntryAddedEvent, 100]]);\nclass EventManager {\n    /**\n     * Maps event name to a set of contexts where this event already happened.\n     * Needed for getting buffered events from all the contexts in case of\n     * subscripting to all contexts.\n     */\n    #eventToContextsMap = new DefaultMap_js_1.DefaultMap(() => new Set());\n    /**\n     * Maps `eventName` + `browsingContext` to buffer. Used to get buffered events\n     * during subscription. Channel-agnostic.\n     */\n    #eventBuffers = new Map();\n    /**\n     * Maps `eventName` + `browsingContext` + `channel` to last sent event id.\n     * Used to avoid sending duplicated events when user\n     * subscribes -> unsubscribes -> subscribes.\n     */\n    #lastMessageSent = new Map();\n    #subscriptionManager;\n    #bidiServer;\n    constructor(bidiServer) {\n        this.#bidiServer = bidiServer;\n        this.#subscriptionManager = new SubscriptionManager_js_1.SubscriptionManager(bidiServer.getBrowsingContextStorage());\n    }\n    /**\n     * Returns consistent key to be used to access value maps.\n     */\n    static #getMapKey(eventName, browsingContext, channel) {\n        return JSON.stringify({ eventName, browsingContext, channel });\n    }\n    registerEvent(event, contextId) {\n        this.registerPromiseEvent(Promise.resolve({\n            kind: 'success',\n            value: event,\n        }), contextId, event.method);\n    }\n    registerPromiseEvent(event, contextId, eventName) {\n        const eventWrapper = new EventWrapper(event, contextId);\n        const sortedChannels = this.#subscriptionManager.getChannelsSubscribedToEvent(eventName, contextId);\n        this.#bufferEvent(eventWrapper, eventName);\n        // Send events to channels in the subscription priority.\n        for (const channel of sortedChannels) {\n            this.#bidiServer.emitOutgoingMessage(OutgoingBidiMessage_js_1.OutgoingBidiMessage.createFromPromise(event, channel));\n            this.#markEventSent(eventWrapper, channel, eventName);\n        }\n    }\n    subscribe(eventNames, contextIds, channel) {\n        for (const name of eventNames) {\n            checkEventName(name);\n        }\n        // First check if all the contexts are known.\n        for (const contextId of contextIds) {\n            if (contextId !== null) {\n                // Assert the context is known. Throw exception otherwise.\n                this.#bidiServer.getBrowsingContextStorage().getContext(contextId);\n            }\n        }\n        for (const eventName of eventNames) {\n            for (const contextId of contextIds) {\n                this.#subscriptionManager.subscribe(eventName, contextId, channel);\n                for (const eventWrapper of this.#getBufferedEvents(eventName, contextId, channel)) {\n                    // The order of the events is important.\n                    this.#bidiServer.emitOutgoingMessage(OutgoingBidiMessage_js_1.OutgoingBidiMessage.createFromPromise(eventWrapper.event, channel));\n                    this.#markEventSent(eventWrapper, channel, eventName);\n                }\n            }\n        }\n    }\n    unsubscribe(eventNames, contextIds, channel) {\n        for (const name of eventNames) {\n            checkEventName(name);\n        }\n        this.#subscriptionManager.unsubscribeAll(eventNames, contextIds, channel);\n    }\n    /**\n     * If the event is buffer-able, put it in the buffer.\n     */\n    #bufferEvent(eventWrapper, eventName) {\n        if (!eventBufferLength.has(eventName)) {\n            // Do nothing if the event is no buffer-able.\n            return;\n        }\n        const bufferMapKey = EventManager.#getMapKey(eventName, eventWrapper.contextId);\n        if (!this.#eventBuffers.has(bufferMapKey)) {\n            this.#eventBuffers.set(bufferMapKey, new buffer_js_1.Buffer(eventBufferLength.get(eventName)));\n        }\n        this.#eventBuffers.get(bufferMapKey).add(eventWrapper);\n        // Add the context to the list of contexts having `eventName` events.\n        this.#eventToContextsMap.get(eventName).add(eventWrapper.contextId);\n    }\n    /**\n     * If the event is buffer-able, mark it as sent to the given contextId and channel.\n     */\n    #markEventSent(eventWrapper, channel, eventName) {\n        if (!eventBufferLength.has(eventName)) {\n            // Do nothing if the event is no buffer-able.\n            return;\n        }\n        const lastSentMapKey = EventManager.#getMapKey(eventName, eventWrapper.contextId, channel);\n        this.#lastMessageSent.set(lastSentMapKey, Math.max(this.#lastMessageSent.get(lastSentMapKey) ?? 0, eventWrapper.id));\n    }\n    /**\n     * Returns events which are buffered and not yet sent to the given channel events.\n     */\n    #getBufferedEvents(eventName, contextId, channel) {\n        const bufferMapKey = EventManager.#getMapKey(eventName, contextId);\n        const lastSentMapKey = EventManager.#getMapKey(eventName, contextId, channel);\n        const lastSentMessageId = this.#lastMessageSent.get(lastSentMapKey) ?? -Infinity;\n        const result = this.#eventBuffers\n            .get(bufferMapKey)\n            ?.get()\n            .filter((wrapper) => wrapper.id > lastSentMessageId) ?? [];\n        if (contextId === null) {\n            // For global subscriptions, events buffered in each context should be sent back.\n            Array.from(this.#eventToContextsMap.get(eventName).keys())\n                .filter((_contextId) => \n            // Events without context are already in the result.\n            _contextId !== null &&\n                // Events from deleted contexts should not be sent.\n                this.#bidiServer.getBrowsingContextStorage().hasContext(_contextId))\n                .map((_contextId) => this.#getBufferedEvents(eventName, _contextId, channel))\n                .forEach((events) => result.push(...events));\n        }\n        return result.sort((e1, e2) => e1.id - e2.id);\n    }\n}\nexports.EventManager = EventManager;\nconst EVENT_NAMES = new Set([\n    // keep-sorted start\n    ...Object.values(protocol_js_1.ChromiumBidi.BrowsingContext.EventNames),\n    ...Object.values(protocol_js_1.ChromiumBidi.Log.EventNames),\n    ...Object.values(protocol_js_1.ChromiumBidi.Network.EventNames),\n    ...Object.values(protocol_js_1.ChromiumBidi.Script.EventNames),\n    // keep-sorted end\n]);\nfunction checkEventName(name) {\n    if (!EVENT_NAMES.has(name) &&\n        !name.startsWith('cdp.') &&\n        name !== 'cdp') {\n        throw new protocol_js_1.InvalidArgumentException(`Unknown event: ${name}`);\n    }\n}\n//# sourceMappingURL=EventManager.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RealmStorage = void 0;\nconst protocol_js_1 = require(\"../../../protocol/protocol.js\");\n/** Container class for browsing realms. */\nclass RealmStorage {\n    /** Tracks handles and their realms sent to the client. */\n    #knownHandlesToRealmMap = new Map();\n    /** Map from realm ID to Realm. */\n    #realmMap = new Map();\n    get knownHandlesToRealmMap() {\n        return this.#knownHandlesToRealmMap;\n    }\n    addRealm(realm) {\n        this.#realmMap.set(realm.realmId, realm);\n    }\n    /** Finds all realms that match the given filter. */\n    findRealms(filter) {\n        return Array.from(this.#realmMap.values()).filter((realm) => {\n            if (filter.realmId !== undefined && filter.realmId !== realm.realmId) {\n                return false;\n            }\n            if (filter.browsingContextId !== undefined &&\n                filter.browsingContextId !== realm.browsingContextId) {\n                return false;\n            }\n            if (filter.navigableId !== undefined &&\n                filter.navigableId !== realm.navigableId) {\n                return false;\n            }\n            if (filter.executionContextId !== undefined &&\n                filter.executionContextId !== realm.executionContextId) {\n                return false;\n            }\n            if (filter.origin !== undefined && filter.origin !== realm.origin) {\n                return false;\n            }\n            if (filter.type !== undefined && filter.type !== realm.type) {\n                return false;\n            }\n            if (filter.sandbox !== undefined && filter.sandbox !== realm.sandbox) {\n                return false;\n            }\n            if (filter.cdpSessionId !== undefined &&\n                filter.cdpSessionId !== realm.cdpClient.sessionId) {\n                return false;\n            }\n            return true;\n        });\n    }\n    findRealm(filter) {\n        const maybeRealms = this.findRealms(filter);\n        if (maybeRealms.length !== 1) {\n            return undefined;\n        }\n        return maybeRealms[0];\n    }\n    /** Gets the only realm that matches the given filter, if any, otherwise throws. */\n    getRealm(filter) {\n        const maybeRealm = this.findRealm(filter);\n        if (maybeRealm === undefined) {\n            throw new protocol_js_1.NoSuchFrameException(`Realm ${JSON.stringify(filter)} not found`);\n        }\n        return maybeRealm;\n    }\n    /** Deletes all realms that match the given filter. */\n    deleteRealms(filter) {\n        this.findRealms(filter).map((realm) => {\n            realm.dispose();\n            this.#realmMap.delete(realm.realmId);\n            Array.from(this.knownHandlesToRealmMap.entries())\n                .filter(([, r]) => r === realm.realmId)\n                .map(([handle]) => this.knownHandlesToRealmMap.delete(handle));\n        });\n    }\n}\nexports.RealmStorage = RealmStorage;\n//# sourceMappingURL=realmStorage.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BidiServer = void 0;\nconst EventEmitter_js_1 = require(\"../utils/EventEmitter.js\");\nconst log_js_1 = require(\"../utils/log.js\");\nconst processingQueue_js_1 = require(\"../utils/processingQueue.js\");\nconst CommandProcessor_js_1 = require(\"./CommandProcessor.js\");\nconst browsingContextStorage_js_1 = require(\"./domains/context/browsingContextStorage.js\");\nconst EventManager_js_1 = require(\"./domains/events/EventManager.js\");\nconst realmStorage_js_1 = require(\"./domains/script/realmStorage.js\");\nclass BidiServer extends EventEmitter_js_1.EventEmitter {\n    #messageQueue;\n    #transport;\n    #commandProcessor;\n    #browsingContextStorage = new browsingContextStorage_js_1.BrowsingContextStorage();\n    #logger;\n    #handleIncomingMessage = (message) => {\n        void this.#commandProcessor.processCommand(message).catch((error) => {\n            this.#logger?.(log_js_1.LogType.system, error);\n        });\n    };\n    #processOutgoingMessage = async (messageEntry) => {\n        const message = messageEntry.message;\n        if (messageEntry.channel !== null) {\n            message['channel'] = messageEntry.channel;\n        }\n        await this.#transport.sendMessage(message);\n    };\n    constructor(bidiTransport, cdpConnection, selfTargetId, parser, logger) {\n        super();\n        this.#logger = logger;\n        this.#messageQueue = new processingQueue_js_1.ProcessingQueue(this.#processOutgoingMessage, this.#logger);\n        this.#transport = bidiTransport;\n        this.#transport.setOnMessage(this.#handleIncomingMessage);\n        this.#commandProcessor = new CommandProcessor_js_1.CommandProcessor(cdpConnection, new EventManager_js_1.EventManager(this), selfTargetId, this.#browsingContextStorage, new realmStorage_js_1.RealmStorage(), parser, this.#logger);\n        this.#commandProcessor.on('response', (response) => {\n            this.emitOutgoingMessage(response);\n        });\n    }\n    static async createAndStart(bidiTransport, cdpConnection, selfTargetId, parser, logger) {\n        const server = new BidiServer(bidiTransport, cdpConnection, selfTargetId, parser, logger);\n        const cdpClient = cdpConnection.browserClient();\n        // Needed to get events about new targets.\n        await cdpClient.sendCommand('Target.setDiscoverTargets', { discover: true });\n        // Needed to automatically attach to new targets.\n        await cdpClient.sendCommand('Target.setAutoAttach', {\n            autoAttach: true,\n            waitForDebuggerOnStart: true,\n            flatten: true,\n        });\n        await server.#topLevelContextsLoaded();\n        return server;\n    }\n    /**\n     * Sends BiDi message.\n     */\n    emitOutgoingMessage(messageEntry) {\n        this.#messageQueue.add(messageEntry);\n    }\n    close() {\n        this.#transport.close();\n    }\n    getBrowsingContextStorage() {\n        return this.#browsingContextStorage;\n    }\n    async #topLevelContextsLoaded() {\n        await Promise.all(this.#browsingContextStorage\n            .getTopLevelContexts()\n            .map((c) => c.lifecycleLoaded()));\n    }\n}\nexports.BidiServer = BidiServer;\n//# sourceMappingURL=BidiServer.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OutgoingBidiMessage = exports.EventEmitter = exports.BidiServer = void 0;\n/**\n * @fileoverview The entry point to the BiDi Mapper namespace.\n * Other modules should only access exports defined in this file.\n * XXX: Add ESlint rule for this (https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-restricted-paths.md)\n */\nvar BidiServer_js_1 = require(\"./BidiServer.js\");\nObject.defineProperty(exports, \"BidiServer\", { enumerable: true, get: function () { return BidiServer_js_1.BidiServer; } });\nvar EventEmitter_js_1 = require(\"../utils/EventEmitter.js\");\nObject.defineProperty(exports, \"EventEmitter\", { enumerable: true, get: function () { return EventEmitter_js_1.EventEmitter; } });\nvar OutgoingBidiMessage_js_1 = require(\"./OutgoingBidiMessage.js\");\nObject.defineProperty(exports, \"OutgoingBidiMessage\", { enumerable: true, get: function () { return OutgoingBidiMessage_js_1.OutgoingBidiMessage; } });\n//# sourceMappingURL=bidiMapper.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CdpClient = exports.CloseError = void 0;\nconst EventEmitter_js_1 = require(\"../utils/EventEmitter.js\");\n/** A error that will be thrown if/when the connection is closed. */\nclass CloseError extends Error {\n}\nexports.CloseError = CloseError;\n/** Represents a high-level CDP connection to the browser. */\nclass CdpClient extends EventEmitter_js_1.EventEmitter {\n    #cdpConnection;\n    #sessionId;\n    constructor(cdpConnection, sessionId) {\n        super();\n        this.#cdpConnection = cdpConnection;\n        this.#sessionId = sessionId;\n    }\n    get sessionId() {\n        return this.#sessionId;\n    }\n    browserClient() {\n        return this.#cdpConnection.browserClient();\n    }\n    sendCommand(method, ...params) {\n        return this.#cdpConnection.sendCommand(method, params[0], this.#sessionId);\n    }\n    isCloseError(error) {\n        return error instanceof CloseError;\n    }\n}\nexports.CdpClient = CdpClient;\n//# sourceMappingURL=cdpClient.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CdpConnection = void 0;\nconst log_js_1 = require(\"../utils/log.js\");\nconst cdpClient_js_1 = require(\"./cdpClient.js\");\n/**\n * Represents a high-level CDP connection to the browser backend.\n * Manages a CdpClient instance for each active CDP session.\n */\nclass CdpConnection {\n    #transport;\n    /** The CdpClient object attached to the root browser session. */\n    #browserCdpClient;\n    /** Map from session ID to CdpClient. */\n    #sessionCdpClients = new Map();\n    #commandCallbacks = new Map();\n    #logger;\n    #nextId = 0;\n    constructor(transport, logger) {\n        this.#transport = transport;\n        this.#logger = logger;\n        this.#transport.setOnMessage(this.#onMessage);\n        this.#browserCdpClient = new cdpClient_js_1.CdpClient(this, undefined);\n    }\n    /** Closes the connection to the browser. */\n    close() {\n        this.#transport.close();\n        for (const [, { reject, error }] of this.#commandCallbacks) {\n            reject(error);\n        }\n        this.#commandCallbacks.clear();\n        this.#sessionCdpClients.clear();\n    }\n    /** The CdpClient object attached to the root browser session. */\n    browserClient() {\n        return this.#browserCdpClient;\n    }\n    /**\n     * Gets a CdpClient instance attached to the given session ID,\n     * or null if the session is not attached.\n     */\n    getCdpClient(sessionId) {\n        const cdpClient = this.#sessionCdpClients.get(sessionId);\n        if (!cdpClient) {\n            throw new Error('Unknown CDP session ID');\n        }\n        return cdpClient;\n    }\n    sendCommand(method, params, sessionId) {\n        return new Promise((resolve, reject) => {\n            const id = this.#nextId++;\n            this.#commandCallbacks.set(id, {\n                resolve,\n                reject,\n                error: new cdpClient_js_1.CloseError(`${method} ${JSON.stringify(params)} ${sessionId ?? ''} call rejected because the connection has been closed.`),\n            });\n            const cdpMessage = { id, method, params };\n            if (sessionId) {\n                cdpMessage.sessionId = sessionId;\n            }\n            const cdpMessageStr = JSON.stringify(cdpMessage);\n            void this.#transport.sendMessage(cdpMessageStr)?.catch((error) => {\n                this.#logger?.(`${log_js_1.LogType.cdp}:ERROR`, error);\n                this.#transport.close();\n            });\n            this.#logger?.(`${log_js_1.LogType.cdp}:SEND ▸`, JSON.stringify(cdpMessage, null, 2));\n        });\n    }\n    #onMessage = (message) => {\n        const messageParsed = JSON.parse(message);\n        const messagePretty = JSON.stringify(messageParsed, null, 2);\n        this.#logger?.(`${log_js_1.LogType.cdp}:RECV ◂`, messagePretty);\n        // Update client map if a session is attached\n        // Listen for these events on every session.\n        if (messageParsed.method === 'Target.attachedToTarget') {\n            const { sessionId } = messageParsed.params;\n            this.#sessionCdpClients.set(sessionId, new cdpClient_js_1.CdpClient(this, sessionId));\n        }\n        if (messageParsed.id !== undefined) {\n            // Handle command response.\n            const callbacks = this.#commandCallbacks.get(messageParsed.id);\n            this.#commandCallbacks.delete(messageParsed.id);\n            if (callbacks) {\n                if (messageParsed.result) {\n                    callbacks.resolve(messageParsed.result);\n                }\n                else if (messageParsed.error) {\n                    callbacks.reject(messageParsed.error);\n                }\n            }\n        }\n        else if (messageParsed.method) {\n            const client = messageParsed.sessionId\n                ? this.#sessionCdpClients.get(messageParsed.sessionId)\n                : this.#browserCdpClient;\n            client?.emit(messageParsed.method, messageParsed.params || {});\n            // Update client map if a session is detached\n            // But emit on that session\n            if (messageParsed.method === 'Target.detachedFromTarget') {\n                const { sessionId } = messageParsed.params;\n                const client = this.#sessionCdpClients.get(sessionId);\n                if (client) {\n                    this.#sessionCdpClients.delete(sessionId);\n                    client.removeAllListeners();\n                }\n            }\n        }\n    };\n}\nexports.CdpConnection = CdpConnection;\n//# sourceMappingURL=cdpConnection.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getParsedType = exports.ZodParsedType = exports.objectUtil = exports.util = void 0;\nvar util;\n(function (util) {\n    util.assertEqual = (val) => val;\n    function assertIs(_arg) { }\n    util.assertIs = assertIs;\n    function assertNever(_x) {\n        throw new Error();\n    }\n    util.assertNever = assertNever;\n    util.arrayToEnum = (items) => {\n        const obj = {};\n        for (const item of items) {\n            obj[item] = item;\n        }\n        return obj;\n    };\n    util.getValidEnumValues = (obj) => {\n        const validKeys = util.objectKeys(obj).filter((k) => typeof obj[obj[k]] !== \"number\");\n        const filtered = {};\n        for (const k of validKeys) {\n            filtered[k] = obj[k];\n        }\n        return util.objectValues(filtered);\n    };\n    util.objectValues = (obj) => {\n        return util.objectKeys(obj).map(function (e) {\n            return obj[e];\n        });\n    };\n    util.objectKeys = typeof Object.keys === \"function\"\n        ? (obj) => Object.keys(obj)\n        : (object) => {\n            const keys = [];\n            for (const key in object) {\n                if (Object.prototype.hasOwnProperty.call(object, key)) {\n                    keys.push(key);\n                }\n            }\n            return keys;\n        };\n    util.find = (arr, checker) => {\n        for (const item of arr) {\n            if (checker(item))\n                return item;\n        }\n        return undefined;\n    };\n    util.isInteger = typeof Number.isInteger === \"function\"\n        ? (val) => Number.isInteger(val)\n        : (val) => typeof val === \"number\" && isFinite(val) && Math.floor(val) === val;\n    function joinValues(array, separator = \" | \") {\n        return array\n            .map((val) => (typeof val === \"string\" ? `'${val}'` : val))\n            .join(separator);\n    }\n    util.joinValues = joinValues;\n    util.jsonStringifyReplacer = (_, value) => {\n        if (typeof value === \"bigint\") {\n            return value.toString();\n        }\n        return value;\n    };\n})(util = exports.util || (exports.util = {}));\nvar objectUtil;\n(function (objectUtil) {\n    objectUtil.mergeShapes = (first, second) => {\n        return {\n            ...first,\n            ...second,\n        };\n    };\n})(objectUtil = exports.objectUtil || (exports.objectUtil = {}));\nexports.ZodParsedType = util.arrayToEnum([\n    \"string\",\n    \"nan\",\n    \"number\",\n    \"integer\",\n    \"float\",\n    \"boolean\",\n    \"date\",\n    \"bigint\",\n    \"symbol\",\n    \"function\",\n    \"undefined\",\n    \"null\",\n    \"array\",\n    \"object\",\n    \"unknown\",\n    \"promise\",\n    \"void\",\n    \"never\",\n    \"map\",\n    \"set\",\n]);\nconst getParsedType = (data) => {\n    const t = typeof data;\n    switch (t) {\n        case \"undefined\":\n            return exports.ZodParsedType.undefined;\n        case \"string\":\n            return exports.ZodParsedType.string;\n        case \"number\":\n            return isNaN(data) ? exports.ZodParsedType.nan : exports.ZodParsedType.number;\n        case \"boolean\":\n            return exports.ZodParsedType.boolean;\n        case \"function\":\n            return exports.ZodParsedType.function;\n        case \"bigint\":\n            return exports.ZodParsedType.bigint;\n        case \"symbol\":\n            return exports.ZodParsedType.symbol;\n        case \"object\":\n            if (Array.isArray(data)) {\n                return exports.ZodParsedType.array;\n            }\n            if (data === null) {\n                return exports.ZodParsedType.null;\n            }\n            if (data.then &&\n                typeof data.then === \"function\" &&\n                data.catch &&\n                typeof data.catch === \"function\") {\n                return exports.ZodParsedType.promise;\n            }\n            if (typeof Map !== \"undefined\" && data instanceof Map) {\n                return exports.ZodParsedType.map;\n            }\n            if (typeof Set !== \"undefined\" && data instanceof Set) {\n                return exports.ZodParsedType.set;\n            }\n            if (typeof Date !== \"undefined\" && data instanceof Date) {\n                return exports.ZodParsedType.date;\n            }\n            return exports.ZodParsedType.object;\n        default:\n            return exports.ZodParsedType.unknown;\n    }\n};\nexports.getParsedType = getParsedType;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ZodError = exports.quotelessJson = exports.ZodIssueCode = void 0;\nconst util_1 = require(\"./helpers/util\");\nexports.ZodIssueCode = util_1.util.arrayToEnum([\n    \"invalid_type\",\n    \"invalid_literal\",\n    \"custom\",\n    \"invalid_union\",\n    \"invalid_union_discriminator\",\n    \"invalid_enum_value\",\n    \"unrecognized_keys\",\n    \"invalid_arguments\",\n    \"invalid_return_type\",\n    \"invalid_date\",\n    \"invalid_string\",\n    \"too_small\",\n    \"too_big\",\n    \"invalid_intersection_types\",\n    \"not_multiple_of\",\n    \"not_finite\",\n]);\nconst quotelessJson = (obj) => {\n    const json = JSON.stringify(obj, null, 2);\n    return json.replace(/\"([^\"]+)\":/g, \"$1:\");\n};\nexports.quotelessJson = quotelessJson;\nclass ZodError extends Error {\n    constructor(issues) {\n        super();\n        this.issues = [];\n        this.addIssue = (sub) => {\n            this.issues = [...this.issues, sub];\n        };\n        this.addIssues = (subs = []) => {\n            this.issues = [...this.issues, ...subs];\n        };\n        const actualProto = new.target.prototype;\n        if (Object.setPrototypeOf) {\n            Object.setPrototypeOf(this, actualProto);\n        }\n        else {\n            this.__proto__ = actualProto;\n        }\n        this.name = \"ZodError\";\n        this.issues = issues;\n    }\n    get errors() {\n        return this.issues;\n    }\n    format(_mapper) {\n        const mapper = _mapper ||\n            function (issue) {\n                return issue.message;\n            };\n        const fieldErrors = { _errors: [] };\n        const processError = (error) => {\n            for (const issue of error.issues) {\n                if (issue.code === \"invalid_union\") {\n                    issue.unionErrors.map(processError);\n                }\n                else if (issue.code === \"invalid_return_type\") {\n                    processError(issue.returnTypeError);\n                }\n                else if (issue.code === \"invalid_arguments\") {\n                    processError(issue.argumentsError);\n                }\n                else if (issue.path.length === 0) {\n                    fieldErrors._errors.push(mapper(issue));\n                }\n                else {\n                    let curr = fieldErrors;\n                    let i = 0;\n                    while (i < issue.path.length) {\n                        const el = issue.path[i];\n                        const terminal = i === issue.path.length - 1;\n                        if (!terminal) {\n                            curr[el] = curr[el] || { _errors: [] };\n                        }\n                        else {\n                            curr[el] = curr[el] || { _errors: [] };\n                            curr[el]._errors.push(mapper(issue));\n                        }\n                        curr = curr[el];\n                        i++;\n                    }\n                }\n            }\n        };\n        processError(this);\n        return fieldErrors;\n    }\n    toString() {\n        return this.message;\n    }\n    get message() {\n        return JSON.stringify(this.issues, util_1.util.jsonStringifyReplacer, 2);\n    }\n    get isEmpty() {\n        return this.issues.length === 0;\n    }\n    flatten(mapper = (issue) => issue.message) {\n        const fieldErrors = {};\n        const formErrors = [];\n        for (const sub of this.issues) {\n            if (sub.path.length > 0) {\n                fieldErrors[sub.path[0]] = fieldErrors[sub.path[0]] || [];\n                fieldErrors[sub.path[0]].push(mapper(sub));\n            }\n            else {\n                formErrors.push(mapper(sub));\n            }\n        }\n        return { formErrors, fieldErrors };\n    }\n    get formErrors() {\n        return this.flatten();\n    }\n}\nexports.ZodError = ZodError;\nZodError.create = (issues) => {\n    const error = new ZodError(issues);\n    return error;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst util_1 = require(\"../helpers/util\");\nconst ZodError_1 = require(\"../ZodError\");\nconst errorMap = (issue, _ctx) => {\n    let message;\n    switch (issue.code) {\n        case ZodError_1.ZodIssueCode.invalid_type:\n            if (issue.received === util_1.ZodParsedType.undefined) {\n                message = \"Required\";\n            }\n            else {\n                message = `Expected ${issue.expected}, received ${issue.received}`;\n            }\n            break;\n        case ZodError_1.ZodIssueCode.invalid_literal:\n            message = `Invalid literal value, expected ${JSON.stringify(issue.expected, util_1.util.jsonStringifyReplacer)}`;\n            break;\n        case ZodError_1.ZodIssueCode.unrecognized_keys:\n            message = `Unrecognized key(s) in object: ${util_1.util.joinValues(issue.keys, \", \")}`;\n            break;\n        case ZodError_1.ZodIssueCode.invalid_union:\n            message = `Invalid input`;\n            break;\n        case ZodError_1.ZodIssueCode.invalid_union_discriminator:\n            message = `Invalid discriminator value. Expected ${util_1.util.joinValues(issue.options)}`;\n            break;\n        case ZodError_1.ZodIssueCode.invalid_enum_value:\n            message = `Invalid enum value. Expected ${util_1.util.joinValues(issue.options)}, received '${issue.received}'`;\n            break;\n        case ZodError_1.ZodIssueCode.invalid_arguments:\n            message = `Invalid function arguments`;\n            break;\n        case ZodError_1.ZodIssueCode.invalid_return_type:\n            message = `Invalid function return type`;\n            break;\n        case ZodError_1.ZodIssueCode.invalid_date:\n            message = `Invalid date`;\n            break;\n        case ZodError_1.ZodIssueCode.invalid_string:\n            if (typeof issue.validation === \"object\") {\n                if (\"includes\" in issue.validation) {\n                    message = `Invalid input: must include \"${issue.validation.includes}\"`;\n                    if (typeof issue.validation.position === \"number\") {\n                        message = `${message} at one or more positions greater than or equal to ${issue.validation.position}`;\n                    }\n                }\n                else if (\"startsWith\" in issue.validation) {\n                    message = `Invalid input: must start with \"${issue.validation.startsWith}\"`;\n                }\n                else if (\"endsWith\" in issue.validation) {\n                    message = `Invalid input: must end with \"${issue.validation.endsWith}\"`;\n                }\n                else {\n                    util_1.util.assertNever(issue.validation);\n                }\n            }\n            else if (issue.validation !== \"regex\") {\n                message = `Invalid ${issue.validation}`;\n            }\n            else {\n                message = \"Invalid\";\n            }\n            break;\n        case ZodError_1.ZodIssueCode.too_small:\n            if (issue.type === \"array\")\n                message = `Array must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `more than`} ${issue.minimum} element(s)`;\n            else if (issue.type === \"string\")\n                message = `String must contain ${issue.exact ? \"exactly\" : issue.inclusive ? `at least` : `over`} ${issue.minimum} character(s)`;\n            else if (issue.type === \"number\")\n                message = `Number must be ${issue.exact\n                    ? `exactly equal to `\n                    : issue.inclusive\n                        ? `greater than or equal to `\n                        : `greater than `}${issue.minimum}`;\n            else if (issue.type === \"date\")\n                message = `Date must be ${issue.exact\n                    ? `exactly equal to `\n                    : issue.inclusive\n                        ? `greater than or equal to `\n                        : `greater than `}${new Date(Number(issue.minimum))}`;\n            else\n                message = \"Invalid input\";\n            break;\n        case ZodError_1.ZodIssueCode.too_big:\n            if (issue.type === \"array\")\n                message = `Array must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `less than`} ${issue.maximum} element(s)`;\n            else if (issue.type === \"string\")\n                message = `String must contain ${issue.exact ? `exactly` : issue.inclusive ? `at most` : `under`} ${issue.maximum} character(s)`;\n            else if (issue.type === \"number\")\n                message = `Number must be ${issue.exact\n                    ? `exactly`\n                    : issue.inclusive\n                        ? `less than or equal to`\n                        : `less than`} ${issue.maximum}`;\n            else if (issue.type === \"bigint\")\n                message = `BigInt must be ${issue.exact\n                    ? `exactly`\n                    : issue.inclusive\n                        ? `less than or equal to`\n                        : `less than`} ${issue.maximum}`;\n            else if (issue.type === \"date\")\n                message = `Date must be ${issue.exact\n                    ? `exactly`\n                    : issue.inclusive\n                        ? `smaller than or equal to`\n                        : `smaller than`} ${new Date(Number(issue.maximum))}`;\n            else\n                message = \"Invalid input\";\n            break;\n        case ZodError_1.ZodIssueCode.custom:\n            message = `Invalid input`;\n            break;\n        case ZodError_1.ZodIssueCode.invalid_intersection_types:\n            message = `Intersection results could not be merged`;\n            break;\n        case ZodError_1.ZodIssueCode.not_multiple_of:\n            message = `Number must be a multiple of ${issue.multipleOf}`;\n            break;\n        case ZodError_1.ZodIssueCode.not_finite:\n            message = \"Number must be finite\";\n            break;\n        default:\n            message = _ctx.defaultError;\n            util_1.util.assertNever(issue);\n    }\n    return { message };\n};\nexports.default = errorMap;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getErrorMap = exports.setErrorMap = exports.defaultErrorMap = void 0;\nconst en_1 = __importDefault(require(\"./locales/en\"));\nexports.defaultErrorMap = en_1.default;\nlet overrideErrorMap = en_1.default;\nfunction setErrorMap(map) {\n    overrideErrorMap = map;\n}\nexports.setErrorMap = setErrorMap;\nfunction getErrorMap() {\n    return overrideErrorMap;\n}\nexports.getErrorMap = getErrorMap;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isAsync = exports.isValid = exports.isDirty = exports.isAborted = exports.OK = exports.DIRTY = exports.INVALID = exports.ParseStatus = exports.addIssueToContext = exports.EMPTY_PATH = exports.makeIssue = void 0;\nconst errors_1 = require(\"../errors\");\nconst en_1 = __importDefault(require(\"../locales/en\"));\nconst makeIssue = (params) => {\n    const { data, path, errorMaps, issueData } = params;\n    const fullPath = [...path, ...(issueData.path || [])];\n    const fullIssue = {\n        ...issueData,\n        path: fullPath,\n    };\n    let errorMessage = \"\";\n    const maps = errorMaps\n        .filter((m) => !!m)\n        .slice()\n        .reverse();\n    for (const map of maps) {\n        errorMessage = map(fullIssue, { data, defaultError: errorMessage }).message;\n    }\n    return {\n        ...issueData,\n        path: fullPath,\n        message: issueData.message || errorMessage,\n    };\n};\nexports.makeIssue = makeIssue;\nexports.EMPTY_PATH = [];\nfunction addIssueToContext(ctx, issueData) {\n    const issue = (0, exports.makeIssue)({\n        issueData: issueData,\n        data: ctx.data,\n        path: ctx.path,\n        errorMaps: [\n            ctx.common.contextualErrorMap,\n            ctx.schemaErrorMap,\n            (0, errors_1.getErrorMap)(),\n            en_1.default,\n        ].filter((x) => !!x),\n    });\n    ctx.common.issues.push(issue);\n}\nexports.addIssueToContext = addIssueToContext;\nclass ParseStatus {\n    constructor() {\n        this.value = \"valid\";\n    }\n    dirty() {\n        if (this.value === \"valid\")\n            this.value = \"dirty\";\n    }\n    abort() {\n        if (this.value !== \"aborted\")\n            this.value = \"aborted\";\n    }\n    static mergeArray(status, results) {\n        const arrayValue = [];\n        for (const s of results) {\n            if (s.status === \"aborted\")\n                return exports.INVALID;\n            if (s.status === \"dirty\")\n                status.dirty();\n            arrayValue.push(s.value);\n        }\n        return { status: status.value, value: arrayValue };\n    }\n    static async mergeObjectAsync(status, pairs) {\n        const syncPairs = [];\n        for (const pair of pairs) {\n            syncPairs.push({\n                key: await pair.key,\n                value: await pair.value,\n            });\n        }\n        return ParseStatus.mergeObjectSync(status, syncPairs);\n    }\n    static mergeObjectSync(status, pairs) {\n        const finalObject = {};\n        for (const pair of pairs) {\n            const { key, value } = pair;\n            if (key.status === \"aborted\")\n                return exports.INVALID;\n            if (value.status === \"aborted\")\n                return exports.INVALID;\n            if (key.status === \"dirty\")\n                status.dirty();\n            if (value.status === \"dirty\")\n                status.dirty();\n            if (typeof value.value !== \"undefined\" || pair.alwaysSet) {\n                finalObject[key.value] = value.value;\n            }\n        }\n        return { status: status.value, value: finalObject };\n    }\n}\nexports.ParseStatus = ParseStatus;\nexports.INVALID = Object.freeze({\n    status: \"aborted\",\n});\nconst DIRTY = (value) => ({ status: \"dirty\", value });\nexports.DIRTY = DIRTY;\nconst OK = (value) => ({ status: \"valid\", value });\nexports.OK = OK;\nconst isAborted = (x) => x.status === \"aborted\";\nexports.isAborted = isAborted;\nconst isDirty = (x) => x.status === \"dirty\";\nexports.isDirty = isDirty;\nconst isValid = (x) => x.status === \"valid\";\nexports.isValid = isValid;\nconst isAsync = (x) => typeof Promise !== \"undefined\" && x instanceof Promise;\nexports.isAsync = isAsync;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.errorUtil = void 0;\nvar errorUtil;\n(function (errorUtil) {\n    errorUtil.errToObj = (message) => typeof message === \"string\" ? { message } : message || {};\n    errorUtil.toString = (message) => typeof message === \"string\" ? message : message === null || message === void 0 ? void 0 : message.message;\n})(errorUtil = exports.errorUtil || (exports.errorUtil = {}));\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.discriminatedUnion = exports.date = exports.boolean = exports.bigint = exports.array = exports.any = exports.coerce = exports.ZodFirstPartyTypeKind = exports.late = exports.ZodSchema = exports.Schema = exports.custom = exports.ZodPipeline = exports.ZodBranded = exports.BRAND = exports.ZodNaN = exports.ZodCatch = exports.ZodDefault = exports.ZodNullable = exports.ZodOptional = exports.ZodTransformer = exports.ZodEffects = exports.ZodPromise = exports.ZodNativeEnum = exports.ZodEnum = exports.ZodLiteral = exports.ZodLazy = exports.ZodFunction = exports.ZodSet = exports.ZodMap = exports.ZodRecord = exports.ZodTuple = exports.ZodIntersection = exports.ZodDiscriminatedUnion = exports.ZodUnion = exports.ZodObject = exports.ZodArray = exports.ZodVoid = exports.ZodNever = exports.ZodUnknown = exports.ZodAny = exports.ZodNull = exports.ZodUndefined = exports.ZodSymbol = exports.ZodDate = exports.ZodBoolean = exports.ZodBigInt = exports.ZodNumber = exports.ZodString = exports.ZodType = void 0;\nexports.NEVER = exports.void = exports.unknown = exports.union = exports.undefined = exports.tuple = exports.transformer = exports.symbol = exports.string = exports.strictObject = exports.set = exports.record = exports.promise = exports.preprocess = exports.pipeline = exports.ostring = exports.optional = exports.onumber = exports.oboolean = exports.object = exports.number = exports.nullable = exports.null = exports.never = exports.nativeEnum = exports.nan = exports.map = exports.literal = exports.lazy = exports.intersection = exports.instanceof = exports.function = exports.enum = exports.effect = void 0;\nconst errors_1 = require(\"./errors\");\nconst errorUtil_1 = require(\"./helpers/errorUtil\");\nconst parseUtil_1 = require(\"./helpers/parseUtil\");\nconst util_1 = require(\"./helpers/util\");\nconst ZodError_1 = require(\"./ZodError\");\nclass ParseInputLazyPath {\n    constructor(parent, value, path, key) {\n        this._cachedPath = [];\n        this.parent = parent;\n        this.data = value;\n        this._path = path;\n        this._key = key;\n    }\n    get path() {\n        if (!this._cachedPath.length) {\n            if (this._key instanceof Array) {\n                this._cachedPath.push(...this._path, ...this._key);\n            }\n            else {\n                this._cachedPath.push(...this._path, this._key);\n            }\n        }\n        return this._cachedPath;\n    }\n}\nconst handleResult = (ctx, result) => {\n    if ((0, parseUtil_1.isValid)(result)) {\n        return { success: true, data: result.value };\n    }\n    else {\n        if (!ctx.common.issues.length) {\n            throw new Error(\"Validation failed but no issues detected.\");\n        }\n        return {\n            success: false,\n            get error() {\n                if (this._error)\n                    return this._error;\n                const error = new ZodError_1.ZodError(ctx.common.issues);\n                this._error = error;\n                return this._error;\n            },\n        };\n    }\n};\nfunction processCreateParams(params) {\n    if (!params)\n        return {};\n    const { errorMap, invalid_type_error, required_error, description } = params;\n    if (errorMap && (invalid_type_error || required_error)) {\n        throw new Error(`Can't use \"invalid_type_error\" or \"required_error\" in conjunction with custom error map.`);\n    }\n    if (errorMap)\n        return { errorMap: errorMap, description };\n    const customMap = (iss, ctx) => {\n        if (iss.code !== \"invalid_type\")\n            return { message: ctx.defaultError };\n        if (typeof ctx.data === \"undefined\") {\n            return { message: required_error !== null && required_error !== void 0 ? required_error : ctx.defaultError };\n        }\n        return { message: invalid_type_error !== null && invalid_type_error !== void 0 ? invalid_type_error : ctx.defaultError };\n    };\n    return { errorMap: customMap, description };\n}\nclass ZodType {\n    constructor(def) {\n        this.spa = this.safeParseAsync;\n        this._def = def;\n        this.parse = this.parse.bind(this);\n        this.safeParse = this.safeParse.bind(this);\n        this.parseAsync = this.parseAsync.bind(this);\n        this.safeParseAsync = this.safeParseAsync.bind(this);\n        this.spa = this.spa.bind(this);\n        this.refine = this.refine.bind(this);\n        this.refinement = this.refinement.bind(this);\n        this.superRefine = this.superRefine.bind(this);\n        this.optional = this.optional.bind(this);\n        this.nullable = this.nullable.bind(this);\n        this.nullish = this.nullish.bind(this);\n        this.array = this.array.bind(this);\n        this.promise = this.promise.bind(this);\n        this.or = this.or.bind(this);\n        this.and = this.and.bind(this);\n        this.transform = this.transform.bind(this);\n        this.brand = this.brand.bind(this);\n        this.default = this.default.bind(this);\n        this.catch = this.catch.bind(this);\n        this.describe = this.describe.bind(this);\n        this.pipe = this.pipe.bind(this);\n        this.isNullable = this.isNullable.bind(this);\n        this.isOptional = this.isOptional.bind(this);\n    }\n    get description() {\n        return this._def.description;\n    }\n    _getType(input) {\n        return (0, util_1.getParsedType)(input.data);\n    }\n    _getOrReturnCtx(input, ctx) {\n        return (ctx || {\n            common: input.parent.common,\n            data: input.data,\n            parsedType: (0, util_1.getParsedType)(input.data),\n            schemaErrorMap: this._def.errorMap,\n            path: input.path,\n            parent: input.parent,\n        });\n    }\n    _processInputParams(input) {\n        return {\n            status: new parseUtil_1.ParseStatus(),\n            ctx: {\n                common: input.parent.common,\n                data: input.data,\n                parsedType: (0, util_1.getParsedType)(input.data),\n                schemaErrorMap: this._def.errorMap,\n                path: input.path,\n                parent: input.parent,\n            },\n        };\n    }\n    _parseSync(input) {\n        const result = this._parse(input);\n        if ((0, parseUtil_1.isAsync)(result)) {\n            throw new Error(\"Synchronous parse encountered promise.\");\n        }\n        return result;\n    }\n    _parseAsync(input) {\n        const result = this._parse(input);\n        return Promise.resolve(result);\n    }\n    parse(data, params) {\n        const result = this.safeParse(data, params);\n        if (result.success)\n            return result.data;\n        throw result.error;\n    }\n    safeParse(data, params) {\n        var _a;\n        const ctx = {\n            common: {\n                issues: [],\n                async: (_a = params === null || params === void 0 ? void 0 : params.async) !== null && _a !== void 0 ? _a : false,\n                contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n            },\n            path: (params === null || params === void 0 ? void 0 : params.path) || [],\n            schemaErrorMap: this._def.errorMap,\n            parent: null,\n            data,\n            parsedType: (0, util_1.getParsedType)(data),\n        };\n        const result = this._parseSync({ data, path: ctx.path, parent: ctx });\n        return handleResult(ctx, result);\n    }\n    async parseAsync(data, params) {\n        const result = await this.safeParseAsync(data, params);\n        if (result.success)\n            return result.data;\n        throw result.error;\n    }\n    async safeParseAsync(data, params) {\n        const ctx = {\n            common: {\n                issues: [],\n                contextualErrorMap: params === null || params === void 0 ? void 0 : params.errorMap,\n                async: true,\n            },\n            path: (params === null || params === void 0 ? void 0 : params.path) || [],\n            schemaErrorMap: this._def.errorMap,\n            parent: null,\n            data,\n            parsedType: (0, util_1.getParsedType)(data),\n        };\n        const maybeAsyncResult = this._parse({ data, path: ctx.path, parent: ctx });\n        const result = await ((0, parseUtil_1.isAsync)(maybeAsyncResult)\n            ? maybeAsyncResult\n            : Promise.resolve(maybeAsyncResult));\n        return handleResult(ctx, result);\n    }\n    refine(check, message) {\n        const getIssueProperties = (val) => {\n            if (typeof message === \"string\" || typeof message === \"undefined\") {\n                return { message };\n            }\n            else if (typeof message === \"function\") {\n                return message(val);\n            }\n            else {\n                return message;\n            }\n        };\n        return this._refinement((val, ctx) => {\n            const result = check(val);\n            const setError = () => ctx.addIssue({\n                code: ZodError_1.ZodIssueCode.custom,\n                ...getIssueProperties(val),\n            });\n            if (typeof Promise !== \"undefined\" && result instanceof Promise) {\n                return result.then((data) => {\n                    if (!data) {\n                        setError();\n                        return false;\n                    }\n                    else {\n                        return true;\n                    }\n                });\n            }\n            if (!result) {\n                setError();\n                return false;\n            }\n            else {\n                return true;\n            }\n        });\n    }\n    refinement(check, refinementData) {\n        return this._refinement((val, ctx) => {\n            if (!check(val)) {\n                ctx.addIssue(typeof refinementData === \"function\"\n                    ? refinementData(val, ctx)\n                    : refinementData);\n                return false;\n            }\n            else {\n                return true;\n            }\n        });\n    }\n    _refinement(refinement) {\n        return new ZodEffects({\n            schema: this,\n            typeName: ZodFirstPartyTypeKind.ZodEffects,\n            effect: { type: \"refinement\", refinement },\n        });\n    }\n    superRefine(refinement) {\n        return this._refinement(refinement);\n    }\n    optional() {\n        return ZodOptional.create(this, this._def);\n    }\n    nullable() {\n        return ZodNullable.create(this, this._def);\n    }\n    nullish() {\n        return this.nullable().optional();\n    }\n    array() {\n        return ZodArray.create(this, this._def);\n    }\n    promise() {\n        return ZodPromise.create(this, this._def);\n    }\n    or(option) {\n        return ZodUnion.create([this, option], this._def);\n    }\n    and(incoming) {\n        return ZodIntersection.create(this, incoming, this._def);\n    }\n    transform(transform) {\n        return new ZodEffects({\n            ...processCreateParams(this._def),\n            schema: this,\n            typeName: ZodFirstPartyTypeKind.ZodEffects,\n            effect: { type: \"transform\", transform },\n        });\n    }\n    default(def) {\n        const defaultValueFunc = typeof def === \"function\" ? def : () => def;\n        return new ZodDefault({\n            ...processCreateParams(this._def),\n            innerType: this,\n            defaultValue: defaultValueFunc,\n            typeName: ZodFirstPartyTypeKind.ZodDefault,\n        });\n    }\n    brand() {\n        return new ZodBranded({\n            typeName: ZodFirstPartyTypeKind.ZodBranded,\n            type: this,\n            ...processCreateParams(this._def),\n        });\n    }\n    catch(def) {\n        const catchValueFunc = typeof def === \"function\" ? def : () => def;\n        return new ZodCatch({\n            ...processCreateParams(this._def),\n            innerType: this,\n            catchValue: catchValueFunc,\n            typeName: ZodFirstPartyTypeKind.ZodCatch,\n        });\n    }\n    describe(description) {\n        const This = this.constructor;\n        return new This({\n            ...this._def,\n            description,\n        });\n    }\n    pipe(target) {\n        return ZodPipeline.create(this, target);\n    }\n    isOptional() {\n        return this.safeParse(undefined).success;\n    }\n    isNullable() {\n        return this.safeParse(null).success;\n    }\n}\nexports.ZodType = ZodType;\nexports.Schema = ZodType;\nexports.ZodSchema = ZodType;\nconst cuidRegex = /^c[^\\s-]{8,}$/i;\nconst cuid2Regex = /^[a-z][a-z0-9]*$/;\nconst ulidRegex = /[0-9A-HJKMNP-TV-Z]{26}/;\nconst uuidRegex = /^([a-f0-9]{8}-[a-f0-9]{4}-[1-5][a-f0-9]{3}-[a-f0-9]{4}-[a-f0-9]{12}|00000000-0000-0000-0000-000000000000)$/i;\nconst emailRegex = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\])|(\\[IPv6:(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))\\])|([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])*(\\.[A-Za-z]{2,})+))$/;\nconst emojiRegex = /^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$/u;\nconst ipv4Regex = /^(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))$/;\nconst ipv6Regex = /^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/;\nconst datetimeRegex = (args) => {\n    if (args.precision) {\n        if (args.offset) {\n            return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n        }\n        else {\n            return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}\\\\.\\\\d{${args.precision}}Z$`);\n        }\n    }\n    else if (args.precision === 0) {\n        if (args.offset) {\n            return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n        }\n        else {\n            return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}Z$`);\n        }\n    }\n    else {\n        if (args.offset) {\n            return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?(([+-]\\\\d{2}(:?\\\\d{2})?)|Z)$`);\n        }\n        else {\n            return new RegExp(`^\\\\d{4}-\\\\d{2}-\\\\d{2}T\\\\d{2}:\\\\d{2}:\\\\d{2}(\\\\.\\\\d+)?Z$`);\n        }\n    }\n};\nfunction isValidIP(ip, version) {\n    if ((version === \"v4\" || !version) && ipv4Regex.test(ip)) {\n        return true;\n    }\n    if ((version === \"v6\" || !version) && ipv6Regex.test(ip)) {\n        return true;\n    }\n    return false;\n}\nclass ZodString extends ZodType {\n    constructor() {\n        super(...arguments);\n        this._regex = (regex, validation, message) => this.refinement((data) => regex.test(data), {\n            validation,\n            code: ZodError_1.ZodIssueCode.invalid_string,\n            ...errorUtil_1.errorUtil.errToObj(message),\n        });\n        this.nonempty = (message) => this.min(1, errorUtil_1.errorUtil.errToObj(message));\n        this.trim = () => new ZodString({\n            ...this._def,\n            checks: [...this._def.checks, { kind: \"trim\" }],\n        });\n        this.toLowerCase = () => new ZodString({\n            ...this._def,\n            checks: [...this._def.checks, { kind: \"toLowerCase\" }],\n        });\n        this.toUpperCase = () => new ZodString({\n            ...this._def,\n            checks: [...this._def.checks, { kind: \"toUpperCase\" }],\n        });\n    }\n    _parse(input) {\n        if (this._def.coerce) {\n            input.data = String(input.data);\n        }\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.string) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.string,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        const status = new parseUtil_1.ParseStatus();\n        let ctx = undefined;\n        for (const check of this._def.checks) {\n            if (check.kind === \"min\") {\n                if (input.data.length < check.value) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.too_small,\n                        minimum: check.value,\n                        type: \"string\",\n                        inclusive: true,\n                        exact: false,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"max\") {\n                if (input.data.length > check.value) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.too_big,\n                        maximum: check.value,\n                        type: \"string\",\n                        inclusive: true,\n                        exact: false,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"length\") {\n                const tooBig = input.data.length > check.value;\n                const tooSmall = input.data.length < check.value;\n                if (tooBig || tooSmall) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    if (tooBig) {\n                        (0, parseUtil_1.addIssueToContext)(ctx, {\n                            code: ZodError_1.ZodIssueCode.too_big,\n                            maximum: check.value,\n                            type: \"string\",\n                            inclusive: true,\n                            exact: true,\n                            message: check.message,\n                        });\n                    }\n                    else if (tooSmall) {\n                        (0, parseUtil_1.addIssueToContext)(ctx, {\n                            code: ZodError_1.ZodIssueCode.too_small,\n                            minimum: check.value,\n                            type: \"string\",\n                            inclusive: true,\n                            exact: true,\n                            message: check.message,\n                        });\n                    }\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"email\") {\n                if (!emailRegex.test(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"email\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"emoji\") {\n                if (!emojiRegex.test(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"emoji\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"uuid\") {\n                if (!uuidRegex.test(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"uuid\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"cuid\") {\n                if (!cuidRegex.test(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"cuid\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"cuid2\") {\n                if (!cuid2Regex.test(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"cuid2\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"ulid\") {\n                if (!ulidRegex.test(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"ulid\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"url\") {\n                try {\n                    new URL(input.data);\n                }\n                catch (_a) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"url\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"regex\") {\n                check.regex.lastIndex = 0;\n                const testResult = check.regex.test(input.data);\n                if (!testResult) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"regex\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"trim\") {\n                input.data = input.data.trim();\n            }\n            else if (check.kind === \"includes\") {\n                if (!input.data.includes(check.value, check.position)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        validation: { includes: check.value, position: check.position },\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"toLowerCase\") {\n                input.data = input.data.toLowerCase();\n            }\n            else if (check.kind === \"toUpperCase\") {\n                input.data = input.data.toUpperCase();\n            }\n            else if (check.kind === \"startsWith\") {\n                if (!input.data.startsWith(check.value)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        validation: { startsWith: check.value },\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"endsWith\") {\n                if (!input.data.endsWith(check.value)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        validation: { endsWith: check.value },\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"datetime\") {\n                const regex = datetimeRegex(check);\n                if (!regex.test(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        validation: \"datetime\",\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"ip\") {\n                if (!isValidIP(input.data, check.version)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        validation: \"ip\",\n                        code: ZodError_1.ZodIssueCode.invalid_string,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else {\n                util_1.util.assertNever(check);\n            }\n        }\n        return { status: status.value, value: input.data };\n    }\n    _addCheck(check) {\n        return new ZodString({\n            ...this._def,\n            checks: [...this._def.checks, check],\n        });\n    }\n    email(message) {\n        return this._addCheck({ kind: \"email\", ...errorUtil_1.errorUtil.errToObj(message) });\n    }\n    url(message) {\n        return this._addCheck({ kind: \"url\", ...errorUtil_1.errorUtil.errToObj(message) });\n    }\n    emoji(message) {\n        return this._addCheck({ kind: \"emoji\", ...errorUtil_1.errorUtil.errToObj(message) });\n    }\n    uuid(message) {\n        return this._addCheck({ kind: \"uuid\", ...errorUtil_1.errorUtil.errToObj(message) });\n    }\n    cuid(message) {\n        return this._addCheck({ kind: \"cuid\", ...errorUtil_1.errorUtil.errToObj(message) });\n    }\n    cuid2(message) {\n        return this._addCheck({ kind: \"cuid2\", ...errorUtil_1.errorUtil.errToObj(message) });\n    }\n    ulid(message) {\n        return this._addCheck({ kind: \"ulid\", ...errorUtil_1.errorUtil.errToObj(message) });\n    }\n    ip(options) {\n        return this._addCheck({ kind: \"ip\", ...errorUtil_1.errorUtil.errToObj(options) });\n    }\n    datetime(options) {\n        var _a;\n        if (typeof options === \"string\") {\n            return this._addCheck({\n                kind: \"datetime\",\n                precision: null,\n                offset: false,\n                message: options,\n            });\n        }\n        return this._addCheck({\n            kind: \"datetime\",\n            precision: typeof (options === null || options === void 0 ? void 0 : options.precision) === \"undefined\" ? null : options === null || options === void 0 ? void 0 : options.precision,\n            offset: (_a = options === null || options === void 0 ? void 0 : options.offset) !== null && _a !== void 0 ? _a : false,\n            ...errorUtil_1.errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n        });\n    }\n    regex(regex, message) {\n        return this._addCheck({\n            kind: \"regex\",\n            regex: regex,\n            ...errorUtil_1.errorUtil.errToObj(message),\n        });\n    }\n    includes(value, options) {\n        return this._addCheck({\n            kind: \"includes\",\n            value: value,\n            position: options === null || options === void 0 ? void 0 : options.position,\n            ...errorUtil_1.errorUtil.errToObj(options === null || options === void 0 ? void 0 : options.message),\n        });\n    }\n    startsWith(value, message) {\n        return this._addCheck({\n            kind: \"startsWith\",\n            value: value,\n            ...errorUtil_1.errorUtil.errToObj(message),\n        });\n    }\n    endsWith(value, message) {\n        return this._addCheck({\n            kind: \"endsWith\",\n            value: value,\n            ...errorUtil_1.errorUtil.errToObj(message),\n        });\n    }\n    min(minLength, message) {\n        return this._addCheck({\n            kind: \"min\",\n            value: minLength,\n            ...errorUtil_1.errorUtil.errToObj(message),\n        });\n    }\n    max(maxLength, message) {\n        return this._addCheck({\n            kind: \"max\",\n            value: maxLength,\n            ...errorUtil_1.errorUtil.errToObj(message),\n        });\n    }\n    length(len, message) {\n        return this._addCheck({\n            kind: \"length\",\n            value: len,\n            ...errorUtil_1.errorUtil.errToObj(message),\n        });\n    }\n    get isDatetime() {\n        return !!this._def.checks.find((ch) => ch.kind === \"datetime\");\n    }\n    get isEmail() {\n        return !!this._def.checks.find((ch) => ch.kind === \"email\");\n    }\n    get isURL() {\n        return !!this._def.checks.find((ch) => ch.kind === \"url\");\n    }\n    get isEmoji() {\n        return !!this._def.checks.find((ch) => ch.kind === \"emoji\");\n    }\n    get isUUID() {\n        return !!this._def.checks.find((ch) => ch.kind === \"uuid\");\n    }\n    get isCUID() {\n        return !!this._def.checks.find((ch) => ch.kind === \"cuid\");\n    }\n    get isCUID2() {\n        return !!this._def.checks.find((ch) => ch.kind === \"cuid2\");\n    }\n    get isULID() {\n        return !!this._def.checks.find((ch) => ch.kind === \"ulid\");\n    }\n    get isIP() {\n        return !!this._def.checks.find((ch) => ch.kind === \"ip\");\n    }\n    get minLength() {\n        let min = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"min\") {\n                if (min === null || ch.value > min)\n                    min = ch.value;\n            }\n        }\n        return min;\n    }\n    get maxLength() {\n        let max = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"max\") {\n                if (max === null || ch.value < max)\n                    max = ch.value;\n            }\n        }\n        return max;\n    }\n}\nexports.ZodString = ZodString;\nZodString.create = (params) => {\n    var _a;\n    return new ZodString({\n        checks: [],\n        typeName: ZodFirstPartyTypeKind.ZodString,\n        coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n        ...processCreateParams(params),\n    });\n};\nfunction floatSafeRemainder(val, step) {\n    const valDecCount = (val.toString().split(\".\")[1] || \"\").length;\n    const stepDecCount = (step.toString().split(\".\")[1] || \"\").length;\n    const decCount = valDecCount > stepDecCount ? valDecCount : stepDecCount;\n    const valInt = parseInt(val.toFixed(decCount).replace(\".\", \"\"));\n    const stepInt = parseInt(step.toFixed(decCount).replace(\".\", \"\"));\n    return (valInt % stepInt) / Math.pow(10, decCount);\n}\nclass ZodNumber extends ZodType {\n    constructor() {\n        super(...arguments);\n        this.min = this.gte;\n        this.max = this.lte;\n        this.step = this.multipleOf;\n    }\n    _parse(input) {\n        if (this._def.coerce) {\n            input.data = Number(input.data);\n        }\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.number) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.number,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        let ctx = undefined;\n        const status = new parseUtil_1.ParseStatus();\n        for (const check of this._def.checks) {\n            if (check.kind === \"int\") {\n                if (!util_1.util.isInteger(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.invalid_type,\n                        expected: \"integer\",\n                        received: \"float\",\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"min\") {\n                const tooSmall = check.inclusive\n                    ? input.data < check.value\n                    : input.data <= check.value;\n                if (tooSmall) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.too_small,\n                        minimum: check.value,\n                        type: \"number\",\n                        inclusive: check.inclusive,\n                        exact: false,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"max\") {\n                const tooBig = check.inclusive\n                    ? input.data > check.value\n                    : input.data >= check.value;\n                if (tooBig) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.too_big,\n                        maximum: check.value,\n                        type: \"number\",\n                        inclusive: check.inclusive,\n                        exact: false,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"multipleOf\") {\n                if (floatSafeRemainder(input.data, check.value) !== 0) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.not_multiple_of,\n                        multipleOf: check.value,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"finite\") {\n                if (!Number.isFinite(input.data)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.not_finite,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else {\n                util_1.util.assertNever(check);\n            }\n        }\n        return { status: status.value, value: input.data };\n    }\n    gte(value, message) {\n        return this.setLimit(\"min\", value, true, errorUtil_1.errorUtil.toString(message));\n    }\n    gt(value, message) {\n        return this.setLimit(\"min\", value, false, errorUtil_1.errorUtil.toString(message));\n    }\n    lte(value, message) {\n        return this.setLimit(\"max\", value, true, errorUtil_1.errorUtil.toString(message));\n    }\n    lt(value, message) {\n        return this.setLimit(\"max\", value, false, errorUtil_1.errorUtil.toString(message));\n    }\n    setLimit(kind, value, inclusive, message) {\n        return new ZodNumber({\n            ...this._def,\n            checks: [\n                ...this._def.checks,\n                {\n                    kind,\n                    value,\n                    inclusive,\n                    message: errorUtil_1.errorUtil.toString(message),\n                },\n            ],\n        });\n    }\n    _addCheck(check) {\n        return new ZodNumber({\n            ...this._def,\n            checks: [...this._def.checks, check],\n        });\n    }\n    int(message) {\n        return this._addCheck({\n            kind: \"int\",\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    positive(message) {\n        return this._addCheck({\n            kind: \"min\",\n            value: 0,\n            inclusive: false,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    negative(message) {\n        return this._addCheck({\n            kind: \"max\",\n            value: 0,\n            inclusive: false,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    nonpositive(message) {\n        return this._addCheck({\n            kind: \"max\",\n            value: 0,\n            inclusive: true,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    nonnegative(message) {\n        return this._addCheck({\n            kind: \"min\",\n            value: 0,\n            inclusive: true,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    multipleOf(value, message) {\n        return this._addCheck({\n            kind: \"multipleOf\",\n            value: value,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    finite(message) {\n        return this._addCheck({\n            kind: \"finite\",\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    safe(message) {\n        return this._addCheck({\n            kind: \"min\",\n            inclusive: true,\n            value: Number.MIN_SAFE_INTEGER,\n            message: errorUtil_1.errorUtil.toString(message),\n        })._addCheck({\n            kind: \"max\",\n            inclusive: true,\n            value: Number.MAX_SAFE_INTEGER,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    get minValue() {\n        let min = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"min\") {\n                if (min === null || ch.value > min)\n                    min = ch.value;\n            }\n        }\n        return min;\n    }\n    get maxValue() {\n        let max = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"max\") {\n                if (max === null || ch.value < max)\n                    max = ch.value;\n            }\n        }\n        return max;\n    }\n    get isInt() {\n        return !!this._def.checks.find((ch) => ch.kind === \"int\" ||\n            (ch.kind === \"multipleOf\" && util_1.util.isInteger(ch.value)));\n    }\n    get isFinite() {\n        let max = null, min = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"finite\" ||\n                ch.kind === \"int\" ||\n                ch.kind === \"multipleOf\") {\n                return true;\n            }\n            else if (ch.kind === \"min\") {\n                if (min === null || ch.value > min)\n                    min = ch.value;\n            }\n            else if (ch.kind === \"max\") {\n                if (max === null || ch.value < max)\n                    max = ch.value;\n            }\n        }\n        return Number.isFinite(min) && Number.isFinite(max);\n    }\n}\nexports.ZodNumber = ZodNumber;\nZodNumber.create = (params) => {\n    return new ZodNumber({\n        checks: [],\n        typeName: ZodFirstPartyTypeKind.ZodNumber,\n        coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n        ...processCreateParams(params),\n    });\n};\nclass ZodBigInt extends ZodType {\n    constructor() {\n        super(...arguments);\n        this.min = this.gte;\n        this.max = this.lte;\n    }\n    _parse(input) {\n        if (this._def.coerce) {\n            input.data = BigInt(input.data);\n        }\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.bigint) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.bigint,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        let ctx = undefined;\n        const status = new parseUtil_1.ParseStatus();\n        for (const check of this._def.checks) {\n            if (check.kind === \"min\") {\n                const tooSmall = check.inclusive\n                    ? input.data < check.value\n                    : input.data <= check.value;\n                if (tooSmall) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.too_small,\n                        type: \"bigint\",\n                        minimum: check.value,\n                        inclusive: check.inclusive,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"max\") {\n                const tooBig = check.inclusive\n                    ? input.data > check.value\n                    : input.data >= check.value;\n                if (tooBig) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.too_big,\n                        type: \"bigint\",\n                        maximum: check.value,\n                        inclusive: check.inclusive,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"multipleOf\") {\n                if (input.data % check.value !== BigInt(0)) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.not_multiple_of,\n                        multipleOf: check.value,\n                        message: check.message,\n                    });\n                    status.dirty();\n                }\n            }\n            else {\n                util_1.util.assertNever(check);\n            }\n        }\n        return { status: status.value, value: input.data };\n    }\n    gte(value, message) {\n        return this.setLimit(\"min\", value, true, errorUtil_1.errorUtil.toString(message));\n    }\n    gt(value, message) {\n        return this.setLimit(\"min\", value, false, errorUtil_1.errorUtil.toString(message));\n    }\n    lte(value, message) {\n        return this.setLimit(\"max\", value, true, errorUtil_1.errorUtil.toString(message));\n    }\n    lt(value, message) {\n        return this.setLimit(\"max\", value, false, errorUtil_1.errorUtil.toString(message));\n    }\n    setLimit(kind, value, inclusive, message) {\n        return new ZodBigInt({\n            ...this._def,\n            checks: [\n                ...this._def.checks,\n                {\n                    kind,\n                    value,\n                    inclusive,\n                    message: errorUtil_1.errorUtil.toString(message),\n                },\n            ],\n        });\n    }\n    _addCheck(check) {\n        return new ZodBigInt({\n            ...this._def,\n            checks: [...this._def.checks, check],\n        });\n    }\n    positive(message) {\n        return this._addCheck({\n            kind: \"min\",\n            value: BigInt(0),\n            inclusive: false,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    negative(message) {\n        return this._addCheck({\n            kind: \"max\",\n            value: BigInt(0),\n            inclusive: false,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    nonpositive(message) {\n        return this._addCheck({\n            kind: \"max\",\n            value: BigInt(0),\n            inclusive: true,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    nonnegative(message) {\n        return this._addCheck({\n            kind: \"min\",\n            value: BigInt(0),\n            inclusive: true,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    multipleOf(value, message) {\n        return this._addCheck({\n            kind: \"multipleOf\",\n            value,\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    get minValue() {\n        let min = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"min\") {\n                if (min === null || ch.value > min)\n                    min = ch.value;\n            }\n        }\n        return min;\n    }\n    get maxValue() {\n        let max = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"max\") {\n                if (max === null || ch.value < max)\n                    max = ch.value;\n            }\n        }\n        return max;\n    }\n}\nexports.ZodBigInt = ZodBigInt;\nZodBigInt.create = (params) => {\n    var _a;\n    return new ZodBigInt({\n        checks: [],\n        typeName: ZodFirstPartyTypeKind.ZodBigInt,\n        coerce: (_a = params === null || params === void 0 ? void 0 : params.coerce) !== null && _a !== void 0 ? _a : false,\n        ...processCreateParams(params),\n    });\n};\nclass ZodBoolean extends ZodType {\n    _parse(input) {\n        if (this._def.coerce) {\n            input.data = Boolean(input.data);\n        }\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.boolean) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.boolean,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return (0, parseUtil_1.OK)(input.data);\n    }\n}\nexports.ZodBoolean = ZodBoolean;\nZodBoolean.create = (params) => {\n    return new ZodBoolean({\n        typeName: ZodFirstPartyTypeKind.ZodBoolean,\n        coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n        ...processCreateParams(params),\n    });\n};\nclass ZodDate extends ZodType {\n    _parse(input) {\n        if (this._def.coerce) {\n            input.data = new Date(input.data);\n        }\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.date) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.date,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        if (isNaN(input.data.getTime())) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_date,\n            });\n            return parseUtil_1.INVALID;\n        }\n        const status = new parseUtil_1.ParseStatus();\n        let ctx = undefined;\n        for (const check of this._def.checks) {\n            if (check.kind === \"min\") {\n                if (input.data.getTime() < check.value) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.too_small,\n                        message: check.message,\n                        inclusive: true,\n                        exact: false,\n                        minimum: check.value,\n                        type: \"date\",\n                    });\n                    status.dirty();\n                }\n            }\n            else if (check.kind === \"max\") {\n                if (input.data.getTime() > check.value) {\n                    ctx = this._getOrReturnCtx(input, ctx);\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.too_big,\n                        message: check.message,\n                        inclusive: true,\n                        exact: false,\n                        maximum: check.value,\n                        type: \"date\",\n                    });\n                    status.dirty();\n                }\n            }\n            else {\n                util_1.util.assertNever(check);\n            }\n        }\n        return {\n            status: status.value,\n            value: new Date(input.data.getTime()),\n        };\n    }\n    _addCheck(check) {\n        return new ZodDate({\n            ...this._def,\n            checks: [...this._def.checks, check],\n        });\n    }\n    min(minDate, message) {\n        return this._addCheck({\n            kind: \"min\",\n            value: minDate.getTime(),\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    max(maxDate, message) {\n        return this._addCheck({\n            kind: \"max\",\n            value: maxDate.getTime(),\n            message: errorUtil_1.errorUtil.toString(message),\n        });\n    }\n    get minDate() {\n        let min = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"min\") {\n                if (min === null || ch.value > min)\n                    min = ch.value;\n            }\n        }\n        return min != null ? new Date(min) : null;\n    }\n    get maxDate() {\n        let max = null;\n        for (const ch of this._def.checks) {\n            if (ch.kind === \"max\") {\n                if (max === null || ch.value < max)\n                    max = ch.value;\n            }\n        }\n        return max != null ? new Date(max) : null;\n    }\n}\nexports.ZodDate = ZodDate;\nZodDate.create = (params) => {\n    return new ZodDate({\n        checks: [],\n        coerce: (params === null || params === void 0 ? void 0 : params.coerce) || false,\n        typeName: ZodFirstPartyTypeKind.ZodDate,\n        ...processCreateParams(params),\n    });\n};\nclass ZodSymbol extends ZodType {\n    _parse(input) {\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.symbol) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.symbol,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return (0, parseUtil_1.OK)(input.data);\n    }\n}\nexports.ZodSymbol = ZodSymbol;\nZodSymbol.create = (params) => {\n    return new ZodSymbol({\n        typeName: ZodFirstPartyTypeKind.ZodSymbol,\n        ...processCreateParams(params),\n    });\n};\nclass ZodUndefined extends ZodType {\n    _parse(input) {\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.undefined) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.undefined,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return (0, parseUtil_1.OK)(input.data);\n    }\n}\nexports.ZodUndefined = ZodUndefined;\nZodUndefined.create = (params) => {\n    return new ZodUndefined({\n        typeName: ZodFirstPartyTypeKind.ZodUndefined,\n        ...processCreateParams(params),\n    });\n};\nclass ZodNull extends ZodType {\n    _parse(input) {\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.null) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.null,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return (0, parseUtil_1.OK)(input.data);\n    }\n}\nexports.ZodNull = ZodNull;\nZodNull.create = (params) => {\n    return new ZodNull({\n        typeName: ZodFirstPartyTypeKind.ZodNull,\n        ...processCreateParams(params),\n    });\n};\nclass ZodAny extends ZodType {\n    constructor() {\n        super(...arguments);\n        this._any = true;\n    }\n    _parse(input) {\n        return (0, parseUtil_1.OK)(input.data);\n    }\n}\nexports.ZodAny = ZodAny;\nZodAny.create = (params) => {\n    return new ZodAny({\n        typeName: ZodFirstPartyTypeKind.ZodAny,\n        ...processCreateParams(params),\n    });\n};\nclass ZodUnknown extends ZodType {\n    constructor() {\n        super(...arguments);\n        this._unknown = true;\n    }\n    _parse(input) {\n        return (0, parseUtil_1.OK)(input.data);\n    }\n}\nexports.ZodUnknown = ZodUnknown;\nZodUnknown.create = (params) => {\n    return new ZodUnknown({\n        typeName: ZodFirstPartyTypeKind.ZodUnknown,\n        ...processCreateParams(params),\n    });\n};\nclass ZodNever extends ZodType {\n    _parse(input) {\n        const ctx = this._getOrReturnCtx(input);\n        (0, parseUtil_1.addIssueToContext)(ctx, {\n            code: ZodError_1.ZodIssueCode.invalid_type,\n            expected: util_1.ZodParsedType.never,\n            received: ctx.parsedType,\n        });\n        return parseUtil_1.INVALID;\n    }\n}\nexports.ZodNever = ZodNever;\nZodNever.create = (params) => {\n    return new ZodNever({\n        typeName: ZodFirstPartyTypeKind.ZodNever,\n        ...processCreateParams(params),\n    });\n};\nclass ZodVoid extends ZodType {\n    _parse(input) {\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.undefined) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.void,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return (0, parseUtil_1.OK)(input.data);\n    }\n}\nexports.ZodVoid = ZodVoid;\nZodVoid.create = (params) => {\n    return new ZodVoid({\n        typeName: ZodFirstPartyTypeKind.ZodVoid,\n        ...processCreateParams(params),\n    });\n};\nclass ZodArray extends ZodType {\n    _parse(input) {\n        const { ctx, status } = this._processInputParams(input);\n        const def = this._def;\n        if (ctx.parsedType !== util_1.ZodParsedType.array) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.array,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        if (def.exactLength !== null) {\n            const tooBig = ctx.data.length > def.exactLength.value;\n            const tooSmall = ctx.data.length < def.exactLength.value;\n            if (tooBig || tooSmall) {\n                (0, parseUtil_1.addIssueToContext)(ctx, {\n                    code: tooBig ? ZodError_1.ZodIssueCode.too_big : ZodError_1.ZodIssueCode.too_small,\n                    minimum: (tooSmall ? def.exactLength.value : undefined),\n                    maximum: (tooBig ? def.exactLength.value : undefined),\n                    type: \"array\",\n                    inclusive: true,\n                    exact: true,\n                    message: def.exactLength.message,\n                });\n                status.dirty();\n            }\n        }\n        if (def.minLength !== null) {\n            if (ctx.data.length < def.minLength.value) {\n                (0, parseUtil_1.addIssueToContext)(ctx, {\n                    code: ZodError_1.ZodIssueCode.too_small,\n                    minimum: def.minLength.value,\n                    type: \"array\",\n                    inclusive: true,\n                    exact: false,\n                    message: def.minLength.message,\n                });\n                status.dirty();\n            }\n        }\n        if (def.maxLength !== null) {\n            if (ctx.data.length > def.maxLength.value) {\n                (0, parseUtil_1.addIssueToContext)(ctx, {\n                    code: ZodError_1.ZodIssueCode.too_big,\n                    maximum: def.maxLength.value,\n                    type: \"array\",\n                    inclusive: true,\n                    exact: false,\n                    message: def.maxLength.message,\n                });\n                status.dirty();\n            }\n        }\n        if (ctx.common.async) {\n            return Promise.all([...ctx.data].map((item, i) => {\n                return def.type._parseAsync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n            })).then((result) => {\n                return parseUtil_1.ParseStatus.mergeArray(status, result);\n            });\n        }\n        const result = [...ctx.data].map((item, i) => {\n            return def.type._parseSync(new ParseInputLazyPath(ctx, item, ctx.path, i));\n        });\n        return parseUtil_1.ParseStatus.mergeArray(status, result);\n    }\n    get element() {\n        return this._def.type;\n    }\n    min(minLength, message) {\n        return new ZodArray({\n            ...this._def,\n            minLength: { value: minLength, message: errorUtil_1.errorUtil.toString(message) },\n        });\n    }\n    max(maxLength, message) {\n        return new ZodArray({\n            ...this._def,\n            maxLength: { value: maxLength, message: errorUtil_1.errorUtil.toString(message) },\n        });\n    }\n    length(len, message) {\n        return new ZodArray({\n            ...this._def,\n            exactLength: { value: len, message: errorUtil_1.errorUtil.toString(message) },\n        });\n    }\n    nonempty(message) {\n        return this.min(1, message);\n    }\n}\nexports.ZodArray = ZodArray;\nZodArray.create = (schema, params) => {\n    return new ZodArray({\n        type: schema,\n        minLength: null,\n        maxLength: null,\n        exactLength: null,\n        typeName: ZodFirstPartyTypeKind.ZodArray,\n        ...processCreateParams(params),\n    });\n};\nfunction deepPartialify(schema) {\n    if (schema instanceof ZodObject) {\n        const newShape = {};\n        for (const key in schema.shape) {\n            const fieldSchema = schema.shape[key];\n            newShape[key] = ZodOptional.create(deepPartialify(fieldSchema));\n        }\n        return new ZodObject({\n            ...schema._def,\n            shape: () => newShape,\n        });\n    }\n    else if (schema instanceof ZodArray) {\n        return new ZodArray({\n            ...schema._def,\n            type: deepPartialify(schema.element),\n        });\n    }\n    else if (schema instanceof ZodOptional) {\n        return ZodOptional.create(deepPartialify(schema.unwrap()));\n    }\n    else if (schema instanceof ZodNullable) {\n        return ZodNullable.create(deepPartialify(schema.unwrap()));\n    }\n    else if (schema instanceof ZodTuple) {\n        return ZodTuple.create(schema.items.map((item) => deepPartialify(item)));\n    }\n    else {\n        return schema;\n    }\n}\nclass ZodObject extends ZodType {\n    constructor() {\n        super(...arguments);\n        this._cached = null;\n        this.nonstrict = this.passthrough;\n        this.augment = this.extend;\n    }\n    _getCached() {\n        if (this._cached !== null)\n            return this._cached;\n        const shape = this._def.shape();\n        const keys = util_1.util.objectKeys(shape);\n        return (this._cached = { shape, keys });\n    }\n    _parse(input) {\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.object) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.object,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        const { status, ctx } = this._processInputParams(input);\n        const { shape, keys: shapeKeys } = this._getCached();\n        const extraKeys = [];\n        if (!(this._def.catchall instanceof ZodNever &&\n            this._def.unknownKeys === \"strip\")) {\n            for (const key in ctx.data) {\n                if (!shapeKeys.includes(key)) {\n                    extraKeys.push(key);\n                }\n            }\n        }\n        const pairs = [];\n        for (const key of shapeKeys) {\n            const keyValidator = shape[key];\n            const value = ctx.data[key];\n            pairs.push({\n                key: { status: \"valid\", value: key },\n                value: keyValidator._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n                alwaysSet: key in ctx.data,\n            });\n        }\n        if (this._def.catchall instanceof ZodNever) {\n            const unknownKeys = this._def.unknownKeys;\n            if (unknownKeys === \"passthrough\") {\n                for (const key of extraKeys) {\n                    pairs.push({\n                        key: { status: \"valid\", value: key },\n                        value: { status: \"valid\", value: ctx.data[key] },\n                    });\n                }\n            }\n            else if (unknownKeys === \"strict\") {\n                if (extraKeys.length > 0) {\n                    (0, parseUtil_1.addIssueToContext)(ctx, {\n                        code: ZodError_1.ZodIssueCode.unrecognized_keys,\n                        keys: extraKeys,\n                    });\n                    status.dirty();\n                }\n            }\n            else if (unknownKeys === \"strip\") {\n            }\n            else {\n                throw new Error(`Internal ZodObject error: invalid unknownKeys value.`);\n            }\n        }\n        else {\n            const catchall = this._def.catchall;\n            for (const key of extraKeys) {\n                const value = ctx.data[key];\n                pairs.push({\n                    key: { status: \"valid\", value: key },\n                    value: catchall._parse(new ParseInputLazyPath(ctx, value, ctx.path, key)),\n                    alwaysSet: key in ctx.data,\n                });\n            }\n        }\n        if (ctx.common.async) {\n            return Promise.resolve()\n                .then(async () => {\n                const syncPairs = [];\n                for (const pair of pairs) {\n                    const key = await pair.key;\n                    syncPairs.push({\n                        key,\n                        value: await pair.value,\n                        alwaysSet: pair.alwaysSet,\n                    });\n                }\n                return syncPairs;\n            })\n                .then((syncPairs) => {\n                return parseUtil_1.ParseStatus.mergeObjectSync(status, syncPairs);\n            });\n        }\n        else {\n            return parseUtil_1.ParseStatus.mergeObjectSync(status, pairs);\n        }\n    }\n    get shape() {\n        return this._def.shape();\n    }\n    strict(message) {\n        errorUtil_1.errorUtil.errToObj;\n        return new ZodObject({\n            ...this._def,\n            unknownKeys: \"strict\",\n            ...(message !== undefined\n                ? {\n                    errorMap: (issue, ctx) => {\n                        var _a, _b, _c, _d;\n                        const defaultError = (_c = (_b = (_a = this._def).errorMap) === null || _b === void 0 ? void 0 : _b.call(_a, issue, ctx).message) !== null && _c !== void 0 ? _c : ctx.defaultError;\n                        if (issue.code === \"unrecognized_keys\")\n                            return {\n                                message: (_d = errorUtil_1.errorUtil.errToObj(message).message) !== null && _d !== void 0 ? _d : defaultError,\n                            };\n                        return {\n                            message: defaultError,\n                        };\n                    },\n                }\n                : {}),\n        });\n    }\n    strip() {\n        return new ZodObject({\n            ...this._def,\n            unknownKeys: \"strip\",\n        });\n    }\n    passthrough() {\n        return new ZodObject({\n            ...this._def,\n            unknownKeys: \"passthrough\",\n        });\n    }\n    extend(augmentation) {\n        return new ZodObject({\n            ...this._def,\n            shape: () => ({\n                ...this._def.shape(),\n                ...augmentation,\n            }),\n        });\n    }\n    merge(merging) {\n        const merged = new ZodObject({\n            unknownKeys: merging._def.unknownKeys,\n            catchall: merging._def.catchall,\n            shape: () => ({\n                ...this._def.shape(),\n                ...merging._def.shape(),\n            }),\n            typeName: ZodFirstPartyTypeKind.ZodObject,\n        });\n        return merged;\n    }\n    setKey(key, schema) {\n        return this.augment({ [key]: schema });\n    }\n    catchall(index) {\n        return new ZodObject({\n            ...this._def,\n            catchall: index,\n        });\n    }\n    pick(mask) {\n        const shape = {};\n        util_1.util.objectKeys(mask).forEach((key) => {\n            if (mask[key] && this.shape[key]) {\n                shape[key] = this.shape[key];\n            }\n        });\n        return new ZodObject({\n            ...this._def,\n            shape: () => shape,\n        });\n    }\n    omit(mask) {\n        const shape = {};\n        util_1.util.objectKeys(this.shape).forEach((key) => {\n            if (!mask[key]) {\n                shape[key] = this.shape[key];\n            }\n        });\n        return new ZodObject({\n            ...this._def,\n            shape: () => shape,\n        });\n    }\n    deepPartial() {\n        return deepPartialify(this);\n    }\n    partial(mask) {\n        const newShape = {};\n        util_1.util.objectKeys(this.shape).forEach((key) => {\n            const fieldSchema = this.shape[key];\n            if (mask && !mask[key]) {\n                newShape[key] = fieldSchema;\n            }\n            else {\n                newShape[key] = fieldSchema.optional();\n            }\n        });\n        return new ZodObject({\n            ...this._def,\n            shape: () => newShape,\n        });\n    }\n    required(mask) {\n        const newShape = {};\n        util_1.util.objectKeys(this.shape).forEach((key) => {\n            if (mask && !mask[key]) {\n                newShape[key] = this.shape[key];\n            }\n            else {\n                const fieldSchema = this.shape[key];\n                let newField = fieldSchema;\n                while (newField instanceof ZodOptional) {\n                    newField = newField._def.innerType;\n                }\n                newShape[key] = newField;\n            }\n        });\n        return new ZodObject({\n            ...this._def,\n            shape: () => newShape,\n        });\n    }\n    keyof() {\n        return createZodEnum(util_1.util.objectKeys(this.shape));\n    }\n}\nexports.ZodObject = ZodObject;\nZodObject.create = (shape, params) => {\n    return new ZodObject({\n        shape: () => shape,\n        unknownKeys: \"strip\",\n        catchall: ZodNever.create(),\n        typeName: ZodFirstPartyTypeKind.ZodObject,\n        ...processCreateParams(params),\n    });\n};\nZodObject.strictCreate = (shape, params) => {\n    return new ZodObject({\n        shape: () => shape,\n        unknownKeys: \"strict\",\n        catchall: ZodNever.create(),\n        typeName: ZodFirstPartyTypeKind.ZodObject,\n        ...processCreateParams(params),\n    });\n};\nZodObject.lazycreate = (shape, params) => {\n    return new ZodObject({\n        shape,\n        unknownKeys: \"strip\",\n        catchall: ZodNever.create(),\n        typeName: ZodFirstPartyTypeKind.ZodObject,\n        ...processCreateParams(params),\n    });\n};\nclass ZodUnion extends ZodType {\n    _parse(input) {\n        const { ctx } = this._processInputParams(input);\n        const options = this._def.options;\n        function handleResults(results) {\n            for (const result of results) {\n                if (result.result.status === \"valid\") {\n                    return result.result;\n                }\n            }\n            for (const result of results) {\n                if (result.result.status === \"dirty\") {\n                    ctx.common.issues.push(...result.ctx.common.issues);\n                    return result.result;\n                }\n            }\n            const unionErrors = results.map((result) => new ZodError_1.ZodError(result.ctx.common.issues));\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_union,\n                unionErrors,\n            });\n            return parseUtil_1.INVALID;\n        }\n        if (ctx.common.async) {\n            return Promise.all(options.map(async (option) => {\n                const childCtx = {\n                    ...ctx,\n                    common: {\n                        ...ctx.common,\n                        issues: [],\n                    },\n                    parent: null,\n                };\n                return {\n                    result: await option._parseAsync({\n                        data: ctx.data,\n                        path: ctx.path,\n                        parent: childCtx,\n                    }),\n                    ctx: childCtx,\n                };\n            })).then(handleResults);\n        }\n        else {\n            let dirty = undefined;\n            const issues = [];\n            for (const option of options) {\n                const childCtx = {\n                    ...ctx,\n                    common: {\n                        ...ctx.common,\n                        issues: [],\n                    },\n                    parent: null,\n                };\n                const result = option._parseSync({\n                    data: ctx.data,\n                    path: ctx.path,\n                    parent: childCtx,\n                });\n                if (result.status === \"valid\") {\n                    return result;\n                }\n                else if (result.status === \"dirty\" && !dirty) {\n                    dirty = { result, ctx: childCtx };\n                }\n                if (childCtx.common.issues.length) {\n                    issues.push(childCtx.common.issues);\n                }\n            }\n            if (dirty) {\n                ctx.common.issues.push(...dirty.ctx.common.issues);\n                return dirty.result;\n            }\n            const unionErrors = issues.map((issues) => new ZodError_1.ZodError(issues));\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_union,\n                unionErrors,\n            });\n            return parseUtil_1.INVALID;\n        }\n    }\n    get options() {\n        return this._def.options;\n    }\n}\nexports.ZodUnion = ZodUnion;\nZodUnion.create = (types, params) => {\n    return new ZodUnion({\n        options: types,\n        typeName: ZodFirstPartyTypeKind.ZodUnion,\n        ...processCreateParams(params),\n    });\n};\nconst getDiscriminator = (type) => {\n    if (type instanceof ZodLazy) {\n        return getDiscriminator(type.schema);\n    }\n    else if (type instanceof ZodEffects) {\n        return getDiscriminator(type.innerType());\n    }\n    else if (type instanceof ZodLiteral) {\n        return [type.value];\n    }\n    else if (type instanceof ZodEnum) {\n        return type.options;\n    }\n    else if (type instanceof ZodNativeEnum) {\n        return Object.keys(type.enum);\n    }\n    else if (type instanceof ZodDefault) {\n        return getDiscriminator(type._def.innerType);\n    }\n    else if (type instanceof ZodUndefined) {\n        return [undefined];\n    }\n    else if (type instanceof ZodNull) {\n        return [null];\n    }\n    else {\n        return null;\n    }\n};\nclass ZodDiscriminatedUnion extends ZodType {\n    _parse(input) {\n        const { ctx } = this._processInputParams(input);\n        if (ctx.parsedType !== util_1.ZodParsedType.object) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.object,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        const discriminator = this.discriminator;\n        const discriminatorValue = ctx.data[discriminator];\n        const option = this.optionsMap.get(discriminatorValue);\n        if (!option) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_union_discriminator,\n                options: Array.from(this.optionsMap.keys()),\n                path: [discriminator],\n            });\n            return parseUtil_1.INVALID;\n        }\n        if (ctx.common.async) {\n            return option._parseAsync({\n                data: ctx.data,\n                path: ctx.path,\n                parent: ctx,\n            });\n        }\n        else {\n            return option._parseSync({\n                data: ctx.data,\n                path: ctx.path,\n                parent: ctx,\n            });\n        }\n    }\n    get discriminator() {\n        return this._def.discriminator;\n    }\n    get options() {\n        return this._def.options;\n    }\n    get optionsMap() {\n        return this._def.optionsMap;\n    }\n    static create(discriminator, options, params) {\n        const optionsMap = new Map();\n        for (const type of options) {\n            const discriminatorValues = getDiscriminator(type.shape[discriminator]);\n            if (!discriminatorValues) {\n                throw new Error(`A discriminator value for key \\`${discriminator}\\` could not be extracted from all schema options`);\n            }\n            for (const value of discriminatorValues) {\n                if (optionsMap.has(value)) {\n                    throw new Error(`Discriminator property ${String(discriminator)} has duplicate value ${String(value)}`);\n                }\n                optionsMap.set(value, type);\n            }\n        }\n        return new ZodDiscriminatedUnion({\n            typeName: ZodFirstPartyTypeKind.ZodDiscriminatedUnion,\n            discriminator,\n            options,\n            optionsMap,\n            ...processCreateParams(params),\n        });\n    }\n}\nexports.ZodDiscriminatedUnion = ZodDiscriminatedUnion;\nfunction mergeValues(a, b) {\n    const aType = (0, util_1.getParsedType)(a);\n    const bType = (0, util_1.getParsedType)(b);\n    if (a === b) {\n        return { valid: true, data: a };\n    }\n    else if (aType === util_1.ZodParsedType.object && bType === util_1.ZodParsedType.object) {\n        const bKeys = util_1.util.objectKeys(b);\n        const sharedKeys = util_1.util\n            .objectKeys(a)\n            .filter((key) => bKeys.indexOf(key) !== -1);\n        const newObj = { ...a, ...b };\n        for (const key of sharedKeys) {\n            const sharedValue = mergeValues(a[key], b[key]);\n            if (!sharedValue.valid) {\n                return { valid: false };\n            }\n            newObj[key] = sharedValue.data;\n        }\n        return { valid: true, data: newObj };\n    }\n    else if (aType === util_1.ZodParsedType.array && bType === util_1.ZodParsedType.array) {\n        if (a.length !== b.length) {\n            return { valid: false };\n        }\n        const newArray = [];\n        for (let index = 0; index < a.length; index++) {\n            const itemA = a[index];\n            const itemB = b[index];\n            const sharedValue = mergeValues(itemA, itemB);\n            if (!sharedValue.valid) {\n                return { valid: false };\n            }\n            newArray.push(sharedValue.data);\n        }\n        return { valid: true, data: newArray };\n    }\n    else if (aType === util_1.ZodParsedType.date &&\n        bType === util_1.ZodParsedType.date &&\n        +a === +b) {\n        return { valid: true, data: a };\n    }\n    else {\n        return { valid: false };\n    }\n}\nclass ZodIntersection extends ZodType {\n    _parse(input) {\n        const { status, ctx } = this._processInputParams(input);\n        const handleParsed = (parsedLeft, parsedRight) => {\n            if ((0, parseUtil_1.isAborted)(parsedLeft) || (0, parseUtil_1.isAborted)(parsedRight)) {\n                return parseUtil_1.INVALID;\n            }\n            const merged = mergeValues(parsedLeft.value, parsedRight.value);\n            if (!merged.valid) {\n                (0, parseUtil_1.addIssueToContext)(ctx, {\n                    code: ZodError_1.ZodIssueCode.invalid_intersection_types,\n                });\n                return parseUtil_1.INVALID;\n            }\n            if ((0, parseUtil_1.isDirty)(parsedLeft) || (0, parseUtil_1.isDirty)(parsedRight)) {\n                status.dirty();\n            }\n            return { status: status.value, value: merged.data };\n        };\n        if (ctx.common.async) {\n            return Promise.all([\n                this._def.left._parseAsync({\n                    data: ctx.data,\n                    path: ctx.path,\n                    parent: ctx,\n                }),\n                this._def.right._parseAsync({\n                    data: ctx.data,\n                    path: ctx.path,\n                    parent: ctx,\n                }),\n            ]).then(([left, right]) => handleParsed(left, right));\n        }\n        else {\n            return handleParsed(this._def.left._parseSync({\n                data: ctx.data,\n                path: ctx.path,\n                parent: ctx,\n            }), this._def.right._parseSync({\n                data: ctx.data,\n                path: ctx.path,\n                parent: ctx,\n            }));\n        }\n    }\n}\nexports.ZodIntersection = ZodIntersection;\nZodIntersection.create = (left, right, params) => {\n    return new ZodIntersection({\n        left: left,\n        right: right,\n        typeName: ZodFirstPartyTypeKind.ZodIntersection,\n        ...processCreateParams(params),\n    });\n};\nclass ZodTuple extends ZodType {\n    _parse(input) {\n        const { status, ctx } = this._processInputParams(input);\n        if (ctx.parsedType !== util_1.ZodParsedType.array) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.array,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        if (ctx.data.length < this._def.items.length) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.too_small,\n                minimum: this._def.items.length,\n                inclusive: true,\n                exact: false,\n                type: \"array\",\n            });\n            return parseUtil_1.INVALID;\n        }\n        const rest = this._def.rest;\n        if (!rest && ctx.data.length > this._def.items.length) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.too_big,\n                maximum: this._def.items.length,\n                inclusive: true,\n                exact: false,\n                type: \"array\",\n            });\n            status.dirty();\n        }\n        const items = [...ctx.data]\n            .map((item, itemIndex) => {\n            const schema = this._def.items[itemIndex] || this._def.rest;\n            if (!schema)\n                return null;\n            return schema._parse(new ParseInputLazyPath(ctx, item, ctx.path, itemIndex));\n        })\n            .filter((x) => !!x);\n        if (ctx.common.async) {\n            return Promise.all(items).then((results) => {\n                return parseUtil_1.ParseStatus.mergeArray(status, results);\n            });\n        }\n        else {\n            return parseUtil_1.ParseStatus.mergeArray(status, items);\n        }\n    }\n    get items() {\n        return this._def.items;\n    }\n    rest(rest) {\n        return new ZodTuple({\n            ...this._def,\n            rest,\n        });\n    }\n}\nexports.ZodTuple = ZodTuple;\nZodTuple.create = (schemas, params) => {\n    if (!Array.isArray(schemas)) {\n        throw new Error(\"You must pass an array of schemas to z.tuple([ ... ])\");\n    }\n    return new ZodTuple({\n        items: schemas,\n        typeName: ZodFirstPartyTypeKind.ZodTuple,\n        rest: null,\n        ...processCreateParams(params),\n    });\n};\nclass ZodRecord extends ZodType {\n    get keySchema() {\n        return this._def.keyType;\n    }\n    get valueSchema() {\n        return this._def.valueType;\n    }\n    _parse(input) {\n        const { status, ctx } = this._processInputParams(input);\n        if (ctx.parsedType !== util_1.ZodParsedType.object) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.object,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        const pairs = [];\n        const keyType = this._def.keyType;\n        const valueType = this._def.valueType;\n        for (const key in ctx.data) {\n            pairs.push({\n                key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, key)),\n                value: valueType._parse(new ParseInputLazyPath(ctx, ctx.data[key], ctx.path, key)),\n            });\n        }\n        if (ctx.common.async) {\n            return parseUtil_1.ParseStatus.mergeObjectAsync(status, pairs);\n        }\n        else {\n            return parseUtil_1.ParseStatus.mergeObjectSync(status, pairs);\n        }\n    }\n    get element() {\n        return this._def.valueType;\n    }\n    static create(first, second, third) {\n        if (second instanceof ZodType) {\n            return new ZodRecord({\n                keyType: first,\n                valueType: second,\n                typeName: ZodFirstPartyTypeKind.ZodRecord,\n                ...processCreateParams(third),\n            });\n        }\n        return new ZodRecord({\n            keyType: ZodString.create(),\n            valueType: first,\n            typeName: ZodFirstPartyTypeKind.ZodRecord,\n            ...processCreateParams(second),\n        });\n    }\n}\nexports.ZodRecord = ZodRecord;\nclass ZodMap extends ZodType {\n    _parse(input) {\n        const { status, ctx } = this._processInputParams(input);\n        if (ctx.parsedType !== util_1.ZodParsedType.map) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.map,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        const keyType = this._def.keyType;\n        const valueType = this._def.valueType;\n        const pairs = [...ctx.data.entries()].map(([key, value], index) => {\n            return {\n                key: keyType._parse(new ParseInputLazyPath(ctx, key, ctx.path, [index, \"key\"])),\n                value: valueType._parse(new ParseInputLazyPath(ctx, value, ctx.path, [index, \"value\"])),\n            };\n        });\n        if (ctx.common.async) {\n            const finalMap = new Map();\n            return Promise.resolve().then(async () => {\n                for (const pair of pairs) {\n                    const key = await pair.key;\n                    const value = await pair.value;\n                    if (key.status === \"aborted\" || value.status === \"aborted\") {\n                        return parseUtil_1.INVALID;\n                    }\n                    if (key.status === \"dirty\" || value.status === \"dirty\") {\n                        status.dirty();\n                    }\n                    finalMap.set(key.value, value.value);\n                }\n                return { status: status.value, value: finalMap };\n            });\n        }\n        else {\n            const finalMap = new Map();\n            for (const pair of pairs) {\n                const key = pair.key;\n                const value = pair.value;\n                if (key.status === \"aborted\" || value.status === \"aborted\") {\n                    return parseUtil_1.INVALID;\n                }\n                if (key.status === \"dirty\" || value.status === \"dirty\") {\n                    status.dirty();\n                }\n                finalMap.set(key.value, value.value);\n            }\n            return { status: status.value, value: finalMap };\n        }\n    }\n}\nexports.ZodMap = ZodMap;\nZodMap.create = (keyType, valueType, params) => {\n    return new ZodMap({\n        valueType,\n        keyType,\n        typeName: ZodFirstPartyTypeKind.ZodMap,\n        ...processCreateParams(params),\n    });\n};\nclass ZodSet extends ZodType {\n    _parse(input) {\n        const { status, ctx } = this._processInputParams(input);\n        if (ctx.parsedType !== util_1.ZodParsedType.set) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.set,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        const def = this._def;\n        if (def.minSize !== null) {\n            if (ctx.data.size < def.minSize.value) {\n                (0, parseUtil_1.addIssueToContext)(ctx, {\n                    code: ZodError_1.ZodIssueCode.too_small,\n                    minimum: def.minSize.value,\n                    type: \"set\",\n                    inclusive: true,\n                    exact: false,\n                    message: def.minSize.message,\n                });\n                status.dirty();\n            }\n        }\n        if (def.maxSize !== null) {\n            if (ctx.data.size > def.maxSize.value) {\n                (0, parseUtil_1.addIssueToContext)(ctx, {\n                    code: ZodError_1.ZodIssueCode.too_big,\n                    maximum: def.maxSize.value,\n                    type: \"set\",\n                    inclusive: true,\n                    exact: false,\n                    message: def.maxSize.message,\n                });\n                status.dirty();\n            }\n        }\n        const valueType = this._def.valueType;\n        function finalizeSet(elements) {\n            const parsedSet = new Set();\n            for (const element of elements) {\n                if (element.status === \"aborted\")\n                    return parseUtil_1.INVALID;\n                if (element.status === \"dirty\")\n                    status.dirty();\n                parsedSet.add(element.value);\n            }\n            return { status: status.value, value: parsedSet };\n        }\n        const elements = [...ctx.data.values()].map((item, i) => valueType._parse(new ParseInputLazyPath(ctx, item, ctx.path, i)));\n        if (ctx.common.async) {\n            return Promise.all(elements).then((elements) => finalizeSet(elements));\n        }\n        else {\n            return finalizeSet(elements);\n        }\n    }\n    min(minSize, message) {\n        return new ZodSet({\n            ...this._def,\n            minSize: { value: minSize, message: errorUtil_1.errorUtil.toString(message) },\n        });\n    }\n    max(maxSize, message) {\n        return new ZodSet({\n            ...this._def,\n            maxSize: { value: maxSize, message: errorUtil_1.errorUtil.toString(message) },\n        });\n    }\n    size(size, message) {\n        return this.min(size, message).max(size, message);\n    }\n    nonempty(message) {\n        return this.min(1, message);\n    }\n}\nexports.ZodSet = ZodSet;\nZodSet.create = (valueType, params) => {\n    return new ZodSet({\n        valueType,\n        minSize: null,\n        maxSize: null,\n        typeName: ZodFirstPartyTypeKind.ZodSet,\n        ...processCreateParams(params),\n    });\n};\nclass ZodFunction extends ZodType {\n    constructor() {\n        super(...arguments);\n        this.validate = this.implement;\n    }\n    _parse(input) {\n        const { ctx } = this._processInputParams(input);\n        if (ctx.parsedType !== util_1.ZodParsedType.function) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.function,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        function makeArgsIssue(args, error) {\n            return (0, parseUtil_1.makeIssue)({\n                data: args,\n                path: ctx.path,\n                errorMaps: [\n                    ctx.common.contextualErrorMap,\n                    ctx.schemaErrorMap,\n                    (0, errors_1.getErrorMap)(),\n                    errors_1.defaultErrorMap,\n                ].filter((x) => !!x),\n                issueData: {\n                    code: ZodError_1.ZodIssueCode.invalid_arguments,\n                    argumentsError: error,\n                },\n            });\n        }\n        function makeReturnsIssue(returns, error) {\n            return (0, parseUtil_1.makeIssue)({\n                data: returns,\n                path: ctx.path,\n                errorMaps: [\n                    ctx.common.contextualErrorMap,\n                    ctx.schemaErrorMap,\n                    (0, errors_1.getErrorMap)(),\n                    errors_1.defaultErrorMap,\n                ].filter((x) => !!x),\n                issueData: {\n                    code: ZodError_1.ZodIssueCode.invalid_return_type,\n                    returnTypeError: error,\n                },\n            });\n        }\n        const params = { errorMap: ctx.common.contextualErrorMap };\n        const fn = ctx.data;\n        if (this._def.returns instanceof ZodPromise) {\n            return (0, parseUtil_1.OK)(async (...args) => {\n                const error = new ZodError_1.ZodError([]);\n                const parsedArgs = await this._def.args\n                    .parseAsync(args, params)\n                    .catch((e) => {\n                    error.addIssue(makeArgsIssue(args, e));\n                    throw error;\n                });\n                const result = await fn(...parsedArgs);\n                const parsedReturns = await this._def.returns._def.type\n                    .parseAsync(result, params)\n                    .catch((e) => {\n                    error.addIssue(makeReturnsIssue(result, e));\n                    throw error;\n                });\n                return parsedReturns;\n            });\n        }\n        else {\n            return (0, parseUtil_1.OK)((...args) => {\n                const parsedArgs = this._def.args.safeParse(args, params);\n                if (!parsedArgs.success) {\n                    throw new ZodError_1.ZodError([makeArgsIssue(args, parsedArgs.error)]);\n                }\n                const result = fn(...parsedArgs.data);\n                const parsedReturns = this._def.returns.safeParse(result, params);\n                if (!parsedReturns.success) {\n                    throw new ZodError_1.ZodError([makeReturnsIssue(result, parsedReturns.error)]);\n                }\n                return parsedReturns.data;\n            });\n        }\n    }\n    parameters() {\n        return this._def.args;\n    }\n    returnType() {\n        return this._def.returns;\n    }\n    args(...items) {\n        return new ZodFunction({\n            ...this._def,\n            args: ZodTuple.create(items).rest(ZodUnknown.create()),\n        });\n    }\n    returns(returnType) {\n        return new ZodFunction({\n            ...this._def,\n            returns: returnType,\n        });\n    }\n    implement(func) {\n        const validatedFunc = this.parse(func);\n        return validatedFunc;\n    }\n    strictImplement(func) {\n        const validatedFunc = this.parse(func);\n        return validatedFunc;\n    }\n    static create(args, returns, params) {\n        return new ZodFunction({\n            args: (args\n                ? args\n                : ZodTuple.create([]).rest(ZodUnknown.create())),\n            returns: returns || ZodUnknown.create(),\n            typeName: ZodFirstPartyTypeKind.ZodFunction,\n            ...processCreateParams(params),\n        });\n    }\n}\nexports.ZodFunction = ZodFunction;\nclass ZodLazy extends ZodType {\n    get schema() {\n        return this._def.getter();\n    }\n    _parse(input) {\n        const { ctx } = this._processInputParams(input);\n        const lazySchema = this._def.getter();\n        return lazySchema._parse({ data: ctx.data, path: ctx.path, parent: ctx });\n    }\n}\nexports.ZodLazy = ZodLazy;\nZodLazy.create = (getter, params) => {\n    return new ZodLazy({\n        getter: getter,\n        typeName: ZodFirstPartyTypeKind.ZodLazy,\n        ...processCreateParams(params),\n    });\n};\nclass ZodLiteral extends ZodType {\n    _parse(input) {\n        if (input.data !== this._def.value) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                received: ctx.data,\n                code: ZodError_1.ZodIssueCode.invalid_literal,\n                expected: this._def.value,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return { status: \"valid\", value: input.data };\n    }\n    get value() {\n        return this._def.value;\n    }\n}\nexports.ZodLiteral = ZodLiteral;\nZodLiteral.create = (value, params) => {\n    return new ZodLiteral({\n        value: value,\n        typeName: ZodFirstPartyTypeKind.ZodLiteral,\n        ...processCreateParams(params),\n    });\n};\nfunction createZodEnum(values, params) {\n    return new ZodEnum({\n        values: values,\n        typeName: ZodFirstPartyTypeKind.ZodEnum,\n        ...processCreateParams(params),\n    });\n}\nclass ZodEnum extends ZodType {\n    _parse(input) {\n        if (typeof input.data !== \"string\") {\n            const ctx = this._getOrReturnCtx(input);\n            const expectedValues = this._def.values;\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                expected: util_1.util.joinValues(expectedValues),\n                received: ctx.parsedType,\n                code: ZodError_1.ZodIssueCode.invalid_type,\n            });\n            return parseUtil_1.INVALID;\n        }\n        if (this._def.values.indexOf(input.data) === -1) {\n            const ctx = this._getOrReturnCtx(input);\n            const expectedValues = this._def.values;\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                received: ctx.data,\n                code: ZodError_1.ZodIssueCode.invalid_enum_value,\n                options: expectedValues,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return (0, parseUtil_1.OK)(input.data);\n    }\n    get options() {\n        return this._def.values;\n    }\n    get enum() {\n        const enumValues = {};\n        for (const val of this._def.values) {\n            enumValues[val] = val;\n        }\n        return enumValues;\n    }\n    get Values() {\n        const enumValues = {};\n        for (const val of this._def.values) {\n            enumValues[val] = val;\n        }\n        return enumValues;\n    }\n    get Enum() {\n        const enumValues = {};\n        for (const val of this._def.values) {\n            enumValues[val] = val;\n        }\n        return enumValues;\n    }\n    extract(values) {\n        return ZodEnum.create(values);\n    }\n    exclude(values) {\n        return ZodEnum.create(this.options.filter((opt) => !values.includes(opt)));\n    }\n}\nexports.ZodEnum = ZodEnum;\nZodEnum.create = createZodEnum;\nclass ZodNativeEnum extends ZodType {\n    _parse(input) {\n        const nativeEnumValues = util_1.util.getValidEnumValues(this._def.values);\n        const ctx = this._getOrReturnCtx(input);\n        if (ctx.parsedType !== util_1.ZodParsedType.string &&\n            ctx.parsedType !== util_1.ZodParsedType.number) {\n            const expectedValues = util_1.util.objectValues(nativeEnumValues);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                expected: util_1.util.joinValues(expectedValues),\n                received: ctx.parsedType,\n                code: ZodError_1.ZodIssueCode.invalid_type,\n            });\n            return parseUtil_1.INVALID;\n        }\n        if (nativeEnumValues.indexOf(input.data) === -1) {\n            const expectedValues = util_1.util.objectValues(nativeEnumValues);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                received: ctx.data,\n                code: ZodError_1.ZodIssueCode.invalid_enum_value,\n                options: expectedValues,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return (0, parseUtil_1.OK)(input.data);\n    }\n    get enum() {\n        return this._def.values;\n    }\n}\nexports.ZodNativeEnum = ZodNativeEnum;\nZodNativeEnum.create = (values, params) => {\n    return new ZodNativeEnum({\n        values: values,\n        typeName: ZodFirstPartyTypeKind.ZodNativeEnum,\n        ...processCreateParams(params),\n    });\n};\nclass ZodPromise extends ZodType {\n    unwrap() {\n        return this._def.type;\n    }\n    _parse(input) {\n        const { ctx } = this._processInputParams(input);\n        if (ctx.parsedType !== util_1.ZodParsedType.promise &&\n            ctx.common.async === false) {\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.promise,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        const promisified = ctx.parsedType === util_1.ZodParsedType.promise\n            ? ctx.data\n            : Promise.resolve(ctx.data);\n        return (0, parseUtil_1.OK)(promisified.then((data) => {\n            return this._def.type.parseAsync(data, {\n                path: ctx.path,\n                errorMap: ctx.common.contextualErrorMap,\n            });\n        }));\n    }\n}\nexports.ZodPromise = ZodPromise;\nZodPromise.create = (schema, params) => {\n    return new ZodPromise({\n        type: schema,\n        typeName: ZodFirstPartyTypeKind.ZodPromise,\n        ...processCreateParams(params),\n    });\n};\nclass ZodEffects extends ZodType {\n    innerType() {\n        return this._def.schema;\n    }\n    sourceType() {\n        return this._def.schema._def.typeName === ZodFirstPartyTypeKind.ZodEffects\n            ? this._def.schema.sourceType()\n            : this._def.schema;\n    }\n    _parse(input) {\n        const { status, ctx } = this._processInputParams(input);\n        const effect = this._def.effect || null;\n        if (effect.type === \"preprocess\") {\n            const processed = effect.transform(ctx.data);\n            if (ctx.common.async) {\n                return Promise.resolve(processed).then((processed) => {\n                    return this._def.schema._parseAsync({\n                        data: processed,\n                        path: ctx.path,\n                        parent: ctx,\n                    });\n                });\n            }\n            else {\n                return this._def.schema._parseSync({\n                    data: processed,\n                    path: ctx.path,\n                    parent: ctx,\n                });\n            }\n        }\n        const checkCtx = {\n            addIssue: (arg) => {\n                (0, parseUtil_1.addIssueToContext)(ctx, arg);\n                if (arg.fatal) {\n                    status.abort();\n                }\n                else {\n                    status.dirty();\n                }\n            },\n            get path() {\n                return ctx.path;\n            },\n        };\n        checkCtx.addIssue = checkCtx.addIssue.bind(checkCtx);\n        if (effect.type === \"refinement\") {\n            const executeRefinement = (acc) => {\n                const result = effect.refinement(acc, checkCtx);\n                if (ctx.common.async) {\n                    return Promise.resolve(result);\n                }\n                if (result instanceof Promise) {\n                    throw new Error(\"Async refinement encountered during synchronous parse operation. Use .parseAsync instead.\");\n                }\n                return acc;\n            };\n            if (ctx.common.async === false) {\n                const inner = this._def.schema._parseSync({\n                    data: ctx.data,\n                    path: ctx.path,\n                    parent: ctx,\n                });\n                if (inner.status === \"aborted\")\n                    return parseUtil_1.INVALID;\n                if (inner.status === \"dirty\")\n                    status.dirty();\n                executeRefinement(inner.value);\n                return { status: status.value, value: inner.value };\n            }\n            else {\n                return this._def.schema\n                    ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n                    .then((inner) => {\n                    if (inner.status === \"aborted\")\n                        return parseUtil_1.INVALID;\n                    if (inner.status === \"dirty\")\n                        status.dirty();\n                    return executeRefinement(inner.value).then(() => {\n                        return { status: status.value, value: inner.value };\n                    });\n                });\n            }\n        }\n        if (effect.type === \"transform\") {\n            if (ctx.common.async === false) {\n                const base = this._def.schema._parseSync({\n                    data: ctx.data,\n                    path: ctx.path,\n                    parent: ctx,\n                });\n                if (!(0, parseUtil_1.isValid)(base))\n                    return base;\n                const result = effect.transform(base.value, checkCtx);\n                if (result instanceof Promise) {\n                    throw new Error(`Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.`);\n                }\n                return { status: status.value, value: result };\n            }\n            else {\n                return this._def.schema\n                    ._parseAsync({ data: ctx.data, path: ctx.path, parent: ctx })\n                    .then((base) => {\n                    if (!(0, parseUtil_1.isValid)(base))\n                        return base;\n                    return Promise.resolve(effect.transform(base.value, checkCtx)).then((result) => ({ status: status.value, value: result }));\n                });\n            }\n        }\n        util_1.util.assertNever(effect);\n    }\n}\nexports.ZodEffects = ZodEffects;\nexports.ZodTransformer = ZodEffects;\nZodEffects.create = (schema, effect, params) => {\n    return new ZodEffects({\n        schema,\n        typeName: ZodFirstPartyTypeKind.ZodEffects,\n        effect,\n        ...processCreateParams(params),\n    });\n};\nZodEffects.createWithPreprocess = (preprocess, schema, params) => {\n    return new ZodEffects({\n        schema,\n        effect: { type: \"preprocess\", transform: preprocess },\n        typeName: ZodFirstPartyTypeKind.ZodEffects,\n        ...processCreateParams(params),\n    });\n};\nclass ZodOptional extends ZodType {\n    _parse(input) {\n        const parsedType = this._getType(input);\n        if (parsedType === util_1.ZodParsedType.undefined) {\n            return (0, parseUtil_1.OK)(undefined);\n        }\n        return this._def.innerType._parse(input);\n    }\n    unwrap() {\n        return this._def.innerType;\n    }\n}\nexports.ZodOptional = ZodOptional;\nZodOptional.create = (type, params) => {\n    return new ZodOptional({\n        innerType: type,\n        typeName: ZodFirstPartyTypeKind.ZodOptional,\n        ...processCreateParams(params),\n    });\n};\nclass ZodNullable extends ZodType {\n    _parse(input) {\n        const parsedType = this._getType(input);\n        if (parsedType === util_1.ZodParsedType.null) {\n            return (0, parseUtil_1.OK)(null);\n        }\n        return this._def.innerType._parse(input);\n    }\n    unwrap() {\n        return this._def.innerType;\n    }\n}\nexports.ZodNullable = ZodNullable;\nZodNullable.create = (type, params) => {\n    return new ZodNullable({\n        innerType: type,\n        typeName: ZodFirstPartyTypeKind.ZodNullable,\n        ...processCreateParams(params),\n    });\n};\nclass ZodDefault extends ZodType {\n    _parse(input) {\n        const { ctx } = this._processInputParams(input);\n        let data = ctx.data;\n        if (ctx.parsedType === util_1.ZodParsedType.undefined) {\n            data = this._def.defaultValue();\n        }\n        return this._def.innerType._parse({\n            data,\n            path: ctx.path,\n            parent: ctx,\n        });\n    }\n    removeDefault() {\n        return this._def.innerType;\n    }\n}\nexports.ZodDefault = ZodDefault;\nZodDefault.create = (type, params) => {\n    return new ZodDefault({\n        innerType: type,\n        typeName: ZodFirstPartyTypeKind.ZodDefault,\n        defaultValue: typeof params.default === \"function\"\n            ? params.default\n            : () => params.default,\n        ...processCreateParams(params),\n    });\n};\nclass ZodCatch extends ZodType {\n    _parse(input) {\n        const { ctx } = this._processInputParams(input);\n        const newCtx = {\n            ...ctx,\n            common: {\n                ...ctx.common,\n                issues: [],\n            },\n        };\n        const result = this._def.innerType._parse({\n            data: newCtx.data,\n            path: newCtx.path,\n            parent: {\n                ...newCtx,\n            },\n        });\n        if ((0, parseUtil_1.isAsync)(result)) {\n            return result.then((result) => {\n                return {\n                    status: \"valid\",\n                    value: result.status === \"valid\"\n                        ? result.value\n                        : this._def.catchValue({\n                            get error() {\n                                return new ZodError_1.ZodError(newCtx.common.issues);\n                            },\n                            input: newCtx.data,\n                        }),\n                };\n            });\n        }\n        else {\n            return {\n                status: \"valid\",\n                value: result.status === \"valid\"\n                    ? result.value\n                    : this._def.catchValue({\n                        get error() {\n                            return new ZodError_1.ZodError(newCtx.common.issues);\n                        },\n                        input: newCtx.data,\n                    }),\n            };\n        }\n    }\n    removeCatch() {\n        return this._def.innerType;\n    }\n}\nexports.ZodCatch = ZodCatch;\nZodCatch.create = (type, params) => {\n    return new ZodCatch({\n        innerType: type,\n        typeName: ZodFirstPartyTypeKind.ZodCatch,\n        catchValue: typeof params.catch === \"function\" ? params.catch : () => params.catch,\n        ...processCreateParams(params),\n    });\n};\nclass ZodNaN extends ZodType {\n    _parse(input) {\n        const parsedType = this._getType(input);\n        if (parsedType !== util_1.ZodParsedType.nan) {\n            const ctx = this._getOrReturnCtx(input);\n            (0, parseUtil_1.addIssueToContext)(ctx, {\n                code: ZodError_1.ZodIssueCode.invalid_type,\n                expected: util_1.ZodParsedType.nan,\n                received: ctx.parsedType,\n            });\n            return parseUtil_1.INVALID;\n        }\n        return { status: \"valid\", value: input.data };\n    }\n}\nexports.ZodNaN = ZodNaN;\nZodNaN.create = (params) => {\n    return new ZodNaN({\n        typeName: ZodFirstPartyTypeKind.ZodNaN,\n        ...processCreateParams(params),\n    });\n};\nexports.BRAND = Symbol(\"zod_brand\");\nclass ZodBranded extends ZodType {\n    _parse(input) {\n        const { ctx } = this._processInputParams(input);\n        const data = ctx.data;\n        return this._def.type._parse({\n            data,\n            path: ctx.path,\n            parent: ctx,\n        });\n    }\n    unwrap() {\n        return this._def.type;\n    }\n}\nexports.ZodBranded = ZodBranded;\nclass ZodPipeline extends ZodType {\n    _parse(input) {\n        const { status, ctx } = this._processInputParams(input);\n        if (ctx.common.async) {\n            const handleAsync = async () => {\n                const inResult = await this._def.in._parseAsync({\n                    data: ctx.data,\n                    path: ctx.path,\n                    parent: ctx,\n                });\n                if (inResult.status === \"aborted\")\n                    return parseUtil_1.INVALID;\n                if (inResult.status === \"dirty\") {\n                    status.dirty();\n                    return (0, parseUtil_1.DIRTY)(inResult.value);\n                }\n                else {\n                    return this._def.out._parseAsync({\n                        data: inResult.value,\n                        path: ctx.path,\n                        parent: ctx,\n                    });\n                }\n            };\n            return handleAsync();\n        }\n        else {\n            const inResult = this._def.in._parseSync({\n                data: ctx.data,\n                path: ctx.path,\n                parent: ctx,\n            });\n            if (inResult.status === \"aborted\")\n                return parseUtil_1.INVALID;\n            if (inResult.status === \"dirty\") {\n                status.dirty();\n                return {\n                    status: \"dirty\",\n                    value: inResult.value,\n                };\n            }\n            else {\n                return this._def.out._parseSync({\n                    data: inResult.value,\n                    path: ctx.path,\n                    parent: ctx,\n                });\n            }\n        }\n    }\n    static create(a, b) {\n        return new ZodPipeline({\n            in: a,\n            out: b,\n            typeName: ZodFirstPartyTypeKind.ZodPipeline,\n        });\n    }\n}\nexports.ZodPipeline = ZodPipeline;\nconst custom = (check, params = {}, fatal) => {\n    if (check)\n        return ZodAny.create().superRefine((data, ctx) => {\n            var _a, _b;\n            if (!check(data)) {\n                const p = typeof params === \"function\"\n                    ? params(data)\n                    : typeof params === \"string\"\n                        ? { message: params }\n                        : params;\n                const _fatal = (_b = (_a = p.fatal) !== null && _a !== void 0 ? _a : fatal) !== null && _b !== void 0 ? _b : true;\n                const p2 = typeof p === \"string\" ? { message: p } : p;\n                ctx.addIssue({ code: \"custom\", ...p2, fatal: _fatal });\n            }\n        });\n    return ZodAny.create();\n};\nexports.custom = custom;\nexports.late = {\n    object: ZodObject.lazycreate,\n};\nvar ZodFirstPartyTypeKind;\n(function (ZodFirstPartyTypeKind) {\n    ZodFirstPartyTypeKind[\"ZodString\"] = \"ZodString\";\n    ZodFirstPartyTypeKind[\"ZodNumber\"] = \"ZodNumber\";\n    ZodFirstPartyTypeKind[\"ZodNaN\"] = \"ZodNaN\";\n    ZodFirstPartyTypeKind[\"ZodBigInt\"] = \"ZodBigInt\";\n    ZodFirstPartyTypeKind[\"ZodBoolean\"] = \"ZodBoolean\";\n    ZodFirstPartyTypeKind[\"ZodDate\"] = \"ZodDate\";\n    ZodFirstPartyTypeKind[\"ZodSymbol\"] = \"ZodSymbol\";\n    ZodFirstPartyTypeKind[\"ZodUndefined\"] = \"ZodUndefined\";\n    ZodFirstPartyTypeKind[\"ZodNull\"] = \"ZodNull\";\n    ZodFirstPartyTypeKind[\"ZodAny\"] = \"ZodAny\";\n    ZodFirstPartyTypeKind[\"ZodUnknown\"] = \"ZodUnknown\";\n    ZodFirstPartyTypeKind[\"ZodNever\"] = \"ZodNever\";\n    ZodFirstPartyTypeKind[\"ZodVoid\"] = \"ZodVoid\";\n    ZodFirstPartyTypeKind[\"ZodArray\"] = \"ZodArray\";\n    ZodFirstPartyTypeKind[\"ZodObject\"] = \"ZodObject\";\n    ZodFirstPartyTypeKind[\"ZodUnion\"] = \"ZodUnion\";\n    ZodFirstPartyTypeKind[\"ZodDiscriminatedUnion\"] = \"ZodDiscriminatedUnion\";\n    ZodFirstPartyTypeKind[\"ZodIntersection\"] = \"ZodIntersection\";\n    ZodFirstPartyTypeKind[\"ZodTuple\"] = \"ZodTuple\";\n    ZodFirstPartyTypeKind[\"ZodRecord\"] = \"ZodRecord\";\n    ZodFirstPartyTypeKind[\"ZodMap\"] = \"ZodMap\";\n    ZodFirstPartyTypeKind[\"ZodSet\"] = \"ZodSet\";\n    ZodFirstPartyTypeKind[\"ZodFunction\"] = \"ZodFunction\";\n    ZodFirstPartyTypeKind[\"ZodLazy\"] = \"ZodLazy\";\n    ZodFirstPartyTypeKind[\"ZodLiteral\"] = \"ZodLiteral\";\n    ZodFirstPartyTypeKind[\"ZodEnum\"] = \"ZodEnum\";\n    ZodFirstPartyTypeKind[\"ZodEffects\"] = \"ZodEffects\";\n    ZodFirstPartyTypeKind[\"ZodNativeEnum\"] = \"ZodNativeEnum\";\n    ZodFirstPartyTypeKind[\"ZodOptional\"] = \"ZodOptional\";\n    ZodFirstPartyTypeKind[\"ZodNullable\"] = \"ZodNullable\";\n    ZodFirstPartyTypeKind[\"ZodDefault\"] = \"ZodDefault\";\n    ZodFirstPartyTypeKind[\"ZodCatch\"] = \"ZodCatch\";\n    ZodFirstPartyTypeKind[\"ZodPromise\"] = \"ZodPromise\";\n    ZodFirstPartyTypeKind[\"ZodBranded\"] = \"ZodBranded\";\n    ZodFirstPartyTypeKind[\"ZodPipeline\"] = \"ZodPipeline\";\n})(ZodFirstPartyTypeKind = exports.ZodFirstPartyTypeKind || (exports.ZodFirstPartyTypeKind = {}));\nclass Class {\n    constructor(..._) { }\n}\nconst instanceOfType = (cls, params = {\n    message: `Input not instance of ${cls.name}`,\n}) => (0, exports.custom)((data) => data instanceof cls, params);\nexports.instanceof = instanceOfType;\nconst stringType = ZodString.create;\nexports.string = stringType;\nconst numberType = ZodNumber.create;\nexports.number = numberType;\nconst nanType = ZodNaN.create;\nexports.nan = nanType;\nconst bigIntType = ZodBigInt.create;\nexports.bigint = bigIntType;\nconst booleanType = ZodBoolean.create;\nexports.boolean = booleanType;\nconst dateType = ZodDate.create;\nexports.date = dateType;\nconst symbolType = ZodSymbol.create;\nexports.symbol = symbolType;\nconst undefinedType = ZodUndefined.create;\nexports.undefined = undefinedType;\nconst nullType = ZodNull.create;\nexports.null = nullType;\nconst anyType = ZodAny.create;\nexports.any = anyType;\nconst unknownType = ZodUnknown.create;\nexports.unknown = unknownType;\nconst neverType = ZodNever.create;\nexports.never = neverType;\nconst voidType = ZodVoid.create;\nexports.void = voidType;\nconst arrayType = ZodArray.create;\nexports.array = arrayType;\nconst objectType = ZodObject.create;\nexports.object = objectType;\nconst strictObjectType = ZodObject.strictCreate;\nexports.strictObject = strictObjectType;\nconst unionType = ZodUnion.create;\nexports.union = unionType;\nconst discriminatedUnionType = ZodDiscriminatedUnion.create;\nexports.discriminatedUnion = discriminatedUnionType;\nconst intersectionType = ZodIntersection.create;\nexports.intersection = intersectionType;\nconst tupleType = ZodTuple.create;\nexports.tuple = tupleType;\nconst recordType = ZodRecord.create;\nexports.record = recordType;\nconst mapType = ZodMap.create;\nexports.map = mapType;\nconst setType = ZodSet.create;\nexports.set = setType;\nconst functionType = ZodFunction.create;\nexports.function = functionType;\nconst lazyType = ZodLazy.create;\nexports.lazy = lazyType;\nconst literalType = ZodLiteral.create;\nexports.literal = literalType;\nconst enumType = ZodEnum.create;\nexports.enum = enumType;\nconst nativeEnumType = ZodNativeEnum.create;\nexports.nativeEnum = nativeEnumType;\nconst promiseType = ZodPromise.create;\nexports.promise = promiseType;\nconst effectsType = ZodEffects.create;\nexports.effect = effectsType;\nexports.transformer = effectsType;\nconst optionalType = ZodOptional.create;\nexports.optional = optionalType;\nconst nullableType = ZodNullable.create;\nexports.nullable = nullableType;\nconst preprocessType = ZodEffects.createWithPreprocess;\nexports.preprocess = preprocessType;\nconst pipelineType = ZodPipeline.create;\nexports.pipeline = pipelineType;\nconst ostring = () => stringType().optional();\nexports.ostring = ostring;\nconst onumber = () => numberType().optional();\nexports.onumber = onumber;\nconst oboolean = () => booleanType().optional();\nexports.oboolean = oboolean;\nexports.coerce = {\n    string: ((arg) => ZodString.create({ ...arg, coerce: true })),\n    number: ((arg) => ZodNumber.create({ ...arg, coerce: true })),\n    boolean: ((arg) => ZodBoolean.create({\n        ...arg,\n        coerce: true,\n    })),\n    bigint: ((arg) => ZodBigInt.create({ ...arg, coerce: true })),\n    date: ((arg) => ZodDate.create({ ...arg, coerce: true })),\n};\nexports.NEVER = parseUtil_1.INVALID;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./errors\"), exports);\n__exportStar(require(\"./helpers/parseUtil\"), exports);\n__exportStar(require(\"./helpers/typeAliases\"), exports);\n__exportStar(require(\"./helpers/util\"), exports);\n__exportStar(require(\"./types\"), exports);\n__exportStar(require(\"./ZodError\"), exports);\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n    for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.z = void 0;\nconst z = __importStar(require(\"./external\"));\nexports.z = z;\n__exportStar(require(\"./external\"), exports);\nexports.default = z;\n","\"use strict\";\n/**\n * Copyright 2023 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Input = exports.InputCommandSchema = exports.Log = exports.LogEventSchema = exports.Script = exports.ScriptEventSchema = exports.ScriptResultSchema = exports.ScriptCommandSchema = exports.Network = exports.NetworkEventSchema = exports.NetworkResultSchema = exports.NetworkCommandSchema = exports.BrowsingContext = exports.BrowsingContextEventSchema = exports.BrowsingContextResultSchema = exports.BrowsingContextCommandSchema = exports.Browser = exports.BrowserCommandSchema = exports.Session = exports.SessionResultSchema = exports.SessionCommandSchema = exports.ErrorCodeSchema = exports.JsUintSchema = exports.JsIntSchema = exports.ExtensibleSchema = exports.EventDataSchema = exports.EventSchema = exports.EmptyResultSchema = exports.ResultDataSchema = exports.ErrorResponseSchema = exports.CommandResponseSchema = exports.MessageSchema = exports.EmptyParamsSchema = exports.CommandDataSchema = exports.CommandSchema = void 0;\n/**\n * THIS FILE IS AUTOGENERATED. Run `npm run bidi-types` to regenerate.\n * @see https://github.com/w3c/webdriver-bidi/blob/master/index.bs\n */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-nocheck Some types may be circular.\nconst zod_1 = __importDefault(require(\"zod\"));\nexports.CommandSchema = zod_1.default.lazy(() => zod_1.default\n    .object({\n    id: exports.JsUintSchema,\n})\n    .and(exports.CommandDataSchema)\n    .and(exports.ExtensibleSchema));\nexports.CommandDataSchema = zod_1.default.lazy(() => zod_1.default.union([\n    exports.BrowserCommandSchema,\n    exports.BrowsingContextCommandSchema,\n    exports.InputCommandSchema,\n    exports.NetworkCommandSchema,\n    exports.ScriptCommandSchema,\n    exports.SessionCommandSchema,\n]));\nexports.EmptyParamsSchema = zod_1.default.lazy(() => exports.ExtensibleSchema);\nexports.MessageSchema = zod_1.default.lazy(() => zod_1.default.union([exports.CommandResponseSchema, exports.ErrorResponseSchema, exports.EventSchema]));\nexports.CommandResponseSchema = zod_1.default.lazy(() => zod_1.default\n    .object({\n    type: zod_1.default.literal('success'),\n    id: exports.JsUintSchema,\n    result: exports.ResultDataSchema,\n})\n    .and(exports.ExtensibleSchema));\nexports.ErrorResponseSchema = zod_1.default.lazy(() => zod_1.default\n    .object({\n    type: zod_1.default.literal('error'),\n    id: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]),\n    error: exports.ErrorCodeSchema,\n    message: zod_1.default.string(),\n    stacktrace: zod_1.default.string().optional(),\n})\n    .and(exports.ExtensibleSchema));\nexports.ResultDataSchema = zod_1.default.lazy(() => zod_1.default.union([\n    exports.BrowsingContextResultSchema,\n    exports.EmptyResultSchema,\n    exports.NetworkResultSchema,\n    exports.ScriptResultSchema,\n    exports.SessionResultSchema,\n]));\nexports.EmptyResultSchema = zod_1.default.lazy(() => exports.ExtensibleSchema);\nexports.EventSchema = zod_1.default.lazy(() => zod_1.default\n    .object({\n    type: zod_1.default.literal('event'),\n})\n    .and(exports.EventDataSchema)\n    .and(exports.ExtensibleSchema));\nexports.EventDataSchema = zod_1.default.lazy(() => zod_1.default.union([\n    exports.BrowsingContextEventSchema,\n    exports.LogEventSchema,\n    exports.NetworkEventSchema,\n    exports.ScriptEventSchema,\n]));\nexports.ExtensibleSchema = zod_1.default.lazy(() => zod_1.default.record(zod_1.default.string(), zod_1.default.any()));\nexports.JsIntSchema = zod_1.default.lazy(() => zod_1.default.number().int().gte(-9007199254740991).lte(9007199254740991));\nexports.JsUintSchema = zod_1.default.lazy(() => zod_1.default.number().int().nonnegative().gte(0).lte(9007199254740991));\nexports.ErrorCodeSchema = zod_1.default.lazy(() => zod_1.default.enum([\n    'invalid argument',\n    'invalid session id',\n    'move target out of bounds',\n    'no such alert',\n    'no such element',\n    'no such frame',\n    'no such handle',\n    'no such node',\n    'no such script',\n    'session not created',\n    'unable to capture screen',\n    'unable to close browser',\n    'unknown command',\n    'unknown error',\n    'unsupported operation',\n]));\nexports.SessionCommandSchema = zod_1.default.lazy(() => zod_1.default.union([\n    Session.EndSchema,\n    Session.NewSchema,\n    Session.StatusSchema,\n    Session.SubscribeSchema,\n    Session.UnsubscribeSchema,\n]));\nexports.SessionResultSchema = zod_1.default.lazy(() => zod_1.default.union([Session.NewResultSchema, Session.StatusResultSchema]));\nvar Session;\n(function (Session) {\n    Session.CapabilitiesRequestSchema = zod_1.default.lazy(() => zod_1.default.object({\n        alwaysMatch: Session.CapabilityRequestSchema.optional(),\n        firstMatch: zod_1.default.array(Session.CapabilityRequestSchema).optional(),\n    }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n    Session.CapabilityRequestSchema = zod_1.default.lazy(() => zod_1.default\n        .object({\n        acceptInsecureCerts: zod_1.default.boolean().optional(),\n        browserName: zod_1.default.string().optional(),\n        browserVersion: zod_1.default.string().optional(),\n        platformName: zod_1.default.string().optional(),\n        proxy: zod_1.default\n            .object({\n            proxyType: zod_1.default\n                .enum(['pac', 'direct', 'autodetect', 'system', 'manual'])\n                .optional(),\n            proxyAutoconfigUrl: zod_1.default.string().optional(),\n            ftpProxy: zod_1.default.string().optional(),\n            httpProxy: zod_1.default.string().optional(),\n            noProxy: zod_1.default.array(zod_1.default.string()).optional(),\n            sslProxy: zod_1.default.string().optional(),\n            socksProxy: zod_1.default.string().optional(),\n            socksVersion: zod_1.default\n                .number()\n                .int()\n                .nonnegative()\n                .gte(0)\n                .lte(255)\n                .optional(),\n        })\n            .optional(),\n    })\n        .and(exports.ExtensibleSchema));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n    Session.SubscriptionRequestSchema = zod_1.default.lazy(() => zod_1.default.object({\n        events: zod_1.default.array(zod_1.default.string()),\n        contexts: zod_1.default.array(BrowsingContext.BrowsingContextSchema).optional(),\n    }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n    Session.StatusSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('session.status'),\n        params: exports.EmptyParamsSchema,\n    }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n    Session.StatusResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n        ready: zod_1.default.boolean(),\n        message: zod_1.default.string(),\n    }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n    Session.NewSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('session.new'),\n        params: Session.NewParametersSchema,\n    }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n    Session.NewParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        capabilities: Session.CapabilitiesRequestSchema,\n    }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n    Session.NewResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n        sessionId: zod_1.default.string(),\n        capabilities: zod_1.default\n            .object({\n            acceptInsecureCerts: zod_1.default.boolean(),\n            browserName: zod_1.default.string(),\n            browserVersion: zod_1.default.string(),\n            platformName: zod_1.default.string(),\n            proxy: zod_1.default.object({\n                proxyType: zod_1.default\n                    .enum(['pac', 'direct', 'autodetect', 'system', 'manual'])\n                    .optional(),\n                proxyAutoconfigUrl: zod_1.default.string().optional(),\n                ftpProxy: zod_1.default.string().optional(),\n                httpProxy: zod_1.default.string().optional(),\n                noProxy: zod_1.default.array(zod_1.default.string()).optional(),\n                sslProxy: zod_1.default.string().optional(),\n                socksProxy: zod_1.default.string().optional(),\n                socksVersion: zod_1.default\n                    .number()\n                    .int()\n                    .nonnegative()\n                    .gte(0)\n                    .lte(255)\n                    .optional(),\n            }),\n            setWindowRect: zod_1.default.boolean(),\n        })\n            .and(exports.ExtensibleSchema),\n    }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n    Session.EndSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('session.end'),\n        params: exports.EmptyParamsSchema,\n    }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n    Session.SubscribeSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('session.subscribe'),\n        params: Session.SubscriptionRequestSchema,\n    }));\n})(Session || (exports.Session = Session = {}));\n(function (Session) {\n    Session.UnsubscribeSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('session.unsubscribe'),\n        params: Session.SubscriptionRequestSchema,\n    }));\n})(Session || (exports.Session = Session = {}));\nexports.BrowserCommandSchema = zod_1.default.lazy(() => Browser.CloseSchema);\nvar Browser;\n(function (Browser) {\n    Browser.CloseSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browser.close'),\n        params: exports.EmptyParamsSchema,\n    }));\n})(Browser || (exports.Browser = Browser = {}));\nexports.BrowsingContextCommandSchema = zod_1.default.lazy(() => zod_1.default.union([\n    BrowsingContext.ActivateSchema,\n    BrowsingContext.CaptureScreenshotSchema,\n    BrowsingContext.CloseSchema,\n    BrowsingContext.CreateSchema,\n    BrowsingContext.GetTreeSchema,\n    BrowsingContext.HandleUserPromptSchema,\n    BrowsingContext.NavigateSchema,\n    BrowsingContext.PrintSchema,\n    BrowsingContext.ReloadSchema,\n    BrowsingContext.SetViewportSchema,\n]));\nexports.BrowsingContextResultSchema = zod_1.default.lazy(() => zod_1.default.union([\n    BrowsingContext.CaptureScreenshotResultSchema,\n    BrowsingContext.CreateResultSchema,\n    BrowsingContext.GetTreeResultSchema,\n    BrowsingContext.NavigateResultSchema,\n    BrowsingContext.PrintResultSchema,\n]));\nexports.BrowsingContextEventSchema = zod_1.default.lazy(() => zod_1.default.union([\n    BrowsingContext.ContextCreatedSchema,\n    BrowsingContext.ContextDestroyedSchema,\n    BrowsingContext.NavigationStartedSchema,\n    BrowsingContext.FragmentNavigatedSchema,\n    BrowsingContext.DomContentLoadedSchema,\n    BrowsingContext.LoadSchema,\n    BrowsingContext.DownloadWillBeginSchema,\n    BrowsingContext.NavigationAbortedSchema,\n    BrowsingContext.NavigationFailedSchema,\n    BrowsingContext.UserPromptClosedSchema,\n    BrowsingContext.UserPromptOpenedSchema,\n]));\nvar BrowsingContext;\n(function (BrowsingContext) {\n    BrowsingContext.BrowsingContextSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.InfoListSchema = zod_1.default.lazy(() => zod_1.default.array(BrowsingContext.InfoSchema));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.InfoSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema,\n        url: zod_1.default.string(),\n        children: zod_1.default.union([BrowsingContext.InfoListSchema, zod_1.default.null()]),\n        parent: zod_1.default\n            .union([BrowsingContext.BrowsingContextSchema, zod_1.default.null()])\n            .optional(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.NavigationSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.NavigationInfoSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema,\n        navigation: zod_1.default.union([BrowsingContext.NavigationSchema, zod_1.default.null()]),\n        timestamp: exports.JsUintSchema,\n        url: zod_1.default.string(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.ReadinessStateSchema = zod_1.default.lazy(() => zod_1.default.enum(['none', 'interactive', 'complete']));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.ActivateSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.activate'),\n        params: BrowsingContext.ActivateParametersSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.ActivateParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.CaptureScreenshotSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.captureScreenshot'),\n        params: BrowsingContext.CaptureScreenshotParametersSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.CaptureScreenshotParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema,\n        clip: BrowsingContext.ClipRectangleSchema.optional(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.ClipRectangleSchema = zod_1.default.lazy(() => zod_1.default.union([\n        BrowsingContext.BoxClipRectangleSchema,\n        BrowsingContext.ElementClipRectangleSchema,\n    ]));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.ElementClipRectangleSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('element'),\n        element: Script.SharedReferenceSchema,\n        scrollIntoView: zod_1.default.boolean().optional(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.BoxClipRectangleSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('viewport'),\n        x: zod_1.default.number(),\n        y: zod_1.default.number(),\n        width: zod_1.default.number(),\n        height: zod_1.default.number(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.CaptureScreenshotResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n        data: zod_1.default.string(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.CloseSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.close'),\n        params: BrowsingContext.CloseParametersSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.CloseParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.CreateSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.create'),\n        params: BrowsingContext.CreateParametersSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.CreateTypeSchema = zod_1.default.lazy(() => zod_1.default.enum(['tab', 'window']));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.CreateParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: BrowsingContext.CreateTypeSchema,\n        referenceContext: BrowsingContext.BrowsingContextSchema.optional(),\n        background: zod_1.default.boolean().default(false).optional(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.CreateResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.GetTreeSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.getTree'),\n        params: BrowsingContext.GetTreeParametersSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.GetTreeParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        maxDepth: exports.JsUintSchema.optional(),\n        root: BrowsingContext.BrowsingContextSchema.optional(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.GetTreeResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n        contexts: BrowsingContext.InfoListSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.HandleUserPromptSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.handleUserPrompt'),\n        params: BrowsingContext.HandleUserPromptParametersSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.HandleUserPromptParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema,\n        accept: zod_1.default.boolean().optional(),\n        userText: zod_1.default.string().optional(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.NavigateSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.navigate'),\n        params: BrowsingContext.NavigateParametersSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.NavigateParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema,\n        url: zod_1.default.string(),\n        wait: BrowsingContext.ReadinessStateSchema.optional(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.NavigateResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n        navigation: zod_1.default.union([BrowsingContext.NavigationSchema, zod_1.default.null()]),\n        url: zod_1.default.string(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.PrintSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.print'),\n        params: BrowsingContext.PrintParametersSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.PrintParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema,\n        background: zod_1.default.boolean().default(false).optional(),\n        margin: BrowsingContext.PrintMarginParametersSchema.optional(),\n        orientation: zod_1.default\n            .enum(['portrait', 'landscape'])\n            .default('portrait')\n            .optional(),\n        page: BrowsingContext.PrintPageParametersSchema.optional(),\n        pageRanges: zod_1.default.array(zod_1.default.union([exports.JsUintSchema, zod_1.default.string()])).optional(),\n        scale: zod_1.default.number().gte(0.1).lte(2).default(1).optional(),\n        shrinkToFit: zod_1.default.boolean().default(true).optional(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.PrintMarginParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        bottom: zod_1.default.number().gte(0).default(1).optional(),\n        left: zod_1.default.number().gte(0).default(1).optional(),\n        right: zod_1.default.number().gte(0).default(1).optional(),\n        top: zod_1.default.number().gte(0).default(1).optional(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.PrintPageParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        height: zod_1.default.number().gte(0).default(27.94).optional(),\n        width: zod_1.default.number().gte(0).default(21.59).optional(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.PrintResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n        data: zod_1.default.string(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.ReloadSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.reload'),\n        params: BrowsingContext.ReloadParametersSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.ReloadParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema,\n        ignoreCache: zod_1.default.boolean().optional(),\n        wait: BrowsingContext.ReadinessStateSchema.optional(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.SetViewportSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.setViewport'),\n        params: BrowsingContext.SetViewportParametersSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.SetViewportParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema,\n        viewport: zod_1.default.union([BrowsingContext.ViewportSchema, zod_1.default.null()]),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.ViewportSchema = zod_1.default.lazy(() => zod_1.default.object({\n        width: exports.JsUintSchema,\n        height: exports.JsUintSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.ContextCreatedSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.contextCreated'),\n        params: BrowsingContext.InfoSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.ContextDestroyedSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.contextDestroyed'),\n        params: BrowsingContext.InfoSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.NavigationStartedSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.navigationStarted'),\n        params: BrowsingContext.NavigationInfoSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.FragmentNavigatedSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.fragmentNavigated'),\n        params: BrowsingContext.NavigationInfoSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.DomContentLoadedSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.domContentLoaded'),\n        params: BrowsingContext.NavigationInfoSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.LoadSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.load'),\n        params: BrowsingContext.NavigationInfoSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.DownloadWillBeginSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.downloadWillBegin'),\n        params: BrowsingContext.NavigationInfoSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.NavigationAbortedSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.navigationAborted'),\n        params: BrowsingContext.NavigationInfoSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.NavigationFailedSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.navigationFailed'),\n        params: BrowsingContext.NavigationInfoSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.UserPromptClosedSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.userPromptClosed'),\n        params: BrowsingContext.UserPromptClosedParametersSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.UserPromptClosedParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema,\n        accepted: zod_1.default.boolean(),\n        userText: zod_1.default.string().optional(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.UserPromptOpenedSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('browsingContext.userPromptOpened'),\n        params: BrowsingContext.UserPromptOpenedParametersSchema,\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n(function (BrowsingContext) {\n    BrowsingContext.UserPromptOpenedParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema,\n        type: zod_1.default.enum(['alert', 'confirm', 'prompt', 'beforeunload']),\n        message: zod_1.default.string(),\n    }));\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\nexports.NetworkCommandSchema = zod_1.default.lazy(() => zod_1.default.object({}));\nexports.NetworkResultSchema = zod_1.default.lazy(() => zod_1.default.object({}));\nexports.NetworkEventSchema = zod_1.default.lazy(() => zod_1.default.union([\n    Network.BeforeRequestSentSchema,\n    Network.FetchErrorSchema,\n    Network.ResponseStartedSchema,\n    Network.ResponseCompletedSchema,\n]));\nvar Network;\n(function (Network) {\n    Network.BaseParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: zod_1.default.union([BrowsingContext.BrowsingContextSchema, zod_1.default.null()]),\n        navigation: zod_1.default.union([BrowsingContext.NavigationSchema, zod_1.default.null()]),\n        redirectCount: exports.JsUintSchema,\n        request: Network.RequestDataSchema,\n        timestamp: exports.JsUintSchema,\n    }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.BytesValueSchema = zod_1.default.lazy(() => zod_1.default.union([Network.StringValueSchema, Network.Base64ValueSchema]));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.StringValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('string'),\n        value: zod_1.default.string(),\n    }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.Base64ValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('base64'),\n        value: zod_1.default.string(),\n    }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.CookieSchema = zod_1.default.lazy(() => zod_1.default.object({\n        name: zod_1.default.string(),\n        value: Network.BytesValueSchema,\n        domain: zod_1.default.string(),\n        path: zod_1.default.string(),\n        expires: exports.JsUintSchema.optional(),\n        size: exports.JsUintSchema,\n        httpOnly: zod_1.default.boolean(),\n        secure: zod_1.default.boolean(),\n        sameSite: zod_1.default.enum(['strict', 'lax', 'none']),\n    }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.FetchTimingInfoSchema = zod_1.default.lazy(() => zod_1.default.object({\n        timeOrigin: zod_1.default.number(),\n        requestTime: zod_1.default.number(),\n        redirectStart: zod_1.default.number(),\n        redirectEnd: zod_1.default.number(),\n        fetchStart: zod_1.default.number(),\n        dnsStart: zod_1.default.number(),\n        dnsEnd: zod_1.default.number(),\n        connectStart: zod_1.default.number(),\n        connectEnd: zod_1.default.number(),\n        tlsStart: zod_1.default.number(),\n        requestStart: zod_1.default.number(),\n        responseStart: zod_1.default.number(),\n        responseEnd: zod_1.default.number(),\n    }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.HeaderSchema = zod_1.default.lazy(() => zod_1.default.object({\n        name: zod_1.default.string(),\n        value: Network.BytesValueSchema,\n    }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.InitiatorSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.enum(['parser', 'script', 'preflight', 'other']),\n        columnNumber: exports.JsUintSchema.optional(),\n        lineNumber: exports.JsUintSchema.optional(),\n        stackTrace: Script.StackTraceSchema.optional(),\n        request: Network.RequestSchema.optional(),\n    }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.RequestSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.RequestDataSchema = zod_1.default.lazy(() => zod_1.default.object({\n        request: Network.RequestSchema,\n        url: zod_1.default.string(),\n        method: zod_1.default.string(),\n        headers: zod_1.default.array(Network.HeaderSchema),\n        cookies: zod_1.default.array(Network.CookieSchema),\n        headersSize: exports.JsUintSchema,\n        bodySize: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]),\n        timings: Network.FetchTimingInfoSchema,\n    }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.ResponseContentSchema = zod_1.default.lazy(() => zod_1.default.object({\n        size: exports.JsUintSchema,\n    }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.ResponseDataSchema = zod_1.default.lazy(() => zod_1.default.object({\n        url: zod_1.default.string(),\n        protocol: zod_1.default.string(),\n        status: exports.JsUintSchema,\n        statusText: zod_1.default.string(),\n        fromCache: zod_1.default.boolean(),\n        headers: zod_1.default.array(Network.HeaderSchema),\n        mimeType: zod_1.default.string(),\n        bytesReceived: exports.JsUintSchema,\n        headersSize: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]),\n        bodySize: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]),\n        content: Network.ResponseContentSchema,\n    }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.BeforeRequestSentSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('network.beforeRequestSent'),\n        params: Network.BeforeRequestSentParametersSchema,\n    }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.BeforeRequestSentParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({\n        initiator: Network.InitiatorSchema,\n    })));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.FetchErrorSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('network.fetchError'),\n        params: Network.FetchErrorParametersSchema,\n    }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.FetchErrorParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({\n        errorText: zod_1.default.string(),\n    })));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.ResponseCompletedSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('network.responseCompleted'),\n        params: Network.ResponseCompletedParametersSchema,\n    }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.ResponseCompletedParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({\n        response: Network.ResponseDataSchema,\n    })));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.ResponseStartedSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('network.responseStarted'),\n        params: Network.ResponseStartedParametersSchema,\n    }));\n})(Network || (exports.Network = Network = {}));\n(function (Network) {\n    Network.ResponseStartedParametersSchema = zod_1.default.lazy(() => Network.BaseParametersSchema.and(zod_1.default.object({\n        response: Network.ResponseDataSchema,\n    })));\n})(Network || (exports.Network = Network = {}));\nexports.ScriptCommandSchema = zod_1.default.lazy(() => zod_1.default.union([\n    Script.AddPreloadScriptCommandSchema,\n    Script.CallFunctionSchema,\n    Script.DisownSchema,\n    Script.EvaluateSchema,\n    Script.GetRealmsSchema,\n    Script.RemovePreloadScriptCommandSchema,\n]));\nexports.ScriptResultSchema = zod_1.default.lazy(() => zod_1.default.union([\n    Script.AddPreloadScriptResultSchema,\n    Script.EvaluateResultSchema,\n    Script.GetRealmsResultSchema,\n]));\nexports.ScriptEventSchema = zod_1.default.lazy(() => zod_1.default.union([\n    Script.MessageSchema,\n    Script.RealmCreatedSchema,\n    Script.RealmDestroyedSchema,\n]));\nvar Script;\n(function (Script) {\n    Script.ChannelSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.ChannelValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('channel'),\n        value: Script.ChannelPropertiesSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.ChannelPropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({\n        channel: Script.ChannelSchema,\n        serializationOptions: Script.SerializationOptionsSchema.optional(),\n        ownership: Script.ResultOwnershipSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.EvaluateResultSchema = zod_1.default.lazy(() => zod_1.default.union([\n        Script.EvaluateResultSuccessSchema,\n        Script.EvaluateResultExceptionSchema,\n    ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.EvaluateResultSuccessSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('success'),\n        result: Script.RemoteValueSchema,\n        realm: Script.RealmSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.EvaluateResultExceptionSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('exception'),\n        exceptionDetails: Script.ExceptionDetailsSchema,\n        realm: Script.RealmSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.ExceptionDetailsSchema = zod_1.default.lazy(() => zod_1.default.object({\n        columnNumber: exports.JsUintSchema,\n        exception: Script.RemoteValueSchema,\n        lineNumber: exports.JsUintSchema,\n        stackTrace: Script.StackTraceSchema,\n        text: zod_1.default.string(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.HandleSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.LocalValueSchema = zod_1.default.lazy(() => zod_1.default.union([\n        Script.RemoteReferenceSchema,\n        Script.PrimitiveProtocolValueSchema,\n        Script.ChannelValueSchema,\n        Script.ArrayLocalValueSchema,\n        Script.DateLocalValueSchema,\n        Script.MapLocalValueSchema,\n        Script.ObjectLocalValueSchema,\n        Script.RegExpLocalValueSchema,\n        Script.SetLocalValueSchema,\n    ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.ListLocalValueSchema = zod_1.default.lazy(() => zod_1.default.array(Script.LocalValueSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.ArrayLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('array'),\n        value: Script.ListLocalValueSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.DateLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('date'),\n        value: zod_1.default.string(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.MappingLocalValueSchema = zod_1.default.lazy(() => zod_1.default.array(zod_1.default.tuple([\n        zod_1.default.union([Script.LocalValueSchema, zod_1.default.string()]),\n        Script.LocalValueSchema,\n    ])));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.MapLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('map'),\n        value: Script.MappingLocalValueSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.ObjectLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('object'),\n        value: Script.MappingLocalValueSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.RegExpValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        pattern: zod_1.default.string(),\n        flags: zod_1.default.string().optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.RegExpLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('regexp'),\n        value: Script.RegExpValueSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.SetLocalValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('set'),\n        value: Script.ListLocalValueSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.PreloadScriptSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.RealmSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.PrimitiveProtocolValueSchema = zod_1.default.lazy(() => zod_1.default.union([\n        Script.UndefinedValueSchema,\n        Script.NullValueSchema,\n        Script.StringValueSchema,\n        Script.NumberValueSchema,\n        Script.BooleanValueSchema,\n        Script.BigIntValueSchema,\n    ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.UndefinedValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('undefined'),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.NullValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('null'),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.StringValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('string'),\n        value: zod_1.default.string(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.SpecialNumberSchema = zod_1.default.lazy(() => zod_1.default.enum(['NaN', '-0', 'Infinity', '-Infinity']));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.NumberValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('number'),\n        value: zod_1.default.union([zod_1.default.number(), Script.SpecialNumberSchema]),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.BooleanValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('boolean'),\n        value: zod_1.default.boolean(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.BigIntValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('bigint'),\n        value: zod_1.default.string(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.RealmInfoSchema = zod_1.default.lazy(() => zod_1.default.union([\n        Script.WindowRealmInfoSchema,\n        Script.DedicatedWorkerRealmInfoSchema,\n        Script.SharedWorkerRealmInfoSchema,\n        Script.ServiceWorkerRealmInfoSchema,\n        Script.WorkerRealmInfoSchema,\n        Script.PaintWorkletRealmInfoSchema,\n        Script.AudioWorkletRealmInfoSchema,\n        Script.WorkletRealmInfoSchema,\n    ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.BaseRealmInfoSchema = zod_1.default.lazy(() => zod_1.default.object({\n        realm: Script.RealmSchema,\n        origin: zod_1.default.string(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.WindowRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n        type: zod_1.default.literal('window'),\n        context: BrowsingContext.BrowsingContextSchema,\n        sandbox: zod_1.default.string().optional(),\n    })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.DedicatedWorkerRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n        type: zod_1.default.literal('dedicated-worker'),\n    })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.SharedWorkerRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n        type: zod_1.default.literal('shared-worker'),\n    })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.ServiceWorkerRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n        type: zod_1.default.literal('service-worker'),\n    })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.WorkerRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n        type: zod_1.default.literal('worker'),\n    })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.PaintWorkletRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n        type: zod_1.default.literal('paint-worklet'),\n    })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.AudioWorkletRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n        type: zod_1.default.literal('audio-worklet'),\n    })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.WorkletRealmInfoSchema = zod_1.default.lazy(() => Script.BaseRealmInfoSchema.and(zod_1.default.object({\n        type: zod_1.default.literal('worklet'),\n    })));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.RealmTypeSchema = zod_1.default.lazy(() => zod_1.default.enum([\n        'window',\n        'dedicated-worker',\n        'shared-worker',\n        'service-worker',\n        'worker',\n        'paint-worklet',\n        'audio-worklet',\n        'worklet',\n    ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.RemoteReferenceSchema = zod_1.default.lazy(() => zod_1.default.union([Script.SharedReferenceSchema, Script.RemoteObjectReferenceSchema]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.SharedReferenceSchema = zod_1.default.lazy(() => zod_1.default\n        .object({\n        sharedId: Script.SharedIdSchema,\n        handle: Script.HandleSchema.optional(),\n    })\n        .and(exports.ExtensibleSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.RemoteObjectReferenceSchema = zod_1.default.lazy(() => zod_1.default\n        .object({\n        handle: Script.HandleSchema,\n        sharedId: Script.SharedIdSchema.optional(),\n    })\n        .and(exports.ExtensibleSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.RemoteValueSchema = zod_1.default.lazy(() => zod_1.default.union([\n        Script.PrimitiveProtocolValueSchema,\n        Script.SymbolRemoteValueSchema,\n        Script.ArrayRemoteValueSchema,\n        Script.ObjectRemoteValueSchema,\n        Script.FunctionRemoteValueSchema,\n        Script.RegExpRemoteValueSchema,\n        Script.DateRemoteValueSchema,\n        Script.MapRemoteValueSchema,\n        Script.SetRemoteValueSchema,\n        Script.WeakMapRemoteValueSchema,\n        Script.WeakSetRemoteValueSchema,\n        Script.IteratorRemoteValueSchema,\n        Script.GeneratorRemoteValueSchema,\n        Script.ErrorRemoteValueSchema,\n        Script.ProxyRemoteValueSchema,\n        Script.PromiseRemoteValueSchema,\n        Script.TypedArrayRemoteValueSchema,\n        Script.ArrayBufferRemoteValueSchema,\n        Script.NodeListRemoteValueSchema,\n        Script.HtmlCollectionRemoteValueSchema,\n        Script.NodeRemoteValueSchema,\n        Script.WindowProxyRemoteValueSchema,\n    ]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.InternalIdSchema = zod_1.default.lazy(() => exports.JsUintSchema);\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.ListRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.array(Script.RemoteValueSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.MappingRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.array(zod_1.default.tuple([\n        zod_1.default.union([Script.RemoteValueSchema, zod_1.default.string()]),\n        Script.RemoteValueSchema,\n    ])));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.SymbolRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('symbol'),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.ArrayRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('array'),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n        value: Script.ListRemoteValueSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.ObjectRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('object'),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n        value: Script.MappingRemoteValueSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.FunctionRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('function'),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.RegExpRemoteValueSchema = zod_1.default.lazy(() => zod_1.default\n        .object({\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n    })\n        .and(Script.RegExpLocalValueSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.DateRemoteValueSchema = zod_1.default.lazy(() => zod_1.default\n        .object({\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n    })\n        .and(Script.DateLocalValueSchema));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.MapRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('map'),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n        value: Script.MappingRemoteValueSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.SetRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('set'),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n        value: Script.ListRemoteValueSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.WeakMapRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('weakmap'),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.WeakSetRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('weakset'),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.IteratorRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('iterator'),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.GeneratorRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('generator'),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.ErrorRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('error'),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.ProxyRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('proxy'),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.PromiseRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('promise'),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.TypedArrayRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('typedarray'),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.ArrayBufferRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('arraybuffer'),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.NodeListRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('nodelist'),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n        value: Script.ListRemoteValueSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.HtmlCollectionRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('htmlcollection'),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n        value: Script.ListRemoteValueSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.NodeRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('node'),\n        sharedId: Script.SharedIdSchema.optional(),\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n        value: Script.NodePropertiesSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.NodePropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({\n        nodeType: exports.JsUintSchema,\n        childNodeCount: exports.JsUintSchema,\n        attributes: zod_1.default.record(zod_1.default.string(), zod_1.default.string()).optional(),\n        children: zod_1.default.array(Script.NodeRemoteValueSchema).optional(),\n        localName: zod_1.default.string().optional(),\n        mode: zod_1.default.enum(['open', 'closed']).optional(),\n        namespaceURI: zod_1.default.string().optional(),\n        nodeValue: zod_1.default.string().optional(),\n        shadowRoot: zod_1.default.union([Script.NodeRemoteValueSchema, zod_1.default.null()]).optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.WindowProxyRemoteValueSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('window'),\n        value: Script.WindowProxyPropertiesSchema,\n        handle: Script.HandleSchema.optional(),\n        internalId: Script.InternalIdSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.WindowProxyPropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.ResultOwnershipSchema = zod_1.default.lazy(() => zod_1.default.enum(['root', 'none']));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.SerializationOptionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n        maxDomDepth: zod_1.default.union([exports.JsUintSchema, zod_1.default.null()]).default(0).optional(),\n        maxObjectDepth: zod_1.default\n            .union([exports.JsUintSchema, zod_1.default.null()])\n            .default(null)\n            .optional(),\n        includeShadowTree: zod_1.default\n            .enum(['none', 'open', 'all'])\n            .default('none')\n            .optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.SharedIdSchema = zod_1.default.lazy(() => zod_1.default.string());\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.StackFrameSchema = zod_1.default.lazy(() => zod_1.default.object({\n        columnNumber: exports.JsUintSchema,\n        functionName: zod_1.default.string(),\n        lineNumber: exports.JsUintSchema,\n        url: zod_1.default.string(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.StackTraceSchema = zod_1.default.lazy(() => zod_1.default.object({\n        callFrames: zod_1.default.array(Script.StackFrameSchema),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.SourceSchema = zod_1.default.lazy(() => zod_1.default.object({\n        realm: Script.RealmSchema,\n        context: BrowsingContext.BrowsingContextSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.RealmTargetSchema = zod_1.default.lazy(() => zod_1.default.object({\n        realm: Script.RealmSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.ContextTargetSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema,\n        sandbox: zod_1.default.string().optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.TargetSchema = zod_1.default.lazy(() => zod_1.default.union([Script.RealmTargetSchema, Script.ContextTargetSchema]));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.AddPreloadScriptCommandSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('script.addPreloadScript'),\n        params: Script.AddPreloadScriptParametersSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.AddPreloadScriptParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        functionDeclaration: zod_1.default.string(),\n        arguments: zod_1.default.array(Script.ChannelValueSchema).optional(),\n        sandbox: zod_1.default.string().optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.AddPreloadScriptResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n        script: Script.PreloadScriptSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.DisownSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('script.disown'),\n        params: Script.DisownParametersSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.DisownParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        handles: zod_1.default.array(Script.HandleSchema),\n        target: Script.TargetSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.CallFunctionSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('script.callFunction'),\n        params: Script.CallFunctionParametersSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.CallFunctionParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        functionDeclaration: zod_1.default.string(),\n        awaitPromise: zod_1.default.boolean(),\n        target: Script.TargetSchema,\n        arguments: zod_1.default.array(Script.LocalValueSchema).optional(),\n        resultOwnership: Script.ResultOwnershipSchema.optional(),\n        serializationOptions: Script.SerializationOptionsSchema.optional(),\n        this: Script.LocalValueSchema.optional(),\n        userActivation: zod_1.default.boolean().default(false).optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.EvaluateSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('script.evaluate'),\n        params: Script.EvaluateParametersSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.EvaluateParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        expression: zod_1.default.string(),\n        target: Script.TargetSchema,\n        awaitPromise: zod_1.default.boolean(),\n        resultOwnership: Script.ResultOwnershipSchema.optional(),\n        serializationOptions: Script.SerializationOptionsSchema.optional(),\n        userActivation: zod_1.default.boolean().default(false).optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.GetRealmsSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('script.getRealms'),\n        params: Script.GetRealmsParametersSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.GetRealmsParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema.optional(),\n        type: Script.RealmTypeSchema.optional(),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.GetRealmsResultSchema = zod_1.default.lazy(() => zod_1.default.object({\n        realms: zod_1.default.array(Script.RealmInfoSchema),\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.RemovePreloadScriptCommandSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('script.removePreloadScript'),\n        params: Script.RemovePreloadScriptParametersSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.RemovePreloadScriptParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        script: Script.PreloadScriptSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.MessageSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('script.message'),\n        params: Script.MessageParametersSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.MessageParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        channel: Script.ChannelSchema,\n        data: Script.RemoteValueSchema,\n        source: Script.SourceSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.RealmCreatedSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('script.realmCreated'),\n        params: Script.RealmInfoSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.RealmDestroyedSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('script.realmDestroyed'),\n        params: Script.RealmDestroyedParametersSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\n(function (Script) {\n    Script.RealmDestroyedParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        realm: Script.RealmSchema,\n    }));\n})(Script || (exports.Script = Script = {}));\nexports.LogEventSchema = zod_1.default.lazy(() => Log.EntryAddedSchema);\nvar Log;\n(function (Log) {\n    Log.LevelSchema = zod_1.default.lazy(() => zod_1.default.enum(['debug', 'info', 'warn', 'error']));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n    Log.EntrySchema = zod_1.default.lazy(() => zod_1.default.union([\n        Log.GenericLogEntrySchema,\n        Log.ConsoleLogEntrySchema,\n        Log.JavascriptLogEntrySchema,\n    ]));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n    Log.BaseLogEntrySchema = zod_1.default.lazy(() => zod_1.default.object({\n        level: Log.LevelSchema,\n        source: Script.SourceSchema,\n        text: zod_1.default.union([zod_1.default.string(), zod_1.default.null()]),\n        timestamp: exports.JsUintSchema,\n        stackTrace: Script.StackTraceSchema.optional(),\n    }));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n    Log.GenericLogEntrySchema = zod_1.default.lazy(() => Log.BaseLogEntrySchema.and(zod_1.default.object({\n        type: zod_1.default.string(),\n    })));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n    Log.ConsoleLogEntrySchema = zod_1.default.lazy(() => Log.BaseLogEntrySchema.and(zod_1.default.object({\n        type: zod_1.default.literal('console'),\n        method: zod_1.default.string(),\n        args: zod_1.default.array(Script.RemoteValueSchema),\n    })));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n    Log.JavascriptLogEntrySchema = zod_1.default.lazy(() => Log.BaseLogEntrySchema.and(zod_1.default.object({\n        type: zod_1.default.literal('javascript'),\n    })));\n})(Log || (exports.Log = Log = {}));\n(function (Log) {\n    Log.EntryAddedSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('log.entryAdded'),\n        params: Log.EntrySchema,\n    }));\n})(Log || (exports.Log = Log = {}));\nexports.InputCommandSchema = zod_1.default.lazy(() => zod_1.default.union([Input.PerformActionsSchema, Input.ReleaseActionsSchema]));\nvar Input;\n(function (Input) {\n    Input.ElementOriginSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('element'),\n        element: Script.SharedReferenceSchema,\n    }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.PerformActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('input.performActions'),\n        params: Input.PerformActionsParametersSchema,\n    }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.PerformActionsParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema,\n        actions: zod_1.default.array(Input.SourceActionsSchema),\n    }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.SourceActionsSchema = zod_1.default.lazy(() => zod_1.default.union([\n        Input.NoneSourceActionsSchema,\n        Input.KeySourceActionsSchema,\n        Input.PointerSourceActionsSchema,\n        Input.WheelSourceActionsSchema,\n    ]));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.NoneSourceActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('none'),\n        id: zod_1.default.string(),\n        actions: zod_1.default.array(Input.NoneSourceActionSchema),\n    }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.NoneSourceActionSchema = zod_1.default.lazy(() => Input.PauseActionSchema);\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.KeySourceActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('key'),\n        id: zod_1.default.string(),\n        actions: zod_1.default.array(Input.KeySourceActionSchema),\n    }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.KeySourceActionSchema = zod_1.default.lazy(() => zod_1.default.union([\n        Input.PauseActionSchema,\n        Input.KeyDownActionSchema,\n        Input.KeyUpActionSchema,\n    ]));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.PointerSourceActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('pointer'),\n        id: zod_1.default.string(),\n        parameters: Input.PointerParametersSchema.optional(),\n        actions: zod_1.default.array(Input.PointerSourceActionSchema),\n    }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.PointerTypeSchema = zod_1.default.lazy(() => zod_1.default.enum(['mouse', 'pen', 'touch']));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.PointerParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        pointerType: Input.PointerTypeSchema.default('mouse').optional(),\n    }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.PointerSourceActionSchema = zod_1.default.lazy(() => zod_1.default.union([\n        Input.PauseActionSchema,\n        Input.PointerDownActionSchema,\n        Input.PointerUpActionSchema,\n        Input.PointerMoveActionSchema,\n    ]));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.WheelSourceActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('wheel'),\n        id: zod_1.default.string(),\n        actions: zod_1.default.array(Input.WheelSourceActionSchema),\n    }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.WheelSourceActionSchema = zod_1.default.lazy(() => zod_1.default.union([Input.PauseActionSchema, Input.WheelScrollActionSchema]));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.PauseActionSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('pause'),\n        duration: exports.JsUintSchema.optional(),\n    }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.KeyDownActionSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('keyDown'),\n        value: zod_1.default.string(),\n    }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.KeyUpActionSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('keyUp'),\n        value: zod_1.default.string(),\n    }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.PointerUpActionSchema = zod_1.default.lazy(() => zod_1.default\n        .object({\n        type: zod_1.default.literal('pointerUp'),\n        button: exports.JsUintSchema,\n    })\n        .and(Input.PointerCommonPropertiesSchema));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.PointerDownActionSchema = zod_1.default.lazy(() => zod_1.default\n        .object({\n        type: zod_1.default.literal('pointerDown'),\n        button: exports.JsUintSchema,\n    })\n        .and(Input.PointerCommonPropertiesSchema));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.PointerMoveActionSchema = zod_1.default.lazy(() => zod_1.default\n        .object({\n        type: zod_1.default.literal('pointerMove'),\n        x: exports.JsIntSchema,\n        y: exports.JsIntSchema,\n        duration: exports.JsUintSchema.optional(),\n        origin: Input.OriginSchema.optional(),\n    })\n        .and(Input.PointerCommonPropertiesSchema));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.WheelScrollActionSchema = zod_1.default.lazy(() => zod_1.default.object({\n        type: zod_1.default.literal('scroll'),\n        x: exports.JsIntSchema,\n        y: exports.JsIntSchema,\n        deltaX: exports.JsIntSchema,\n        deltaY: exports.JsIntSchema,\n        duration: exports.JsUintSchema.optional(),\n        origin: Input.OriginSchema.default('viewport').optional(),\n    }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.PointerCommonPropertiesSchema = zod_1.default.lazy(() => zod_1.default\n        .object({\n        width: exports.JsUintSchema.default(1).optional(),\n        height: exports.JsUintSchema.default(1).optional(),\n        pressure: zod_1.default.number().default(0).optional(),\n        tangentialPressure: zod_1.default.number().default(0).optional(),\n        twist: zod_1.default\n            .number()\n            .int()\n            .nonnegative()\n            .gte(0)\n            .lte(359)\n            .default(0)\n            .optional(),\n    })\n        .and(zod_1.default.union([Input.TiltPropertiesSchema, Input.AnglePropertiesSchema])));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.AnglePropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({\n        altitudeAngle: zod_1.default.number().default(0).optional(),\n        azimuthAngle: zod_1.default.number().default(0).optional(),\n    }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.TiltPropertiesSchema = zod_1.default.lazy(() => zod_1.default.object({\n        tiltX: zod_1.default.number().int().gte(-90).lte(90).default(0).optional(),\n        tiltY: zod_1.default.number().int().gte(-90).lte(90).default(0).optional(),\n    }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.OriginSchema = zod_1.default.lazy(() => zod_1.default.union([\n        zod_1.default.literal('viewport'),\n        zod_1.default.literal('pointer'),\n        Input.ElementOriginSchema,\n    ]));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.ReleaseActionsSchema = zod_1.default.lazy(() => zod_1.default.object({\n        method: zod_1.default.literal('input.releaseActions'),\n        params: Input.ReleaseActionsParametersSchema,\n    }));\n})(Input || (exports.Input = Input = {}));\n(function (Input) {\n    Input.ReleaseActionsParametersSchema = zod_1.default.lazy(() => zod_1.default.object({\n        context: BrowsingContext.BrowsingContextSchema,\n    }));\n})(Input || (exports.Input = Input = {}));\n//# sourceMappingURL=webdriver-bidi.js.map","\"use strict\";\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Cdp = exports.Input = exports.Session = exports.BrowsingContext = exports.Script = exports.parseObject = void 0;\n/**\n * @fileoverview Provides parsing and validator for WebDriver BiDi protocol.\n * Parser types should match the `../protocol` types.\n */\nconst zod_1 = require(\"zod\");\nconst protocol_js_1 = require(\"../protocol/protocol.js\");\nconst WebDriverBidi = __importStar(require(\"./webdriver-bidi.js\"));\nfunction parseObject(obj, schema) {\n    const parseResult = schema.safeParse(obj);\n    if (parseResult.success) {\n        return parseResult.data;\n    }\n    const errorMessage = parseResult.error.errors\n        .map((e) => `${e.message} in ` +\n        `${e.path.map((p) => JSON.stringify(p)).join('/')}.`)\n        .join(' ');\n    throw new protocol_js_1.InvalidArgumentException(errorMessage);\n}\nexports.parseObject = parseObject;\n/** @see https://w3c.github.io/webdriver-bidi/#module-script */\nvar Script;\n(function (Script) {\n    function parseGetRealmsParams(params) {\n        return parseObject(params, WebDriverBidi.Script.GetRealmsParametersSchema);\n    }\n    Script.parseGetRealmsParams = parseGetRealmsParams;\n    function parseEvaluateParams(params) {\n        return parseObject(params, WebDriverBidi.Script.EvaluateParametersSchema);\n    }\n    Script.parseEvaluateParams = parseEvaluateParams;\n    function parseDisownParams(params) {\n        return parseObject(params, WebDriverBidi.Script.DisownParametersSchema);\n    }\n    Script.parseDisownParams = parseDisownParams;\n    function parseAddPreloadScriptParams(params) {\n        return parseObject(params, WebDriverBidi.Script.AddPreloadScriptParametersSchema);\n    }\n    Script.parseAddPreloadScriptParams = parseAddPreloadScriptParams;\n    function parseRemovePreloadScriptParams(params) {\n        return parseObject(params, WebDriverBidi.Script.RemovePreloadScriptParametersSchema);\n    }\n    Script.parseRemovePreloadScriptParams = parseRemovePreloadScriptParams;\n    function parseCallFunctionParams(params) {\n        return parseObject(params, WebDriverBidi.Script.CallFunctionParametersSchema);\n    }\n    Script.parseCallFunctionParams = parseCallFunctionParams;\n})(Script || (exports.Script = Script = {}));\n/** @see https://w3c.github.io/webdriver-bidi/#module-browsingContext */\nvar BrowsingContext;\n(function (BrowsingContext) {\n    function parseActivateParams(params) {\n        return parseObject(params, WebDriverBidi.BrowsingContext.ActivateParametersSchema);\n    }\n    BrowsingContext.parseActivateParams = parseActivateParams;\n    function parseGetTreeParams(params) {\n        return parseObject(params, WebDriverBidi.BrowsingContext.GetTreeParametersSchema);\n    }\n    BrowsingContext.parseGetTreeParams = parseGetTreeParams;\n    function parseNavigateParams(params) {\n        return parseObject(params, WebDriverBidi.BrowsingContext.NavigateParametersSchema);\n    }\n    BrowsingContext.parseNavigateParams = parseNavigateParams;\n    function parseReloadParams(params) {\n        return parseObject(params, WebDriverBidi.BrowsingContext.ReloadParametersSchema);\n    }\n    BrowsingContext.parseReloadParams = parseReloadParams;\n    function parseCreateParams(params) {\n        return parseObject(params, WebDriverBidi.BrowsingContext.CreateParametersSchema);\n    }\n    BrowsingContext.parseCreateParams = parseCreateParams;\n    function parseCloseParams(params) {\n        return parseObject(params, WebDriverBidi.BrowsingContext.CloseParametersSchema);\n    }\n    BrowsingContext.parseCloseParams = parseCloseParams;\n    function parseCaptureScreenshotParams(params) {\n        return parseObject(params, WebDriverBidi.BrowsingContext.CaptureScreenshotParametersSchema);\n    }\n    BrowsingContext.parseCaptureScreenshotParams = parseCaptureScreenshotParams;\n    function parsePrintParams(params) {\n        return parseObject(params, WebDriverBidi.BrowsingContext.PrintParametersSchema);\n    }\n    BrowsingContext.parsePrintParams = parsePrintParams;\n    function parseSetViewportParams(params) {\n        return parseObject(params, WebDriverBidi.BrowsingContext.SetViewportParametersSchema);\n    }\n    BrowsingContext.parseSetViewportParams = parseSetViewportParams;\n    function parseHandleUserPromptParameters(params) {\n        return parseObject(params, WebDriverBidi.BrowsingContext.HandleUserPromptParametersSchema);\n    }\n    BrowsingContext.parseHandleUserPromptParameters = parseHandleUserPromptParameters;\n})(BrowsingContext || (exports.BrowsingContext = BrowsingContext = {}));\n/** @see https://w3c.github.io/webdriver-bidi/#module-session */\nvar Session;\n(function (Session) {\n    function parseSubscribeParams(params) {\n        return parseObject(params, WebDriverBidi.Session.SubscriptionRequestSchema);\n    }\n    Session.parseSubscribeParams = parseSubscribeParams;\n})(Session || (exports.Session = Session = {}));\nvar Input;\n(function (Input) {\n    function parsePerformActionsParams(params) {\n        return parseObject(params, WebDriverBidi.Input.PerformActionsParametersSchema);\n    }\n    Input.parsePerformActionsParams = parsePerformActionsParams;\n    function parseReleaseActionsParams(params) {\n        return parseObject(params, WebDriverBidi.Input.ReleaseActionsParametersSchema);\n    }\n    Input.parseReleaseActionsParams = parseReleaseActionsParams;\n})(Input || (exports.Input = Input = {}));\nvar Cdp;\n(function (Cdp) {\n    const SendCommandRequestSchema = zod_1.z.object({\n        // Allowing any cdpMethod, and casting to proper type later on.\n        method: zod_1.z.string(),\n        // `passthrough` allows object to have any fields.\n        // https://github.com/colinhacks/zod#passthrough\n        params: zod_1.z.object({}).passthrough().optional(),\n        session: zod_1.z.string().optional(),\n    });\n    const GetSessionRequestSchema = zod_1.z.object({\n        context: WebDriverBidi.BrowsingContext.BrowsingContextSchema,\n    });\n    function parseSendCommandRequest(params) {\n        return parseObject(params, SendCommandRequestSchema);\n    }\n    Cdp.parseSendCommandRequest = parseSendCommandRequest;\n    function parseGetSessionRequest(params) {\n        return parseObject(params, GetSessionRequestSchema);\n    }\n    Cdp.parseGetSessionRequest = parseGetSessionRequest;\n})(Cdp || (exports.Cdp = Cdp = {}));\n//# sourceMappingURL=protocol-parser.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    var desc = Object.getOwnPropertyDescriptor(m, k);\n    if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n    }\n    Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n    if (k2 === undefined) k2 = k;\n    o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n    Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n    o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n    __setModuleDefault(result, mod);\n    return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BidiParserImpl = void 0;\nconst Parser = __importStar(require(\"../protocol-parser/protocol-parser.js\"));\nclass BidiParserImpl {\n    // Browsing Context domain\n    // keep-sorted start block=yes\n    parseActivateParams(params) {\n        return Parser.BrowsingContext.parseActivateParams(params);\n    }\n    parseCaptureScreenshotParams(params) {\n        return Parser.BrowsingContext.parseCaptureScreenshotParams(params);\n    }\n    parseCloseParams(params) {\n        return Parser.BrowsingContext.parseCloseParams(params);\n    }\n    parseCreateParams(params) {\n        return Parser.BrowsingContext.parseCreateParams(params);\n    }\n    parseGetTreeParams(params) {\n        return Parser.BrowsingContext.parseGetTreeParams(params);\n    }\n    parseHandleUserPromptParams(params) {\n        return Parser.BrowsingContext.parseHandleUserPromptParameters(params);\n    }\n    parseNavigateParams(params) {\n        return Parser.BrowsingContext.parseNavigateParams(params);\n    }\n    parsePrintParams(params) {\n        return Parser.BrowsingContext.parsePrintParams(params);\n    }\n    parseReloadParams(params) {\n        return Parser.BrowsingContext.parseReloadParams(params);\n    }\n    parseSetViewportParams(params) {\n        return Parser.BrowsingContext.parseSetViewportParams(params);\n    }\n    // keep-sorted end\n    // CDP domain\n    // keep-sorted start block=yes\n    parseGetSessionParams(params) {\n        return Parser.Cdp.parseGetSessionRequest(params);\n    }\n    parseSendCommandParams(params) {\n        return Parser.Cdp.parseSendCommandRequest(params);\n    }\n    // keep-sorted end\n    // Input domain\n    // keep-sorted start block=yes\n    parsePerformActionsParams(params) {\n        return Parser.Input.parsePerformActionsParams(params);\n    }\n    parseReleaseActionsParams(params) {\n        return Parser.Input.parseReleaseActionsParams(params);\n    }\n    // keep-sorted end\n    // Script domain\n    // keep-sorted start block=yes\n    parseAddPreloadScriptParams(params) {\n        return Parser.Script.parseAddPreloadScriptParams(params);\n    }\n    parseCallFunctionParams(params) {\n        return Parser.Script.parseCallFunctionParams(params);\n    }\n    parseDisownParams(params) {\n        return Parser.Script.parseDisownParams(params);\n    }\n    parseEvaluateParams(params) {\n        return Parser.Script.parseEvaluateParams(params);\n    }\n    parseGetRealmsParams(params) {\n        return Parser.Script.parseGetRealmsParams(params);\n    }\n    parseRemovePreloadScriptParams(params) {\n        return Parser.Script.parseRemovePreloadScriptParams(params);\n    }\n    // keep-sorted end\n    // Session domain\n    // keep-sorted start block=yes\n    parseSubscribeParams(params) {\n        return Parser.Session.parseSubscribeParams(params);\n    }\n}\nexports.BidiParserImpl = BidiParserImpl;\n//# sourceMappingURL=BidiParserImpl.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.log = exports.generatePage = void 0;\n/**\n * Copyright 2022 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst log_js_1 = require(\"../utils/log.js\");\n/** HTML source code for the user-facing Mapper tab. */\nconst mapperPageSource = '<!DOCTYPE html><title>BiDi-CDP Mapper</title><style>body{font-family: Roboto, serif; font-size: 13px; color: #202124;}.log{padding: 12px; font-family: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace; font-size: 11px; line-height: 180%; background: #f1f3f4; border-radius: 4px;}.pre{overflow-wrap: break-word; padding: 10px;}.card{margin: 60px auto; padding: 2px 0; max-width: 900px; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15), 0 1px 6px rgba(0, 0, 0, 0.2); border-radius: 8px;}.divider{height: 1px; background: #f0f0f0;}.item{padding: 16px 20px;}</style><div class=\"card\"><div class=\"item\"><h1>BiDi-CDP Mapper is controlling this tab</h1><p>Closing or reloading it will stop the BiDi process. <a target=\"_blank\" title=\"BiDi-CDP Mapper GitHub Repository\" href=\"https://github.com/GoogleChromeLabs/chromium-bidi\">Details.</a></p></div><div class=\"divider\"></div><details id=\"details\"><summary class=\"item\">Debug information</summary></details></div>';\n/**\n * The following piece of HTML should be added to the `debug` element:\n *\n * <div class=\"divider\"></div>\n * <div class=\"item\">\n * <h3>${name}</h3>\n * <div id=\"${name}_log\" class=\"log\">\n */\nfunction findOrCreateTypeLogContainer(logType) {\n    const containerId = `${logType}_log`;\n    const existingContainer = document.getElementById(containerId);\n    if (existingContainer) {\n        return existingContainer;\n    }\n    const debugElement = document.getElementById('details');\n    const divider = document.createElement('div');\n    divider.className = 'divider';\n    debugElement.appendChild(divider);\n    const htmlItem = document.createElement('div');\n    htmlItem.className = 'item';\n    htmlItem.innerHTML = `<h3>${logType}</h3><div id=\"${containerId}\" class=\"log\"></div>`;\n    debugElement.appendChild(htmlItem);\n    return document.getElementById(containerId);\n}\nfunction generatePage() {\n    // If run not in browser (e.g. unit test), do nothing.\n    if (!globalThis.document.documentElement) {\n        return;\n    }\n    globalThis.document.documentElement.innerHTML = mapperPageSource;\n    // Create main log containers in proper order.\n    findOrCreateTypeLogContainer(log_js_1.LogType.system);\n    findOrCreateTypeLogContainer(log_js_1.LogType.bidi);\n    findOrCreateTypeLogContainer(log_js_1.LogType.browsingContexts);\n    findOrCreateTypeLogContainer(log_js_1.LogType.cdp);\n}\nexports.generatePage = generatePage;\nfunction log(logType, ...messages) {\n    // If run not in browser (e.g. unit test), do nothing.\n    if (!globalThis.document.documentElement) {\n        return;\n    }\n    // If `sendDebugMessage` is defined, send the log message there.\n    global.window?.sendDebugMessage?.(JSON.stringify({ logType, messages }));\n    const typeLogContainer = findOrCreateTypeLogContainer(logType);\n    // This piece of HTML should be added:\n    // <div class=\"pre\">...log message...</div>\n    const lineElement = document.createElement('div');\n    lineElement.className = 'pre';\n    lineElement.textContent = messages.join(' ');\n    typeLogContainer.appendChild(lineElement);\n}\nexports.log = log;\n//# sourceMappingURL=mapperTabPage.js.map","\"use strict\";\n/**\n * Copyright 2021 Google LLC.\n * Copyright (c) Microsoft Corporation.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @license\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst bidiMapper_js_1 = require(\"../bidiMapper/bidiMapper.js\");\nconst cdpConnection_js_1 = require(\"../cdp/cdpConnection.js\");\nconst log_js_1 = require(\"../utils/log.js\");\nconst BidiParserImpl_1 = require(\"./BidiParserImpl\");\nconst mapperTabPage_js_1 = require(\"./mapperTabPage.js\");\n// Initiate `setSelfTargetId` as soon as possible to prevent race condition.\nconst waitSelfTargetIdPromise = waitSelfTargetId();\nvoid (async () => {\n    (0, mapperTabPage_js_1.generatePage)();\n    // Needed to filter out info related to BiDi target.\n    const selfTargetId = await waitSelfTargetIdPromise;\n    const bidiServer = await createBidiServer(selfTargetId);\n    (0, mapperTabPage_js_1.log)(log_js_1.LogType.system, 'Launched');\n    bidiServer.emitOutgoingMessage(bidiMapper_js_1.OutgoingBidiMessage.createResolved({\n        launched: true,\n    }));\n})();\nfunction createCdpConnection() {\n    /**\n     * A CdpTransport implementation that uses the window.cdp bindings\n     * injected by Target.exposeDevToolsProtocol.\n     */\n    class WindowCdpTransport {\n        #onMessage = null;\n        constructor() {\n            window.cdp.onmessage = (message) => {\n                this.#onMessage?.call(null, message);\n            };\n        }\n        setOnMessage(onMessage) {\n            this.#onMessage = onMessage;\n        }\n        sendMessage(message) {\n            window.cdp.send(message);\n        }\n        close() {\n            this.#onMessage = null;\n            window.cdp.onmessage = null;\n        }\n    }\n    return new cdpConnection_js_1.CdpConnection(new WindowCdpTransport(), mapperTabPage_js_1.log);\n}\nfunction createBidiServer(selfTargetId) {\n    class WindowBidiTransport {\n        #onMessage = null;\n        constructor() {\n            window.onBidiMessage = (messageStr) => {\n                (0, mapperTabPage_js_1.log)(`${log_js_1.LogType.bidi}:RECV ◂`, messageStr);\n                let messageObject;\n                try {\n                    messageObject = WindowBidiTransport.#parseBidiMessage(messageStr);\n                }\n                catch (e) {\n                    // Transport-level error does not provide channel.\n                    this.#respondWithError(messageStr, \"invalid argument\" /* ErrorCode.InvalidArgument */, e.message, null);\n                    return;\n                }\n                this.#onMessage?.call(null, messageObject);\n            };\n        }\n        setOnMessage(onMessage) {\n            this.#onMessage = onMessage;\n        }\n        sendMessage(message) {\n            const messageStr = JSON.stringify(message);\n            window.sendBidiResponse(messageStr);\n            (0, mapperTabPage_js_1.log)(`${log_js_1.LogType.bidi}:SEND ▸`, messageStr);\n        }\n        close() {\n            this.#onMessage = null;\n            window.onBidiMessage = null;\n        }\n        #respondWithError(plainCommandData, errorCode, errorMessage, channel) {\n            const errorResponse = WindowBidiTransport.#getErrorResponse(plainCommandData, errorCode, errorMessage);\n            if (channel) {\n                // XXX: get rid of any, same code existed in BidiServer.\n                this.sendMessage({\n                    ...errorResponse,\n                    channel,\n                });\n            }\n            else {\n                this.sendMessage(errorResponse);\n            }\n        }\n        static #getJsonType(value) {\n            if (value === null) {\n                return 'null';\n            }\n            if (Array.isArray(value)) {\n                return 'array';\n            }\n            return typeof value;\n        }\n        static #getErrorResponse(messageStr, errorCode, errorMessage) {\n            // XXX: this is bizarre per spec. We reparse the payload and\n            // extract the ID, regardless of what kind of value it was.\n            let messageId;\n            try {\n                const messageObj = JSON.parse(messageStr);\n                if (WindowBidiTransport.#getJsonType(messageObj) === 'object' &&\n                    'id' in messageObj) {\n                    messageId = messageObj.id;\n                }\n            }\n            catch { }\n            return {\n                type: 'error',\n                id: messageId,\n                error: errorCode,\n                message: errorMessage,\n                // XXX: optional stacktrace field.\n            };\n        }\n        static #parseBidiMessage(messageStr) {\n            let messageObject;\n            try {\n                messageObject = JSON.parse(messageStr);\n            }\n            catch {\n                throw new Error('Cannot parse data as JSON');\n            }\n            const parsedType = WindowBidiTransport.#getJsonType(messageObject);\n            if (parsedType !== 'object') {\n                throw new Error(`Expected JSON object but got ${parsedType}`);\n            }\n            // Extract and validate id, method and params.\n            const { id, method, params } = messageObject;\n            const idType = WindowBidiTransport.#getJsonType(id);\n            if (idType !== 'number' || !Number.isInteger(id) || id < 0) {\n                // TODO: should uint64_t be the upper limit?\n                // https://tools.ietf.org/html/rfc7049#section-2.1\n                throw new Error(`Expected unsigned integer but got ${idType}`);\n            }\n            const methodType = WindowBidiTransport.#getJsonType(method);\n            if (methodType !== 'string') {\n                throw new Error(`Expected string method but got ${methodType}`);\n            }\n            const paramsType = WindowBidiTransport.#getJsonType(params);\n            if (paramsType !== 'object') {\n                throw new Error(`Expected object params but got ${paramsType}`);\n            }\n            let channel = messageObject.channel;\n            if (channel !== undefined) {\n                const channelType = WindowBidiTransport.#getJsonType(channel);\n                if (channelType !== 'string') {\n                    throw new Error(`Expected string channel but got ${channelType}`);\n                }\n                // Empty string channel is considered as no channel provided.\n                if (channel === '') {\n                    channel = undefined;\n                }\n            }\n            return { id, method, params, channel };\n        }\n    }\n    return bidiMapper_js_1.BidiServer.createAndStart(new WindowBidiTransport(), createCdpConnection(), selfTargetId, new BidiParserImpl_1.BidiParserImpl(), mapperTabPage_js_1.log);\n}\n// Needed to filter out info related to BiDi target.\nasync function waitSelfTargetId() {\n    return new Promise((resolve) => {\n        window.setSelfTargetId = (targetId) => {\n            (0, mapperTabPage_js_1.log)(log_js_1.LogType.system, 'Current target ID:', targetId);\n            resolve(targetId);\n        };\n    });\n}\n//# sourceMappingURL=bidiTab.js.map"],"names":["n","all","Map","on","t","e","i","get","push","set","off","splice","indexOf","emit","slice","map","__importDefault","this","mod","__esModule","default","Object","defineProperty","EventEmitter_1","value","EventEmitter","mitt_1","require$$0","EventEmitter$1","emitter","type","handler","once","event","onceHandler","eventData","removeAllListeners","delete","clear","LogType","log","processingQueue","ProcessingQueue","log_js_1","logger","processor","queue","isProcessing","constructor","add","entry","processIfNeeded","async","length","entryPromise","shift","undefined","then","kind","system","error","catch","cdp","Script","Log","BrowsingContext","Network","chromiumBidi","EventNames","webdriverBidi","ErrorResponse","UnsupportedOperationException","UnableToCloseBrowserException","UnableToCaptureScreenException","UnknownErrorException","UnknownCommandException","SessionNotCreatedException","NoSuchScriptException","NoSuchHandleException","NoSuchFrameException","NoSuchElementException","NoSuchAlertException","MoveTargetOutOfBoundsException","InvalidSessionIdException","Exception","message","stacktrace","toErrorResponse","commandId","id","InvalidArgumentException","super","NoSuchNodeException","Error","stack","__createBinding","create","o","m","k","k2","desc","getOwnPropertyDescriptor","writable","configurable","enumerable","__setModuleDefault","v","__importStar","result","prototype","hasOwnProperty","call","__exportStar","exports","p","ChromiumBidi","Cdp","require$$1","require$$2","require$$3","BidiNoOpParser_1","BidiNoOpParser","BidiNoOpParser$1","parseActivateParams","params","parseCaptureScreenshotParams","parseCloseParams","parseCreateParams","parseGetTreeParams","parseHandleUserPromptParams","parseNavigateParams","parsePrintParams","parseReloadParams","parseSetViewportParams","parseGetSessionParams","parseSendCommandParams","parseAddPreloadScriptParams","parseCallFunctionParams","parseDisownParams","parseEvaluateParams","parseGetRealmsParams","parseRemovePreloadScriptParams","parsePerformActionsParams","parseReleaseActionsParams","parseSubscribeParams","OutgoingBidiMessage_1","OutgoingBidiMessage","channel","static","messagePromise","Promise","resolve","OutgoingBidiMessage$1","BrowserProcessor_1","BrowserProcessor","BrowserProcessor$1","cdpConnection","close","client","browserClient","setTimeout","sendCommand","CdpProcessor_1","CdpProcessor","CdpProcessor$1","browsingContextStorage","getSession","context","sessionId","getContext","cdpTarget","cdpSessionId","session","getCdpClient","method","deferred","Deferred","isFinished","promise","reject","_error","onFulfilled","onRejected","reason","finally","onFinally","Symbol","toStringTag","unitConversions","inchesFromCm","cm","uuid","uuidv4","globalThis","crypto","randomUUID","randomValues","Uint8Array","getRandomValues","require","webcrypto","bytesToHex","bytes","reduce","str","byte","toString","padStart","subarray","join","channelProxy","ChannelProxy","protocol_js_1","uuid_1","properties","includes","serializationOptions","maxDomDepth","includeShadowTree","realm","eventManager","channelHandle","createAndGetHandleInRealm","sendMessageHandle","createSendMessageHandle","startListener","getHandleFromWindow","String","queueNonEmptyResolver","onMessage","sendMessage","createChannelHandleResult","cdpClient","expression","createChannelProxyEvalStr","contextId","executionContextId","serialization","exceptionDetails","objectId","functionDeclaration","arguments","getMessage","awaitPromise","maxObjectDepth","maxDepth","registerEvent","MessageEvent","data","cdpToBidiValue","ownership","source","realmId","browsingContextId","channelHandleResult","w","window","getEvalInWindowStr","delegate","channelProxyEval","Realm","channelProxy_js_1","SHARED_ID_DIVIDER","realmStorage","origin","sandbox","addRealm","RealmCreated","realmInfo","cdpValue","resultOwnership","bidiValue","deepSerializedToBiDi","deepSerializedValue","handle","knownHandlesToRealmMap","releaseObject","subtype","hasOwn","internalId","weakLocalObjectReference","sharedId","navigableId","backendNodeId","children","shadowRoot","findContext","userActivation","targetUnblocked","cdpEvaluateResult","getSerializationOptions","userGesture","getExceptionResult","cdpRemoteObject","argument","cdpRemoteObjectToCallArgument","remoteObject","unserializableValue","returnByValue","mappingLocalValue","keyValueArray","key","keyArg","deserializeToCdpArg","valueArg","listLocalValue","localValue","cdpExceptionDetails","lineOffset","callFrames","stackTrace","frame","url","functionName","lineNumber","columnNumber","exception","serializeCdpObject","text","stringifyObject","thisLocalValue","argumentsLocalValues","callFunctionAndSerializeScript","thisAndArgumentsList","argumentLocalValue","cdpCallFunctionResult","code","rawBackendNodeId","split","parseInt","isNaN","object","Boolean","JSON","stringify","pattern","flags","flattenKeyValuePairs","args","flattenValueList","Set","init","serializeCdpExceptionDetails","additionalParameters","getAdditionalSerializationParameters","getMaxObjectDepth","dispose","RealmDestroyed","browsingContextImpl","BrowsingContextImpl","deferred_js_1","unitConversions_js_1","realm_js_1","require$$4","parentId","deferreds","Page","navigatedWithinDocument","lifecycleEvent","DOMContentLoaded","load","loaderId","maybeDefaultRealm","initListeners","addContext","isTopLevelContext","parent","addChild","ContextCreatedEvent","serializeToBidiValue","Date","getTime","deleteAllChildren","deleteRealms","ContextDestroyedEvent","deleteContextById","directChildren","allChildren","concat","child","top","topContext","childId","defaultRealm","updateCdpTarget","maybeSandboxes","findRealms","frameId","worldName","addParentField","c","onTargetInfoChanged","targetInfo","urlFragment","timestamp","getTimestamp","FragmentNavigated","navigation","NavigationStarted","name","documentChanged","DomContentLoadedEvent","LoadEvent","auxData","uniqueId","getOrigin","isDefault","getChannels","startListenerFromWindow","UserPromptClosed","accepted","userText","userInput","UserPromptOpened","resetDeferredsIfFinished","browsingContexts","wait","URL","cdpNavigateResult","errorText","lifecycleLoaded","ignoreCache","viewport","width","height","deviceScaleFactor","mobile","dontSetVisibleSize","err","startsWith","accept","promptText","clip","cssContentSize","cssLayoutViewport","x","y","clientWidth","clientHeight","iframeDocRect","docRect","document","documentElement","getBoundingClientRect","parse","scale","cdpParams","background","printBackground","margin","bottom","marginBottom","left","marginLeft","right","marginRight","marginTop","orientation","landscape","page","paperHeight","paperWidth","pageRanges","range","rangeParts","parseInteger","lowerBound","upperBound","rangeLowerPart","rangeUpperPart","Number","MAX_SAFE_INTEGER","shrinkToFit","preferCSSPageSize","trim","test","logHelper","getRemoteValuesText","logMessageFormatter","specifiers","isFormatSpecifier","some","spec","output","argFormat","argValues","tokens","RegExp","token","arg","stringFromArg","parseFloat","toJson","pair","val","formatText","logManager","LogManager","logHelper_js_1","getBidiStackTrace","cdpStackTrace","stackFrames","callFrame","initializeEntryAddedEventListener","findRealm","argsPromise","registerPromiseEvent","LogEntryAddedEvent","level","consoleApiType","Math","round","textPromise","DefaultMap_1","DefaultMap","getDefaultValue","entries","has","DefaultMap$1","networkRequest","NetworkRequest","requestId","servedFromCache","redirectCount","requestWillBeSentEvent","requestWillBeSentExtraInfoEvent","responseReceivedEvent","responseReceivedExtraInfoEvent","beforeRequestSentDeferred","responseReceivedDeferred","onRequestWillBeSentEvent","sendBeforeRequestEvent","onRequestWillBeSentExtraInfoEvent","onResponseReceivedEventExtraInfo","onResponseReceivedEvent","hasExtraInfo","sendResponseReceivedEvent","onServedFromCache","onLoadingFailedEvent","FetchErrorEvent","getBaseEventParams","getNavigationId","request","getRequestData","wallTime","cookies","getCookies","associatedCookies","unknown","headers","getHeaders","headersSize","bodySize","timings","timeOrigin","requestTime","redirectStart","redirectEnd","fetchStart","dnsStart","dnsEnd","connectStart","connectEnd","tlsStart","requestStart","responseStart","responseEnd","isIgnoredEvent","assign","getBeforeRequestEvent","BeforeRequestSentEvent","initiator","getInitiatorType","getResponseReceivedEvent","ResponseCompletedEvent","response","fromDiskCache","protocol","status","statusCode","statusText","fromCache","fromPrefetchCache","mimeType","bytesReceived","encodedDataLength","computeResponseHeadersSize","content","size","total","header","endsWith","initiatorType","cookieInfo","cookie","domain","path","expires","httpOnly","secure","sameSite","getCookiesSameSite","cdpSameSiteValue","NetworkManager_1","NetworkManager","DefaultMap_js_1","networkRequest_js_1","requestMap","networkProcessor","getOrCreateNetworkRequest","forgetRequest","values","NetworkManager$1","CdpTarget","logManager_js_1","NetworkManager_js_1","targetId","preloadScriptStorage","setEventListeners","unblock","promises","enabled","autoAttach","waitForDebuggerOnStart","flatten","initAndEvaluatePreloadScripts","isCloseError","findPreloadScripts","flatMap","script","channels","initInTarget","browsingContextProcessor","BrowsingContextProcessor","browsingContextImpl_js_1","cdpTarget_js_1","selfTargetId","getTree","contexts","root","getTopLevelContexts","MAX_VALUE","browserCdpClient","referenceContext","newWindow","navigate","reload","activate","captureScreenshot","print","setViewport","handleUserPrompt","commandParams","detachedFromTargetPromise","onContextDestroyed","handleAttachedToTargetEvent","handleDetachedFromTargetEvent","handleTargetInfoChangedEvent","handleFrameAttachedEvent","handleFrameDetachedEvent","parentBrowsingContext","parentFrameId","parentSessionCdpClient","targetCdpClient","isValidTarget","maybeContext","preloadScript","target","assert_1","assert","assert$1","predicate","Mutex_1","Mutex","Mutex$1","locked","acquirers","acquire","state","resolved","release","bind","action","InputSource","WheelSource","KeySource","NoneSource","pressed","modifiers","alt","setModifier","ctrl","meta","bit","PointerSource","pointerId","buttons","button","clickCount","lastClick","setClickCount","timeStamp","DOUBLE_CLICK_TIME_MS","abs","MAX_DOUBLE_CLICK_RADIUS","InputState_1","InputState","Mutex_js_1","InputSource_js_1","InputState$1","cancelList","sources","mutex","getOrCreate","pointerIds","getGlobalKeyState","InputStateManager_1","InputStateManager","assert_js_1","InputState_js_1","WeakMap","InputStateManager$1","USKeyboardLayout","KeyToKeyCode","Abort","Help","Backspace","Tab","Numpad5","NumpadEnter","Enter","ShiftLeft","ShiftRight","ControlLeft","ControlRight","AltLeft","AltRight","Pause","CapsLock","Escape","Convert","NonConvert","Space","Numpad9","PageUp","Numpad3","PageDown","End","Numpad1","Home","Numpad7","ArrowLeft","Numpad4","Numpad8","ArrowUp","ArrowRight","Numpad6","Numpad2","ArrowDown","Select","Open","PrintScreen","Insert","Numpad0","Delete","NumpadDecimal","Digit0","Digit1","Digit2","Digit3","Digit4","Digit5","Digit6","Digit7","Digit8","Digit9","KeyA","KeyB","KeyC","KeyD","KeyE","KeyF","KeyG","KeyH","KeyI","KeyJ","KeyK","KeyL","KeyM","KeyN","KeyO","KeyP","KeyQ","KeyR","KeyS","KeyT","KeyU","KeyV","KeyW","KeyX","KeyY","KeyZ","MetaLeft","MetaRight","ContextMenu","NumpadMultiply","NumpadAdd","NumpadSubtract","NumpadDivide","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F20","F21","F22","F23","F24","NumLock","ScrollLock","AudioVolumeMute","AudioVolumeDown","AudioVolumeUp","MediaTrackNext","MediaTrackPrevious","MediaStop","MediaPlayPause","Semicolon","Equal","NumpadEqual","Comma","Minus","Period","Slash","Backquote","BracketLeft","Backslash","BracketRight","Quote","AltGraph","Props","Cancel","Clear","Shift","Control","Alt","Accept","ModeChange","Print","Execute","a","b","d","f","g","h","j","l","q","r","s","u","z","Meta","Attn","CrSel","ExSel","EraseEof","Play","ZoomOut","$","A","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","_","Camera","EndCall","VolumeDown","VolumeUp","keyUtils","getKeyLocation","getKeyCode","getNormalizedKey","ActionDispatcher_1","ActionDispatcher","USKeyboardLayout_js_1","keyUtils_js_1","CALCULATE_IN_VIEW_CENTER_PT_DECL","getClientRects","max","min","innerWidth","innerHeight","IS_MAC_DECL","navigator","platform","toLowerCase","getOrCreateSandbox","callFunction","tickStart","tickDuration","inputState","isMacOS","optionsByTick","run","options","dispatchTickActions","performance","now","duration","option","dispatchAction","keyState","dispatchKeyDownAction","dispatchKeyUpAction","dispatchPointerDownAction","dispatchPointerMoveAction","dispatchPointerUpAction","dispatchScrollAction","pointerType","pressure","twist","tangentialPressure","tiltX","tiltY","getCdpButton","force","touchPoints","radiusX","radiusY","startX","startY","offsetX","offsetY","targetX","targetY","getCoordinateFromOrigin","last","ratio","next","posX","posY","element","getElementCenter","_source","deltaX","targetDeltaX","deltaY","targetDeltaY","currentDeltaX","currentDeltaY","rawKey","repeat","location","unmodifiedText","getKeyEventUnmodifiedText","getKeyEventText","command","windowsVirtualKeyCode","autoRepeat","isSystemKey","isKeypad","commands","toLocaleUpperCase","InputProcessor_1","InputProcessor","InputStateManager_js_1","ActionDispatcher_js_1","inputStateManager","actionsByTick","getActionsByTick","dispatcher","dispatchActions","reverse","actions","parameters","item","InputProcessor$1","PreloadScriptStorage_1","PreloadScriptStorage","PreloadScriptStorage$1","scripts","filter","targetIds","addPreloadScript","removeBiDiPreloadScripts","bidiPreloadScript","BidiPreloadScript","uuid_js_1","cdpPreloadScripts","getEvaluateString","channelsArgStr","cdpTargets","runImmediately","Array","from","addCdpPreloadScriptResult","preloadScriptId","identifier","cdpPreloadScript","cdpPreloadScriptId","cdpTargetId","ScriptProcessor_1","ScriptProcessor","protocol_1","bidiPreloadScript_1","ScriptProcessor$1","initInTargets","bidiId","remove","getRealm","evaluate","handles","disown","getRealms","realms","SessionProcessor_1","SessionProcessor","SessionProcessor$1","ready","subscribe","events","unsubscribe","CommandProcessor_1","CommandProcessor","EventEmitter_js_1","BidiNoOpParser_js_1","OutgoingBidiMessage_js_1","BrowserProcessor_js_1","require$$5","CdpProcessor_js_1","require$$6","browsingContextProcessor_js_1","require$$7","InputProcessor_js_1","require$$8","PreloadScriptStorage_js_1","require$$9","ScriptProcessor_js_1","require$$10","SessionProcessor_js_1","require$$11","browserProcessor","inputProcessor","scriptProcessor","sessionProcessor","cdpProcessor","parser","performActions","releaseActions","removePreloadScript","processCommand","createResolved","errorResponse","bidi","CommandProcessor$1","BrowsingContextStorage","getAllContexts","deleteContext","hasContext","findTopLevelContextId","buffer","Buffer","capacity","onItemRemoved","idWrapper","IdWrapper","counter","SubscriptionManager_1","SubscriptionManager","unrollEvents","cartesianProduct","flat","allEvents","addEvents","AllBrowsingContextEvent","AllLogEvent","AllNetworkEvent","AllScriptEvent","SubscriptionManager$1","subscriptionPriority","channelToContextToEventMap","getChannelsSubscribedToEvent","eventMethod","keys","priority","getEventSubscriptionPriorityForChannel","sort","contextToEventMap","maybeTopLevelContextId","priorities","specificEvent","eventMap","unsubscribeAll","contextIds","checkUnsubscribe","forEach","eventName","EventManager_1","EventManager","buffer_js_1","idWrapper_js_1","SubscriptionManager_js_1","EventWrapper","eventBufferLength","eventToContextsMap","eventBuffers","lastMessageSent","subscriptionManager","bidiServer","getBrowsingContextStorage","browsingContext","eventWrapper","sortedChannels","bufferEvent","emitOutgoingMessage","createFromPromise","markEventSent","eventNames","checkEventName","getBufferedEvents","bufferMapKey","getMapKey","lastSentMapKey","lastSentMessageId","Infinity","wrapper","_contextId","e1","e2","EVENT_NAMES","RealmStorage","realmMap","maybeRealms","maybeRealm","BidiServer_1","BidiServer","processingQueue_js_1","CommandProcessor_js_1","browsingContextStorage_js_1","EventManager_js_1","realmStorage_js_1","messageQueue","transport","commandProcessor","handleIncomingMessage","processOutgoingMessage","messageEntry","bidiTransport","setOnMessage","server","discover","topLevelContextsLoaded","BidiServer$1","BidiServer_js_1","CdpClient","CloseError","CdpConnection","cdpClient_js_1","sessionCdpClients","commandCallbacks","nextId","cdpMessage","cdpMessageStr","messageParsed","messagePretty","callbacks","util","getParsedType","ZodParsedType","objectUtil","assertEqual","assertIs","_arg","assertNever","_x","arrayToEnum","items","obj","getValidEnumValues","validKeys","objectKeys","filtered","objectValues","find","arr","checker","isInteger","isFinite","floor","joinValues","array","separator","jsonStringifyReplacer","mergeShapes","first","second","string","nan","number","boolean","function","bigint","symbol","isArray","null","date","ZodError_1","ZodError","quotelessJson","util_1","ZodError$1","ZodIssueCode","replace","issues","addIssue","sub","addIssues","subs","actualProto","setPrototypeOf","__proto__","errors","format","_mapper","mapper","issue","fieldErrors","_errors","processError","unionErrors","returnTypeError","argumentsError","curr","el","isEmpty","formErrors","en","_ctx","invalid_type","received","expected","invalid_literal","unrecognized_keys","invalid_union","invalid_union_discriminator","invalid_enum_value","invalid_arguments","invalid_return_type","invalid_date","invalid_string","validation","position","too_small","exact","inclusive","minimum","too_big","maximum","custom","invalid_intersection_types","not_multiple_of","multipleOf","not_finite","defaultError","getErrorMap","setErrorMap","en_1","defaultErrorMap","overrideErrorMap","isAsync","isValid","isDirty","isAborted","OK","DIRTY","INVALID","ParseStatus","addIssueToContext","EMPTY_PATH","makeIssue","errors_1","errorMaps","issueData","fullPath","fullIssue","errorMessage","maps","ctx","common","contextualErrorMap","schemaErrorMap","dirty","abort","results","arrayValue","pairs","syncPairs","mergeObjectSync","finalObject","alwaysSet","freeze","typeAliases","errorUtil","errToObj","discriminatedUnion","coerce","ZodFirstPartyTypeKind","late","ZodSchema","Schema","ZodBranded","BRAND","ZodNaN","ZodCatch","ZodDefault","ZodNullable","ZodTransformer","ZodEffects","ZodPromise","ZodNativeEnum","ZodEnum","ZodLiteral","ZodFunction","ZodSet","ZodMap","ZodRecord","ZodTuple","ZodIntersection","ZodUnion","ZodObject","ZodArray","ZodVoid","ZodNever","ZodUnknown","ZodNull","ZodUndefined","ZodSymbol","ZodDate","ZodBoolean","ZodBigInt","ZodString","ZodType","NEVER","void","union","transformer","strictObject","record","preprocess","pipeline","optional","onumber","oboolean","nullable","never","nativeEnum","literal","lazy","intersection","enum","effect","errorUtil_1","parseUtil_1","ParseInputLazyPath","_cachedPath","_path","_key","handleResult","success","processCreateParams","errorMap","invalid_type_error","required_error","description","iss","def","spa","safeParseAsync","_def","safeParse","parseAsync","refine","refinement","superRefine","nullish","or","and","transform","brand","describe","pipe","isNullable","isOptional","_getType","input","_getOrReturnCtx","parsedType","_processInputParams","_parseSync","_parse","_parseAsync","_a","maybeAsyncResult","check","getIssueProperties","_refinement","setError","refinementData","schema","typeName","ZodOptional","incoming","defaultValueFunc","innerType","defaultValue","catchValueFunc","catchValue","This","ZodPipeline","cuidRegex","cuid2Regex","ulidRegex","uuidRegex","emailRegex","emojiRegex","ipv4Regex","ipv6Regex","_regex","regex","nonempty","checks","toUpperCase","tooBig","tooSmall","lastIndex","precision","offset","ip","version","_addCheck","email","emoji","cuid","cuid2","ulid","datetime","minLength","maxLength","len","isDatetime","ch","isEmail","isURL","isEmoji","isUUID","isCUID","isCUID2","isULID","isIP","floatSafeRemainder","step","valDecCount","stepDecCount","decCount","toFixed","pow","ZodNumber","gte","lte","setLimit","gt","lt","int","positive","negative","nonpositive","nonnegative","finite","safe","MIN_SAFE_INTEGER","minValue","maxValue","isInt","BigInt","minDate","maxDate","ZodAny","_any","_unknown","exactLength","mergeArray","deepPartialify","newShape","shape","fieldSchema","unwrap","_cached","nonstrict","passthrough","augment","extend","_getCached","shapeKeys","extraKeys","catchall","unknownKeys","keyValidator","strict","_b","_c","_d","strip","augmentation","merge","merging","setKey","index","pick","mask","omit","deepPartial","partial","required","newField","keyof","createZodEnum","strictCreate","lazycreate","childCtx","types","getDiscriminator","ZodLazy","ZodDiscriminatedUnion","discriminator","discriminatorValue","optionsMap","discriminatorValues","mergeValues","aType","bType","valid","bKeys","sharedKeys","newObj","sharedValue","newArray","handleParsed","parsedLeft","parsedRight","merged","rest","itemIndex","schemas","keySchema","keyType","valueSchema","valueType","mergeObjectAsync","third","finalMap","minSize","maxSize","finalizeSet","elements","parsedSet","validate","implement","makeArgsIssue","makeReturnsIssue","returns","fn","parsedArgs","parsedReturns","returnType","func","strictImplement","getter","expectedValues","enumValues","Values","Enum","extract","exclude","opt","nativeEnumValues","promisified","sourceType","processed","checkCtx","fatal","executeRefinement","acc","inner","base","createWithPreprocess","removeDefault","newCtx","removeCatch","inResult","in","out","handleAsync","_fatal","p2","instanceof","cls","stringType","numberType","nanType","bigIntType","booleanType","dateType","symbolType","undefinedType","nullType","anyType","any","unknownType","neverType","voidType","arrayType","objectType","strictObjectType","unionType","discriminatedUnionType","intersectionType","tupleType","tuple","recordType","mapType","setType","functionType","lazyType","literalType","enumType","nativeEnumType","promiseType","effectsType","optionalType","nullableType","preprocessType","pipelineType","ostring","Input","LogEventSchema","ScriptEventSchema","ScriptCommandSchema","NetworkEventSchema","NetworkResultSchema","BrowsingContextEventSchema","BrowsingContextResultSchema","BrowsingContextCommandSchema","BrowserCommandSchema","Session","SessionResultSchema","SessionCommandSchema","JsUintSchema","JsIntSchema","ExtensibleSchema","EventDataSchema","EmptyResultSchema","ResultDataSchema","ErrorResponseSchema","CommandResponseSchema","EmptyParamsSchema","CommandDataSchema","CommandSchema","zod_1","Browser","InputCommandSchema","NetworkCommandSchema","MessageSchema","EventSchema","ErrorCodeSchema","ScriptResultSchema","EndSchema","NewSchema","StatusSchema","SubscribeSchema","UnsubscribeSchema","NewResultSchema","StatusResultSchema","CapabilitiesRequestSchema","alwaysMatch","CapabilityRequestSchema","firstMatch","acceptInsecureCerts","browserName","browserVersion","platformName","proxy","proxyType","proxyAutoconfigUrl","ftpProxy","httpProxy","noProxy","sslProxy","socksProxy","socksVersion","SubscriptionRequestSchema","BrowsingContextSchema","NewParametersSchema","capabilities","setWindowRect","CloseSchema","ActivateSchema","CaptureScreenshotSchema","CreateSchema","GetTreeSchema","HandleUserPromptSchema","NavigateSchema","PrintSchema","ReloadSchema","SetViewportSchema","CaptureScreenshotResultSchema","CreateResultSchema","GetTreeResultSchema","NavigateResultSchema","PrintResultSchema","ContextCreatedSchema","ContextDestroyedSchema","NavigationStartedSchema","FragmentNavigatedSchema","DomContentLoadedSchema","LoadSchema","DownloadWillBeginSchema","NavigationAbortedSchema","NavigationFailedSchema","UserPromptClosedSchema","UserPromptOpenedSchema","InfoListSchema","InfoSchema","NavigationSchema","NavigationInfoSchema","ReadinessStateSchema","ActivateParametersSchema","CaptureScreenshotParametersSchema","ClipRectangleSchema","BoxClipRectangleSchema","ElementClipRectangleSchema","SharedReferenceSchema","scrollIntoView","CloseParametersSchema","CreateParametersSchema","CreateTypeSchema","GetTreeParametersSchema","HandleUserPromptParametersSchema","NavigateParametersSchema","PrintParametersSchema","PrintMarginParametersSchema","PrintPageParametersSchema","ReloadParametersSchema","SetViewportParametersSchema","ViewportSchema","UserPromptClosedParametersSchema","UserPromptOpenedParametersSchema","BeforeRequestSentSchema","FetchErrorSchema","ResponseStartedSchema","ResponseCompletedSchema","BaseParametersSchema","RequestDataSchema","BytesValueSchema","StringValueSchema","Base64ValueSchema","CookieSchema","FetchTimingInfoSchema","HeaderSchema","InitiatorSchema","StackTraceSchema","RequestSchema","ResponseContentSchema","ResponseDataSchema","BeforeRequestSentParametersSchema","FetchErrorParametersSchema","ResponseCompletedParametersSchema","ResponseStartedParametersSchema","AddPreloadScriptCommandSchema","CallFunctionSchema","DisownSchema","EvaluateSchema","GetRealmsSchema","RemovePreloadScriptCommandSchema","AddPreloadScriptResultSchema","EvaluateResultSchema","GetRealmsResultSchema","RealmCreatedSchema","RealmDestroyedSchema","ChannelSchema","ChannelValueSchema","ChannelPropertiesSchema","SerializationOptionsSchema","ResultOwnershipSchema","EvaluateResultSuccessSchema","EvaluateResultExceptionSchema","RemoteValueSchema","RealmSchema","ExceptionDetailsSchema","HandleSchema","LocalValueSchema","RemoteReferenceSchema","PrimitiveProtocolValueSchema","ArrayLocalValueSchema","DateLocalValueSchema","MapLocalValueSchema","ObjectLocalValueSchema","RegExpLocalValueSchema","SetLocalValueSchema","ListLocalValueSchema","MappingLocalValueSchema","RegExpValueSchema","PreloadScriptSchema","UndefinedValueSchema","NullValueSchema","NumberValueSchema","BooleanValueSchema","BigIntValueSchema","SpecialNumberSchema","RealmInfoSchema","WindowRealmInfoSchema","DedicatedWorkerRealmInfoSchema","SharedWorkerRealmInfoSchema","ServiceWorkerRealmInfoSchema","WorkerRealmInfoSchema","PaintWorkletRealmInfoSchema","AudioWorkletRealmInfoSchema","WorkletRealmInfoSchema","BaseRealmInfoSchema","RealmTypeSchema","RemoteObjectReferenceSchema","SharedIdSchema","SymbolRemoteValueSchema","ArrayRemoteValueSchema","ObjectRemoteValueSchema","FunctionRemoteValueSchema","RegExpRemoteValueSchema","DateRemoteValueSchema","MapRemoteValueSchema","SetRemoteValueSchema","WeakMapRemoteValueSchema","WeakSetRemoteValueSchema","IteratorRemoteValueSchema","GeneratorRemoteValueSchema","ErrorRemoteValueSchema","ProxyRemoteValueSchema","PromiseRemoteValueSchema","TypedArrayRemoteValueSchema","ArrayBufferRemoteValueSchema","NodeListRemoteValueSchema","HtmlCollectionRemoteValueSchema","NodeRemoteValueSchema","WindowProxyRemoteValueSchema","InternalIdSchema","ListRemoteValueSchema","MappingRemoteValueSchema","NodePropertiesSchema","nodeType","childNodeCount","attributes","localName","mode","namespaceURI","nodeValue","WindowProxyPropertiesSchema","StackFrameSchema","SourceSchema","RealmTargetSchema","ContextTargetSchema","TargetSchema","AddPreloadScriptParametersSchema","DisownParametersSchema","CallFunctionParametersSchema","EvaluateParametersSchema","GetRealmsParametersSchema","RemovePreloadScriptParametersSchema","MessageParametersSchema","RealmDestroyedParametersSchema","EntryAddedSchema","LevelSchema","EntrySchema","GenericLogEntrySchema","ConsoleLogEntrySchema","JavascriptLogEntrySchema","BaseLogEntrySchema","PerformActionsSchema","ReleaseActionsSchema","ElementOriginSchema","PerformActionsParametersSchema","SourceActionsSchema","NoneSourceActionsSchema","KeySourceActionsSchema","PointerSourceActionsSchema","WheelSourceActionsSchema","NoneSourceActionSchema","PauseActionSchema","KeySourceActionSchema","KeyDownActionSchema","KeyUpActionSchema","PointerParametersSchema","PointerSourceActionSchema","PointerTypeSchema","PointerDownActionSchema","PointerUpActionSchema","PointerMoveActionSchema","WheelSourceActionSchema","WheelScrollActionSchema","PointerCommonPropertiesSchema","OriginSchema","TiltPropertiesSchema","AnglePropertiesSchema","altitudeAngle","azimuthAngle","ReleaseActionsParametersSchema","protocolParser","parseObject","WebDriverBidi","parseResult","parseHandleUserPromptParameters","SendCommandRequestSchema","GetSessionRequestSchema","parseSendCommandRequest","parseGetSessionRequest","BidiParserImpl_1","BidiParserImpl","Parser","BidiParserImpl$1","mapperTabPage","generatePage","findOrCreateTypeLogContainer","logType","containerId","existingContainer","getElementById","debugElement","divider","createElement","className","appendChild","htmlItem","innerHTML","messages","global","sendDebugMessage","typeLogContainer","lineElement","textContent","bidiTab","bidiMapper_js_1","cdpConnection_js_1","mapperTabPage_js_1","waitSelfTargetIdPromise","setSelfTargetId","waitSelfTargetId","WindowBidiTransport","onBidiMessage","messageStr","messageObject","parseBidiMessage","respondWithError","sendBidiResponse","plainCommandData","errorCode","getErrorResponse","messageId","messageObj","getJsonType","idType","methodType","paramsType","channelType","createAndStart","WindowCdpTransport","onmessage","send","createCdpConnection","createBidiServer","launched"],"mappings":"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K,SACD,MAAO,OATX,IAAK,SACD,MAAO,iBA6BX,QACI,OAAOA,EAEnB,EAyQkB83B,GAAAE,WAvQlB,SAAoB1mB,GAChB,OAAQA,GACJ,IAAK,IACL,IAAK,IACD,MAAO,YACX,IAAK,KACL,IAAK,IACD,MAAO,YACX,IAAK,SACD,MAAO,YACX,IAAK,IACL,IAAK,IACD,MAAO,cACX,IAAK,IACL,IAAK,IACD,MAAO,eACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,OACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,IACD,MAAO,SACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,IACL,IAAK,IACD,MAAO,YACX,IAAK,IACL,IAAK,IACD,MAAO,QACX,IAAK,SACD,MAAO,UACX,IAAK,SACD,MAAO,WACX,IAAK,SACD,MAAO,cACX,IAAK,SACD,MAAO,eACX,IAAK,SACD,MAAO,QACX,IAAK,SACD,MAAO,WACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,aACX,IAAK,IACL,IAAK,SACD,MAAO,QACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,OACX,IAAK,SACD,MAAO,OACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,WACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,YACX,IAAK,SACD,MAAO,aACX,IAAK,SACD,MAAO,UACX,IAAK,SACD,MAAO,SACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,KACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,MACX,IAAK,SACD,MAAO,MACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACL,IAAK,SACD,MAAO,UACX,IAAK,SACD,MAAO,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","x_google_ignoreList":[0,50,51,52,53,54,55,56,57,58,59]}
\ No newline at end of file
diff --git a/node_modules/chromium-bidi/package.json b/node_modules/chromium-bidi/package.json
index b4bc8ab..92a0aa6 100644
--- a/node_modules/chromium-bidi/package.json
+++ b/node_modules/chromium-bidi/package.json
@@ -1,20 +1,19 @@
 {
   "name": "chromium-bidi",
-  "version": "0.4.16",
+  "version": "0.4.20",
   "description": "An implementation of the WebDriver BiDi protocol for Chromium implemented as a JavaScript layer translating between BiDi and CDP, running inside a Chrome tab.",
   "scripts": {
+    "bidi-types": "wireit",
     "build": "wireit",
     "clean": "rimraf lib .eslintcache .wireit",
-    "coverage": "nyc mocha",
     "e2e-headful": "wireit",
     "e2e-headless": "wireit",
     "e2e": "npm run e2e-headless --",
     "eslint": "wireit",
     "flake8": "flake8 examples/ tests/",
-    "format": "wireit",
+    "format": "npm run pre-commit --",
     "pre-commit": "pre-commit run --all-files",
     "prepare": "wireit",
-    "prettier": "prettier --write .",
     "rollup": "wireit",
     "server": "npm run server-headless --",
     "server-headful": "wireit",
@@ -23,8 +22,7 @@
     "tsc": "wireit",
     "unit": "wireit",
     "wpt": "wireit",
-    "wpt-all": "wireit",
-    "yapf": "yapf -i --parallel --recursive --exclude=wpt examples/ tests/"
+    "wpt-all": "wireit"
   },
   "nyc": {
     "exclude": [
@@ -32,6 +30,12 @@
     ]
   },
   "wireit": {
+    "bidi-types": {
+      "command": "tools/generate-bidi-types.sh",
+      "output": [
+        "src/protocol/webdriver-bidi.ts"
+      ]
+    },
     "build": {
       "dependencies": [
         "rollup",
@@ -72,13 +76,6 @@
         "tsc"
       ]
     },
-    "format": {
-      "dependencies": [
-        "eslint",
-        "prettier",
-        "yapf"
-      ]
-    },
     "prepare": {
       "dependencies": [
         "build"
@@ -98,13 +95,10 @@
       ]
     },
     "server-headful": {
-      "command": "./runBiDiServer.sh --headless=false",
-      "files": [
-        "runBiDiServer.sh"
-      ],
+      "command": "npm run server-headless -- --headless=false",
       "service": {
         "readyWhen": {
-          "lineMatches": "Server is listening on port \\d+"
+          "lineMatches": "BiDi server is listening on port \\d+"
         }
       },
       "dependencies": [
@@ -112,13 +106,13 @@
       ]
     },
     "server-headless": {
-      "command": "./runBiDiServer.sh --headless=true",
+      "command": "node tools/run-bidi-server.mjs --headless=true",
       "files": [
-        "runBiDiServer.sh"
+        "tools/run-bidi-server.mjs"
       ],
       "service": {
         "readyWhen": {
-          "lineMatches": "Server is listening on port \\d+"
+          "lineMatches": "BiDi server is listening on port \\d+"
         }
       },
       "dependencies": [
@@ -150,9 +144,9 @@
       ]
     },
     "wpt": {
-      "command": "./runWPT.sh",
+      "command": "node tools/run-wpt.mjs",
       "files": [
-        "runWPT.sh"
+        "tools/run-wpt.mjs"
       ],
       "dependencies": [
         "rollup"
@@ -171,6 +165,7 @@
   "files": [
     "lib",
     "!lib/**/*.spec.*",
+    "!*.tsbuildinfo",
     ".browser"
   ],
   "repository": {
@@ -184,50 +179,52 @@
   },
   "devDependencies": {
     "@actions/core": "1.10.0",
-    "@puppeteer/browsers": "1.1.0",
-    "@rollup/plugin-commonjs": "24.1.0",
+    "@puppeteer/browsers": "1.4.5",
+    "@rollup/plugin-commonjs": "25.0.2",
     "@rollup/plugin-node-resolve": "15.1.0",
-    "@rollup/plugin-terser": "0.4.1",
+    "@rollup/plugin-terser": "0.4.3",
     "@types/argparse": "2.0.10",
     "@types/chai": "4.3.5",
     "@types/chai-as-promised": "7.1.5",
     "@types/debug": "4.1.8",
     "@types/mocha": "10.0.1",
-    "@types/node": "18.16.0",
-    "@types/sinon": "10.0.14",
+    "@types/node": "20.4.2",
+    "@types/sinon": "10.0.15",
     "@types/websocket": "1.0.5",
-    "@types/ws": "8.5.4",
-    "@typescript-eslint/eslint-plugin": "5.59.2",
-    "@typescript-eslint/parser": "5.59.8",
+    "@types/ws": "8.5.5",
+    "@typescript-eslint/eslint-plugin": "6.0.0",
+    "@typescript-eslint/parser": "6.0.0",
     "argparse": "2.0.1",
     "chai": "4.3.7",
     "chai-as-promised": "7.1.1",
     "chai-exclude": "2.1.0",
     "debug": "4.3.4",
-    "devtools-protocol": "0.0.1151065",
-    "eslint": "8.39.0",
+    "devtools-protocol": "0.0.1168520",
+    "eslint": "8.44.0",
     "eslint-config-prettier": "8.8.0",
     "eslint-plugin-import": "2.27.5",
     "eslint-plugin-mocha": "10.1.0",
-    "eslint-plugin-prettier": "4.2.1",
+    "eslint-plugin-prettier": "5.0.0",
     "eslint-plugin-promise": "6.1.1",
     "gts": "3.1.1",
     "mocha": "10.2.0",
     "nyc": "15.1.0",
-    "prettier": "2.8.8",
-    "rimraf": "5.0.0",
-    "rollup": "3.23.0",
-    "sinon": "15.0.4",
+    "pkg-dir": "7.0.0",
+    "prettier": "3.0.0",
+    "rimraf": "5.0.1",
+    "rollup": "3.26.2",
+    "sinon": "15.2.0",
     "source-map-support": "0.5.21",
-    "terser": "5.17.1",
-    "tslib": "2.5.0",
-    "typescript": "5.0.4",
+    "terser": "5.19.0",
+    "tslib": "2.6.0",
+    "typescript": "5.1.6",
     "websocket": "1.0.34",
-    "wireit": "0.9.5",
+    "wireit": "0.10.0",
     "ws": "8.13.0",
+    "yargs": "17.7.2",
     "zod": "3.21.4"
   },
   "dependencies": {
-    "mitt": "3.0.0"
+    "mitt": "3.0.1"
   }
 }
diff --git a/node_modules/data-uri-to-buffer/README.md b/node_modules/data-uri-to-buffer/README.md
new file mode 100644
index 0000000..a4151a1
--- /dev/null
+++ b/node_modules/data-uri-to-buffer/README.md
@@ -0,0 +1,76 @@
+data-uri-to-buffer
+==================
+### Generate a Buffer instance from a [Data URI][rfc] string
+
+This module accepts a ["data" URI][rfc] String of data, and returns a
+node.js `Buffer` instance with the decoded data.
+
+Example
+-------
+
+``` js
+import { dataUriToBuffer } from 'data-uri-to-buffer';
+
+// plain-text data is supported
+let uri = 'data:,Hello%2C%20World!';
+let decoded = dataUriToBuffer(uri);
+console.log(decoded.toString());
+// 'Hello, World!'
+
+// base64-encoded data is supported
+uri = 'data:text/plain;base64,SGVsbG8sIFdvcmxkIQ%3D%3D';
+decoded = dataUriToBuffer(uri);
+console.log(decoded.toString());
+// 'Hello, World!'
+```
+
+
+API
+---
+
+### dataUriToBuffer(String uri) → Buffer
+
+The `type` property on the Buffer instance gets set to the main type portion of
+the "mediatype" portion of the "data" URI, or defaults to `"text/plain"` if not
+specified.
+
+The `typeFull` property on the Buffer instance gets set to the entire
+"mediatype" portion of the "data" URI (including all parameters), or defaults
+to `"text/plain;charset=US-ASCII"` if not specified.
+
+The `charset` property on the Buffer instance gets set to the Charset portion of
+the "mediatype" portion of the "data" URI, or defaults to `"US-ASCII"` if the
+entire type is not specified, or defaults to `""` otherwise.
+
+*Note*: If the only the main type is specified but not the charset, e.g.
+`"data:text/plain,abc"`, the charset is set to the empty string. The spec only
+defaults to US-ASCII as charset if the entire type is not specified.
+
+
+License
+-------
+
+(The MIT License)
+
+Copyright (c) 2014 Nathan Rajlich &lt;[email protected]&gt;
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+[rfc]: http://tools.ietf.org/html/rfc2397
diff --git a/node_modules/data-uri-to-buffer/dist/index.d.ts b/node_modules/data-uri-to-buffer/dist/index.d.ts
new file mode 100644
index 0000000..f5fef2f
--- /dev/null
+++ b/node_modules/data-uri-to-buffer/dist/index.d.ts
@@ -0,0 +1,16 @@
+/// <reference types="node" />
+export interface MimeBuffer extends Buffer {
+    type: string;
+    typeFull: string;
+    charset: string;
+}
+/**
+ * Returns a `Buffer` instance from the given data URI `uri`.
+ *
+ * @param {String} uri Data URI to turn into a Buffer instance
+ * @returns {Buffer} Buffer instance from Data URI
+ * @api public
+ */
+export declare function dataUriToBuffer(uri: string): MimeBuffer;
+export default dataUriToBuffer;
+//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/node_modules/data-uri-to-buffer/dist/index.d.ts.map b/node_modules/data-uri-to-buffer/dist/index.d.ts.map
new file mode 100644
index 0000000..6192dfb
--- /dev/null
+++ b/node_modules/data-uri-to-buffer/dist/index.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,MAAM,WAAW,UAAW,SAAQ,MAAM;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAoDvD;AAED,eAAe,eAAe,CAAC"}
\ No newline at end of file
diff --git a/node_modules/data-uri-to-buffer/dist/index.js b/node_modules/data-uri-to-buffer/dist/index.js
new file mode 100644
index 0000000..6f56f48
--- /dev/null
+++ b/node_modules/data-uri-to-buffer/dist/index.js
@@ -0,0 +1,57 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.dataUriToBuffer = void 0;
+/**
+ * Returns a `Buffer` instance from the given data URI `uri`.
+ *
+ * @param {String} uri Data URI to turn into a Buffer instance
+ * @returns {Buffer} Buffer instance from Data URI
+ * @api public
+ */
+function dataUriToBuffer(uri) {
+    if (!/^data:/i.test(uri)) {
+        throw new TypeError('`uri` does not appear to be a Data URI (must begin with "data:")');
+    }
+    // strip newlines
+    uri = uri.replace(/\r?\n/g, '');
+    // split the URI up into the "metadata" and the "data" portions
+    const firstComma = uri.indexOf(',');
+    if (firstComma === -1 || firstComma <= 4) {
+        throw new TypeError('malformed data: URI');
+    }
+    // remove the "data:" scheme and parse the metadata
+    const meta = uri.substring(5, firstComma).split(';');
+    let charset = '';
+    let base64 = false;
+    const type = meta[0] || 'text/plain';
+    let typeFull = type;
+    for (let i = 1; i < meta.length; i++) {
+        if (meta[i] === 'base64') {
+            base64 = true;
+        }
+        else if (meta[i]) {
+            typeFull += `;${meta[i]}`;
+            if (meta[i].indexOf('charset=') === 0) {
+                charset = meta[i].substring(8);
+            }
+        }
+    }
+    // defaults to US-ASCII only if type is not provided
+    if (!meta[0] && !charset.length) {
+        typeFull += ';charset=US-ASCII';
+        charset = 'US-ASCII';
+    }
+    // get the encoded data portion and decode URI-encoded chars
+    const encoding = base64 ? 'base64' : 'ascii';
+    const data = unescape(uri.substring(firstComma + 1));
+    const buffer = Buffer.from(data, encoding);
+    // set `.type` and `.typeFull` properties to MIME type
+    buffer.type = type;
+    buffer.typeFull = typeFull;
+    // set the `.charset` property
+    buffer.charset = charset;
+    return buffer;
+}
+exports.dataUriToBuffer = dataUriToBuffer;
+exports.default = dataUriToBuffer;
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/node_modules/data-uri-to-buffer/dist/index.js.map b/node_modules/data-uri-to-buffer/dist/index.js.map
new file mode 100644
index 0000000..37a1746
--- /dev/null
+++ b/node_modules/data-uri-to-buffer/dist/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAMA;;;;;;GAMG;AACH,SAAgB,eAAe,CAAC,GAAW;IAC1C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACzB,MAAM,IAAI,SAAS,CAClB,kEAAkE,CAClE,CAAC;KACF;IAED,iBAAiB;IACjB,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEhC,+DAA+D;IAC/D,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE;QACzC,MAAM,IAAI,SAAS,CAAC,qBAAqB,CAAC,CAAC;KAC3C;IAED,mDAAmD;IACnD,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAErD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC;IACrC,IAAI,QAAQ,GAAG,IAAI,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YACzB,MAAM,GAAG,IAAI,CAAC;SACd;aAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE;YACnB,QAAQ,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBACtC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aAC/B;SACD;KACD;IACD,oDAAoD;IACpD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QAChC,QAAQ,IAAI,mBAAmB,CAAC;QAChC,OAAO,GAAG,UAAU,CAAC;KACrB;IAED,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAe,CAAC;IAEzD,sDAAsD;IACtD,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAE3B,8BAA8B;IAC9B,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;IAEzB,OAAO,MAAM,CAAC;AACf,CAAC;AApDD,0CAoDC;AAED,kBAAe,eAAe,CAAC"}
\ No newline at end of file
diff --git a/node_modules/data-uri-to-buffer/package.json b/node_modules/data-uri-to-buffer/package.json
new file mode 100644
index 0000000..031e676
--- /dev/null
+++ b/node_modules/data-uri-to-buffer/package.json
@@ -0,0 +1,44 @@
+{
+  "name": "data-uri-to-buffer",
+  "version": "5.0.1",
+  "description": "Generate a Buffer instance from a Data URI string",
+  "main": "./dist/index.js",
+  "types": "./dist/index.d.ts",
+  "files": [
+    "dist"
+  ],
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/TooTallNate/proxy-agents.git",
+    "directory": "packages/data-uri-to-buffer"
+  },
+  "engines": {
+    "node": ">= 14"
+  },
+  "keywords": [
+    "data",
+    "uri",
+    "datauri",
+    "data-uri",
+    "buffer",
+    "convert",
+    "rfc2397",
+    "2397"
+  ],
+  "author": "Nathan Rajlich <[email protected]> (http://n8.io/)",
+  "license": "MIT",
+  "devDependencies": {
+    "@types/jest": "^27.0.2",
+    "@types/node": "^14.18.45",
+    "jest": "^29.5.0",
+    "ts-jest": "^29.1.0",
+    "typescript": "^5.0.4",
+    "tsconfig": "0.0.0"
+  },
+  "scripts": {
+    "build": "tsc",
+    "test": "jest --env node --verbose --bail",
+    "lint": "eslint . --ext .ts",
+    "pack": "node ../../scripts/pack.mjs"
+  }
+}
diff --git a/node_modules/degenerator/README.md b/node_modules/degenerator/README.md
new file mode 100644
index 0000000..ffdd0e7
--- /dev/null
+++ b/node_modules/degenerator/README.md
@@ -0,0 +1,117 @@
+degenerator
+===========
+### Compiles sync functions into async functions
+
+Sometimes you need to write sync looking code that's really async under the hood.
+This module takes a String to one or more synchronous JavaScript functions, and
+returns a new String that with those JS functions transpiled into `async`
+functions.
+
+So this:
+
+```js
+function foo() {
+  return a('bar') || b();
+}
+```
+
+Gets compiled into:
+
+```js
+async function foo() {
+    return await a('bar') || await b();
+}
+```
+
+With the compiled output code, you can evaluate the code using the `vm` module
+in Node.js, or save the code to a file and require it, or whatever.
+
+Example
+-------
+
+You must explicitly specify the names of the functions that should be
+"asyncified". So say we wanted to expose a `get(url)` function that did
+and HTTP request and returned the response body.
+
+The user has provided us with this implementation:
+
+``` js
+function myFn() {
+  const one = get('https://google.com');
+  const two = get('http://nodejs.org');
+  const three = JSON.parse(get('http://jsonip.org'));
+  return [one, two, three];
+}
+```
+
+Now we can compile this into an asyncronous function, implement the
+async `get()` function, and finally evaluate it into a real JavaScript function
+instance with the `vm` module:
+
+
+```typescript
+import vm from 'vm';
+import { degenerator } from 'degenerator';
+
+// The `get()` function is Promise-based (error handling omitted for brevity)
+function get(endpoint: string) {
+  return new Promise((resolve, reject) => {
+    var mod = 0 == endpoint.indexOf('https:') ? require('https') : require('http');
+    var req = mod.get(endpoint);
+    req.on('response', function (res) {
+      var data = '';
+      res.setEncoding('utf8');
+      res.on('data', function (b) { data += b; });
+      res.on('end', function () {
+        resolve(data);
+      });
+    });
+  });
+}
+
+// Convert the JavaScript string provided from the user (assumed to be `str` var)
+str = degenerator(str, [ 'get' ]);
+
+// Turn the JS String into a real async function instance
+const asyncFn = vm.runInNewContext(`(${str})`, { get });
+
+// Now we can invoke the function asynchronously
+asyncFn().then((res) => {
+  // Do something with `res`...
+});
+```
+
+
+API
+---
+
+### degenerator(code: string, names: Array<string|RegExp>): String
+
+Returns a "degeneratorified" JavaScript string, with `async`/`await` transplanted.
+
+
+License
+-------
+
+(The MIT License)
+
+Copyright (c) 2013 Nathan Rajlich &lt;[email protected]&gt;
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/degenerator/dist/compile.d.ts b/node_modules/degenerator/dist/compile.d.ts
new file mode 100644
index 0000000..053157a
--- /dev/null
+++ b/node_modules/degenerator/dist/compile.d.ts
@@ -0,0 +1,11 @@
+/// <reference types="node" />
+import type { Context } from 'vm';
+import type { QuickJSWASMModule } from '@tootallnate/quickjs-emscripten';
+import type { DegeneratorNames } from './degenerator';
+export interface CompileOptions {
+    names?: DegeneratorNames;
+    filename?: string;
+    sandbox?: Context;
+}
+export declare function compile<R = unknown, A extends unknown[] = []>(qjs: QuickJSWASMModule, code: string, returnName: string, options?: CompileOptions): (...args: A) => Promise<R>;
+//# sourceMappingURL=compile.d.ts.map
\ No newline at end of file
diff --git a/node_modules/degenerator/dist/compile.d.ts.map b/node_modules/degenerator/dist/compile.d.ts.map
new file mode 100644
index 0000000..be9b2de
--- /dev/null
+++ b/node_modules/degenerator/dist/compile.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,KAAK,EAGX,iBAAiB,EACjB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC9B,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,EAC5D,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,cAAmB,GAC1B,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CA4E5B"}
\ No newline at end of file
diff --git a/node_modules/degenerator/dist/compile.js b/node_modules/degenerator/dist/compile.js
new file mode 100644
index 0000000..19e5223
--- /dev/null
+++ b/node_modules/degenerator/dist/compile.js
@@ -0,0 +1,107 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.compile = void 0;
+const util_1 = require("util");
+const degenerator_1 = require("./degenerator");
+function compile(qjs, code, returnName, options = {}) {
+    const compiled = (0, degenerator_1.degenerator)(code, options.names ?? []);
+    const vm = qjs.newContext();
+    // Add functions to global
+    if (options.sandbox) {
+        for (const [name, value] of Object.entries(options.sandbox)) {
+            if (typeof value !== 'function') {
+                throw new Error(`Expected a "function" for sandbox property \`${name}\`, but got "${typeof value}"`);
+            }
+            const fnHandle = vm.newFunction(name, (...args) => {
+                const result = value(...args.map((arg) => quickJSHandleToHost(vm, arg)));
+                vm.runtime.executePendingJobs();
+                return hostToQuickJSHandle(vm, result);
+            });
+            fnHandle.consume((handle) => vm.setProp(vm.global, name, handle));
+        }
+    }
+    const fnResult = vm.evalCode(`${compiled};${returnName}`, options.filename);
+    const fn = vm.unwrapResult(fnResult);
+    const t = vm.typeof(fn);
+    if (t !== 'function') {
+        throw new Error(`Expected a "function" named \`${returnName}\` to be defined, but got "${t}"`);
+    }
+    const r = async function (...args) {
+        let promiseHandle;
+        let resolvedHandle;
+        try {
+            const result = vm.callFunction(fn, vm.undefined, ...args.map((arg) => hostToQuickJSHandle(vm, arg)));
+            promiseHandle = vm.unwrapResult(result);
+            const resolvedResultP = vm.resolvePromise(promiseHandle);
+            vm.runtime.executePendingJobs();
+            const resolvedResult = await resolvedResultP;
+            resolvedHandle = vm.unwrapResult(resolvedResult);
+            return quickJSHandleToHost(vm, resolvedHandle);
+        }
+        catch (err) {
+            if (err && typeof err === 'object' && 'cause' in err && err.cause) {
+                if (typeof err.cause === 'object' &&
+                    'stack' in err.cause &&
+                    'name' in err.cause &&
+                    'message' in err.cause &&
+                    typeof err.cause.stack === 'string' &&
+                    typeof err.cause.name === 'string' &&
+                    typeof err.cause.message === 'string') {
+                    // QuickJS Error `stack` does not include the name +
+                    // message, so patch those in to behave more like V8
+                    err.cause.stack = `${err.cause.name}: ${err.cause.message}\n${err.cause.stack}`;
+                }
+                throw err.cause;
+            }
+            throw err;
+        }
+        finally {
+            promiseHandle?.dispose();
+            resolvedHandle?.dispose();
+        }
+    };
+    Object.defineProperty(r, 'toString', {
+        value: () => compiled,
+        enumerable: false,
+    });
+    return r;
+}
+exports.compile = compile;
+function quickJSHandleToHost(vm, val) {
+    return vm.dump(val);
+}
+function hostToQuickJSHandle(vm, val) {
+    if (typeof val === 'undefined') {
+        return vm.undefined;
+    }
+    else if (val === null) {
+        return vm.null;
+    }
+    else if (typeof val === 'string') {
+        return vm.newString(val);
+    }
+    else if (typeof val === 'number') {
+        return vm.newNumber(val);
+    }
+    else if (typeof val === 'bigint') {
+        return vm.newBigInt(val);
+    }
+    else if (typeof val === 'boolean') {
+        return val ? vm.true : vm.false;
+    }
+    else if (util_1.types.isPromise(val)) {
+        const promise = vm.newPromise();
+        promise.settled.then(vm.runtime.executePendingJobs);
+        val.then((r) => {
+            promise.resolve(hostToQuickJSHandle(vm, r));
+        }, (err) => {
+            promise.reject(hostToQuickJSHandle(vm, err));
+        });
+        return promise.handle;
+    }
+    else if (util_1.types.isNativeError(val)) {
+        return vm.newError(val);
+    }
+    throw new Error(`Unsupported value: ${val}`);
+}
+//# sourceMappingURL=compile.js.map
\ No newline at end of file
diff --git a/node_modules/degenerator/dist/compile.js.map b/node_modules/degenerator/dist/compile.js.map
new file mode 100644
index 0000000..73326c0
--- /dev/null
+++ b/node_modules/degenerator/dist/compile.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/degenerator/dist/degenerator.d.ts b/node_modules/degenerator/dist/degenerator.d.ts
new file mode 100644
index 0000000..3171e7d
--- /dev/null
+++ b/node_modules/degenerator/dist/degenerator.d.ts
@@ -0,0 +1,12 @@
+export type DegeneratorName = string | RegExp;
+export type DegeneratorNames = DegeneratorName[];
+/**
+ * Compiles sync JavaScript code into JavaScript with async Functions.
+ *
+ * @param {String} code JavaScript string to convert
+ * @param {Array} names Array of function names to add `await` operators to
+ * @return {String} Converted JavaScript string with async/await injected
+ * @api public
+ */
+export declare function degenerator(code: string, _names: DegeneratorNames): string;
+//# sourceMappingURL=degenerator.d.ts.map
\ No newline at end of file
diff --git a/node_modules/degenerator/dist/degenerator.d.ts.map b/node_modules/degenerator/dist/degenerator.d.ts.map
new file mode 100644
index 0000000..fef540b
--- /dev/null
+++ b/node_modules/degenerator/dist/degenerator.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"degenerator.d.ts","sourceRoot":"","sources":["../src/degenerator.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAC9C,MAAM,MAAM,gBAAgB,GAAG,eAAe,EAAE,CAAC;AAEjD;;;;;;;GAOG;AAEH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAyG1E"}
\ No newline at end of file
diff --git a/node_modules/degenerator/dist/degenerator.js b/node_modules/degenerator/dist/degenerator.js
new file mode 100644
index 0000000..0df6236
--- /dev/null
+++ b/node_modules/degenerator/dist/degenerator.js
@@ -0,0 +1,156 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.degenerator = void 0;
+const util_1 = require("util");
+const escodegen_1 = require("escodegen");
+const esprima_1 = require("esprima");
+const ast_types_1 = require("ast-types");
+/**
+ * Compiles sync JavaScript code into JavaScript with async Functions.
+ *
+ * @param {String} code JavaScript string to convert
+ * @param {Array} names Array of function names to add `await` operators to
+ * @return {String} Converted JavaScript string with async/await injected
+ * @api public
+ */
+function degenerator(code, _names) {
+    if (!Array.isArray(_names)) {
+        throw new TypeError('an array of async function "names" is required');
+    }
+    // Duplicate the `names` array since it's rude to augment the user args
+    const names = _names.slice(0);
+    const ast = (0, esprima_1.parseScript)(code);
+    // First pass is to find the `function` nodes and turn them into async or
+    // generator functions only if their body includes `CallExpressions` to
+    // function in `names`. We also add the names of the functions to the `names`
+    // array. We'll iterate several time, as every iteration might add new items
+    // to the `names` array, until no new names were added in the iteration.
+    let lastNamesLength = 0;
+    do {
+        lastNamesLength = names.length;
+        (0, ast_types_1.visit)(ast, {
+            visitVariableDeclaration(path) {
+                if (path.node.declarations) {
+                    for (let i = 0; i < path.node.declarations.length; i++) {
+                        const declaration = path.node.declarations[i];
+                        if (ast_types_1.namedTypes.VariableDeclarator.check(declaration) &&
+                            ast_types_1.namedTypes.Identifier.check(declaration.init) &&
+                            ast_types_1.namedTypes.Identifier.check(declaration.id) &&
+                            checkName(declaration.init.name, names) &&
+                            !checkName(declaration.id.name, names)) {
+                            names.push(declaration.id.name);
+                        }
+                    }
+                }
+                return false;
+            },
+            visitAssignmentExpression(path) {
+                if (ast_types_1.namedTypes.Identifier.check(path.node.left) &&
+                    ast_types_1.namedTypes.Identifier.check(path.node.right) &&
+                    checkName(path.node.right.name, names) &&
+                    !checkName(path.node.left.name, names)) {
+                    names.push(path.node.left.name);
+                }
+                return false;
+            },
+            visitFunction(path) {
+                if (path.node.id) {
+                    let shouldDegenerate = false;
+                    (0, ast_types_1.visit)(path.node, {
+                        visitCallExpression(path) {
+                            if (checkNames(path.node, names)) {
+                                shouldDegenerate = true;
+                            }
+                            return false;
+                        },
+                    });
+                    if (!shouldDegenerate) {
+                        return false;
+                    }
+                    // Got a "function" expression/statement,
+                    // convert it into an async function
+                    path.node.async = true;
+                    // Add function name to `names` array
+                    if (!checkName(path.node.id.name, names)) {
+                        names.push(path.node.id.name);
+                    }
+                }
+                this.traverse(path);
+            },
+        });
+    } while (lastNamesLength !== names.length);
+    // Second pass is for adding `await` statements to any function
+    // invocations that match the given `names` array.
+    (0, ast_types_1.visit)(ast, {
+        visitCallExpression(path) {
+            if (checkNames(path.node, names)) {
+                // A "function invocation" expression,
+                // we need to inject an `AwaitExpression`
+                const delegate = false;
+                const { name, parent: { node: pNode }, } = path;
+                const expr = ast_types_1.builders.awaitExpression(path.node, delegate);
+                if (ast_types_1.namedTypes.CallExpression.check(pNode)) {
+                    pNode.arguments[name] = expr;
+                }
+                else {
+                    pNode[name] = expr;
+                }
+            }
+            this.traverse(path);
+        },
+    });
+    return (0, escodegen_1.generate)(ast);
+}
+exports.degenerator = degenerator;
+/**
+ * Returns `true` if `node` has a matching name to one of the entries in the
+ * `names` array.
+ *
+ * @param {types.Node} node
+ * @param {Array} names Array of function names to return true for
+ * @return {Boolean}
+ * @api private
+ */
+function checkNames({ callee }, names) {
+    let name;
+    if (ast_types_1.namedTypes.Identifier.check(callee)) {
+        name = callee.name;
+    }
+    else if (ast_types_1.namedTypes.MemberExpression.check(callee)) {
+        if (ast_types_1.namedTypes.Identifier.check(callee.object) &&
+            ast_types_1.namedTypes.Identifier.check(callee.property)) {
+            name = `${callee.object.name}.${callee.property.name}`;
+        }
+        else {
+            return false;
+        }
+    }
+    else if (ast_types_1.namedTypes.FunctionExpression.check(callee)) {
+        if (callee.id) {
+            name = callee.id.name;
+        }
+        else {
+            return false;
+        }
+    }
+    else {
+        throw new Error(`Don't know how to get name for: ${callee.type}`);
+    }
+    return checkName(name, names);
+}
+function checkName(name, names) {
+    // now that we have the `name`, check if any entries match in the `names` array
+    for (let i = 0; i < names.length; i++) {
+        const n = names[i];
+        if (util_1.types.isRegExp(n)) {
+            if (n.test(name)) {
+                return true;
+            }
+        }
+        else if (name === n) {
+            return true;
+        }
+    }
+    return false;
+}
+//# sourceMappingURL=degenerator.js.map
\ No newline at end of file
diff --git a/node_modules/degenerator/dist/degenerator.js.map b/node_modules/degenerator/dist/degenerator.js.map
new file mode 100644
index 0000000..4247aa3
--- /dev/null
+++ b/node_modules/degenerator/dist/degenerator.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"degenerator.js","sourceRoot":"","sources":["../src/degenerator.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/degenerator/dist/index.d.ts b/node_modules/degenerator/dist/index.d.ts
new file mode 100644
index 0000000..e08eb6a
--- /dev/null
+++ b/node_modules/degenerator/dist/index.d.ts
@@ -0,0 +1,3 @@
+export * from './degenerator';
+export * from './compile';
+//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/node_modules/degenerator/dist/index.d.ts.map b/node_modules/degenerator/dist/index.d.ts.map
new file mode 100644
index 0000000..0afd9e9
--- /dev/null
+++ b/node_modules/degenerator/dist/index.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC"}
\ No newline at end of file
diff --git a/node_modules/degenerator/dist/index.js b/node_modules/degenerator/dist/index.js
new file mode 100644
index 0000000..f976bd8
--- /dev/null
+++ b/node_modules/degenerator/dist/index.js
@@ -0,0 +1,19 @@
+"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __exportStar = (this && this.__exportStar) || function(m, exports) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+__exportStar(require("./degenerator"), exports);
+__exportStar(require("./compile"), exports);
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/node_modules/degenerator/dist/index.js.map b/node_modules/degenerator/dist/index.js.map
new file mode 100644
index 0000000..44e832a
--- /dev/null
+++ b/node_modules/degenerator/dist/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,4CAA0B"}
\ No newline at end of file
diff --git a/node_modules/degenerator/node_modules/.bin/escodegen b/node_modules/degenerator/node_modules/.bin/escodegen
new file mode 120000
index 0000000..01a7c32
--- /dev/null
+++ b/node_modules/degenerator/node_modules/.bin/escodegen
@@ -0,0 +1 @@
+../escodegen/bin/escodegen.js
\ No newline at end of file
diff --git a/node_modules/degenerator/node_modules/.bin/esgenerate b/node_modules/degenerator/node_modules/.bin/esgenerate
new file mode 120000
index 0000000..7d0293e
--- /dev/null
+++ b/node_modules/degenerator/node_modules/.bin/esgenerate
@@ -0,0 +1 @@
+../escodegen/bin/esgenerate.js
\ No newline at end of file
diff --git a/node_modules/degenerator/node_modules/ast-types/.github/dependabot.yml b/node_modules/degenerator/node_modules/ast-types/.github/dependabot.yml
new file mode 100644
index 0000000..60fa0ee
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/.github/dependabot.yml
@@ -0,0 +1,9 @@
+# Please see the documentation for all configuration options:
+# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
+
+version: 2
+updates:
+  - package-ecosystem: "npm"
+    directory: "/"
+    schedule:
+      interval: "daily"
diff --git a/node_modules/degenerator/node_modules/ast-types/.github/workflows/main.yml b/node_modules/degenerator/node_modules/ast-types/.github/workflows/main.yml
new file mode 100644
index 0000000..2d0ecf5
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/.github/workflows/main.yml
@@ -0,0 +1,29 @@
+name: CI
+
+on:
+  push:
+    branches: [ master ]
+  pull_request:
+    branches: [ master ]
+
+jobs:
+  test:
+    name: Test on node ${{ matrix.node_version }} and ${{ matrix.os }}
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        node_version: ['10', '12', '14']
+        os: [ubuntu-latest]
+
+    steps:
+    - uses: actions/checkout@v2
+    - name: Use Node.js ${{ matrix.node_version }}
+      uses: actions/setup-node@v1
+      with:
+        node-version: ${{ matrix.node_version }}
+
+    - name: npm install, build and test
+      run: |
+        npm install
+        npm run build --if-present
+        npm test
diff --git a/node_modules/degenerator/node_modules/ast-types/LICENSE b/node_modules/degenerator/node_modules/ast-types/LICENSE
new file mode 100644
index 0000000..3f9d40b
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/LICENSE
@@ -0,0 +1,20 @@
+Copyright (c) 2013 Ben Newman <[email protected]>
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/degenerator/node_modules/ast-types/README.md b/node_modules/degenerator/node_modules/ast-types/README.md
new file mode 100644
index 0000000..a250262
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/README.md
@@ -0,0 +1,512 @@
+# AST Types ![CI](https://github.com/benjamn/ast-types/workflows/CI/badge.svg)
+
+This module provides an efficient, modular,
+[Esprima](https://github.com/ariya/esprima)-compatible implementation of
+the [abstract syntax
+tree](http://en.wikipedia.org/wiki/Abstract_syntax_tree) type hierarchy
+pioneered by the [Mozilla Parser
+API](https://developer.mozilla.org/en-US/docs/SpiderMonkey/Parser_API).
+
+Installation
+---
+
+From NPM:
+
+    npm install ast-types
+
+From GitHub:
+
+    cd path/to/node_modules
+    git clone git://github.com/benjamn/ast-types.git
+    cd ast-types
+    npm install .
+
+Basic Usage
+---
+```js
+import assert from "assert";
+import {
+  namedTypes as n,
+  builders as b,
+} from "ast-types";
+
+var fooId = b.identifier("foo");
+var ifFoo = b.ifStatement(fooId, b.blockStatement([
+  b.expressionStatement(b.callExpression(fooId, []))
+]));
+
+assert.ok(n.IfStatement.check(ifFoo));
+assert.ok(n.Statement.check(ifFoo));
+assert.ok(n.Node.check(ifFoo));
+
+assert.ok(n.BlockStatement.check(ifFoo.consequent));
+assert.strictEqual(
+  ifFoo.consequent.body[0].expression.arguments.length,
+  0,
+);
+
+assert.strictEqual(ifFoo.test, fooId);
+assert.ok(n.Expression.check(ifFoo.test));
+assert.ok(n.Identifier.check(ifFoo.test));
+assert.ok(!n.Statement.check(ifFoo.test));
+```
+
+AST Traversal
+---
+
+Because it understands the AST type system so thoroughly, this library
+is able to provide excellent node iteration and traversal mechanisms.
+
+If you want complete control over the traversal, and all you need is a way
+of enumerating the known fields of your AST nodes and getting their
+values, you may be interested in the primitives `getFieldNames` and
+`getFieldValue`:
+```js
+import {
+  getFieldNames,
+  getFieldValue,
+} from "ast-types";
+
+const partialFunExpr = { type: "FunctionExpression" };
+
+// Even though partialFunExpr doesn't actually contain all the fields that
+// are expected for a FunctionExpression, types.getFieldNames knows:
+console.log(getFieldNames(partialFunExpr));
+// [ 'type', 'id', 'params', 'body', 'generator', 'expression',
+//   'defaults', 'rest', 'async' ]
+
+// For fields that have default values, types.getFieldValue will return
+// the default if the field is not actually defined.
+console.log(getFieldValue(partialFunExpr, "generator"));
+// false
+```
+
+Two more low-level helper functions, `eachField` and `someField`, are
+defined in terms of `getFieldNames` and `getFieldValue`:
+```js
+// Iterate over all defined fields of an object, including those missing
+// or undefined, passing each field name and effective value (as returned
+// by getFieldValue) to the callback. If the object has no corresponding
+// Def, the callback will never be called.
+export function eachField(object, callback, context) {
+  getFieldNames(object).forEach(function(name) {
+    callback.call(this, name, getFieldValue(object, name));
+  }, context);
+}
+
+// Similar to eachField, except that iteration stops as soon as the
+// callback returns a truthy value. Like Array.prototype.some, the final
+// result is either true or false to indicates whether the callback
+// returned true for any element or not.
+export function someField(object, callback, context) {
+  return getFieldNames(object).some(function(name) {
+    return callback.call(this, name, getFieldValue(object, name));
+  }, context);
+}
+```
+
+So here's how you might make a copy of an AST node:
+```js
+import { eachField } from "ast-types";
+const copy = {};
+eachField(node, function(name, value) {
+  // Note that undefined fields will be visited too, according to
+  // the rules associated with node.type, and default field values
+  // will be substituted if appropriate.
+  copy[name] = value;
+})
+```
+
+But that's not all! You can also easily visit entire syntax trees using
+the powerful `types.visit` abstraction.
+
+Here's a trivial example of how you might assert that `arguments.callee`
+is never used in `ast`:
+```js
+import assert from "assert";
+import {
+  visit,
+  namedTypes as n,
+} from "ast-types";
+
+visit(ast, {
+  // This method will be called for any node with .type "MemberExpression":
+  visitMemberExpression(path) {
+    // Visitor methods receive a single argument, a NodePath object
+    // wrapping the node of interest.
+    var node = path.node;
+
+    if (
+      n.Identifier.check(node.object) &&
+      node.object.name === "arguments" &&
+      n.Identifier.check(node.property)
+    ) {
+      assert.notStrictEqual(node.property.name, "callee");
+    }
+
+    // It's your responsibility to call this.traverse with some
+    // NodePath object (usually the one passed into the visitor
+    // method) before the visitor method returns, or return false to
+    // indicate that the traversal need not continue any further down
+    // this subtree.
+    this.traverse(path);
+  }
+});
+```
+
+Here's a slightly more involved example of transforming `...rest`
+parameters into browser-runnable ES5 JavaScript:
+
+```js
+import { builders as b, visit } from "ast-types";
+
+// Reuse the same AST structure for Array.prototype.slice.call.
+var sliceExpr = b.memberExpression(
+  b.memberExpression(
+    b.memberExpression(
+      b.identifier("Array"),
+      b.identifier("prototype"),
+      false
+    ),
+    b.identifier("slice"),
+    false
+  ),
+  b.identifier("call"),
+  false
+);
+
+visit(ast, {
+  // This method will be called for any node whose type is a subtype of
+  // Function (e.g., FunctionDeclaration, FunctionExpression, and
+  // ArrowFunctionExpression). Note that types.visit precomputes a
+  // lookup table from every known type to the appropriate visitor
+  // method to call for nodes of that type, so the dispatch takes
+  // constant time.
+  visitFunction(path) {
+    // Visitor methods receive a single argument, a NodePath object
+    // wrapping the node of interest.
+    const node = path.node;
+
+    // It's your responsibility to call this.traverse with some
+    // NodePath object (usually the one passed into the visitor
+    // method) before the visitor method returns, or return false to
+    // indicate that the traversal need not continue any further down
+    // this subtree. An assertion will fail if you forget, which is
+    // awesome, because it means you will never again make the
+    // disastrous mistake of forgetting to traverse a subtree. Also
+    // cool: because you can call this method at any point in the
+    // visitor method, it's up to you whether your traversal is
+    // pre-order, post-order, or both!
+    this.traverse(path);
+
+    // This traversal is only concerned with Function nodes that have
+    // rest parameters.
+    if (!node.rest) {
+      return;
+    }
+
+    // For the purposes of this example, we won't worry about functions
+    // with Expression bodies.
+    n.BlockStatement.assert(node.body);
+
+    // Use types.builders to build a variable declaration of the form
+    //
+    //   var rest = Array.prototype.slice.call(arguments, n);
+    //
+    // where `rest` is the name of the rest parameter, and `n` is a
+    // numeric literal specifying the number of named parameters the
+    // function takes.
+    const restVarDecl = b.variableDeclaration("var", [
+      b.variableDeclarator(
+        node.rest,
+        b.callExpression(sliceExpr, [
+          b.identifier("arguments"),
+          b.literal(node.params.length)
+        ])
+      )
+    ]);
+
+    // Similar to doing node.body.body.unshift(restVarDecl), except
+    // that the other NodePath objects wrapping body statements will
+    // have their indexes updated to accommodate the new statement.
+    path.get("body", "body").unshift(restVarDecl);
+
+    // Nullify node.rest now that we have simulated the behavior of
+    // the rest parameter using ordinary JavaScript.
+    path.get("rest").replace(null);
+
+    // There's nothing wrong with doing node.rest = null, but I wanted
+    // to point out that the above statement has the same effect.
+    assert.strictEqual(node.rest, null);
+  }
+});
+```
+
+Here's how you might use `types.visit` to implement a function that
+determines if a given function node refers to `this`:
+
+```js
+function usesThis(funcNode) {
+  n.Function.assert(funcNode);
+  var result = false;
+
+  visit(funcNode, {
+    visitThisExpression(path) {
+      result = true;
+
+      // The quickest way to terminate the traversal is to call
+      // this.abort(), which throws a special exception (instanceof
+      // this.AbortRequest) that will be caught in the top-level
+      // types.visit method, so you don't have to worry about
+      // catching the exception yourself.
+      this.abort();
+    },
+
+    visitFunction(path) {
+      // ThisExpression nodes in nested scopes don't count as `this`
+      // references for the original function node, so we can safely
+      // avoid traversing this subtree.
+      return false;
+    },
+
+    visitCallExpression(path) {
+      const node = path.node;
+
+      // If the function contains CallExpression nodes involving
+      // super, those expressions will implicitly depend on the
+      // value of `this`, even though they do not explicitly contain
+      // any ThisExpression nodes.
+      if (this.isSuperCallExpression(node)) {
+        result = true;
+        this.abort(); // Throws AbortRequest exception.
+      }
+
+      this.traverse(path);
+    },
+
+    // Yes, you can define arbitrary helper methods.
+    isSuperCallExpression(callExpr) {
+      n.CallExpression.assert(callExpr);
+      return this.isSuperIdentifier(callExpr.callee)
+          || this.isSuperMemberExpression(callExpr.callee);
+    },
+
+    // And even helper helper methods!
+    isSuperIdentifier(node) {
+      return n.Identifier.check(node.callee)
+          && node.callee.name === "super";
+    },
+
+    isSuperMemberExpression(node) {
+      return n.MemberExpression.check(node.callee)
+          && n.Identifier.check(node.callee.object)
+          && node.callee.object.name === "super";
+    }
+  });
+
+  return result;
+}
+```
+
+As you might guess, when an `AbortRequest` is thrown from a subtree, the
+exception will propagate from the corresponding calls to `this.traverse`
+in the ancestor visitor methods. If you decide you want to cancel the
+request, simply catch the exception and call its `.cancel()` method. The
+rest of the subtree beneath the `try`-`catch` block will be abandoned, but
+the remaining siblings of the ancestor node will still be visited.
+
+NodePath
+---
+
+The `NodePath` object passed to visitor methods is a wrapper around an AST
+node, and it serves to provide access to the chain of ancestor objects
+(all the way back to the root of the AST) and scope information.
+
+In general, `path.node` refers to the wrapped node, `path.parent.node`
+refers to the nearest `Node` ancestor, `path.parent.parent.node` to the
+grandparent, and so on.
+
+Note that `path.node` may not be a direct property value of
+`path.parent.node`; for instance, it might be the case that `path.node` is
+an element of an array that is a direct child of the parent node:
+```js
+path.node === path.parent.node.elements[3]
+```
+in which case you should know that `path.parentPath` provides
+finer-grained access to the complete path of objects (not just the `Node`
+ones) from the root of the AST:
+```js
+// In reality, path.parent is the grandparent of path:
+path.parentPath.parentPath === path.parent
+
+// The path.parentPath object wraps the elements array (note that we use
+// .value because the elements array is not a Node):
+path.parentPath.value === path.parent.node.elements
+
+// The path.node object is the fourth element in that array:
+path.parentPath.value[3] === path.node
+
+// Unlike path.node and path.value, which are synonyms because path.node
+// is a Node object, path.parentPath.node is distinct from
+// path.parentPath.value, because the elements array is not a
+// Node. Instead, path.parentPath.node refers to the closest ancestor
+// Node, which happens to be the same as path.parent.node:
+path.parentPath.node === path.parent.node
+
+// The path is named for its index in the elements array:
+path.name === 3
+
+// Likewise, path.parentPath is named for the property by which
+// path.parent.node refers to it:
+path.parentPath.name === "elements"
+
+// Putting it all together, we can follow the chain of object references
+// from path.parent.node all the way to path.node by accessing each
+// property by name:
+path.parent.node[path.parentPath.name][path.name] === path.node
+```
+
+These `NodePath` objects are created during the traversal without
+modifying the AST nodes themselves, so it's not a problem if the same node
+appears more than once in the AST (like `Array.prototype.slice.call` in
+the example above), because it will be visited with a distict `NodePath`
+each time it appears.
+
+Child `NodePath` objects are created lazily, by calling the `.get` method
+of a parent `NodePath` object:
+```js
+// If a NodePath object for the elements array has never been created
+// before, it will be created here and cached in the future:
+path.get("elements").get(3).value === path.value.elements[3]
+
+// Alternatively, you can pass multiple property names to .get instead of
+// chaining multiple .get calls:
+path.get("elements", 0).value === path.value.elements[0]
+```
+
+`NodePath` objects support a number of useful methods:
+```js
+// Replace one node with another node:
+var fifth = path.get("elements", 4);
+fifth.replace(newNode);
+
+// Now do some stuff that might rearrange the list, and this replacement
+// remains safe:
+fifth.replace(newerNode);
+
+// Replace the third element in an array with two new nodes:
+path.get("elements", 2).replace(
+  b.identifier("foo"),
+  b.thisExpression()
+);
+
+// Remove a node and its parent if it would leave a redundant AST node:
+//e.g. var t = 1, y =2; removing the `t` and `y` declarators results in `var undefined`.
+path.prune(); //returns the closest parent `NodePath`.
+
+// Remove a node from a list of nodes:
+path.get("elements", 3).replace();
+
+// Add three new nodes to the beginning of a list of nodes:
+path.get("elements").unshift(a, b, c);
+
+// Remove and return the first node in a list of nodes:
+path.get("elements").shift();
+
+// Push two new nodes onto the end of a list of nodes:
+path.get("elements").push(d, e);
+
+// Remove and return the last node in a list of nodes:
+path.get("elements").pop();
+
+// Insert a new node before/after the seventh node in a list of nodes:
+var seventh = path.get("elements", 6);
+seventh.insertBefore(newNode);
+seventh.insertAfter(newNode);
+
+// Insert a new element at index 5 in a list of nodes:
+path.get("elements").insertAt(5, newNode);
+```
+
+Scope
+---
+
+The object exposed as `path.scope` during AST traversals provides
+information about variable and function declarations in the scope that
+contains `path.node`. See [scope.ts](lib/scope.ts) for its public
+interface, which currently includes `.isGlobal`, `.getGlobalScope()`,
+`.depth`, `.declares(name)`, `.lookup(name)`, and `.getBindings()`.
+
+Custom AST Node Types
+---
+
+The `ast-types` module was designed to be extended. To that end, it
+provides a readable, declarative syntax for specifying new AST node types,
+based primarily upon the `require("ast-types").Type.def` function:
+```js
+import {
+  Type,
+  builtInTypes,
+  builders as b,
+  finalize,
+} from "ast-types";
+
+const { def } = Type;
+const { string } = builtInTypes;
+
+// Suppose you need a named File type to wrap your Programs.
+def("File")
+  .bases("Node")
+  .build("name", "program")
+  .field("name", string)
+  .field("program", def("Program"));
+
+// Prevent further modifications to the File type (and any other
+// types newly introduced by def(...)).
+finalize();
+
+// The b.file builder function is now available. It expects two
+// arguments, as named by .build("name", "program") above.
+const main = b.file("main.js", b.program([
+  // Pointless program contents included for extra color.
+  b.functionDeclaration(b.identifier("succ"), [
+    b.identifier("x")
+  ], b.blockStatement([
+    b.returnStatement(
+      b.binaryExpression(
+        "+", b.identifier("x"), b.literal(1)
+      )
+    )
+  ]))
+]));
+
+assert.strictEqual(main.name, "main.js");
+assert.strictEqual(main.program.body[0].params[0].name, "x");
+// etc.
+
+// If you pass the wrong type of arguments, or fail to pass enough
+// arguments, an AssertionError will be thrown.
+
+b.file(b.blockStatement([]));
+// ==> AssertionError: {"body":[],"type":"BlockStatement","loc":null} does not match type string
+
+b.file("lib/types.js", b.thisExpression());
+// ==> AssertionError: {"type":"ThisExpression","loc":null} does not match type Program
+```
+
+The `def` syntax is used to define all the default AST node types found in
+[babel-core.ts](def/babel-core.ts),
+[babel.ts](def/babel.ts),
+[core.ts](def/core.ts),
+[es-proposals.ts](def/es-proposals.ts),
+[es6.ts](def/es6.ts),
+[es7.ts](def/es7.ts),
+[es2020.ts](def/es2020.ts),
+[esprima.ts](def/esprima.ts),
+[flow.ts](def/flow.ts),
+[jsx.ts](def/jsx.ts),
+[type-annotations.ts](def/type-annotations.ts),
+and
+[typescripts.ts](def/typescripts.ts),
+so you have
+no shortage of examples to learn from.
diff --git a/node_modules/degenerator/node_modules/ast-types/def/babel-core.d.ts b/node_modules/degenerator/node_modules/ast-types/def/babel-core.d.ts
new file mode 100644
index 0000000..1ef9137
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/babel-core.d.ts
@@ -0,0 +1,2 @@
+import { Fork } from "../types";
+export default function (fork: Fork): void;
diff --git a/node_modules/degenerator/node_modules/ast-types/def/babel-core.js b/node_modules/degenerator/node_modules/ast-types/def/babel-core.js
new file mode 100644
index 0000000..c3dd33c
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/babel-core.js
@@ -0,0 +1,256 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var types_1 = tslib_1.__importDefault(require("../lib/types"));
+var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
+var es7_1 = tslib_1.__importDefault(require("./es7"));
+function default_1(fork) {
+    fork.use(es7_1.default);
+    var types = fork.use(types_1.default);
+    var defaults = fork.use(shared_1.default).defaults;
+    var def = types.Type.def;
+    var or = types.Type.or;
+    def("Noop")
+        .bases("Statement")
+        .build();
+    def("DoExpression")
+        .bases("Expression")
+        .build("body")
+        .field("body", [def("Statement")]);
+    def("Super")
+        .bases("Expression")
+        .build();
+    def("BindExpression")
+        .bases("Expression")
+        .build("object", "callee")
+        .field("object", or(def("Expression"), null))
+        .field("callee", def("Expression"));
+    def("Decorator")
+        .bases("Node")
+        .build("expression")
+        .field("expression", def("Expression"));
+    def("Property")
+        .field("decorators", or([def("Decorator")], null), defaults["null"]);
+    def("MethodDefinition")
+        .field("decorators", or([def("Decorator")], null), defaults["null"]);
+    def("MetaProperty")
+        .bases("Expression")
+        .build("meta", "property")
+        .field("meta", def("Identifier"))
+        .field("property", def("Identifier"));
+    def("ParenthesizedExpression")
+        .bases("Expression")
+        .build("expression")
+        .field("expression", def("Expression"));
+    def("ImportSpecifier")
+        .bases("ModuleSpecifier")
+        .build("imported", "local")
+        .field("imported", def("Identifier"));
+    def("ImportDefaultSpecifier")
+        .bases("ModuleSpecifier")
+        .build("local");
+    def("ImportNamespaceSpecifier")
+        .bases("ModuleSpecifier")
+        .build("local");
+    def("ExportDefaultDeclaration")
+        .bases("Declaration")
+        .build("declaration")
+        .field("declaration", or(def("Declaration"), def("Expression")));
+    def("ExportNamedDeclaration")
+        .bases("Declaration")
+        .build("declaration", "specifiers", "source")
+        .field("declaration", or(def("Declaration"), null))
+        .field("specifiers", [def("ExportSpecifier")], defaults.emptyArray)
+        .field("source", or(def("Literal"), null), defaults["null"]);
+    def("ExportSpecifier")
+        .bases("ModuleSpecifier")
+        .build("local", "exported")
+        .field("exported", def("Identifier"));
+    def("ExportNamespaceSpecifier")
+        .bases("Specifier")
+        .build("exported")
+        .field("exported", def("Identifier"));
+    def("ExportDefaultSpecifier")
+        .bases("Specifier")
+        .build("exported")
+        .field("exported", def("Identifier"));
+    def("ExportAllDeclaration")
+        .bases("Declaration")
+        .build("exported", "source")
+        .field("exported", or(def("Identifier"), null))
+        .field("source", def("Literal"));
+    def("CommentBlock")
+        .bases("Comment")
+        .build("value", /*optional:*/ "leading", "trailing");
+    def("CommentLine")
+        .bases("Comment")
+        .build("value", /*optional:*/ "leading", "trailing");
+    def("Directive")
+        .bases("Node")
+        .build("value")
+        .field("value", def("DirectiveLiteral"));
+    def("DirectiveLiteral")
+        .bases("Node", "Expression")
+        .build("value")
+        .field("value", String, defaults["use strict"]);
+    def("InterpreterDirective")
+        .bases("Node")
+        .build("value")
+        .field("value", String);
+    def("BlockStatement")
+        .bases("Statement")
+        .build("body")
+        .field("body", [def("Statement")])
+        .field("directives", [def("Directive")], defaults.emptyArray);
+    def("Program")
+        .bases("Node")
+        .build("body")
+        .field("body", [def("Statement")])
+        .field("directives", [def("Directive")], defaults.emptyArray)
+        .field("interpreter", or(def("InterpreterDirective"), null), defaults["null"]);
+    // Split Literal
+    def("StringLiteral")
+        .bases("Literal")
+        .build("value")
+        .field("value", String);
+    def("NumericLiteral")
+        .bases("Literal")
+        .build("value")
+        .field("value", Number)
+        .field("raw", or(String, null), defaults["null"])
+        .field("extra", {
+        rawValue: Number,
+        raw: String
+    }, function getDefault() {
+        return {
+            rawValue: this.value,
+            raw: this.value + ""
+        };
+    });
+    def("BigIntLiteral")
+        .bases("Literal")
+        .build("value")
+        // Only String really seems appropriate here, since BigInt values
+        // often exceed the limits of JS numbers.
+        .field("value", or(String, Number))
+        .field("extra", {
+        rawValue: String,
+        raw: String
+    }, function getDefault() {
+        return {
+            rawValue: String(this.value),
+            raw: this.value + "n"
+        };
+    });
+    def("NullLiteral")
+        .bases("Literal")
+        .build()
+        .field("value", null, defaults["null"]);
+    def("BooleanLiteral")
+        .bases("Literal")
+        .build("value")
+        .field("value", Boolean);
+    def("RegExpLiteral")
+        .bases("Literal")
+        .build("pattern", "flags")
+        .field("pattern", String)
+        .field("flags", String)
+        .field("value", RegExp, function () {
+        return new RegExp(this.pattern, this.flags);
+    });
+    var ObjectExpressionProperty = or(def("Property"), def("ObjectMethod"), def("ObjectProperty"), def("SpreadProperty"), def("SpreadElement"));
+    // Split Property -> ObjectProperty and ObjectMethod
+    def("ObjectExpression")
+        .bases("Expression")
+        .build("properties")
+        .field("properties", [ObjectExpressionProperty]);
+    // ObjectMethod hoist .value properties to own properties
+    def("ObjectMethod")
+        .bases("Node", "Function")
+        .build("kind", "key", "params", "body", "computed")
+        .field("kind", or("method", "get", "set"))
+        .field("key", or(def("Literal"), def("Identifier"), def("Expression")))
+        .field("params", [def("Pattern")])
+        .field("body", def("BlockStatement"))
+        .field("computed", Boolean, defaults["false"])
+        .field("generator", Boolean, defaults["false"])
+        .field("async", Boolean, defaults["false"])
+        .field("accessibility", // TypeScript
+    or(def("Literal"), null), defaults["null"])
+        .field("decorators", or([def("Decorator")], null), defaults["null"]);
+    def("ObjectProperty")
+        .bases("Node")
+        .build("key", "value")
+        .field("key", or(def("Literal"), def("Identifier"), def("Expression")))
+        .field("value", or(def("Expression"), def("Pattern")))
+        .field("accessibility", // TypeScript
+    or(def("Literal"), null), defaults["null"])
+        .field("computed", Boolean, defaults["false"]);
+    var ClassBodyElement = or(def("MethodDefinition"), def("VariableDeclarator"), def("ClassPropertyDefinition"), def("ClassProperty"), def("ClassPrivateProperty"), def("ClassMethod"), def("ClassPrivateMethod"));
+    // MethodDefinition -> ClassMethod
+    def("ClassBody")
+        .bases("Declaration")
+        .build("body")
+        .field("body", [ClassBodyElement]);
+    def("ClassMethod")
+        .bases("Declaration", "Function")
+        .build("kind", "key", "params", "body", "computed", "static")
+        .field("key", or(def("Literal"), def("Identifier"), def("Expression")));
+    def("ClassPrivateMethod")
+        .bases("Declaration", "Function")
+        .build("key", "params", "body", "kind", "computed", "static")
+        .field("key", def("PrivateName"));
+    ["ClassMethod",
+        "ClassPrivateMethod",
+    ].forEach(function (typeName) {
+        def(typeName)
+            .field("kind", or("get", "set", "method", "constructor"), function () { return "method"; })
+            .field("body", def("BlockStatement"))
+            .field("computed", Boolean, defaults["false"])
+            .field("static", or(Boolean, null), defaults["null"])
+            .field("abstract", or(Boolean, null), defaults["null"])
+            .field("access", or("public", "private", "protected", null), defaults["null"])
+            .field("accessibility", or("public", "private", "protected", null), defaults["null"])
+            .field("decorators", or([def("Decorator")], null), defaults["null"])
+            .field("optional", or(Boolean, null), defaults["null"]);
+    });
+    def("ClassPrivateProperty")
+        .bases("ClassProperty")
+        .build("key", "value")
+        .field("key", def("PrivateName"))
+        .field("value", or(def("Expression"), null), defaults["null"]);
+    def("PrivateName")
+        .bases("Expression", "Pattern")
+        .build("id")
+        .field("id", def("Identifier"));
+    var ObjectPatternProperty = or(def("Property"), def("PropertyPattern"), def("SpreadPropertyPattern"), def("SpreadProperty"), // Used by Esprima
+    def("ObjectProperty"), // Babel 6
+    def("RestProperty") // Babel 6
+    );
+    // Split into RestProperty and SpreadProperty
+    def("ObjectPattern")
+        .bases("Pattern")
+        .build("properties")
+        .field("properties", [ObjectPatternProperty])
+        .field("decorators", or([def("Decorator")], null), defaults["null"]);
+    def("SpreadProperty")
+        .bases("Node")
+        .build("argument")
+        .field("argument", def("Expression"));
+    def("RestProperty")
+        .bases("Node")
+        .build("argument")
+        .field("argument", def("Expression"));
+    def("ForAwaitStatement")
+        .bases("Statement")
+        .build("left", "right", "body")
+        .field("left", or(def("VariableDeclaration"), def("Expression")))
+        .field("right", def("Expression"))
+        .field("body", def("Statement"));
+    // The callee node of a dynamic import(...) expression.
+    def("Import")
+        .bases("Expression")
+        .build();
+}
+exports.default = default_1;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/def/babel.d.ts b/node_modules/degenerator/node_modules/ast-types/def/babel.d.ts
new file mode 100644
index 0000000..1ef9137
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/babel.d.ts
@@ -0,0 +1,2 @@
+import { Fork } from "../types";
+export default function (fork: Fork): void;
diff --git a/node_modules/degenerator/node_modules/ast-types/def/babel.js b/node_modules/degenerator/node_modules/ast-types/def/babel.js
new file mode 100644
index 0000000..4a9505f
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/babel.js
@@ -0,0 +1,11 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var babel_core_1 = tslib_1.__importDefault(require("./babel-core"));
+var flow_1 = tslib_1.__importDefault(require("./flow"));
+function default_1(fork) {
+    fork.use(babel_core_1.default);
+    fork.use(flow_1.default);
+}
+exports.default = default_1;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/def/core.d.ts b/node_modules/degenerator/node_modules/ast-types/def/core.d.ts
new file mode 100644
index 0000000..1ef9137
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/core.d.ts
@@ -0,0 +1,2 @@
+import { Fork } from "../types";
+export default function (fork: Fork): void;
diff --git a/node_modules/degenerator/node_modules/ast-types/def/core.js b/node_modules/degenerator/node_modules/ast-types/def/core.js
new file mode 100644
index 0000000..83b3d50
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/core.js
@@ -0,0 +1,298 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var types_1 = tslib_1.__importDefault(require("../lib/types"));
+var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
+function default_1(fork) {
+    var types = fork.use(types_1.default);
+    var Type = types.Type;
+    var def = Type.def;
+    var or = Type.or;
+    var shared = fork.use(shared_1.default);
+    var defaults = shared.defaults;
+    var geq = shared.geq;
+    // Abstract supertype of all syntactic entities that are allowed to have a
+    // .loc field.
+    def("Printable")
+        .field("loc", or(def("SourceLocation"), null), defaults["null"], true);
+    def("Node")
+        .bases("Printable")
+        .field("type", String)
+        .field("comments", or([def("Comment")], null), defaults["null"], true);
+    def("SourceLocation")
+        .field("start", def("Position"))
+        .field("end", def("Position"))
+        .field("source", or(String, null), defaults["null"]);
+    def("Position")
+        .field("line", geq(1))
+        .field("column", geq(0));
+    def("File")
+        .bases("Node")
+        .build("program", "name")
+        .field("program", def("Program"))
+        .field("name", or(String, null), defaults["null"]);
+    def("Program")
+        .bases("Node")
+        .build("body")
+        .field("body", [def("Statement")]);
+    def("Function")
+        .bases("Node")
+        .field("id", or(def("Identifier"), null), defaults["null"])
+        .field("params", [def("Pattern")])
+        .field("body", def("BlockStatement"))
+        .field("generator", Boolean, defaults["false"])
+        .field("async", Boolean, defaults["false"]);
+    def("Statement").bases("Node");
+    // The empty .build() here means that an EmptyStatement can be constructed
+    // (i.e. it's not abstract) but that it needs no arguments.
+    def("EmptyStatement").bases("Statement").build();
+    def("BlockStatement")
+        .bases("Statement")
+        .build("body")
+        .field("body", [def("Statement")]);
+    // TODO Figure out how to silently coerce Expressions to
+    // ExpressionStatements where a Statement was expected.
+    def("ExpressionStatement")
+        .bases("Statement")
+        .build("expression")
+        .field("expression", def("Expression"));
+    def("IfStatement")
+        .bases("Statement")
+        .build("test", "consequent", "alternate")
+        .field("test", def("Expression"))
+        .field("consequent", def("Statement"))
+        .field("alternate", or(def("Statement"), null), defaults["null"]);
+    def("LabeledStatement")
+        .bases("Statement")
+        .build("label", "body")
+        .field("label", def("Identifier"))
+        .field("body", def("Statement"));
+    def("BreakStatement")
+        .bases("Statement")
+        .build("label")
+        .field("label", or(def("Identifier"), null), defaults["null"]);
+    def("ContinueStatement")
+        .bases("Statement")
+        .build("label")
+        .field("label", or(def("Identifier"), null), defaults["null"]);
+    def("WithStatement")
+        .bases("Statement")
+        .build("object", "body")
+        .field("object", def("Expression"))
+        .field("body", def("Statement"));
+    def("SwitchStatement")
+        .bases("Statement")
+        .build("discriminant", "cases", "lexical")
+        .field("discriminant", def("Expression"))
+        .field("cases", [def("SwitchCase")])
+        .field("lexical", Boolean, defaults["false"]);
+    def("ReturnStatement")
+        .bases("Statement")
+        .build("argument")
+        .field("argument", or(def("Expression"), null));
+    def("ThrowStatement")
+        .bases("Statement")
+        .build("argument")
+        .field("argument", def("Expression"));
+    def("TryStatement")
+        .bases("Statement")
+        .build("block", "handler", "finalizer")
+        .field("block", def("BlockStatement"))
+        .field("handler", or(def("CatchClause"), null), function () {
+        return this.handlers && this.handlers[0] || null;
+    })
+        .field("handlers", [def("CatchClause")], function () {
+        return this.handler ? [this.handler] : [];
+    }, true) // Indicates this field is hidden from eachField iteration.
+        .field("guardedHandlers", [def("CatchClause")], defaults.emptyArray)
+        .field("finalizer", or(def("BlockStatement"), null), defaults["null"]);
+    def("CatchClause")
+        .bases("Node")
+        .build("param", "guard", "body")
+        // https://github.com/tc39/proposal-optional-catch-binding
+        .field("param", or(def("Pattern"), null), defaults["null"])
+        .field("guard", or(def("Expression"), null), defaults["null"])
+        .field("body", def("BlockStatement"));
+    def("WhileStatement")
+        .bases("Statement")
+        .build("test", "body")
+        .field("test", def("Expression"))
+        .field("body", def("Statement"));
+    def("DoWhileStatement")
+        .bases("Statement")
+        .build("body", "test")
+        .field("body", def("Statement"))
+        .field("test", def("Expression"));
+    def("ForStatement")
+        .bases("Statement")
+        .build("init", "test", "update", "body")
+        .field("init", or(def("VariableDeclaration"), def("Expression"), null))
+        .field("test", or(def("Expression"), null))
+        .field("update", or(def("Expression"), null))
+        .field("body", def("Statement"));
+    def("ForInStatement")
+        .bases("Statement")
+        .build("left", "right", "body")
+        .field("left", or(def("VariableDeclaration"), def("Expression")))
+        .field("right", def("Expression"))
+        .field("body", def("Statement"));
+    def("DebuggerStatement").bases("Statement").build();
+    def("Declaration").bases("Statement");
+    def("FunctionDeclaration")
+        .bases("Function", "Declaration")
+        .build("id", "params", "body")
+        .field("id", def("Identifier"));
+    def("FunctionExpression")
+        .bases("Function", "Expression")
+        .build("id", "params", "body");
+    def("VariableDeclaration")
+        .bases("Declaration")
+        .build("kind", "declarations")
+        .field("kind", or("var", "let", "const"))
+        .field("declarations", [def("VariableDeclarator")]);
+    def("VariableDeclarator")
+        .bases("Node")
+        .build("id", "init")
+        .field("id", def("Pattern"))
+        .field("init", or(def("Expression"), null), defaults["null"]);
+    def("Expression").bases("Node");
+    def("ThisExpression").bases("Expression").build();
+    def("ArrayExpression")
+        .bases("Expression")
+        .build("elements")
+        .field("elements", [or(def("Expression"), null)]);
+    def("ObjectExpression")
+        .bases("Expression")
+        .build("properties")
+        .field("properties", [def("Property")]);
+    // TODO Not in the Mozilla Parser API, but used by Esprima.
+    def("Property")
+        .bases("Node") // Want to be able to visit Property Nodes.
+        .build("kind", "key", "value")
+        .field("kind", or("init", "get", "set"))
+        .field("key", or(def("Literal"), def("Identifier")))
+        .field("value", def("Expression"));
+    def("SequenceExpression")
+        .bases("Expression")
+        .build("expressions")
+        .field("expressions", [def("Expression")]);
+    var UnaryOperator = or("-", "+", "!", "~", "typeof", "void", "delete");
+    def("UnaryExpression")
+        .bases("Expression")
+        .build("operator", "argument", "prefix")
+        .field("operator", UnaryOperator)
+        .field("argument", def("Expression"))
+        // Esprima doesn't bother with this field, presumably because it's
+        // always true for unary operators.
+        .field("prefix", Boolean, defaults["true"]);
+    var BinaryOperator = or("==", "!=", "===", "!==", "<", "<=", ">", ">=", "<<", ">>", ">>>", "+", "-", "*", "/", "%", "**", "&", // TODO Missing from the Parser API.
+    "|", "^", "in", "instanceof");
+    def("BinaryExpression")
+        .bases("Expression")
+        .build("operator", "left", "right")
+        .field("operator", BinaryOperator)
+        .field("left", def("Expression"))
+        .field("right", def("Expression"));
+    var AssignmentOperator = or("=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=", "|=", "^=", "&=");
+    def("AssignmentExpression")
+        .bases("Expression")
+        .build("operator", "left", "right")
+        .field("operator", AssignmentOperator)
+        .field("left", or(def("Pattern"), def("MemberExpression")))
+        .field("right", def("Expression"));
+    var UpdateOperator = or("++", "--");
+    def("UpdateExpression")
+        .bases("Expression")
+        .build("operator", "argument", "prefix")
+        .field("operator", UpdateOperator)
+        .field("argument", def("Expression"))
+        .field("prefix", Boolean);
+    var LogicalOperator = or("||", "&&");
+    def("LogicalExpression")
+        .bases("Expression")
+        .build("operator", "left", "right")
+        .field("operator", LogicalOperator)
+        .field("left", def("Expression"))
+        .field("right", def("Expression"));
+    def("ConditionalExpression")
+        .bases("Expression")
+        .build("test", "consequent", "alternate")
+        .field("test", def("Expression"))
+        .field("consequent", def("Expression"))
+        .field("alternate", def("Expression"));
+    def("NewExpression")
+        .bases("Expression")
+        .build("callee", "arguments")
+        .field("callee", def("Expression"))
+        // The Mozilla Parser API gives this type as [or(def("Expression"),
+        // null)], but null values don't really make sense at the call site.
+        // TODO Report this nonsense.
+        .field("arguments", [def("Expression")]);
+    def("CallExpression")
+        .bases("Expression")
+        .build("callee", "arguments")
+        .field("callee", def("Expression"))
+        // See comment for NewExpression above.
+        .field("arguments", [def("Expression")]);
+    def("MemberExpression")
+        .bases("Expression")
+        .build("object", "property", "computed")
+        .field("object", def("Expression"))
+        .field("property", or(def("Identifier"), def("Expression")))
+        .field("computed", Boolean, function () {
+        var type = this.property.type;
+        if (type === 'Literal' ||
+            type === 'MemberExpression' ||
+            type === 'BinaryExpression') {
+            return true;
+        }
+        return false;
+    });
+    def("Pattern").bases("Node");
+    def("SwitchCase")
+        .bases("Node")
+        .build("test", "consequent")
+        .field("test", or(def("Expression"), null))
+        .field("consequent", [def("Statement")]);
+    def("Identifier")
+        .bases("Expression", "Pattern")
+        .build("name")
+        .field("name", String)
+        .field("optional", Boolean, defaults["false"]);
+    def("Literal")
+        .bases("Expression")
+        .build("value")
+        .field("value", or(String, Boolean, null, Number, RegExp))
+        .field("regex", or({
+        pattern: String,
+        flags: String
+    }, null), function () {
+        if (this.value instanceof RegExp) {
+            var flags = "";
+            if (this.value.ignoreCase)
+                flags += "i";
+            if (this.value.multiline)
+                flags += "m";
+            if (this.value.global)
+                flags += "g";
+            return {
+                pattern: this.value.source,
+                flags: flags
+            };
+        }
+        return null;
+    });
+    // Abstract (non-buildable) comment supertype. Not a Node.
+    def("Comment")
+        .bases("Printable")
+        .field("value", String)
+        // A .leading comment comes before the node, whereas a .trailing
+        // comment comes after it. These two fields should not both be true,
+        // but they might both be false when the comment falls inside a node
+        // and the node has no children for the comment to lead or trail,
+        // e.g. { /*dangling*/ }.
+        .field("leading", Boolean, defaults["true"])
+        .field("trailing", Boolean, defaults["false"]);
+}
+exports.default = default_1;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/def/es-proposals.d.ts b/node_modules/degenerator/node_modules/ast-types/def/es-proposals.d.ts
new file mode 100644
index 0000000..1ef9137
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/es-proposals.d.ts
@@ -0,0 +1,2 @@
+import { Fork } from "../types";
+export default function (fork: Fork): void;
diff --git a/node_modules/degenerator/node_modules/ast-types/def/es-proposals.js b/node_modules/degenerator/node_modules/ast-types/def/es-proposals.js
new file mode 100644
index 0000000..4e5ff1d
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/es-proposals.js
@@ -0,0 +1,33 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var types_1 = tslib_1.__importDefault(require("../lib/types"));
+var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
+var core_1 = tslib_1.__importDefault(require("./core"));
+function default_1(fork) {
+    fork.use(core_1.default);
+    var types = fork.use(types_1.default);
+    var Type = types.Type;
+    var def = types.Type.def;
+    var or = Type.or;
+    var shared = fork.use(shared_1.default);
+    var defaults = shared.defaults;
+    // https://github.com/tc39/proposal-optional-chaining
+    // `a?.b` as per https://github.com/estree/estree/issues/146
+    def("OptionalMemberExpression")
+        .bases("MemberExpression")
+        .build("object", "property", "computed", "optional")
+        .field("optional", Boolean, defaults["true"]);
+    // a?.b()
+    def("OptionalCallExpression")
+        .bases("CallExpression")
+        .build("callee", "arguments", "optional")
+        .field("optional", Boolean, defaults["true"]);
+    // https://github.com/tc39/proposal-nullish-coalescing
+    // `a ?? b` as per https://github.com/babel/babylon/pull/761/files
+    var LogicalOperator = or("||", "&&", "??");
+    def("LogicalExpression")
+        .field("operator", LogicalOperator);
+}
+exports.default = default_1;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/def/es2020.d.ts b/node_modules/degenerator/node_modules/ast-types/def/es2020.d.ts
new file mode 100644
index 0000000..1ef9137
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/es2020.d.ts
@@ -0,0 +1,2 @@
+import { Fork } from "../types";
+export default function (fork: Fork): void;
diff --git a/node_modules/degenerator/node_modules/ast-types/def/es2020.js b/node_modules/degenerator/node_modules/ast-types/def/es2020.js
new file mode 100644
index 0000000..ad71f73
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/es2020.js
@@ -0,0 +1,16 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var es7_1 = tslib_1.__importDefault(require("./es7"));
+var types_1 = tslib_1.__importDefault(require("../lib/types"));
+function default_1(fork) {
+    fork.use(es7_1.default);
+    var types = fork.use(types_1.default);
+    var def = types.Type.def;
+    def("ImportExpression")
+        .bases("Expression")
+        .build("source")
+        .field("source", def("Expression"));
+}
+exports.default = default_1;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/def/es6.d.ts b/node_modules/degenerator/node_modules/ast-types/def/es6.d.ts
new file mode 100644
index 0000000..1ef9137
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/es6.d.ts
@@ -0,0 +1,2 @@
+import { Fork } from "../types";
+export default function (fork: Fork): void;
diff --git a/node_modules/degenerator/node_modules/ast-types/def/es6.js b/node_modules/degenerator/node_modules/ast-types/def/es6.js
new file mode 100644
index 0000000..3aacc8b
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/es6.js
@@ -0,0 +1,210 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var core_1 = tslib_1.__importDefault(require("./core"));
+var types_1 = tslib_1.__importDefault(require("../lib/types"));
+var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
+function default_1(fork) {
+    fork.use(core_1.default);
+    var types = fork.use(types_1.default);
+    var def = types.Type.def;
+    var or = types.Type.or;
+    var defaults = fork.use(shared_1.default).defaults;
+    def("Function")
+        .field("generator", Boolean, defaults["false"])
+        .field("expression", Boolean, defaults["false"])
+        .field("defaults", [or(def("Expression"), null)], defaults.emptyArray)
+        // TODO This could be represented as a RestElement in .params.
+        .field("rest", or(def("Identifier"), null), defaults["null"]);
+    // The ESTree way of representing a ...rest parameter.
+    def("RestElement")
+        .bases("Pattern")
+        .build("argument")
+        .field("argument", def("Pattern"))
+        .field("typeAnnotation", // for Babylon. Flow parser puts it on the identifier
+    or(def("TypeAnnotation"), def("TSTypeAnnotation"), null), defaults["null"]);
+    def("SpreadElementPattern")
+        .bases("Pattern")
+        .build("argument")
+        .field("argument", def("Pattern"));
+    def("FunctionDeclaration")
+        .build("id", "params", "body", "generator", "expression");
+    def("FunctionExpression")
+        .build("id", "params", "body", "generator", "expression");
+    // The Parser API calls this ArrowExpression, but Esprima and all other
+    // actual parsers use ArrowFunctionExpression.
+    def("ArrowFunctionExpression")
+        .bases("Function", "Expression")
+        .build("params", "body", "expression")
+        // The forced null value here is compatible with the overridden
+        // definition of the "id" field in the Function interface.
+        .field("id", null, defaults["null"])
+        // Arrow function bodies are allowed to be expressions.
+        .field("body", or(def("BlockStatement"), def("Expression")))
+        // The current spec forbids arrow generators, so I have taken the
+        // liberty of enforcing that. TODO Report this.
+        .field("generator", false, defaults["false"]);
+    def("ForOfStatement")
+        .bases("Statement")
+        .build("left", "right", "body")
+        .field("left", or(def("VariableDeclaration"), def("Pattern")))
+        .field("right", def("Expression"))
+        .field("body", def("Statement"));
+    def("YieldExpression")
+        .bases("Expression")
+        .build("argument", "delegate")
+        .field("argument", or(def("Expression"), null))
+        .field("delegate", Boolean, defaults["false"]);
+    def("GeneratorExpression")
+        .bases("Expression")
+        .build("body", "blocks", "filter")
+        .field("body", def("Expression"))
+        .field("blocks", [def("ComprehensionBlock")])
+        .field("filter", or(def("Expression"), null));
+    def("ComprehensionExpression")
+        .bases("Expression")
+        .build("body", "blocks", "filter")
+        .field("body", def("Expression"))
+        .field("blocks", [def("ComprehensionBlock")])
+        .field("filter", or(def("Expression"), null));
+    def("ComprehensionBlock")
+        .bases("Node")
+        .build("left", "right", "each")
+        .field("left", def("Pattern"))
+        .field("right", def("Expression"))
+        .field("each", Boolean);
+    def("Property")
+        .field("key", or(def("Literal"), def("Identifier"), def("Expression")))
+        .field("value", or(def("Expression"), def("Pattern")))
+        .field("method", Boolean, defaults["false"])
+        .field("shorthand", Boolean, defaults["false"])
+        .field("computed", Boolean, defaults["false"]);
+    def("ObjectProperty")
+        .field("shorthand", Boolean, defaults["false"]);
+    def("PropertyPattern")
+        .bases("Pattern")
+        .build("key", "pattern")
+        .field("key", or(def("Literal"), def("Identifier"), def("Expression")))
+        .field("pattern", def("Pattern"))
+        .field("computed", Boolean, defaults["false"]);
+    def("ObjectPattern")
+        .bases("Pattern")
+        .build("properties")
+        .field("properties", [or(def("PropertyPattern"), def("Property"))]);
+    def("ArrayPattern")
+        .bases("Pattern")
+        .build("elements")
+        .field("elements", [or(def("Pattern"), null)]);
+    def("MethodDefinition")
+        .bases("Declaration")
+        .build("kind", "key", "value", "static")
+        .field("kind", or("constructor", "method", "get", "set"))
+        .field("key", def("Expression"))
+        .field("value", def("Function"))
+        .field("computed", Boolean, defaults["false"])
+        .field("static", Boolean, defaults["false"]);
+    def("SpreadElement")
+        .bases("Node")
+        .build("argument")
+        .field("argument", def("Expression"));
+    def("ArrayExpression")
+        .field("elements", [or(def("Expression"), def("SpreadElement"), def("RestElement"), null)]);
+    def("NewExpression")
+        .field("arguments", [or(def("Expression"), def("SpreadElement"))]);
+    def("CallExpression")
+        .field("arguments", [or(def("Expression"), def("SpreadElement"))]);
+    // Note: this node type is *not* an AssignmentExpression with a Pattern on
+    // the left-hand side! The existing AssignmentExpression type already
+    // supports destructuring assignments. AssignmentPattern nodes may appear
+    // wherever a Pattern is allowed, and the right-hand side represents a
+    // default value to be destructured against the left-hand side, if no
+    // value is otherwise provided. For example: default parameter values.
+    def("AssignmentPattern")
+        .bases("Pattern")
+        .build("left", "right")
+        .field("left", def("Pattern"))
+        .field("right", def("Expression"));
+    var ClassBodyElement = or(def("MethodDefinition"), def("VariableDeclarator"), def("ClassPropertyDefinition"), def("ClassProperty"));
+    def("ClassProperty")
+        .bases("Declaration")
+        .build("key")
+        .field("key", or(def("Literal"), def("Identifier"), def("Expression")))
+        .field("computed", Boolean, defaults["false"]);
+    def("ClassPropertyDefinition") // static property
+        .bases("Declaration")
+        .build("definition")
+        // Yes, Virginia, circular definitions are permitted.
+        .field("definition", ClassBodyElement);
+    def("ClassBody")
+        .bases("Declaration")
+        .build("body")
+        .field("body", [ClassBodyElement]);
+    def("ClassDeclaration")
+        .bases("Declaration")
+        .build("id", "body", "superClass")
+        .field("id", or(def("Identifier"), null))
+        .field("body", def("ClassBody"))
+        .field("superClass", or(def("Expression"), null), defaults["null"]);
+    def("ClassExpression")
+        .bases("Expression")
+        .build("id", "body", "superClass")
+        .field("id", or(def("Identifier"), null), defaults["null"])
+        .field("body", def("ClassBody"))
+        .field("superClass", or(def("Expression"), null), defaults["null"]);
+    // Specifier and ModuleSpecifier are abstract non-standard types
+    // introduced for definitional convenience.
+    def("Specifier").bases("Node");
+    // This supertype is shared/abused by both def/babel.js and
+    // def/esprima.js. In the future, it will be possible to load only one set
+    // of definitions appropriate for a given parser, but until then we must
+    // rely on default functions to reconcile the conflicting AST formats.
+    def("ModuleSpecifier")
+        .bases("Specifier")
+        // This local field is used by Babel/Acorn. It should not technically
+        // be optional in the Babel/Acorn AST format, but it must be optional
+        // in the Esprima AST format.
+        .field("local", or(def("Identifier"), null), defaults["null"])
+        // The id and name fields are used by Esprima. The id field should not
+        // technically be optional in the Esprima AST format, but it must be
+        // optional in the Babel/Acorn AST format.
+        .field("id", or(def("Identifier"), null), defaults["null"])
+        .field("name", or(def("Identifier"), null), defaults["null"]);
+    // Like ModuleSpecifier, except type:"ImportSpecifier" and buildable.
+    // import {<id [as name]>} from ...;
+    def("ImportSpecifier")
+        .bases("ModuleSpecifier")
+        .build("id", "name");
+    // import <* as id> from ...;
+    def("ImportNamespaceSpecifier")
+        .bases("ModuleSpecifier")
+        .build("id");
+    // import <id> from ...;
+    def("ImportDefaultSpecifier")
+        .bases("ModuleSpecifier")
+        .build("id");
+    def("ImportDeclaration")
+        .bases("Declaration")
+        .build("specifiers", "source", "importKind")
+        .field("specifiers", [or(def("ImportSpecifier"), def("ImportNamespaceSpecifier"), def("ImportDefaultSpecifier"))], defaults.emptyArray)
+        .field("source", def("Literal"))
+        .field("importKind", or("value", "type"), function () {
+        return "value";
+    });
+    def("TaggedTemplateExpression")
+        .bases("Expression")
+        .build("tag", "quasi")
+        .field("tag", def("Expression"))
+        .field("quasi", def("TemplateLiteral"));
+    def("TemplateLiteral")
+        .bases("Expression")
+        .build("quasis", "expressions")
+        .field("quasis", [def("TemplateElement")])
+        .field("expressions", [def("Expression")]);
+    def("TemplateElement")
+        .bases("Node")
+        .build("value", "tail")
+        .field("value", { "cooked": String, "raw": String })
+        .field("tail", Boolean);
+}
+exports.default = default_1;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/def/es7.d.ts b/node_modules/degenerator/node_modules/ast-types/def/es7.d.ts
new file mode 100644
index 0000000..1ef9137
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/es7.d.ts
@@ -0,0 +1,2 @@
+import { Fork } from "../types";
+export default function (fork: Fork): void;
diff --git a/node_modules/degenerator/node_modules/ast-types/def/es7.js b/node_modules/degenerator/node_modules/ast-types/def/es7.js
new file mode 100644
index 0000000..8e5c97f
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/es7.js
@@ -0,0 +1,34 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var es6_1 = tslib_1.__importDefault(require("./es6"));
+var types_1 = tslib_1.__importDefault(require("../lib/types"));
+var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
+function default_1(fork) {
+    fork.use(es6_1.default);
+    var types = fork.use(types_1.default);
+    var def = types.Type.def;
+    var or = types.Type.or;
+    var defaults = fork.use(shared_1.default).defaults;
+    def("Function")
+        .field("async", Boolean, defaults["false"]);
+    def("SpreadProperty")
+        .bases("Node")
+        .build("argument")
+        .field("argument", def("Expression"));
+    def("ObjectExpression")
+        .field("properties", [or(def("Property"), def("SpreadProperty"), def("SpreadElement"))]);
+    def("SpreadPropertyPattern")
+        .bases("Pattern")
+        .build("argument")
+        .field("argument", def("Pattern"));
+    def("ObjectPattern")
+        .field("properties", [or(def("Property"), def("PropertyPattern"), def("SpreadPropertyPattern"))]);
+    def("AwaitExpression")
+        .bases("Expression")
+        .build("argument", "all")
+        .field("argument", or(def("Expression"), null))
+        .field("all", Boolean, defaults["false"]);
+}
+exports.default = default_1;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/def/esprima.d.ts b/node_modules/degenerator/node_modules/ast-types/def/esprima.d.ts
new file mode 100644
index 0000000..1ef9137
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/esprima.d.ts
@@ -0,0 +1,2 @@
+import { Fork } from "../types";
+export default function (fork: Fork): void;
diff --git a/node_modules/degenerator/node_modules/ast-types/def/esprima.js b/node_modules/degenerator/node_modules/ast-types/def/esprima.js
new file mode 100644
index 0000000..e40be3e
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/esprima.js
@@ -0,0 +1,49 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var es7_1 = tslib_1.__importDefault(require("./es7"));
+var types_1 = tslib_1.__importDefault(require("../lib/types"));
+var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
+function default_1(fork) {
+    fork.use(es7_1.default);
+    var types = fork.use(types_1.default);
+    var defaults = fork.use(shared_1.default).defaults;
+    var def = types.Type.def;
+    var or = types.Type.or;
+    def("VariableDeclaration")
+        .field("declarations", [or(def("VariableDeclarator"), def("Identifier") // Esprima deviation.
+        )]);
+    def("Property")
+        .field("value", or(def("Expression"), def("Pattern") // Esprima deviation.
+    ));
+    def("ArrayPattern")
+        .field("elements", [or(def("Pattern"), def("SpreadElement"), null)]);
+    def("ObjectPattern")
+        .field("properties", [or(def("Property"), def("PropertyPattern"), def("SpreadPropertyPattern"), def("SpreadProperty") // Used by Esprima.
+        )]);
+    // Like ModuleSpecifier, except type:"ExportSpecifier" and buildable.
+    // export {<id [as name]>} [from ...];
+    def("ExportSpecifier")
+        .bases("ModuleSpecifier")
+        .build("id", "name");
+    // export <*> from ...;
+    def("ExportBatchSpecifier")
+        .bases("Specifier")
+        .build();
+    def("ExportDeclaration")
+        .bases("Declaration")
+        .build("default", "declaration", "specifiers", "source")
+        .field("default", Boolean)
+        .field("declaration", or(def("Declaration"), def("Expression"), // Implies default.
+    null))
+        .field("specifiers", [or(def("ExportSpecifier"), def("ExportBatchSpecifier"))], defaults.emptyArray)
+        .field("source", or(def("Literal"), null), defaults["null"]);
+    def("Block")
+        .bases("Comment")
+        .build("value", /*optional:*/ "leading", "trailing");
+    def("Line")
+        .bases("Comment")
+        .build("value", /*optional:*/ "leading", "trailing");
+}
+exports.default = default_1;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/def/flow.d.ts b/node_modules/degenerator/node_modules/ast-types/def/flow.d.ts
new file mode 100644
index 0000000..1ef9137
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/flow.d.ts
@@ -0,0 +1,2 @@
+import { Fork } from "../types";
+export default function (fork: Fork): void;
diff --git a/node_modules/degenerator/node_modules/ast-types/def/flow.js b/node_modules/degenerator/node_modules/ast-types/def/flow.js
new file mode 100644
index 0000000..e240418
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/flow.js
@@ -0,0 +1,292 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var es7_1 = tslib_1.__importDefault(require("./es7"));
+var type_annotations_1 = tslib_1.__importDefault(require("./type-annotations"));
+var types_1 = tslib_1.__importDefault(require("../lib/types"));
+var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
+function default_1(fork) {
+    fork.use(es7_1.default);
+    fork.use(type_annotations_1.default);
+    var types = fork.use(types_1.default);
+    var def = types.Type.def;
+    var or = types.Type.or;
+    var defaults = fork.use(shared_1.default).defaults;
+    // Base types
+    def("Flow").bases("Node");
+    def("FlowType").bases("Flow");
+    // Type annotations
+    def("AnyTypeAnnotation")
+        .bases("FlowType")
+        .build();
+    def("EmptyTypeAnnotation")
+        .bases("FlowType")
+        .build();
+    def("MixedTypeAnnotation")
+        .bases("FlowType")
+        .build();
+    def("VoidTypeAnnotation")
+        .bases("FlowType")
+        .build();
+    def("NumberTypeAnnotation")
+        .bases("FlowType")
+        .build();
+    def("NumberLiteralTypeAnnotation")
+        .bases("FlowType")
+        .build("value", "raw")
+        .field("value", Number)
+        .field("raw", String);
+    // Babylon 6 differs in AST from Flow
+    // same as NumberLiteralTypeAnnotation
+    def("NumericLiteralTypeAnnotation")
+        .bases("FlowType")
+        .build("value", "raw")
+        .field("value", Number)
+        .field("raw", String);
+    def("StringTypeAnnotation")
+        .bases("FlowType")
+        .build();
+    def("StringLiteralTypeAnnotation")
+        .bases("FlowType")
+        .build("value", "raw")
+        .field("value", String)
+        .field("raw", String);
+    def("BooleanTypeAnnotation")
+        .bases("FlowType")
+        .build();
+    def("BooleanLiteralTypeAnnotation")
+        .bases("FlowType")
+        .build("value", "raw")
+        .field("value", Boolean)
+        .field("raw", String);
+    def("TypeAnnotation")
+        .bases("Node")
+        .build("typeAnnotation")
+        .field("typeAnnotation", def("FlowType"));
+    def("NullableTypeAnnotation")
+        .bases("FlowType")
+        .build("typeAnnotation")
+        .field("typeAnnotation", def("FlowType"));
+    def("NullLiteralTypeAnnotation")
+        .bases("FlowType")
+        .build();
+    def("NullTypeAnnotation")
+        .bases("FlowType")
+        .build();
+    def("ThisTypeAnnotation")
+        .bases("FlowType")
+        .build();
+    def("ExistsTypeAnnotation")
+        .bases("FlowType")
+        .build();
+    def("ExistentialTypeParam")
+        .bases("FlowType")
+        .build();
+    def("FunctionTypeAnnotation")
+        .bases("FlowType")
+        .build("params", "returnType", "rest", "typeParameters")
+        .field("params", [def("FunctionTypeParam")])
+        .field("returnType", def("FlowType"))
+        .field("rest", or(def("FunctionTypeParam"), null))
+        .field("typeParameters", or(def("TypeParameterDeclaration"), null));
+    def("FunctionTypeParam")
+        .bases("Node")
+        .build("name", "typeAnnotation", "optional")
+        .field("name", def("Identifier"))
+        .field("typeAnnotation", def("FlowType"))
+        .field("optional", Boolean);
+    def("ArrayTypeAnnotation")
+        .bases("FlowType")
+        .build("elementType")
+        .field("elementType", def("FlowType"));
+    def("ObjectTypeAnnotation")
+        .bases("FlowType")
+        .build("properties", "indexers", "callProperties")
+        .field("properties", [
+        or(def("ObjectTypeProperty"), def("ObjectTypeSpreadProperty"))
+    ])
+        .field("indexers", [def("ObjectTypeIndexer")], defaults.emptyArray)
+        .field("callProperties", [def("ObjectTypeCallProperty")], defaults.emptyArray)
+        .field("inexact", or(Boolean, void 0), defaults["undefined"])
+        .field("exact", Boolean, defaults["false"])
+        .field("internalSlots", [def("ObjectTypeInternalSlot")], defaults.emptyArray);
+    def("Variance")
+        .bases("Node")
+        .build("kind")
+        .field("kind", or("plus", "minus"));
+    var LegacyVariance = or(def("Variance"), "plus", "minus", null);
+    def("ObjectTypeProperty")
+        .bases("Node")
+        .build("key", "value", "optional")
+        .field("key", or(def("Literal"), def("Identifier")))
+        .field("value", def("FlowType"))
+        .field("optional", Boolean)
+        .field("variance", LegacyVariance, defaults["null"]);
+    def("ObjectTypeIndexer")
+        .bases("Node")
+        .build("id", "key", "value")
+        .field("id", def("Identifier"))
+        .field("key", def("FlowType"))
+        .field("value", def("FlowType"))
+        .field("variance", LegacyVariance, defaults["null"]);
+    def("ObjectTypeCallProperty")
+        .bases("Node")
+        .build("value")
+        .field("value", def("FunctionTypeAnnotation"))
+        .field("static", Boolean, defaults["false"]);
+    def("QualifiedTypeIdentifier")
+        .bases("Node")
+        .build("qualification", "id")
+        .field("qualification", or(def("Identifier"), def("QualifiedTypeIdentifier")))
+        .field("id", def("Identifier"));
+    def("GenericTypeAnnotation")
+        .bases("FlowType")
+        .build("id", "typeParameters")
+        .field("id", or(def("Identifier"), def("QualifiedTypeIdentifier")))
+        .field("typeParameters", or(def("TypeParameterInstantiation"), null));
+    def("MemberTypeAnnotation")
+        .bases("FlowType")
+        .build("object", "property")
+        .field("object", def("Identifier"))
+        .field("property", or(def("MemberTypeAnnotation"), def("GenericTypeAnnotation")));
+    def("UnionTypeAnnotation")
+        .bases("FlowType")
+        .build("types")
+        .field("types", [def("FlowType")]);
+    def("IntersectionTypeAnnotation")
+        .bases("FlowType")
+        .build("types")
+        .field("types", [def("FlowType")]);
+    def("TypeofTypeAnnotation")
+        .bases("FlowType")
+        .build("argument")
+        .field("argument", def("FlowType"));
+    def("ObjectTypeSpreadProperty")
+        .bases("Node")
+        .build("argument")
+        .field("argument", def("FlowType"));
+    def("ObjectTypeInternalSlot")
+        .bases("Node")
+        .build("id", "value", "optional", "static", "method")
+        .field("id", def("Identifier"))
+        .field("value", def("FlowType"))
+        .field("optional", Boolean)
+        .field("static", Boolean)
+        .field("method", Boolean);
+    def("TypeParameterDeclaration")
+        .bases("Node")
+        .build("params")
+        .field("params", [def("TypeParameter")]);
+    def("TypeParameterInstantiation")
+        .bases("Node")
+        .build("params")
+        .field("params", [def("FlowType")]);
+    def("TypeParameter")
+        .bases("FlowType")
+        .build("name", "variance", "bound")
+        .field("name", String)
+        .field("variance", LegacyVariance, defaults["null"])
+        .field("bound", or(def("TypeAnnotation"), null), defaults["null"]);
+    def("ClassProperty")
+        .field("variance", LegacyVariance, defaults["null"]);
+    def("ClassImplements")
+        .bases("Node")
+        .build("id")
+        .field("id", def("Identifier"))
+        .field("superClass", or(def("Expression"), null), defaults["null"])
+        .field("typeParameters", or(def("TypeParameterInstantiation"), null), defaults["null"]);
+    def("InterfaceTypeAnnotation")
+        .bases("FlowType")
+        .build("body", "extends")
+        .field("body", def("ObjectTypeAnnotation"))
+        .field("extends", or([def("InterfaceExtends")], null), defaults["null"]);
+    def("InterfaceDeclaration")
+        .bases("Declaration")
+        .build("id", "body", "extends")
+        .field("id", def("Identifier"))
+        .field("typeParameters", or(def("TypeParameterDeclaration"), null), defaults["null"])
+        .field("body", def("ObjectTypeAnnotation"))
+        .field("extends", [def("InterfaceExtends")]);
+    def("DeclareInterface")
+        .bases("InterfaceDeclaration")
+        .build("id", "body", "extends");
+    def("InterfaceExtends")
+        .bases("Node")
+        .build("id")
+        .field("id", def("Identifier"))
+        .field("typeParameters", or(def("TypeParameterInstantiation"), null), defaults["null"]);
+    def("TypeAlias")
+        .bases("Declaration")
+        .build("id", "typeParameters", "right")
+        .field("id", def("Identifier"))
+        .field("typeParameters", or(def("TypeParameterDeclaration"), null))
+        .field("right", def("FlowType"));
+    def("OpaqueType")
+        .bases("Declaration")
+        .build("id", "typeParameters", "impltype", "supertype")
+        .field("id", def("Identifier"))
+        .field("typeParameters", or(def("TypeParameterDeclaration"), null))
+        .field("impltype", def("FlowType"))
+        .field("supertype", def("FlowType"));
+    def("DeclareTypeAlias")
+        .bases("TypeAlias")
+        .build("id", "typeParameters", "right");
+    def("DeclareOpaqueType")
+        .bases("TypeAlias")
+        .build("id", "typeParameters", "supertype");
+    def("TypeCastExpression")
+        .bases("Expression")
+        .build("expression", "typeAnnotation")
+        .field("expression", def("Expression"))
+        .field("typeAnnotation", def("TypeAnnotation"));
+    def("TupleTypeAnnotation")
+        .bases("FlowType")
+        .build("types")
+        .field("types", [def("FlowType")]);
+    def("DeclareVariable")
+        .bases("Statement")
+        .build("id")
+        .field("id", def("Identifier"));
+    def("DeclareFunction")
+        .bases("Statement")
+        .build("id")
+        .field("id", def("Identifier"));
+    def("DeclareClass")
+        .bases("InterfaceDeclaration")
+        .build("id");
+    def("DeclareModule")
+        .bases("Statement")
+        .build("id", "body")
+        .field("id", or(def("Identifier"), def("Literal")))
+        .field("body", def("BlockStatement"));
+    def("DeclareModuleExports")
+        .bases("Statement")
+        .build("typeAnnotation")
+        .field("typeAnnotation", def("TypeAnnotation"));
+    def("DeclareExportDeclaration")
+        .bases("Declaration")
+        .build("default", "declaration", "specifiers", "source")
+        .field("default", Boolean)
+        .field("declaration", or(def("DeclareVariable"), def("DeclareFunction"), def("DeclareClass"), def("FlowType"), // Implies default.
+    null))
+        .field("specifiers", [or(def("ExportSpecifier"), def("ExportBatchSpecifier"))], defaults.emptyArray)
+        .field("source", or(def("Literal"), null), defaults["null"]);
+    def("DeclareExportAllDeclaration")
+        .bases("Declaration")
+        .build("source")
+        .field("source", or(def("Literal"), null), defaults["null"]);
+    def("FlowPredicate").bases("Flow");
+    def("InferredPredicate")
+        .bases("FlowPredicate")
+        .build();
+    def("DeclaredPredicate")
+        .bases("FlowPredicate")
+        .build("value")
+        .field("value", def("Expression"));
+    def("CallExpression")
+        .field("typeArguments", or(null, def("TypeParameterInstantiation")), defaults["null"]);
+    def("NewExpression")
+        .field("typeArguments", or(null, def("TypeParameterInstantiation")), defaults["null"]);
+}
+exports.default = default_1;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/def/jsx.d.ts b/node_modules/degenerator/node_modules/ast-types/def/jsx.d.ts
new file mode 100644
index 0000000..1ef9137
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/jsx.d.ts
@@ -0,0 +1,2 @@
+import { Fork } from "../types";
+export default function (fork: Fork): void;
diff --git a/node_modules/degenerator/node_modules/ast-types/def/jsx.js b/node_modules/degenerator/node_modules/ast-types/def/jsx.js
new file mode 100644
index 0000000..1c1e8b0
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/jsx.js
@@ -0,0 +1,103 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var es7_1 = tslib_1.__importDefault(require("./es7"));
+var types_1 = tslib_1.__importDefault(require("../lib/types"));
+var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
+function default_1(fork) {
+    fork.use(es7_1.default);
+    var types = fork.use(types_1.default);
+    var def = types.Type.def;
+    var or = types.Type.or;
+    var defaults = fork.use(shared_1.default).defaults;
+    def("JSXAttribute")
+        .bases("Node")
+        .build("name", "value")
+        .field("name", or(def("JSXIdentifier"), def("JSXNamespacedName")))
+        .field("value", or(def("Literal"), // attr="value"
+    def("JSXExpressionContainer"), // attr={value}
+    null // attr= or just attr
+    ), defaults["null"]);
+    def("JSXIdentifier")
+        .bases("Identifier")
+        .build("name")
+        .field("name", String);
+    def("JSXNamespacedName")
+        .bases("Node")
+        .build("namespace", "name")
+        .field("namespace", def("JSXIdentifier"))
+        .field("name", def("JSXIdentifier"));
+    def("JSXMemberExpression")
+        .bases("MemberExpression")
+        .build("object", "property")
+        .field("object", or(def("JSXIdentifier"), def("JSXMemberExpression")))
+        .field("property", def("JSXIdentifier"))
+        .field("computed", Boolean, defaults.false);
+    var JSXElementName = or(def("JSXIdentifier"), def("JSXNamespacedName"), def("JSXMemberExpression"));
+    def("JSXSpreadAttribute")
+        .bases("Node")
+        .build("argument")
+        .field("argument", def("Expression"));
+    var JSXAttributes = [or(def("JSXAttribute"), def("JSXSpreadAttribute"))];
+    def("JSXExpressionContainer")
+        .bases("Expression")
+        .build("expression")
+        .field("expression", def("Expression"));
+    def("JSXElement")
+        .bases("Expression")
+        .build("openingElement", "closingElement", "children")
+        .field("openingElement", def("JSXOpeningElement"))
+        .field("closingElement", or(def("JSXClosingElement"), null), defaults["null"])
+        .field("children", [or(def("JSXElement"), def("JSXExpressionContainer"), def("JSXFragment"), def("JSXText"), def("Literal") // TODO Esprima should return JSXText instead.
+        )], defaults.emptyArray)
+        .field("name", JSXElementName, function () {
+        // Little-known fact: the `this` object inside a default function
+        // is none other than the partially-built object itself, and any
+        // fields initialized directly from builder function arguments
+        // (like openingElement, closingElement, and children) are
+        // guaranteed to be available.
+        return this.openingElement.name;
+    }, true) // hidden from traversal
+        .field("selfClosing", Boolean, function () {
+        return this.openingElement.selfClosing;
+    }, true) // hidden from traversal
+        .field("attributes", JSXAttributes, function () {
+        return this.openingElement.attributes;
+    }, true); // hidden from traversal
+    def("JSXOpeningElement")
+        .bases("Node") // TODO Does this make sense? Can't really be an JSXElement.
+        .build("name", "attributes", "selfClosing")
+        .field("name", JSXElementName)
+        .field("attributes", JSXAttributes, defaults.emptyArray)
+        .field("selfClosing", Boolean, defaults["false"]);
+    def("JSXClosingElement")
+        .bases("Node") // TODO Same concern.
+        .build("name")
+        .field("name", JSXElementName);
+    def("JSXFragment")
+        .bases("Expression")
+        .build("openingElement", "closingElement", "children")
+        .field("openingElement", def("JSXOpeningFragment"))
+        .field("closingElement", def("JSXClosingFragment"))
+        .field("children", [or(def("JSXElement"), def("JSXExpressionContainer"), def("JSXFragment"), def("JSXText"), def("Literal") // TODO Esprima should return JSXText instead.
+        )], defaults.emptyArray);
+    def("JSXOpeningFragment")
+        .bases("Node") // TODO Same concern.
+        .build();
+    def("JSXClosingFragment")
+        .bases("Node") // TODO Same concern.
+        .build();
+    def("JSXText")
+        .bases("Literal")
+        .build("value")
+        .field("value", String);
+    def("JSXEmptyExpression").bases("Expression").build();
+    // This PR has caused many people issues, but supporting it seems like a
+    // good idea anyway: https://github.com/babel/babel/pull/4988
+    def("JSXSpreadChild")
+        .bases("Expression")
+        .build("expression")
+        .field("expression", def("Expression"));
+}
+exports.default = default_1;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/def/type-annotations.d.ts b/node_modules/degenerator/node_modules/ast-types/def/type-annotations.d.ts
new file mode 100644
index 0000000..7c57c57
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/type-annotations.d.ts
@@ -0,0 +1,7 @@
+/**
+ * Type annotation defs shared between Flow and TypeScript.
+ * These defs could not be defined in ./flow.ts or ./typescript.ts directly
+ * because they use the same name.
+ */
+import { Fork } from "../types";
+export default function (fork: Fork): void;
diff --git a/node_modules/degenerator/node_modules/ast-types/def/type-annotations.js b/node_modules/degenerator/node_modules/ast-types/def/type-annotations.js
new file mode 100644
index 0000000..cc2dc0b
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/type-annotations.js
@@ -0,0 +1,40 @@
+"use strict";;
+/**
+ * Type annotation defs shared between Flow and TypeScript.
+ * These defs could not be defined in ./flow.ts or ./typescript.ts directly
+ * because they use the same name.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var types_1 = tslib_1.__importDefault(require("../lib/types"));
+var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
+function default_1(fork) {
+    var types = fork.use(types_1.default);
+    var def = types.Type.def;
+    var or = types.Type.or;
+    var defaults = fork.use(shared_1.default).defaults;
+    var TypeAnnotation = or(def("TypeAnnotation"), def("TSTypeAnnotation"), null);
+    var TypeParamDecl = or(def("TypeParameterDeclaration"), def("TSTypeParameterDeclaration"), null);
+    def("Identifier")
+        .field("typeAnnotation", TypeAnnotation, defaults["null"]);
+    def("ObjectPattern")
+        .field("typeAnnotation", TypeAnnotation, defaults["null"]);
+    def("Function")
+        .field("returnType", TypeAnnotation, defaults["null"])
+        .field("typeParameters", TypeParamDecl, defaults["null"]);
+    def("ClassProperty")
+        .build("key", "value", "typeAnnotation", "static")
+        .field("value", or(def("Expression"), null))
+        .field("static", Boolean, defaults["false"])
+        .field("typeAnnotation", TypeAnnotation, defaults["null"]);
+    ["ClassDeclaration",
+        "ClassExpression",
+    ].forEach(function (typeName) {
+        def(typeName)
+            .field("typeParameters", TypeParamDecl, defaults["null"])
+            .field("superTypeParameters", or(def("TypeParameterInstantiation"), def("TSTypeParameterInstantiation"), null), defaults["null"])
+            .field("implements", or([def("ClassImplements")], [def("TSExpressionWithTypeArguments")]), defaults.emptyArray);
+    });
+}
+exports.default = default_1;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/def/typescript.d.ts b/node_modules/degenerator/node_modules/ast-types/def/typescript.d.ts
new file mode 100644
index 0000000..1ef9137
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/typescript.d.ts
@@ -0,0 +1,2 @@
+import { Fork } from "../types";
+export default function (fork: Fork): void;
diff --git a/node_modules/degenerator/node_modules/ast-types/def/typescript.js b/node_modules/degenerator/node_modules/ast-types/def/typescript.js
new file mode 100644
index 0000000..fad4cb1
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/def/typescript.js
@@ -0,0 +1,344 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var babel_core_1 = tslib_1.__importDefault(require("./babel-core"));
+var type_annotations_1 = tslib_1.__importDefault(require("./type-annotations"));
+var types_1 = tslib_1.__importDefault(require("../lib/types"));
+var shared_1 = tslib_1.__importDefault(require("../lib/shared"));
+function default_1(fork) {
+    // Since TypeScript is parsed by Babylon, include the core Babylon types
+    // but omit the Flow-related types.
+    fork.use(babel_core_1.default);
+    fork.use(type_annotations_1.default);
+    var types = fork.use(types_1.default);
+    var n = types.namedTypes;
+    var def = types.Type.def;
+    var or = types.Type.or;
+    var defaults = fork.use(shared_1.default).defaults;
+    var StringLiteral = types.Type.from(function (value, deep) {
+        if (n.StringLiteral &&
+            n.StringLiteral.check(value, deep)) {
+            return true;
+        }
+        if (n.Literal &&
+            n.Literal.check(value, deep) &&
+            typeof value.value === "string") {
+            return true;
+        }
+        return false;
+    }, "StringLiteral");
+    def("TSType")
+        .bases("Node");
+    var TSEntityName = or(def("Identifier"), def("TSQualifiedName"));
+    def("TSTypeReference")
+        .bases("TSType", "TSHasOptionalTypeParameterInstantiation")
+        .build("typeName", "typeParameters")
+        .field("typeName", TSEntityName);
+    // An abstract (non-buildable) base type that provide a commonly-needed
+    // optional .typeParameters field.
+    def("TSHasOptionalTypeParameterInstantiation")
+        .field("typeParameters", or(def("TSTypeParameterInstantiation"), null), defaults["null"]);
+    // An abstract (non-buildable) base type that provide a commonly-needed
+    // optional .typeParameters field.
+    def("TSHasOptionalTypeParameters")
+        .field("typeParameters", or(def("TSTypeParameterDeclaration"), null, void 0), defaults["null"]);
+    // An abstract (non-buildable) base type that provide a commonly-needed
+    // optional .typeAnnotation field.
+    def("TSHasOptionalTypeAnnotation")
+        .field("typeAnnotation", or(def("TSTypeAnnotation"), null), defaults["null"]);
+    def("TSQualifiedName")
+        .bases("Node")
+        .build("left", "right")
+        .field("left", TSEntityName)
+        .field("right", TSEntityName);
+    def("TSAsExpression")
+        .bases("Expression", "Pattern")
+        .build("expression", "typeAnnotation")
+        .field("expression", def("Expression"))
+        .field("typeAnnotation", def("TSType"))
+        .field("extra", or({ parenthesized: Boolean }, null), defaults["null"]);
+    def("TSNonNullExpression")
+        .bases("Expression", "Pattern")
+        .build("expression")
+        .field("expression", def("Expression"));
+    [
+        "TSAnyKeyword",
+        "TSBigIntKeyword",
+        "TSBooleanKeyword",
+        "TSNeverKeyword",
+        "TSNullKeyword",
+        "TSNumberKeyword",
+        "TSObjectKeyword",
+        "TSStringKeyword",
+        "TSSymbolKeyword",
+        "TSUndefinedKeyword",
+        "TSUnknownKeyword",
+        "TSVoidKeyword",
+        "TSThisType",
+    ].forEach(function (keywordType) {
+        def(keywordType)
+            .bases("TSType")
+            .build();
+    });
+    def("TSArrayType")
+        .bases("TSType")
+        .build("elementType")
+        .field("elementType", def("TSType"));
+    def("TSLiteralType")
+        .bases("TSType")
+        .build("literal")
+        .field("literal", or(def("NumericLiteral"), def("StringLiteral"), def("BooleanLiteral"), def("TemplateLiteral"), def("UnaryExpression")));
+    ["TSUnionType",
+        "TSIntersectionType",
+    ].forEach(function (typeName) {
+        def(typeName)
+            .bases("TSType")
+            .build("types")
+            .field("types", [def("TSType")]);
+    });
+    def("TSConditionalType")
+        .bases("TSType")
+        .build("checkType", "extendsType", "trueType", "falseType")
+        .field("checkType", def("TSType"))
+        .field("extendsType", def("TSType"))
+        .field("trueType", def("TSType"))
+        .field("falseType", def("TSType"));
+    def("TSInferType")
+        .bases("TSType")
+        .build("typeParameter")
+        .field("typeParameter", def("TSTypeParameter"));
+    def("TSParenthesizedType")
+        .bases("TSType")
+        .build("typeAnnotation")
+        .field("typeAnnotation", def("TSType"));
+    var ParametersType = [or(def("Identifier"), def("RestElement"), def("ArrayPattern"), def("ObjectPattern"))];
+    ["TSFunctionType",
+        "TSConstructorType",
+    ].forEach(function (typeName) {
+        def(typeName)
+            .bases("TSType", "TSHasOptionalTypeParameters", "TSHasOptionalTypeAnnotation")
+            .build("parameters")
+            .field("parameters", ParametersType);
+    });
+    def("TSDeclareFunction")
+        .bases("Declaration", "TSHasOptionalTypeParameters")
+        .build("id", "params", "returnType")
+        .field("declare", Boolean, defaults["false"])
+        .field("async", Boolean, defaults["false"])
+        .field("generator", Boolean, defaults["false"])
+        .field("id", or(def("Identifier"), null), defaults["null"])
+        .field("params", [def("Pattern")])
+        // tSFunctionTypeAnnotationCommon
+        .field("returnType", or(def("TSTypeAnnotation"), def("Noop"), // Still used?
+    null), defaults["null"]);
+    def("TSDeclareMethod")
+        .bases("Declaration", "TSHasOptionalTypeParameters")
+        .build("key", "params", "returnType")
+        .field("async", Boolean, defaults["false"])
+        .field("generator", Boolean, defaults["false"])
+        .field("params", [def("Pattern")])
+        // classMethodOrPropertyCommon
+        .field("abstract", Boolean, defaults["false"])
+        .field("accessibility", or("public", "private", "protected", void 0), defaults["undefined"])
+        .field("static", Boolean, defaults["false"])
+        .field("computed", Boolean, defaults["false"])
+        .field("optional", Boolean, defaults["false"])
+        .field("key", or(def("Identifier"), def("StringLiteral"), def("NumericLiteral"), 
+    // Only allowed if .computed is true.
+    def("Expression")))
+        // classMethodOrDeclareMethodCommon
+        .field("kind", or("get", "set", "method", "constructor"), function getDefault() { return "method"; })
+        .field("access", // Not "accessibility"?
+    or("public", "private", "protected", void 0), defaults["undefined"])
+        .field("decorators", or([def("Decorator")], null), defaults["null"])
+        // tSFunctionTypeAnnotationCommon
+        .field("returnType", or(def("TSTypeAnnotation"), def("Noop"), // Still used?
+    null), defaults["null"]);
+    def("TSMappedType")
+        .bases("TSType")
+        .build("typeParameter", "typeAnnotation")
+        .field("readonly", or(Boolean, "+", "-"), defaults["false"])
+        .field("typeParameter", def("TSTypeParameter"))
+        .field("optional", or(Boolean, "+", "-"), defaults["false"])
+        .field("typeAnnotation", or(def("TSType"), null), defaults["null"]);
+    def("TSTupleType")
+        .bases("TSType")
+        .build("elementTypes")
+        .field("elementTypes", [or(def("TSType"), def("TSNamedTupleMember"))]);
+    def("TSNamedTupleMember")
+        .bases("TSType")
+        .build("label", "elementType", "optional")
+        .field("label", def("Identifier"))
+        .field("optional", Boolean, defaults["false"])
+        .field("elementType", def("TSType"));
+    def("TSRestType")
+        .bases("TSType")
+        .build("typeAnnotation")
+        .field("typeAnnotation", def("TSType"));
+    def("TSOptionalType")
+        .bases("TSType")
+        .build("typeAnnotation")
+        .field("typeAnnotation", def("TSType"));
+    def("TSIndexedAccessType")
+        .bases("TSType")
+        .build("objectType", "indexType")
+        .field("objectType", def("TSType"))
+        .field("indexType", def("TSType"));
+    def("TSTypeOperator")
+        .bases("TSType")
+        .build("operator")
+        .field("operator", String)
+        .field("typeAnnotation", def("TSType"));
+    def("TSTypeAnnotation")
+        .bases("Node")
+        .build("typeAnnotation")
+        .field("typeAnnotation", or(def("TSType"), def("TSTypeAnnotation")));
+    def("TSIndexSignature")
+        .bases("Declaration", "TSHasOptionalTypeAnnotation")
+        .build("parameters", "typeAnnotation")
+        .field("parameters", [def("Identifier")]) // Length === 1
+        .field("readonly", Boolean, defaults["false"]);
+    def("TSPropertySignature")
+        .bases("Declaration", "TSHasOptionalTypeAnnotation")
+        .build("key", "typeAnnotation", "optional")
+        .field("key", def("Expression"))
+        .field("computed", Boolean, defaults["false"])
+        .field("readonly", Boolean, defaults["false"])
+        .field("optional", Boolean, defaults["false"])
+        .field("initializer", or(def("Expression"), null), defaults["null"]);
+    def("TSMethodSignature")
+        .bases("Declaration", "TSHasOptionalTypeParameters", "TSHasOptionalTypeAnnotation")
+        .build("key", "parameters", "typeAnnotation")
+        .field("key", def("Expression"))
+        .field("computed", Boolean, defaults["false"])
+        .field("optional", Boolean, defaults["false"])
+        .field("parameters", ParametersType);
+    def("TSTypePredicate")
+        .bases("TSTypeAnnotation", "TSType")
+        .build("parameterName", "typeAnnotation", "asserts")
+        .field("parameterName", or(def("Identifier"), def("TSThisType")))
+        .field("typeAnnotation", or(def("TSTypeAnnotation"), null), defaults["null"])
+        .field("asserts", Boolean, defaults["false"]);
+    ["TSCallSignatureDeclaration",
+        "TSConstructSignatureDeclaration",
+    ].forEach(function (typeName) {
+        def(typeName)
+            .bases("Declaration", "TSHasOptionalTypeParameters", "TSHasOptionalTypeAnnotation")
+            .build("parameters", "typeAnnotation")
+            .field("parameters", ParametersType);
+    });
+    def("TSEnumMember")
+        .bases("Node")
+        .build("id", "initializer")
+        .field("id", or(def("Identifier"), StringLiteral))
+        .field("initializer", or(def("Expression"), null), defaults["null"]);
+    def("TSTypeQuery")
+        .bases("TSType")
+        .build("exprName")
+        .field("exprName", or(TSEntityName, def("TSImportType")));
+    // Inferred from Babylon's tsParseTypeMember method.
+    var TSTypeMember = or(def("TSCallSignatureDeclaration"), def("TSConstructSignatureDeclaration"), def("TSIndexSignature"), def("TSMethodSignature"), def("TSPropertySignature"));
+    def("TSTypeLiteral")
+        .bases("TSType")
+        .build("members")
+        .field("members", [TSTypeMember]);
+    def("TSTypeParameter")
+        .bases("Identifier")
+        .build("name", "constraint", "default")
+        .field("name", String)
+        .field("constraint", or(def("TSType"), void 0), defaults["undefined"])
+        .field("default", or(def("TSType"), void 0), defaults["undefined"]);
+    def("TSTypeAssertion")
+        .bases("Expression", "Pattern")
+        .build("typeAnnotation", "expression")
+        .field("typeAnnotation", def("TSType"))
+        .field("expression", def("Expression"))
+        .field("extra", or({ parenthesized: Boolean }, null), defaults["null"]);
+    def("TSTypeParameterDeclaration")
+        .bases("Declaration")
+        .build("params")
+        .field("params", [def("TSTypeParameter")]);
+    def("TSTypeParameterInstantiation")
+        .bases("Node")
+        .build("params")
+        .field("params", [def("TSType")]);
+    def("TSEnumDeclaration")
+        .bases("Declaration")
+        .build("id", "members")
+        .field("id", def("Identifier"))
+        .field("const", Boolean, defaults["false"])
+        .field("declare", Boolean, defaults["false"])
+        .field("members", [def("TSEnumMember")])
+        .field("initializer", or(def("Expression"), null), defaults["null"]);
+    def("TSTypeAliasDeclaration")
+        .bases("Declaration", "TSHasOptionalTypeParameters")
+        .build("id", "typeAnnotation")
+        .field("id", def("Identifier"))
+        .field("declare", Boolean, defaults["false"])
+        .field("typeAnnotation", def("TSType"));
+    def("TSModuleBlock")
+        .bases("Node")
+        .build("body")
+        .field("body", [def("Statement")]);
+    def("TSModuleDeclaration")
+        .bases("Declaration")
+        .build("id", "body")
+        .field("id", or(StringLiteral, TSEntityName))
+        .field("declare", Boolean, defaults["false"])
+        .field("global", Boolean, defaults["false"])
+        .field("body", or(def("TSModuleBlock"), def("TSModuleDeclaration"), null), defaults["null"]);
+    def("TSImportType")
+        .bases("TSType", "TSHasOptionalTypeParameterInstantiation")
+        .build("argument", "qualifier", "typeParameters")
+        .field("argument", StringLiteral)
+        .field("qualifier", or(TSEntityName, void 0), defaults["undefined"]);
+    def("TSImportEqualsDeclaration")
+        .bases("Declaration")
+        .build("id", "moduleReference")
+        .field("id", def("Identifier"))
+        .field("isExport", Boolean, defaults["false"])
+        .field("moduleReference", or(TSEntityName, def("TSExternalModuleReference")));
+    def("TSExternalModuleReference")
+        .bases("Declaration")
+        .build("expression")
+        .field("expression", StringLiteral);
+    def("TSExportAssignment")
+        .bases("Statement")
+        .build("expression")
+        .field("expression", def("Expression"));
+    def("TSNamespaceExportDeclaration")
+        .bases("Declaration")
+        .build("id")
+        .field("id", def("Identifier"));
+    def("TSInterfaceBody")
+        .bases("Node")
+        .build("body")
+        .field("body", [TSTypeMember]);
+    def("TSExpressionWithTypeArguments")
+        .bases("TSType", "TSHasOptionalTypeParameterInstantiation")
+        .build("expression", "typeParameters")
+        .field("expression", TSEntityName);
+    def("TSInterfaceDeclaration")
+        .bases("Declaration", "TSHasOptionalTypeParameters")
+        .build("id", "body")
+        .field("id", TSEntityName)
+        .field("declare", Boolean, defaults["false"])
+        .field("extends", or([def("TSExpressionWithTypeArguments")], null), defaults["null"])
+        .field("body", def("TSInterfaceBody"));
+    def("TSParameterProperty")
+        .bases("Pattern")
+        .build("parameter")
+        .field("accessibility", or("public", "private", "protected", void 0), defaults["undefined"])
+        .field("readonly", Boolean, defaults["false"])
+        .field("parameter", or(def("Identifier"), def("AssignmentPattern")));
+    def("ClassProperty")
+        .field("access", // Not "accessibility"?
+    or("public", "private", "protected", void 0), defaults["undefined"]);
+    // Defined already in es6 and babel-core.
+    def("ClassBody")
+        .field("body", [or(def("MethodDefinition"), def("VariableDeclarator"), def("ClassPropertyDefinition"), def("ClassProperty"), def("ClassPrivateProperty"), def("ClassMethod"), def("ClassPrivateMethod"), 
+        // Just need to add these types:
+        def("TSDeclareMethod"), TSTypeMember)]);
+}
+exports.default = default_1;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/fork.d.ts b/node_modules/degenerator/node_modules/ast-types/fork.d.ts
new file mode 100644
index 0000000..3a42074
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/fork.d.ts
@@ -0,0 +1,42 @@
+import { Def, Plugin } from "./types";
+export default function (defs: Def[]): {
+    Type: {
+        or(...types: any[]): import("./lib/types").Type<any>;
+        from<T>(value: any, name?: string | undefined): import("./lib/types").Type<T>;
+        def(typeName: string): import("./lib/types").Def<any>;
+        hasDef(typeName: string): boolean;
+    };
+    builtInTypes: {
+        string: import("./lib/types").Type<string>;
+        function: import("./lib/types").Type<Function>;
+        array: import("./lib/types").Type<any[]>;
+        object: import("./lib/types").Type<{
+            [key: string]: any;
+        }>;
+        RegExp: import("./lib/types").Type<RegExp>;
+        Date: import("./lib/types").Type<Date>;
+        number: import("./lib/types").Type<number>;
+        boolean: import("./lib/types").Type<boolean>;
+        null: import("./lib/types").Type<null>;
+        undefined: import("./lib/types").Type<undefined>;
+    };
+    namedTypes: import("./gen/namedTypes").NamedTypes;
+    builders: import("./gen/builders").builders;
+    defineMethod: (name: any, func?: Function | undefined) => Function;
+    getFieldNames: (object: any) => string[];
+    getFieldValue: (object: any, fieldName: any) => any;
+    eachField: (object: any, callback: (name: any, value: any) => any, context?: any) => void;
+    someField: (object: any, callback: (name: any, value: any) => any, context?: any) => boolean;
+    getSupertypeNames: (typeName: string) => string[];
+    getBuilderName: (typeName: any) => any;
+    astNodesAreEquivalent: {
+        (a: any, b: any, problemPath?: any): boolean;
+        assert(a: any, b: any): void;
+    };
+    finalize: () => void;
+    Path: import("./lib/path").PathConstructor;
+    NodePath: import("./lib/node-path").NodePathConstructor;
+    PathVisitor: import("./lib/path-visitor").PathVisitorConstructor;
+    use: <T_1>(plugin: Plugin<T_1>) => T_1;
+    visit: <M = {}>(node: import("./lib/types").ASTNode, methods?: import("./main").Visitor<M> | undefined) => any;
+};
diff --git a/node_modules/degenerator/node_modules/ast-types/fork.js b/node_modules/degenerator/node_modules/ast-types/fork.js
new file mode 100644
index 0000000..248b471
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/fork.js
@@ -0,0 +1,52 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var types_1 = tslib_1.__importDefault(require("./lib/types"));
+var path_visitor_1 = tslib_1.__importDefault(require("./lib/path-visitor"));
+var equiv_1 = tslib_1.__importDefault(require("./lib/equiv"));
+var path_1 = tslib_1.__importDefault(require("./lib/path"));
+var node_path_1 = tslib_1.__importDefault(require("./lib/node-path"));
+function default_1(defs) {
+    var fork = createFork();
+    var types = fork.use(types_1.default);
+    defs.forEach(fork.use);
+    types.finalize();
+    var PathVisitor = fork.use(path_visitor_1.default);
+    return {
+        Type: types.Type,
+        builtInTypes: types.builtInTypes,
+        namedTypes: types.namedTypes,
+        builders: types.builders,
+        defineMethod: types.defineMethod,
+        getFieldNames: types.getFieldNames,
+        getFieldValue: types.getFieldValue,
+        eachField: types.eachField,
+        someField: types.someField,
+        getSupertypeNames: types.getSupertypeNames,
+        getBuilderName: types.getBuilderName,
+        astNodesAreEquivalent: fork.use(equiv_1.default),
+        finalize: types.finalize,
+        Path: fork.use(path_1.default),
+        NodePath: fork.use(node_path_1.default),
+        PathVisitor: PathVisitor,
+        use: fork.use,
+        visit: PathVisitor.visit,
+    };
+}
+exports.default = default_1;
+function createFork() {
+    var used = [];
+    var usedResult = [];
+    function use(plugin) {
+        var idx = used.indexOf(plugin);
+        if (idx === -1) {
+            idx = used.length;
+            used.push(plugin);
+            usedResult[idx] = plugin(fork);
+        }
+        return usedResult[idx];
+    }
+    var fork = { use: use };
+    return fork;
+}
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/gen/builders.d.ts b/node_modules/degenerator/node_modules/ast-types/gen/builders.d.ts
new file mode 100644
index 0000000..accb655
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/gen/builders.d.ts
@@ -0,0 +1,2584 @@
+import * as K from "./kinds";
+import { namedTypes } from "./namedTypes";
+export interface FileBuilder {
+    (program: K.ProgramKind, name?: string | null): namedTypes.File;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        name?: string | null;
+        program: K.ProgramKind;
+    }): namedTypes.File;
+}
+export interface ProgramBuilder {
+    (body: K.StatementKind[]): namedTypes.Program;
+    from(params: {
+        body: K.StatementKind[];
+        comments?: K.CommentKind[] | null;
+        directives?: K.DirectiveKind[];
+        interpreter?: K.InterpreterDirectiveKind | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.Program;
+}
+export interface IdentifierBuilder {
+    (name: string): namedTypes.Identifier;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        name: string;
+        optional?: boolean;
+        typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+    }): namedTypes.Identifier;
+}
+export interface BlockStatementBuilder {
+    (body: K.StatementKind[]): namedTypes.BlockStatement;
+    from(params: {
+        body: K.StatementKind[];
+        comments?: K.CommentKind[] | null;
+        directives?: K.DirectiveKind[];
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.BlockStatement;
+}
+export interface EmptyStatementBuilder {
+    (): namedTypes.EmptyStatement;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.EmptyStatement;
+}
+export interface ExpressionStatementBuilder {
+    (expression: K.ExpressionKind): namedTypes.ExpressionStatement;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        expression: K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ExpressionStatement;
+}
+export interface IfStatementBuilder {
+    (test: K.ExpressionKind, consequent: K.StatementKind, alternate?: K.StatementKind | null): namedTypes.IfStatement;
+    from(params: {
+        alternate?: K.StatementKind | null;
+        comments?: K.CommentKind[] | null;
+        consequent: K.StatementKind;
+        loc?: K.SourceLocationKind | null;
+        test: K.ExpressionKind;
+    }): namedTypes.IfStatement;
+}
+export interface LabeledStatementBuilder {
+    (label: K.IdentifierKind, body: K.StatementKind): namedTypes.LabeledStatement;
+    from(params: {
+        body: K.StatementKind;
+        comments?: K.CommentKind[] | null;
+        label: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.LabeledStatement;
+}
+export interface BreakStatementBuilder {
+    (label?: K.IdentifierKind | null): namedTypes.BreakStatement;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        label?: K.IdentifierKind | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.BreakStatement;
+}
+export interface ContinueStatementBuilder {
+    (label?: K.IdentifierKind | null): namedTypes.ContinueStatement;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        label?: K.IdentifierKind | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ContinueStatement;
+}
+export interface WithStatementBuilder {
+    (object: K.ExpressionKind, body: K.StatementKind): namedTypes.WithStatement;
+    from(params: {
+        body: K.StatementKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        object: K.ExpressionKind;
+    }): namedTypes.WithStatement;
+}
+export interface SwitchStatementBuilder {
+    (discriminant: K.ExpressionKind, cases: K.SwitchCaseKind[], lexical?: boolean): namedTypes.SwitchStatement;
+    from(params: {
+        cases: K.SwitchCaseKind[];
+        comments?: K.CommentKind[] | null;
+        discriminant: K.ExpressionKind;
+        lexical?: boolean;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.SwitchStatement;
+}
+export interface SwitchCaseBuilder {
+    (test: K.ExpressionKind | null, consequent: K.StatementKind[]): namedTypes.SwitchCase;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        consequent: K.StatementKind[];
+        loc?: K.SourceLocationKind | null;
+        test: K.ExpressionKind | null;
+    }): namedTypes.SwitchCase;
+}
+export interface ReturnStatementBuilder {
+    (argument: K.ExpressionKind | null): namedTypes.ReturnStatement;
+    from(params: {
+        argument: K.ExpressionKind | null;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ReturnStatement;
+}
+export interface ThrowStatementBuilder {
+    (argument: K.ExpressionKind): namedTypes.ThrowStatement;
+    from(params: {
+        argument: K.ExpressionKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ThrowStatement;
+}
+export interface TryStatementBuilder {
+    (block: K.BlockStatementKind, handler?: K.CatchClauseKind | null, finalizer?: K.BlockStatementKind | null): namedTypes.TryStatement;
+    from(params: {
+        block: K.BlockStatementKind;
+        comments?: K.CommentKind[] | null;
+        finalizer?: K.BlockStatementKind | null;
+        guardedHandlers?: K.CatchClauseKind[];
+        handler?: K.CatchClauseKind | null;
+        handlers?: K.CatchClauseKind[];
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TryStatement;
+}
+export interface CatchClauseBuilder {
+    (param: K.PatternKind | null | undefined, guard: K.ExpressionKind | null | undefined, body: K.BlockStatementKind): namedTypes.CatchClause;
+    from(params: {
+        body: K.BlockStatementKind;
+        comments?: K.CommentKind[] | null;
+        guard?: K.ExpressionKind | null;
+        loc?: K.SourceLocationKind | null;
+        param?: K.PatternKind | null;
+    }): namedTypes.CatchClause;
+}
+export interface WhileStatementBuilder {
+    (test: K.ExpressionKind, body: K.StatementKind): namedTypes.WhileStatement;
+    from(params: {
+        body: K.StatementKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        test: K.ExpressionKind;
+    }): namedTypes.WhileStatement;
+}
+export interface DoWhileStatementBuilder {
+    (body: K.StatementKind, test: K.ExpressionKind): namedTypes.DoWhileStatement;
+    from(params: {
+        body: K.StatementKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        test: K.ExpressionKind;
+    }): namedTypes.DoWhileStatement;
+}
+export interface ForStatementBuilder {
+    (init: K.VariableDeclarationKind | K.ExpressionKind | null, test: K.ExpressionKind | null, update: K.ExpressionKind | null, body: K.StatementKind): namedTypes.ForStatement;
+    from(params: {
+        body: K.StatementKind;
+        comments?: K.CommentKind[] | null;
+        init: K.VariableDeclarationKind | K.ExpressionKind | null;
+        loc?: K.SourceLocationKind | null;
+        test: K.ExpressionKind | null;
+        update: K.ExpressionKind | null;
+    }): namedTypes.ForStatement;
+}
+export interface VariableDeclarationBuilder {
+    (kind: "var" | "let" | "const", declarations: (K.VariableDeclaratorKind | K.IdentifierKind)[]): namedTypes.VariableDeclaration;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        declarations: (K.VariableDeclaratorKind | K.IdentifierKind)[];
+        kind: "var" | "let" | "const";
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.VariableDeclaration;
+}
+export interface ForInStatementBuilder {
+    (left: K.VariableDeclarationKind | K.ExpressionKind, right: K.ExpressionKind, body: K.StatementKind): namedTypes.ForInStatement;
+    from(params: {
+        body: K.StatementKind;
+        comments?: K.CommentKind[] | null;
+        left: K.VariableDeclarationKind | K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+        right: K.ExpressionKind;
+    }): namedTypes.ForInStatement;
+}
+export interface DebuggerStatementBuilder {
+    (): namedTypes.DebuggerStatement;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.DebuggerStatement;
+}
+export interface FunctionDeclarationBuilder {
+    (id: K.IdentifierKind, params: K.PatternKind[], body: K.BlockStatementKind, generator?: boolean, expression?: boolean): namedTypes.FunctionDeclaration;
+    from(params: {
+        async?: boolean;
+        body: K.BlockStatementKind;
+        comments?: K.CommentKind[] | null;
+        defaults?: (K.ExpressionKind | null)[];
+        expression?: boolean;
+        generator?: boolean;
+        id: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+        params: K.PatternKind[];
+        rest?: K.IdentifierKind | null;
+        returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+        typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
+    }): namedTypes.FunctionDeclaration;
+}
+export interface FunctionExpressionBuilder {
+    (id: K.IdentifierKind | null | undefined, params: K.PatternKind[], body: K.BlockStatementKind, generator?: boolean, expression?: boolean): namedTypes.FunctionExpression;
+    from(params: {
+        async?: boolean;
+        body: K.BlockStatementKind;
+        comments?: K.CommentKind[] | null;
+        defaults?: (K.ExpressionKind | null)[];
+        expression?: boolean;
+        generator?: boolean;
+        id?: K.IdentifierKind | null;
+        loc?: K.SourceLocationKind | null;
+        params: K.PatternKind[];
+        rest?: K.IdentifierKind | null;
+        returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+        typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
+    }): namedTypes.FunctionExpression;
+}
+export interface VariableDeclaratorBuilder {
+    (id: K.PatternKind, init?: K.ExpressionKind | null): namedTypes.VariableDeclarator;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id: K.PatternKind;
+        init?: K.ExpressionKind | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.VariableDeclarator;
+}
+export interface ThisExpressionBuilder {
+    (): namedTypes.ThisExpression;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ThisExpression;
+}
+export interface ArrayExpressionBuilder {
+    (elements: (K.ExpressionKind | K.SpreadElementKind | K.RestElementKind | null)[]): namedTypes.ArrayExpression;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        elements: (K.ExpressionKind | K.SpreadElementKind | K.RestElementKind | null)[];
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ArrayExpression;
+}
+export interface ObjectExpressionBuilder {
+    (properties: (K.PropertyKind | K.ObjectMethodKind | K.ObjectPropertyKind | K.SpreadPropertyKind | K.SpreadElementKind)[]): namedTypes.ObjectExpression;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        properties: (K.PropertyKind | K.ObjectMethodKind | K.ObjectPropertyKind | K.SpreadPropertyKind | K.SpreadElementKind)[];
+    }): namedTypes.ObjectExpression;
+}
+export interface PropertyBuilder {
+    (kind: "init" | "get" | "set", key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, value: K.ExpressionKind | K.PatternKind): namedTypes.Property;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        computed?: boolean;
+        decorators?: K.DecoratorKind[] | null;
+        key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
+        kind: "init" | "get" | "set";
+        loc?: K.SourceLocationKind | null;
+        method?: boolean;
+        shorthand?: boolean;
+        value: K.ExpressionKind | K.PatternKind;
+    }): namedTypes.Property;
+}
+export interface LiteralBuilder {
+    (value: string | boolean | null | number | RegExp): namedTypes.Literal;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        regex?: {
+            pattern: string;
+            flags: string;
+        } | null;
+        value: string | boolean | null | number | RegExp;
+    }): namedTypes.Literal;
+}
+export interface SequenceExpressionBuilder {
+    (expressions: K.ExpressionKind[]): namedTypes.SequenceExpression;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        expressions: K.ExpressionKind[];
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.SequenceExpression;
+}
+export interface UnaryExpressionBuilder {
+    (operator: "-" | "+" | "!" | "~" | "typeof" | "void" | "delete", argument: K.ExpressionKind, prefix?: boolean): namedTypes.UnaryExpression;
+    from(params: {
+        argument: K.ExpressionKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        operator: "-" | "+" | "!" | "~" | "typeof" | "void" | "delete";
+        prefix?: boolean;
+    }): namedTypes.UnaryExpression;
+}
+export interface BinaryExpressionBuilder {
+    (operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "in" | "instanceof", left: K.ExpressionKind, right: K.ExpressionKind): namedTypes.BinaryExpression;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        left: K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+        operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "in" | "instanceof";
+        right: K.ExpressionKind;
+    }): namedTypes.BinaryExpression;
+}
+export interface AssignmentExpressionBuilder {
+    (operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=", left: K.PatternKind | K.MemberExpressionKind, right: K.ExpressionKind): namedTypes.AssignmentExpression;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        left: K.PatternKind | K.MemberExpressionKind;
+        loc?: K.SourceLocationKind | null;
+        operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=";
+        right: K.ExpressionKind;
+    }): namedTypes.AssignmentExpression;
+}
+export interface MemberExpressionBuilder {
+    (object: K.ExpressionKind, property: K.IdentifierKind | K.ExpressionKind, computed?: boolean): namedTypes.MemberExpression;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        computed?: boolean;
+        loc?: K.SourceLocationKind | null;
+        object: K.ExpressionKind;
+        property: K.IdentifierKind | K.ExpressionKind;
+    }): namedTypes.MemberExpression;
+}
+export interface UpdateExpressionBuilder {
+    (operator: "++" | "--", argument: K.ExpressionKind, prefix: boolean): namedTypes.UpdateExpression;
+    from(params: {
+        argument: K.ExpressionKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        operator: "++" | "--";
+        prefix: boolean;
+    }): namedTypes.UpdateExpression;
+}
+export interface LogicalExpressionBuilder {
+    (operator: "||" | "&&" | "??", left: K.ExpressionKind, right: K.ExpressionKind): namedTypes.LogicalExpression;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        left: K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+        operator: "||" | "&&" | "??";
+        right: K.ExpressionKind;
+    }): namedTypes.LogicalExpression;
+}
+export interface ConditionalExpressionBuilder {
+    (test: K.ExpressionKind, consequent: K.ExpressionKind, alternate: K.ExpressionKind): namedTypes.ConditionalExpression;
+    from(params: {
+        alternate: K.ExpressionKind;
+        comments?: K.CommentKind[] | null;
+        consequent: K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+        test: K.ExpressionKind;
+    }): namedTypes.ConditionalExpression;
+}
+export interface NewExpressionBuilder {
+    (callee: K.ExpressionKind, argumentsParam: (K.ExpressionKind | K.SpreadElementKind)[]): namedTypes.NewExpression;
+    from(params: {
+        arguments: (K.ExpressionKind | K.SpreadElementKind)[];
+        callee: K.ExpressionKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        typeArguments?: null | K.TypeParameterInstantiationKind;
+    }): namedTypes.NewExpression;
+}
+export interface CallExpressionBuilder {
+    (callee: K.ExpressionKind, argumentsParam: (K.ExpressionKind | K.SpreadElementKind)[]): namedTypes.CallExpression;
+    from(params: {
+        arguments: (K.ExpressionKind | K.SpreadElementKind)[];
+        callee: K.ExpressionKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        typeArguments?: null | K.TypeParameterInstantiationKind;
+    }): namedTypes.CallExpression;
+}
+export interface RestElementBuilder {
+    (argument: K.PatternKind): namedTypes.RestElement;
+    from(params: {
+        argument: K.PatternKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+    }): namedTypes.RestElement;
+}
+export interface TypeAnnotationBuilder {
+    (typeAnnotation: K.FlowTypeKind): namedTypes.TypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        typeAnnotation: K.FlowTypeKind;
+    }): namedTypes.TypeAnnotation;
+}
+export interface TSTypeAnnotationBuilder {
+    (typeAnnotation: K.TSTypeKind | K.TSTypeAnnotationKind): namedTypes.TSTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        typeAnnotation: K.TSTypeKind | K.TSTypeAnnotationKind;
+    }): namedTypes.TSTypeAnnotation;
+}
+export interface SpreadElementPatternBuilder {
+    (argument: K.PatternKind): namedTypes.SpreadElementPattern;
+    from(params: {
+        argument: K.PatternKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.SpreadElementPattern;
+}
+export interface ArrowFunctionExpressionBuilder {
+    (params: K.PatternKind[], body: K.BlockStatementKind | K.ExpressionKind, expression?: boolean): namedTypes.ArrowFunctionExpression;
+    from(params: {
+        async?: boolean;
+        body: K.BlockStatementKind | K.ExpressionKind;
+        comments?: K.CommentKind[] | null;
+        defaults?: (K.ExpressionKind | null)[];
+        expression?: boolean;
+        generator?: false;
+        id?: null;
+        loc?: K.SourceLocationKind | null;
+        params: K.PatternKind[];
+        rest?: K.IdentifierKind | null;
+        returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+        typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
+    }): namedTypes.ArrowFunctionExpression;
+}
+export interface ForOfStatementBuilder {
+    (left: K.VariableDeclarationKind | K.PatternKind, right: K.ExpressionKind, body: K.StatementKind): namedTypes.ForOfStatement;
+    from(params: {
+        body: K.StatementKind;
+        comments?: K.CommentKind[] | null;
+        left: K.VariableDeclarationKind | K.PatternKind;
+        loc?: K.SourceLocationKind | null;
+        right: K.ExpressionKind;
+    }): namedTypes.ForOfStatement;
+}
+export interface YieldExpressionBuilder {
+    (argument: K.ExpressionKind | null, delegate?: boolean): namedTypes.YieldExpression;
+    from(params: {
+        argument: K.ExpressionKind | null;
+        comments?: K.CommentKind[] | null;
+        delegate?: boolean;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.YieldExpression;
+}
+export interface GeneratorExpressionBuilder {
+    (body: K.ExpressionKind, blocks: K.ComprehensionBlockKind[], filter: K.ExpressionKind | null): namedTypes.GeneratorExpression;
+    from(params: {
+        blocks: K.ComprehensionBlockKind[];
+        body: K.ExpressionKind;
+        comments?: K.CommentKind[] | null;
+        filter: K.ExpressionKind | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.GeneratorExpression;
+}
+export interface ComprehensionBlockBuilder {
+    (left: K.PatternKind, right: K.ExpressionKind, each: boolean): namedTypes.ComprehensionBlock;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        each: boolean;
+        left: K.PatternKind;
+        loc?: K.SourceLocationKind | null;
+        right: K.ExpressionKind;
+    }): namedTypes.ComprehensionBlock;
+}
+export interface ComprehensionExpressionBuilder {
+    (body: K.ExpressionKind, blocks: K.ComprehensionBlockKind[], filter: K.ExpressionKind | null): namedTypes.ComprehensionExpression;
+    from(params: {
+        blocks: K.ComprehensionBlockKind[];
+        body: K.ExpressionKind;
+        comments?: K.CommentKind[] | null;
+        filter: K.ExpressionKind | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ComprehensionExpression;
+}
+export interface ObjectPropertyBuilder {
+    (key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, value: K.ExpressionKind | K.PatternKind): namedTypes.ObjectProperty;
+    from(params: {
+        accessibility?: K.LiteralKind | null;
+        comments?: K.CommentKind[] | null;
+        computed?: boolean;
+        key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+        shorthand?: boolean;
+        value: K.ExpressionKind | K.PatternKind;
+    }): namedTypes.ObjectProperty;
+}
+export interface PropertyPatternBuilder {
+    (key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, pattern: K.PatternKind): namedTypes.PropertyPattern;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        computed?: boolean;
+        key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+        pattern: K.PatternKind;
+    }): namedTypes.PropertyPattern;
+}
+export interface ObjectPatternBuilder {
+    (properties: (K.PropertyKind | K.PropertyPatternKind | K.SpreadPropertyPatternKind | K.SpreadPropertyKind | K.ObjectPropertyKind | K.RestPropertyKind)[]): namedTypes.ObjectPattern;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        decorators?: K.DecoratorKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        properties: (K.PropertyKind | K.PropertyPatternKind | K.SpreadPropertyPatternKind | K.SpreadPropertyKind | K.ObjectPropertyKind | K.RestPropertyKind)[];
+        typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+    }): namedTypes.ObjectPattern;
+}
+export interface ArrayPatternBuilder {
+    (elements: (K.PatternKind | K.SpreadElementKind | null)[]): namedTypes.ArrayPattern;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        elements: (K.PatternKind | K.SpreadElementKind | null)[];
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ArrayPattern;
+}
+export interface MethodDefinitionBuilder {
+    (kind: "constructor" | "method" | "get" | "set", key: K.ExpressionKind, value: K.FunctionKind, staticParam?: boolean): namedTypes.MethodDefinition;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        computed?: boolean;
+        decorators?: K.DecoratorKind[] | null;
+        key: K.ExpressionKind;
+        kind: "constructor" | "method" | "get" | "set";
+        loc?: K.SourceLocationKind | null;
+        static?: boolean;
+        value: K.FunctionKind;
+    }): namedTypes.MethodDefinition;
+}
+export interface SpreadElementBuilder {
+    (argument: K.ExpressionKind): namedTypes.SpreadElement;
+    from(params: {
+        argument: K.ExpressionKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.SpreadElement;
+}
+export interface AssignmentPatternBuilder {
+    (left: K.PatternKind, right: K.ExpressionKind): namedTypes.AssignmentPattern;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        left: K.PatternKind;
+        loc?: K.SourceLocationKind | null;
+        right: K.ExpressionKind;
+    }): namedTypes.AssignmentPattern;
+}
+export interface ClassPropertyDefinitionBuilder {
+    (definition: K.MethodDefinitionKind | K.VariableDeclaratorKind | K.ClassPropertyDefinitionKind | K.ClassPropertyKind): namedTypes.ClassPropertyDefinition;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        definition: K.MethodDefinitionKind | K.VariableDeclaratorKind | K.ClassPropertyDefinitionKind | K.ClassPropertyKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ClassPropertyDefinition;
+}
+export interface ClassPropertyBuilder {
+    (key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, value: K.ExpressionKind | null, typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null, staticParam?: boolean): namedTypes.ClassProperty;
+    from(params: {
+        access?: "public" | "private" | "protected" | undefined;
+        comments?: K.CommentKind[] | null;
+        computed?: boolean;
+        key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+        static?: boolean;
+        typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+        value: K.ExpressionKind | null;
+        variance?: K.VarianceKind | "plus" | "minus" | null;
+    }): namedTypes.ClassProperty;
+}
+export interface ClassBodyBuilder {
+    (body: (K.MethodDefinitionKind | K.VariableDeclaratorKind | K.ClassPropertyDefinitionKind | K.ClassPropertyKind | K.ClassPrivatePropertyKind | K.ClassMethodKind | K.ClassPrivateMethodKind | K.TSDeclareMethodKind | K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[]): namedTypes.ClassBody;
+    from(params: {
+        body: (K.MethodDefinitionKind | K.VariableDeclaratorKind | K.ClassPropertyDefinitionKind | K.ClassPropertyKind | K.ClassPrivatePropertyKind | K.ClassMethodKind | K.ClassPrivateMethodKind | K.TSDeclareMethodKind | K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[];
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ClassBody;
+}
+export interface ClassDeclarationBuilder {
+    (id: K.IdentifierKind | null, body: K.ClassBodyKind, superClass?: K.ExpressionKind | null): namedTypes.ClassDeclaration;
+    from(params: {
+        body: K.ClassBodyKind;
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind | null;
+        implements?: K.ClassImplementsKind[] | K.TSExpressionWithTypeArgumentsKind[];
+        loc?: K.SourceLocationKind | null;
+        superClass?: K.ExpressionKind | null;
+        superTypeParameters?: K.TypeParameterInstantiationKind | K.TSTypeParameterInstantiationKind | null;
+        typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
+    }): namedTypes.ClassDeclaration;
+}
+export interface ClassExpressionBuilder {
+    (id: K.IdentifierKind | null | undefined, body: K.ClassBodyKind, superClass?: K.ExpressionKind | null): namedTypes.ClassExpression;
+    from(params: {
+        body: K.ClassBodyKind;
+        comments?: K.CommentKind[] | null;
+        id?: K.IdentifierKind | null;
+        implements?: K.ClassImplementsKind[] | K.TSExpressionWithTypeArgumentsKind[];
+        loc?: K.SourceLocationKind | null;
+        superClass?: K.ExpressionKind | null;
+        superTypeParameters?: K.TypeParameterInstantiationKind | K.TSTypeParameterInstantiationKind | null;
+        typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
+    }): namedTypes.ClassExpression;
+}
+export interface ImportSpecifierBuilder {
+    (imported: K.IdentifierKind, local?: K.IdentifierKind | null): namedTypes.ImportSpecifier;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id?: K.IdentifierKind | null;
+        imported: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+        local?: K.IdentifierKind | null;
+        name?: K.IdentifierKind | null;
+    }): namedTypes.ImportSpecifier;
+}
+export interface ImportNamespaceSpecifierBuilder {
+    (local?: K.IdentifierKind | null): namedTypes.ImportNamespaceSpecifier;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id?: K.IdentifierKind | null;
+        loc?: K.SourceLocationKind | null;
+        local?: K.IdentifierKind | null;
+        name?: K.IdentifierKind | null;
+    }): namedTypes.ImportNamespaceSpecifier;
+}
+export interface ImportDefaultSpecifierBuilder {
+    (local?: K.IdentifierKind | null): namedTypes.ImportDefaultSpecifier;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id?: K.IdentifierKind | null;
+        loc?: K.SourceLocationKind | null;
+        local?: K.IdentifierKind | null;
+        name?: K.IdentifierKind | null;
+    }): namedTypes.ImportDefaultSpecifier;
+}
+export interface ImportDeclarationBuilder {
+    (specifiers: (K.ImportSpecifierKind | K.ImportNamespaceSpecifierKind | K.ImportDefaultSpecifierKind)[] | undefined, source: K.LiteralKind, importKind?: "value" | "type"): namedTypes.ImportDeclaration;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        importKind?: "value" | "type";
+        loc?: K.SourceLocationKind | null;
+        source: K.LiteralKind;
+        specifiers?: (K.ImportSpecifierKind | K.ImportNamespaceSpecifierKind | K.ImportDefaultSpecifierKind)[];
+    }): namedTypes.ImportDeclaration;
+}
+export interface TaggedTemplateExpressionBuilder {
+    (tag: K.ExpressionKind, quasi: K.TemplateLiteralKind): namedTypes.TaggedTemplateExpression;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        quasi: K.TemplateLiteralKind;
+        tag: K.ExpressionKind;
+    }): namedTypes.TaggedTemplateExpression;
+}
+export interface TemplateLiteralBuilder {
+    (quasis: K.TemplateElementKind[], expressions: K.ExpressionKind[]): namedTypes.TemplateLiteral;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        expressions: K.ExpressionKind[];
+        loc?: K.SourceLocationKind | null;
+        quasis: K.TemplateElementKind[];
+    }): namedTypes.TemplateLiteral;
+}
+export interface TemplateElementBuilder {
+    (value: {
+        cooked: string;
+        raw: string;
+    }, tail: boolean): namedTypes.TemplateElement;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        tail: boolean;
+        value: {
+            cooked: string;
+            raw: string;
+        };
+    }): namedTypes.TemplateElement;
+}
+export interface SpreadPropertyBuilder {
+    (argument: K.ExpressionKind): namedTypes.SpreadProperty;
+    from(params: {
+        argument: K.ExpressionKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.SpreadProperty;
+}
+export interface SpreadPropertyPatternBuilder {
+    (argument: K.PatternKind): namedTypes.SpreadPropertyPattern;
+    from(params: {
+        argument: K.PatternKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.SpreadPropertyPattern;
+}
+export interface AwaitExpressionBuilder {
+    (argument: K.ExpressionKind | null, all?: boolean): namedTypes.AwaitExpression;
+    from(params: {
+        all?: boolean;
+        argument: K.ExpressionKind | null;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.AwaitExpression;
+}
+export interface ImportExpressionBuilder {
+    (source: K.ExpressionKind): namedTypes.ImportExpression;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        source: K.ExpressionKind;
+    }): namedTypes.ImportExpression;
+}
+export interface JSXAttributeBuilder {
+    (name: K.JSXIdentifierKind | K.JSXNamespacedNameKind, value?: K.LiteralKind | K.JSXExpressionContainerKind | null): namedTypes.JSXAttribute;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        name: K.JSXIdentifierKind | K.JSXNamespacedNameKind;
+        value?: K.LiteralKind | K.JSXExpressionContainerKind | null;
+    }): namedTypes.JSXAttribute;
+}
+export interface JSXIdentifierBuilder {
+    (name: string): namedTypes.JSXIdentifier;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        name: string;
+        optional?: boolean;
+        typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+    }): namedTypes.JSXIdentifier;
+}
+export interface JSXNamespacedNameBuilder {
+    (namespace: K.JSXIdentifierKind, name: K.JSXIdentifierKind): namedTypes.JSXNamespacedName;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        name: K.JSXIdentifierKind;
+        namespace: K.JSXIdentifierKind;
+    }): namedTypes.JSXNamespacedName;
+}
+export interface JSXExpressionContainerBuilder {
+    (expression: K.ExpressionKind): namedTypes.JSXExpressionContainer;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        expression: K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.JSXExpressionContainer;
+}
+export interface JSXMemberExpressionBuilder {
+    (object: K.JSXIdentifierKind | K.JSXMemberExpressionKind, property: K.JSXIdentifierKind): namedTypes.JSXMemberExpression;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        computed?: boolean;
+        loc?: K.SourceLocationKind | null;
+        object: K.JSXIdentifierKind | K.JSXMemberExpressionKind;
+        property: K.JSXIdentifierKind;
+    }): namedTypes.JSXMemberExpression;
+}
+export interface JSXSpreadAttributeBuilder {
+    (argument: K.ExpressionKind): namedTypes.JSXSpreadAttribute;
+    from(params: {
+        argument: K.ExpressionKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.JSXSpreadAttribute;
+}
+export interface JSXElementBuilder {
+    (openingElement: K.JSXOpeningElementKind, closingElement?: K.JSXClosingElementKind | null, children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[]): namedTypes.JSXElement;
+    from(params: {
+        attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[];
+        children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[];
+        closingElement?: K.JSXClosingElementKind | null;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        name?: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
+        openingElement: K.JSXOpeningElementKind;
+        selfClosing?: boolean;
+    }): namedTypes.JSXElement;
+}
+export interface JSXOpeningElementBuilder {
+    (name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind, attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[], selfClosing?: boolean): namedTypes.JSXOpeningElement;
+    from(params: {
+        attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[];
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
+        selfClosing?: boolean;
+    }): namedTypes.JSXOpeningElement;
+}
+export interface JSXClosingElementBuilder {
+    (name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind): namedTypes.JSXClosingElement;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
+    }): namedTypes.JSXClosingElement;
+}
+export interface JSXFragmentBuilder {
+    (openingElement: K.JSXOpeningFragmentKind, closingElement: K.JSXClosingFragmentKind, children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[]): namedTypes.JSXFragment;
+    from(params: {
+        children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[];
+        closingElement: K.JSXClosingFragmentKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        openingElement: K.JSXOpeningFragmentKind;
+    }): namedTypes.JSXFragment;
+}
+export interface JSXTextBuilder {
+    (value: string): namedTypes.JSXText;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        regex?: {
+            pattern: string;
+            flags: string;
+        } | null;
+        value: string;
+    }): namedTypes.JSXText;
+}
+export interface JSXOpeningFragmentBuilder {
+    (): namedTypes.JSXOpeningFragment;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.JSXOpeningFragment;
+}
+export interface JSXClosingFragmentBuilder {
+    (): namedTypes.JSXClosingFragment;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.JSXClosingFragment;
+}
+export interface JSXEmptyExpressionBuilder {
+    (): namedTypes.JSXEmptyExpression;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.JSXEmptyExpression;
+}
+export interface JSXSpreadChildBuilder {
+    (expression: K.ExpressionKind): namedTypes.JSXSpreadChild;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        expression: K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.JSXSpreadChild;
+}
+export interface TypeParameterDeclarationBuilder {
+    (params: K.TypeParameterKind[]): namedTypes.TypeParameterDeclaration;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        params: K.TypeParameterKind[];
+    }): namedTypes.TypeParameterDeclaration;
+}
+export interface TSTypeParameterDeclarationBuilder {
+    (params: K.TSTypeParameterKind[]): namedTypes.TSTypeParameterDeclaration;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        params: K.TSTypeParameterKind[];
+    }): namedTypes.TSTypeParameterDeclaration;
+}
+export interface TypeParameterInstantiationBuilder {
+    (params: K.FlowTypeKind[]): namedTypes.TypeParameterInstantiation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        params: K.FlowTypeKind[];
+    }): namedTypes.TypeParameterInstantiation;
+}
+export interface TSTypeParameterInstantiationBuilder {
+    (params: K.TSTypeKind[]): namedTypes.TSTypeParameterInstantiation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        params: K.TSTypeKind[];
+    }): namedTypes.TSTypeParameterInstantiation;
+}
+export interface ClassImplementsBuilder {
+    (id: K.IdentifierKind): namedTypes.ClassImplements;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+        superClass?: K.ExpressionKind | null;
+        typeParameters?: K.TypeParameterInstantiationKind | null;
+    }): namedTypes.ClassImplements;
+}
+export interface TSExpressionWithTypeArgumentsBuilder {
+    (expression: K.IdentifierKind | K.TSQualifiedNameKind, typeParameters?: K.TSTypeParameterInstantiationKind | null): namedTypes.TSExpressionWithTypeArguments;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        expression: K.IdentifierKind | K.TSQualifiedNameKind;
+        loc?: K.SourceLocationKind | null;
+        typeParameters?: K.TSTypeParameterInstantiationKind | null;
+    }): namedTypes.TSExpressionWithTypeArguments;
+}
+export interface AnyTypeAnnotationBuilder {
+    (): namedTypes.AnyTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.AnyTypeAnnotation;
+}
+export interface EmptyTypeAnnotationBuilder {
+    (): namedTypes.EmptyTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.EmptyTypeAnnotation;
+}
+export interface MixedTypeAnnotationBuilder {
+    (): namedTypes.MixedTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.MixedTypeAnnotation;
+}
+export interface VoidTypeAnnotationBuilder {
+    (): namedTypes.VoidTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.VoidTypeAnnotation;
+}
+export interface NumberTypeAnnotationBuilder {
+    (): namedTypes.NumberTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.NumberTypeAnnotation;
+}
+export interface NumberLiteralTypeAnnotationBuilder {
+    (value: number, raw: string): namedTypes.NumberLiteralTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        raw: string;
+        value: number;
+    }): namedTypes.NumberLiteralTypeAnnotation;
+}
+export interface NumericLiteralTypeAnnotationBuilder {
+    (value: number, raw: string): namedTypes.NumericLiteralTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        raw: string;
+        value: number;
+    }): namedTypes.NumericLiteralTypeAnnotation;
+}
+export interface StringTypeAnnotationBuilder {
+    (): namedTypes.StringTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.StringTypeAnnotation;
+}
+export interface StringLiteralTypeAnnotationBuilder {
+    (value: string, raw: string): namedTypes.StringLiteralTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        raw: string;
+        value: string;
+    }): namedTypes.StringLiteralTypeAnnotation;
+}
+export interface BooleanTypeAnnotationBuilder {
+    (): namedTypes.BooleanTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.BooleanTypeAnnotation;
+}
+export interface BooleanLiteralTypeAnnotationBuilder {
+    (value: boolean, raw: string): namedTypes.BooleanLiteralTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        raw: string;
+        value: boolean;
+    }): namedTypes.BooleanLiteralTypeAnnotation;
+}
+export interface NullableTypeAnnotationBuilder {
+    (typeAnnotation: K.FlowTypeKind): namedTypes.NullableTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        typeAnnotation: K.FlowTypeKind;
+    }): namedTypes.NullableTypeAnnotation;
+}
+export interface NullLiteralTypeAnnotationBuilder {
+    (): namedTypes.NullLiteralTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.NullLiteralTypeAnnotation;
+}
+export interface NullTypeAnnotationBuilder {
+    (): namedTypes.NullTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.NullTypeAnnotation;
+}
+export interface ThisTypeAnnotationBuilder {
+    (): namedTypes.ThisTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ThisTypeAnnotation;
+}
+export interface ExistsTypeAnnotationBuilder {
+    (): namedTypes.ExistsTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ExistsTypeAnnotation;
+}
+export interface ExistentialTypeParamBuilder {
+    (): namedTypes.ExistentialTypeParam;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ExistentialTypeParam;
+}
+export interface FunctionTypeAnnotationBuilder {
+    (params: K.FunctionTypeParamKind[], returnType: K.FlowTypeKind, rest: K.FunctionTypeParamKind | null, typeParameters: K.TypeParameterDeclarationKind | null): namedTypes.FunctionTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        params: K.FunctionTypeParamKind[];
+        rest: K.FunctionTypeParamKind | null;
+        returnType: K.FlowTypeKind;
+        typeParameters: K.TypeParameterDeclarationKind | null;
+    }): namedTypes.FunctionTypeAnnotation;
+}
+export interface FunctionTypeParamBuilder {
+    (name: K.IdentifierKind, typeAnnotation: K.FlowTypeKind, optional: boolean): namedTypes.FunctionTypeParam;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        name: K.IdentifierKind;
+        optional: boolean;
+        typeAnnotation: K.FlowTypeKind;
+    }): namedTypes.FunctionTypeParam;
+}
+export interface ArrayTypeAnnotationBuilder {
+    (elementType: K.FlowTypeKind): namedTypes.ArrayTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        elementType: K.FlowTypeKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ArrayTypeAnnotation;
+}
+export interface ObjectTypeAnnotationBuilder {
+    (properties: (K.ObjectTypePropertyKind | K.ObjectTypeSpreadPropertyKind)[], indexers?: K.ObjectTypeIndexerKind[], callProperties?: K.ObjectTypeCallPropertyKind[]): namedTypes.ObjectTypeAnnotation;
+    from(params: {
+        callProperties?: K.ObjectTypeCallPropertyKind[];
+        comments?: K.CommentKind[] | null;
+        exact?: boolean;
+        indexers?: K.ObjectTypeIndexerKind[];
+        inexact?: boolean | undefined;
+        internalSlots?: K.ObjectTypeInternalSlotKind[];
+        loc?: K.SourceLocationKind | null;
+        properties: (K.ObjectTypePropertyKind | K.ObjectTypeSpreadPropertyKind)[];
+    }): namedTypes.ObjectTypeAnnotation;
+}
+export interface ObjectTypePropertyBuilder {
+    (key: K.LiteralKind | K.IdentifierKind, value: K.FlowTypeKind, optional: boolean): namedTypes.ObjectTypeProperty;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        key: K.LiteralKind | K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+        optional: boolean;
+        value: K.FlowTypeKind;
+        variance?: K.VarianceKind | "plus" | "minus" | null;
+    }): namedTypes.ObjectTypeProperty;
+}
+export interface ObjectTypeSpreadPropertyBuilder {
+    (argument: K.FlowTypeKind): namedTypes.ObjectTypeSpreadProperty;
+    from(params: {
+        argument: K.FlowTypeKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ObjectTypeSpreadProperty;
+}
+export interface ObjectTypeIndexerBuilder {
+    (id: K.IdentifierKind, key: K.FlowTypeKind, value: K.FlowTypeKind): namedTypes.ObjectTypeIndexer;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind;
+        key: K.FlowTypeKind;
+        loc?: K.SourceLocationKind | null;
+        value: K.FlowTypeKind;
+        variance?: K.VarianceKind | "plus" | "minus" | null;
+    }): namedTypes.ObjectTypeIndexer;
+}
+export interface ObjectTypeCallPropertyBuilder {
+    (value: K.FunctionTypeAnnotationKind): namedTypes.ObjectTypeCallProperty;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        static?: boolean;
+        value: K.FunctionTypeAnnotationKind;
+    }): namedTypes.ObjectTypeCallProperty;
+}
+export interface ObjectTypeInternalSlotBuilder {
+    (id: K.IdentifierKind, value: K.FlowTypeKind, optional: boolean, staticParam: boolean, method: boolean): namedTypes.ObjectTypeInternalSlot;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+        method: boolean;
+        optional: boolean;
+        static: boolean;
+        value: K.FlowTypeKind;
+    }): namedTypes.ObjectTypeInternalSlot;
+}
+export interface VarianceBuilder {
+    (kind: "plus" | "minus"): namedTypes.Variance;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        kind: "plus" | "minus";
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.Variance;
+}
+export interface QualifiedTypeIdentifierBuilder {
+    (qualification: K.IdentifierKind | K.QualifiedTypeIdentifierKind, id: K.IdentifierKind): namedTypes.QualifiedTypeIdentifier;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+        qualification: K.IdentifierKind | K.QualifiedTypeIdentifierKind;
+    }): namedTypes.QualifiedTypeIdentifier;
+}
+export interface GenericTypeAnnotationBuilder {
+    (id: K.IdentifierKind | K.QualifiedTypeIdentifierKind, typeParameters: K.TypeParameterInstantiationKind | null): namedTypes.GenericTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind | K.QualifiedTypeIdentifierKind;
+        loc?: K.SourceLocationKind | null;
+        typeParameters: K.TypeParameterInstantiationKind | null;
+    }): namedTypes.GenericTypeAnnotation;
+}
+export interface MemberTypeAnnotationBuilder {
+    (object: K.IdentifierKind, property: K.MemberTypeAnnotationKind | K.GenericTypeAnnotationKind): namedTypes.MemberTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        object: K.IdentifierKind;
+        property: K.MemberTypeAnnotationKind | K.GenericTypeAnnotationKind;
+    }): namedTypes.MemberTypeAnnotation;
+}
+export interface UnionTypeAnnotationBuilder {
+    (types: K.FlowTypeKind[]): namedTypes.UnionTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        types: K.FlowTypeKind[];
+    }): namedTypes.UnionTypeAnnotation;
+}
+export interface IntersectionTypeAnnotationBuilder {
+    (types: K.FlowTypeKind[]): namedTypes.IntersectionTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        types: K.FlowTypeKind[];
+    }): namedTypes.IntersectionTypeAnnotation;
+}
+export interface TypeofTypeAnnotationBuilder {
+    (argument: K.FlowTypeKind): namedTypes.TypeofTypeAnnotation;
+    from(params: {
+        argument: K.FlowTypeKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TypeofTypeAnnotation;
+}
+export interface TypeParameterBuilder {
+    (name: string, variance?: K.VarianceKind | "plus" | "minus" | null, bound?: K.TypeAnnotationKind | null): namedTypes.TypeParameter;
+    from(params: {
+        bound?: K.TypeAnnotationKind | null;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        name: string;
+        variance?: K.VarianceKind | "plus" | "minus" | null;
+    }): namedTypes.TypeParameter;
+}
+export interface InterfaceTypeAnnotationBuilder {
+    (body: K.ObjectTypeAnnotationKind, extendsParam?: K.InterfaceExtendsKind[] | null): namedTypes.InterfaceTypeAnnotation;
+    from(params: {
+        body: K.ObjectTypeAnnotationKind;
+        comments?: K.CommentKind[] | null;
+        extends?: K.InterfaceExtendsKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.InterfaceTypeAnnotation;
+}
+export interface InterfaceExtendsBuilder {
+    (id: K.IdentifierKind): namedTypes.InterfaceExtends;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+        typeParameters?: K.TypeParameterInstantiationKind | null;
+    }): namedTypes.InterfaceExtends;
+}
+export interface InterfaceDeclarationBuilder {
+    (id: K.IdentifierKind, body: K.ObjectTypeAnnotationKind, extendsParam: K.InterfaceExtendsKind[]): namedTypes.InterfaceDeclaration;
+    from(params: {
+        body: K.ObjectTypeAnnotationKind;
+        comments?: K.CommentKind[] | null;
+        extends: K.InterfaceExtendsKind[];
+        id: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+        typeParameters?: K.TypeParameterDeclarationKind | null;
+    }): namedTypes.InterfaceDeclaration;
+}
+export interface DeclareInterfaceBuilder {
+    (id: K.IdentifierKind, body: K.ObjectTypeAnnotationKind, extendsParam: K.InterfaceExtendsKind[]): namedTypes.DeclareInterface;
+    from(params: {
+        body: K.ObjectTypeAnnotationKind;
+        comments?: K.CommentKind[] | null;
+        extends: K.InterfaceExtendsKind[];
+        id: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+        typeParameters?: K.TypeParameterDeclarationKind | null;
+    }): namedTypes.DeclareInterface;
+}
+export interface TypeAliasBuilder {
+    (id: K.IdentifierKind, typeParameters: K.TypeParameterDeclarationKind | null, right: K.FlowTypeKind): namedTypes.TypeAlias;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+        right: K.FlowTypeKind;
+        typeParameters: K.TypeParameterDeclarationKind | null;
+    }): namedTypes.TypeAlias;
+}
+export interface OpaqueTypeBuilder {
+    (id: K.IdentifierKind, typeParameters: K.TypeParameterDeclarationKind | null, impltype: K.FlowTypeKind, supertype: K.FlowTypeKind): namedTypes.OpaqueType;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind;
+        impltype: K.FlowTypeKind;
+        loc?: K.SourceLocationKind | null;
+        supertype: K.FlowTypeKind;
+        typeParameters: K.TypeParameterDeclarationKind | null;
+    }): namedTypes.OpaqueType;
+}
+export interface DeclareTypeAliasBuilder {
+    (id: K.IdentifierKind, typeParameters: K.TypeParameterDeclarationKind | null, right: K.FlowTypeKind): namedTypes.DeclareTypeAlias;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+        right: K.FlowTypeKind;
+        typeParameters: K.TypeParameterDeclarationKind | null;
+    }): namedTypes.DeclareTypeAlias;
+}
+export interface DeclareOpaqueTypeBuilder {
+    (id: K.IdentifierKind, typeParameters: K.TypeParameterDeclarationKind | null): namedTypes.DeclareOpaqueType;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+        right: K.FlowTypeKind;
+        typeParameters: K.TypeParameterDeclarationKind | null;
+    }): namedTypes.DeclareOpaqueType;
+}
+export interface TypeCastExpressionBuilder {
+    (expression: K.ExpressionKind, typeAnnotation: K.TypeAnnotationKind): namedTypes.TypeCastExpression;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        expression: K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+        typeAnnotation: K.TypeAnnotationKind;
+    }): namedTypes.TypeCastExpression;
+}
+export interface TupleTypeAnnotationBuilder {
+    (types: K.FlowTypeKind[]): namedTypes.TupleTypeAnnotation;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        types: K.FlowTypeKind[];
+    }): namedTypes.TupleTypeAnnotation;
+}
+export interface DeclareVariableBuilder {
+    (id: K.IdentifierKind): namedTypes.DeclareVariable;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.DeclareVariable;
+}
+export interface DeclareFunctionBuilder {
+    (id: K.IdentifierKind): namedTypes.DeclareFunction;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.DeclareFunction;
+}
+export interface DeclareClassBuilder {
+    (id: K.IdentifierKind): namedTypes.DeclareClass;
+    from(params: {
+        body: K.ObjectTypeAnnotationKind;
+        comments?: K.CommentKind[] | null;
+        extends: K.InterfaceExtendsKind[];
+        id: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+        typeParameters?: K.TypeParameterDeclarationKind | null;
+    }): namedTypes.DeclareClass;
+}
+export interface DeclareModuleBuilder {
+    (id: K.IdentifierKind | K.LiteralKind, body: K.BlockStatementKind): namedTypes.DeclareModule;
+    from(params: {
+        body: K.BlockStatementKind;
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind | K.LiteralKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.DeclareModule;
+}
+export interface DeclareModuleExportsBuilder {
+    (typeAnnotation: K.TypeAnnotationKind): namedTypes.DeclareModuleExports;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        typeAnnotation: K.TypeAnnotationKind;
+    }): namedTypes.DeclareModuleExports;
+}
+export interface DeclareExportDeclarationBuilder {
+    (defaultParam: boolean, declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | null, specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[], source?: K.LiteralKind | null): namedTypes.DeclareExportDeclaration;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | null;
+        default: boolean;
+        loc?: K.SourceLocationKind | null;
+        source?: K.LiteralKind | null;
+        specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[];
+    }): namedTypes.DeclareExportDeclaration;
+}
+export interface ExportSpecifierBuilder {
+    (local: K.IdentifierKind | null | undefined, exported: K.IdentifierKind): namedTypes.ExportSpecifier;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        exported: K.IdentifierKind;
+        id?: K.IdentifierKind | null;
+        loc?: K.SourceLocationKind | null;
+        local?: K.IdentifierKind | null;
+        name?: K.IdentifierKind | null;
+    }): namedTypes.ExportSpecifier;
+}
+export interface ExportBatchSpecifierBuilder {
+    (): namedTypes.ExportBatchSpecifier;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ExportBatchSpecifier;
+}
+export interface DeclareExportAllDeclarationBuilder {
+    (source?: K.LiteralKind | null): namedTypes.DeclareExportAllDeclaration;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        source?: K.LiteralKind | null;
+    }): namedTypes.DeclareExportAllDeclaration;
+}
+export interface InferredPredicateBuilder {
+    (): namedTypes.InferredPredicate;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.InferredPredicate;
+}
+export interface DeclaredPredicateBuilder {
+    (value: K.ExpressionKind): namedTypes.DeclaredPredicate;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        value: K.ExpressionKind;
+    }): namedTypes.DeclaredPredicate;
+}
+export interface ExportDeclarationBuilder {
+    (defaultParam: boolean, declaration: K.DeclarationKind | K.ExpressionKind | null, specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[], source?: K.LiteralKind | null): namedTypes.ExportDeclaration;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        declaration: K.DeclarationKind | K.ExpressionKind | null;
+        default: boolean;
+        loc?: K.SourceLocationKind | null;
+        source?: K.LiteralKind | null;
+        specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[];
+    }): namedTypes.ExportDeclaration;
+}
+export interface BlockBuilder {
+    (value: string, leading?: boolean, trailing?: boolean): namedTypes.Block;
+    from(params: {
+        leading?: boolean;
+        loc?: K.SourceLocationKind | null;
+        trailing?: boolean;
+        value: string;
+    }): namedTypes.Block;
+}
+export interface LineBuilder {
+    (value: string, leading?: boolean, trailing?: boolean): namedTypes.Line;
+    from(params: {
+        leading?: boolean;
+        loc?: K.SourceLocationKind | null;
+        trailing?: boolean;
+        value: string;
+    }): namedTypes.Line;
+}
+export interface NoopBuilder {
+    (): namedTypes.Noop;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.Noop;
+}
+export interface DoExpressionBuilder {
+    (body: K.StatementKind[]): namedTypes.DoExpression;
+    from(params: {
+        body: K.StatementKind[];
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.DoExpression;
+}
+export interface SuperBuilder {
+    (): namedTypes.Super;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.Super;
+}
+export interface BindExpressionBuilder {
+    (object: K.ExpressionKind | null, callee: K.ExpressionKind): namedTypes.BindExpression;
+    from(params: {
+        callee: K.ExpressionKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        object: K.ExpressionKind | null;
+    }): namedTypes.BindExpression;
+}
+export interface DecoratorBuilder {
+    (expression: K.ExpressionKind): namedTypes.Decorator;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        expression: K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.Decorator;
+}
+export interface MetaPropertyBuilder {
+    (meta: K.IdentifierKind, property: K.IdentifierKind): namedTypes.MetaProperty;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        meta: K.IdentifierKind;
+        property: K.IdentifierKind;
+    }): namedTypes.MetaProperty;
+}
+export interface ParenthesizedExpressionBuilder {
+    (expression: K.ExpressionKind): namedTypes.ParenthesizedExpression;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        expression: K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ParenthesizedExpression;
+}
+export interface ExportDefaultDeclarationBuilder {
+    (declaration: K.DeclarationKind | K.ExpressionKind): namedTypes.ExportDefaultDeclaration;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        declaration: K.DeclarationKind | K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ExportDefaultDeclaration;
+}
+export interface ExportNamedDeclarationBuilder {
+    (declaration: K.DeclarationKind | null, specifiers?: K.ExportSpecifierKind[], source?: K.LiteralKind | null): namedTypes.ExportNamedDeclaration;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        declaration: K.DeclarationKind | null;
+        loc?: K.SourceLocationKind | null;
+        source?: K.LiteralKind | null;
+        specifiers?: K.ExportSpecifierKind[];
+    }): namedTypes.ExportNamedDeclaration;
+}
+export interface ExportNamespaceSpecifierBuilder {
+    (exported: K.IdentifierKind): namedTypes.ExportNamespaceSpecifier;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        exported: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ExportNamespaceSpecifier;
+}
+export interface ExportDefaultSpecifierBuilder {
+    (exported: K.IdentifierKind): namedTypes.ExportDefaultSpecifier;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        exported: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.ExportDefaultSpecifier;
+}
+export interface ExportAllDeclarationBuilder {
+    (exported: K.IdentifierKind | null, source: K.LiteralKind): namedTypes.ExportAllDeclaration;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        exported: K.IdentifierKind | null;
+        loc?: K.SourceLocationKind | null;
+        source: K.LiteralKind;
+    }): namedTypes.ExportAllDeclaration;
+}
+export interface CommentBlockBuilder {
+    (value: string, leading?: boolean, trailing?: boolean): namedTypes.CommentBlock;
+    from(params: {
+        leading?: boolean;
+        loc?: K.SourceLocationKind | null;
+        trailing?: boolean;
+        value: string;
+    }): namedTypes.CommentBlock;
+}
+export interface CommentLineBuilder {
+    (value: string, leading?: boolean, trailing?: boolean): namedTypes.CommentLine;
+    from(params: {
+        leading?: boolean;
+        loc?: K.SourceLocationKind | null;
+        trailing?: boolean;
+        value: string;
+    }): namedTypes.CommentLine;
+}
+export interface DirectiveBuilder {
+    (value: K.DirectiveLiteralKind): namedTypes.Directive;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        value: K.DirectiveLiteralKind;
+    }): namedTypes.Directive;
+}
+export interface DirectiveLiteralBuilder {
+    (value?: string): namedTypes.DirectiveLiteral;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        value?: string;
+    }): namedTypes.DirectiveLiteral;
+}
+export interface InterpreterDirectiveBuilder {
+    (value: string): namedTypes.InterpreterDirective;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        value: string;
+    }): namedTypes.InterpreterDirective;
+}
+export interface StringLiteralBuilder {
+    (value: string): namedTypes.StringLiteral;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        regex?: {
+            pattern: string;
+            flags: string;
+        } | null;
+        value: string;
+    }): namedTypes.StringLiteral;
+}
+export interface NumericLiteralBuilder {
+    (value: number): namedTypes.NumericLiteral;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        extra?: {
+            rawValue: number;
+            raw: string;
+        };
+        loc?: K.SourceLocationKind | null;
+        raw?: string | null;
+        regex?: {
+            pattern: string;
+            flags: string;
+        } | null;
+        value: number;
+    }): namedTypes.NumericLiteral;
+}
+export interface BigIntLiteralBuilder {
+    (value: string | number): namedTypes.BigIntLiteral;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        extra?: {
+            rawValue: string;
+            raw: string;
+        };
+        loc?: K.SourceLocationKind | null;
+        regex?: {
+            pattern: string;
+            flags: string;
+        } | null;
+        value: string | number;
+    }): namedTypes.BigIntLiteral;
+}
+export interface NullLiteralBuilder {
+    (): namedTypes.NullLiteral;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        regex?: {
+            pattern: string;
+            flags: string;
+        } | null;
+        value?: null;
+    }): namedTypes.NullLiteral;
+}
+export interface BooleanLiteralBuilder {
+    (value: boolean): namedTypes.BooleanLiteral;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        regex?: {
+            pattern: string;
+            flags: string;
+        } | null;
+        value: boolean;
+    }): namedTypes.BooleanLiteral;
+}
+export interface RegExpLiteralBuilder {
+    (pattern: string, flags: string): namedTypes.RegExpLiteral;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        flags: string;
+        loc?: K.SourceLocationKind | null;
+        pattern: string;
+        regex?: {
+            pattern: string;
+            flags: string;
+        } | null;
+        value?: RegExp;
+    }): namedTypes.RegExpLiteral;
+}
+export interface ObjectMethodBuilder {
+    (kind: "method" | "get" | "set", key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, params: K.PatternKind[], body: K.BlockStatementKind, computed?: boolean): namedTypes.ObjectMethod;
+    from(params: {
+        accessibility?: K.LiteralKind | null;
+        async?: boolean;
+        body: K.BlockStatementKind;
+        comments?: K.CommentKind[] | null;
+        computed?: boolean;
+        decorators?: K.DecoratorKind[] | null;
+        defaults?: (K.ExpressionKind | null)[];
+        expression?: boolean;
+        generator?: boolean;
+        id?: K.IdentifierKind | null;
+        key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
+        kind: "method" | "get" | "set";
+        loc?: K.SourceLocationKind | null;
+        params: K.PatternKind[];
+        rest?: K.IdentifierKind | null;
+        returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+        typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
+    }): namedTypes.ObjectMethod;
+}
+export interface ClassPrivatePropertyBuilder {
+    (key: K.PrivateNameKind, value?: K.ExpressionKind | null): namedTypes.ClassPrivateProperty;
+    from(params: {
+        access?: "public" | "private" | "protected" | undefined;
+        comments?: K.CommentKind[] | null;
+        computed?: boolean;
+        key: K.PrivateNameKind;
+        loc?: K.SourceLocationKind | null;
+        static?: boolean;
+        typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+        value?: K.ExpressionKind | null;
+        variance?: K.VarianceKind | "plus" | "minus" | null;
+    }): namedTypes.ClassPrivateProperty;
+}
+export interface ClassMethodBuilder {
+    (kind: "get" | "set" | "method" | "constructor" | undefined, key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind, params: K.PatternKind[], body: K.BlockStatementKind, computed?: boolean, staticParam?: boolean | null): namedTypes.ClassMethod;
+    from(params: {
+        abstract?: boolean | null;
+        access?: "public" | "private" | "protected" | null;
+        accessibility?: "public" | "private" | "protected" | null;
+        async?: boolean;
+        body: K.BlockStatementKind;
+        comments?: K.CommentKind[] | null;
+        computed?: boolean;
+        decorators?: K.DecoratorKind[] | null;
+        defaults?: (K.ExpressionKind | null)[];
+        expression?: boolean;
+        generator?: boolean;
+        id?: K.IdentifierKind | null;
+        key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
+        kind?: "get" | "set" | "method" | "constructor";
+        loc?: K.SourceLocationKind | null;
+        optional?: boolean | null;
+        params: K.PatternKind[];
+        rest?: K.IdentifierKind | null;
+        returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+        static?: boolean | null;
+        typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
+    }): namedTypes.ClassMethod;
+}
+export interface ClassPrivateMethodBuilder {
+    (key: K.PrivateNameKind, params: K.PatternKind[], body: K.BlockStatementKind, kind?: "get" | "set" | "method" | "constructor", computed?: boolean, staticParam?: boolean | null): namedTypes.ClassPrivateMethod;
+    from(params: {
+        abstract?: boolean | null;
+        access?: "public" | "private" | "protected" | null;
+        accessibility?: "public" | "private" | "protected" | null;
+        async?: boolean;
+        body: K.BlockStatementKind;
+        comments?: K.CommentKind[] | null;
+        computed?: boolean;
+        decorators?: K.DecoratorKind[] | null;
+        defaults?: (K.ExpressionKind | null)[];
+        expression?: boolean;
+        generator?: boolean;
+        id?: K.IdentifierKind | null;
+        key: K.PrivateNameKind;
+        kind?: "get" | "set" | "method" | "constructor";
+        loc?: K.SourceLocationKind | null;
+        optional?: boolean | null;
+        params: K.PatternKind[];
+        rest?: K.IdentifierKind | null;
+        returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+        static?: boolean | null;
+        typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
+    }): namedTypes.ClassPrivateMethod;
+}
+export interface PrivateNameBuilder {
+    (id: K.IdentifierKind): namedTypes.PrivateName;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.PrivateName;
+}
+export interface RestPropertyBuilder {
+    (argument: K.ExpressionKind): namedTypes.RestProperty;
+    from(params: {
+        argument: K.ExpressionKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.RestProperty;
+}
+export interface ForAwaitStatementBuilder {
+    (left: K.VariableDeclarationKind | K.ExpressionKind, right: K.ExpressionKind, body: K.StatementKind): namedTypes.ForAwaitStatement;
+    from(params: {
+        body: K.StatementKind;
+        comments?: K.CommentKind[] | null;
+        left: K.VariableDeclarationKind | K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+        right: K.ExpressionKind;
+    }): namedTypes.ForAwaitStatement;
+}
+export interface ImportBuilder {
+    (): namedTypes.Import;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.Import;
+}
+export interface TSQualifiedNameBuilder {
+    (left: K.IdentifierKind | K.TSQualifiedNameKind, right: K.IdentifierKind | K.TSQualifiedNameKind): namedTypes.TSQualifiedName;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        left: K.IdentifierKind | K.TSQualifiedNameKind;
+        loc?: K.SourceLocationKind | null;
+        right: K.IdentifierKind | K.TSQualifiedNameKind;
+    }): namedTypes.TSQualifiedName;
+}
+export interface TSTypeReferenceBuilder {
+    (typeName: K.IdentifierKind | K.TSQualifiedNameKind, typeParameters?: K.TSTypeParameterInstantiationKind | null): namedTypes.TSTypeReference;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        typeName: K.IdentifierKind | K.TSQualifiedNameKind;
+        typeParameters?: K.TSTypeParameterInstantiationKind | null;
+    }): namedTypes.TSTypeReference;
+}
+export interface TSAsExpressionBuilder {
+    (expression: K.ExpressionKind, typeAnnotation: K.TSTypeKind): namedTypes.TSAsExpression;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        expression: K.ExpressionKind;
+        extra?: {
+            parenthesized: boolean;
+        } | null;
+        loc?: K.SourceLocationKind | null;
+        typeAnnotation: K.TSTypeKind;
+    }): namedTypes.TSAsExpression;
+}
+export interface TSNonNullExpressionBuilder {
+    (expression: K.ExpressionKind): namedTypes.TSNonNullExpression;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        expression: K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSNonNullExpression;
+}
+export interface TSAnyKeywordBuilder {
+    (): namedTypes.TSAnyKeyword;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSAnyKeyword;
+}
+export interface TSBigIntKeywordBuilder {
+    (): namedTypes.TSBigIntKeyword;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSBigIntKeyword;
+}
+export interface TSBooleanKeywordBuilder {
+    (): namedTypes.TSBooleanKeyword;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSBooleanKeyword;
+}
+export interface TSNeverKeywordBuilder {
+    (): namedTypes.TSNeverKeyword;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSNeverKeyword;
+}
+export interface TSNullKeywordBuilder {
+    (): namedTypes.TSNullKeyword;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSNullKeyword;
+}
+export interface TSNumberKeywordBuilder {
+    (): namedTypes.TSNumberKeyword;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSNumberKeyword;
+}
+export interface TSObjectKeywordBuilder {
+    (): namedTypes.TSObjectKeyword;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSObjectKeyword;
+}
+export interface TSStringKeywordBuilder {
+    (): namedTypes.TSStringKeyword;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSStringKeyword;
+}
+export interface TSSymbolKeywordBuilder {
+    (): namedTypes.TSSymbolKeyword;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSSymbolKeyword;
+}
+export interface TSUndefinedKeywordBuilder {
+    (): namedTypes.TSUndefinedKeyword;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSUndefinedKeyword;
+}
+export interface TSUnknownKeywordBuilder {
+    (): namedTypes.TSUnknownKeyword;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSUnknownKeyword;
+}
+export interface TSVoidKeywordBuilder {
+    (): namedTypes.TSVoidKeyword;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSVoidKeyword;
+}
+export interface TSThisTypeBuilder {
+    (): namedTypes.TSThisType;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSThisType;
+}
+export interface TSArrayTypeBuilder {
+    (elementType: K.TSTypeKind): namedTypes.TSArrayType;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        elementType: K.TSTypeKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSArrayType;
+}
+export interface TSLiteralTypeBuilder {
+    (literal: K.NumericLiteralKind | K.StringLiteralKind | K.BooleanLiteralKind | K.TemplateLiteralKind | K.UnaryExpressionKind): namedTypes.TSLiteralType;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        literal: K.NumericLiteralKind | K.StringLiteralKind | K.BooleanLiteralKind | K.TemplateLiteralKind | K.UnaryExpressionKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSLiteralType;
+}
+export interface TSUnionTypeBuilder {
+    (types: K.TSTypeKind[]): namedTypes.TSUnionType;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        types: K.TSTypeKind[];
+    }): namedTypes.TSUnionType;
+}
+export interface TSIntersectionTypeBuilder {
+    (types: K.TSTypeKind[]): namedTypes.TSIntersectionType;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        types: K.TSTypeKind[];
+    }): namedTypes.TSIntersectionType;
+}
+export interface TSConditionalTypeBuilder {
+    (checkType: K.TSTypeKind, extendsType: K.TSTypeKind, trueType: K.TSTypeKind, falseType: K.TSTypeKind): namedTypes.TSConditionalType;
+    from(params: {
+        checkType: K.TSTypeKind;
+        comments?: K.CommentKind[] | null;
+        extendsType: K.TSTypeKind;
+        falseType: K.TSTypeKind;
+        loc?: K.SourceLocationKind | null;
+        trueType: K.TSTypeKind;
+    }): namedTypes.TSConditionalType;
+}
+export interface TSInferTypeBuilder {
+    (typeParameter: K.TSTypeParameterKind): namedTypes.TSInferType;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        typeParameter: K.TSTypeParameterKind;
+    }): namedTypes.TSInferType;
+}
+export interface TSTypeParameterBuilder {
+    (name: string, constraint?: K.TSTypeKind | undefined, defaultParam?: K.TSTypeKind | undefined): namedTypes.TSTypeParameter;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        constraint?: K.TSTypeKind | undefined;
+        default?: K.TSTypeKind | undefined;
+        loc?: K.SourceLocationKind | null;
+        name: string;
+        optional?: boolean;
+        typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+    }): namedTypes.TSTypeParameter;
+}
+export interface TSParenthesizedTypeBuilder {
+    (typeAnnotation: K.TSTypeKind): namedTypes.TSParenthesizedType;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        typeAnnotation: K.TSTypeKind;
+    }): namedTypes.TSParenthesizedType;
+}
+export interface TSFunctionTypeBuilder {
+    (parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[]): namedTypes.TSFunctionType;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[];
+        typeAnnotation?: K.TSTypeAnnotationKind | null;
+        typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
+    }): namedTypes.TSFunctionType;
+}
+export interface TSConstructorTypeBuilder {
+    (parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[]): namedTypes.TSConstructorType;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[];
+        typeAnnotation?: K.TSTypeAnnotationKind | null;
+        typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
+    }): namedTypes.TSConstructorType;
+}
+export interface TSDeclareFunctionBuilder {
+    (id: K.IdentifierKind | null | undefined, params: K.PatternKind[], returnType?: K.TSTypeAnnotationKind | K.NoopKind | null): namedTypes.TSDeclareFunction;
+    from(params: {
+        async?: boolean;
+        comments?: K.CommentKind[] | null;
+        declare?: boolean;
+        generator?: boolean;
+        id?: K.IdentifierKind | null;
+        loc?: K.SourceLocationKind | null;
+        params: K.PatternKind[];
+        returnType?: K.TSTypeAnnotationKind | K.NoopKind | null;
+        typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
+    }): namedTypes.TSDeclareFunction;
+}
+export interface TSDeclareMethodBuilder {
+    (key: K.IdentifierKind | K.StringLiteralKind | K.NumericLiteralKind | K.ExpressionKind, params: K.PatternKind[], returnType?: K.TSTypeAnnotationKind | K.NoopKind | null): namedTypes.TSDeclareMethod;
+    from(params: {
+        abstract?: boolean;
+        access?: "public" | "private" | "protected" | undefined;
+        accessibility?: "public" | "private" | "protected" | undefined;
+        async?: boolean;
+        comments?: K.CommentKind[] | null;
+        computed?: boolean;
+        decorators?: K.DecoratorKind[] | null;
+        generator?: boolean;
+        key: K.IdentifierKind | K.StringLiteralKind | K.NumericLiteralKind | K.ExpressionKind;
+        kind?: "get" | "set" | "method" | "constructor";
+        loc?: K.SourceLocationKind | null;
+        optional?: boolean;
+        params: K.PatternKind[];
+        returnType?: K.TSTypeAnnotationKind | K.NoopKind | null;
+        static?: boolean;
+        typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
+    }): namedTypes.TSDeclareMethod;
+}
+export interface TSMappedTypeBuilder {
+    (typeParameter: K.TSTypeParameterKind, typeAnnotation?: K.TSTypeKind | null): namedTypes.TSMappedType;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        optional?: boolean | "+" | "-";
+        readonly?: boolean | "+" | "-";
+        typeAnnotation?: K.TSTypeKind | null;
+        typeParameter: K.TSTypeParameterKind;
+    }): namedTypes.TSMappedType;
+}
+export interface TSTupleTypeBuilder {
+    (elementTypes: (K.TSTypeKind | K.TSNamedTupleMemberKind)[]): namedTypes.TSTupleType;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        elementTypes: (K.TSTypeKind | K.TSNamedTupleMemberKind)[];
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSTupleType;
+}
+export interface TSNamedTupleMemberBuilder {
+    (label: K.IdentifierKind, elementType: K.TSTypeKind, optional?: boolean): namedTypes.TSNamedTupleMember;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        elementType: K.TSTypeKind;
+        label: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+        optional?: boolean;
+    }): namedTypes.TSNamedTupleMember;
+}
+export interface TSRestTypeBuilder {
+    (typeAnnotation: K.TSTypeKind): namedTypes.TSRestType;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        typeAnnotation: K.TSTypeKind;
+    }): namedTypes.TSRestType;
+}
+export interface TSOptionalTypeBuilder {
+    (typeAnnotation: K.TSTypeKind): namedTypes.TSOptionalType;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        typeAnnotation: K.TSTypeKind;
+    }): namedTypes.TSOptionalType;
+}
+export interface TSIndexedAccessTypeBuilder {
+    (objectType: K.TSTypeKind, indexType: K.TSTypeKind): namedTypes.TSIndexedAccessType;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        indexType: K.TSTypeKind;
+        loc?: K.SourceLocationKind | null;
+        objectType: K.TSTypeKind;
+    }): namedTypes.TSIndexedAccessType;
+}
+export interface TSTypeOperatorBuilder {
+    (operator: string): namedTypes.TSTypeOperator;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        operator: string;
+        typeAnnotation: K.TSTypeKind;
+    }): namedTypes.TSTypeOperator;
+}
+export interface TSIndexSignatureBuilder {
+    (parameters: K.IdentifierKind[], typeAnnotation?: K.TSTypeAnnotationKind | null): namedTypes.TSIndexSignature;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        parameters: K.IdentifierKind[];
+        readonly?: boolean;
+        typeAnnotation?: K.TSTypeAnnotationKind | null;
+    }): namedTypes.TSIndexSignature;
+}
+export interface TSPropertySignatureBuilder {
+    (key: K.ExpressionKind, typeAnnotation?: K.TSTypeAnnotationKind | null, optional?: boolean): namedTypes.TSPropertySignature;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        computed?: boolean;
+        initializer?: K.ExpressionKind | null;
+        key: K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+        optional?: boolean;
+        readonly?: boolean;
+        typeAnnotation?: K.TSTypeAnnotationKind | null;
+    }): namedTypes.TSPropertySignature;
+}
+export interface TSMethodSignatureBuilder {
+    (key: K.ExpressionKind, parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[], typeAnnotation?: K.TSTypeAnnotationKind | null): namedTypes.TSMethodSignature;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        computed?: boolean;
+        key: K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+        optional?: boolean;
+        parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[];
+        typeAnnotation?: K.TSTypeAnnotationKind | null;
+        typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
+    }): namedTypes.TSMethodSignature;
+}
+export interface TSTypePredicateBuilder {
+    (parameterName: K.IdentifierKind | K.TSThisTypeKind, typeAnnotation?: K.TSTypeAnnotationKind | null, asserts?: boolean): namedTypes.TSTypePredicate;
+    from(params: {
+        asserts?: boolean;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        parameterName: K.IdentifierKind | K.TSThisTypeKind;
+        typeAnnotation?: K.TSTypeAnnotationKind | null;
+    }): namedTypes.TSTypePredicate;
+}
+export interface TSCallSignatureDeclarationBuilder {
+    (parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[], typeAnnotation?: K.TSTypeAnnotationKind | null): namedTypes.TSCallSignatureDeclaration;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[];
+        typeAnnotation?: K.TSTypeAnnotationKind | null;
+        typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
+    }): namedTypes.TSCallSignatureDeclaration;
+}
+export interface TSConstructSignatureDeclarationBuilder {
+    (parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[], typeAnnotation?: K.TSTypeAnnotationKind | null): namedTypes.TSConstructSignatureDeclaration;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[];
+        typeAnnotation?: K.TSTypeAnnotationKind | null;
+        typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
+    }): namedTypes.TSConstructSignatureDeclaration;
+}
+export interface TSEnumMemberBuilder {
+    (id: K.IdentifierKind | K.StringLiteralKind, initializer?: K.ExpressionKind | null): namedTypes.TSEnumMember;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind | K.StringLiteralKind;
+        initializer?: K.ExpressionKind | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSEnumMember;
+}
+export interface TSTypeQueryBuilder {
+    (exprName: K.IdentifierKind | K.TSQualifiedNameKind | K.TSImportTypeKind): namedTypes.TSTypeQuery;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        exprName: K.IdentifierKind | K.TSQualifiedNameKind | K.TSImportTypeKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSTypeQuery;
+}
+export interface TSImportTypeBuilder {
+    (argument: K.StringLiteralKind, qualifier?: K.IdentifierKind | K.TSQualifiedNameKind | undefined, typeParameters?: K.TSTypeParameterInstantiationKind | null): namedTypes.TSImportType;
+    from(params: {
+        argument: K.StringLiteralKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        qualifier?: K.IdentifierKind | K.TSQualifiedNameKind | undefined;
+        typeParameters?: K.TSTypeParameterInstantiationKind | null;
+    }): namedTypes.TSImportType;
+}
+export interface TSTypeLiteralBuilder {
+    (members: (K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[]): namedTypes.TSTypeLiteral;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        members: (K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[];
+    }): namedTypes.TSTypeLiteral;
+}
+export interface TSTypeAssertionBuilder {
+    (typeAnnotation: K.TSTypeKind, expression: K.ExpressionKind): namedTypes.TSTypeAssertion;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        expression: K.ExpressionKind;
+        extra?: {
+            parenthesized: boolean;
+        } | null;
+        loc?: K.SourceLocationKind | null;
+        typeAnnotation: K.TSTypeKind;
+    }): namedTypes.TSTypeAssertion;
+}
+export interface TSEnumDeclarationBuilder {
+    (id: K.IdentifierKind, members: K.TSEnumMemberKind[]): namedTypes.TSEnumDeclaration;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        const?: boolean;
+        declare?: boolean;
+        id: K.IdentifierKind;
+        initializer?: K.ExpressionKind | null;
+        loc?: K.SourceLocationKind | null;
+        members: K.TSEnumMemberKind[];
+    }): namedTypes.TSEnumDeclaration;
+}
+export interface TSTypeAliasDeclarationBuilder {
+    (id: K.IdentifierKind, typeAnnotation: K.TSTypeKind): namedTypes.TSTypeAliasDeclaration;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        declare?: boolean;
+        id: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+        typeAnnotation: K.TSTypeKind;
+        typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
+    }): namedTypes.TSTypeAliasDeclaration;
+}
+export interface TSModuleBlockBuilder {
+    (body: K.StatementKind[]): namedTypes.TSModuleBlock;
+    from(params: {
+        body: K.StatementKind[];
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSModuleBlock;
+}
+export interface TSModuleDeclarationBuilder {
+    (id: K.StringLiteralKind | K.IdentifierKind | K.TSQualifiedNameKind, body?: K.TSModuleBlockKind | K.TSModuleDeclarationKind | null): namedTypes.TSModuleDeclaration;
+    from(params: {
+        body?: K.TSModuleBlockKind | K.TSModuleDeclarationKind | null;
+        comments?: K.CommentKind[] | null;
+        declare?: boolean;
+        global?: boolean;
+        id: K.StringLiteralKind | K.IdentifierKind | K.TSQualifiedNameKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSModuleDeclaration;
+}
+export interface TSImportEqualsDeclarationBuilder {
+    (id: K.IdentifierKind, moduleReference: K.IdentifierKind | K.TSQualifiedNameKind | K.TSExternalModuleReferenceKind): namedTypes.TSImportEqualsDeclaration;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind;
+        isExport?: boolean;
+        loc?: K.SourceLocationKind | null;
+        moduleReference: K.IdentifierKind | K.TSQualifiedNameKind | K.TSExternalModuleReferenceKind;
+    }): namedTypes.TSImportEqualsDeclaration;
+}
+export interface TSExternalModuleReferenceBuilder {
+    (expression: K.StringLiteralKind): namedTypes.TSExternalModuleReference;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        expression: K.StringLiteralKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSExternalModuleReference;
+}
+export interface TSExportAssignmentBuilder {
+    (expression: K.ExpressionKind): namedTypes.TSExportAssignment;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        expression: K.ExpressionKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSExportAssignment;
+}
+export interface TSNamespaceExportDeclarationBuilder {
+    (id: K.IdentifierKind): namedTypes.TSNamespaceExportDeclaration;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        id: K.IdentifierKind;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSNamespaceExportDeclaration;
+}
+export interface TSInterfaceBodyBuilder {
+    (body: (K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[]): namedTypes.TSInterfaceBody;
+    from(params: {
+        body: (K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[];
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+    }): namedTypes.TSInterfaceBody;
+}
+export interface TSInterfaceDeclarationBuilder {
+    (id: K.IdentifierKind | K.TSQualifiedNameKind, body: K.TSInterfaceBodyKind): namedTypes.TSInterfaceDeclaration;
+    from(params: {
+        body: K.TSInterfaceBodyKind;
+        comments?: K.CommentKind[] | null;
+        declare?: boolean;
+        extends?: K.TSExpressionWithTypeArgumentsKind[] | null;
+        id: K.IdentifierKind | K.TSQualifiedNameKind;
+        loc?: K.SourceLocationKind | null;
+        typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
+    }): namedTypes.TSInterfaceDeclaration;
+}
+export interface TSParameterPropertyBuilder {
+    (parameter: K.IdentifierKind | K.AssignmentPatternKind): namedTypes.TSParameterProperty;
+    from(params: {
+        accessibility?: "public" | "private" | "protected" | undefined;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        parameter: K.IdentifierKind | K.AssignmentPatternKind;
+        readonly?: boolean;
+    }): namedTypes.TSParameterProperty;
+}
+export interface OptionalMemberExpressionBuilder {
+    (object: K.ExpressionKind, property: K.IdentifierKind | K.ExpressionKind, computed?: boolean, optional?: boolean): namedTypes.OptionalMemberExpression;
+    from(params: {
+        comments?: K.CommentKind[] | null;
+        computed?: boolean;
+        loc?: K.SourceLocationKind | null;
+        object: K.ExpressionKind;
+        optional?: boolean;
+        property: K.IdentifierKind | K.ExpressionKind;
+    }): namedTypes.OptionalMemberExpression;
+}
+export interface OptionalCallExpressionBuilder {
+    (callee: K.ExpressionKind, argumentsParam: (K.ExpressionKind | K.SpreadElementKind)[], optional?: boolean): namedTypes.OptionalCallExpression;
+    from(params: {
+        arguments: (K.ExpressionKind | K.SpreadElementKind)[];
+        callee: K.ExpressionKind;
+        comments?: K.CommentKind[] | null;
+        loc?: K.SourceLocationKind | null;
+        optional?: boolean;
+        typeArguments?: null | K.TypeParameterInstantiationKind;
+    }): namedTypes.OptionalCallExpression;
+}
+export interface builders {
+    file: FileBuilder;
+    program: ProgramBuilder;
+    identifier: IdentifierBuilder;
+    blockStatement: BlockStatementBuilder;
+    emptyStatement: EmptyStatementBuilder;
+    expressionStatement: ExpressionStatementBuilder;
+    ifStatement: IfStatementBuilder;
+    labeledStatement: LabeledStatementBuilder;
+    breakStatement: BreakStatementBuilder;
+    continueStatement: ContinueStatementBuilder;
+    withStatement: WithStatementBuilder;
+    switchStatement: SwitchStatementBuilder;
+    switchCase: SwitchCaseBuilder;
+    returnStatement: ReturnStatementBuilder;
+    throwStatement: ThrowStatementBuilder;
+    tryStatement: TryStatementBuilder;
+    catchClause: CatchClauseBuilder;
+    whileStatement: WhileStatementBuilder;
+    doWhileStatement: DoWhileStatementBuilder;
+    forStatement: ForStatementBuilder;
+    variableDeclaration: VariableDeclarationBuilder;
+    forInStatement: ForInStatementBuilder;
+    debuggerStatement: DebuggerStatementBuilder;
+    functionDeclaration: FunctionDeclarationBuilder;
+    functionExpression: FunctionExpressionBuilder;
+    variableDeclarator: VariableDeclaratorBuilder;
+    thisExpression: ThisExpressionBuilder;
+    arrayExpression: ArrayExpressionBuilder;
+    objectExpression: ObjectExpressionBuilder;
+    property: PropertyBuilder;
+    literal: LiteralBuilder;
+    sequenceExpression: SequenceExpressionBuilder;
+    unaryExpression: UnaryExpressionBuilder;
+    binaryExpression: BinaryExpressionBuilder;
+    assignmentExpression: AssignmentExpressionBuilder;
+    memberExpression: MemberExpressionBuilder;
+    updateExpression: UpdateExpressionBuilder;
+    logicalExpression: LogicalExpressionBuilder;
+    conditionalExpression: ConditionalExpressionBuilder;
+    newExpression: NewExpressionBuilder;
+    callExpression: CallExpressionBuilder;
+    restElement: RestElementBuilder;
+    typeAnnotation: TypeAnnotationBuilder;
+    tsTypeAnnotation: TSTypeAnnotationBuilder;
+    spreadElementPattern: SpreadElementPatternBuilder;
+    arrowFunctionExpression: ArrowFunctionExpressionBuilder;
+    forOfStatement: ForOfStatementBuilder;
+    yieldExpression: YieldExpressionBuilder;
+    generatorExpression: GeneratorExpressionBuilder;
+    comprehensionBlock: ComprehensionBlockBuilder;
+    comprehensionExpression: ComprehensionExpressionBuilder;
+    objectProperty: ObjectPropertyBuilder;
+    propertyPattern: PropertyPatternBuilder;
+    objectPattern: ObjectPatternBuilder;
+    arrayPattern: ArrayPatternBuilder;
+    methodDefinition: MethodDefinitionBuilder;
+    spreadElement: SpreadElementBuilder;
+    assignmentPattern: AssignmentPatternBuilder;
+    classPropertyDefinition: ClassPropertyDefinitionBuilder;
+    classProperty: ClassPropertyBuilder;
+    classBody: ClassBodyBuilder;
+    classDeclaration: ClassDeclarationBuilder;
+    classExpression: ClassExpressionBuilder;
+    importSpecifier: ImportSpecifierBuilder;
+    importNamespaceSpecifier: ImportNamespaceSpecifierBuilder;
+    importDefaultSpecifier: ImportDefaultSpecifierBuilder;
+    importDeclaration: ImportDeclarationBuilder;
+    taggedTemplateExpression: TaggedTemplateExpressionBuilder;
+    templateLiteral: TemplateLiteralBuilder;
+    templateElement: TemplateElementBuilder;
+    spreadProperty: SpreadPropertyBuilder;
+    spreadPropertyPattern: SpreadPropertyPatternBuilder;
+    awaitExpression: AwaitExpressionBuilder;
+    importExpression: ImportExpressionBuilder;
+    jsxAttribute: JSXAttributeBuilder;
+    jsxIdentifier: JSXIdentifierBuilder;
+    jsxNamespacedName: JSXNamespacedNameBuilder;
+    jsxExpressionContainer: JSXExpressionContainerBuilder;
+    jsxMemberExpression: JSXMemberExpressionBuilder;
+    jsxSpreadAttribute: JSXSpreadAttributeBuilder;
+    jsxElement: JSXElementBuilder;
+    jsxOpeningElement: JSXOpeningElementBuilder;
+    jsxClosingElement: JSXClosingElementBuilder;
+    jsxFragment: JSXFragmentBuilder;
+    jsxText: JSXTextBuilder;
+    jsxOpeningFragment: JSXOpeningFragmentBuilder;
+    jsxClosingFragment: JSXClosingFragmentBuilder;
+    jsxEmptyExpression: JSXEmptyExpressionBuilder;
+    jsxSpreadChild: JSXSpreadChildBuilder;
+    typeParameterDeclaration: TypeParameterDeclarationBuilder;
+    tsTypeParameterDeclaration: TSTypeParameterDeclarationBuilder;
+    typeParameterInstantiation: TypeParameterInstantiationBuilder;
+    tsTypeParameterInstantiation: TSTypeParameterInstantiationBuilder;
+    classImplements: ClassImplementsBuilder;
+    tsExpressionWithTypeArguments: TSExpressionWithTypeArgumentsBuilder;
+    anyTypeAnnotation: AnyTypeAnnotationBuilder;
+    emptyTypeAnnotation: EmptyTypeAnnotationBuilder;
+    mixedTypeAnnotation: MixedTypeAnnotationBuilder;
+    voidTypeAnnotation: VoidTypeAnnotationBuilder;
+    numberTypeAnnotation: NumberTypeAnnotationBuilder;
+    numberLiteralTypeAnnotation: NumberLiteralTypeAnnotationBuilder;
+    numericLiteralTypeAnnotation: NumericLiteralTypeAnnotationBuilder;
+    stringTypeAnnotation: StringTypeAnnotationBuilder;
+    stringLiteralTypeAnnotation: StringLiteralTypeAnnotationBuilder;
+    booleanTypeAnnotation: BooleanTypeAnnotationBuilder;
+    booleanLiteralTypeAnnotation: BooleanLiteralTypeAnnotationBuilder;
+    nullableTypeAnnotation: NullableTypeAnnotationBuilder;
+    nullLiteralTypeAnnotation: NullLiteralTypeAnnotationBuilder;
+    nullTypeAnnotation: NullTypeAnnotationBuilder;
+    thisTypeAnnotation: ThisTypeAnnotationBuilder;
+    existsTypeAnnotation: ExistsTypeAnnotationBuilder;
+    existentialTypeParam: ExistentialTypeParamBuilder;
+    functionTypeAnnotation: FunctionTypeAnnotationBuilder;
+    functionTypeParam: FunctionTypeParamBuilder;
+    arrayTypeAnnotation: ArrayTypeAnnotationBuilder;
+    objectTypeAnnotation: ObjectTypeAnnotationBuilder;
+    objectTypeProperty: ObjectTypePropertyBuilder;
+    objectTypeSpreadProperty: ObjectTypeSpreadPropertyBuilder;
+    objectTypeIndexer: ObjectTypeIndexerBuilder;
+    objectTypeCallProperty: ObjectTypeCallPropertyBuilder;
+    objectTypeInternalSlot: ObjectTypeInternalSlotBuilder;
+    variance: VarianceBuilder;
+    qualifiedTypeIdentifier: QualifiedTypeIdentifierBuilder;
+    genericTypeAnnotation: GenericTypeAnnotationBuilder;
+    memberTypeAnnotation: MemberTypeAnnotationBuilder;
+    unionTypeAnnotation: UnionTypeAnnotationBuilder;
+    intersectionTypeAnnotation: IntersectionTypeAnnotationBuilder;
+    typeofTypeAnnotation: TypeofTypeAnnotationBuilder;
+    typeParameter: TypeParameterBuilder;
+    interfaceTypeAnnotation: InterfaceTypeAnnotationBuilder;
+    interfaceExtends: InterfaceExtendsBuilder;
+    interfaceDeclaration: InterfaceDeclarationBuilder;
+    declareInterface: DeclareInterfaceBuilder;
+    typeAlias: TypeAliasBuilder;
+    opaqueType: OpaqueTypeBuilder;
+    declareTypeAlias: DeclareTypeAliasBuilder;
+    declareOpaqueType: DeclareOpaqueTypeBuilder;
+    typeCastExpression: TypeCastExpressionBuilder;
+    tupleTypeAnnotation: TupleTypeAnnotationBuilder;
+    declareVariable: DeclareVariableBuilder;
+    declareFunction: DeclareFunctionBuilder;
+    declareClass: DeclareClassBuilder;
+    declareModule: DeclareModuleBuilder;
+    declareModuleExports: DeclareModuleExportsBuilder;
+    declareExportDeclaration: DeclareExportDeclarationBuilder;
+    exportSpecifier: ExportSpecifierBuilder;
+    exportBatchSpecifier: ExportBatchSpecifierBuilder;
+    declareExportAllDeclaration: DeclareExportAllDeclarationBuilder;
+    inferredPredicate: InferredPredicateBuilder;
+    declaredPredicate: DeclaredPredicateBuilder;
+    exportDeclaration: ExportDeclarationBuilder;
+    block: BlockBuilder;
+    line: LineBuilder;
+    noop: NoopBuilder;
+    doExpression: DoExpressionBuilder;
+    super: SuperBuilder;
+    bindExpression: BindExpressionBuilder;
+    decorator: DecoratorBuilder;
+    metaProperty: MetaPropertyBuilder;
+    parenthesizedExpression: ParenthesizedExpressionBuilder;
+    exportDefaultDeclaration: ExportDefaultDeclarationBuilder;
+    exportNamedDeclaration: ExportNamedDeclarationBuilder;
+    exportNamespaceSpecifier: ExportNamespaceSpecifierBuilder;
+    exportDefaultSpecifier: ExportDefaultSpecifierBuilder;
+    exportAllDeclaration: ExportAllDeclarationBuilder;
+    commentBlock: CommentBlockBuilder;
+    commentLine: CommentLineBuilder;
+    directive: DirectiveBuilder;
+    directiveLiteral: DirectiveLiteralBuilder;
+    interpreterDirective: InterpreterDirectiveBuilder;
+    stringLiteral: StringLiteralBuilder;
+    numericLiteral: NumericLiteralBuilder;
+    bigIntLiteral: BigIntLiteralBuilder;
+    nullLiteral: NullLiteralBuilder;
+    booleanLiteral: BooleanLiteralBuilder;
+    regExpLiteral: RegExpLiteralBuilder;
+    objectMethod: ObjectMethodBuilder;
+    classPrivateProperty: ClassPrivatePropertyBuilder;
+    classMethod: ClassMethodBuilder;
+    classPrivateMethod: ClassPrivateMethodBuilder;
+    privateName: PrivateNameBuilder;
+    restProperty: RestPropertyBuilder;
+    forAwaitStatement: ForAwaitStatementBuilder;
+    import: ImportBuilder;
+    tsQualifiedName: TSQualifiedNameBuilder;
+    tsTypeReference: TSTypeReferenceBuilder;
+    tsAsExpression: TSAsExpressionBuilder;
+    tsNonNullExpression: TSNonNullExpressionBuilder;
+    tsAnyKeyword: TSAnyKeywordBuilder;
+    tsBigIntKeyword: TSBigIntKeywordBuilder;
+    tsBooleanKeyword: TSBooleanKeywordBuilder;
+    tsNeverKeyword: TSNeverKeywordBuilder;
+    tsNullKeyword: TSNullKeywordBuilder;
+    tsNumberKeyword: TSNumberKeywordBuilder;
+    tsObjectKeyword: TSObjectKeywordBuilder;
+    tsStringKeyword: TSStringKeywordBuilder;
+    tsSymbolKeyword: TSSymbolKeywordBuilder;
+    tsUndefinedKeyword: TSUndefinedKeywordBuilder;
+    tsUnknownKeyword: TSUnknownKeywordBuilder;
+    tsVoidKeyword: TSVoidKeywordBuilder;
+    tsThisType: TSThisTypeBuilder;
+    tsArrayType: TSArrayTypeBuilder;
+    tsLiteralType: TSLiteralTypeBuilder;
+    tsUnionType: TSUnionTypeBuilder;
+    tsIntersectionType: TSIntersectionTypeBuilder;
+    tsConditionalType: TSConditionalTypeBuilder;
+    tsInferType: TSInferTypeBuilder;
+    tsTypeParameter: TSTypeParameterBuilder;
+    tsParenthesizedType: TSParenthesizedTypeBuilder;
+    tsFunctionType: TSFunctionTypeBuilder;
+    tsConstructorType: TSConstructorTypeBuilder;
+    tsDeclareFunction: TSDeclareFunctionBuilder;
+    tsDeclareMethod: TSDeclareMethodBuilder;
+    tsMappedType: TSMappedTypeBuilder;
+    tsTupleType: TSTupleTypeBuilder;
+    tsNamedTupleMember: TSNamedTupleMemberBuilder;
+    tsRestType: TSRestTypeBuilder;
+    tsOptionalType: TSOptionalTypeBuilder;
+    tsIndexedAccessType: TSIndexedAccessTypeBuilder;
+    tsTypeOperator: TSTypeOperatorBuilder;
+    tsIndexSignature: TSIndexSignatureBuilder;
+    tsPropertySignature: TSPropertySignatureBuilder;
+    tsMethodSignature: TSMethodSignatureBuilder;
+    tsTypePredicate: TSTypePredicateBuilder;
+    tsCallSignatureDeclaration: TSCallSignatureDeclarationBuilder;
+    tsConstructSignatureDeclaration: TSConstructSignatureDeclarationBuilder;
+    tsEnumMember: TSEnumMemberBuilder;
+    tsTypeQuery: TSTypeQueryBuilder;
+    tsImportType: TSImportTypeBuilder;
+    tsTypeLiteral: TSTypeLiteralBuilder;
+    tsTypeAssertion: TSTypeAssertionBuilder;
+    tsEnumDeclaration: TSEnumDeclarationBuilder;
+    tsTypeAliasDeclaration: TSTypeAliasDeclarationBuilder;
+    tsModuleBlock: TSModuleBlockBuilder;
+    tsModuleDeclaration: TSModuleDeclarationBuilder;
+    tsImportEqualsDeclaration: TSImportEqualsDeclarationBuilder;
+    tsExternalModuleReference: TSExternalModuleReferenceBuilder;
+    tsExportAssignment: TSExportAssignmentBuilder;
+    tsNamespaceExportDeclaration: TSNamespaceExportDeclarationBuilder;
+    tsInterfaceBody: TSInterfaceBodyBuilder;
+    tsInterfaceDeclaration: TSInterfaceDeclarationBuilder;
+    tsParameterProperty: TSParameterPropertyBuilder;
+    optionalMemberExpression: OptionalMemberExpressionBuilder;
+    optionalCallExpression: OptionalCallExpressionBuilder;
+    [builderName: string]: any;
+}
diff --git a/node_modules/degenerator/node_modules/ast-types/gen/builders.js b/node_modules/degenerator/node_modules/ast-types/gen/builders.js
new file mode 100644
index 0000000..c8ad2e5
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/gen/builders.js
@@ -0,0 +1,2 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/node_modules/degenerator/node_modules/ast-types/gen/kinds.d.ts b/node_modules/degenerator/node_modules/ast-types/gen/kinds.d.ts
new file mode 100644
index 0000000..5b14102
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/gen/kinds.d.ts
@@ -0,0 +1,264 @@
+import { namedTypes } from "./namedTypes";
+export declare type PrintableKind = namedTypes.File | namedTypes.Program | namedTypes.Identifier | namedTypes.BlockStatement | namedTypes.EmptyStatement | namedTypes.ExpressionStatement | namedTypes.IfStatement | namedTypes.LabeledStatement | namedTypes.BreakStatement | namedTypes.ContinueStatement | namedTypes.WithStatement | namedTypes.SwitchStatement | namedTypes.SwitchCase | namedTypes.ReturnStatement | namedTypes.ThrowStatement | namedTypes.TryStatement | namedTypes.CatchClause | namedTypes.WhileStatement | namedTypes.DoWhileStatement | namedTypes.ForStatement | namedTypes.VariableDeclaration | namedTypes.ForInStatement | namedTypes.DebuggerStatement | namedTypes.FunctionDeclaration | namedTypes.FunctionExpression | namedTypes.VariableDeclarator | namedTypes.ThisExpression | namedTypes.ArrayExpression | namedTypes.ObjectExpression | namedTypes.Property | namedTypes.Literal | namedTypes.SequenceExpression | namedTypes.UnaryExpression | namedTypes.BinaryExpression | namedTypes.AssignmentExpression | namedTypes.MemberExpression | namedTypes.UpdateExpression | namedTypes.LogicalExpression | namedTypes.ConditionalExpression | namedTypes.NewExpression | namedTypes.CallExpression | namedTypes.RestElement | namedTypes.TypeAnnotation | namedTypes.TSTypeAnnotation | namedTypes.SpreadElementPattern | namedTypes.ArrowFunctionExpression | namedTypes.ForOfStatement | namedTypes.YieldExpression | namedTypes.GeneratorExpression | namedTypes.ComprehensionBlock | namedTypes.ComprehensionExpression | namedTypes.ObjectProperty | namedTypes.PropertyPattern | namedTypes.ObjectPattern | namedTypes.ArrayPattern | namedTypes.MethodDefinition | namedTypes.SpreadElement | namedTypes.AssignmentPattern | namedTypes.ClassPropertyDefinition | namedTypes.ClassProperty | namedTypes.ClassBody | namedTypes.ClassDeclaration | namedTypes.ClassExpression | namedTypes.ImportSpecifier | namedTypes.ImportNamespaceSpecifier | namedTypes.ImportDefaultSpecifier | namedTypes.ImportDeclaration | namedTypes.TaggedTemplateExpression | namedTypes.TemplateLiteral | namedTypes.TemplateElement | namedTypes.SpreadProperty | namedTypes.SpreadPropertyPattern | namedTypes.AwaitExpression | namedTypes.ImportExpression | namedTypes.JSXAttribute | namedTypes.JSXIdentifier | namedTypes.JSXNamespacedName | namedTypes.JSXExpressionContainer | namedTypes.JSXMemberExpression | namedTypes.JSXSpreadAttribute | namedTypes.JSXElement | namedTypes.JSXOpeningElement | namedTypes.JSXClosingElement | namedTypes.JSXFragment | namedTypes.JSXText | namedTypes.JSXOpeningFragment | namedTypes.JSXClosingFragment | namedTypes.JSXEmptyExpression | namedTypes.JSXSpreadChild | namedTypes.TypeParameterDeclaration | namedTypes.TSTypeParameterDeclaration | namedTypes.TypeParameterInstantiation | namedTypes.TSTypeParameterInstantiation | namedTypes.ClassImplements | namedTypes.TSExpressionWithTypeArguments | namedTypes.AnyTypeAnnotation | namedTypes.EmptyTypeAnnotation | namedTypes.MixedTypeAnnotation | namedTypes.VoidTypeAnnotation | namedTypes.NumberTypeAnnotation | namedTypes.NumberLiteralTypeAnnotation | namedTypes.NumericLiteralTypeAnnotation | namedTypes.StringTypeAnnotation | namedTypes.StringLiteralTypeAnnotation | namedTypes.BooleanTypeAnnotation | namedTypes.BooleanLiteralTypeAnnotation | namedTypes.NullableTypeAnnotation | namedTypes.NullLiteralTypeAnnotation | namedTypes.NullTypeAnnotation | namedTypes.ThisTypeAnnotation | namedTypes.ExistsTypeAnnotation | namedTypes.ExistentialTypeParam | namedTypes.FunctionTypeAnnotation | namedTypes.FunctionTypeParam | namedTypes.ArrayTypeAnnotation | namedTypes.ObjectTypeAnnotation | namedTypes.ObjectTypeProperty | namedTypes.ObjectTypeSpreadProperty | namedTypes.ObjectTypeIndexer | namedTypes.ObjectTypeCallProperty | namedTypes.ObjectTypeInternalSlot | namedTypes.Variance | namedTypes.QualifiedTypeIdentifier | namedTypes.GenericTypeAnnotation | namedTypes.MemberTypeAnnotation | namedTypes.UnionTypeAnnotation | namedTypes.IntersectionTypeAnnotation | namedTypes.TypeofTypeAnnotation | namedTypes.TypeParameter | namedTypes.InterfaceTypeAnnotation | namedTypes.InterfaceExtends | namedTypes.InterfaceDeclaration | namedTypes.DeclareInterface | namedTypes.TypeAlias | namedTypes.OpaqueType | namedTypes.DeclareTypeAlias | namedTypes.DeclareOpaqueType | namedTypes.TypeCastExpression | namedTypes.TupleTypeAnnotation | namedTypes.DeclareVariable | namedTypes.DeclareFunction | namedTypes.DeclareClass | namedTypes.DeclareModule | namedTypes.DeclareModuleExports | namedTypes.DeclareExportDeclaration | namedTypes.ExportSpecifier | namedTypes.ExportBatchSpecifier | namedTypes.DeclareExportAllDeclaration | namedTypes.InferredPredicate | namedTypes.DeclaredPredicate | namedTypes.ExportDeclaration | namedTypes.Block | namedTypes.Line | namedTypes.Noop | namedTypes.DoExpression | namedTypes.Super | namedTypes.BindExpression | namedTypes.Decorator | namedTypes.MetaProperty | namedTypes.ParenthesizedExpression | namedTypes.ExportDefaultDeclaration | namedTypes.ExportNamedDeclaration | namedTypes.ExportNamespaceSpecifier | namedTypes.ExportDefaultSpecifier | namedTypes.ExportAllDeclaration | namedTypes.CommentBlock | namedTypes.CommentLine | namedTypes.Directive | namedTypes.DirectiveLiteral | namedTypes.InterpreterDirective | namedTypes.StringLiteral | namedTypes.NumericLiteral | namedTypes.BigIntLiteral | namedTypes.NullLiteral | namedTypes.BooleanLiteral | namedTypes.RegExpLiteral | namedTypes.ObjectMethod | namedTypes.ClassPrivateProperty | namedTypes.ClassMethod | namedTypes.ClassPrivateMethod | namedTypes.PrivateName | namedTypes.RestProperty | namedTypes.ForAwaitStatement | namedTypes.Import | namedTypes.TSQualifiedName | namedTypes.TSTypeReference | namedTypes.TSAsExpression | namedTypes.TSNonNullExpression | namedTypes.TSAnyKeyword | namedTypes.TSBigIntKeyword | namedTypes.TSBooleanKeyword | namedTypes.TSNeverKeyword | namedTypes.TSNullKeyword | namedTypes.TSNumberKeyword | namedTypes.TSObjectKeyword | namedTypes.TSStringKeyword | namedTypes.TSSymbolKeyword | namedTypes.TSUndefinedKeyword | namedTypes.TSUnknownKeyword | namedTypes.TSVoidKeyword | namedTypes.TSThisType | namedTypes.TSArrayType | namedTypes.TSLiteralType | namedTypes.TSUnionType | namedTypes.TSIntersectionType | namedTypes.TSConditionalType | namedTypes.TSInferType | namedTypes.TSTypeParameter | namedTypes.TSParenthesizedType | namedTypes.TSFunctionType | namedTypes.TSConstructorType | namedTypes.TSDeclareFunction | namedTypes.TSDeclareMethod | namedTypes.TSMappedType | namedTypes.TSTupleType | namedTypes.TSNamedTupleMember | namedTypes.TSRestType | namedTypes.TSOptionalType | namedTypes.TSIndexedAccessType | namedTypes.TSTypeOperator | namedTypes.TSIndexSignature | namedTypes.TSPropertySignature | namedTypes.TSMethodSignature | namedTypes.TSTypePredicate | namedTypes.TSCallSignatureDeclaration | namedTypes.TSConstructSignatureDeclaration | namedTypes.TSEnumMember | namedTypes.TSTypeQuery | namedTypes.TSImportType | namedTypes.TSTypeLiteral | namedTypes.TSTypeAssertion | namedTypes.TSEnumDeclaration | namedTypes.TSTypeAliasDeclaration | namedTypes.TSModuleBlock | namedTypes.TSModuleDeclaration | namedTypes.TSImportEqualsDeclaration | namedTypes.TSExternalModuleReference | namedTypes.TSExportAssignment | namedTypes.TSNamespaceExportDeclaration | namedTypes.TSInterfaceBody | namedTypes.TSInterfaceDeclaration | namedTypes.TSParameterProperty | namedTypes.OptionalMemberExpression | namedTypes.OptionalCallExpression;
+export declare type SourceLocationKind = namedTypes.SourceLocation;
+export declare type NodeKind = namedTypes.File | namedTypes.Program | namedTypes.Identifier | namedTypes.BlockStatement | namedTypes.EmptyStatement | namedTypes.ExpressionStatement | namedTypes.IfStatement | namedTypes.LabeledStatement | namedTypes.BreakStatement | namedTypes.ContinueStatement | namedTypes.WithStatement | namedTypes.SwitchStatement | namedTypes.SwitchCase | namedTypes.ReturnStatement | namedTypes.ThrowStatement | namedTypes.TryStatement | namedTypes.CatchClause | namedTypes.WhileStatement | namedTypes.DoWhileStatement | namedTypes.ForStatement | namedTypes.VariableDeclaration | namedTypes.ForInStatement | namedTypes.DebuggerStatement | namedTypes.FunctionDeclaration | namedTypes.FunctionExpression | namedTypes.VariableDeclarator | namedTypes.ThisExpression | namedTypes.ArrayExpression | namedTypes.ObjectExpression | namedTypes.Property | namedTypes.Literal | namedTypes.SequenceExpression | namedTypes.UnaryExpression | namedTypes.BinaryExpression | namedTypes.AssignmentExpression | namedTypes.MemberExpression | namedTypes.UpdateExpression | namedTypes.LogicalExpression | namedTypes.ConditionalExpression | namedTypes.NewExpression | namedTypes.CallExpression | namedTypes.RestElement | namedTypes.TypeAnnotation | namedTypes.TSTypeAnnotation | namedTypes.SpreadElementPattern | namedTypes.ArrowFunctionExpression | namedTypes.ForOfStatement | namedTypes.YieldExpression | namedTypes.GeneratorExpression | namedTypes.ComprehensionBlock | namedTypes.ComprehensionExpression | namedTypes.ObjectProperty | namedTypes.PropertyPattern | namedTypes.ObjectPattern | namedTypes.ArrayPattern | namedTypes.MethodDefinition | namedTypes.SpreadElement | namedTypes.AssignmentPattern | namedTypes.ClassPropertyDefinition | namedTypes.ClassProperty | namedTypes.ClassBody | namedTypes.ClassDeclaration | namedTypes.ClassExpression | namedTypes.ImportSpecifier | namedTypes.ImportNamespaceSpecifier | namedTypes.ImportDefaultSpecifier | namedTypes.ImportDeclaration | namedTypes.TaggedTemplateExpression | namedTypes.TemplateLiteral | namedTypes.TemplateElement | namedTypes.SpreadProperty | namedTypes.SpreadPropertyPattern | namedTypes.AwaitExpression | namedTypes.ImportExpression | namedTypes.JSXAttribute | namedTypes.JSXIdentifier | namedTypes.JSXNamespacedName | namedTypes.JSXExpressionContainer | namedTypes.JSXMemberExpression | namedTypes.JSXSpreadAttribute | namedTypes.JSXElement | namedTypes.JSXOpeningElement | namedTypes.JSXClosingElement | namedTypes.JSXFragment | namedTypes.JSXText | namedTypes.JSXOpeningFragment | namedTypes.JSXClosingFragment | namedTypes.JSXEmptyExpression | namedTypes.JSXSpreadChild | namedTypes.TypeParameterDeclaration | namedTypes.TSTypeParameterDeclaration | namedTypes.TypeParameterInstantiation | namedTypes.TSTypeParameterInstantiation | namedTypes.ClassImplements | namedTypes.TSExpressionWithTypeArguments | namedTypes.AnyTypeAnnotation | namedTypes.EmptyTypeAnnotation | namedTypes.MixedTypeAnnotation | namedTypes.VoidTypeAnnotation | namedTypes.NumberTypeAnnotation | namedTypes.NumberLiteralTypeAnnotation | namedTypes.NumericLiteralTypeAnnotation | namedTypes.StringTypeAnnotation | namedTypes.StringLiteralTypeAnnotation | namedTypes.BooleanTypeAnnotation | namedTypes.BooleanLiteralTypeAnnotation | namedTypes.NullableTypeAnnotation | namedTypes.NullLiteralTypeAnnotation | namedTypes.NullTypeAnnotation | namedTypes.ThisTypeAnnotation | namedTypes.ExistsTypeAnnotation | namedTypes.ExistentialTypeParam | namedTypes.FunctionTypeAnnotation | namedTypes.FunctionTypeParam | namedTypes.ArrayTypeAnnotation | namedTypes.ObjectTypeAnnotation | namedTypes.ObjectTypeProperty | namedTypes.ObjectTypeSpreadProperty | namedTypes.ObjectTypeIndexer | namedTypes.ObjectTypeCallProperty | namedTypes.ObjectTypeInternalSlot | namedTypes.Variance | namedTypes.QualifiedTypeIdentifier | namedTypes.GenericTypeAnnotation | namedTypes.MemberTypeAnnotation | namedTypes.UnionTypeAnnotation | namedTypes.IntersectionTypeAnnotation | namedTypes.TypeofTypeAnnotation | namedTypes.TypeParameter | namedTypes.InterfaceTypeAnnotation | namedTypes.InterfaceExtends | namedTypes.InterfaceDeclaration | namedTypes.DeclareInterface | namedTypes.TypeAlias | namedTypes.OpaqueType | namedTypes.DeclareTypeAlias | namedTypes.DeclareOpaqueType | namedTypes.TypeCastExpression | namedTypes.TupleTypeAnnotation | namedTypes.DeclareVariable | namedTypes.DeclareFunction | namedTypes.DeclareClass | namedTypes.DeclareModule | namedTypes.DeclareModuleExports | namedTypes.DeclareExportDeclaration | namedTypes.ExportSpecifier | namedTypes.ExportBatchSpecifier | namedTypes.DeclareExportAllDeclaration | namedTypes.InferredPredicate | namedTypes.DeclaredPredicate | namedTypes.ExportDeclaration | namedTypes.Noop | namedTypes.DoExpression | namedTypes.Super | namedTypes.BindExpression | namedTypes.Decorator | namedTypes.MetaProperty | namedTypes.ParenthesizedExpression | namedTypes.ExportDefaultDeclaration | namedTypes.ExportNamedDeclaration | namedTypes.ExportNamespaceSpecifier | namedTypes.ExportDefaultSpecifier | namedTypes.ExportAllDeclaration | namedTypes.Directive | namedTypes.DirectiveLiteral | namedTypes.InterpreterDirective | namedTypes.StringLiteral | namedTypes.NumericLiteral | namedTypes.BigIntLiteral | namedTypes.NullLiteral | namedTypes.BooleanLiteral | namedTypes.RegExpLiteral | namedTypes.ObjectMethod | namedTypes.ClassPrivateProperty | namedTypes.ClassMethod | namedTypes.ClassPrivateMethod | namedTypes.PrivateName | namedTypes.RestProperty | namedTypes.ForAwaitStatement | namedTypes.Import | namedTypes.TSQualifiedName | namedTypes.TSTypeReference | namedTypes.TSAsExpression | namedTypes.TSNonNullExpression | namedTypes.TSAnyKeyword | namedTypes.TSBigIntKeyword | namedTypes.TSBooleanKeyword | namedTypes.TSNeverKeyword | namedTypes.TSNullKeyword | namedTypes.TSNumberKeyword | namedTypes.TSObjectKeyword | namedTypes.TSStringKeyword | namedTypes.TSSymbolKeyword | namedTypes.TSUndefinedKeyword | namedTypes.TSUnknownKeyword | namedTypes.TSVoidKeyword | namedTypes.TSThisType | namedTypes.TSArrayType | namedTypes.TSLiteralType | namedTypes.TSUnionType | namedTypes.TSIntersectionType | namedTypes.TSConditionalType | namedTypes.TSInferType | namedTypes.TSTypeParameter | namedTypes.TSParenthesizedType | namedTypes.TSFunctionType | namedTypes.TSConstructorType | namedTypes.TSDeclareFunction | namedTypes.TSDeclareMethod | namedTypes.TSMappedType | namedTypes.TSTupleType | namedTypes.TSNamedTupleMember | namedTypes.TSRestType | namedTypes.TSOptionalType | namedTypes.TSIndexedAccessType | namedTypes.TSTypeOperator | namedTypes.TSIndexSignature | namedTypes.TSPropertySignature | namedTypes.TSMethodSignature | namedTypes.TSTypePredicate | namedTypes.TSCallSignatureDeclaration | namedTypes.TSConstructSignatureDeclaration | namedTypes.TSEnumMember | namedTypes.TSTypeQuery | namedTypes.TSImportType | namedTypes.TSTypeLiteral | namedTypes.TSTypeAssertion | namedTypes.TSEnumDeclaration | namedTypes.TSTypeAliasDeclaration | namedTypes.TSModuleBlock | namedTypes.TSModuleDeclaration | namedTypes.TSImportEqualsDeclaration | namedTypes.TSExternalModuleReference | namedTypes.TSExportAssignment | namedTypes.TSNamespaceExportDeclaration | namedTypes.TSInterfaceBody | namedTypes.TSInterfaceDeclaration | namedTypes.TSParameterProperty | namedTypes.OptionalMemberExpression | namedTypes.OptionalCallExpression;
+export declare type CommentKind = namedTypes.Block | namedTypes.Line | namedTypes.CommentBlock | namedTypes.CommentLine;
+export declare type PositionKind = namedTypes.Position;
+export declare type FileKind = namedTypes.File;
+export declare type ProgramKind = namedTypes.Program;
+export declare type StatementKind = namedTypes.BlockStatement | namedTypes.EmptyStatement | namedTypes.ExpressionStatement | namedTypes.IfStatement | namedTypes.LabeledStatement | namedTypes.BreakStatement | namedTypes.ContinueStatement | namedTypes.WithStatement | namedTypes.SwitchStatement | namedTypes.ReturnStatement | namedTypes.ThrowStatement | namedTypes.TryStatement | namedTypes.WhileStatement | namedTypes.DoWhileStatement | namedTypes.ForStatement | namedTypes.VariableDeclaration | namedTypes.ForInStatement | namedTypes.DebuggerStatement | namedTypes.FunctionDeclaration | namedTypes.ForOfStatement | namedTypes.MethodDefinition | namedTypes.ClassPropertyDefinition | namedTypes.ClassProperty | namedTypes.ClassBody | namedTypes.ClassDeclaration | namedTypes.ImportDeclaration | namedTypes.TSTypeParameterDeclaration | namedTypes.InterfaceDeclaration | namedTypes.DeclareInterface | namedTypes.TypeAlias | namedTypes.OpaqueType | namedTypes.DeclareTypeAlias | namedTypes.DeclareOpaqueType | namedTypes.DeclareVariable | namedTypes.DeclareFunction | namedTypes.DeclareClass | namedTypes.DeclareModule | namedTypes.DeclareModuleExports | namedTypes.DeclareExportDeclaration | namedTypes.DeclareExportAllDeclaration | namedTypes.ExportDeclaration | namedTypes.Noop | namedTypes.ExportDefaultDeclaration | namedTypes.ExportNamedDeclaration | namedTypes.ExportAllDeclaration | namedTypes.ClassPrivateProperty | namedTypes.ClassMethod | namedTypes.ClassPrivateMethod | namedTypes.ForAwaitStatement | namedTypes.TSDeclareFunction | namedTypes.TSDeclareMethod | namedTypes.TSIndexSignature | namedTypes.TSPropertySignature | namedTypes.TSMethodSignature | namedTypes.TSCallSignatureDeclaration | namedTypes.TSConstructSignatureDeclaration | namedTypes.TSEnumDeclaration | namedTypes.TSTypeAliasDeclaration | namedTypes.TSModuleDeclaration | namedTypes.TSImportEqualsDeclaration | namedTypes.TSExternalModuleReference | namedTypes.TSExportAssignment | namedTypes.TSNamespaceExportDeclaration | namedTypes.TSInterfaceDeclaration;
+export declare type FunctionKind = namedTypes.FunctionDeclaration | namedTypes.FunctionExpression | namedTypes.ArrowFunctionExpression | namedTypes.ObjectMethod | namedTypes.ClassMethod | namedTypes.ClassPrivateMethod;
+export declare type ExpressionKind = namedTypes.Identifier | namedTypes.FunctionExpression | namedTypes.ThisExpression | namedTypes.ArrayExpression | namedTypes.ObjectExpression | namedTypes.Literal | namedTypes.SequenceExpression | namedTypes.UnaryExpression | namedTypes.BinaryExpression | namedTypes.AssignmentExpression | namedTypes.MemberExpression | namedTypes.UpdateExpression | namedTypes.LogicalExpression | namedTypes.ConditionalExpression | namedTypes.NewExpression | namedTypes.CallExpression | namedTypes.ArrowFunctionExpression | namedTypes.YieldExpression | namedTypes.GeneratorExpression | namedTypes.ComprehensionExpression | namedTypes.ClassExpression | namedTypes.TaggedTemplateExpression | namedTypes.TemplateLiteral | namedTypes.AwaitExpression | namedTypes.ImportExpression | namedTypes.JSXIdentifier | namedTypes.JSXExpressionContainer | namedTypes.JSXMemberExpression | namedTypes.JSXElement | namedTypes.JSXFragment | namedTypes.JSXText | namedTypes.JSXEmptyExpression | namedTypes.JSXSpreadChild | namedTypes.TypeCastExpression | namedTypes.DoExpression | namedTypes.Super | namedTypes.BindExpression | namedTypes.MetaProperty | namedTypes.ParenthesizedExpression | namedTypes.DirectiveLiteral | namedTypes.StringLiteral | namedTypes.NumericLiteral | namedTypes.BigIntLiteral | namedTypes.NullLiteral | namedTypes.BooleanLiteral | namedTypes.RegExpLiteral | namedTypes.PrivateName | namedTypes.Import | namedTypes.TSAsExpression | namedTypes.TSNonNullExpression | namedTypes.TSTypeParameter | namedTypes.TSTypeAssertion | namedTypes.OptionalMemberExpression | namedTypes.OptionalCallExpression;
+export declare type PatternKind = namedTypes.Identifier | namedTypes.RestElement | namedTypes.SpreadElementPattern | namedTypes.PropertyPattern | namedTypes.ObjectPattern | namedTypes.ArrayPattern | namedTypes.AssignmentPattern | namedTypes.SpreadPropertyPattern | namedTypes.JSXIdentifier | namedTypes.PrivateName | namedTypes.TSAsExpression | namedTypes.TSNonNullExpression | namedTypes.TSTypeParameter | namedTypes.TSTypeAssertion | namedTypes.TSParameterProperty;
+export declare type IdentifierKind = namedTypes.Identifier | namedTypes.JSXIdentifier | namedTypes.TSTypeParameter;
+export declare type BlockStatementKind = namedTypes.BlockStatement;
+export declare type EmptyStatementKind = namedTypes.EmptyStatement;
+export declare type ExpressionStatementKind = namedTypes.ExpressionStatement;
+export declare type IfStatementKind = namedTypes.IfStatement;
+export declare type LabeledStatementKind = namedTypes.LabeledStatement;
+export declare type BreakStatementKind = namedTypes.BreakStatement;
+export declare type ContinueStatementKind = namedTypes.ContinueStatement;
+export declare type WithStatementKind = namedTypes.WithStatement;
+export declare type SwitchStatementKind = namedTypes.SwitchStatement;
+export declare type SwitchCaseKind = namedTypes.SwitchCase;
+export declare type ReturnStatementKind = namedTypes.ReturnStatement;
+export declare type ThrowStatementKind = namedTypes.ThrowStatement;
+export declare type TryStatementKind = namedTypes.TryStatement;
+export declare type CatchClauseKind = namedTypes.CatchClause;
+export declare type WhileStatementKind = namedTypes.WhileStatement;
+export declare type DoWhileStatementKind = namedTypes.DoWhileStatement;
+export declare type ForStatementKind = namedTypes.ForStatement;
+export declare type DeclarationKind = namedTypes.VariableDeclaration | namedTypes.FunctionDeclaration | namedTypes.MethodDefinition | namedTypes.ClassPropertyDefinition | namedTypes.ClassProperty | namedTypes.ClassBody | namedTypes.ClassDeclaration | namedTypes.ImportDeclaration | namedTypes.TSTypeParameterDeclaration | namedTypes.InterfaceDeclaration | namedTypes.DeclareInterface | namedTypes.TypeAlias | namedTypes.OpaqueType | namedTypes.DeclareTypeAlias | namedTypes.DeclareOpaqueType | namedTypes.DeclareClass | namedTypes.DeclareExportDeclaration | namedTypes.DeclareExportAllDeclaration | namedTypes.ExportDeclaration | namedTypes.ExportDefaultDeclaration | namedTypes.ExportNamedDeclaration | namedTypes.ExportAllDeclaration | namedTypes.ClassPrivateProperty | namedTypes.ClassMethod | namedTypes.ClassPrivateMethod | namedTypes.TSDeclareFunction | namedTypes.TSDeclareMethod | namedTypes.TSIndexSignature | namedTypes.TSPropertySignature | namedTypes.TSMethodSignature | namedTypes.TSCallSignatureDeclaration | namedTypes.TSConstructSignatureDeclaration | namedTypes.TSEnumDeclaration | namedTypes.TSTypeAliasDeclaration | namedTypes.TSModuleDeclaration | namedTypes.TSImportEqualsDeclaration | namedTypes.TSExternalModuleReference | namedTypes.TSNamespaceExportDeclaration | namedTypes.TSInterfaceDeclaration;
+export declare type VariableDeclarationKind = namedTypes.VariableDeclaration;
+export declare type ForInStatementKind = namedTypes.ForInStatement;
+export declare type DebuggerStatementKind = namedTypes.DebuggerStatement;
+export declare type FunctionDeclarationKind = namedTypes.FunctionDeclaration;
+export declare type FunctionExpressionKind = namedTypes.FunctionExpression;
+export declare type VariableDeclaratorKind = namedTypes.VariableDeclarator;
+export declare type ThisExpressionKind = namedTypes.ThisExpression;
+export declare type ArrayExpressionKind = namedTypes.ArrayExpression;
+export declare type ObjectExpressionKind = namedTypes.ObjectExpression;
+export declare type PropertyKind = namedTypes.Property;
+export declare type LiteralKind = namedTypes.Literal | namedTypes.JSXText | namedTypes.StringLiteral | namedTypes.NumericLiteral | namedTypes.BigIntLiteral | namedTypes.NullLiteral | namedTypes.BooleanLiteral | namedTypes.RegExpLiteral;
+export declare type SequenceExpressionKind = namedTypes.SequenceExpression;
+export declare type UnaryExpressionKind = namedTypes.UnaryExpression;
+export declare type BinaryExpressionKind = namedTypes.BinaryExpression;
+export declare type AssignmentExpressionKind = namedTypes.AssignmentExpression;
+export declare type MemberExpressionKind = namedTypes.MemberExpression | namedTypes.JSXMemberExpression | namedTypes.OptionalMemberExpression;
+export declare type UpdateExpressionKind = namedTypes.UpdateExpression;
+export declare type LogicalExpressionKind = namedTypes.LogicalExpression;
+export declare type ConditionalExpressionKind = namedTypes.ConditionalExpression;
+export declare type NewExpressionKind = namedTypes.NewExpression;
+export declare type CallExpressionKind = namedTypes.CallExpression | namedTypes.OptionalCallExpression;
+export declare type RestElementKind = namedTypes.RestElement;
+export declare type TypeAnnotationKind = namedTypes.TypeAnnotation;
+export declare type TSTypeAnnotationKind = namedTypes.TSTypeAnnotation | namedTypes.TSTypePredicate;
+export declare type SpreadElementPatternKind = namedTypes.SpreadElementPattern;
+export declare type ArrowFunctionExpressionKind = namedTypes.ArrowFunctionExpression;
+export declare type ForOfStatementKind = namedTypes.ForOfStatement;
+export declare type YieldExpressionKind = namedTypes.YieldExpression;
+export declare type GeneratorExpressionKind = namedTypes.GeneratorExpression;
+export declare type ComprehensionBlockKind = namedTypes.ComprehensionBlock;
+export declare type ComprehensionExpressionKind = namedTypes.ComprehensionExpression;
+export declare type ObjectPropertyKind = namedTypes.ObjectProperty;
+export declare type PropertyPatternKind = namedTypes.PropertyPattern;
+export declare type ObjectPatternKind = namedTypes.ObjectPattern;
+export declare type ArrayPatternKind = namedTypes.ArrayPattern;
+export declare type MethodDefinitionKind = namedTypes.MethodDefinition;
+export declare type SpreadElementKind = namedTypes.SpreadElement;
+export declare type AssignmentPatternKind = namedTypes.AssignmentPattern;
+export declare type ClassPropertyDefinitionKind = namedTypes.ClassPropertyDefinition;
+export declare type ClassPropertyKind = namedTypes.ClassProperty | namedTypes.ClassPrivateProperty;
+export declare type ClassBodyKind = namedTypes.ClassBody;
+export declare type ClassDeclarationKind = namedTypes.ClassDeclaration;
+export declare type ClassExpressionKind = namedTypes.ClassExpression;
+export declare type SpecifierKind = namedTypes.ImportSpecifier | namedTypes.ImportNamespaceSpecifier | namedTypes.ImportDefaultSpecifier | namedTypes.ExportSpecifier | namedTypes.ExportBatchSpecifier | namedTypes.ExportNamespaceSpecifier | namedTypes.ExportDefaultSpecifier;
+export declare type ModuleSpecifierKind = namedTypes.ImportSpecifier | namedTypes.ImportNamespaceSpecifier | namedTypes.ImportDefaultSpecifier | namedTypes.ExportSpecifier;
+export declare type ImportSpecifierKind = namedTypes.ImportSpecifier;
+export declare type ImportNamespaceSpecifierKind = namedTypes.ImportNamespaceSpecifier;
+export declare type ImportDefaultSpecifierKind = namedTypes.ImportDefaultSpecifier;
+export declare type ImportDeclarationKind = namedTypes.ImportDeclaration;
+export declare type TaggedTemplateExpressionKind = namedTypes.TaggedTemplateExpression;
+export declare type TemplateLiteralKind = namedTypes.TemplateLiteral;
+export declare type TemplateElementKind = namedTypes.TemplateElement;
+export declare type SpreadPropertyKind = namedTypes.SpreadProperty;
+export declare type SpreadPropertyPatternKind = namedTypes.SpreadPropertyPattern;
+export declare type AwaitExpressionKind = namedTypes.AwaitExpression;
+export declare type ImportExpressionKind = namedTypes.ImportExpression;
+export declare type JSXAttributeKind = namedTypes.JSXAttribute;
+export declare type JSXIdentifierKind = namedTypes.JSXIdentifier;
+export declare type JSXNamespacedNameKind = namedTypes.JSXNamespacedName;
+export declare type JSXExpressionContainerKind = namedTypes.JSXExpressionContainer;
+export declare type JSXMemberExpressionKind = namedTypes.JSXMemberExpression;
+export declare type JSXSpreadAttributeKind = namedTypes.JSXSpreadAttribute;
+export declare type JSXElementKind = namedTypes.JSXElement;
+export declare type JSXOpeningElementKind = namedTypes.JSXOpeningElement;
+export declare type JSXClosingElementKind = namedTypes.JSXClosingElement;
+export declare type JSXFragmentKind = namedTypes.JSXFragment;
+export declare type JSXTextKind = namedTypes.JSXText;
+export declare type JSXOpeningFragmentKind = namedTypes.JSXOpeningFragment;
+export declare type JSXClosingFragmentKind = namedTypes.JSXClosingFragment;
+export declare type JSXEmptyExpressionKind = namedTypes.JSXEmptyExpression;
+export declare type JSXSpreadChildKind = namedTypes.JSXSpreadChild;
+export declare type TypeParameterDeclarationKind = namedTypes.TypeParameterDeclaration;
+export declare type TSTypeParameterDeclarationKind = namedTypes.TSTypeParameterDeclaration;
+export declare type TypeParameterInstantiationKind = namedTypes.TypeParameterInstantiation;
+export declare type TSTypeParameterInstantiationKind = namedTypes.TSTypeParameterInstantiation;
+export declare type ClassImplementsKind = namedTypes.ClassImplements;
+export declare type TSTypeKind = namedTypes.TSExpressionWithTypeArguments | namedTypes.TSTypeReference | namedTypes.TSAnyKeyword | namedTypes.TSBigIntKeyword | namedTypes.TSBooleanKeyword | namedTypes.TSNeverKeyword | namedTypes.TSNullKeyword | namedTypes.TSNumberKeyword | namedTypes.TSObjectKeyword | namedTypes.TSStringKeyword | namedTypes.TSSymbolKeyword | namedTypes.TSUndefinedKeyword | namedTypes.TSUnknownKeyword | namedTypes.TSVoidKeyword | namedTypes.TSThisType | namedTypes.TSArrayType | namedTypes.TSLiteralType | namedTypes.TSUnionType | namedTypes.TSIntersectionType | namedTypes.TSConditionalType | namedTypes.TSInferType | namedTypes.TSParenthesizedType | namedTypes.TSFunctionType | namedTypes.TSConstructorType | namedTypes.TSMappedType | namedTypes.TSTupleType | namedTypes.TSNamedTupleMember | namedTypes.TSRestType | namedTypes.TSOptionalType | namedTypes.TSIndexedAccessType | namedTypes.TSTypeOperator | namedTypes.TSTypePredicate | namedTypes.TSTypeQuery | namedTypes.TSImportType | namedTypes.TSTypeLiteral;
+export declare type TSHasOptionalTypeParameterInstantiationKind = namedTypes.TSExpressionWithTypeArguments | namedTypes.TSTypeReference | namedTypes.TSImportType;
+export declare type TSExpressionWithTypeArgumentsKind = namedTypes.TSExpressionWithTypeArguments;
+export declare type FlowKind = namedTypes.AnyTypeAnnotation | namedTypes.EmptyTypeAnnotation | namedTypes.MixedTypeAnnotation | namedTypes.VoidTypeAnnotation | namedTypes.NumberTypeAnnotation | namedTypes.NumberLiteralTypeAnnotation | namedTypes.NumericLiteralTypeAnnotation | namedTypes.StringTypeAnnotation | namedTypes.StringLiteralTypeAnnotation | namedTypes.BooleanTypeAnnotation | namedTypes.BooleanLiteralTypeAnnotation | namedTypes.NullableTypeAnnotation | namedTypes.NullLiteralTypeAnnotation | namedTypes.NullTypeAnnotation | namedTypes.ThisTypeAnnotation | namedTypes.ExistsTypeAnnotation | namedTypes.ExistentialTypeParam | namedTypes.FunctionTypeAnnotation | namedTypes.ArrayTypeAnnotation | namedTypes.ObjectTypeAnnotation | namedTypes.GenericTypeAnnotation | namedTypes.MemberTypeAnnotation | namedTypes.UnionTypeAnnotation | namedTypes.IntersectionTypeAnnotation | namedTypes.TypeofTypeAnnotation | namedTypes.TypeParameter | namedTypes.InterfaceTypeAnnotation | namedTypes.TupleTypeAnnotation | namedTypes.InferredPredicate | namedTypes.DeclaredPredicate;
+export declare type FlowTypeKind = namedTypes.AnyTypeAnnotation | namedTypes.EmptyTypeAnnotation | namedTypes.MixedTypeAnnotation | namedTypes.VoidTypeAnnotation | namedTypes.NumberTypeAnnotation | namedTypes.NumberLiteralTypeAnnotation | namedTypes.NumericLiteralTypeAnnotation | namedTypes.StringTypeAnnotation | namedTypes.StringLiteralTypeAnnotation | namedTypes.BooleanTypeAnnotation | namedTypes.BooleanLiteralTypeAnnotation | namedTypes.NullableTypeAnnotation | namedTypes.NullLiteralTypeAnnotation | namedTypes.NullTypeAnnotation | namedTypes.ThisTypeAnnotation | namedTypes.ExistsTypeAnnotation | namedTypes.ExistentialTypeParam | namedTypes.FunctionTypeAnnotation | namedTypes.ArrayTypeAnnotation | namedTypes.ObjectTypeAnnotation | namedTypes.GenericTypeAnnotation | namedTypes.MemberTypeAnnotation | namedTypes.UnionTypeAnnotation | namedTypes.IntersectionTypeAnnotation | namedTypes.TypeofTypeAnnotation | namedTypes.TypeParameter | namedTypes.InterfaceTypeAnnotation | namedTypes.TupleTypeAnnotation;
+export declare type AnyTypeAnnotationKind = namedTypes.AnyTypeAnnotation;
+export declare type EmptyTypeAnnotationKind = namedTypes.EmptyTypeAnnotation;
+export declare type MixedTypeAnnotationKind = namedTypes.MixedTypeAnnotation;
+export declare type VoidTypeAnnotationKind = namedTypes.VoidTypeAnnotation;
+export declare type NumberTypeAnnotationKind = namedTypes.NumberTypeAnnotation;
+export declare type NumberLiteralTypeAnnotationKind = namedTypes.NumberLiteralTypeAnnotation;
+export declare type NumericLiteralTypeAnnotationKind = namedTypes.NumericLiteralTypeAnnotation;
+export declare type StringTypeAnnotationKind = namedTypes.StringTypeAnnotation;
+export declare type StringLiteralTypeAnnotationKind = namedTypes.StringLiteralTypeAnnotation;
+export declare type BooleanTypeAnnotationKind = namedTypes.BooleanTypeAnnotation;
+export declare type BooleanLiteralTypeAnnotationKind = namedTypes.BooleanLiteralTypeAnnotation;
+export declare type NullableTypeAnnotationKind = namedTypes.NullableTypeAnnotation;
+export declare type NullLiteralTypeAnnotationKind = namedTypes.NullLiteralTypeAnnotation;
+export declare type NullTypeAnnotationKind = namedTypes.NullTypeAnnotation;
+export declare type ThisTypeAnnotationKind = namedTypes.ThisTypeAnnotation;
+export declare type ExistsTypeAnnotationKind = namedTypes.ExistsTypeAnnotation;
+export declare type ExistentialTypeParamKind = namedTypes.ExistentialTypeParam;
+export declare type FunctionTypeAnnotationKind = namedTypes.FunctionTypeAnnotation;
+export declare type FunctionTypeParamKind = namedTypes.FunctionTypeParam;
+export declare type ArrayTypeAnnotationKind = namedTypes.ArrayTypeAnnotation;
+export declare type ObjectTypeAnnotationKind = namedTypes.ObjectTypeAnnotation;
+export declare type ObjectTypePropertyKind = namedTypes.ObjectTypeProperty;
+export declare type ObjectTypeSpreadPropertyKind = namedTypes.ObjectTypeSpreadProperty;
+export declare type ObjectTypeIndexerKind = namedTypes.ObjectTypeIndexer;
+export declare type ObjectTypeCallPropertyKind = namedTypes.ObjectTypeCallProperty;
+export declare type ObjectTypeInternalSlotKind = namedTypes.ObjectTypeInternalSlot;
+export declare type VarianceKind = namedTypes.Variance;
+export declare type QualifiedTypeIdentifierKind = namedTypes.QualifiedTypeIdentifier;
+export declare type GenericTypeAnnotationKind = namedTypes.GenericTypeAnnotation;
+export declare type MemberTypeAnnotationKind = namedTypes.MemberTypeAnnotation;
+export declare type UnionTypeAnnotationKind = namedTypes.UnionTypeAnnotation;
+export declare type IntersectionTypeAnnotationKind = namedTypes.IntersectionTypeAnnotation;
+export declare type TypeofTypeAnnotationKind = namedTypes.TypeofTypeAnnotation;
+export declare type TypeParameterKind = namedTypes.TypeParameter;
+export declare type InterfaceTypeAnnotationKind = namedTypes.InterfaceTypeAnnotation;
+export declare type InterfaceExtendsKind = namedTypes.InterfaceExtends;
+export declare type InterfaceDeclarationKind = namedTypes.InterfaceDeclaration | namedTypes.DeclareInterface | namedTypes.DeclareClass;
+export declare type DeclareInterfaceKind = namedTypes.DeclareInterface;
+export declare type TypeAliasKind = namedTypes.TypeAlias | namedTypes.DeclareTypeAlias | namedTypes.DeclareOpaqueType;
+export declare type OpaqueTypeKind = namedTypes.OpaqueType;
+export declare type DeclareTypeAliasKind = namedTypes.DeclareTypeAlias;
+export declare type DeclareOpaqueTypeKind = namedTypes.DeclareOpaqueType;
+export declare type TypeCastExpressionKind = namedTypes.TypeCastExpression;
+export declare type TupleTypeAnnotationKind = namedTypes.TupleTypeAnnotation;
+export declare type DeclareVariableKind = namedTypes.DeclareVariable;
+export declare type DeclareFunctionKind = namedTypes.DeclareFunction;
+export declare type DeclareClassKind = namedTypes.DeclareClass;
+export declare type DeclareModuleKind = namedTypes.DeclareModule;
+export declare type DeclareModuleExportsKind = namedTypes.DeclareModuleExports;
+export declare type DeclareExportDeclarationKind = namedTypes.DeclareExportDeclaration;
+export declare type ExportSpecifierKind = namedTypes.ExportSpecifier;
+export declare type ExportBatchSpecifierKind = namedTypes.ExportBatchSpecifier;
+export declare type DeclareExportAllDeclarationKind = namedTypes.DeclareExportAllDeclaration;
+export declare type FlowPredicateKind = namedTypes.InferredPredicate | namedTypes.DeclaredPredicate;
+export declare type InferredPredicateKind = namedTypes.InferredPredicate;
+export declare type DeclaredPredicateKind = namedTypes.DeclaredPredicate;
+export declare type ExportDeclarationKind = namedTypes.ExportDeclaration;
+export declare type BlockKind = namedTypes.Block;
+export declare type LineKind = namedTypes.Line;
+export declare type NoopKind = namedTypes.Noop;
+export declare type DoExpressionKind = namedTypes.DoExpression;
+export declare type SuperKind = namedTypes.Super;
+export declare type BindExpressionKind = namedTypes.BindExpression;
+export declare type DecoratorKind = namedTypes.Decorator;
+export declare type MetaPropertyKind = namedTypes.MetaProperty;
+export declare type ParenthesizedExpressionKind = namedTypes.ParenthesizedExpression;
+export declare type ExportDefaultDeclarationKind = namedTypes.ExportDefaultDeclaration;
+export declare type ExportNamedDeclarationKind = namedTypes.ExportNamedDeclaration;
+export declare type ExportNamespaceSpecifierKind = namedTypes.ExportNamespaceSpecifier;
+export declare type ExportDefaultSpecifierKind = namedTypes.ExportDefaultSpecifier;
+export declare type ExportAllDeclarationKind = namedTypes.ExportAllDeclaration;
+export declare type CommentBlockKind = namedTypes.CommentBlock;
+export declare type CommentLineKind = namedTypes.CommentLine;
+export declare type DirectiveKind = namedTypes.Directive;
+export declare type DirectiveLiteralKind = namedTypes.DirectiveLiteral;
+export declare type InterpreterDirectiveKind = namedTypes.InterpreterDirective;
+export declare type StringLiteralKind = namedTypes.StringLiteral;
+export declare type NumericLiteralKind = namedTypes.NumericLiteral;
+export declare type BigIntLiteralKind = namedTypes.BigIntLiteral;
+export declare type NullLiteralKind = namedTypes.NullLiteral;
+export declare type BooleanLiteralKind = namedTypes.BooleanLiteral;
+export declare type RegExpLiteralKind = namedTypes.RegExpLiteral;
+export declare type ObjectMethodKind = namedTypes.ObjectMethod;
+export declare type ClassPrivatePropertyKind = namedTypes.ClassPrivateProperty;
+export declare type ClassMethodKind = namedTypes.ClassMethod;
+export declare type ClassPrivateMethodKind = namedTypes.ClassPrivateMethod;
+export declare type PrivateNameKind = namedTypes.PrivateName;
+export declare type RestPropertyKind = namedTypes.RestProperty;
+export declare type ForAwaitStatementKind = namedTypes.ForAwaitStatement;
+export declare type ImportKind = namedTypes.Import;
+export declare type TSQualifiedNameKind = namedTypes.TSQualifiedName;
+export declare type TSTypeReferenceKind = namedTypes.TSTypeReference;
+export declare type TSHasOptionalTypeParametersKind = namedTypes.TSFunctionType | namedTypes.TSConstructorType | namedTypes.TSDeclareFunction | namedTypes.TSDeclareMethod | namedTypes.TSMethodSignature | namedTypes.TSCallSignatureDeclaration | namedTypes.TSConstructSignatureDeclaration | namedTypes.TSTypeAliasDeclaration | namedTypes.TSInterfaceDeclaration;
+export declare type TSHasOptionalTypeAnnotationKind = namedTypes.TSFunctionType | namedTypes.TSConstructorType | namedTypes.TSIndexSignature | namedTypes.TSPropertySignature | namedTypes.TSMethodSignature | namedTypes.TSCallSignatureDeclaration | namedTypes.TSConstructSignatureDeclaration;
+export declare type TSAsExpressionKind = namedTypes.TSAsExpression;
+export declare type TSNonNullExpressionKind = namedTypes.TSNonNullExpression;
+export declare type TSAnyKeywordKind = namedTypes.TSAnyKeyword;
+export declare type TSBigIntKeywordKind = namedTypes.TSBigIntKeyword;
+export declare type TSBooleanKeywordKind = namedTypes.TSBooleanKeyword;
+export declare type TSNeverKeywordKind = namedTypes.TSNeverKeyword;
+export declare type TSNullKeywordKind = namedTypes.TSNullKeyword;
+export declare type TSNumberKeywordKind = namedTypes.TSNumberKeyword;
+export declare type TSObjectKeywordKind = namedTypes.TSObjectKeyword;
+export declare type TSStringKeywordKind = namedTypes.TSStringKeyword;
+export declare type TSSymbolKeywordKind = namedTypes.TSSymbolKeyword;
+export declare type TSUndefinedKeywordKind = namedTypes.TSUndefinedKeyword;
+export declare type TSUnknownKeywordKind = namedTypes.TSUnknownKeyword;
+export declare type TSVoidKeywordKind = namedTypes.TSVoidKeyword;
+export declare type TSThisTypeKind = namedTypes.TSThisType;
+export declare type TSArrayTypeKind = namedTypes.TSArrayType;
+export declare type TSLiteralTypeKind = namedTypes.TSLiteralType;
+export declare type TSUnionTypeKind = namedTypes.TSUnionType;
+export declare type TSIntersectionTypeKind = namedTypes.TSIntersectionType;
+export declare type TSConditionalTypeKind = namedTypes.TSConditionalType;
+export declare type TSInferTypeKind = namedTypes.TSInferType;
+export declare type TSTypeParameterKind = namedTypes.TSTypeParameter;
+export declare type TSParenthesizedTypeKind = namedTypes.TSParenthesizedType;
+export declare type TSFunctionTypeKind = namedTypes.TSFunctionType;
+export declare type TSConstructorTypeKind = namedTypes.TSConstructorType;
+export declare type TSDeclareFunctionKind = namedTypes.TSDeclareFunction;
+export declare type TSDeclareMethodKind = namedTypes.TSDeclareMethod;
+export declare type TSMappedTypeKind = namedTypes.TSMappedType;
+export declare type TSTupleTypeKind = namedTypes.TSTupleType;
+export declare type TSNamedTupleMemberKind = namedTypes.TSNamedTupleMember;
+export declare type TSRestTypeKind = namedTypes.TSRestType;
+export declare type TSOptionalTypeKind = namedTypes.TSOptionalType;
+export declare type TSIndexedAccessTypeKind = namedTypes.TSIndexedAccessType;
+export declare type TSTypeOperatorKind = namedTypes.TSTypeOperator;
+export declare type TSIndexSignatureKind = namedTypes.TSIndexSignature;
+export declare type TSPropertySignatureKind = namedTypes.TSPropertySignature;
+export declare type TSMethodSignatureKind = namedTypes.TSMethodSignature;
+export declare type TSTypePredicateKind = namedTypes.TSTypePredicate;
+export declare type TSCallSignatureDeclarationKind = namedTypes.TSCallSignatureDeclaration;
+export declare type TSConstructSignatureDeclarationKind = namedTypes.TSConstructSignatureDeclaration;
+export declare type TSEnumMemberKind = namedTypes.TSEnumMember;
+export declare type TSTypeQueryKind = namedTypes.TSTypeQuery;
+export declare type TSImportTypeKind = namedTypes.TSImportType;
+export declare type TSTypeLiteralKind = namedTypes.TSTypeLiteral;
+export declare type TSTypeAssertionKind = namedTypes.TSTypeAssertion;
+export declare type TSEnumDeclarationKind = namedTypes.TSEnumDeclaration;
+export declare type TSTypeAliasDeclarationKind = namedTypes.TSTypeAliasDeclaration;
+export declare type TSModuleBlockKind = namedTypes.TSModuleBlock;
+export declare type TSModuleDeclarationKind = namedTypes.TSModuleDeclaration;
+export declare type TSImportEqualsDeclarationKind = namedTypes.TSImportEqualsDeclaration;
+export declare type TSExternalModuleReferenceKind = namedTypes.TSExternalModuleReference;
+export declare type TSExportAssignmentKind = namedTypes.TSExportAssignment;
+export declare type TSNamespaceExportDeclarationKind = namedTypes.TSNamespaceExportDeclaration;
+export declare type TSInterfaceBodyKind = namedTypes.TSInterfaceBody;
+export declare type TSInterfaceDeclarationKind = namedTypes.TSInterfaceDeclaration;
+export declare type TSParameterPropertyKind = namedTypes.TSParameterProperty;
+export declare type OptionalMemberExpressionKind = namedTypes.OptionalMemberExpression;
+export declare type OptionalCallExpressionKind = namedTypes.OptionalCallExpression;
diff --git a/node_modules/degenerator/node_modules/ast-types/gen/kinds.js b/node_modules/degenerator/node_modules/ast-types/gen/kinds.js
new file mode 100644
index 0000000..c8ad2e5
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/gen/kinds.js
@@ -0,0 +1,2 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/node_modules/degenerator/node_modules/ast-types/gen/namedTypes.d.ts b/node_modules/degenerator/node_modules/ast-types/gen/namedTypes.d.ts
new file mode 100644
index 0000000..762aba0
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/gen/namedTypes.d.ts
@@ -0,0 +1,1809 @@
+import { Omit } from "../types";
+import { Type } from "../lib/types";
+import * as K from "./kinds";
+export declare namespace namedTypes {
+    interface Printable {
+        loc?: K.SourceLocationKind | null;
+    }
+    interface SourceLocation {
+        start: K.PositionKind;
+        end: K.PositionKind;
+        source?: string | null;
+    }
+    interface Node extends Printable {
+        type: string;
+        comments?: K.CommentKind[] | null;
+    }
+    interface Comment extends Printable {
+        value: string;
+        leading?: boolean;
+        trailing?: boolean;
+    }
+    interface Position {
+        line: number;
+        column: number;
+    }
+    interface File extends Omit<Node, "type"> {
+        type: "File";
+        program: K.ProgramKind;
+        name?: string | null;
+    }
+    interface Program extends Omit<Node, "type"> {
+        type: "Program";
+        body: K.StatementKind[];
+        directives?: K.DirectiveKind[];
+        interpreter?: K.InterpreterDirectiveKind | null;
+    }
+    interface Statement extends Node {
+    }
+    interface Function extends Node {
+        id?: K.IdentifierKind | null;
+        params: K.PatternKind[];
+        body: K.BlockStatementKind;
+        generator?: boolean;
+        async?: boolean;
+        expression?: boolean;
+        defaults?: (K.ExpressionKind | null)[];
+        rest?: K.IdentifierKind | null;
+        returnType?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+        typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
+    }
+    interface Expression extends Node {
+    }
+    interface Pattern extends Node {
+    }
+    interface Identifier extends Omit<Expression, "type">, Omit<Pattern, "type"> {
+        type: "Identifier";
+        name: string;
+        optional?: boolean;
+        typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+    }
+    interface BlockStatement extends Omit<Statement, "type"> {
+        type: "BlockStatement";
+        body: K.StatementKind[];
+        directives?: K.DirectiveKind[];
+    }
+    interface EmptyStatement extends Omit<Statement, "type"> {
+        type: "EmptyStatement";
+    }
+    interface ExpressionStatement extends Omit<Statement, "type"> {
+        type: "ExpressionStatement";
+        expression: K.ExpressionKind;
+    }
+    interface IfStatement extends Omit<Statement, "type"> {
+        type: "IfStatement";
+        test: K.ExpressionKind;
+        consequent: K.StatementKind;
+        alternate?: K.StatementKind | null;
+    }
+    interface LabeledStatement extends Omit<Statement, "type"> {
+        type: "LabeledStatement";
+        label: K.IdentifierKind;
+        body: K.StatementKind;
+    }
+    interface BreakStatement extends Omit<Statement, "type"> {
+        type: "BreakStatement";
+        label?: K.IdentifierKind | null;
+    }
+    interface ContinueStatement extends Omit<Statement, "type"> {
+        type: "ContinueStatement";
+        label?: K.IdentifierKind | null;
+    }
+    interface WithStatement extends Omit<Statement, "type"> {
+        type: "WithStatement";
+        object: K.ExpressionKind;
+        body: K.StatementKind;
+    }
+    interface SwitchStatement extends Omit<Statement, "type"> {
+        type: "SwitchStatement";
+        discriminant: K.ExpressionKind;
+        cases: K.SwitchCaseKind[];
+        lexical?: boolean;
+    }
+    interface SwitchCase extends Omit<Node, "type"> {
+        type: "SwitchCase";
+        test: K.ExpressionKind | null;
+        consequent: K.StatementKind[];
+    }
+    interface ReturnStatement extends Omit<Statement, "type"> {
+        type: "ReturnStatement";
+        argument: K.ExpressionKind | null;
+    }
+    interface ThrowStatement extends Omit<Statement, "type"> {
+        type: "ThrowStatement";
+        argument: K.ExpressionKind;
+    }
+    interface TryStatement extends Omit<Statement, "type"> {
+        type: "TryStatement";
+        block: K.BlockStatementKind;
+        handler?: K.CatchClauseKind | null;
+        handlers?: K.CatchClauseKind[];
+        guardedHandlers?: K.CatchClauseKind[];
+        finalizer?: K.BlockStatementKind | null;
+    }
+    interface CatchClause extends Omit<Node, "type"> {
+        type: "CatchClause";
+        param?: K.PatternKind | null;
+        guard?: K.ExpressionKind | null;
+        body: K.BlockStatementKind;
+    }
+    interface WhileStatement extends Omit<Statement, "type"> {
+        type: "WhileStatement";
+        test: K.ExpressionKind;
+        body: K.StatementKind;
+    }
+    interface DoWhileStatement extends Omit<Statement, "type"> {
+        type: "DoWhileStatement";
+        body: K.StatementKind;
+        test: K.ExpressionKind;
+    }
+    interface ForStatement extends Omit<Statement, "type"> {
+        type: "ForStatement";
+        init: K.VariableDeclarationKind | K.ExpressionKind | null;
+        test: K.ExpressionKind | null;
+        update: K.ExpressionKind | null;
+        body: K.StatementKind;
+    }
+    interface Declaration extends Statement {
+    }
+    interface VariableDeclaration extends Omit<Declaration, "type"> {
+        type: "VariableDeclaration";
+        kind: "var" | "let" | "const";
+        declarations: (K.VariableDeclaratorKind | K.IdentifierKind)[];
+    }
+    interface ForInStatement extends Omit<Statement, "type"> {
+        type: "ForInStatement";
+        left: K.VariableDeclarationKind | K.ExpressionKind;
+        right: K.ExpressionKind;
+        body: K.StatementKind;
+    }
+    interface DebuggerStatement extends Omit<Statement, "type"> {
+        type: "DebuggerStatement";
+    }
+    interface FunctionDeclaration extends Omit<Function, "type" | "id">, Omit<Declaration, "type"> {
+        type: "FunctionDeclaration";
+        id: K.IdentifierKind;
+    }
+    interface FunctionExpression extends Omit<Function, "type">, Omit<Expression, "type"> {
+        type: "FunctionExpression";
+    }
+    interface VariableDeclarator extends Omit<Node, "type"> {
+        type: "VariableDeclarator";
+        id: K.PatternKind;
+        init?: K.ExpressionKind | null;
+    }
+    interface ThisExpression extends Omit<Expression, "type"> {
+        type: "ThisExpression";
+    }
+    interface ArrayExpression extends Omit<Expression, "type"> {
+        type: "ArrayExpression";
+        elements: (K.ExpressionKind | K.SpreadElementKind | K.RestElementKind | null)[];
+    }
+    interface ObjectExpression extends Omit<Expression, "type"> {
+        type: "ObjectExpression";
+        properties: (K.PropertyKind | K.ObjectMethodKind | K.ObjectPropertyKind | K.SpreadPropertyKind | K.SpreadElementKind)[];
+    }
+    interface Property extends Omit<Node, "type"> {
+        type: "Property";
+        kind: "init" | "get" | "set";
+        key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
+        value: K.ExpressionKind | K.PatternKind;
+        method?: boolean;
+        shorthand?: boolean;
+        computed?: boolean;
+        decorators?: K.DecoratorKind[] | null;
+    }
+    interface Literal extends Omit<Expression, "type"> {
+        type: "Literal";
+        value: string | boolean | null | number | RegExp;
+        regex?: {
+            pattern: string;
+            flags: string;
+        } | null;
+    }
+    interface SequenceExpression extends Omit<Expression, "type"> {
+        type: "SequenceExpression";
+        expressions: K.ExpressionKind[];
+    }
+    interface UnaryExpression extends Omit<Expression, "type"> {
+        type: "UnaryExpression";
+        operator: "-" | "+" | "!" | "~" | "typeof" | "void" | "delete";
+        argument: K.ExpressionKind;
+        prefix?: boolean;
+    }
+    interface BinaryExpression extends Omit<Expression, "type"> {
+        type: "BinaryExpression";
+        operator: "==" | "!=" | "===" | "!==" | "<" | "<=" | ">" | ">=" | "<<" | ">>" | ">>>" | "+" | "-" | "*" | "/" | "%" | "**" | "&" | "|" | "^" | "in" | "instanceof";
+        left: K.ExpressionKind;
+        right: K.ExpressionKind;
+    }
+    interface AssignmentExpression extends Omit<Expression, "type"> {
+        type: "AssignmentExpression";
+        operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "|=" | "^=" | "&=";
+        left: K.PatternKind | K.MemberExpressionKind;
+        right: K.ExpressionKind;
+    }
+    interface MemberExpression extends Omit<Expression, "type"> {
+        type: "MemberExpression";
+        object: K.ExpressionKind;
+        property: K.IdentifierKind | K.ExpressionKind;
+        computed?: boolean;
+    }
+    interface UpdateExpression extends Omit<Expression, "type"> {
+        type: "UpdateExpression";
+        operator: "++" | "--";
+        argument: K.ExpressionKind;
+        prefix: boolean;
+    }
+    interface LogicalExpression extends Omit<Expression, "type"> {
+        type: "LogicalExpression";
+        operator: "||" | "&&" | "??";
+        left: K.ExpressionKind;
+        right: K.ExpressionKind;
+    }
+    interface ConditionalExpression extends Omit<Expression, "type"> {
+        type: "ConditionalExpression";
+        test: K.ExpressionKind;
+        consequent: K.ExpressionKind;
+        alternate: K.ExpressionKind;
+    }
+    interface NewExpression extends Omit<Expression, "type"> {
+        type: "NewExpression";
+        callee: K.ExpressionKind;
+        arguments: (K.ExpressionKind | K.SpreadElementKind)[];
+        typeArguments?: null | K.TypeParameterInstantiationKind;
+    }
+    interface CallExpression extends Omit<Expression, "type"> {
+        type: "CallExpression";
+        callee: K.ExpressionKind;
+        arguments: (K.ExpressionKind | K.SpreadElementKind)[];
+        typeArguments?: null | K.TypeParameterInstantiationKind;
+    }
+    interface RestElement extends Omit<Pattern, "type"> {
+        type: "RestElement";
+        argument: K.PatternKind;
+        typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+    }
+    interface TypeAnnotation extends Omit<Node, "type"> {
+        type: "TypeAnnotation";
+        typeAnnotation: K.FlowTypeKind;
+    }
+    interface TSTypeAnnotation extends Omit<Node, "type"> {
+        type: "TSTypeAnnotation";
+        typeAnnotation: K.TSTypeKind | K.TSTypeAnnotationKind;
+    }
+    interface SpreadElementPattern extends Omit<Pattern, "type"> {
+        type: "SpreadElementPattern";
+        argument: K.PatternKind;
+    }
+    interface ArrowFunctionExpression extends Omit<Function, "type" | "id" | "body" | "generator">, Omit<Expression, "type"> {
+        type: "ArrowFunctionExpression";
+        id?: null;
+        body: K.BlockStatementKind | K.ExpressionKind;
+        generator?: false;
+    }
+    interface ForOfStatement extends Omit<Statement, "type"> {
+        type: "ForOfStatement";
+        left: K.VariableDeclarationKind | K.PatternKind;
+        right: K.ExpressionKind;
+        body: K.StatementKind;
+    }
+    interface YieldExpression extends Omit<Expression, "type"> {
+        type: "YieldExpression";
+        argument: K.ExpressionKind | null;
+        delegate?: boolean;
+    }
+    interface GeneratorExpression extends Omit<Expression, "type"> {
+        type: "GeneratorExpression";
+        body: K.ExpressionKind;
+        blocks: K.ComprehensionBlockKind[];
+        filter: K.ExpressionKind | null;
+    }
+    interface ComprehensionBlock extends Omit<Node, "type"> {
+        type: "ComprehensionBlock";
+        left: K.PatternKind;
+        right: K.ExpressionKind;
+        each: boolean;
+    }
+    interface ComprehensionExpression extends Omit<Expression, "type"> {
+        type: "ComprehensionExpression";
+        body: K.ExpressionKind;
+        blocks: K.ComprehensionBlockKind[];
+        filter: K.ExpressionKind | null;
+    }
+    interface ObjectProperty extends Omit<Node, "type"> {
+        shorthand?: boolean;
+        type: "ObjectProperty";
+        key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
+        value: K.ExpressionKind | K.PatternKind;
+        accessibility?: K.LiteralKind | null;
+        computed?: boolean;
+    }
+    interface PropertyPattern extends Omit<Pattern, "type"> {
+        type: "PropertyPattern";
+        key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
+        pattern: K.PatternKind;
+        computed?: boolean;
+    }
+    interface ObjectPattern extends Omit<Pattern, "type"> {
+        type: "ObjectPattern";
+        properties: (K.PropertyKind | K.PropertyPatternKind | K.SpreadPropertyPatternKind | K.SpreadPropertyKind | K.ObjectPropertyKind | K.RestPropertyKind)[];
+        typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+        decorators?: K.DecoratorKind[] | null;
+    }
+    interface ArrayPattern extends Omit<Pattern, "type"> {
+        type: "ArrayPattern";
+        elements: (K.PatternKind | K.SpreadElementKind | null)[];
+    }
+    interface MethodDefinition extends Omit<Declaration, "type"> {
+        type: "MethodDefinition";
+        kind: "constructor" | "method" | "get" | "set";
+        key: K.ExpressionKind;
+        value: K.FunctionKind;
+        computed?: boolean;
+        static?: boolean;
+        decorators?: K.DecoratorKind[] | null;
+    }
+    interface SpreadElement extends Omit<Node, "type"> {
+        type: "SpreadElement";
+        argument: K.ExpressionKind;
+    }
+    interface AssignmentPattern extends Omit<Pattern, "type"> {
+        type: "AssignmentPattern";
+        left: K.PatternKind;
+        right: K.ExpressionKind;
+    }
+    interface ClassPropertyDefinition extends Omit<Declaration, "type"> {
+        type: "ClassPropertyDefinition";
+        definition: K.MethodDefinitionKind | K.VariableDeclaratorKind | K.ClassPropertyDefinitionKind | K.ClassPropertyKind;
+    }
+    interface ClassProperty extends Omit<Declaration, "type"> {
+        type: "ClassProperty";
+        key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
+        computed?: boolean;
+        value: K.ExpressionKind | null;
+        static?: boolean;
+        typeAnnotation?: K.TypeAnnotationKind | K.TSTypeAnnotationKind | null;
+        variance?: K.VarianceKind | "plus" | "minus" | null;
+        access?: "public" | "private" | "protected" | undefined;
+    }
+    interface ClassBody extends Omit<Declaration, "type"> {
+        type: "ClassBody";
+        body: (K.MethodDefinitionKind | K.VariableDeclaratorKind | K.ClassPropertyDefinitionKind | K.ClassPropertyKind | K.ClassPrivatePropertyKind | K.ClassMethodKind | K.ClassPrivateMethodKind | K.TSDeclareMethodKind | K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[];
+    }
+    interface ClassDeclaration extends Omit<Declaration, "type"> {
+        type: "ClassDeclaration";
+        id: K.IdentifierKind | null;
+        body: K.ClassBodyKind;
+        superClass?: K.ExpressionKind | null;
+        typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
+        superTypeParameters?: K.TypeParameterInstantiationKind | K.TSTypeParameterInstantiationKind | null;
+        implements?: K.ClassImplementsKind[] | K.TSExpressionWithTypeArgumentsKind[];
+    }
+    interface ClassExpression extends Omit<Expression, "type"> {
+        type: "ClassExpression";
+        id?: K.IdentifierKind | null;
+        body: K.ClassBodyKind;
+        superClass?: K.ExpressionKind | null;
+        typeParameters?: K.TypeParameterDeclarationKind | K.TSTypeParameterDeclarationKind | null;
+        superTypeParameters?: K.TypeParameterInstantiationKind | K.TSTypeParameterInstantiationKind | null;
+        implements?: K.ClassImplementsKind[] | K.TSExpressionWithTypeArgumentsKind[];
+    }
+    interface Specifier extends Node {
+    }
+    interface ModuleSpecifier extends Specifier {
+        local?: K.IdentifierKind | null;
+        id?: K.IdentifierKind | null;
+        name?: K.IdentifierKind | null;
+    }
+    interface ImportSpecifier extends Omit<ModuleSpecifier, "type"> {
+        type: "ImportSpecifier";
+        imported: K.IdentifierKind;
+    }
+    interface ImportNamespaceSpecifier extends Omit<ModuleSpecifier, "type"> {
+        type: "ImportNamespaceSpecifier";
+    }
+    interface ImportDefaultSpecifier extends Omit<ModuleSpecifier, "type"> {
+        type: "ImportDefaultSpecifier";
+    }
+    interface ImportDeclaration extends Omit<Declaration, "type"> {
+        type: "ImportDeclaration";
+        specifiers?: (K.ImportSpecifierKind | K.ImportNamespaceSpecifierKind | K.ImportDefaultSpecifierKind)[];
+        source: K.LiteralKind;
+        importKind?: "value" | "type";
+    }
+    interface TaggedTemplateExpression extends Omit<Expression, "type"> {
+        type: "TaggedTemplateExpression";
+        tag: K.ExpressionKind;
+        quasi: K.TemplateLiteralKind;
+    }
+    interface TemplateLiteral extends Omit<Expression, "type"> {
+        type: "TemplateLiteral";
+        quasis: K.TemplateElementKind[];
+        expressions: K.ExpressionKind[];
+    }
+    interface TemplateElement extends Omit<Node, "type"> {
+        type: "TemplateElement";
+        value: {
+            cooked: string;
+            raw: string;
+        };
+        tail: boolean;
+    }
+    interface SpreadProperty extends Omit<Node, "type"> {
+        type: "SpreadProperty";
+        argument: K.ExpressionKind;
+    }
+    interface SpreadPropertyPattern extends Omit<Pattern, "type"> {
+        type: "SpreadPropertyPattern";
+        argument: K.PatternKind;
+    }
+    interface AwaitExpression extends Omit<Expression, "type"> {
+        type: "AwaitExpression";
+        argument: K.ExpressionKind | null;
+        all?: boolean;
+    }
+    interface ImportExpression extends Omit<Expression, "type"> {
+        type: "ImportExpression";
+        source: K.ExpressionKind;
+    }
+    interface JSXAttribute extends Omit<Node, "type"> {
+        type: "JSXAttribute";
+        name: K.JSXIdentifierKind | K.JSXNamespacedNameKind;
+        value?: K.LiteralKind | K.JSXExpressionContainerKind | null;
+    }
+    interface JSXIdentifier extends Omit<Identifier, "type" | "name"> {
+        type: "JSXIdentifier";
+        name: string;
+    }
+    interface JSXNamespacedName extends Omit<Node, "type"> {
+        type: "JSXNamespacedName";
+        namespace: K.JSXIdentifierKind;
+        name: K.JSXIdentifierKind;
+    }
+    interface JSXExpressionContainer extends Omit<Expression, "type"> {
+        type: "JSXExpressionContainer";
+        expression: K.ExpressionKind;
+    }
+    interface JSXMemberExpression extends Omit<MemberExpression, "type" | "object" | "property" | "computed"> {
+        type: "JSXMemberExpression";
+        object: K.JSXIdentifierKind | K.JSXMemberExpressionKind;
+        property: K.JSXIdentifierKind;
+        computed?: boolean;
+    }
+    interface JSXSpreadAttribute extends Omit<Node, "type"> {
+        type: "JSXSpreadAttribute";
+        argument: K.ExpressionKind;
+    }
+    interface JSXElement extends Omit<Expression, "type"> {
+        type: "JSXElement";
+        openingElement: K.JSXOpeningElementKind;
+        closingElement?: K.JSXClosingElementKind | null;
+        children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[];
+        name?: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
+        selfClosing?: boolean;
+        attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[];
+    }
+    interface JSXOpeningElement extends Omit<Node, "type"> {
+        type: "JSXOpeningElement";
+        name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
+        attributes?: (K.JSXAttributeKind | K.JSXSpreadAttributeKind)[];
+        selfClosing?: boolean;
+    }
+    interface JSXClosingElement extends Omit<Node, "type"> {
+        type: "JSXClosingElement";
+        name: K.JSXIdentifierKind | K.JSXNamespacedNameKind | K.JSXMemberExpressionKind;
+    }
+    interface JSXFragment extends Omit<Expression, "type"> {
+        type: "JSXFragment";
+        openingElement: K.JSXOpeningFragmentKind;
+        closingElement: K.JSXClosingFragmentKind;
+        children?: (K.JSXElementKind | K.JSXExpressionContainerKind | K.JSXFragmentKind | K.JSXTextKind | K.LiteralKind)[];
+    }
+    interface JSXText extends Omit<Literal, "type" | "value"> {
+        type: "JSXText";
+        value: string;
+    }
+    interface JSXOpeningFragment extends Omit<Node, "type"> {
+        type: "JSXOpeningFragment";
+    }
+    interface JSXClosingFragment extends Omit<Node, "type"> {
+        type: "JSXClosingFragment";
+    }
+    interface JSXEmptyExpression extends Omit<Expression, "type"> {
+        type: "JSXEmptyExpression";
+    }
+    interface JSXSpreadChild extends Omit<Expression, "type"> {
+        type: "JSXSpreadChild";
+        expression: K.ExpressionKind;
+    }
+    interface TypeParameterDeclaration extends Omit<Node, "type"> {
+        type: "TypeParameterDeclaration";
+        params: K.TypeParameterKind[];
+    }
+    interface TSTypeParameterDeclaration extends Omit<Declaration, "type"> {
+        type: "TSTypeParameterDeclaration";
+        params: K.TSTypeParameterKind[];
+    }
+    interface TypeParameterInstantiation extends Omit<Node, "type"> {
+        type: "TypeParameterInstantiation";
+        params: K.FlowTypeKind[];
+    }
+    interface TSTypeParameterInstantiation extends Omit<Node, "type"> {
+        type: "TSTypeParameterInstantiation";
+        params: K.TSTypeKind[];
+    }
+    interface ClassImplements extends Omit<Node, "type"> {
+        type: "ClassImplements";
+        id: K.IdentifierKind;
+        superClass?: K.ExpressionKind | null;
+        typeParameters?: K.TypeParameterInstantiationKind | null;
+    }
+    interface TSType extends Node {
+    }
+    interface TSHasOptionalTypeParameterInstantiation {
+        typeParameters?: K.TSTypeParameterInstantiationKind | null;
+    }
+    interface TSExpressionWithTypeArguments extends Omit<TSType, "type">, TSHasOptionalTypeParameterInstantiation {
+        type: "TSExpressionWithTypeArguments";
+        expression: K.IdentifierKind | K.TSQualifiedNameKind;
+    }
+    interface Flow extends Node {
+    }
+    interface FlowType extends Flow {
+    }
+    interface AnyTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "AnyTypeAnnotation";
+    }
+    interface EmptyTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "EmptyTypeAnnotation";
+    }
+    interface MixedTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "MixedTypeAnnotation";
+    }
+    interface VoidTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "VoidTypeAnnotation";
+    }
+    interface NumberTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "NumberTypeAnnotation";
+    }
+    interface NumberLiteralTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "NumberLiteralTypeAnnotation";
+        value: number;
+        raw: string;
+    }
+    interface NumericLiteralTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "NumericLiteralTypeAnnotation";
+        value: number;
+        raw: string;
+    }
+    interface StringTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "StringTypeAnnotation";
+    }
+    interface StringLiteralTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "StringLiteralTypeAnnotation";
+        value: string;
+        raw: string;
+    }
+    interface BooleanTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "BooleanTypeAnnotation";
+    }
+    interface BooleanLiteralTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "BooleanLiteralTypeAnnotation";
+        value: boolean;
+        raw: string;
+    }
+    interface NullableTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "NullableTypeAnnotation";
+        typeAnnotation: K.FlowTypeKind;
+    }
+    interface NullLiteralTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "NullLiteralTypeAnnotation";
+    }
+    interface NullTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "NullTypeAnnotation";
+    }
+    interface ThisTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "ThisTypeAnnotation";
+    }
+    interface ExistsTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "ExistsTypeAnnotation";
+    }
+    interface ExistentialTypeParam extends Omit<FlowType, "type"> {
+        type: "ExistentialTypeParam";
+    }
+    interface FunctionTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "FunctionTypeAnnotation";
+        params: K.FunctionTypeParamKind[];
+        returnType: K.FlowTypeKind;
+        rest: K.FunctionTypeParamKind | null;
+        typeParameters: K.TypeParameterDeclarationKind | null;
+    }
+    interface FunctionTypeParam extends Omit<Node, "type"> {
+        type: "FunctionTypeParam";
+        name: K.IdentifierKind;
+        typeAnnotation: K.FlowTypeKind;
+        optional: boolean;
+    }
+    interface ArrayTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "ArrayTypeAnnotation";
+        elementType: K.FlowTypeKind;
+    }
+    interface ObjectTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "ObjectTypeAnnotation";
+        properties: (K.ObjectTypePropertyKind | K.ObjectTypeSpreadPropertyKind)[];
+        indexers?: K.ObjectTypeIndexerKind[];
+        callProperties?: K.ObjectTypeCallPropertyKind[];
+        inexact?: boolean | undefined;
+        exact?: boolean;
+        internalSlots?: K.ObjectTypeInternalSlotKind[];
+    }
+    interface ObjectTypeProperty extends Omit<Node, "type"> {
+        type: "ObjectTypeProperty";
+        key: K.LiteralKind | K.IdentifierKind;
+        value: K.FlowTypeKind;
+        optional: boolean;
+        variance?: K.VarianceKind | "plus" | "minus" | null;
+    }
+    interface ObjectTypeSpreadProperty extends Omit<Node, "type"> {
+        type: "ObjectTypeSpreadProperty";
+        argument: K.FlowTypeKind;
+    }
+    interface ObjectTypeIndexer extends Omit<Node, "type"> {
+        type: "ObjectTypeIndexer";
+        id: K.IdentifierKind;
+        key: K.FlowTypeKind;
+        value: K.FlowTypeKind;
+        variance?: K.VarianceKind | "plus" | "minus" | null;
+    }
+    interface ObjectTypeCallProperty extends Omit<Node, "type"> {
+        type: "ObjectTypeCallProperty";
+        value: K.FunctionTypeAnnotationKind;
+        static?: boolean;
+    }
+    interface ObjectTypeInternalSlot extends Omit<Node, "type"> {
+        type: "ObjectTypeInternalSlot";
+        id: K.IdentifierKind;
+        value: K.FlowTypeKind;
+        optional: boolean;
+        static: boolean;
+        method: boolean;
+    }
+    interface Variance extends Omit<Node, "type"> {
+        type: "Variance";
+        kind: "plus" | "minus";
+    }
+    interface QualifiedTypeIdentifier extends Omit<Node, "type"> {
+        type: "QualifiedTypeIdentifier";
+        qualification: K.IdentifierKind | K.QualifiedTypeIdentifierKind;
+        id: K.IdentifierKind;
+    }
+    interface GenericTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "GenericTypeAnnotation";
+        id: K.IdentifierKind | K.QualifiedTypeIdentifierKind;
+        typeParameters: K.TypeParameterInstantiationKind | null;
+    }
+    interface MemberTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "MemberTypeAnnotation";
+        object: K.IdentifierKind;
+        property: K.MemberTypeAnnotationKind | K.GenericTypeAnnotationKind;
+    }
+    interface UnionTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "UnionTypeAnnotation";
+        types: K.FlowTypeKind[];
+    }
+    interface IntersectionTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "IntersectionTypeAnnotation";
+        types: K.FlowTypeKind[];
+    }
+    interface TypeofTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "TypeofTypeAnnotation";
+        argument: K.FlowTypeKind;
+    }
+    interface TypeParameter extends Omit<FlowType, "type"> {
+        type: "TypeParameter";
+        name: string;
+        variance?: K.VarianceKind | "plus" | "minus" | null;
+        bound?: K.TypeAnnotationKind | null;
+    }
+    interface InterfaceTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "InterfaceTypeAnnotation";
+        body: K.ObjectTypeAnnotationKind;
+        extends?: K.InterfaceExtendsKind[] | null;
+    }
+    interface InterfaceExtends extends Omit<Node, "type"> {
+        type: "InterfaceExtends";
+        id: K.IdentifierKind;
+        typeParameters?: K.TypeParameterInstantiationKind | null;
+    }
+    interface InterfaceDeclaration extends Omit<Declaration, "type"> {
+        type: "InterfaceDeclaration";
+        id: K.IdentifierKind;
+        typeParameters?: K.TypeParameterDeclarationKind | null;
+        body: K.ObjectTypeAnnotationKind;
+        extends: K.InterfaceExtendsKind[];
+    }
+    interface DeclareInterface extends Omit<InterfaceDeclaration, "type"> {
+        type: "DeclareInterface";
+    }
+    interface TypeAlias extends Omit<Declaration, "type"> {
+        type: "TypeAlias";
+        id: K.IdentifierKind;
+        typeParameters: K.TypeParameterDeclarationKind | null;
+        right: K.FlowTypeKind;
+    }
+    interface OpaqueType extends Omit<Declaration, "type"> {
+        type: "OpaqueType";
+        id: K.IdentifierKind;
+        typeParameters: K.TypeParameterDeclarationKind | null;
+        impltype: K.FlowTypeKind;
+        supertype: K.FlowTypeKind;
+    }
+    interface DeclareTypeAlias extends Omit<TypeAlias, "type"> {
+        type: "DeclareTypeAlias";
+    }
+    interface DeclareOpaqueType extends Omit<TypeAlias, "type"> {
+        type: "DeclareOpaqueType";
+    }
+    interface TypeCastExpression extends Omit<Expression, "type"> {
+        type: "TypeCastExpression";
+        expression: K.ExpressionKind;
+        typeAnnotation: K.TypeAnnotationKind;
+    }
+    interface TupleTypeAnnotation extends Omit<FlowType, "type"> {
+        type: "TupleTypeAnnotation";
+        types: K.FlowTypeKind[];
+    }
+    interface DeclareVariable extends Omit<Statement, "type"> {
+        type: "DeclareVariable";
+        id: K.IdentifierKind;
+    }
+    interface DeclareFunction extends Omit<Statement, "type"> {
+        type: "DeclareFunction";
+        id: K.IdentifierKind;
+    }
+    interface DeclareClass extends Omit<InterfaceDeclaration, "type"> {
+        type: "DeclareClass";
+    }
+    interface DeclareModule extends Omit<Statement, "type"> {
+        type: "DeclareModule";
+        id: K.IdentifierKind | K.LiteralKind;
+        body: K.BlockStatementKind;
+    }
+    interface DeclareModuleExports extends Omit<Statement, "type"> {
+        type: "DeclareModuleExports";
+        typeAnnotation: K.TypeAnnotationKind;
+    }
+    interface DeclareExportDeclaration extends Omit<Declaration, "type"> {
+        type: "DeclareExportDeclaration";
+        default: boolean;
+        declaration: K.DeclareVariableKind | K.DeclareFunctionKind | K.DeclareClassKind | K.FlowTypeKind | null;
+        specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[];
+        source?: K.LiteralKind | null;
+    }
+    interface ExportSpecifier extends Omit<ModuleSpecifier, "type"> {
+        type: "ExportSpecifier";
+        exported: K.IdentifierKind;
+    }
+    interface ExportBatchSpecifier extends Omit<Specifier, "type"> {
+        type: "ExportBatchSpecifier";
+    }
+    interface DeclareExportAllDeclaration extends Omit<Declaration, "type"> {
+        type: "DeclareExportAllDeclaration";
+        source?: K.LiteralKind | null;
+    }
+    interface FlowPredicate extends Flow {
+    }
+    interface InferredPredicate extends Omit<FlowPredicate, "type"> {
+        type: "InferredPredicate";
+    }
+    interface DeclaredPredicate extends Omit<FlowPredicate, "type"> {
+        type: "DeclaredPredicate";
+        value: K.ExpressionKind;
+    }
+    interface ExportDeclaration extends Omit<Declaration, "type"> {
+        type: "ExportDeclaration";
+        default: boolean;
+        declaration: K.DeclarationKind | K.ExpressionKind | null;
+        specifiers?: (K.ExportSpecifierKind | K.ExportBatchSpecifierKind)[];
+        source?: K.LiteralKind | null;
+    }
+    interface Block extends Comment {
+        type: "Block";
+    }
+    interface Line extends Comment {
+        type: "Line";
+    }
+    interface Noop extends Omit<Statement, "type"> {
+        type: "Noop";
+    }
+    interface DoExpression extends Omit<Expression, "type"> {
+        type: "DoExpression";
+        body: K.StatementKind[];
+    }
+    interface Super extends Omit<Expression, "type"> {
+        type: "Super";
+    }
+    interface BindExpression extends Omit<Expression, "type"> {
+        type: "BindExpression";
+        object: K.ExpressionKind | null;
+        callee: K.ExpressionKind;
+    }
+    interface Decorator extends Omit<Node, "type"> {
+        type: "Decorator";
+        expression: K.ExpressionKind;
+    }
+    interface MetaProperty extends Omit<Expression, "type"> {
+        type: "MetaProperty";
+        meta: K.IdentifierKind;
+        property: K.IdentifierKind;
+    }
+    interface ParenthesizedExpression extends Omit<Expression, "type"> {
+        type: "ParenthesizedExpression";
+        expression: K.ExpressionKind;
+    }
+    interface ExportDefaultDeclaration extends Omit<Declaration, "type"> {
+        type: "ExportDefaultDeclaration";
+        declaration: K.DeclarationKind | K.ExpressionKind;
+    }
+    interface ExportNamedDeclaration extends Omit<Declaration, "type"> {
+        type: "ExportNamedDeclaration";
+        declaration: K.DeclarationKind | null;
+        specifiers?: K.ExportSpecifierKind[];
+        source?: K.LiteralKind | null;
+    }
+    interface ExportNamespaceSpecifier extends Omit<Specifier, "type"> {
+        type: "ExportNamespaceSpecifier";
+        exported: K.IdentifierKind;
+    }
+    interface ExportDefaultSpecifier extends Omit<Specifier, "type"> {
+        type: "ExportDefaultSpecifier";
+        exported: K.IdentifierKind;
+    }
+    interface ExportAllDeclaration extends Omit<Declaration, "type"> {
+        type: "ExportAllDeclaration";
+        exported: K.IdentifierKind | null;
+        source: K.LiteralKind;
+    }
+    interface CommentBlock extends Comment {
+        type: "CommentBlock";
+    }
+    interface CommentLine extends Comment {
+        type: "CommentLine";
+    }
+    interface Directive extends Omit<Node, "type"> {
+        type: "Directive";
+        value: K.DirectiveLiteralKind;
+    }
+    interface DirectiveLiteral extends Omit<Node, "type">, Omit<Expression, "type"> {
+        type: "DirectiveLiteral";
+        value?: string;
+    }
+    interface InterpreterDirective extends Omit<Node, "type"> {
+        type: "InterpreterDirective";
+        value: string;
+    }
+    interface StringLiteral extends Omit<Literal, "type" | "value"> {
+        type: "StringLiteral";
+        value: string;
+    }
+    interface NumericLiteral extends Omit<Literal, "type" | "value"> {
+        type: "NumericLiteral";
+        value: number;
+        raw?: string | null;
+        extra?: {
+            rawValue: number;
+            raw: string;
+        };
+    }
+    interface BigIntLiteral extends Omit<Literal, "type" | "value"> {
+        type: "BigIntLiteral";
+        value: string | number;
+        extra?: {
+            rawValue: string;
+            raw: string;
+        };
+    }
+    interface NullLiteral extends Omit<Literal, "type" | "value"> {
+        type: "NullLiteral";
+        value?: null;
+    }
+    interface BooleanLiteral extends Omit<Literal, "type" | "value"> {
+        type: "BooleanLiteral";
+        value: boolean;
+    }
+    interface RegExpLiteral extends Omit<Literal, "type" | "value"> {
+        type: "RegExpLiteral";
+        pattern: string;
+        flags: string;
+        value?: RegExp;
+    }
+    interface ObjectMethod extends Omit<Node, "type">, Omit<Function, "type" | "params" | "body" | "generator" | "async"> {
+        type: "ObjectMethod";
+        kind: "method" | "get" | "set";
+        key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
+        params: K.PatternKind[];
+        body: K.BlockStatementKind;
+        computed?: boolean;
+        generator?: boolean;
+        async?: boolean;
+        accessibility?: K.LiteralKind | null;
+        decorators?: K.DecoratorKind[] | null;
+    }
+    interface ClassPrivateProperty extends Omit<ClassProperty, "type" | "key" | "value"> {
+        type: "ClassPrivateProperty";
+        key: K.PrivateNameKind;
+        value?: K.ExpressionKind | null;
+    }
+    interface ClassMethod extends Omit<Declaration, "type">, Omit<Function, "type" | "body"> {
+        type: "ClassMethod";
+        key: K.LiteralKind | K.IdentifierKind | K.ExpressionKind;
+        kind?: "get" | "set" | "method" | "constructor";
+        body: K.BlockStatementKind;
+        computed?: boolean;
+        static?: boolean | null;
+        abstract?: boolean | null;
+        access?: "public" | "private" | "protected" | null;
+        accessibility?: "public" | "private" | "protected" | null;
+        decorators?: K.DecoratorKind[] | null;
+        optional?: boolean | null;
+    }
+    interface ClassPrivateMethod extends Omit<Declaration, "type">, Omit<Function, "type" | "body"> {
+        type: "ClassPrivateMethod";
+        key: K.PrivateNameKind;
+        kind?: "get" | "set" | "method" | "constructor";
+        body: K.BlockStatementKind;
+        computed?: boolean;
+        static?: boolean | null;
+        abstract?: boolean | null;
+        access?: "public" | "private" | "protected" | null;
+        accessibility?: "public" | "private" | "protected" | null;
+        decorators?: K.DecoratorKind[] | null;
+        optional?: boolean | null;
+    }
+    interface PrivateName extends Omit<Expression, "type">, Omit<Pattern, "type"> {
+        type: "PrivateName";
+        id: K.IdentifierKind;
+    }
+    interface RestProperty extends Omit<Node, "type"> {
+        type: "RestProperty";
+        argument: K.ExpressionKind;
+    }
+    interface ForAwaitStatement extends Omit<Statement, "type"> {
+        type: "ForAwaitStatement";
+        left: K.VariableDeclarationKind | K.ExpressionKind;
+        right: K.ExpressionKind;
+        body: K.StatementKind;
+    }
+    interface Import extends Omit<Expression, "type"> {
+        type: "Import";
+    }
+    interface TSQualifiedName extends Omit<Node, "type"> {
+        type: "TSQualifiedName";
+        left: K.IdentifierKind | K.TSQualifiedNameKind;
+        right: K.IdentifierKind | K.TSQualifiedNameKind;
+    }
+    interface TSTypeReference extends Omit<TSType, "type">, TSHasOptionalTypeParameterInstantiation {
+        type: "TSTypeReference";
+        typeName: K.IdentifierKind | K.TSQualifiedNameKind;
+    }
+    interface TSHasOptionalTypeParameters {
+        typeParameters?: K.TSTypeParameterDeclarationKind | null | undefined;
+    }
+    interface TSHasOptionalTypeAnnotation {
+        typeAnnotation?: K.TSTypeAnnotationKind | null;
+    }
+    interface TSAsExpression extends Omit<Expression, "type">, Omit<Pattern, "type"> {
+        type: "TSAsExpression";
+        expression: K.ExpressionKind;
+        typeAnnotation: K.TSTypeKind;
+        extra?: {
+            parenthesized: boolean;
+        } | null;
+    }
+    interface TSNonNullExpression extends Omit<Expression, "type">, Omit<Pattern, "type"> {
+        type: "TSNonNullExpression";
+        expression: K.ExpressionKind;
+    }
+    interface TSAnyKeyword extends Omit<TSType, "type"> {
+        type: "TSAnyKeyword";
+    }
+    interface TSBigIntKeyword extends Omit<TSType, "type"> {
+        type: "TSBigIntKeyword";
+    }
+    interface TSBooleanKeyword extends Omit<TSType, "type"> {
+        type: "TSBooleanKeyword";
+    }
+    interface TSNeverKeyword extends Omit<TSType, "type"> {
+        type: "TSNeverKeyword";
+    }
+    interface TSNullKeyword extends Omit<TSType, "type"> {
+        type: "TSNullKeyword";
+    }
+    interface TSNumberKeyword extends Omit<TSType, "type"> {
+        type: "TSNumberKeyword";
+    }
+    interface TSObjectKeyword extends Omit<TSType, "type"> {
+        type: "TSObjectKeyword";
+    }
+    interface TSStringKeyword extends Omit<TSType, "type"> {
+        type: "TSStringKeyword";
+    }
+    interface TSSymbolKeyword extends Omit<TSType, "type"> {
+        type: "TSSymbolKeyword";
+    }
+    interface TSUndefinedKeyword extends Omit<TSType, "type"> {
+        type: "TSUndefinedKeyword";
+    }
+    interface TSUnknownKeyword extends Omit<TSType, "type"> {
+        type: "TSUnknownKeyword";
+    }
+    interface TSVoidKeyword extends Omit<TSType, "type"> {
+        type: "TSVoidKeyword";
+    }
+    interface TSThisType extends Omit<TSType, "type"> {
+        type: "TSThisType";
+    }
+    interface TSArrayType extends Omit<TSType, "type"> {
+        type: "TSArrayType";
+        elementType: K.TSTypeKind;
+    }
+    interface TSLiteralType extends Omit<TSType, "type"> {
+        type: "TSLiteralType";
+        literal: K.NumericLiteralKind | K.StringLiteralKind | K.BooleanLiteralKind | K.TemplateLiteralKind | K.UnaryExpressionKind;
+    }
+    interface TSUnionType extends Omit<TSType, "type"> {
+        type: "TSUnionType";
+        types: K.TSTypeKind[];
+    }
+    interface TSIntersectionType extends Omit<TSType, "type"> {
+        type: "TSIntersectionType";
+        types: K.TSTypeKind[];
+    }
+    interface TSConditionalType extends Omit<TSType, "type"> {
+        type: "TSConditionalType";
+        checkType: K.TSTypeKind;
+        extendsType: K.TSTypeKind;
+        trueType: K.TSTypeKind;
+        falseType: K.TSTypeKind;
+    }
+    interface TSInferType extends Omit<TSType, "type"> {
+        type: "TSInferType";
+        typeParameter: K.TSTypeParameterKind;
+    }
+    interface TSTypeParameter extends Omit<Identifier, "type" | "name"> {
+        type: "TSTypeParameter";
+        name: string;
+        constraint?: K.TSTypeKind | undefined;
+        default?: K.TSTypeKind | undefined;
+    }
+    interface TSParenthesizedType extends Omit<TSType, "type"> {
+        type: "TSParenthesizedType";
+        typeAnnotation: K.TSTypeKind;
+    }
+    interface TSFunctionType extends Omit<TSType, "type">, TSHasOptionalTypeParameters, TSHasOptionalTypeAnnotation {
+        type: "TSFunctionType";
+        parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[];
+    }
+    interface TSConstructorType extends Omit<TSType, "type">, TSHasOptionalTypeParameters, TSHasOptionalTypeAnnotation {
+        type: "TSConstructorType";
+        parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[];
+    }
+    interface TSDeclareFunction extends Omit<Declaration, "type">, TSHasOptionalTypeParameters {
+        type: "TSDeclareFunction";
+        declare?: boolean;
+        async?: boolean;
+        generator?: boolean;
+        id?: K.IdentifierKind | null;
+        params: K.PatternKind[];
+        returnType?: K.TSTypeAnnotationKind | K.NoopKind | null;
+    }
+    interface TSDeclareMethod extends Omit<Declaration, "type">, TSHasOptionalTypeParameters {
+        type: "TSDeclareMethod";
+        async?: boolean;
+        generator?: boolean;
+        params: K.PatternKind[];
+        abstract?: boolean;
+        accessibility?: "public" | "private" | "protected" | undefined;
+        static?: boolean;
+        computed?: boolean;
+        optional?: boolean;
+        key: K.IdentifierKind | K.StringLiteralKind | K.NumericLiteralKind | K.ExpressionKind;
+        kind?: "get" | "set" | "method" | "constructor";
+        access?: "public" | "private" | "protected" | undefined;
+        decorators?: K.DecoratorKind[] | null;
+        returnType?: K.TSTypeAnnotationKind | K.NoopKind | null;
+    }
+    interface TSMappedType extends Omit<TSType, "type"> {
+        type: "TSMappedType";
+        readonly?: boolean | "+" | "-";
+        typeParameter: K.TSTypeParameterKind;
+        optional?: boolean | "+" | "-";
+        typeAnnotation?: K.TSTypeKind | null;
+    }
+    interface TSTupleType extends Omit<TSType, "type"> {
+        type: "TSTupleType";
+        elementTypes: (K.TSTypeKind | K.TSNamedTupleMemberKind)[];
+    }
+    interface TSNamedTupleMember extends Omit<TSType, "type"> {
+        type: "TSNamedTupleMember";
+        label: K.IdentifierKind;
+        optional?: boolean;
+        elementType: K.TSTypeKind;
+    }
+    interface TSRestType extends Omit<TSType, "type"> {
+        type: "TSRestType";
+        typeAnnotation: K.TSTypeKind;
+    }
+    interface TSOptionalType extends Omit<TSType, "type"> {
+        type: "TSOptionalType";
+        typeAnnotation: K.TSTypeKind;
+    }
+    interface TSIndexedAccessType extends Omit<TSType, "type"> {
+        type: "TSIndexedAccessType";
+        objectType: K.TSTypeKind;
+        indexType: K.TSTypeKind;
+    }
+    interface TSTypeOperator extends Omit<TSType, "type"> {
+        type: "TSTypeOperator";
+        operator: string;
+        typeAnnotation: K.TSTypeKind;
+    }
+    interface TSIndexSignature extends Omit<Declaration, "type">, TSHasOptionalTypeAnnotation {
+        type: "TSIndexSignature";
+        parameters: K.IdentifierKind[];
+        readonly?: boolean;
+    }
+    interface TSPropertySignature extends Omit<Declaration, "type">, TSHasOptionalTypeAnnotation {
+        type: "TSPropertySignature";
+        key: K.ExpressionKind;
+        computed?: boolean;
+        readonly?: boolean;
+        optional?: boolean;
+        initializer?: K.ExpressionKind | null;
+    }
+    interface TSMethodSignature extends Omit<Declaration, "type">, TSHasOptionalTypeParameters, TSHasOptionalTypeAnnotation {
+        type: "TSMethodSignature";
+        key: K.ExpressionKind;
+        computed?: boolean;
+        optional?: boolean;
+        parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[];
+    }
+    interface TSTypePredicate extends Omit<TSTypeAnnotation, "type" | "typeAnnotation">, Omit<TSType, "type"> {
+        type: "TSTypePredicate";
+        parameterName: K.IdentifierKind | K.TSThisTypeKind;
+        typeAnnotation?: K.TSTypeAnnotationKind | null;
+        asserts?: boolean;
+    }
+    interface TSCallSignatureDeclaration extends Omit<Declaration, "type">, TSHasOptionalTypeParameters, TSHasOptionalTypeAnnotation {
+        type: "TSCallSignatureDeclaration";
+        parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[];
+    }
+    interface TSConstructSignatureDeclaration extends Omit<Declaration, "type">, TSHasOptionalTypeParameters, TSHasOptionalTypeAnnotation {
+        type: "TSConstructSignatureDeclaration";
+        parameters: (K.IdentifierKind | K.RestElementKind | K.ArrayPatternKind | K.ObjectPatternKind)[];
+    }
+    interface TSEnumMember extends Omit<Node, "type"> {
+        type: "TSEnumMember";
+        id: K.IdentifierKind | K.StringLiteralKind;
+        initializer?: K.ExpressionKind | null;
+    }
+    interface TSTypeQuery extends Omit<TSType, "type"> {
+        type: "TSTypeQuery";
+        exprName: K.IdentifierKind | K.TSQualifiedNameKind | K.TSImportTypeKind;
+    }
+    interface TSImportType extends Omit<TSType, "type">, TSHasOptionalTypeParameterInstantiation {
+        type: "TSImportType";
+        argument: K.StringLiteralKind;
+        qualifier?: K.IdentifierKind | K.TSQualifiedNameKind | undefined;
+    }
+    interface TSTypeLiteral extends Omit<TSType, "type"> {
+        type: "TSTypeLiteral";
+        members: (K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[];
+    }
+    interface TSTypeAssertion extends Omit<Expression, "type">, Omit<Pattern, "type"> {
+        type: "TSTypeAssertion";
+        typeAnnotation: K.TSTypeKind;
+        expression: K.ExpressionKind;
+        extra?: {
+            parenthesized: boolean;
+        } | null;
+    }
+    interface TSEnumDeclaration extends Omit<Declaration, "type"> {
+        type: "TSEnumDeclaration";
+        id: K.IdentifierKind;
+        const?: boolean;
+        declare?: boolean;
+        members: K.TSEnumMemberKind[];
+        initializer?: K.ExpressionKind | null;
+    }
+    interface TSTypeAliasDeclaration extends Omit<Declaration, "type">, TSHasOptionalTypeParameters {
+        type: "TSTypeAliasDeclaration";
+        id: K.IdentifierKind;
+        declare?: boolean;
+        typeAnnotation: K.TSTypeKind;
+    }
+    interface TSModuleBlock extends Omit<Node, "type"> {
+        type: "TSModuleBlock";
+        body: K.StatementKind[];
+    }
+    interface TSModuleDeclaration extends Omit<Declaration, "type"> {
+        type: "TSModuleDeclaration";
+        id: K.StringLiteralKind | K.IdentifierKind | K.TSQualifiedNameKind;
+        declare?: boolean;
+        global?: boolean;
+        body?: K.TSModuleBlockKind | K.TSModuleDeclarationKind | null;
+    }
+    interface TSImportEqualsDeclaration extends Omit<Declaration, "type"> {
+        type: "TSImportEqualsDeclaration";
+        id: K.IdentifierKind;
+        isExport?: boolean;
+        moduleReference: K.IdentifierKind | K.TSQualifiedNameKind | K.TSExternalModuleReferenceKind;
+    }
+    interface TSExternalModuleReference extends Omit<Declaration, "type"> {
+        type: "TSExternalModuleReference";
+        expression: K.StringLiteralKind;
+    }
+    interface TSExportAssignment extends Omit<Statement, "type"> {
+        type: "TSExportAssignment";
+        expression: K.ExpressionKind;
+    }
+    interface TSNamespaceExportDeclaration extends Omit<Declaration, "type"> {
+        type: "TSNamespaceExportDeclaration";
+        id: K.IdentifierKind;
+    }
+    interface TSInterfaceBody extends Omit<Node, "type"> {
+        type: "TSInterfaceBody";
+        body: (K.TSCallSignatureDeclarationKind | K.TSConstructSignatureDeclarationKind | K.TSIndexSignatureKind | K.TSMethodSignatureKind | K.TSPropertySignatureKind)[];
+    }
+    interface TSInterfaceDeclaration extends Omit<Declaration, "type">, TSHasOptionalTypeParameters {
+        type: "TSInterfaceDeclaration";
+        id: K.IdentifierKind | K.TSQualifiedNameKind;
+        declare?: boolean;
+        extends?: K.TSExpressionWithTypeArgumentsKind[] | null;
+        body: K.TSInterfaceBodyKind;
+    }
+    interface TSParameterProperty extends Omit<Pattern, "type"> {
+        type: "TSParameterProperty";
+        accessibility?: "public" | "private" | "protected" | undefined;
+        readonly?: boolean;
+        parameter: K.IdentifierKind | K.AssignmentPatternKind;
+    }
+    interface OptionalMemberExpression extends Omit<MemberExpression, "type"> {
+        type: "OptionalMemberExpression";
+        optional?: boolean;
+    }
+    interface OptionalCallExpression extends Omit<CallExpression, "type"> {
+        type: "OptionalCallExpression";
+        optional?: boolean;
+    }
+    type ASTNode = File | Program | Identifier | BlockStatement | EmptyStatement | ExpressionStatement | IfStatement | LabeledStatement | BreakStatement | ContinueStatement | WithStatement | SwitchStatement | SwitchCase | ReturnStatement | ThrowStatement | TryStatement | CatchClause | WhileStatement | DoWhileStatement | ForStatement | VariableDeclaration | ForInStatement | DebuggerStatement | FunctionDeclaration | FunctionExpression | VariableDeclarator | ThisExpression | ArrayExpression | ObjectExpression | Property | Literal | SequenceExpression | UnaryExpression | BinaryExpression | AssignmentExpression | MemberExpression | UpdateExpression | LogicalExpression | ConditionalExpression | NewExpression | CallExpression | RestElement | TypeAnnotation | TSTypeAnnotation | SpreadElementPattern | ArrowFunctionExpression | ForOfStatement | YieldExpression | GeneratorExpression | ComprehensionBlock | ComprehensionExpression | ObjectProperty | PropertyPattern | ObjectPattern | ArrayPattern | MethodDefinition | SpreadElement | AssignmentPattern | ClassPropertyDefinition | ClassProperty | ClassBody | ClassDeclaration | ClassExpression | ImportSpecifier | ImportNamespaceSpecifier | ImportDefaultSpecifier | ImportDeclaration | TaggedTemplateExpression | TemplateLiteral | TemplateElement | SpreadProperty | SpreadPropertyPattern | AwaitExpression | ImportExpression | JSXAttribute | JSXIdentifier | JSXNamespacedName | JSXExpressionContainer | JSXMemberExpression | JSXSpreadAttribute | JSXElement | JSXOpeningElement | JSXClosingElement | JSXFragment | JSXText | JSXOpeningFragment | JSXClosingFragment | JSXEmptyExpression | JSXSpreadChild | TypeParameterDeclaration | TSTypeParameterDeclaration | TypeParameterInstantiation | TSTypeParameterInstantiation | ClassImplements | TSExpressionWithTypeArguments | AnyTypeAnnotation | EmptyTypeAnnotation | MixedTypeAnnotation | VoidTypeAnnotation | NumberTypeAnnotation | NumberLiteralTypeAnnotation | NumericLiteralTypeAnnotation | StringTypeAnnotation | StringLiteralTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullableTypeAnnotation | NullLiteralTypeAnnotation | NullTypeAnnotation | ThisTypeAnnotation | ExistsTypeAnnotation | ExistentialTypeParam | FunctionTypeAnnotation | FunctionTypeParam | ArrayTypeAnnotation | ObjectTypeAnnotation | ObjectTypeProperty | ObjectTypeSpreadProperty | ObjectTypeIndexer | ObjectTypeCallProperty | ObjectTypeInternalSlot | Variance | QualifiedTypeIdentifier | GenericTypeAnnotation | MemberTypeAnnotation | UnionTypeAnnotation | IntersectionTypeAnnotation | TypeofTypeAnnotation | TypeParameter | InterfaceTypeAnnotation | InterfaceExtends | InterfaceDeclaration | DeclareInterface | TypeAlias | OpaqueType | DeclareTypeAlias | DeclareOpaqueType | TypeCastExpression | TupleTypeAnnotation | DeclareVariable | DeclareFunction | DeclareClass | DeclareModule | DeclareModuleExports | DeclareExportDeclaration | ExportSpecifier | ExportBatchSpecifier | DeclareExportAllDeclaration | InferredPredicate | DeclaredPredicate | ExportDeclaration | Block | Line | Noop | DoExpression | Super | BindExpression | Decorator | MetaProperty | ParenthesizedExpression | ExportDefaultDeclaration | ExportNamedDeclaration | ExportNamespaceSpecifier | ExportDefaultSpecifier | ExportAllDeclaration | CommentBlock | CommentLine | Directive | DirectiveLiteral | InterpreterDirective | StringLiteral | NumericLiteral | BigIntLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | ObjectMethod | ClassPrivateProperty | ClassMethod | ClassPrivateMethod | PrivateName | RestProperty | ForAwaitStatement | Import | TSQualifiedName | TSTypeReference | TSAsExpression | TSNonNullExpression | TSAnyKeyword | TSBigIntKeyword | TSBooleanKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSArrayType | TSLiteralType | TSUnionType | TSIntersectionType | TSConditionalType | TSInferType | TSTypeParameter | TSParenthesizedType | TSFunctionType | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSMappedType | TSTupleType | TSNamedTupleMember | TSRestType | TSOptionalType | TSIndexedAccessType | TSTypeOperator | TSIndexSignature | TSPropertySignature | TSMethodSignature | TSTypePredicate | TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSEnumMember | TSTypeQuery | TSImportType | TSTypeLiteral | TSTypeAssertion | TSEnumDeclaration | TSTypeAliasDeclaration | TSModuleBlock | TSModuleDeclaration | TSImportEqualsDeclaration | TSExternalModuleReference | TSExportAssignment | TSNamespaceExportDeclaration | TSInterfaceBody | TSInterfaceDeclaration | TSParameterProperty | OptionalMemberExpression | OptionalCallExpression;
+    let Printable: Type<Printable>;
+    let SourceLocation: Type<SourceLocation>;
+    let Node: Type<Node>;
+    let Comment: Type<Comment>;
+    let Position: Type<Position>;
+    let File: Type<File>;
+    let Program: Type<Program>;
+    let Statement: Type<Statement>;
+    let Function: Type<Function>;
+    let Expression: Type<Expression>;
+    let Pattern: Type<Pattern>;
+    let Identifier: Type<Identifier>;
+    let BlockStatement: Type<BlockStatement>;
+    let EmptyStatement: Type<EmptyStatement>;
+    let ExpressionStatement: Type<ExpressionStatement>;
+    let IfStatement: Type<IfStatement>;
+    let LabeledStatement: Type<LabeledStatement>;
+    let BreakStatement: Type<BreakStatement>;
+    let ContinueStatement: Type<ContinueStatement>;
+    let WithStatement: Type<WithStatement>;
+    let SwitchStatement: Type<SwitchStatement>;
+    let SwitchCase: Type<SwitchCase>;
+    let ReturnStatement: Type<ReturnStatement>;
+    let ThrowStatement: Type<ThrowStatement>;
+    let TryStatement: Type<TryStatement>;
+    let CatchClause: Type<CatchClause>;
+    let WhileStatement: Type<WhileStatement>;
+    let DoWhileStatement: Type<DoWhileStatement>;
+    let ForStatement: Type<ForStatement>;
+    let Declaration: Type<Declaration>;
+    let VariableDeclaration: Type<VariableDeclaration>;
+    let ForInStatement: Type<ForInStatement>;
+    let DebuggerStatement: Type<DebuggerStatement>;
+    let FunctionDeclaration: Type<FunctionDeclaration>;
+    let FunctionExpression: Type<FunctionExpression>;
+    let VariableDeclarator: Type<VariableDeclarator>;
+    let ThisExpression: Type<ThisExpression>;
+    let ArrayExpression: Type<ArrayExpression>;
+    let ObjectExpression: Type<ObjectExpression>;
+    let Property: Type<Property>;
+    let Literal: Type<Literal>;
+    let SequenceExpression: Type<SequenceExpression>;
+    let UnaryExpression: Type<UnaryExpression>;
+    let BinaryExpression: Type<BinaryExpression>;
+    let AssignmentExpression: Type<AssignmentExpression>;
+    let MemberExpression: Type<MemberExpression>;
+    let UpdateExpression: Type<UpdateExpression>;
+    let LogicalExpression: Type<LogicalExpression>;
+    let ConditionalExpression: Type<ConditionalExpression>;
+    let NewExpression: Type<NewExpression>;
+    let CallExpression: Type<CallExpression>;
+    let RestElement: Type<RestElement>;
+    let TypeAnnotation: Type<TypeAnnotation>;
+    let TSTypeAnnotation: Type<TSTypeAnnotation>;
+    let SpreadElementPattern: Type<SpreadElementPattern>;
+    let ArrowFunctionExpression: Type<ArrowFunctionExpression>;
+    let ForOfStatement: Type<ForOfStatement>;
+    let YieldExpression: Type<YieldExpression>;
+    let GeneratorExpression: Type<GeneratorExpression>;
+    let ComprehensionBlock: Type<ComprehensionBlock>;
+    let ComprehensionExpression: Type<ComprehensionExpression>;
+    let ObjectProperty: Type<ObjectProperty>;
+    let PropertyPattern: Type<PropertyPattern>;
+    let ObjectPattern: Type<ObjectPattern>;
+    let ArrayPattern: Type<ArrayPattern>;
+    let MethodDefinition: Type<MethodDefinition>;
+    let SpreadElement: Type<SpreadElement>;
+    let AssignmentPattern: Type<AssignmentPattern>;
+    let ClassPropertyDefinition: Type<ClassPropertyDefinition>;
+    let ClassProperty: Type<ClassProperty>;
+    let ClassBody: Type<ClassBody>;
+    let ClassDeclaration: Type<ClassDeclaration>;
+    let ClassExpression: Type<ClassExpression>;
+    let Specifier: Type<Specifier>;
+    let ModuleSpecifier: Type<ModuleSpecifier>;
+    let ImportSpecifier: Type<ImportSpecifier>;
+    let ImportNamespaceSpecifier: Type<ImportNamespaceSpecifier>;
+    let ImportDefaultSpecifier: Type<ImportDefaultSpecifier>;
+    let ImportDeclaration: Type<ImportDeclaration>;
+    let TaggedTemplateExpression: Type<TaggedTemplateExpression>;
+    let TemplateLiteral: Type<TemplateLiteral>;
+    let TemplateElement: Type<TemplateElement>;
+    let SpreadProperty: Type<SpreadProperty>;
+    let SpreadPropertyPattern: Type<SpreadPropertyPattern>;
+    let AwaitExpression: Type<AwaitExpression>;
+    let ImportExpression: Type<ImportExpression>;
+    let JSXAttribute: Type<JSXAttribute>;
+    let JSXIdentifier: Type<JSXIdentifier>;
+    let JSXNamespacedName: Type<JSXNamespacedName>;
+    let JSXExpressionContainer: Type<JSXExpressionContainer>;
+    let JSXMemberExpression: Type<JSXMemberExpression>;
+    let JSXSpreadAttribute: Type<JSXSpreadAttribute>;
+    let JSXElement: Type<JSXElement>;
+    let JSXOpeningElement: Type<JSXOpeningElement>;
+    let JSXClosingElement: Type<JSXClosingElement>;
+    let JSXFragment: Type<JSXFragment>;
+    let JSXText: Type<JSXText>;
+    let JSXOpeningFragment: Type<JSXOpeningFragment>;
+    let JSXClosingFragment: Type<JSXClosingFragment>;
+    let JSXEmptyExpression: Type<JSXEmptyExpression>;
+    let JSXSpreadChild: Type<JSXSpreadChild>;
+    let TypeParameterDeclaration: Type<TypeParameterDeclaration>;
+    let TSTypeParameterDeclaration: Type<TSTypeParameterDeclaration>;
+    let TypeParameterInstantiation: Type<TypeParameterInstantiation>;
+    let TSTypeParameterInstantiation: Type<TSTypeParameterInstantiation>;
+    let ClassImplements: Type<ClassImplements>;
+    let TSType: Type<TSType>;
+    let TSHasOptionalTypeParameterInstantiation: Type<TSHasOptionalTypeParameterInstantiation>;
+    let TSExpressionWithTypeArguments: Type<TSExpressionWithTypeArguments>;
+    let Flow: Type<Flow>;
+    let FlowType: Type<FlowType>;
+    let AnyTypeAnnotation: Type<AnyTypeAnnotation>;
+    let EmptyTypeAnnotation: Type<EmptyTypeAnnotation>;
+    let MixedTypeAnnotation: Type<MixedTypeAnnotation>;
+    let VoidTypeAnnotation: Type<VoidTypeAnnotation>;
+    let NumberTypeAnnotation: Type<NumberTypeAnnotation>;
+    let NumberLiteralTypeAnnotation: Type<NumberLiteralTypeAnnotation>;
+    let NumericLiteralTypeAnnotation: Type<NumericLiteralTypeAnnotation>;
+    let StringTypeAnnotation: Type<StringTypeAnnotation>;
+    let StringLiteralTypeAnnotation: Type<StringLiteralTypeAnnotation>;
+    let BooleanTypeAnnotation: Type<BooleanTypeAnnotation>;
+    let BooleanLiteralTypeAnnotation: Type<BooleanLiteralTypeAnnotation>;
+    let NullableTypeAnnotation: Type<NullableTypeAnnotation>;
+    let NullLiteralTypeAnnotation: Type<NullLiteralTypeAnnotation>;
+    let NullTypeAnnotation: Type<NullTypeAnnotation>;
+    let ThisTypeAnnotation: Type<ThisTypeAnnotation>;
+    let ExistsTypeAnnotation: Type<ExistsTypeAnnotation>;
+    let ExistentialTypeParam: Type<ExistentialTypeParam>;
+    let FunctionTypeAnnotation: Type<FunctionTypeAnnotation>;
+    let FunctionTypeParam: Type<FunctionTypeParam>;
+    let ArrayTypeAnnotation: Type<ArrayTypeAnnotation>;
+    let ObjectTypeAnnotation: Type<ObjectTypeAnnotation>;
+    let ObjectTypeProperty: Type<ObjectTypeProperty>;
+    let ObjectTypeSpreadProperty: Type<ObjectTypeSpreadProperty>;
+    let ObjectTypeIndexer: Type<ObjectTypeIndexer>;
+    let ObjectTypeCallProperty: Type<ObjectTypeCallProperty>;
+    let ObjectTypeInternalSlot: Type<ObjectTypeInternalSlot>;
+    let Variance: Type<Variance>;
+    let QualifiedTypeIdentifier: Type<QualifiedTypeIdentifier>;
+    let GenericTypeAnnotation: Type<GenericTypeAnnotation>;
+    let MemberTypeAnnotation: Type<MemberTypeAnnotation>;
+    let UnionTypeAnnotation: Type<UnionTypeAnnotation>;
+    let IntersectionTypeAnnotation: Type<IntersectionTypeAnnotation>;
+    let TypeofTypeAnnotation: Type<TypeofTypeAnnotation>;
+    let TypeParameter: Type<TypeParameter>;
+    let InterfaceTypeAnnotation: Type<InterfaceTypeAnnotation>;
+    let InterfaceExtends: Type<InterfaceExtends>;
+    let InterfaceDeclaration: Type<InterfaceDeclaration>;
+    let DeclareInterface: Type<DeclareInterface>;
+    let TypeAlias: Type<TypeAlias>;
+    let OpaqueType: Type<OpaqueType>;
+    let DeclareTypeAlias: Type<DeclareTypeAlias>;
+    let DeclareOpaqueType: Type<DeclareOpaqueType>;
+    let TypeCastExpression: Type<TypeCastExpression>;
+    let TupleTypeAnnotation: Type<TupleTypeAnnotation>;
+    let DeclareVariable: Type<DeclareVariable>;
+    let DeclareFunction: Type<DeclareFunction>;
+    let DeclareClass: Type<DeclareClass>;
+    let DeclareModule: Type<DeclareModule>;
+    let DeclareModuleExports: Type<DeclareModuleExports>;
+    let DeclareExportDeclaration: Type<DeclareExportDeclaration>;
+    let ExportSpecifier: Type<ExportSpecifier>;
+    let ExportBatchSpecifier: Type<ExportBatchSpecifier>;
+    let DeclareExportAllDeclaration: Type<DeclareExportAllDeclaration>;
+    let FlowPredicate: Type<FlowPredicate>;
+    let InferredPredicate: Type<InferredPredicate>;
+    let DeclaredPredicate: Type<DeclaredPredicate>;
+    let ExportDeclaration: Type<ExportDeclaration>;
+    let Block: Type<Block>;
+    let Line: Type<Line>;
+    let Noop: Type<Noop>;
+    let DoExpression: Type<DoExpression>;
+    let Super: Type<Super>;
+    let BindExpression: Type<BindExpression>;
+    let Decorator: Type<Decorator>;
+    let MetaProperty: Type<MetaProperty>;
+    let ParenthesizedExpression: Type<ParenthesizedExpression>;
+    let ExportDefaultDeclaration: Type<ExportDefaultDeclaration>;
+    let ExportNamedDeclaration: Type<ExportNamedDeclaration>;
+    let ExportNamespaceSpecifier: Type<ExportNamespaceSpecifier>;
+    let ExportDefaultSpecifier: Type<ExportDefaultSpecifier>;
+    let ExportAllDeclaration: Type<ExportAllDeclaration>;
+    let CommentBlock: Type<CommentBlock>;
+    let CommentLine: Type<CommentLine>;
+    let Directive: Type<Directive>;
+    let DirectiveLiteral: Type<DirectiveLiteral>;
+    let InterpreterDirective: Type<InterpreterDirective>;
+    let StringLiteral: Type<StringLiteral>;
+    let NumericLiteral: Type<NumericLiteral>;
+    let BigIntLiteral: Type<BigIntLiteral>;
+    let NullLiteral: Type<NullLiteral>;
+    let BooleanLiteral: Type<BooleanLiteral>;
+    let RegExpLiteral: Type<RegExpLiteral>;
+    let ObjectMethod: Type<ObjectMethod>;
+    let ClassPrivateProperty: Type<ClassPrivateProperty>;
+    let ClassMethod: Type<ClassMethod>;
+    let ClassPrivateMethod: Type<ClassPrivateMethod>;
+    let PrivateName: Type<PrivateName>;
+    let RestProperty: Type<RestProperty>;
+    let ForAwaitStatement: Type<ForAwaitStatement>;
+    let Import: Type<Import>;
+    let TSQualifiedName: Type<TSQualifiedName>;
+    let TSTypeReference: Type<TSTypeReference>;
+    let TSHasOptionalTypeParameters: Type<TSHasOptionalTypeParameters>;
+    let TSHasOptionalTypeAnnotation: Type<TSHasOptionalTypeAnnotation>;
+    let TSAsExpression: Type<TSAsExpression>;
+    let TSNonNullExpression: Type<TSNonNullExpression>;
+    let TSAnyKeyword: Type<TSAnyKeyword>;
+    let TSBigIntKeyword: Type<TSBigIntKeyword>;
+    let TSBooleanKeyword: Type<TSBooleanKeyword>;
+    let TSNeverKeyword: Type<TSNeverKeyword>;
+    let TSNullKeyword: Type<TSNullKeyword>;
+    let TSNumberKeyword: Type<TSNumberKeyword>;
+    let TSObjectKeyword: Type<TSObjectKeyword>;
+    let TSStringKeyword: Type<TSStringKeyword>;
+    let TSSymbolKeyword: Type<TSSymbolKeyword>;
+    let TSUndefinedKeyword: Type<TSUndefinedKeyword>;
+    let TSUnknownKeyword: Type<TSUnknownKeyword>;
+    let TSVoidKeyword: Type<TSVoidKeyword>;
+    let TSThisType: Type<TSThisType>;
+    let TSArrayType: Type<TSArrayType>;
+    let TSLiteralType: Type<TSLiteralType>;
+    let TSUnionType: Type<TSUnionType>;
+    let TSIntersectionType: Type<TSIntersectionType>;
+    let TSConditionalType: Type<TSConditionalType>;
+    let TSInferType: Type<TSInferType>;
+    let TSTypeParameter: Type<TSTypeParameter>;
+    let TSParenthesizedType: Type<TSParenthesizedType>;
+    let TSFunctionType: Type<TSFunctionType>;
+    let TSConstructorType: Type<TSConstructorType>;
+    let TSDeclareFunction: Type<TSDeclareFunction>;
+    let TSDeclareMethod: Type<TSDeclareMethod>;
+    let TSMappedType: Type<TSMappedType>;
+    let TSTupleType: Type<TSTupleType>;
+    let TSNamedTupleMember: Type<TSNamedTupleMember>;
+    let TSRestType: Type<TSRestType>;
+    let TSOptionalType: Type<TSOptionalType>;
+    let TSIndexedAccessType: Type<TSIndexedAccessType>;
+    let TSTypeOperator: Type<TSTypeOperator>;
+    let TSIndexSignature: Type<TSIndexSignature>;
+    let TSPropertySignature: Type<TSPropertySignature>;
+    let TSMethodSignature: Type<TSMethodSignature>;
+    let TSTypePredicate: Type<TSTypePredicate>;
+    let TSCallSignatureDeclaration: Type<TSCallSignatureDeclaration>;
+    let TSConstructSignatureDeclaration: Type<TSConstructSignatureDeclaration>;
+    let TSEnumMember: Type<TSEnumMember>;
+    let TSTypeQuery: Type<TSTypeQuery>;
+    let TSImportType: Type<TSImportType>;
+    let TSTypeLiteral: Type<TSTypeLiteral>;
+    let TSTypeAssertion: Type<TSTypeAssertion>;
+    let TSEnumDeclaration: Type<TSEnumDeclaration>;
+    let TSTypeAliasDeclaration: Type<TSTypeAliasDeclaration>;
+    let TSModuleBlock: Type<TSModuleBlock>;
+    let TSModuleDeclaration: Type<TSModuleDeclaration>;
+    let TSImportEqualsDeclaration: Type<TSImportEqualsDeclaration>;
+    let TSExternalModuleReference: Type<TSExternalModuleReference>;
+    let TSExportAssignment: Type<TSExportAssignment>;
+    let TSNamespaceExportDeclaration: Type<TSNamespaceExportDeclaration>;
+    let TSInterfaceBody: Type<TSInterfaceBody>;
+    let TSInterfaceDeclaration: Type<TSInterfaceDeclaration>;
+    let TSParameterProperty: Type<TSParameterProperty>;
+    let OptionalMemberExpression: Type<OptionalMemberExpression>;
+    let OptionalCallExpression: Type<OptionalCallExpression>;
+}
+export interface NamedTypes {
+    Printable: Type<namedTypes.Printable>;
+    SourceLocation: Type<namedTypes.SourceLocation>;
+    Node: Type<namedTypes.Node>;
+    Comment: Type<namedTypes.Comment>;
+    Position: Type<namedTypes.Position>;
+    File: Type<namedTypes.File>;
+    Program: Type<namedTypes.Program>;
+    Statement: Type<namedTypes.Statement>;
+    Function: Type<namedTypes.Function>;
+    Expression: Type<namedTypes.Expression>;
+    Pattern: Type<namedTypes.Pattern>;
+    Identifier: Type<namedTypes.Identifier>;
+    BlockStatement: Type<namedTypes.BlockStatement>;
+    EmptyStatement: Type<namedTypes.EmptyStatement>;
+    ExpressionStatement: Type<namedTypes.ExpressionStatement>;
+    IfStatement: Type<namedTypes.IfStatement>;
+    LabeledStatement: Type<namedTypes.LabeledStatement>;
+    BreakStatement: Type<namedTypes.BreakStatement>;
+    ContinueStatement: Type<namedTypes.ContinueStatement>;
+    WithStatement: Type<namedTypes.WithStatement>;
+    SwitchStatement: Type<namedTypes.SwitchStatement>;
+    SwitchCase: Type<namedTypes.SwitchCase>;
+    ReturnStatement: Type<namedTypes.ReturnStatement>;
+    ThrowStatement: Type<namedTypes.ThrowStatement>;
+    TryStatement: Type<namedTypes.TryStatement>;
+    CatchClause: Type<namedTypes.CatchClause>;
+    WhileStatement: Type<namedTypes.WhileStatement>;
+    DoWhileStatement: Type<namedTypes.DoWhileStatement>;
+    ForStatement: Type<namedTypes.ForStatement>;
+    Declaration: Type<namedTypes.Declaration>;
+    VariableDeclaration: Type<namedTypes.VariableDeclaration>;
+    ForInStatement: Type<namedTypes.ForInStatement>;
+    DebuggerStatement: Type<namedTypes.DebuggerStatement>;
+    FunctionDeclaration: Type<namedTypes.FunctionDeclaration>;
+    FunctionExpression: Type<namedTypes.FunctionExpression>;
+    VariableDeclarator: Type<namedTypes.VariableDeclarator>;
+    ThisExpression: Type<namedTypes.ThisExpression>;
+    ArrayExpression: Type<namedTypes.ArrayExpression>;
+    ObjectExpression: Type<namedTypes.ObjectExpression>;
+    Property: Type<namedTypes.Property>;
+    Literal: Type<namedTypes.Literal>;
+    SequenceExpression: Type<namedTypes.SequenceExpression>;
+    UnaryExpression: Type<namedTypes.UnaryExpression>;
+    BinaryExpression: Type<namedTypes.BinaryExpression>;
+    AssignmentExpression: Type<namedTypes.AssignmentExpression>;
+    MemberExpression: Type<namedTypes.MemberExpression>;
+    UpdateExpression: Type<namedTypes.UpdateExpression>;
+    LogicalExpression: Type<namedTypes.LogicalExpression>;
+    ConditionalExpression: Type<namedTypes.ConditionalExpression>;
+    NewExpression: Type<namedTypes.NewExpression>;
+    CallExpression: Type<namedTypes.CallExpression>;
+    RestElement: Type<namedTypes.RestElement>;
+    TypeAnnotation: Type<namedTypes.TypeAnnotation>;
+    TSTypeAnnotation: Type<namedTypes.TSTypeAnnotation>;
+    SpreadElementPattern: Type<namedTypes.SpreadElementPattern>;
+    ArrowFunctionExpression: Type<namedTypes.ArrowFunctionExpression>;
+    ForOfStatement: Type<namedTypes.ForOfStatement>;
+    YieldExpression: Type<namedTypes.YieldExpression>;
+    GeneratorExpression: Type<namedTypes.GeneratorExpression>;
+    ComprehensionBlock: Type<namedTypes.ComprehensionBlock>;
+    ComprehensionExpression: Type<namedTypes.ComprehensionExpression>;
+    ObjectProperty: Type<namedTypes.ObjectProperty>;
+    PropertyPattern: Type<namedTypes.PropertyPattern>;
+    ObjectPattern: Type<namedTypes.ObjectPattern>;
+    ArrayPattern: Type<namedTypes.ArrayPattern>;
+    MethodDefinition: Type<namedTypes.MethodDefinition>;
+    SpreadElement: Type<namedTypes.SpreadElement>;
+    AssignmentPattern: Type<namedTypes.AssignmentPattern>;
+    ClassPropertyDefinition: Type<namedTypes.ClassPropertyDefinition>;
+    ClassProperty: Type<namedTypes.ClassProperty>;
+    ClassBody: Type<namedTypes.ClassBody>;
+    ClassDeclaration: Type<namedTypes.ClassDeclaration>;
+    ClassExpression: Type<namedTypes.ClassExpression>;
+    Specifier: Type<namedTypes.Specifier>;
+    ModuleSpecifier: Type<namedTypes.ModuleSpecifier>;
+    ImportSpecifier: Type<namedTypes.ImportSpecifier>;
+    ImportNamespaceSpecifier: Type<namedTypes.ImportNamespaceSpecifier>;
+    ImportDefaultSpecifier: Type<namedTypes.ImportDefaultSpecifier>;
+    ImportDeclaration: Type<namedTypes.ImportDeclaration>;
+    TaggedTemplateExpression: Type<namedTypes.TaggedTemplateExpression>;
+    TemplateLiteral: Type<namedTypes.TemplateLiteral>;
+    TemplateElement: Type<namedTypes.TemplateElement>;
+    SpreadProperty: Type<namedTypes.SpreadProperty>;
+    SpreadPropertyPattern: Type<namedTypes.SpreadPropertyPattern>;
+    AwaitExpression: Type<namedTypes.AwaitExpression>;
+    ImportExpression: Type<namedTypes.ImportExpression>;
+    JSXAttribute: Type<namedTypes.JSXAttribute>;
+    JSXIdentifier: Type<namedTypes.JSXIdentifier>;
+    JSXNamespacedName: Type<namedTypes.JSXNamespacedName>;
+    JSXExpressionContainer: Type<namedTypes.JSXExpressionContainer>;
+    JSXMemberExpression: Type<namedTypes.JSXMemberExpression>;
+    JSXSpreadAttribute: Type<namedTypes.JSXSpreadAttribute>;
+    JSXElement: Type<namedTypes.JSXElement>;
+    JSXOpeningElement: Type<namedTypes.JSXOpeningElement>;
+    JSXClosingElement: Type<namedTypes.JSXClosingElement>;
+    JSXFragment: Type<namedTypes.JSXFragment>;
+    JSXText: Type<namedTypes.JSXText>;
+    JSXOpeningFragment: Type<namedTypes.JSXOpeningFragment>;
+    JSXClosingFragment: Type<namedTypes.JSXClosingFragment>;
+    JSXEmptyExpression: Type<namedTypes.JSXEmptyExpression>;
+    JSXSpreadChild: Type<namedTypes.JSXSpreadChild>;
+    TypeParameterDeclaration: Type<namedTypes.TypeParameterDeclaration>;
+    TSTypeParameterDeclaration: Type<namedTypes.TSTypeParameterDeclaration>;
+    TypeParameterInstantiation: Type<namedTypes.TypeParameterInstantiation>;
+    TSTypeParameterInstantiation: Type<namedTypes.TSTypeParameterInstantiation>;
+    ClassImplements: Type<namedTypes.ClassImplements>;
+    TSType: Type<namedTypes.TSType>;
+    TSHasOptionalTypeParameterInstantiation: Type<namedTypes.TSHasOptionalTypeParameterInstantiation>;
+    TSExpressionWithTypeArguments: Type<namedTypes.TSExpressionWithTypeArguments>;
+    Flow: Type<namedTypes.Flow>;
+    FlowType: Type<namedTypes.FlowType>;
+    AnyTypeAnnotation: Type<namedTypes.AnyTypeAnnotation>;
+    EmptyTypeAnnotation: Type<namedTypes.EmptyTypeAnnotation>;
+    MixedTypeAnnotation: Type<namedTypes.MixedTypeAnnotation>;
+    VoidTypeAnnotation: Type<namedTypes.VoidTypeAnnotation>;
+    NumberTypeAnnotation: Type<namedTypes.NumberTypeAnnotation>;
+    NumberLiteralTypeAnnotation: Type<namedTypes.NumberLiteralTypeAnnotation>;
+    NumericLiteralTypeAnnotation: Type<namedTypes.NumericLiteralTypeAnnotation>;
+    StringTypeAnnotation: Type<namedTypes.StringTypeAnnotation>;
+    StringLiteralTypeAnnotation: Type<namedTypes.StringLiteralTypeAnnotation>;
+    BooleanTypeAnnotation: Type<namedTypes.BooleanTypeAnnotation>;
+    BooleanLiteralTypeAnnotation: Type<namedTypes.BooleanLiteralTypeAnnotation>;
+    NullableTypeAnnotation: Type<namedTypes.NullableTypeAnnotation>;
+    NullLiteralTypeAnnotation: Type<namedTypes.NullLiteralTypeAnnotation>;
+    NullTypeAnnotation: Type<namedTypes.NullTypeAnnotation>;
+    ThisTypeAnnotation: Type<namedTypes.ThisTypeAnnotation>;
+    ExistsTypeAnnotation: Type<namedTypes.ExistsTypeAnnotation>;
+    ExistentialTypeParam: Type<namedTypes.ExistentialTypeParam>;
+    FunctionTypeAnnotation: Type<namedTypes.FunctionTypeAnnotation>;
+    FunctionTypeParam: Type<namedTypes.FunctionTypeParam>;
+    ArrayTypeAnnotation: Type<namedTypes.ArrayTypeAnnotation>;
+    ObjectTypeAnnotation: Type<namedTypes.ObjectTypeAnnotation>;
+    ObjectTypeProperty: Type<namedTypes.ObjectTypeProperty>;
+    ObjectTypeSpreadProperty: Type<namedTypes.ObjectTypeSpreadProperty>;
+    ObjectTypeIndexer: Type<namedTypes.ObjectTypeIndexer>;
+    ObjectTypeCallProperty: Type<namedTypes.ObjectTypeCallProperty>;
+    ObjectTypeInternalSlot: Type<namedTypes.ObjectTypeInternalSlot>;
+    Variance: Type<namedTypes.Variance>;
+    QualifiedTypeIdentifier: Type<namedTypes.QualifiedTypeIdentifier>;
+    GenericTypeAnnotation: Type<namedTypes.GenericTypeAnnotation>;
+    MemberTypeAnnotation: Type<namedTypes.MemberTypeAnnotation>;
+    UnionTypeAnnotation: Type<namedTypes.UnionTypeAnnotation>;
+    IntersectionTypeAnnotation: Type<namedTypes.IntersectionTypeAnnotation>;
+    TypeofTypeAnnotation: Type<namedTypes.TypeofTypeAnnotation>;
+    TypeParameter: Type<namedTypes.TypeParameter>;
+    InterfaceTypeAnnotation: Type<namedTypes.InterfaceTypeAnnotation>;
+    InterfaceExtends: Type<namedTypes.InterfaceExtends>;
+    InterfaceDeclaration: Type<namedTypes.InterfaceDeclaration>;
+    DeclareInterface: Type<namedTypes.DeclareInterface>;
+    TypeAlias: Type<namedTypes.TypeAlias>;
+    OpaqueType: Type<namedTypes.OpaqueType>;
+    DeclareTypeAlias: Type<namedTypes.DeclareTypeAlias>;
+    DeclareOpaqueType: Type<namedTypes.DeclareOpaqueType>;
+    TypeCastExpression: Type<namedTypes.TypeCastExpression>;
+    TupleTypeAnnotation: Type<namedTypes.TupleTypeAnnotation>;
+    DeclareVariable: Type<namedTypes.DeclareVariable>;
+    DeclareFunction: Type<namedTypes.DeclareFunction>;
+    DeclareClass: Type<namedTypes.DeclareClass>;
+    DeclareModule: Type<namedTypes.DeclareModule>;
+    DeclareModuleExports: Type<namedTypes.DeclareModuleExports>;
+    DeclareExportDeclaration: Type<namedTypes.DeclareExportDeclaration>;
+    ExportSpecifier: Type<namedTypes.ExportSpecifier>;
+    ExportBatchSpecifier: Type<namedTypes.ExportBatchSpecifier>;
+    DeclareExportAllDeclaration: Type<namedTypes.DeclareExportAllDeclaration>;
+    FlowPredicate: Type<namedTypes.FlowPredicate>;
+    InferredPredicate: Type<namedTypes.InferredPredicate>;
+    DeclaredPredicate: Type<namedTypes.DeclaredPredicate>;
+    ExportDeclaration: Type<namedTypes.ExportDeclaration>;
+    Block: Type<namedTypes.Block>;
+    Line: Type<namedTypes.Line>;
+    Noop: Type<namedTypes.Noop>;
+    DoExpression: Type<namedTypes.DoExpression>;
+    Super: Type<namedTypes.Super>;
+    BindExpression: Type<namedTypes.BindExpression>;
+    Decorator: Type<namedTypes.Decorator>;
+    MetaProperty: Type<namedTypes.MetaProperty>;
+    ParenthesizedExpression: Type<namedTypes.ParenthesizedExpression>;
+    ExportDefaultDeclaration: Type<namedTypes.ExportDefaultDeclaration>;
+    ExportNamedDeclaration: Type<namedTypes.ExportNamedDeclaration>;
+    ExportNamespaceSpecifier: Type<namedTypes.ExportNamespaceSpecifier>;
+    ExportDefaultSpecifier: Type<namedTypes.ExportDefaultSpecifier>;
+    ExportAllDeclaration: Type<namedTypes.ExportAllDeclaration>;
+    CommentBlock: Type<namedTypes.CommentBlock>;
+    CommentLine: Type<namedTypes.CommentLine>;
+    Directive: Type<namedTypes.Directive>;
+    DirectiveLiteral: Type<namedTypes.DirectiveLiteral>;
+    InterpreterDirective: Type<namedTypes.InterpreterDirective>;
+    StringLiteral: Type<namedTypes.StringLiteral>;
+    NumericLiteral: Type<namedTypes.NumericLiteral>;
+    BigIntLiteral: Type<namedTypes.BigIntLiteral>;
+    NullLiteral: Type<namedTypes.NullLiteral>;
+    BooleanLiteral: Type<namedTypes.BooleanLiteral>;
+    RegExpLiteral: Type<namedTypes.RegExpLiteral>;
+    ObjectMethod: Type<namedTypes.ObjectMethod>;
+    ClassPrivateProperty: Type<namedTypes.ClassPrivateProperty>;
+    ClassMethod: Type<namedTypes.ClassMethod>;
+    ClassPrivateMethod: Type<namedTypes.ClassPrivateMethod>;
+    PrivateName: Type<namedTypes.PrivateName>;
+    RestProperty: Type<namedTypes.RestProperty>;
+    ForAwaitStatement: Type<namedTypes.ForAwaitStatement>;
+    Import: Type<namedTypes.Import>;
+    TSQualifiedName: Type<namedTypes.TSQualifiedName>;
+    TSTypeReference: Type<namedTypes.TSTypeReference>;
+    TSHasOptionalTypeParameters: Type<namedTypes.TSHasOptionalTypeParameters>;
+    TSHasOptionalTypeAnnotation: Type<namedTypes.TSHasOptionalTypeAnnotation>;
+    TSAsExpression: Type<namedTypes.TSAsExpression>;
+    TSNonNullExpression: Type<namedTypes.TSNonNullExpression>;
+    TSAnyKeyword: Type<namedTypes.TSAnyKeyword>;
+    TSBigIntKeyword: Type<namedTypes.TSBigIntKeyword>;
+    TSBooleanKeyword: Type<namedTypes.TSBooleanKeyword>;
+    TSNeverKeyword: Type<namedTypes.TSNeverKeyword>;
+    TSNullKeyword: Type<namedTypes.TSNullKeyword>;
+    TSNumberKeyword: Type<namedTypes.TSNumberKeyword>;
+    TSObjectKeyword: Type<namedTypes.TSObjectKeyword>;
+    TSStringKeyword: Type<namedTypes.TSStringKeyword>;
+    TSSymbolKeyword: Type<namedTypes.TSSymbolKeyword>;
+    TSUndefinedKeyword: Type<namedTypes.TSUndefinedKeyword>;
+    TSUnknownKeyword: Type<namedTypes.TSUnknownKeyword>;
+    TSVoidKeyword: Type<namedTypes.TSVoidKeyword>;
+    TSThisType: Type<namedTypes.TSThisType>;
+    TSArrayType: Type<namedTypes.TSArrayType>;
+    TSLiteralType: Type<namedTypes.TSLiteralType>;
+    TSUnionType: Type<namedTypes.TSUnionType>;
+    TSIntersectionType: Type<namedTypes.TSIntersectionType>;
+    TSConditionalType: Type<namedTypes.TSConditionalType>;
+    TSInferType: Type<namedTypes.TSInferType>;
+    TSTypeParameter: Type<namedTypes.TSTypeParameter>;
+    TSParenthesizedType: Type<namedTypes.TSParenthesizedType>;
+    TSFunctionType: Type<namedTypes.TSFunctionType>;
+    TSConstructorType: Type<namedTypes.TSConstructorType>;
+    TSDeclareFunction: Type<namedTypes.TSDeclareFunction>;
+    TSDeclareMethod: Type<namedTypes.TSDeclareMethod>;
+    TSMappedType: Type<namedTypes.TSMappedType>;
+    TSTupleType: Type<namedTypes.TSTupleType>;
+    TSNamedTupleMember: Type<namedTypes.TSNamedTupleMember>;
+    TSRestType: Type<namedTypes.TSRestType>;
+    TSOptionalType: Type<namedTypes.TSOptionalType>;
+    TSIndexedAccessType: Type<namedTypes.TSIndexedAccessType>;
+    TSTypeOperator: Type<namedTypes.TSTypeOperator>;
+    TSIndexSignature: Type<namedTypes.TSIndexSignature>;
+    TSPropertySignature: Type<namedTypes.TSPropertySignature>;
+    TSMethodSignature: Type<namedTypes.TSMethodSignature>;
+    TSTypePredicate: Type<namedTypes.TSTypePredicate>;
+    TSCallSignatureDeclaration: Type<namedTypes.TSCallSignatureDeclaration>;
+    TSConstructSignatureDeclaration: Type<namedTypes.TSConstructSignatureDeclaration>;
+    TSEnumMember: Type<namedTypes.TSEnumMember>;
+    TSTypeQuery: Type<namedTypes.TSTypeQuery>;
+    TSImportType: Type<namedTypes.TSImportType>;
+    TSTypeLiteral: Type<namedTypes.TSTypeLiteral>;
+    TSTypeAssertion: Type<namedTypes.TSTypeAssertion>;
+    TSEnumDeclaration: Type<namedTypes.TSEnumDeclaration>;
+    TSTypeAliasDeclaration: Type<namedTypes.TSTypeAliasDeclaration>;
+    TSModuleBlock: Type<namedTypes.TSModuleBlock>;
+    TSModuleDeclaration: Type<namedTypes.TSModuleDeclaration>;
+    TSImportEqualsDeclaration: Type<namedTypes.TSImportEqualsDeclaration>;
+    TSExternalModuleReference: Type<namedTypes.TSExternalModuleReference>;
+    TSExportAssignment: Type<namedTypes.TSExportAssignment>;
+    TSNamespaceExportDeclaration: Type<namedTypes.TSNamespaceExportDeclaration>;
+    TSInterfaceBody: Type<namedTypes.TSInterfaceBody>;
+    TSInterfaceDeclaration: Type<namedTypes.TSInterfaceDeclaration>;
+    TSParameterProperty: Type<namedTypes.TSParameterProperty>;
+    OptionalMemberExpression: Type<namedTypes.OptionalMemberExpression>;
+    OptionalCallExpression: Type<namedTypes.OptionalCallExpression>;
+}
diff --git a/node_modules/degenerator/node_modules/ast-types/gen/namedTypes.js b/node_modules/degenerator/node_modules/ast-types/gen/namedTypes.js
new file mode 100644
index 0000000..8b8a681
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/gen/namedTypes.js
@@ -0,0 +1,6 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.namedTypes = void 0;
+var namedTypes;
+(function (namedTypes) {
+})(namedTypes = exports.namedTypes || (exports.namedTypes = {}));
diff --git a/node_modules/degenerator/node_modules/ast-types/gen/visitor.d.ts b/node_modules/degenerator/node_modules/ast-types/gen/visitor.d.ts
new file mode 100644
index 0000000..00ec19b
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/gen/visitor.d.ts
@@ -0,0 +1,268 @@
+import { NodePath } from "../lib/node-path";
+import { Context } from "../lib/path-visitor";
+import { namedTypes } from "./namedTypes";
+export interface Visitor<M = {}> {
+    visitPrintable?(this: Context & M, path: NodePath<namedTypes.Printable>): any;
+    visitSourceLocation?(this: Context & M, path: NodePath<namedTypes.SourceLocation>): any;
+    visitNode?(this: Context & M, path: NodePath<namedTypes.Node>): any;
+    visitComment?(this: Context & M, path: NodePath<namedTypes.Comment>): any;
+    visitPosition?(this: Context & M, path: NodePath<namedTypes.Position>): any;
+    visitFile?(this: Context & M, path: NodePath<namedTypes.File>): any;
+    visitProgram?(this: Context & M, path: NodePath<namedTypes.Program>): any;
+    visitStatement?(this: Context & M, path: NodePath<namedTypes.Statement>): any;
+    visitFunction?(this: Context & M, path: NodePath<namedTypes.Function>): any;
+    visitExpression?(this: Context & M, path: NodePath<namedTypes.Expression>): any;
+    visitPattern?(this: Context & M, path: NodePath<namedTypes.Pattern>): any;
+    visitIdentifier?(this: Context & M, path: NodePath<namedTypes.Identifier>): any;
+    visitBlockStatement?(this: Context & M, path: NodePath<namedTypes.BlockStatement>): any;
+    visitEmptyStatement?(this: Context & M, path: NodePath<namedTypes.EmptyStatement>): any;
+    visitExpressionStatement?(this: Context & M, path: NodePath<namedTypes.ExpressionStatement>): any;
+    visitIfStatement?(this: Context & M, path: NodePath<namedTypes.IfStatement>): any;
+    visitLabeledStatement?(this: Context & M, path: NodePath<namedTypes.LabeledStatement>): any;
+    visitBreakStatement?(this: Context & M, path: NodePath<namedTypes.BreakStatement>): any;
+    visitContinueStatement?(this: Context & M, path: NodePath<namedTypes.ContinueStatement>): any;
+    visitWithStatement?(this: Context & M, path: NodePath<namedTypes.WithStatement>): any;
+    visitSwitchStatement?(this: Context & M, path: NodePath<namedTypes.SwitchStatement>): any;
+    visitSwitchCase?(this: Context & M, path: NodePath<namedTypes.SwitchCase>): any;
+    visitReturnStatement?(this: Context & M, path: NodePath<namedTypes.ReturnStatement>): any;
+    visitThrowStatement?(this: Context & M, path: NodePath<namedTypes.ThrowStatement>): any;
+    visitTryStatement?(this: Context & M, path: NodePath<namedTypes.TryStatement>): any;
+    visitCatchClause?(this: Context & M, path: NodePath<namedTypes.CatchClause>): any;
+    visitWhileStatement?(this: Context & M, path: NodePath<namedTypes.WhileStatement>): any;
+    visitDoWhileStatement?(this: Context & M, path: NodePath<namedTypes.DoWhileStatement>): any;
+    visitForStatement?(this: Context & M, path: NodePath<namedTypes.ForStatement>): any;
+    visitDeclaration?(this: Context & M, path: NodePath<namedTypes.Declaration>): any;
+    visitVariableDeclaration?(this: Context & M, path: NodePath<namedTypes.VariableDeclaration>): any;
+    visitForInStatement?(this: Context & M, path: NodePath<namedTypes.ForInStatement>): any;
+    visitDebuggerStatement?(this: Context & M, path: NodePath<namedTypes.DebuggerStatement>): any;
+    visitFunctionDeclaration?(this: Context & M, path: NodePath<namedTypes.FunctionDeclaration>): any;
+    visitFunctionExpression?(this: Context & M, path: NodePath<namedTypes.FunctionExpression>): any;
+    visitVariableDeclarator?(this: Context & M, path: NodePath<namedTypes.VariableDeclarator>): any;
+    visitThisExpression?(this: Context & M, path: NodePath<namedTypes.ThisExpression>): any;
+    visitArrayExpression?(this: Context & M, path: NodePath<namedTypes.ArrayExpression>): any;
+    visitObjectExpression?(this: Context & M, path: NodePath<namedTypes.ObjectExpression>): any;
+    visitProperty?(this: Context & M, path: NodePath<namedTypes.Property>): any;
+    visitLiteral?(this: Context & M, path: NodePath<namedTypes.Literal>): any;
+    visitSequenceExpression?(this: Context & M, path: NodePath<namedTypes.SequenceExpression>): any;
+    visitUnaryExpression?(this: Context & M, path: NodePath<namedTypes.UnaryExpression>): any;
+    visitBinaryExpression?(this: Context & M, path: NodePath<namedTypes.BinaryExpression>): any;
+    visitAssignmentExpression?(this: Context & M, path: NodePath<namedTypes.AssignmentExpression>): any;
+    visitMemberExpression?(this: Context & M, path: NodePath<namedTypes.MemberExpression>): any;
+    visitUpdateExpression?(this: Context & M, path: NodePath<namedTypes.UpdateExpression>): any;
+    visitLogicalExpression?(this: Context & M, path: NodePath<namedTypes.LogicalExpression>): any;
+    visitConditionalExpression?(this: Context & M, path: NodePath<namedTypes.ConditionalExpression>): any;
+    visitNewExpression?(this: Context & M, path: NodePath<namedTypes.NewExpression>): any;
+    visitCallExpression?(this: Context & M, path: NodePath<namedTypes.CallExpression>): any;
+    visitRestElement?(this: Context & M, path: NodePath<namedTypes.RestElement>): any;
+    visitTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.TypeAnnotation>): any;
+    visitTSTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.TSTypeAnnotation>): any;
+    visitSpreadElementPattern?(this: Context & M, path: NodePath<namedTypes.SpreadElementPattern>): any;
+    visitArrowFunctionExpression?(this: Context & M, path: NodePath<namedTypes.ArrowFunctionExpression>): any;
+    visitForOfStatement?(this: Context & M, path: NodePath<namedTypes.ForOfStatement>): any;
+    visitYieldExpression?(this: Context & M, path: NodePath<namedTypes.YieldExpression>): any;
+    visitGeneratorExpression?(this: Context & M, path: NodePath<namedTypes.GeneratorExpression>): any;
+    visitComprehensionBlock?(this: Context & M, path: NodePath<namedTypes.ComprehensionBlock>): any;
+    visitComprehensionExpression?(this: Context & M, path: NodePath<namedTypes.ComprehensionExpression>): any;
+    visitObjectProperty?(this: Context & M, path: NodePath<namedTypes.ObjectProperty>): any;
+    visitPropertyPattern?(this: Context & M, path: NodePath<namedTypes.PropertyPattern>): any;
+    visitObjectPattern?(this: Context & M, path: NodePath<namedTypes.ObjectPattern>): any;
+    visitArrayPattern?(this: Context & M, path: NodePath<namedTypes.ArrayPattern>): any;
+    visitMethodDefinition?(this: Context & M, path: NodePath<namedTypes.MethodDefinition>): any;
+    visitSpreadElement?(this: Context & M, path: NodePath<namedTypes.SpreadElement>): any;
+    visitAssignmentPattern?(this: Context & M, path: NodePath<namedTypes.AssignmentPattern>): any;
+    visitClassPropertyDefinition?(this: Context & M, path: NodePath<namedTypes.ClassPropertyDefinition>): any;
+    visitClassProperty?(this: Context & M, path: NodePath<namedTypes.ClassProperty>): any;
+    visitClassBody?(this: Context & M, path: NodePath<namedTypes.ClassBody>): any;
+    visitClassDeclaration?(this: Context & M, path: NodePath<namedTypes.ClassDeclaration>): any;
+    visitClassExpression?(this: Context & M, path: NodePath<namedTypes.ClassExpression>): any;
+    visitSpecifier?(this: Context & M, path: NodePath<namedTypes.Specifier>): any;
+    visitModuleSpecifier?(this: Context & M, path: NodePath<namedTypes.ModuleSpecifier>): any;
+    visitImportSpecifier?(this: Context & M, path: NodePath<namedTypes.ImportSpecifier>): any;
+    visitImportNamespaceSpecifier?(this: Context & M, path: NodePath<namedTypes.ImportNamespaceSpecifier>): any;
+    visitImportDefaultSpecifier?(this: Context & M, path: NodePath<namedTypes.ImportDefaultSpecifier>): any;
+    visitImportDeclaration?(this: Context & M, path: NodePath<namedTypes.ImportDeclaration>): any;
+    visitTaggedTemplateExpression?(this: Context & M, path: NodePath<namedTypes.TaggedTemplateExpression>): any;
+    visitTemplateLiteral?(this: Context & M, path: NodePath<namedTypes.TemplateLiteral>): any;
+    visitTemplateElement?(this: Context & M, path: NodePath<namedTypes.TemplateElement>): any;
+    visitSpreadProperty?(this: Context & M, path: NodePath<namedTypes.SpreadProperty>): any;
+    visitSpreadPropertyPattern?(this: Context & M, path: NodePath<namedTypes.SpreadPropertyPattern>): any;
+    visitAwaitExpression?(this: Context & M, path: NodePath<namedTypes.AwaitExpression>): any;
+    visitImportExpression?(this: Context & M, path: NodePath<namedTypes.ImportExpression>): any;
+    visitJSXAttribute?(this: Context & M, path: NodePath<namedTypes.JSXAttribute>): any;
+    visitJSXIdentifier?(this: Context & M, path: NodePath<namedTypes.JSXIdentifier>): any;
+    visitJSXNamespacedName?(this: Context & M, path: NodePath<namedTypes.JSXNamespacedName>): any;
+    visitJSXExpressionContainer?(this: Context & M, path: NodePath<namedTypes.JSXExpressionContainer>): any;
+    visitJSXMemberExpression?(this: Context & M, path: NodePath<namedTypes.JSXMemberExpression>): any;
+    visitJSXSpreadAttribute?(this: Context & M, path: NodePath<namedTypes.JSXSpreadAttribute>): any;
+    visitJSXElement?(this: Context & M, path: NodePath<namedTypes.JSXElement>): any;
+    visitJSXOpeningElement?(this: Context & M, path: NodePath<namedTypes.JSXOpeningElement>): any;
+    visitJSXClosingElement?(this: Context & M, path: NodePath<namedTypes.JSXClosingElement>): any;
+    visitJSXFragment?(this: Context & M, path: NodePath<namedTypes.JSXFragment>): any;
+    visitJSXText?(this: Context & M, path: NodePath<namedTypes.JSXText>): any;
+    visitJSXOpeningFragment?(this: Context & M, path: NodePath<namedTypes.JSXOpeningFragment>): any;
+    visitJSXClosingFragment?(this: Context & M, path: NodePath<namedTypes.JSXClosingFragment>): any;
+    visitJSXEmptyExpression?(this: Context & M, path: NodePath<namedTypes.JSXEmptyExpression>): any;
+    visitJSXSpreadChild?(this: Context & M, path: NodePath<namedTypes.JSXSpreadChild>): any;
+    visitTypeParameterDeclaration?(this: Context & M, path: NodePath<namedTypes.TypeParameterDeclaration>): any;
+    visitTSTypeParameterDeclaration?(this: Context & M, path: NodePath<namedTypes.TSTypeParameterDeclaration>): any;
+    visitTypeParameterInstantiation?(this: Context & M, path: NodePath<namedTypes.TypeParameterInstantiation>): any;
+    visitTSTypeParameterInstantiation?(this: Context & M, path: NodePath<namedTypes.TSTypeParameterInstantiation>): any;
+    visitClassImplements?(this: Context & M, path: NodePath<namedTypes.ClassImplements>): any;
+    visitTSType?(this: Context & M, path: NodePath<namedTypes.TSType>): any;
+    visitTSHasOptionalTypeParameterInstantiation?(this: Context & M, path: NodePath<namedTypes.TSHasOptionalTypeParameterInstantiation>): any;
+    visitTSExpressionWithTypeArguments?(this: Context & M, path: NodePath<namedTypes.TSExpressionWithTypeArguments>): any;
+    visitFlow?(this: Context & M, path: NodePath<namedTypes.Flow>): any;
+    visitFlowType?(this: Context & M, path: NodePath<namedTypes.FlowType>): any;
+    visitAnyTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.AnyTypeAnnotation>): any;
+    visitEmptyTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.EmptyTypeAnnotation>): any;
+    visitMixedTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.MixedTypeAnnotation>): any;
+    visitVoidTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.VoidTypeAnnotation>): any;
+    visitNumberTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.NumberTypeAnnotation>): any;
+    visitNumberLiteralTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.NumberLiteralTypeAnnotation>): any;
+    visitNumericLiteralTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.NumericLiteralTypeAnnotation>): any;
+    visitStringTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.StringTypeAnnotation>): any;
+    visitStringLiteralTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.StringLiteralTypeAnnotation>): any;
+    visitBooleanTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.BooleanTypeAnnotation>): any;
+    visitBooleanLiteralTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.BooleanLiteralTypeAnnotation>): any;
+    visitNullableTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.NullableTypeAnnotation>): any;
+    visitNullLiteralTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.NullLiteralTypeAnnotation>): any;
+    visitNullTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.NullTypeAnnotation>): any;
+    visitThisTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.ThisTypeAnnotation>): any;
+    visitExistsTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.ExistsTypeAnnotation>): any;
+    visitExistentialTypeParam?(this: Context & M, path: NodePath<namedTypes.ExistentialTypeParam>): any;
+    visitFunctionTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.FunctionTypeAnnotation>): any;
+    visitFunctionTypeParam?(this: Context & M, path: NodePath<namedTypes.FunctionTypeParam>): any;
+    visitArrayTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.ArrayTypeAnnotation>): any;
+    visitObjectTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.ObjectTypeAnnotation>): any;
+    visitObjectTypeProperty?(this: Context & M, path: NodePath<namedTypes.ObjectTypeProperty>): any;
+    visitObjectTypeSpreadProperty?(this: Context & M, path: NodePath<namedTypes.ObjectTypeSpreadProperty>): any;
+    visitObjectTypeIndexer?(this: Context & M, path: NodePath<namedTypes.ObjectTypeIndexer>): any;
+    visitObjectTypeCallProperty?(this: Context & M, path: NodePath<namedTypes.ObjectTypeCallProperty>): any;
+    visitObjectTypeInternalSlot?(this: Context & M, path: NodePath<namedTypes.ObjectTypeInternalSlot>): any;
+    visitVariance?(this: Context & M, path: NodePath<namedTypes.Variance>): any;
+    visitQualifiedTypeIdentifier?(this: Context & M, path: NodePath<namedTypes.QualifiedTypeIdentifier>): any;
+    visitGenericTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.GenericTypeAnnotation>): any;
+    visitMemberTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.MemberTypeAnnotation>): any;
+    visitUnionTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.UnionTypeAnnotation>): any;
+    visitIntersectionTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.IntersectionTypeAnnotation>): any;
+    visitTypeofTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.TypeofTypeAnnotation>): any;
+    visitTypeParameter?(this: Context & M, path: NodePath<namedTypes.TypeParameter>): any;
+    visitInterfaceTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.InterfaceTypeAnnotation>): any;
+    visitInterfaceExtends?(this: Context & M, path: NodePath<namedTypes.InterfaceExtends>): any;
+    visitInterfaceDeclaration?(this: Context & M, path: NodePath<namedTypes.InterfaceDeclaration>): any;
+    visitDeclareInterface?(this: Context & M, path: NodePath<namedTypes.DeclareInterface>): any;
+    visitTypeAlias?(this: Context & M, path: NodePath<namedTypes.TypeAlias>): any;
+    visitOpaqueType?(this: Context & M, path: NodePath<namedTypes.OpaqueType>): any;
+    visitDeclareTypeAlias?(this: Context & M, path: NodePath<namedTypes.DeclareTypeAlias>): any;
+    visitDeclareOpaqueType?(this: Context & M, path: NodePath<namedTypes.DeclareOpaqueType>): any;
+    visitTypeCastExpression?(this: Context & M, path: NodePath<namedTypes.TypeCastExpression>): any;
+    visitTupleTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.TupleTypeAnnotation>): any;
+    visitDeclareVariable?(this: Context & M, path: NodePath<namedTypes.DeclareVariable>): any;
+    visitDeclareFunction?(this: Context & M, path: NodePath<namedTypes.DeclareFunction>): any;
+    visitDeclareClass?(this: Context & M, path: NodePath<namedTypes.DeclareClass>): any;
+    visitDeclareModule?(this: Context & M, path: NodePath<namedTypes.DeclareModule>): any;
+    visitDeclareModuleExports?(this: Context & M, path: NodePath<namedTypes.DeclareModuleExports>): any;
+    visitDeclareExportDeclaration?(this: Context & M, path: NodePath<namedTypes.DeclareExportDeclaration>): any;
+    visitExportSpecifier?(this: Context & M, path: NodePath<namedTypes.ExportSpecifier>): any;
+    visitExportBatchSpecifier?(this: Context & M, path: NodePath<namedTypes.ExportBatchSpecifier>): any;
+    visitDeclareExportAllDeclaration?(this: Context & M, path: NodePath<namedTypes.DeclareExportAllDeclaration>): any;
+    visitFlowPredicate?(this: Context & M, path: NodePath<namedTypes.FlowPredicate>): any;
+    visitInferredPredicate?(this: Context & M, path: NodePath<namedTypes.InferredPredicate>): any;
+    visitDeclaredPredicate?(this: Context & M, path: NodePath<namedTypes.DeclaredPredicate>): any;
+    visitExportDeclaration?(this: Context & M, path: NodePath<namedTypes.ExportDeclaration>): any;
+    visitBlock?(this: Context & M, path: NodePath<namedTypes.Block>): any;
+    visitLine?(this: Context & M, path: NodePath<namedTypes.Line>): any;
+    visitNoop?(this: Context & M, path: NodePath<namedTypes.Noop>): any;
+    visitDoExpression?(this: Context & M, path: NodePath<namedTypes.DoExpression>): any;
+    visitSuper?(this: Context & M, path: NodePath<namedTypes.Super>): any;
+    visitBindExpression?(this: Context & M, path: NodePath<namedTypes.BindExpression>): any;
+    visitDecorator?(this: Context & M, path: NodePath<namedTypes.Decorator>): any;
+    visitMetaProperty?(this: Context & M, path: NodePath<namedTypes.MetaProperty>): any;
+    visitParenthesizedExpression?(this: Context & M, path: NodePath<namedTypes.ParenthesizedExpression>): any;
+    visitExportDefaultDeclaration?(this: Context & M, path: NodePath<namedTypes.ExportDefaultDeclaration>): any;
+    visitExportNamedDeclaration?(this: Context & M, path: NodePath<namedTypes.ExportNamedDeclaration>): any;
+    visitExportNamespaceSpecifier?(this: Context & M, path: NodePath<namedTypes.ExportNamespaceSpecifier>): any;
+    visitExportDefaultSpecifier?(this: Context & M, path: NodePath<namedTypes.ExportDefaultSpecifier>): any;
+    visitExportAllDeclaration?(this: Context & M, path: NodePath<namedTypes.ExportAllDeclaration>): any;
+    visitCommentBlock?(this: Context & M, path: NodePath<namedTypes.CommentBlock>): any;
+    visitCommentLine?(this: Context & M, path: NodePath<namedTypes.CommentLine>): any;
+    visitDirective?(this: Context & M, path: NodePath<namedTypes.Directive>): any;
+    visitDirectiveLiteral?(this: Context & M, path: NodePath<namedTypes.DirectiveLiteral>): any;
+    visitInterpreterDirective?(this: Context & M, path: NodePath<namedTypes.InterpreterDirective>): any;
+    visitStringLiteral?(this: Context & M, path: NodePath<namedTypes.StringLiteral>): any;
+    visitNumericLiteral?(this: Context & M, path: NodePath<namedTypes.NumericLiteral>): any;
+    visitBigIntLiteral?(this: Context & M, path: NodePath<namedTypes.BigIntLiteral>): any;
+    visitNullLiteral?(this: Context & M, path: NodePath<namedTypes.NullLiteral>): any;
+    visitBooleanLiteral?(this: Context & M, path: NodePath<namedTypes.BooleanLiteral>): any;
+    visitRegExpLiteral?(this: Context & M, path: NodePath<namedTypes.RegExpLiteral>): any;
+    visitObjectMethod?(this: Context & M, path: NodePath<namedTypes.ObjectMethod>): any;
+    visitClassPrivateProperty?(this: Context & M, path: NodePath<namedTypes.ClassPrivateProperty>): any;
+    visitClassMethod?(this: Context & M, path: NodePath<namedTypes.ClassMethod>): any;
+    visitClassPrivateMethod?(this: Context & M, path: NodePath<namedTypes.ClassPrivateMethod>): any;
+    visitPrivateName?(this: Context & M, path: NodePath<namedTypes.PrivateName>): any;
+    visitRestProperty?(this: Context & M, path: NodePath<namedTypes.RestProperty>): any;
+    visitForAwaitStatement?(this: Context & M, path: NodePath<namedTypes.ForAwaitStatement>): any;
+    visitImport?(this: Context & M, path: NodePath<namedTypes.Import>): any;
+    visitTSQualifiedName?(this: Context & M, path: NodePath<namedTypes.TSQualifiedName>): any;
+    visitTSTypeReference?(this: Context & M, path: NodePath<namedTypes.TSTypeReference>): any;
+    visitTSHasOptionalTypeParameters?(this: Context & M, path: NodePath<namedTypes.TSHasOptionalTypeParameters>): any;
+    visitTSHasOptionalTypeAnnotation?(this: Context & M, path: NodePath<namedTypes.TSHasOptionalTypeAnnotation>): any;
+    visitTSAsExpression?(this: Context & M, path: NodePath<namedTypes.TSAsExpression>): any;
+    visitTSNonNullExpression?(this: Context & M, path: NodePath<namedTypes.TSNonNullExpression>): any;
+    visitTSAnyKeyword?(this: Context & M, path: NodePath<namedTypes.TSAnyKeyword>): any;
+    visitTSBigIntKeyword?(this: Context & M, path: NodePath<namedTypes.TSBigIntKeyword>): any;
+    visitTSBooleanKeyword?(this: Context & M, path: NodePath<namedTypes.TSBooleanKeyword>): any;
+    visitTSNeverKeyword?(this: Context & M, path: NodePath<namedTypes.TSNeverKeyword>): any;
+    visitTSNullKeyword?(this: Context & M, path: NodePath<namedTypes.TSNullKeyword>): any;
+    visitTSNumberKeyword?(this: Context & M, path: NodePath<namedTypes.TSNumberKeyword>): any;
+    visitTSObjectKeyword?(this: Context & M, path: NodePath<namedTypes.TSObjectKeyword>): any;
+    visitTSStringKeyword?(this: Context & M, path: NodePath<namedTypes.TSStringKeyword>): any;
+    visitTSSymbolKeyword?(this: Context & M, path: NodePath<namedTypes.TSSymbolKeyword>): any;
+    visitTSUndefinedKeyword?(this: Context & M, path: NodePath<namedTypes.TSUndefinedKeyword>): any;
+    visitTSUnknownKeyword?(this: Context & M, path: NodePath<namedTypes.TSUnknownKeyword>): any;
+    visitTSVoidKeyword?(this: Context & M, path: NodePath<namedTypes.TSVoidKeyword>): any;
+    visitTSThisType?(this: Context & M, path: NodePath<namedTypes.TSThisType>): any;
+    visitTSArrayType?(this: Context & M, path: NodePath<namedTypes.TSArrayType>): any;
+    visitTSLiteralType?(this: Context & M, path: NodePath<namedTypes.TSLiteralType>): any;
+    visitTSUnionType?(this: Context & M, path: NodePath<namedTypes.TSUnionType>): any;
+    visitTSIntersectionType?(this: Context & M, path: NodePath<namedTypes.TSIntersectionType>): any;
+    visitTSConditionalType?(this: Context & M, path: NodePath<namedTypes.TSConditionalType>): any;
+    visitTSInferType?(this: Context & M, path: NodePath<namedTypes.TSInferType>): any;
+    visitTSTypeParameter?(this: Context & M, path: NodePath<namedTypes.TSTypeParameter>): any;
+    visitTSParenthesizedType?(this: Context & M, path: NodePath<namedTypes.TSParenthesizedType>): any;
+    visitTSFunctionType?(this: Context & M, path: NodePath<namedTypes.TSFunctionType>): any;
+    visitTSConstructorType?(this: Context & M, path: NodePath<namedTypes.TSConstructorType>): any;
+    visitTSDeclareFunction?(this: Context & M, path: NodePath<namedTypes.TSDeclareFunction>): any;
+    visitTSDeclareMethod?(this: Context & M, path: NodePath<namedTypes.TSDeclareMethod>): any;
+    visitTSMappedType?(this: Context & M, path: NodePath<namedTypes.TSMappedType>): any;
+    visitTSTupleType?(this: Context & M, path: NodePath<namedTypes.TSTupleType>): any;
+    visitTSNamedTupleMember?(this: Context & M, path: NodePath<namedTypes.TSNamedTupleMember>): any;
+    visitTSRestType?(this: Context & M, path: NodePath<namedTypes.TSRestType>): any;
+    visitTSOptionalType?(this: Context & M, path: NodePath<namedTypes.TSOptionalType>): any;
+    visitTSIndexedAccessType?(this: Context & M, path: NodePath<namedTypes.TSIndexedAccessType>): any;
+    visitTSTypeOperator?(this: Context & M, path: NodePath<namedTypes.TSTypeOperator>): any;
+    visitTSIndexSignature?(this: Context & M, path: NodePath<namedTypes.TSIndexSignature>): any;
+    visitTSPropertySignature?(this: Context & M, path: NodePath<namedTypes.TSPropertySignature>): any;
+    visitTSMethodSignature?(this: Context & M, path: NodePath<namedTypes.TSMethodSignature>): any;
+    visitTSTypePredicate?(this: Context & M, path: NodePath<namedTypes.TSTypePredicate>): any;
+    visitTSCallSignatureDeclaration?(this: Context & M, path: NodePath<namedTypes.TSCallSignatureDeclaration>): any;
+    visitTSConstructSignatureDeclaration?(this: Context & M, path: NodePath<namedTypes.TSConstructSignatureDeclaration>): any;
+    visitTSEnumMember?(this: Context & M, path: NodePath<namedTypes.TSEnumMember>): any;
+    visitTSTypeQuery?(this: Context & M, path: NodePath<namedTypes.TSTypeQuery>): any;
+    visitTSImportType?(this: Context & M, path: NodePath<namedTypes.TSImportType>): any;
+    visitTSTypeLiteral?(this: Context & M, path: NodePath<namedTypes.TSTypeLiteral>): any;
+    visitTSTypeAssertion?(this: Context & M, path: NodePath<namedTypes.TSTypeAssertion>): any;
+    visitTSEnumDeclaration?(this: Context & M, path: NodePath<namedTypes.TSEnumDeclaration>): any;
+    visitTSTypeAliasDeclaration?(this: Context & M, path: NodePath<namedTypes.TSTypeAliasDeclaration>): any;
+    visitTSModuleBlock?(this: Context & M, path: NodePath<namedTypes.TSModuleBlock>): any;
+    visitTSModuleDeclaration?(this: Context & M, path: NodePath<namedTypes.TSModuleDeclaration>): any;
+    visitTSImportEqualsDeclaration?(this: Context & M, path: NodePath<namedTypes.TSImportEqualsDeclaration>): any;
+    visitTSExternalModuleReference?(this: Context & M, path: NodePath<namedTypes.TSExternalModuleReference>): any;
+    visitTSExportAssignment?(this: Context & M, path: NodePath<namedTypes.TSExportAssignment>): any;
+    visitTSNamespaceExportDeclaration?(this: Context & M, path: NodePath<namedTypes.TSNamespaceExportDeclaration>): any;
+    visitTSInterfaceBody?(this: Context & M, path: NodePath<namedTypes.TSInterfaceBody>): any;
+    visitTSInterfaceDeclaration?(this: Context & M, path: NodePath<namedTypes.TSInterfaceDeclaration>): any;
+    visitTSParameterProperty?(this: Context & M, path: NodePath<namedTypes.TSParameterProperty>): any;
+    visitOptionalMemberExpression?(this: Context & M, path: NodePath<namedTypes.OptionalMemberExpression>): any;
+    visitOptionalCallExpression?(this: Context & M, path: NodePath<namedTypes.OptionalCallExpression>): any;
+}
diff --git a/node_modules/degenerator/node_modules/ast-types/gen/visitor.js b/node_modules/degenerator/node_modules/ast-types/gen/visitor.js
new file mode 100644
index 0000000..c8ad2e5
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/gen/visitor.js
@@ -0,0 +1,2 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/node_modules/degenerator/node_modules/ast-types/lib/equiv.d.ts b/node_modules/degenerator/node_modules/ast-types/lib/equiv.d.ts
new file mode 100644
index 0000000..bbc9e70
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/lib/equiv.d.ts
@@ -0,0 +1,5 @@
+import { Fork } from "../types";
+export default function (fork: Fork): {
+    (a: any, b: any, problemPath?: any): boolean;
+    assert(a: any, b: any): void;
+};
diff --git a/node_modules/degenerator/node_modules/ast-types/lib/equiv.js b/node_modules/degenerator/node_modules/ast-types/lib/equiv.js
new file mode 100644
index 0000000..9bf328d
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/lib/equiv.js
@@ -0,0 +1,154 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var types_1 = tslib_1.__importDefault(require("./types"));
+function default_1(fork) {
+    var types = fork.use(types_1.default);
+    var getFieldNames = types.getFieldNames;
+    var getFieldValue = types.getFieldValue;
+    var isArray = types.builtInTypes.array;
+    var isObject = types.builtInTypes.object;
+    var isDate = types.builtInTypes.Date;
+    var isRegExp = types.builtInTypes.RegExp;
+    var hasOwn = Object.prototype.hasOwnProperty;
+    function astNodesAreEquivalent(a, b, problemPath) {
+        if (isArray.check(problemPath)) {
+            problemPath.length = 0;
+        }
+        else {
+            problemPath = null;
+        }
+        return areEquivalent(a, b, problemPath);
+    }
+    astNodesAreEquivalent.assert = function (a, b) {
+        var problemPath = [];
+        if (!astNodesAreEquivalent(a, b, problemPath)) {
+            if (problemPath.length === 0) {
+                if (a !== b) {
+                    throw new Error("Nodes must be equal");
+                }
+            }
+            else {
+                throw new Error("Nodes differ in the following path: " +
+                    problemPath.map(subscriptForProperty).join(""));
+            }
+        }
+    };
+    function subscriptForProperty(property) {
+        if (/[_$a-z][_$a-z0-9]*/i.test(property)) {
+            return "." + property;
+        }
+        return "[" + JSON.stringify(property) + "]";
+    }
+    function areEquivalent(a, b, problemPath) {
+        if (a === b) {
+            return true;
+        }
+        if (isArray.check(a)) {
+            return arraysAreEquivalent(a, b, problemPath);
+        }
+        if (isObject.check(a)) {
+            return objectsAreEquivalent(a, b, problemPath);
+        }
+        if (isDate.check(a)) {
+            return isDate.check(b) && (+a === +b);
+        }
+        if (isRegExp.check(a)) {
+            return isRegExp.check(b) && (a.source === b.source &&
+                a.global === b.global &&
+                a.multiline === b.multiline &&
+                a.ignoreCase === b.ignoreCase);
+        }
+        return a == b;
+    }
+    function arraysAreEquivalent(a, b, problemPath) {
+        isArray.assert(a);
+        var aLength = a.length;
+        if (!isArray.check(b) || b.length !== aLength) {
+            if (problemPath) {
+                problemPath.push("length");
+            }
+            return false;
+        }
+        for (var i = 0; i < aLength; ++i) {
+            if (problemPath) {
+                problemPath.push(i);
+            }
+            if (i in a !== i in b) {
+                return false;
+            }
+            if (!areEquivalent(a[i], b[i], problemPath)) {
+                return false;
+            }
+            if (problemPath) {
+                var problemPathTail = problemPath.pop();
+                if (problemPathTail !== i) {
+                    throw new Error("" + problemPathTail);
+                }
+            }
+        }
+        return true;
+    }
+    function objectsAreEquivalent(a, b, problemPath) {
+        isObject.assert(a);
+        if (!isObject.check(b)) {
+            return false;
+        }
+        // Fast path for a common property of AST nodes.
+        if (a.type !== b.type) {
+            if (problemPath) {
+                problemPath.push("type");
+            }
+            return false;
+        }
+        var aNames = getFieldNames(a);
+        var aNameCount = aNames.length;
+        var bNames = getFieldNames(b);
+        var bNameCount = bNames.length;
+        if (aNameCount === bNameCount) {
+            for (var i = 0; i < aNameCount; ++i) {
+                var name = aNames[i];
+                var aChild = getFieldValue(a, name);
+                var bChild = getFieldValue(b, name);
+                if (problemPath) {
+                    problemPath.push(name);
+                }
+                if (!areEquivalent(aChild, bChild, problemPath)) {
+                    return false;
+                }
+                if (problemPath) {
+                    var problemPathTail = problemPath.pop();
+                    if (problemPathTail !== name) {
+                        throw new Error("" + problemPathTail);
+                    }
+                }
+            }
+            return true;
+        }
+        if (!problemPath) {
+            return false;
+        }
+        // Since aNameCount !== bNameCount, we need to find some name that's
+        // missing in aNames but present in bNames, or vice-versa.
+        var seenNames = Object.create(null);
+        for (i = 0; i < aNameCount; ++i) {
+            seenNames[aNames[i]] = true;
+        }
+        for (i = 0; i < bNameCount; ++i) {
+            name = bNames[i];
+            if (!hasOwn.call(seenNames, name)) {
+                problemPath.push(name);
+                return false;
+            }
+            delete seenNames[name];
+        }
+        for (name in seenNames) {
+            problemPath.push(name);
+            break;
+        }
+        return false;
+    }
+    return astNodesAreEquivalent;
+}
+exports.default = default_1;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/lib/node-path.d.ts b/node_modules/degenerator/node_modules/ast-types/lib/node-path.d.ts
new file mode 100644
index 0000000..b8b11d1
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/lib/node-path.d.ts
@@ -0,0 +1,22 @@
+import { Fork } from "../types";
+import { ASTNode } from "./types";
+import { Path } from "./path";
+import { Scope } from "./scope";
+export interface NodePath<N = any, V = any> extends Path<V> {
+    node: N;
+    parent: any;
+    scope: any;
+    replace: Path['replace'];
+    prune(...args: any[]): any;
+    _computeNode(): any;
+    _computeParent(): any;
+    _computeScope(): Scope | null;
+    getValueProperty(name: any): any;
+    needsParens(assumeExpressionContext?: boolean): boolean;
+    canBeFirstInStatement(): boolean;
+    firstInStatement(): boolean;
+}
+export interface NodePathConstructor {
+    new <N extends ASTNode = any, V = any>(value: any, parentPath?: any, name?: any): NodePath<N, V>;
+}
+export default function nodePathPlugin(fork: Fork): NodePathConstructor;
diff --git a/node_modules/degenerator/node_modules/ast-types/lib/node-path.js b/node_modules/degenerator/node_modules/ast-types/lib/node-path.js
new file mode 100644
index 0000000..408ae75
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/lib/node-path.js
@@ -0,0 +1,411 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var types_1 = tslib_1.__importDefault(require("./types"));
+var path_1 = tslib_1.__importDefault(require("./path"));
+var scope_1 = tslib_1.__importDefault(require("./scope"));
+function nodePathPlugin(fork) {
+    var types = fork.use(types_1.default);
+    var n = types.namedTypes;
+    var b = types.builders;
+    var isNumber = types.builtInTypes.number;
+    var isArray = types.builtInTypes.array;
+    var Path = fork.use(path_1.default);
+    var Scope = fork.use(scope_1.default);
+    var NodePath = function NodePath(value, parentPath, name) {
+        if (!(this instanceof NodePath)) {
+            throw new Error("NodePath constructor cannot be invoked without 'new'");
+        }
+        Path.call(this, value, parentPath, name);
+    };
+    var NPp = NodePath.prototype = Object.create(Path.prototype, {
+        constructor: {
+            value: NodePath,
+            enumerable: false,
+            writable: true,
+            configurable: true
+        }
+    });
+    Object.defineProperties(NPp, {
+        node: {
+            get: function () {
+                Object.defineProperty(this, "node", {
+                    configurable: true,
+                    value: this._computeNode()
+                });
+                return this.node;
+            }
+        },
+        parent: {
+            get: function () {
+                Object.defineProperty(this, "parent", {
+                    configurable: true,
+                    value: this._computeParent()
+                });
+                return this.parent;
+            }
+        },
+        scope: {
+            get: function () {
+                Object.defineProperty(this, "scope", {
+                    configurable: true,
+                    value: this._computeScope()
+                });
+                return this.scope;
+            }
+        }
+    });
+    NPp.replace = function () {
+        delete this.node;
+        delete this.parent;
+        delete this.scope;
+        return Path.prototype.replace.apply(this, arguments);
+    };
+    NPp.prune = function () {
+        var remainingNodePath = this.parent;
+        this.replace();
+        return cleanUpNodesAfterPrune(remainingNodePath);
+    };
+    // The value of the first ancestor Path whose value is a Node.
+    NPp._computeNode = function () {
+        var value = this.value;
+        if (n.Node.check(value)) {
+            return value;
+        }
+        var pp = this.parentPath;
+        return pp && pp.node || null;
+    };
+    // The first ancestor Path whose value is a Node distinct from this.node.
+    NPp._computeParent = function () {
+        var value = this.value;
+        var pp = this.parentPath;
+        if (!n.Node.check(value)) {
+            while (pp && !n.Node.check(pp.value)) {
+                pp = pp.parentPath;
+            }
+            if (pp) {
+                pp = pp.parentPath;
+            }
+        }
+        while (pp && !n.Node.check(pp.value)) {
+            pp = pp.parentPath;
+        }
+        return pp || null;
+    };
+    // The closest enclosing scope that governs this node.
+    NPp._computeScope = function () {
+        var value = this.value;
+        var pp = this.parentPath;
+        var scope = pp && pp.scope;
+        if (n.Node.check(value) &&
+            Scope.isEstablishedBy(value)) {
+            scope = new Scope(this, scope);
+        }
+        return scope || null;
+    };
+    NPp.getValueProperty = function (name) {
+        return types.getFieldValue(this.value, name);
+    };
+    /**
+     * Determine whether this.node needs to be wrapped in parentheses in order
+     * for a parser to reproduce the same local AST structure.
+     *
+     * For instance, in the expression `(1 + 2) * 3`, the BinaryExpression
+     * whose operator is "+" needs parentheses, because `1 + 2 * 3` would
+     * parse differently.
+     *
+     * If assumeExpressionContext === true, we don't worry about edge cases
+     * like an anonymous FunctionExpression appearing lexically first in its
+     * enclosing statement and thus needing parentheses to avoid being parsed
+     * as a FunctionDeclaration with a missing name.
+     */
+    NPp.needsParens = function (assumeExpressionContext) {
+        var pp = this.parentPath;
+        if (!pp) {
+            return false;
+        }
+        var node = this.value;
+        // Only expressions need parentheses.
+        if (!n.Expression.check(node)) {
+            return false;
+        }
+        // Identifiers never need parentheses.
+        if (node.type === "Identifier") {
+            return false;
+        }
+        while (!n.Node.check(pp.value)) {
+            pp = pp.parentPath;
+            if (!pp) {
+                return false;
+            }
+        }
+        var parent = pp.value;
+        switch (node.type) {
+            case "UnaryExpression":
+            case "SpreadElement":
+            case "SpreadProperty":
+                return parent.type === "MemberExpression"
+                    && this.name === "object"
+                    && parent.object === node;
+            case "BinaryExpression":
+            case "LogicalExpression":
+                switch (parent.type) {
+                    case "CallExpression":
+                        return this.name === "callee"
+                            && parent.callee === node;
+                    case "UnaryExpression":
+                    case "SpreadElement":
+                    case "SpreadProperty":
+                        return true;
+                    case "MemberExpression":
+                        return this.name === "object"
+                            && parent.object === node;
+                    case "BinaryExpression":
+                    case "LogicalExpression": {
+                        var n_1 = node;
+                        var po = parent.operator;
+                        var pp_1 = PRECEDENCE[po];
+                        var no = n_1.operator;
+                        var np = PRECEDENCE[no];
+                        if (pp_1 > np) {
+                            return true;
+                        }
+                        if (pp_1 === np && this.name === "right") {
+                            if (parent.right !== n_1) {
+                                throw new Error("Nodes must be equal");
+                            }
+                            return true;
+                        }
+                    }
+                    default:
+                        return false;
+                }
+            case "SequenceExpression":
+                switch (parent.type) {
+                    case "ForStatement":
+                        // Although parentheses wouldn't hurt around sequence
+                        // expressions in the head of for loops, traditional style
+                        // dictates that e.g. i++, j++ should not be wrapped with
+                        // parentheses.
+                        return false;
+                    case "ExpressionStatement":
+                        return this.name !== "expression";
+                    default:
+                        // Otherwise err on the side of overparenthesization, adding
+                        // explicit exceptions above if this proves overzealous.
+                        return true;
+                }
+            case "YieldExpression":
+                switch (parent.type) {
+                    case "BinaryExpression":
+                    case "LogicalExpression":
+                    case "UnaryExpression":
+                    case "SpreadElement":
+                    case "SpreadProperty":
+                    case "CallExpression":
+                    case "MemberExpression":
+                    case "NewExpression":
+                    case "ConditionalExpression":
+                    case "YieldExpression":
+                        return true;
+                    default:
+                        return false;
+                }
+            case "Literal":
+                return parent.type === "MemberExpression"
+                    && isNumber.check(node.value)
+                    && this.name === "object"
+                    && parent.object === node;
+            case "AssignmentExpression":
+            case "ConditionalExpression":
+                switch (parent.type) {
+                    case "UnaryExpression":
+                    case "SpreadElement":
+                    case "SpreadProperty":
+                    case "BinaryExpression":
+                    case "LogicalExpression":
+                        return true;
+                    case "CallExpression":
+                        return this.name === "callee"
+                            && parent.callee === node;
+                    case "ConditionalExpression":
+                        return this.name === "test"
+                            && parent.test === node;
+                    case "MemberExpression":
+                        return this.name === "object"
+                            && parent.object === node;
+                    default:
+                        return false;
+                }
+            default:
+                if (parent.type === "NewExpression" &&
+                    this.name === "callee" &&
+                    parent.callee === node) {
+                    return containsCallExpression(node);
+                }
+        }
+        if (assumeExpressionContext !== true &&
+            !this.canBeFirstInStatement() &&
+            this.firstInStatement())
+            return true;
+        return false;
+    };
+    function isBinary(node) {
+        return n.BinaryExpression.check(node)
+            || n.LogicalExpression.check(node);
+    }
+    // @ts-ignore 'isUnaryLike' is declared but its value is never read. [6133]
+    function isUnaryLike(node) {
+        return n.UnaryExpression.check(node)
+            // I considered making SpreadElement and SpreadProperty subtypes
+            // of UnaryExpression, but they're not really Expression nodes.
+            || (n.SpreadElement && n.SpreadElement.check(node))
+            || (n.SpreadProperty && n.SpreadProperty.check(node));
+    }
+    var PRECEDENCE = {};
+    [["||"],
+        ["&&"],
+        ["|"],
+        ["^"],
+        ["&"],
+        ["==", "===", "!=", "!=="],
+        ["<", ">", "<=", ">=", "in", "instanceof"],
+        [">>", "<<", ">>>"],
+        ["+", "-"],
+        ["*", "/", "%"]
+    ].forEach(function (tier, i) {
+        tier.forEach(function (op) {
+            PRECEDENCE[op] = i;
+        });
+    });
+    function containsCallExpression(node) {
+        if (n.CallExpression.check(node)) {
+            return true;
+        }
+        if (isArray.check(node)) {
+            return node.some(containsCallExpression);
+        }
+        if (n.Node.check(node)) {
+            return types.someField(node, function (_name, child) {
+                return containsCallExpression(child);
+            });
+        }
+        return false;
+    }
+    NPp.canBeFirstInStatement = function () {
+        var node = this.node;
+        return !n.FunctionExpression.check(node)
+            && !n.ObjectExpression.check(node);
+    };
+    NPp.firstInStatement = function () {
+        return firstInStatement(this);
+    };
+    function firstInStatement(path) {
+        for (var node, parent; path.parent; path = path.parent) {
+            node = path.node;
+            parent = path.parent.node;
+            if (n.BlockStatement.check(parent) &&
+                path.parent.name === "body" &&
+                path.name === 0) {
+                if (parent.body[0] !== node) {
+                    throw new Error("Nodes must be equal");
+                }
+                return true;
+            }
+            if (n.ExpressionStatement.check(parent) &&
+                path.name === "expression") {
+                if (parent.expression !== node) {
+                    throw new Error("Nodes must be equal");
+                }
+                return true;
+            }
+            if (n.SequenceExpression.check(parent) &&
+                path.parent.name === "expressions" &&
+                path.name === 0) {
+                if (parent.expressions[0] !== node) {
+                    throw new Error("Nodes must be equal");
+                }
+                continue;
+            }
+            if (n.CallExpression.check(parent) &&
+                path.name === "callee") {
+                if (parent.callee !== node) {
+                    throw new Error("Nodes must be equal");
+                }
+                continue;
+            }
+            if (n.MemberExpression.check(parent) &&
+                path.name === "object") {
+                if (parent.object !== node) {
+                    throw new Error("Nodes must be equal");
+                }
+                continue;
+            }
+            if (n.ConditionalExpression.check(parent) &&
+                path.name === "test") {
+                if (parent.test !== node) {
+                    throw new Error("Nodes must be equal");
+                }
+                continue;
+            }
+            if (isBinary(parent) &&
+                path.name === "left") {
+                if (parent.left !== node) {
+                    throw new Error("Nodes must be equal");
+                }
+                continue;
+            }
+            if (n.UnaryExpression.check(parent) &&
+                !parent.prefix &&
+                path.name === "argument") {
+                if (parent.argument !== node) {
+                    throw new Error("Nodes must be equal");
+                }
+                continue;
+            }
+            return false;
+        }
+        return true;
+    }
+    /**
+     * Pruning certain nodes will result in empty or incomplete nodes, here we clean those nodes up.
+     */
+    function cleanUpNodesAfterPrune(remainingNodePath) {
+        if (n.VariableDeclaration.check(remainingNodePath.node)) {
+            var declarations = remainingNodePath.get('declarations').value;
+            if (!declarations || declarations.length === 0) {
+                return remainingNodePath.prune();
+            }
+        }
+        else if (n.ExpressionStatement.check(remainingNodePath.node)) {
+            if (!remainingNodePath.get('expression').value) {
+                return remainingNodePath.prune();
+            }
+        }
+        else if (n.IfStatement.check(remainingNodePath.node)) {
+            cleanUpIfStatementAfterPrune(remainingNodePath);
+        }
+        return remainingNodePath;
+    }
+    function cleanUpIfStatementAfterPrune(ifStatement) {
+        var testExpression = ifStatement.get('test').value;
+        var alternate = ifStatement.get('alternate').value;
+        var consequent = ifStatement.get('consequent').value;
+        if (!consequent && !alternate) {
+            var testExpressionStatement = b.expressionStatement(testExpression);
+            ifStatement.replace(testExpressionStatement);
+        }
+        else if (!consequent && alternate) {
+            var negatedTestExpression = b.unaryExpression('!', testExpression, true);
+            if (n.UnaryExpression.check(testExpression) && testExpression.operator === '!') {
+                negatedTestExpression = testExpression.argument;
+            }
+            ifStatement.get("test").replace(negatedTestExpression);
+            ifStatement.get("consequent").replace(alternate);
+            ifStatement.get("alternate").replace();
+        }
+    }
+    return NodePath;
+}
+exports.default = nodePathPlugin;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/lib/path-visitor.d.ts b/node_modules/degenerator/node_modules/ast-types/lib/path-visitor.d.ts
new file mode 100644
index 0000000..b03e68f
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/lib/path-visitor.d.ts
@@ -0,0 +1,52 @@
+import { Fork, Omit } from "../types";
+import { ASTNode } from "./types";
+import { NodePath } from "./node-path";
+export interface PathVisitor {
+    _reusableContextStack: any;
+    _methodNameTable: any;
+    _shouldVisitComments: any;
+    Context: any;
+    _visiting: any;
+    _changeReported: any;
+    _abortRequested: boolean;
+    visit(...args: any[]): any;
+    reset(...args: any[]): any;
+    visitWithoutReset(path: any): any;
+    AbortRequest: any;
+    abort(): void;
+    visitor: any;
+    acquireContext(path: any): any;
+    releaseContext(context: any): void;
+    reportChanged(): void;
+    wasChangeReported(): any;
+}
+export interface PathVisitorStatics {
+    fromMethodsObject(methods?: any): Visitor;
+    visit<M = {}>(node: ASTNode, methods?: import("../gen/visitor").Visitor<M>): any;
+}
+export interface PathVisitorConstructor extends PathVisitorStatics {
+    new (): PathVisitor;
+}
+export interface Visitor extends PathVisitor {
+}
+export interface VisitorConstructor extends PathVisitorStatics {
+    new (): Visitor;
+}
+export interface VisitorMethods {
+    [visitorMethod: string]: (path: NodePath) => any;
+}
+export interface SharedContextMethods {
+    currentPath: any;
+    needToCallTraverse: boolean;
+    Context: any;
+    visitor: any;
+    reset(path: any, ...args: any[]): any;
+    invokeVisitorMethod(methodName: string): any;
+    traverse(path: any, newVisitor?: VisitorMethods): any;
+    visit(path: any, newVisitor?: VisitorMethods): any;
+    reportChanged(): void;
+    abort(): void;
+}
+export interface Context extends Omit<PathVisitor, "visit" | "reset">, SharedContextMethods {
+}
+export default function pathVisitorPlugin(fork: Fork): PathVisitorConstructor;
diff --git a/node_modules/degenerator/node_modules/ast-types/lib/path-visitor.js b/node_modules/degenerator/node_modules/ast-types/lib/path-visitor.js
new file mode 100644
index 0000000..099cdc8
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/lib/path-visitor.js
@@ -0,0 +1,343 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var types_1 = tslib_1.__importDefault(require("./types"));
+var node_path_1 = tslib_1.__importDefault(require("./node-path"));
+var hasOwn = Object.prototype.hasOwnProperty;
+function pathVisitorPlugin(fork) {
+    var types = fork.use(types_1.default);
+    var NodePath = fork.use(node_path_1.default);
+    var isArray = types.builtInTypes.array;
+    var isObject = types.builtInTypes.object;
+    var isFunction = types.builtInTypes.function;
+    var undefined;
+    var PathVisitor = function PathVisitor() {
+        if (!(this instanceof PathVisitor)) {
+            throw new Error("PathVisitor constructor cannot be invoked without 'new'");
+        }
+        // Permanent state.
+        this._reusableContextStack = [];
+        this._methodNameTable = computeMethodNameTable(this);
+        this._shouldVisitComments =
+            hasOwn.call(this._methodNameTable, "Block") ||
+                hasOwn.call(this._methodNameTable, "Line");
+        this.Context = makeContextConstructor(this);
+        // State reset every time PathVisitor.prototype.visit is called.
+        this._visiting = false;
+        this._changeReported = false;
+    };
+    function computeMethodNameTable(visitor) {
+        var typeNames = Object.create(null);
+        for (var methodName in visitor) {
+            if (/^visit[A-Z]/.test(methodName)) {
+                typeNames[methodName.slice("visit".length)] = true;
+            }
+        }
+        var supertypeTable = types.computeSupertypeLookupTable(typeNames);
+        var methodNameTable = Object.create(null);
+        var typeNameKeys = Object.keys(supertypeTable);
+        var typeNameCount = typeNameKeys.length;
+        for (var i = 0; i < typeNameCount; ++i) {
+            var typeName = typeNameKeys[i];
+            methodName = "visit" + supertypeTable[typeName];
+            if (isFunction.check(visitor[methodName])) {
+                methodNameTable[typeName] = methodName;
+            }
+        }
+        return methodNameTable;
+    }
+    PathVisitor.fromMethodsObject = function fromMethodsObject(methods) {
+        if (methods instanceof PathVisitor) {
+            return methods;
+        }
+        if (!isObject.check(methods)) {
+            // An empty visitor?
+            return new PathVisitor;
+        }
+        var Visitor = function Visitor() {
+            if (!(this instanceof Visitor)) {
+                throw new Error("Visitor constructor cannot be invoked without 'new'");
+            }
+            PathVisitor.call(this);
+        };
+        var Vp = Visitor.prototype = Object.create(PVp);
+        Vp.constructor = Visitor;
+        extend(Vp, methods);
+        extend(Visitor, PathVisitor);
+        isFunction.assert(Visitor.fromMethodsObject);
+        isFunction.assert(Visitor.visit);
+        return new Visitor;
+    };
+    function extend(target, source) {
+        for (var property in source) {
+            if (hasOwn.call(source, property)) {
+                target[property] = source[property];
+            }
+        }
+        return target;
+    }
+    PathVisitor.visit = function visit(node, methods) {
+        return PathVisitor.fromMethodsObject(methods).visit(node);
+    };
+    var PVp = PathVisitor.prototype;
+    PVp.visit = function () {
+        if (this._visiting) {
+            throw new Error("Recursively calling visitor.visit(path) resets visitor state. " +
+                "Try this.visit(path) or this.traverse(path) instead.");
+        }
+        // Private state that needs to be reset before every traversal.
+        this._visiting = true;
+        this._changeReported = false;
+        this._abortRequested = false;
+        var argc = arguments.length;
+        var args = new Array(argc);
+        for (var i = 0; i < argc; ++i) {
+            args[i] = arguments[i];
+        }
+        if (!(args[0] instanceof NodePath)) {
+            args[0] = new NodePath({ root: args[0] }).get("root");
+        }
+        // Called with the same arguments as .visit.
+        this.reset.apply(this, args);
+        var didNotThrow;
+        try {
+            var root = this.visitWithoutReset(args[0]);
+            didNotThrow = true;
+        }
+        finally {
+            this._visiting = false;
+            if (!didNotThrow && this._abortRequested) {
+                // If this.visitWithoutReset threw an exception and
+                // this._abortRequested was set to true, return the root of
+                // the AST instead of letting the exception propagate, so that
+                // client code does not have to provide a try-catch block to
+                // intercept the AbortRequest exception.  Other kinds of
+                // exceptions will propagate without being intercepted and
+                // rethrown by a catch block, so their stacks will accurately
+                // reflect the original throwing context.
+                return args[0].value;
+            }
+        }
+        return root;
+    };
+    PVp.AbortRequest = function AbortRequest() { };
+    PVp.abort = function () {
+        var visitor = this;
+        visitor._abortRequested = true;
+        var request = new visitor.AbortRequest();
+        // If you decide to catch this exception and stop it from propagating,
+        // make sure to call its cancel method to avoid silencing other
+        // exceptions that might be thrown later in the traversal.
+        request.cancel = function () {
+            visitor._abortRequested = false;
+        };
+        throw request;
+    };
+    PVp.reset = function (_path /*, additional arguments */) {
+        // Empty stub; may be reassigned or overridden by subclasses.
+    };
+    PVp.visitWithoutReset = function (path) {
+        if (this instanceof this.Context) {
+            // Since this.Context.prototype === this, there's a chance we
+            // might accidentally call context.visitWithoutReset. If that
+            // happens, re-invoke the method against context.visitor.
+            return this.visitor.visitWithoutReset(path);
+        }
+        if (!(path instanceof NodePath)) {
+            throw new Error("");
+        }
+        var value = path.value;
+        var methodName = value &&
+            typeof value === "object" &&
+            typeof value.type === "string" &&
+            this._methodNameTable[value.type];
+        if (methodName) {
+            var context = this.acquireContext(path);
+            try {
+                return context.invokeVisitorMethod(methodName);
+            }
+            finally {
+                this.releaseContext(context);
+            }
+        }
+        else {
+            // If there was no visitor method to call, visit the children of
+            // this node generically.
+            return visitChildren(path, this);
+        }
+    };
+    function visitChildren(path, visitor) {
+        if (!(path instanceof NodePath)) {
+            throw new Error("");
+        }
+        if (!(visitor instanceof PathVisitor)) {
+            throw new Error("");
+        }
+        var value = path.value;
+        if (isArray.check(value)) {
+            path.each(visitor.visitWithoutReset, visitor);
+        }
+        else if (!isObject.check(value)) {
+            // No children to visit.
+        }
+        else {
+            var childNames = types.getFieldNames(value);
+            // The .comments field of the Node type is hidden, so we only
+            // visit it if the visitor defines visitBlock or visitLine, and
+            // value.comments is defined.
+            if (visitor._shouldVisitComments &&
+                value.comments &&
+                childNames.indexOf("comments") < 0) {
+                childNames.push("comments");
+            }
+            var childCount = childNames.length;
+            var childPaths = [];
+            for (var i = 0; i < childCount; ++i) {
+                var childName = childNames[i];
+                if (!hasOwn.call(value, childName)) {
+                    value[childName] = types.getFieldValue(value, childName);
+                }
+                childPaths.push(path.get(childName));
+            }
+            for (var i = 0; i < childCount; ++i) {
+                visitor.visitWithoutReset(childPaths[i]);
+            }
+        }
+        return path.value;
+    }
+    PVp.acquireContext = function (path) {
+        if (this._reusableContextStack.length === 0) {
+            return new this.Context(path);
+        }
+        return this._reusableContextStack.pop().reset(path);
+    };
+    PVp.releaseContext = function (context) {
+        if (!(context instanceof this.Context)) {
+            throw new Error("");
+        }
+        this._reusableContextStack.push(context);
+        context.currentPath = null;
+    };
+    PVp.reportChanged = function () {
+        this._changeReported = true;
+    };
+    PVp.wasChangeReported = function () {
+        return this._changeReported;
+    };
+    function makeContextConstructor(visitor) {
+        function Context(path) {
+            if (!(this instanceof Context)) {
+                throw new Error("");
+            }
+            if (!(this instanceof PathVisitor)) {
+                throw new Error("");
+            }
+            if (!(path instanceof NodePath)) {
+                throw new Error("");
+            }
+            Object.defineProperty(this, "visitor", {
+                value: visitor,
+                writable: false,
+                enumerable: true,
+                configurable: false
+            });
+            this.currentPath = path;
+            this.needToCallTraverse = true;
+            Object.seal(this);
+        }
+        if (!(visitor instanceof PathVisitor)) {
+            throw new Error("");
+        }
+        // Note that the visitor object is the prototype of Context.prototype,
+        // so all visitor methods are inherited by context objects.
+        var Cp = Context.prototype = Object.create(visitor);
+        Cp.constructor = Context;
+        extend(Cp, sharedContextProtoMethods);
+        return Context;
+    }
+    // Every PathVisitor has a different this.Context constructor and
+    // this.Context.prototype object, but those prototypes can all use the
+    // same reset, invokeVisitorMethod, and traverse function objects.
+    var sharedContextProtoMethods = Object.create(null);
+    sharedContextProtoMethods.reset =
+        function reset(path) {
+            if (!(this instanceof this.Context)) {
+                throw new Error("");
+            }
+            if (!(path instanceof NodePath)) {
+                throw new Error("");
+            }
+            this.currentPath = path;
+            this.needToCallTraverse = true;
+            return this;
+        };
+    sharedContextProtoMethods.invokeVisitorMethod =
+        function invokeVisitorMethod(methodName) {
+            if (!(this instanceof this.Context)) {
+                throw new Error("");
+            }
+            if (!(this.currentPath instanceof NodePath)) {
+                throw new Error("");
+            }
+            var result = this.visitor[methodName].call(this, this.currentPath);
+            if (result === false) {
+                // Visitor methods return false to indicate that they have handled
+                // their own traversal needs, and we should not complain if
+                // this.needToCallTraverse is still true.
+                this.needToCallTraverse = false;
+            }
+            else if (result !== undefined) {
+                // Any other non-undefined value returned from the visitor method
+                // is interpreted as a replacement value.
+                this.currentPath = this.currentPath.replace(result)[0];
+                if (this.needToCallTraverse) {
+                    // If this.traverse still hasn't been called, visit the
+                    // children of the replacement node.
+                    this.traverse(this.currentPath);
+                }
+            }
+            if (this.needToCallTraverse !== false) {
+                throw new Error("Must either call this.traverse or return false in " + methodName);
+            }
+            var path = this.currentPath;
+            return path && path.value;
+        };
+    sharedContextProtoMethods.traverse =
+        function traverse(path, newVisitor) {
+            if (!(this instanceof this.Context)) {
+                throw new Error("");
+            }
+            if (!(path instanceof NodePath)) {
+                throw new Error("");
+            }
+            if (!(this.currentPath instanceof NodePath)) {
+                throw new Error("");
+            }
+            this.needToCallTraverse = false;
+            return visitChildren(path, PathVisitor.fromMethodsObject(newVisitor || this.visitor));
+        };
+    sharedContextProtoMethods.visit =
+        function visit(path, newVisitor) {
+            if (!(this instanceof this.Context)) {
+                throw new Error("");
+            }
+            if (!(path instanceof NodePath)) {
+                throw new Error("");
+            }
+            if (!(this.currentPath instanceof NodePath)) {
+                throw new Error("");
+            }
+            this.needToCallTraverse = false;
+            return PathVisitor.fromMethodsObject(newVisitor || this.visitor).visitWithoutReset(path);
+        };
+    sharedContextProtoMethods.reportChanged = function reportChanged() {
+        this.visitor.reportChanged();
+    };
+    sharedContextProtoMethods.abort = function abort() {
+        this.needToCallTraverse = false;
+        this.visitor.abort();
+    };
+    return PathVisitor;
+}
+exports.default = pathVisitorPlugin;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/lib/path.d.ts b/node_modules/degenerator/node_modules/ast-types/lib/path.d.ts
new file mode 100644
index 0000000..feef1f1
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/lib/path.d.ts
@@ -0,0 +1,25 @@
+import { Fork } from "../types";
+import { ASTNode } from "./types";
+export interface Path<V = any> {
+    value: V;
+    parentPath: any;
+    name: any;
+    __childCache: object | null;
+    getValueProperty(name: any): any;
+    get(...names: any[]): any;
+    each(callback: any, context: any): any;
+    map(callback: any, context: any): any;
+    filter(callback: any, context: any): any;
+    shift(): any;
+    unshift(...args: any[]): any;
+    push(...args: any[]): any;
+    pop(): any;
+    insertAt(index: number, ...args: any[]): any;
+    insertBefore(...args: any[]): any;
+    insertAfter(...args: any[]): any;
+    replace(replacement?: ASTNode, ...args: ASTNode[]): any;
+}
+export interface PathConstructor {
+    new <V = any>(value: any, parentPath?: any, name?: any): Path<V>;
+}
+export default function pathPlugin(fork: Fork): PathConstructor;
diff --git a/node_modules/degenerator/node_modules/ast-types/lib/path.js b/node_modules/degenerator/node_modules/ast-types/lib/path.js
new file mode 100644
index 0000000..9f63bf8
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/lib/path.js
@@ -0,0 +1,331 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var types_1 = tslib_1.__importDefault(require("./types"));
+var Op = Object.prototype;
+var hasOwn = Op.hasOwnProperty;
+function pathPlugin(fork) {
+    var types = fork.use(types_1.default);
+    var isArray = types.builtInTypes.array;
+    var isNumber = types.builtInTypes.number;
+    var Path = function Path(value, parentPath, name) {
+        if (!(this instanceof Path)) {
+            throw new Error("Path constructor cannot be invoked without 'new'");
+        }
+        if (parentPath) {
+            if (!(parentPath instanceof Path)) {
+                throw new Error("");
+            }
+        }
+        else {
+            parentPath = null;
+            name = null;
+        }
+        // The value encapsulated by this Path, generally equal to
+        // parentPath.value[name] if we have a parentPath.
+        this.value = value;
+        // The immediate parent Path of this Path.
+        this.parentPath = parentPath;
+        // The name of the property of parentPath.value through which this
+        // Path's value was reached.
+        this.name = name;
+        // Calling path.get("child") multiple times always returns the same
+        // child Path object, for both performance and consistency reasons.
+        this.__childCache = null;
+    };
+    var Pp = Path.prototype;
+    function getChildCache(path) {
+        // Lazily create the child cache. This also cheapens cache
+        // invalidation, since you can just reset path.__childCache to null.
+        return path.__childCache || (path.__childCache = Object.create(null));
+    }
+    function getChildPath(path, name) {
+        var cache = getChildCache(path);
+        var actualChildValue = path.getValueProperty(name);
+        var childPath = cache[name];
+        if (!hasOwn.call(cache, name) ||
+            // Ensure consistency between cache and reality.
+            childPath.value !== actualChildValue) {
+            childPath = cache[name] = new path.constructor(actualChildValue, path, name);
+        }
+        return childPath;
+    }
+    // This method is designed to be overridden by subclasses that need to
+    // handle missing properties, etc.
+    Pp.getValueProperty = function getValueProperty(name) {
+        return this.value[name];
+    };
+    Pp.get = function get() {
+        var names = [];
+        for (var _i = 0; _i < arguments.length; _i++) {
+            names[_i] = arguments[_i];
+        }
+        var path = this;
+        var count = names.length;
+        for (var i = 0; i < count; ++i) {
+            path = getChildPath(path, names[i]);
+        }
+        return path;
+    };
+    Pp.each = function each(callback, context) {
+        var childPaths = [];
+        var len = this.value.length;
+        var i = 0;
+        // Collect all the original child paths before invoking the callback.
+        for (var i = 0; i < len; ++i) {
+            if (hasOwn.call(this.value, i)) {
+                childPaths[i] = this.get(i);
+            }
+        }
+        // Invoke the callback on just the original child paths, regardless of
+        // any modifications made to the array by the callback. I chose these
+        // semantics over cleverly invoking the callback on new elements because
+        // this way is much easier to reason about.
+        context = context || this;
+        for (i = 0; i < len; ++i) {
+            if (hasOwn.call(childPaths, i)) {
+                callback.call(context, childPaths[i]);
+            }
+        }
+    };
+    Pp.map = function map(callback, context) {
+        var result = [];
+        this.each(function (childPath) {
+            result.push(callback.call(this, childPath));
+        }, context);
+        return result;
+    };
+    Pp.filter = function filter(callback, context) {
+        var result = [];
+        this.each(function (childPath) {
+            if (callback.call(this, childPath)) {
+                result.push(childPath);
+            }
+        }, context);
+        return result;
+    };
+    function emptyMoves() { }
+    function getMoves(path, offset, start, end) {
+        isArray.assert(path.value);
+        if (offset === 0) {
+            return emptyMoves;
+        }
+        var length = path.value.length;
+        if (length < 1) {
+            return emptyMoves;
+        }
+        var argc = arguments.length;
+        if (argc === 2) {
+            start = 0;
+            end = length;
+        }
+        else if (argc === 3) {
+            start = Math.max(start, 0);
+            end = length;
+        }
+        else {
+            start = Math.max(start, 0);
+            end = Math.min(end, length);
+        }
+        isNumber.assert(start);
+        isNumber.assert(end);
+        var moves = Object.create(null);
+        var cache = getChildCache(path);
+        for (var i = start; i < end; ++i) {
+            if (hasOwn.call(path.value, i)) {
+                var childPath = path.get(i);
+                if (childPath.name !== i) {
+                    throw new Error("");
+                }
+                var newIndex = i + offset;
+                childPath.name = newIndex;
+                moves[newIndex] = childPath;
+                delete cache[i];
+            }
+        }
+        delete cache.length;
+        return function () {
+            for (var newIndex in moves) {
+                var childPath = moves[newIndex];
+                if (childPath.name !== +newIndex) {
+                    throw new Error("");
+                }
+                cache[newIndex] = childPath;
+                path.value[newIndex] = childPath.value;
+            }
+        };
+    }
+    Pp.shift = function shift() {
+        var move = getMoves(this, -1);
+        var result = this.value.shift();
+        move();
+        return result;
+    };
+    Pp.unshift = function unshift() {
+        var args = [];
+        for (var _i = 0; _i < arguments.length; _i++) {
+            args[_i] = arguments[_i];
+        }
+        var move = getMoves(this, args.length);
+        var result = this.value.unshift.apply(this.value, args);
+        move();
+        return result;
+    };
+    Pp.push = function push() {
+        var args = [];
+        for (var _i = 0; _i < arguments.length; _i++) {
+            args[_i] = arguments[_i];
+        }
+        isArray.assert(this.value);
+        delete getChildCache(this).length;
+        return this.value.push.apply(this.value, args);
+    };
+    Pp.pop = function pop() {
+        isArray.assert(this.value);
+        var cache = getChildCache(this);
+        delete cache[this.value.length - 1];
+        delete cache.length;
+        return this.value.pop();
+    };
+    Pp.insertAt = function insertAt(index) {
+        var argc = arguments.length;
+        var move = getMoves(this, argc - 1, index);
+        if (move === emptyMoves && argc <= 1) {
+            return this;
+        }
+        index = Math.max(index, 0);
+        for (var i = 1; i < argc; ++i) {
+            this.value[index + i - 1] = arguments[i];
+        }
+        move();
+        return this;
+    };
+    Pp.insertBefore = function insertBefore() {
+        var args = [];
+        for (var _i = 0; _i < arguments.length; _i++) {
+            args[_i] = arguments[_i];
+        }
+        var pp = this.parentPath;
+        var argc = args.length;
+        var insertAtArgs = [this.name];
+        for (var i = 0; i < argc; ++i) {
+            insertAtArgs.push(args[i]);
+        }
+        return pp.insertAt.apply(pp, insertAtArgs);
+    };
+    Pp.insertAfter = function insertAfter() {
+        var args = [];
+        for (var _i = 0; _i < arguments.length; _i++) {
+            args[_i] = arguments[_i];
+        }
+        var pp = this.parentPath;
+        var argc = args.length;
+        var insertAtArgs = [this.name + 1];
+        for (var i = 0; i < argc; ++i) {
+            insertAtArgs.push(args[i]);
+        }
+        return pp.insertAt.apply(pp, insertAtArgs);
+    };
+    function repairRelationshipWithParent(path) {
+        if (!(path instanceof Path)) {
+            throw new Error("");
+        }
+        var pp = path.parentPath;
+        if (!pp) {
+            // Orphan paths have no relationship to repair.
+            return path;
+        }
+        var parentValue = pp.value;
+        var parentCache = getChildCache(pp);
+        // Make sure parentCache[path.name] is populated.
+        if (parentValue[path.name] === path.value) {
+            parentCache[path.name] = path;
+        }
+        else if (isArray.check(parentValue)) {
+            // Something caused path.name to become out of date, so attempt to
+            // recover by searching for path.value in parentValue.
+            var i = parentValue.indexOf(path.value);
+            if (i >= 0) {
+                parentCache[path.name = i] = path;
+            }
+        }
+        else {
+            // If path.value disagrees with parentValue[path.name], and
+            // path.name is not an array index, let path.value become the new
+            // parentValue[path.name] and update parentCache accordingly.
+            parentValue[path.name] = path.value;
+            parentCache[path.name] = path;
+        }
+        if (parentValue[path.name] !== path.value) {
+            throw new Error("");
+        }
+        if (path.parentPath.get(path.name) !== path) {
+            throw new Error("");
+        }
+        return path;
+    }
+    Pp.replace = function replace(replacement) {
+        var results = [];
+        var parentValue = this.parentPath.value;
+        var parentCache = getChildCache(this.parentPath);
+        var count = arguments.length;
+        repairRelationshipWithParent(this);
+        if (isArray.check(parentValue)) {
+            var originalLength = parentValue.length;
+            var move = getMoves(this.parentPath, count - 1, this.name + 1);
+            var spliceArgs = [this.name, 1];
+            for (var i = 0; i < count; ++i) {
+                spliceArgs.push(arguments[i]);
+            }
+            var splicedOut = parentValue.splice.apply(parentValue, spliceArgs);
+            if (splicedOut[0] !== this.value) {
+                throw new Error("");
+            }
+            if (parentValue.length !== (originalLength - 1 + count)) {
+                throw new Error("");
+            }
+            move();
+            if (count === 0) {
+                delete this.value;
+                delete parentCache[this.name];
+                this.__childCache = null;
+            }
+            else {
+                if (parentValue[this.name] !== replacement) {
+                    throw new Error("");
+                }
+                if (this.value !== replacement) {
+                    this.value = replacement;
+                    this.__childCache = null;
+                }
+                for (i = 0; i < count; ++i) {
+                    results.push(this.parentPath.get(this.name + i));
+                }
+                if (results[0] !== this) {
+                    throw new Error("");
+                }
+            }
+        }
+        else if (count === 1) {
+            if (this.value !== replacement) {
+                this.__childCache = null;
+            }
+            this.value = parentValue[this.name] = replacement;
+            results.push(this);
+        }
+        else if (count === 0) {
+            delete parentValue[this.name];
+            delete this.value;
+            this.__childCache = null;
+            // Leave this path cached as parentCache[this.name], even though
+            // it no longer has a value defined.
+        }
+        else {
+            throw new Error("Could not replace path");
+        }
+        return results;
+    };
+    return Path;
+}
+exports.default = pathPlugin;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/lib/scope.d.ts b/node_modules/degenerator/node_modules/ast-types/lib/scope.d.ts
new file mode 100644
index 0000000..c4687d1
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/lib/scope.d.ts
@@ -0,0 +1,26 @@
+import { Fork } from "../types";
+export interface Scope {
+    path: any;
+    node: any;
+    isGlobal: boolean;
+    depth: number;
+    parent: any;
+    bindings: any;
+    types: any;
+    didScan: boolean;
+    declares(name: any): any;
+    declaresType(name: any): any;
+    declareTemporary(prefix?: any): any;
+    injectTemporary(identifier: any, init: any): any;
+    scan(force?: any): any;
+    getBindings(): any;
+    getTypes(): any;
+    lookup(name: any): any;
+    lookupType(name: any): any;
+    getGlobalScope(): Scope;
+}
+export interface ScopeConstructor {
+    new (path: any, parentScope: any): Scope;
+    isEstablishedBy(node: any): any;
+}
+export default function scopePlugin(fork: Fork): ScopeConstructor;
diff --git a/node_modules/degenerator/node_modules/ast-types/lib/scope.js b/node_modules/degenerator/node_modules/ast-types/lib/scope.js
new file mode 100644
index 0000000..e244aa0
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/lib/scope.js
@@ -0,0 +1,318 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var types_1 = tslib_1.__importDefault(require("./types"));
+var hasOwn = Object.prototype.hasOwnProperty;
+function scopePlugin(fork) {
+    var types = fork.use(types_1.default);
+    var Type = types.Type;
+    var namedTypes = types.namedTypes;
+    var Node = namedTypes.Node;
+    var Expression = namedTypes.Expression;
+    var isArray = types.builtInTypes.array;
+    var b = types.builders;
+    var Scope = function Scope(path, parentScope) {
+        if (!(this instanceof Scope)) {
+            throw new Error("Scope constructor cannot be invoked without 'new'");
+        }
+        ScopeType.assert(path.value);
+        var depth;
+        if (parentScope) {
+            if (!(parentScope instanceof Scope)) {
+                throw new Error("");
+            }
+            depth = parentScope.depth + 1;
+        }
+        else {
+            parentScope = null;
+            depth = 0;
+        }
+        Object.defineProperties(this, {
+            path: { value: path },
+            node: { value: path.value },
+            isGlobal: { value: !parentScope, enumerable: true },
+            depth: { value: depth },
+            parent: { value: parentScope },
+            bindings: { value: {} },
+            types: { value: {} },
+        });
+    };
+    var scopeTypes = [
+        // Program nodes introduce global scopes.
+        namedTypes.Program,
+        // Function is the supertype of FunctionExpression,
+        // FunctionDeclaration, ArrowExpression, etc.
+        namedTypes.Function,
+        // In case you didn't know, the caught parameter shadows any variable
+        // of the same name in an outer scope.
+        namedTypes.CatchClause
+    ];
+    var ScopeType = Type.or.apply(Type, scopeTypes);
+    Scope.isEstablishedBy = function (node) {
+        return ScopeType.check(node);
+    };
+    var Sp = Scope.prototype;
+    // Will be overridden after an instance lazily calls scanScope.
+    Sp.didScan = false;
+    Sp.declares = function (name) {
+        this.scan();
+        return hasOwn.call(this.bindings, name);
+    };
+    Sp.declaresType = function (name) {
+        this.scan();
+        return hasOwn.call(this.types, name);
+    };
+    Sp.declareTemporary = function (prefix) {
+        if (prefix) {
+            if (!/^[a-z$_]/i.test(prefix)) {
+                throw new Error("");
+            }
+        }
+        else {
+            prefix = "t$";
+        }
+        // Include this.depth in the name to make sure the name does not
+        // collide with any variables in nested/enclosing scopes.
+        prefix += this.depth.toString(36) + "$";
+        this.scan();
+        var index = 0;
+        while (this.declares(prefix + index)) {
+            ++index;
+        }
+        var name = prefix + index;
+        return this.bindings[name] = types.builders.identifier(name);
+    };
+    Sp.injectTemporary = function (identifier, init) {
+        identifier || (identifier = this.declareTemporary());
+        var bodyPath = this.path.get("body");
+        if (namedTypes.BlockStatement.check(bodyPath.value)) {
+            bodyPath = bodyPath.get("body");
+        }
+        bodyPath.unshift(b.variableDeclaration("var", [b.variableDeclarator(identifier, init || null)]));
+        return identifier;
+    };
+    Sp.scan = function (force) {
+        if (force || !this.didScan) {
+            for (var name in this.bindings) {
+                // Empty out this.bindings, just in cases.
+                delete this.bindings[name];
+            }
+            scanScope(this.path, this.bindings, this.types);
+            this.didScan = true;
+        }
+    };
+    Sp.getBindings = function () {
+        this.scan();
+        return this.bindings;
+    };
+    Sp.getTypes = function () {
+        this.scan();
+        return this.types;
+    };
+    function scanScope(path, bindings, scopeTypes) {
+        var node = path.value;
+        ScopeType.assert(node);
+        if (namedTypes.CatchClause.check(node)) {
+            // A catch clause establishes a new scope but the only variable
+            // bound in that scope is the catch parameter. Any other
+            // declarations create bindings in the outer scope.
+            var param = path.get("param");
+            if (param.value) {
+                addPattern(param, bindings);
+            }
+        }
+        else {
+            recursiveScanScope(path, bindings, scopeTypes);
+        }
+    }
+    function recursiveScanScope(path, bindings, scopeTypes) {
+        var node = path.value;
+        if (path.parent &&
+            namedTypes.FunctionExpression.check(path.parent.node) &&
+            path.parent.node.id) {
+            addPattern(path.parent.get("id"), bindings);
+        }
+        if (!node) {
+            // None of the remaining cases matter if node is falsy.
+        }
+        else if (isArray.check(node)) {
+            path.each(function (childPath) {
+                recursiveScanChild(childPath, bindings, scopeTypes);
+            });
+        }
+        else if (namedTypes.Function.check(node)) {
+            path.get("params").each(function (paramPath) {
+                addPattern(paramPath, bindings);
+            });
+            recursiveScanChild(path.get("body"), bindings, scopeTypes);
+        }
+        else if ((namedTypes.TypeAlias && namedTypes.TypeAlias.check(node)) ||
+            (namedTypes.InterfaceDeclaration && namedTypes.InterfaceDeclaration.check(node)) ||
+            (namedTypes.TSTypeAliasDeclaration && namedTypes.TSTypeAliasDeclaration.check(node)) ||
+            (namedTypes.TSInterfaceDeclaration && namedTypes.TSInterfaceDeclaration.check(node))) {
+            addTypePattern(path.get("id"), scopeTypes);
+        }
+        else if (namedTypes.VariableDeclarator.check(node)) {
+            addPattern(path.get("id"), bindings);
+            recursiveScanChild(path.get("init"), bindings, scopeTypes);
+        }
+        else if (node.type === "ImportSpecifier" ||
+            node.type === "ImportNamespaceSpecifier" ||
+            node.type === "ImportDefaultSpecifier") {
+            addPattern(
+            // Esprima used to use the .name field to refer to the local
+            // binding identifier for ImportSpecifier nodes, but .id for
+            // ImportNamespaceSpecifier and ImportDefaultSpecifier nodes.
+            // ESTree/Acorn/ESpree use .local for all three node types.
+            path.get(node.local ? "local" :
+                node.name ? "name" : "id"), bindings);
+        }
+        else if (Node.check(node) && !Expression.check(node)) {
+            types.eachField(node, function (name, child) {
+                var childPath = path.get(name);
+                if (!pathHasValue(childPath, child)) {
+                    throw new Error("");
+                }
+                recursiveScanChild(childPath, bindings, scopeTypes);
+            });
+        }
+    }
+    function pathHasValue(path, value) {
+        if (path.value === value) {
+            return true;
+        }
+        // Empty arrays are probably produced by defaults.emptyArray, in which
+        // case is makes sense to regard them as equivalent, if not ===.
+        if (Array.isArray(path.value) &&
+            path.value.length === 0 &&
+            Array.isArray(value) &&
+            value.length === 0) {
+            return true;
+        }
+        return false;
+    }
+    function recursiveScanChild(path, bindings, scopeTypes) {
+        var node = path.value;
+        if (!node || Expression.check(node)) {
+            // Ignore falsy values and Expressions.
+        }
+        else if (namedTypes.FunctionDeclaration.check(node) &&
+            node.id !== null) {
+            addPattern(path.get("id"), bindings);
+        }
+        else if (namedTypes.ClassDeclaration &&
+            namedTypes.ClassDeclaration.check(node)) {
+            addPattern(path.get("id"), bindings);
+        }
+        else if (ScopeType.check(node)) {
+            if (namedTypes.CatchClause.check(node) &&
+                // TODO Broaden this to accept any pattern.
+                namedTypes.Identifier.check(node.param)) {
+                var catchParamName = node.param.name;
+                var hadBinding = hasOwn.call(bindings, catchParamName);
+                // Any declarations that occur inside the catch body that do
+                // not have the same name as the catch parameter should count
+                // as bindings in the outer scope.
+                recursiveScanScope(path.get("body"), bindings, scopeTypes);
+                // If a new binding matching the catch parameter name was
+                // created while scanning the catch body, ignore it because it
+                // actually refers to the catch parameter and not the outer
+                // scope that we're currently scanning.
+                if (!hadBinding) {
+                    delete bindings[catchParamName];
+                }
+            }
+        }
+        else {
+            recursiveScanScope(path, bindings, scopeTypes);
+        }
+    }
+    function addPattern(patternPath, bindings) {
+        var pattern = patternPath.value;
+        namedTypes.Pattern.assert(pattern);
+        if (namedTypes.Identifier.check(pattern)) {
+            if (hasOwn.call(bindings, pattern.name)) {
+                bindings[pattern.name].push(patternPath);
+            }
+            else {
+                bindings[pattern.name] = [patternPath];
+            }
+        }
+        else if (namedTypes.AssignmentPattern &&
+            namedTypes.AssignmentPattern.check(pattern)) {
+            addPattern(patternPath.get('left'), bindings);
+        }
+        else if (namedTypes.ObjectPattern &&
+            namedTypes.ObjectPattern.check(pattern)) {
+            patternPath.get('properties').each(function (propertyPath) {
+                var property = propertyPath.value;
+                if (namedTypes.Pattern.check(property)) {
+                    addPattern(propertyPath, bindings);
+                }
+                else if (namedTypes.Property.check(property)) {
+                    addPattern(propertyPath.get('value'), bindings);
+                }
+                else if (namedTypes.SpreadProperty &&
+                    namedTypes.SpreadProperty.check(property)) {
+                    addPattern(propertyPath.get('argument'), bindings);
+                }
+            });
+        }
+        else if (namedTypes.ArrayPattern &&
+            namedTypes.ArrayPattern.check(pattern)) {
+            patternPath.get('elements').each(function (elementPath) {
+                var element = elementPath.value;
+                if (namedTypes.Pattern.check(element)) {
+                    addPattern(elementPath, bindings);
+                }
+                else if (namedTypes.SpreadElement &&
+                    namedTypes.SpreadElement.check(element)) {
+                    addPattern(elementPath.get("argument"), bindings);
+                }
+            });
+        }
+        else if (namedTypes.PropertyPattern &&
+            namedTypes.PropertyPattern.check(pattern)) {
+            addPattern(patternPath.get('pattern'), bindings);
+        }
+        else if ((namedTypes.SpreadElementPattern &&
+            namedTypes.SpreadElementPattern.check(pattern)) ||
+            (namedTypes.SpreadPropertyPattern &&
+                namedTypes.SpreadPropertyPattern.check(pattern))) {
+            addPattern(patternPath.get('argument'), bindings);
+        }
+    }
+    function addTypePattern(patternPath, types) {
+        var pattern = patternPath.value;
+        namedTypes.Pattern.assert(pattern);
+        if (namedTypes.Identifier.check(pattern)) {
+            if (hasOwn.call(types, pattern.name)) {
+                types[pattern.name].push(patternPath);
+            }
+            else {
+                types[pattern.name] = [patternPath];
+            }
+        }
+    }
+    Sp.lookup = function (name) {
+        for (var scope = this; scope; scope = scope.parent)
+            if (scope.declares(name))
+                break;
+        return scope;
+    };
+    Sp.lookupType = function (name) {
+        for (var scope = this; scope; scope = scope.parent)
+            if (scope.declaresType(name))
+                break;
+        return scope;
+    };
+    Sp.getGlobalScope = function () {
+        var scope = this;
+        while (!scope.isGlobal)
+            scope = scope.parent;
+        return scope;
+    };
+    return Scope;
+}
+exports.default = scopePlugin;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/lib/shared.d.ts b/node_modules/degenerator/node_modules/ast-types/lib/shared.d.ts
new file mode 100644
index 0000000..72599c8
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/lib/shared.d.ts
@@ -0,0 +1,13 @@
+import { Fork } from "../types";
+export default function (fork: Fork): {
+    geq: (than: any) => import("./types").Type<unknown>;
+    defaults: {
+        null: () => null;
+        emptyArray: () => never[];
+        false: () => boolean;
+        true: () => boolean;
+        undefined: () => void;
+        "use strict": () => string;
+    };
+    isPrimitive: import("./types").Type<unknown>;
+};
diff --git a/node_modules/degenerator/node_modules/ast-types/lib/shared.js b/node_modules/degenerator/node_modules/ast-types/lib/shared.js
new file mode 100644
index 0000000..60efc31
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/lib/shared.js
@@ -0,0 +1,47 @@
+"use strict";;
+Object.defineProperty(exports, "__esModule", { value: true });
+var tslib_1 = require("tslib");
+var types_1 = tslib_1.__importDefault(require("./types"));
+function default_1(fork) {
+    var types = fork.use(types_1.default);
+    var Type = types.Type;
+    var builtin = types.builtInTypes;
+    var isNumber = builtin.number;
+    // An example of constructing a new type with arbitrary constraints from
+    // an existing type.
+    function geq(than) {
+        return Type.from(function (value) { return isNumber.check(value) && value >= than; }, isNumber + " >= " + than);
+    }
+    ;
+    // Default value-returning functions that may optionally be passed as a
+    // third argument to Def.prototype.field.
+    var defaults = {
+        // Functions were used because (among other reasons) that's the most
+        // elegant way to allow for the emptyArray one always to give a new
+        // array instance.
+        "null": function () { return null; },
+        "emptyArray": function () { return []; },
+        "false": function () { return false; },
+        "true": function () { return true; },
+        "undefined": function () { },
+        "use strict": function () { return "use strict"; }
+    };
+    var naiveIsPrimitive = Type.or(builtin.string, builtin.number, builtin.boolean, builtin.null, builtin.undefined);
+    var isPrimitive = Type.from(function (value) {
+        if (value === null)
+            return true;
+        var type = typeof value;
+        if (type === "object" ||
+            type === "function") {
+            return false;
+        }
+        return true;
+    }, naiveIsPrimitive.toString());
+    return {
+        geq: geq,
+        defaults: defaults,
+        isPrimitive: isPrimitive,
+    };
+}
+exports.default = default_1;
+module.exports = exports["default"];
diff --git a/node_modules/degenerator/node_modules/ast-types/lib/types.d.ts b/node_modules/degenerator/node_modules/ast-types/lib/types.d.ts
new file mode 100644
index 0000000..b6e7939
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/lib/types.d.ts
@@ -0,0 +1,136 @@
+import { Fork } from "../types";
+declare type Deep = boolean | ((type: Type<any>, value: any) => void);
+export declare type Type<T> = ArrayType<T> | IdentityType<T> | ObjectType<T> | OrType<T> | PredicateType<T>;
+export interface AnyType {
+    toString(): string;
+    check(value: any, deep?: Deep): boolean;
+    assert(value: any, deep?: Deep): boolean;
+    arrayOf(): AnyType;
+}
+declare abstract class BaseType<T> {
+    abstract toString(): string;
+    abstract check(value: any, deep?: Deep): value is T;
+    assert(value: any, deep?: Deep): value is T;
+    arrayOf(): Type<T[]>;
+}
+declare class ArrayType<T> extends BaseType<T> {
+    readonly elemType: Type<T extends (infer E)[] ? E : never>;
+    readonly kind: "ArrayType";
+    constructor(elemType: Type<T extends (infer E)[] ? E : never>);
+    toString(): string;
+    check(value: any, deep?: Deep): value is T;
+}
+declare class IdentityType<T> extends BaseType<T> {
+    readonly value: T;
+    readonly kind: "IdentityType";
+    constructor(value: T);
+    toString(): string;
+    check(value: any, deep?: Deep): value is T;
+}
+declare class ObjectType<T> extends BaseType<T> {
+    readonly fields: Field<any>[];
+    readonly kind: "ObjectType";
+    constructor(fields: Field<any>[]);
+    toString(): string;
+    check(value: any, deep?: Deep): value is T;
+}
+declare class OrType<T> extends BaseType<T> {
+    readonly types: Type<any>[];
+    readonly kind: "OrType";
+    constructor(types: Type<any>[]);
+    toString(): string;
+    check(value: any, deep?: Deep): value is T;
+}
+declare class PredicateType<T> extends BaseType<T> {
+    readonly name: string;
+    readonly predicate: (value: any, deep?: Deep) => boolean;
+    readonly kind: "PredicateType";
+    constructor(name: string, predicate: (value: any, deep?: Deep) => boolean);
+    toString(): string;
+    check(value: any, deep?: Deep): value is T;
+}
+export declare abstract class Def<T = any> {
+    readonly type: Type<T>;
+    readonly typeName: string;
+    baseNames: string[];
+    ownFields: {
+        [name: string]: Field<any>;
+    };
+    allSupertypes: {
+        [name: string]: Def<any>;
+    };
+    supertypeList: string[];
+    allFields: {
+        [name: string]: Field<any>;
+    };
+    fieldNames: string[];
+    finalized: boolean;
+    buildable: boolean;
+    buildParams: string[];
+    constructor(type: Type<T>, typeName: string);
+    isSupertypeOf(that: Def<any>): boolean;
+    checkAllFields(value: any, deep?: any): boolean;
+    abstract check(value: any, deep?: any): boolean;
+    bases(...supertypeNames: string[]): this;
+    abstract build(...buildParams: string[]): this;
+    abstract field(name: string, type: any, defaultFn?: Function, hidden?: boolean): this;
+    abstract finalize(): void;
+}
+declare class Field<T> {
+    readonly name: string;
+    readonly type: Type<T>;
+    readonly defaultFn?: Function | undefined;
+    readonly hidden: boolean;
+    constructor(name: string, type: Type<T>, defaultFn?: Function | undefined, hidden?: boolean);
+    toString(): string;
+    getValue(obj: {
+        [key: string]: any;
+    }): any;
+}
+declare type FieldType<T> = Field<T>;
+export { FieldType as Field };
+export interface ASTNode {
+    type: string;
+}
+export interface Builder {
+    (...args: any[]): ASTNode;
+    from(obj: {
+        [param: string]: any;
+    }): ASTNode;
+}
+export default function typesPlugin(_fork: Fork): {
+    Type: {
+        or(...types: any[]): Type<any>;
+        from<T>(value: any, name?: string | undefined): Type<T>;
+        def(typeName: string): Def;
+        hasDef(typeName: string): boolean;
+    };
+    builtInTypes: {
+        string: Type<string>;
+        function: Type<Function>;
+        array: Type<any[]>;
+        object: Type<{
+            [key: string]: any;
+        }>;
+        RegExp: Type<RegExp>;
+        Date: Type<Date>;
+        number: Type<number>;
+        boolean: Type<boolean>;
+        null: Type<null>;
+        undefined: Type<undefined>;
+    };
+    getSupertypeNames: (typeName: string) => string[];
+    computeSupertypeLookupTable: (candidates: any) => {
+        [typeName: string]: any;
+    };
+    builders: import("../gen/builders").builders;
+    defineMethod: (name: any, func?: Function | undefined) => Function;
+    getBuilderName: (typeName: any) => any;
+    getStatementBuilderName: (typeName: any) => any;
+    namedTypes: import("../gen/namedTypes").NamedTypes;
+    getFieldNames: (object: any) => string[];
+    getFieldValue: (object: any, fieldName: any) => any;
+    eachField: (object: any, callback: (name: any, value: any) => any, context?: any) => void;
+    someField: (object: any, callback: (name: any, value: any) => any, context?: any) => boolean;
+    finalize: () => void;
+};
diff --git a/node_modules/degenerator/node_modules/ast-types/lib/types.js b/node_modules/degenerator/node_modules/ast-types/lib/types.js
new file mode 100644
index 0000000..ce64cc1
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/lib/types.js
@@ -0,0 +1,780 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Def = void 0;
+var tslib_1 = require("tslib");
+var Op = Object.prototype;
+var objToStr = Op.toString;
+var hasOwn = Op.hasOwnProperty;
+var BaseType = /** @class */ (function () {
+    function BaseType() {
+    }
+    BaseType.prototype.assert = function (value, deep) {
+        if (!this.check(value, deep)) {
+            var str = shallowStringify(value);
+            throw new Error(str + " does not match type " + this);
+        }
+        return true;
+    };
+    BaseType.prototype.arrayOf = function () {
+        var elemType = this;
+        return new ArrayType(elemType);
+    };
+    return BaseType;
+}());
+var ArrayType = /** @class */ (function (_super) {
+    tslib_1.__extends(ArrayType, _super);
+    function ArrayType(elemType) {
+        var _this = _super.call(this) || this;
+        _this.elemType = elemType;
+        _this.kind = "ArrayType";
+        return _this;
+    }
+    ArrayType.prototype.toString = function () {
+        return "[" + this.elemType + "]";
+    };
+    ArrayType.prototype.check = function (value, deep) {
+        var _this = this;
+        return Array.isArray(value) && value.every(function (elem) { return _this.elemType.check(elem, deep); });
+    };
+    return ArrayType;
+}(BaseType));
+var IdentityType = /** @class */ (function (_super) {
+    tslib_1.__extends(IdentityType, _super);
+    function IdentityType(value) {
+        var _this = _super.call(this) || this;
+        _this.value = value;
+        _this.kind = "IdentityType";
+        return _this;
+    }
+    IdentityType.prototype.toString = function () {
+        return String(this.value);
+    };
+    IdentityType.prototype.check = function (value, deep) {
+        var result = value === this.value;
+        if (!result && typeof deep === "function") {
+            deep(this, value);
+        }
+        return result;
+    };
+    return IdentityType;
+}(BaseType));
+var ObjectType = /** @class */ (function (_super) {
+    tslib_1.__extends(ObjectType, _super);
+    function ObjectType(fields) {
+        var _this = _super.call(this) || this;
+        _this.fields = fields;
+        _this.kind = "ObjectType";
+        return _this;
+    }
+    ObjectType.prototype.toString = function () {
+        return "{ " + this.fields.join(", ") + " }";
+    };
+    ObjectType.prototype.check = function (value, deep) {
+        return (objToStr.call(value) === objToStr.call({}) &&
+            this.fields.every(function (field) {
+                return field.type.check(value[field.name], deep);
+            }));
+    };
+    return ObjectType;
+}(BaseType));
+var OrType = /** @class */ (function (_super) {
+    tslib_1.__extends(OrType, _super);
+    function OrType(types) {
+        var _this = _super.call(this) || this;
+        _this.types = types;
+        _this.kind = "OrType";
+        return _this;
+    }
+    OrType.prototype.toString = function () {
+        return this.types.join(" | ");
+    };
+    OrType.prototype.check = function (value, deep) {
+        return this.types.some(function (type) {
+            return type.check(value, deep);
+        });
+    };
+    return OrType;
+}(BaseType));
+var PredicateType = /** @class */ (function (_super) {
+    tslib_1.__extends(PredicateType, _super);
+    function PredicateType(name, predicate) {
+        var _this = _super.call(this) || this;
+        _this.name = name;
+        _this.predicate = predicate;
+        _this.kind = "PredicateType";
+        return _this;
+    }
+    PredicateType.prototype.toString = function () {
+        return this.name;
+    };
+    PredicateType.prototype.check = function (value, deep) {
+        var result = this.predicate(value, deep);
+        if (!result && typeof deep === "function") {
+            deep(this, value);
+        }
+        return result;
+    };
+    return PredicateType;
+}(BaseType));
+var Def = /** @class */ (function () {
+    function Def(type, typeName) {
+        this.type = type;
+        this.typeName = typeName;
+        this.baseNames = [];
+        this.ownFields = Object.create(null);
+        // Includes own typeName. Populated during finalization.
+        this.allSupertypes = Object.create(null);
+        // Linear inheritance hierarchy. Populated during finalization.
+        this.supertypeList = [];
+        // Includes inherited fields.
+        this.allFields = Object.create(null);
+        // Non-hidden keys of allFields.
+        this.fieldNames = [];
+        // This property will be overridden as true by individual Def instances
+        // when they are finalized.
+        this.finalized = false;
+        // False by default until .build(...) is called on an instance.
+        this.buildable = false;
+        this.buildParams = [];
+    }
+    Def.prototype.isSupertypeOf = function (that) {
+        if (that instanceof Def) {
+            if (this.finalized !== true ||
+                that.finalized !== true) {
+                throw new Error("");
+            }
+            return hasOwn.call(that.allSupertypes, this.typeName);
+        }
+        else {
+            throw new Error(that + " is not a Def");
+        }
+    };
+    Def.prototype.checkAllFields = function (value, deep) {
+        var allFields = this.allFields;
+        if (this.finalized !== true) {
+            throw new Error("" + this.typeName);
+        }
+        function checkFieldByName(name) {
+            var field = allFields[name];
+            var type = field.type;
+            var child = field.getValue(value);
+            return type.check(child, deep);
+        }
+        return value !== null &&
+            typeof value === "object" &&
+            Object.keys(allFields).every(checkFieldByName);
+    };
+    Def.prototype.bases = function () {
+        var supertypeNames = [];
+        for (var _i = 0; _i < arguments.length; _i++) {
+            supertypeNames[_i] = arguments[_i];
+        }
+        var bases = this.baseNames;
+        if (this.finalized) {
+            if (supertypeNames.length !== bases.length) {
+                throw new Error("");
+            }
+            for (var i = 0; i < supertypeNames.length; i++) {
+                if (supertypeNames[i] !== bases[i]) {
+                    throw new Error("");
+                }
+            }
+            return this;
+        }
+        supertypeNames.forEach(function (baseName) {
+            // This indexOf lookup may be O(n), but the typical number of base
+            // names is very small, and indexOf is a native Array method.
+            if (bases.indexOf(baseName) < 0) {
+                bases.push(baseName);
+            }
+        });
+        return this; // For chaining.
+    };
+    return Def;
+}());
+exports.Def = Def;
+var Field = /** @class */ (function () {
+    function Field(name, type, defaultFn, hidden) {
+        this.name = name;
+        this.type = type;
+        this.defaultFn = defaultFn;
+        this.hidden = !!hidden;
+    }
+    Field.prototype.toString = function () {
+        return JSON.stringify(this.name) + ": " + this.type;
+    };
+    Field.prototype.getValue = function (obj) {
+        var value = obj[this.name];
+        if (typeof value !== "undefined") {
+            return value;
+        }
+        if (typeof this.defaultFn === "function") {
+            value = this.defaultFn.call(obj);
+        }
+        return value;
+    };
+    return Field;
+}());
+function shallowStringify(value) {
+    if (Array.isArray(value)) {
+        return "[" + value.map(shallowStringify).join(", ") + "]";
+    }
+    if (value && typeof value === "object") {
+        return "{ " + Object.keys(value).map(function (key) {
+            return key + ": " + value[key];
+        }).join(", ") + " }";
+    }
+    return JSON.stringify(value);
+}
+function typesPlugin(_fork) {
+    var Type = {
+        or: function () {
+            var types = [];
+            for (var _i = 0; _i < arguments.length; _i++) {
+                types[_i] = arguments[_i];
+            }
+            return new OrType(types.map(function (type) { return Type.from(type); }));
+        },
+        from: function (value, name) {
+            if (value instanceof ArrayType ||
+                value instanceof IdentityType ||
+                value instanceof ObjectType ||
+                value instanceof OrType ||
+                value instanceof PredicateType) {
+                return value;
+            }
+            // The Def type is used as a helper for constructing compound
+            // interface types for AST nodes.
+            if (value instanceof Def) {
+                return value.type;
+            }
+            // Support [ElemType] syntax.
+            if (isArray.check(value)) {
+                if (value.length !== 1) {
+                    throw new Error("only one element type is permitted for typed arrays");
+                }
+                return new ArrayType(Type.from(value[0]));
+            }
+            // Support { someField: FieldType, ... } syntax.
+            if (isObject.check(value)) {
+                return new ObjectType(Object.keys(value).map(function (name) {
+                    return new Field(name, Type.from(value[name], name));
+                }));
+            }
+            if (typeof value === "function") {
+                var bicfIndex = builtInCtorFns.indexOf(value);
+                if (bicfIndex >= 0) {
+                    return builtInCtorTypes[bicfIndex];
+                }
+                if (typeof name !== "string") {
+                    throw new Error("missing name");
+                }
+                return new PredicateType(name, value);
+            }
+            // As a last resort, toType returns a type that matches any value that
+            // is === from. This is primarily useful for literal values like
+            // toType(null), but it has the additional advantage of allowing
+            // toType to be a total function.
+            return new IdentityType(value);
+        },
+        // Define a type whose name is registered in a namespace (the defCache) so
+        // that future definitions will return the same type given the same name.
+        // In particular, this system allows for circular and forward definitions.
+        // The Def object d returned from Type.def may be used to configure the
+        // type d.type by calling methods such as d.bases, d.build, and d.field.
+        def: function (typeName) {
+            return hasOwn.call(defCache, typeName)
+                ? defCache[typeName]
+                : defCache[typeName] = new DefImpl(typeName);
+        },
+        hasDef: function (typeName) {
+            return hasOwn.call(defCache, typeName);
+        }
+    };
+    var builtInCtorFns = [];
+    var builtInCtorTypes = [];
+    function defBuiltInType(name, example) {
+        var objStr = objToStr.call(example);
+        var type = new PredicateType(name, function (value) { return objToStr.call(value) === objStr; });
+        if (example && typeof example.constructor === "function") {
+            builtInCtorFns.push(example.constructor);
+            builtInCtorTypes.push(type);
+        }
+        return type;
+    }
+    // These types check the underlying [[Class]] attribute of the given
+    // value, rather than using the problematic typeof operator. Note however
+    // that no subtyping is considered; so, for instance, isObject.check
+    // returns false for [], /./, new Date, and null.
+    var isString = defBuiltInType("string", "truthy");
+    var isFunction = defBuiltInType("function", function () { });
+    var isArray = defBuiltInType("array", []);
+    var isObject = defBuiltInType("object", {});
+    var isRegExp = defBuiltInType("RegExp", /./);
+    var isDate = defBuiltInType("Date", new Date());
+    var isNumber = defBuiltInType("number", 3);
+    var isBoolean = defBuiltInType("boolean", true);
+    var isNull = defBuiltInType("null", null);
+    var isUndefined = defBuiltInType("undefined", undefined);
+    var builtInTypes = {
+        string: isString,
+        function: isFunction,
+        array: isArray,
+        object: isObject,
+        RegExp: isRegExp,
+        Date: isDate,
+        number: isNumber,
+        boolean: isBoolean,
+        null: isNull,
+        undefined: isUndefined,
+    };
+    // In order to return the same Def instance every time Type.def is called
+    // with a particular name, those instances need to be stored in a cache.
+    var defCache = Object.create(null);
+    function defFromValue(value) {
+        if (value && typeof value === "object") {
+            var type = value.type;
+            if (typeof type === "string" &&
+                hasOwn.call(defCache, type)) {
+                var d = defCache[type];
+                if (d.finalized) {
+                    return d;
+                }
+            }
+        }
+        return null;
+    }
+    var DefImpl = /** @class */ (function (_super) {
+        tslib_1.__extends(DefImpl, _super);
+        function DefImpl(typeName) {
+            var _this = _super.call(this, new PredicateType(typeName, function (value, deep) { return _this.check(value, deep); }), typeName) || this;
+            return _this;
+        }
+        DefImpl.prototype.check = function (value, deep) {
+            if (this.finalized !== true) {
+                throw new Error("prematurely checking unfinalized type " + this.typeName);
+            }
+            // A Def type can only match an object value.
+            if (value === null || typeof value !== "object") {
+                return false;
+            }
+            var vDef = defFromValue(value);
+            if (!vDef) {
+                // If we couldn't infer the Def associated with the given value,
+                // and we expected it to be a SourceLocation or a Position, it was
+                // probably just missing a "type" field (because Esprima does not
+                // assign a type property to such nodes). Be optimistic and let
+                // this.checkAllFields make the final decision.
+                if (this.typeName === "SourceLocation" ||
+                    this.typeName === "Position") {
+                    return this.checkAllFields(value, deep);
+                }
+                // Calling this.checkAllFields for any other type of node is both
+                // bad for performance and way too forgiving.
+                return false;
+            }
+            // If checking deeply and vDef === this, then we only need to call
+            // checkAllFields once. Calling checkAllFields is too strict when deep
+            // is false, because then we only care about this.isSupertypeOf(vDef).
+            if (deep && vDef === this) {
+                return this.checkAllFields(value, deep);
+            }
+            // In most cases we rely exclusively on isSupertypeOf to make O(1)
+            // subtyping determinations. This suffices in most situations outside
+            // of unit tests, since interface conformance is checked whenever new
+            // instances are created using builder functions.
+            if (!this.isSupertypeOf(vDef)) {
+                return false;
+            }
+            // The exception is when deep is true; then, we recursively check all
+            // fields.
+            if (!deep) {
+                return true;
+            }
+            // Use the more specific Def (vDef) to perform the deep check, but
+            // shallow-check fields defined by the less specific Def (this).
+            return vDef.checkAllFields(value, deep)
+                && this.checkAllFields(value, false);
+        };
+        DefImpl.prototype.build = function () {
+            var _this = this;
+            var buildParams = [];
+            for (var _i = 0; _i < arguments.length; _i++) {
+                buildParams[_i] = arguments[_i];
+            }
+            // Calling Def.prototype.build multiple times has the effect of merely
+            // redefining this property.
+            this.buildParams = buildParams;
+            if (this.buildable) {
+                // If this Def is already buildable, update self.buildParams and
+                // continue using the old builder function.
+                return this;
+            }
+            // Every buildable type will have its "type" field filled in
+            // automatically. This includes types that are not subtypes of Node,
+            // like SourceLocation, but that seems harmless (TODO?).
+            this.field("type", String, function () { return _this.typeName; });
+            // Override Dp.buildable for this Def instance.
+            this.buildable = true;
+            var addParam = function (built, param, arg, isArgAvailable) {
+                if (hasOwn.call(built, param))
+                    return;
+                var all = _this.allFields;
+                if (!hasOwn.call(all, param)) {
+                    throw new Error("" + param);
+                }
+                var field = all[param];
+                var type = field.type;
+                var value;
+                if (isArgAvailable) {
+                    value = arg;
+                }
+                else if (field.defaultFn) {
+                    // Expose the partially-built object to the default
+                    // function as its `this` object.
+                    value = field.defaultFn.call(built);
+                }
+                else {
+                    var message = "no value or default function given for field " +
+                        JSON.stringify(param) + " of " + _this.typeName + "(" +
+                        _this.buildParams.map(function (name) {
+                            return all[name];
+                        }).join(", ") + ")";
+                    throw new Error(message);
+                }
+                if (!type.check(value)) {
+                    throw new Error(shallowStringify(value) +
+                        " does not match field " + field +
+                        " of type " + _this.typeName);
+                }
+                built[param] = value;
+            };
+            // Calling the builder function will construct an instance of the Def,
+            // with positional arguments mapped to the fields original passed to .build.
+            // If not enough arguments are provided, the default value for the remaining fields
+            // will be used.
+            var builder = function () {
+                var args = [];
+                for (var _i = 0; _i < arguments.length; _i++) {
+                    args[_i] = arguments[_i];
+                }
+                var argc = args.length;
+                if (!_this.finalized) {
+                    throw new Error("attempting to instantiate unfinalized type " +
+                        _this.typeName);
+                }
+                var built = Object.create(nodePrototype);
+                _this.buildParams.forEach(function (param, i) {
+                    if (i < argc) {
+                        addParam(built, param, args[i], true);
+                    }
+                    else {
+                        addParam(built, param, null, false);
+                    }
+                });
+                Object.keys(_this.allFields).forEach(function (param) {
+                    // Use the default value.
+                    addParam(built, param, null, false);
+                });
+                // Make sure that the "type" field was filled automatically.
+                if (built.type !== _this.typeName) {
+                    throw new Error("");
+                }
+                return built;
+            };
+            // Calling .from on the builder function will construct an instance of the Def,
+            // using field values from the passed object. For fields missing from the passed object,
+            // their default value will be used.
+            builder.from = function (obj) {
+                if (!_this.finalized) {
+                    throw new Error("attempting to instantiate unfinalized type " +
+                        _this.typeName);
+                }
+                var built = Object.create(nodePrototype);
+                Object.keys(_this.allFields).forEach(function (param) {
+                    if (hasOwn.call(obj, param)) {
+                        addParam(built, param, obj[param], true);
+                    }
+                    else {
+                        addParam(built, param, null, false);
+                    }
+                });
+                // Make sure that the "type" field was filled automatically.
+                if (built.type !== _this.typeName) {
+                    throw new Error("");
+                }
+                return built;
+            };
+            Object.defineProperty(builders, getBuilderName(this.typeName), {
+                enumerable: true,
+                value: builder
+            });
+            return this;
+        };
+        // The reason fields are specified using .field(...) instead of an object
+        // literal syntax is somewhat subtle: the object literal syntax would
+        // support only one key and one value, but with .field(...) we can pass
+        // any number of arguments to specify the field.
+        DefImpl.prototype.field = function (name, type, defaultFn, hidden) {
+            if (this.finalized) {
+                console.error("Ignoring attempt to redefine field " +
+                    JSON.stringify(name) + " of finalized type " +
+                    JSON.stringify(this.typeName));
+                return this;
+            }
+            this.ownFields[name] = new Field(name, Type.from(type), defaultFn, hidden);
+            return this; // For chaining.
+        };
+        DefImpl.prototype.finalize = function () {
+            var _this = this;
+            // It's not an error to finalize a type more than once, but only the
+            // first call to .finalize does anything.
+            if (!this.finalized) {
+                var allFields = this.allFields;
+                var allSupertypes = this.allSupertypes;
+                this.baseNames.forEach(function (name) {
+                    var def = defCache[name];
+                    if (def instanceof Def) {
+                        def.finalize();
+                        extend(allFields, def.allFields);
+                        extend(allSupertypes, def.allSupertypes);
+                    }
+                    else {
+                        var message = "unknown supertype name " +
+                            JSON.stringify(name) +
+                            " for subtype " +
+                            JSON.stringify(_this.typeName);
+                        throw new Error(message);
+                    }
+                });
+                // TODO Warn if fields are overridden with incompatible types.
+                extend(allFields, this.ownFields);
+                allSupertypes[this.typeName] = this;
+                this.fieldNames.length = 0;
+                for (var fieldName in allFields) {
+                    if (hasOwn.call(allFields, fieldName) &&
+                        !allFields[fieldName].hidden) {
+                        this.fieldNames.push(fieldName);
+                    }
+                }
+                // Types are exported only once they have been finalized.
+                Object.defineProperty(namedTypes, this.typeName, {
+                    enumerable: true,
+                    value: this.type
+                });
+                this.finalized = true;
+                // A linearization of the inheritance hierarchy.
+                populateSupertypeList(this.typeName, this.supertypeList);
+                if (this.buildable &&
+                    this.supertypeList.lastIndexOf("Expression") >= 0) {
+                    wrapExpressionBuilderWithStatement(this.typeName);
+                }
+            }
+        };
+        return DefImpl;
+    }(Def));
+    // Note that the list returned by this function is a copy of the internal
+    // supertypeList, *without* the typeName itself as the first element.
+    function getSupertypeNames(typeName) {
+        if (!hasOwn.call(defCache, typeName)) {
+            throw new Error("");
+        }
+        var d = defCache[typeName];
+        if (d.finalized !== true) {
+            throw new Error("");
+        }
+        return d.supertypeList.slice(1);
+    }
+    // Returns an object mapping from every known type in the defCache to the
+    // most specific supertype whose name is an own property of the candidates
+    // object.
+    function computeSupertypeLookupTable(candidates) {
+        var table = {};
+        var typeNames = Object.keys(defCache);
+        var typeNameCount = typeNames.length;
+        for (var i = 0; i < typeNameCount; ++i) {
+            var typeName = typeNames[i];
+            var d = defCache[typeName];
+            if (d.finalized !== true) {
+                throw new Error("" + typeName);
+            }
+            for (var j = 0; j < d.supertypeList.length; ++j) {
+                var superTypeName = d.supertypeList[j];
+                if (hasOwn.call(candidates, superTypeName)) {
+                    table[typeName] = superTypeName;
+                    break;
+                }
+            }
+        }
+        return table;
+    }
+    var builders = Object.create(null);
+    // This object is used as prototype for any node created by a builder.
+    var nodePrototype = {};
+    // Call this function to define a new method to be shared by all AST
+    // nodes. The replaced method (if any) is returned for easy wrapping.
+    function defineMethod(name, func) {
+        var old = nodePrototype[name];
+        // Pass undefined as func to delete nodePrototype[name].
+        if (isUndefined.check(func)) {
+            delete nodePrototype[name];
+        }
+        else {
+            isFunction.assert(func);
+            Object.defineProperty(nodePrototype, name, {
+                enumerable: true,
+                configurable: true,
+                value: func
+            });
+        }
+        return old;
+    }
+    function getBuilderName(typeName) {
+        return typeName.replace(/^[A-Z]+/, function (upperCasePrefix) {
+            var len = upperCasePrefix.length;
+            switch (len) {
+                case 0: return "";
+                // If there's only one initial capital letter, just lower-case it.
+                case 1: return upperCasePrefix.toLowerCase();
+                default:
+                    // If there's more than one initial capital letter, lower-case
+                    // all but the last one, so that XMLDefaultDeclaration (for
+                    // example) becomes xmlDefaultDeclaration.
+                    return upperCasePrefix.slice(0, len - 1).toLowerCase() +
+                        upperCasePrefix.charAt(len - 1);
+            }
+        });
+    }
+    function getStatementBuilderName(typeName) {
+        typeName = getBuilderName(typeName);
+        return typeName.replace(/(Expression)?$/, "Statement");
+    }
+    var namedTypes = {};
+    // Like Object.keys, but aware of what fields each AST type should have.
+    function getFieldNames(object) {
+        var d = defFromValue(object);
+        if (d) {
+            return d.fieldNames.slice(0);
+        }
+        if ("type" in object) {
+            throw new Error("did not recognize object of type " +
+                JSON.stringify(object.type));
+        }
+        return Object.keys(object);
+    }
+    // Get the value of an object property, taking object.type and default
+    // functions into account.
+    function getFieldValue(object, fieldName) {
+        var d = defFromValue(object);
+        if (d) {
+            var field = d.allFields[fieldName];
+            if (field) {
+                return field.getValue(object);
+            }
+        }
+        return object && object[fieldName];
+    }
+    // Iterate over all defined fields of an object, including those missing
+    // or undefined, passing each field name and effective value (as returned
+    // by getFieldValue) to the callback. If the object has no corresponding
+    // Def, the callback will never be called.
+    function eachField(object, callback, context) {
+        getFieldNames(object).forEach(function (name) {
+            callback.call(this, name, getFieldValue(object, name));
+        }, context);
+    }
+    // Similar to eachField, except that iteration stops as soon as the
+    // callback returns a truthy value. Like Array.prototype.some, the final
+    // result is either true or false to indicates whether the callback
+    // returned true for any element or not.
+    function someField(object, callback, context) {
+        return getFieldNames(object).some(function (name) {
+            return callback.call(this, name, getFieldValue(object, name));
+        }, context);
+    }
+    // Adds an additional builder for Expression subtypes
+    // that wraps the built Expression in an ExpressionStatements.
+    function wrapExpressionBuilderWithStatement(typeName) {
+        var wrapperName = getStatementBuilderName(typeName);
+        // skip if the builder already exists
+        if (builders[wrapperName])
+            return;
+        // the builder function to wrap with builders.ExpressionStatement
+        var wrapped = builders[getBuilderName(typeName)];
+        // skip if there is nothing to wrap
+        if (!wrapped)
+            return;
+        var builder = function () {
+            var args = [];
+            for (var _i = 0; _i < arguments.length; _i++) {
+                args[_i] = arguments[_i];
+            }
+            return builders.expressionStatement(wrapped.apply(builders, args));
+        };
+        builder.from = function () {
+            var args = [];
+            for (var _i = 0; _i < arguments.length; _i++) {
+                args[_i] = arguments[_i];
+            }
+            return builders.expressionStatement(wrapped.from.apply(builders, args));
+        };
+        builders[wrapperName] = builder;
+    }
+    function populateSupertypeList(typeName, list) {
+        list.length = 0;
+        list.push(typeName);
+        var lastSeen = Object.create(null);
+        for (var pos = 0; pos < list.length; ++pos) {
+            typeName = list[pos];
+            var d = defCache[typeName];
+            if (d.finalized !== true) {
+                throw new Error("");
+            }
+            // If we saw typeName earlier in the breadth-first traversal,
+            // delete the last-seen occurrence.
+            if (hasOwn.call(lastSeen, typeName)) {
+                delete list[lastSeen[typeName]];
+            }
+            // Record the new index of the last-seen occurrence of typeName.
+            lastSeen[typeName] = pos;
+            // Enqueue the base names of this type.
+            list.push.apply(list, d.baseNames);
+        }
+        // Compaction loop to remove array holes.
+        for (var to = 0, from = to, len = list.length; from < len; ++from) {
+            if (hasOwn.call(list, from)) {
+                list[to++] = list[from];
+            }
+        }
+        list.length = to;
+    }
+    function extend(into, from) {
+        Object.keys(from).forEach(function (name) {
+            into[name] = from[name];
+        });
+        return into;
+    }
+    function finalize() {
+        Object.keys(defCache).forEach(function (name) {
+            defCache[name].finalize();
+        });
+    }
+    return {
+        Type: Type,
+        builtInTypes: builtInTypes,
+        getSupertypeNames: getSupertypeNames,
+        computeSupertypeLookupTable: computeSupertypeLookupTable,
+        builders: builders,
+        defineMethod: defineMethod,
+        getBuilderName: getBuilderName,
+        getStatementBuilderName: getStatementBuilderName,
+        namedTypes: namedTypes,
+        getFieldNames: getFieldNames,
+        getFieldValue: getFieldValue,
+        eachField: eachField,
+        someField: someField,
+        finalize: finalize,
+    };
+}
+exports.default = typesPlugin;
+;
diff --git a/node_modules/degenerator/node_modules/ast-types/main.d.ts b/node_modules/degenerator/node_modules/ast-types/main.d.ts
new file mode 100644
index 0000000..6b9a8d0
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/main.d.ts
@@ -0,0 +1,28 @@
+import { ASTNode, Type, AnyType, Field } from "./lib/types";
+import { NodePath } from "./lib/node-path";
+import { namedTypes } from "./gen/namedTypes";
+import { builders } from "./gen/builders";
+import { Visitor } from "./gen/visitor";
+declare const astNodesAreEquivalent: {
+    (a: any, b: any, problemPath?: any): boolean;
+    assert(a: any, b: any): void;
+}, builders: builders, builtInTypes: {
+    string: Type<string>;
+    function: Type<Function>;
+    array: Type<any[]>;
+    object: Type<{
+        [key: string]: any;
+    }>;
+    RegExp: Type<RegExp>;
+    Date: Type<Date>;
+    number: Type<number>;
+    boolean: Type<boolean>;
+    null: Type<null>;
+    undefined: Type<undefined>;
+}, defineMethod: (name: any, func?: Function | undefined) => Function, eachField: (object: any, callback: (name: any, value: any) => any, context?: any) => void, finalize: () => void, getBuilderName: (typeName: any) => any, getFieldNames: (object: any) => string[], getFieldValue: (object: any, fieldName: any) => any, getSupertypeNames: (typeName: string) => string[], NodePath: import("./lib/node-path").NodePathConstructor, Path: import("./lib/path").PathConstructor, PathVisitor: import("./lib/path-visitor").PathVisitorConstructor, someField: (object: any, callback: (name: any, value: any) => any, context?: any) => boolean, Type: {
+    or(...types: any[]): Type<any>;
+    from<T>(value: any, name?: string | undefined): Type<T>;
+    def(typeName: string): import("./lib/types").Def<any>;
+    hasDef(typeName: string): boolean;
+}, use: <T>(plugin: import("./types").Plugin<T>) => T, visit: <M = {}>(node: ASTNode, methods?: Visitor<M> | undefined) => any;
+export { AnyType, ASTNode, astNodesAreEquivalent, builders, builtInTypes, defineMethod, eachField, Field, finalize, getBuilderName, getFieldNames, getFieldValue, getSupertypeNames, namedTypes, NodePath, Path, PathVisitor, someField, Type, use, visit, Visitor, };
diff --git a/node_modules/degenerator/node_modules/ast-types/main.js b/node_modules/degenerator/node_modules/ast-types/main.js
new file mode 100644
index 0000000..a4dfac5
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/main.js
@@ -0,0 +1,53 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.visit = exports.use = exports.Type = exports.someField = exports.PathVisitor = exports.Path = exports.NodePath = exports.namedTypes = exports.getSupertypeNames = exports.getFieldValue = exports.getFieldNames = exports.getBuilderName = exports.finalize = exports.eachField = exports.defineMethod = exports.builtInTypes = exports.builders = exports.astNodesAreEquivalent = void 0;
+var tslib_1 = require("tslib");
+var fork_1 = tslib_1.__importDefault(require("./fork"));
+var core_1 = tslib_1.__importDefault(require("./def/core"));
+var es6_1 = tslib_1.__importDefault(require("./def/es6"));
+var es7_1 = tslib_1.__importDefault(require("./def/es7"));
+var es2020_1 = tslib_1.__importDefault(require("./def/es2020"));
+var jsx_1 = tslib_1.__importDefault(require("./def/jsx"));
+var flow_1 = tslib_1.__importDefault(require("./def/flow"));
+var esprima_1 = tslib_1.__importDefault(require("./def/esprima"));
+var babel_1 = tslib_1.__importDefault(require("./def/babel"));
+var typescript_1 = tslib_1.__importDefault(require("./def/typescript"));
+var es_proposals_1 = tslib_1.__importDefault(require("./def/es-proposals"));
+var namedTypes_1 = require("./gen/namedTypes");
+Object.defineProperty(exports, "namedTypes", { enumerable: true, get: function () { return namedTypes_1.namedTypes; } });
+var _a = fork_1.default([
+    // This core module of AST types captures ES5 as it is parsed today by
+    // git://github.com/ariya/esprima.git#master.
+    core_1.default,
+    // Feel free to add to or remove from this list of extension modules to
+    // configure the precise type hierarchy that you need.
+    es6_1.default,
+    es7_1.default,
+    es2020_1.default,
+    jsx_1.default,
+    flow_1.default,
+    esprima_1.default,
+    babel_1.default,
+    typescript_1.default,
+    es_proposals_1.default,
+]), astNodesAreEquivalent = _a.astNodesAreEquivalent, builders = _a.builders, builtInTypes = _a.builtInTypes, defineMethod = _a.defineMethod, eachField = _a.eachField, finalize = _a.finalize, getBuilderName = _a.getBuilderName, getFieldNames = _a.getFieldNames, getFieldValue = _a.getFieldValue, getSupertypeNames = _a.getSupertypeNames, n = _a.namedTypes, NodePath = _a.NodePath, Path = _a.Path, PathVisitor = _a.PathVisitor, someField = _a.someField, Type = _a.Type, use = _a.use, visit = _a.visit;
+exports.astNodesAreEquivalent = astNodesAreEquivalent;
+exports.builders = builders;
+exports.builtInTypes = builtInTypes;
+exports.defineMethod = defineMethod;
+exports.eachField = eachField;
+exports.finalize = finalize;
+exports.getBuilderName = getBuilderName;
+exports.getFieldNames = getFieldNames;
+exports.getFieldValue = getFieldValue;
+exports.getSupertypeNames = getSupertypeNames;
+exports.NodePath = NodePath;
+exports.Path = Path;
+exports.PathVisitor = PathVisitor;
+exports.someField = someField;
+exports.Type = Type;
+exports.use = use;
+exports.visit = visit;
+// Populate the exported fields of the namedTypes namespace, while still
+// retaining its member types.
+Object.assign(namedTypes_1.namedTypes, n);
diff --git a/node_modules/degenerator/node_modules/ast-types/package.json b/node_modules/degenerator/node_modules/ast-types/package.json
new file mode 100644
index 0000000..2256c28
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/package.json
@@ -0,0 +1,65 @@
+{
+  "author": "Ben Newman <[email protected]>",
+  "name": "ast-types",
+  "version": "0.13.4",
+  "description": "Esprima-compatible implementation of the Mozilla JS Parser API",
+  "keywords": [
+    "ast",
+    "abstract syntax tree",
+    "hierarchy",
+    "mozilla",
+    "spidermonkey",
+    "parser api",
+    "esprima",
+    "types",
+    "type system",
+    "type checking",
+    "dynamic types",
+    "parsing",
+    "transformation",
+    "syntax"
+  ],
+  "homepage": "http://github.com/benjamn/ast-types",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/benjamn/ast-types.git"
+  },
+  "license": "MIT",
+  "main": "main.js",
+  "types": "main.d.ts",
+  "scripts": {
+    "gen": "ts-node --transpile-only script/gen-types.ts",
+    "mocha": "test/run.sh",
+    "test": "npm run gen && npm run build && npm run mocha",
+    "clean": "ts-emit-clean",
+    "build": "tsc && ts-add-module-exports",
+    "prepack": "npm run clean && npm run gen && npm run build",
+    "postpack": "npm run clean"
+  },
+  "dependencies": {
+    "tslib": "^2.0.1"
+  },
+  "devDependencies": {
+    "@babel/parser": "7.7.7",
+    "@babel/types": "7.4.4",
+    "@types/esprima": "4.0.2",
+    "@types/glob": "7.1.1",
+    "@types/mocha": "5.2.6",
+    "@types/node": "12.0.0",
+    "espree": "7.3.0",
+    "esprima": "4.0.1",
+    "esprima-fb": "15001.1001.0-dev-harmony-fb",
+    "flow-parser": "0.132.0",
+    "glob": "7.1.6",
+    "mocha": "6.1.4",
+    "recast": "0.20.0",
+    "reify": "0.20.12",
+    "ts-add-module-exports": "1.0.0",
+    "ts-emit-clean": "1.0.0",
+    "ts-node": "7.0.1",
+    "typescript": "3.9.7"
+  },
+  "engines": {
+    "node": ">=4"
+  }
+}
diff --git a/node_modules/degenerator/node_modules/ast-types/tsconfig.json b/node_modules/degenerator/node_modules/ast-types/tsconfig.json
new file mode 100644
index 0000000..99a282e
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/tsconfig.json
@@ -0,0 +1,21 @@
+{
+  "compilerOptions": {
+    "target": "es5",
+    "module": "commonjs",
+    "declaration": true,
+    "rootDir": ".",
+    "strict": true,
+    "noUnusedLocals": true,
+    "noUnusedParameters": true,
+    "noImplicitReturns": true,
+    "moduleResolution": "node",
+    "esModuleInterop": true,
+    "importHelpers": true,
+    "stripInternal": true,
+    "lib": ["es2015"]
+  },
+  "exclude": [
+    "node_modules",
+    "test/data"
+  ]
+}
diff --git a/node_modules/degenerator/node_modules/ast-types/types.d.ts b/node_modules/degenerator/node_modules/ast-types/types.d.ts
new file mode 100644
index 0000000..0465896
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/types.d.ts
@@ -0,0 +1,6 @@
+export declare type Fork = {
+    use<T>(plugin: Plugin<T>): T;
+};
+export declare type Plugin<T> = (fork: Fork) => T;
+export declare type Def = Plugin<void>;
+export declare type Omit<T, K> = Pick<T, Exclude<keyof T, K>>;
diff --git a/node_modules/degenerator/node_modules/ast-types/types.js b/node_modules/degenerator/node_modules/ast-types/types.js
new file mode 100644
index 0000000..c8ad2e5
--- /dev/null
+++ b/node_modules/degenerator/node_modules/ast-types/types.js
@@ -0,0 +1,2 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/node_modules/degenerator/node_modules/escodegen/LICENSE.BSD b/node_modules/degenerator/node_modules/escodegen/LICENSE.BSD
new file mode 100644
index 0000000..426019d
--- /dev/null
+++ b/node_modules/degenerator/node_modules/escodegen/LICENSE.BSD
@@ -0,0 +1,21 @@
+Copyright (C) 2012 Yusuke Suzuki (twitter: @Constellation) and other contributors.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+  * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/node_modules/degenerator/node_modules/escodegen/README.md b/node_modules/degenerator/node_modules/escodegen/README.md
new file mode 100644
index 0000000..c4917b8
--- /dev/null
+++ b/node_modules/degenerator/node_modules/escodegen/README.md
@@ -0,0 +1,84 @@
+## Escodegen
+[![npm version](https://badge.fury.io/js/escodegen.svg)](http://badge.fury.io/js/escodegen)
+[![Build Status](https://secure.travis-ci.org/estools/escodegen.svg)](http://travis-ci.org/estools/escodegen)
+[![Dependency Status](https://david-dm.org/estools/escodegen.svg)](https://david-dm.org/estools/escodegen)
+[![devDependency Status](https://david-dm.org/estools/escodegen/dev-status.svg)](https://david-dm.org/estools/escodegen#info=devDependencies)
+
+Escodegen ([escodegen](http://github.com/estools/escodegen)) is an
+[ECMAScript](http://www.ecma-international.org/publications/standards/Ecma-262.htm)
+(also popularly known as [JavaScript](http://en.wikipedia.org/wiki/JavaScript))
+code generator from [Mozilla's Parser API](https://developer.mozilla.org/en/SpiderMonkey/Parser_API)
+AST. See the [online generator](https://estools.github.io/escodegen/demo/index.html)
+for a demo.
+
+
+### Install
+
+Escodegen can be used in a web browser:
+
+    <script src="escodegen.browser.js"></script>
+
+escodegen.browser.js can be found in tagged revisions on GitHub.
+
+Or in a Node.js application via npm:
+
+    npm install escodegen
+
+### Usage
+
+A simple example: the program
+
+    escodegen.generate({
+        type: 'BinaryExpression',
+        operator: '+',
+        left: { type: 'Literal', value: 40 },
+        right: { type: 'Literal', value: 2 }
+    });
+
+produces the string `'40 + 2'`.
+
+See the [API page](https://github.com/estools/escodegen/wiki/API) for
+options. To run the tests, execute `npm test` in the root directory.
+
+### Building browser bundle / minified browser bundle
+
+At first, execute `npm install` to install the all dev dependencies.
+After that,
+
+    npm run-script build
+
+will generate `escodegen.browser.js`, which can be used in browser environments.
+
+And,
+
+    npm run-script build-min
+
+will generate the minified file `escodegen.browser.min.js`.
+
+### License
+
+#### Escodegen
+
+Copyright (C) 2012 [Yusuke Suzuki](http://github.com/Constellation)
+ (twitter: [@Constellation](http://twitter.com/Constellation)) and other contributors.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+  * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/node_modules/degenerator/node_modules/escodegen/bin/escodegen.js b/node_modules/degenerator/node_modules/escodegen/bin/escodegen.js
new file mode 100755
index 0000000..a7c38aa
--- /dev/null
+++ b/node_modules/degenerator/node_modules/escodegen/bin/escodegen.js
@@ -0,0 +1,77 @@
+#!/usr/bin/env node
+/*
+  Copyright (C) 2012 Yusuke Suzuki <[email protected]>
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*jslint sloppy:true node:true */
+
+var fs = require('fs'),
+    path = require('path'),
+    root = path.join(path.dirname(fs.realpathSync(__filename)), '..'),
+    esprima = require('esprima'),
+    escodegen = require(root),
+    optionator = require('optionator')({
+        prepend: 'Usage: escodegen [options] file...',
+        options: [
+            {
+                option: 'config',
+                alias: 'c',
+                type: 'String',
+                description: 'configuration json for escodegen'
+            }
+        ]
+    }),
+    args = optionator.parse(process.argv),
+    files = args._,
+    options,
+    esprimaOptions = {
+        raw: true,
+        tokens: true,
+        range: true,
+        comment: true
+    };
+
+if (files.length === 0) {
+    console.log(optionator.generateHelp());
+    process.exit(1);
+}
+
+if (args.config) {
+    try {
+        options = JSON.parse(fs.readFileSync(args.config, 'utf-8'));
+    } catch (err) {
+        console.error('Error parsing config: ', err);
+    }
+}
+
+files.forEach(function (filename) {
+    var content = fs.readFileSync(filename, 'utf-8'),
+        syntax = esprima.parse(content, esprimaOptions);
+
+    if (options.comment) {
+        escodegen.attachComments(syntax, syntax.comments, syntax.tokens);
+    }
+
+    console.log(escodegen.generate(syntax, options));
+});
+/* vim: set sw=4 ts=4 et tw=80 : */
diff --git a/node_modules/degenerator/node_modules/escodegen/bin/esgenerate.js b/node_modules/degenerator/node_modules/escodegen/bin/esgenerate.js
new file mode 100755
index 0000000..449abcc
--- /dev/null
+++ b/node_modules/degenerator/node_modules/escodegen/bin/esgenerate.js
@@ -0,0 +1,64 @@
+#!/usr/bin/env node
+/*
+  Copyright (C) 2012 Yusuke Suzuki <[email protected]>
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*jslint sloppy:true node:true */
+
+var fs = require('fs'),
+    path = require('path'),
+    root = path.join(path.dirname(fs.realpathSync(__filename)), '..'),
+    escodegen = require(root),
+    optionator = require('optionator')({
+        prepend: 'Usage: esgenerate [options] file.json ...',
+        options: [
+            {
+                option: 'config',
+                alias: 'c',
+                type: 'String',
+                description: 'configuration json for escodegen'
+            }
+        ]
+    }),
+    args = optionator.parse(process.argv),
+    files = args._,
+    options;
+
+if (files.length === 0) {
+    console.log(optionator.generateHelp());
+    process.exit(1);
+}
+
+if (args.config) {
+    try {
+        options = JSON.parse(fs.readFileSync(args.config, 'utf-8'))
+    } catch (err) {
+        console.error('Error parsing config: ', err);
+    }
+}
+
+files.forEach(function (filename) {
+    var content = fs.readFileSync(filename, 'utf-8');
+    console.log(escodegen.generate(JSON.parse(content), options));
+});
+/* vim: set sw=4 ts=4 et tw=80 : */
diff --git a/node_modules/degenerator/node_modules/escodegen/escodegen.js b/node_modules/degenerator/node_modules/escodegen/escodegen.js
new file mode 100644
index 0000000..82417cd
--- /dev/null
+++ b/node_modules/degenerator/node_modules/escodegen/escodegen.js
@@ -0,0 +1,2667 @@
+/*
+  Copyright (C) 2012-2014 Yusuke Suzuki <[email protected]>
+  Copyright (C) 2015 Ingvar Stepanyan <[email protected]>
+  Copyright (C) 2014 Ivan Nikulin <[email protected]>
+  Copyright (C) 2012-2013 Michael Ficarra <[email protected]>
+  Copyright (C) 2012-2013 Mathias Bynens <[email protected]>
+  Copyright (C) 2013 Irakli Gozalishvili <[email protected]>
+  Copyright (C) 2012 Robert Gust-Bardon <[email protected]>
+  Copyright (C) 2012 John Freeman <[email protected]>
+  Copyright (C) 2011-2012 Ariya Hidayat <[email protected]>
+  Copyright (C) 2012 Joost-Wim Boekesteijn <[email protected]>
+  Copyright (C) 2012 Kris Kowal <[email protected]>
+  Copyright (C) 2012 Arpad Borsos <[email protected]>
+  Copyright (C) 2020 Apple Inc. All rights reserved.
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+/*global exports:true, require:true, global:true*/
+(function () {
+    'use strict';
+
+    var Syntax,
+        Precedence,
+        BinaryPrecedence,
+        SourceNode,
+        estraverse,
+        esutils,
+        base,
+        indent,
+        json,
+        renumber,
+        hexadecimal,
+        quotes,
+        escapeless,
+        newline,
+        space,
+        parentheses,
+        semicolons,
+        safeConcatenation,
+        directive,
+        extra,
+        parse,
+        sourceMap,
+        sourceCode,
+        preserveBlankLines,
+        FORMAT_MINIFY,
+        FORMAT_DEFAULTS;
+
+    estraverse = require('estraverse');
+    esutils = require('esutils');
+
+    Syntax = estraverse.Syntax;
+
+    // Generation is done by generateExpression.
+    function isExpression(node) {
+        return CodeGenerator.Expression.hasOwnProperty(node.type);
+    }
+
+    // Generation is done by generateStatement.
+    function isStatement(node) {
+        return CodeGenerator.Statement.hasOwnProperty(node.type);
+    }
+
+    Precedence = {
+        Sequence: 0,
+        Yield: 1,
+        Assignment: 1,
+        Conditional: 2,
+        ArrowFunction: 2,
+        Coalesce: 3,
+        LogicalOR: 4,
+        LogicalAND: 5,
+        BitwiseOR: 6,
+        BitwiseXOR: 7,
+        BitwiseAND: 8,
+        Equality: 9,
+        Relational: 10,
+        BitwiseSHIFT: 11,
+        Additive: 12,
+        Multiplicative: 13,
+        Exponentiation: 14,
+        Await: 15,
+        Unary: 15,
+        Postfix: 16,
+        OptionalChaining: 17,
+        Call: 18,
+        New: 19,
+        TaggedTemplate: 20,
+        Member: 21,
+        Primary: 22
+    };
+
+    BinaryPrecedence = {
+        '??': Precedence.Coalesce,
+        '||': Precedence.LogicalOR,
+        '&&': Precedence.LogicalAND,
+        '|': Precedence.BitwiseOR,
+        '^': Precedence.BitwiseXOR,
+        '&': Precedence.BitwiseAND,
+        '==': Precedence.Equality,
+        '!=': Precedence.Equality,
+        '===': Precedence.Equality,
+        '!==': Precedence.Equality,
+        'is': Precedence.Equality,
+        'isnt': Precedence.Equality,
+        '<': Precedence.Relational,
+        '>': Precedence.Relational,
+        '<=': Precedence.Relational,
+        '>=': Precedence.Relational,
+        'in': Precedence.Relational,
+        'instanceof': Precedence.Relational,
+        '<<': Precedence.BitwiseSHIFT,
+        '>>': Precedence.BitwiseSHIFT,
+        '>>>': Precedence.BitwiseSHIFT,
+        '+': Precedence.Additive,
+        '-': Precedence.Additive,
+        '*': Precedence.Multiplicative,
+        '%': Precedence.Multiplicative,
+        '/': Precedence.Multiplicative,
+        '**': Precedence.Exponentiation
+    };
+
+    //Flags
+    var F_ALLOW_IN = 1,
+        F_ALLOW_CALL = 1 << 1,
+        F_ALLOW_UNPARATH_NEW = 1 << 2,
+        F_FUNC_BODY = 1 << 3,
+        F_DIRECTIVE_CTX = 1 << 4,
+        F_SEMICOLON_OPT = 1 << 5,
+        F_FOUND_COALESCE = 1 << 6;
+
+    //Expression flag sets
+    //NOTE: Flag order:
+    // F_ALLOW_IN
+    // F_ALLOW_CALL
+    // F_ALLOW_UNPARATH_NEW
+    var E_FTT = F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW,
+        E_TTF = F_ALLOW_IN | F_ALLOW_CALL,
+        E_TTT = F_ALLOW_IN | F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW,
+        E_TFF = F_ALLOW_IN,
+        E_FFT = F_ALLOW_UNPARATH_NEW,
+        E_TFT = F_ALLOW_IN | F_ALLOW_UNPARATH_NEW;
+
+    //Statement flag sets
+    //NOTE: Flag order:
+    // F_ALLOW_IN
+    // F_FUNC_BODY
+    // F_DIRECTIVE_CTX
+    // F_SEMICOLON_OPT
+    var S_TFFF = F_ALLOW_IN,
+        S_TFFT = F_ALLOW_IN | F_SEMICOLON_OPT,
+        S_FFFF = 0x00,
+        S_TFTF = F_ALLOW_IN | F_DIRECTIVE_CTX,
+        S_TTFF = F_ALLOW_IN | F_FUNC_BODY;
+
+    function getDefaultOptions() {
+        // default options
+        return {
+            indent: null,
+            base: null,
+            parse: null,
+            comment: false,
+            format: {
+                indent: {
+                    style: '    ',
+                    base: 0,
+                    adjustMultilineComment: false
+                },
+                newline: '\n',
+                space: ' ',
+                json: false,
+                renumber: false,
+                hexadecimal: false,
+                quotes: 'single',
+                escapeless: false,
+                compact: false,
+                parentheses: true,
+                semicolons: true,
+                safeConcatenation: false,
+                preserveBlankLines: false
+            },
+            moz: {
+                comprehensionExpressionStartsWithAssignment: false,
+                starlessGenerator: false
+            },
+            sourceMap: null,
+            sourceMapRoot: null,
+            sourceMapWithCode: false,
+            directive: false,
+            raw: true,
+            verbatim: null,
+            sourceCode: null
+        };
+    }
+
+    function stringRepeat(str, num) {
+        var result = '';
+
+        for (num |= 0; num > 0; num >>>= 1, str += str) {
+            if (num & 1) {
+                result += str;
+            }
+        }
+
+        return result;
+    }
+
+    function hasLineTerminator(str) {
+        return (/[\r\n]/g).test(str);
+    }
+
+    function endsWithLineTerminator(str) {
+        var len = str.length;
+        return len && esutils.code.isLineTerminator(str.charCodeAt(len - 1));
+    }
+
+    function merge(target, override) {
+        var key;
+        for (key in override) {
+            if (override.hasOwnProperty(key)) {
+                target[key] = override[key];
+            }
+        }
+        return target;
+    }
+
+    function updateDeeply(target, override) {
+        var key, val;
+
+        function isHashObject(target) {
+            return typeof target === 'object' && target instanceof Object && !(target instanceof RegExp);
+        }
+
+        for (key in override) {
+            if (override.hasOwnProperty(key)) {
+                val = override[key];
+                if (isHashObject(val)) {
+                    if (isHashObject(target[key])) {
+                        updateDeeply(target[key], val);
+                    } else {
+                        target[key] = updateDeeply({}, val);
+                    }
+                } else {
+                    target[key] = val;
+                }
+            }
+        }
+        return target;
+    }
+
+    function generateNumber(value) {
+        var result, point, temp, exponent, pos;
+
+        if (value !== value) {
+            throw new Error('Numeric literal whose value is NaN');
+        }
+        if (value < 0 || (value === 0 && 1 / value < 0)) {
+            throw new Error('Numeric literal whose value is negative');
+        }
+
+        if (value === 1 / 0) {
+            return json ? 'null' : renumber ? '1e400' : '1e+400';
+        }
+
+        result = '' + value;
+        if (!renumber || result.length < 3) {
+            return result;
+        }
+
+        point = result.indexOf('.');
+        if (!json && result.charCodeAt(0) === 0x30  /* 0 */ && point === 1) {
+            point = 0;
+            result = result.slice(1);
+        }
+        temp = result;
+        result = result.replace('e+', 'e');
+        exponent = 0;
+        if ((pos = temp.indexOf('e')) > 0) {
+            exponent = +temp.slice(pos + 1);
+            temp = temp.slice(0, pos);
+        }
+        if (point >= 0) {
+            exponent -= temp.length - point - 1;
+            temp = +(temp.slice(0, point) + temp.slice(point + 1)) + '';
+        }
+        pos = 0;
+        while (temp.charCodeAt(temp.length + pos - 1) === 0x30  /* 0 */) {
+            --pos;
+        }
+        if (pos !== 0) {
+            exponent -= pos;
+            temp = temp.slice(0, pos);
+        }
+        if (exponent !== 0) {
+            temp += 'e' + exponent;
+        }
+        if ((temp.length < result.length ||
+                    (hexadecimal && value > 1e12 && Math.floor(value) === value && (temp = '0x' + value.toString(16)).length < result.length)) &&
+                +temp === value) {
+            result = temp;
+        }
+
+        return result;
+    }
+
+    // Generate valid RegExp expression.
+    // This function is based on https://github.com/Constellation/iv Engine
+
+    function escapeRegExpCharacter(ch, previousIsBackslash) {
+        // not handling '\' and handling \u2028 or \u2029 to unicode escape sequence
+        if ((ch & ~1) === 0x2028) {
+            return (previousIsBackslash ? 'u' : '\\u') + ((ch === 0x2028) ? '2028' : '2029');
+        } else if (ch === 10 || ch === 13) {  // \n, \r
+            return (previousIsBackslash ? '' : '\\') + ((ch === 10) ? 'n' : 'r');
+        }
+        return String.fromCharCode(ch);
+    }
+
+    function generateRegExp(reg) {
+        var match, result, flags, i, iz, ch, characterInBrack, previousIsBackslash;
+
+        result = reg.toString();
+
+        if (reg.source) {
+            // extract flag from toString result
+            match = result.match(/\/([^/]*)$/);
+            if (!match) {
+                return result;
+            }
+
+            flags = match[1];
+            result = '';
+
+            characterInBrack = false;
+            previousIsBackslash = false;
+            for (i = 0, iz = reg.source.length; i < iz; ++i) {
+                ch = reg.source.charCodeAt(i);
+
+                if (!previousIsBackslash) {
+                    if (characterInBrack) {
+                        if (ch === 93) {  // ]
+                            characterInBrack = false;
+                        }
+                    } else {
+                        if (ch === 47) {  // /
+                            result += '\\';
+                        } else if (ch === 91) {  // [
+                            characterInBrack = true;
+                        }
+                    }
+                    result += escapeRegExpCharacter(ch, previousIsBackslash);
+                    previousIsBackslash = ch === 92;  // \
+                } else {
+                    // if new RegExp("\\\n') is provided, create /\n/
+                    result += escapeRegExpCharacter(ch, previousIsBackslash);
+                    // prevent like /\\[/]/
+                    previousIsBackslash = false;
+                }
+            }
+
+            return '/' + result + '/' + flags;
+        }
+
+        return result;
+    }
+
+    function escapeAllowedCharacter(code, next) {
+        var hex;
+
+        if (code === 0x08  /* \b */) {
+            return '\\b';
+        }
+
+        if (code === 0x0C  /* \f */) {
+            return '\\f';
+        }
+
+        if (code === 0x09  /* \t */) {
+            return '\\t';
+        }
+
+        hex = code.toString(16).toUpperCase();
+        if (json || code > 0xFF) {
+            return '\\u' + '0000'.slice(hex.length) + hex;
+        } else if (code === 0x0000 && !esutils.code.isDecimalDigit(next)) {
+            return '\\0';
+        } else if (code === 0x000B  /* \v */) { // '\v'
+            return '\\x0B';
+        } else {
+            return '\\x' + '00'.slice(hex.length) + hex;
+        }
+    }
+
+    function escapeDisallowedCharacter(code) {
+        if (code === 0x5C  /* \ */) {
+            return '\\\\';
+        }
+
+        if (code === 0x0A  /* \n */) {
+            return '\\n';
+        }
+
+        if (code === 0x0D  /* \r */) {
+            return '\\r';
+        }
+
+        if (code === 0x2028) {
+            return '\\u2028';
+        }
+
+        if (code === 0x2029) {
+            return '\\u2029';
+        }
+
+        throw new Error('Incorrectly classified character');
+    }
+
+    function escapeDirective(str) {
+        var i, iz, code, quote;
+
+        quote = quotes === 'double' ? '"' : '\'';
+        for (i = 0, iz = str.length; i < iz; ++i) {
+            code = str.charCodeAt(i);
+            if (code === 0x27  /* ' */) {
+                quote = '"';
+                break;
+            } else if (code === 0x22  /* " */) {
+                quote = '\'';
+                break;
+            } else if (code === 0x5C  /* \ */) {
+                ++i;
+            }
+        }
+
+        return quote + str + quote;
+    }
+
+    function escapeString(str) {
+        var result = '', i, len, code, singleQuotes = 0, doubleQuotes = 0, single, quote;
+
+        for (i = 0, len = str.length; i < len; ++i) {
+            code = str.charCodeAt(i);
+            if (code === 0x27  /* ' */) {
+                ++singleQuotes;
+            } else if (code === 0x22  /* " */) {
+                ++doubleQuotes;
+            } else if (code === 0x2F  /* / */ && json) {
+                result += '\\';
+            } else if (esutils.code.isLineTerminator(code) || code === 0x5C  /* \ */) {
+                result += escapeDisallowedCharacter(code);
+                continue;
+            } else if (!esutils.code.isIdentifierPartES5(code) && (json && code < 0x20  /* SP */ || !json && !escapeless && (code < 0x20  /* SP */ || code > 0x7E  /* ~ */))) {
+                result += escapeAllowedCharacter(code, str.charCodeAt(i + 1));
+                continue;
+            }
+            result += String.fromCharCode(code);
+        }
+
+        single = !(quotes === 'double' || (quotes === 'auto' && doubleQuotes < singleQuotes));
+        quote = single ? '\'' : '"';
+
+        if (!(single ? singleQuotes : doubleQuotes)) {
+            return quote + result + quote;
+        }
+
+        str = result;
+        result = quote;
+
+        for (i = 0, len = str.length; i < len; ++i) {
+            code = str.charCodeAt(i);
+            if ((code === 0x27  /* ' */ && single) || (code === 0x22  /* " */ && !single)) {
+                result += '\\';
+            }
+            result += String.fromCharCode(code);
+        }
+
+        return result + quote;
+    }
+
+    /**
+     * flatten an array to a string, where the array can contain
+     * either strings or nested arrays
+     */
+    function flattenToString(arr) {
+        var i, iz, elem, result = '';
+        for (i = 0, iz = arr.length; i < iz; ++i) {
+            elem = arr[i];
+            result += Array.isArray(elem) ? flattenToString(elem) : elem;
+        }
+        return result;
+    }
+
+    /**
+     * convert generated to a SourceNode when source maps are enabled.
+     */
+    function toSourceNodeWhenNeeded(generated, node) {
+        if (!sourceMap) {
+            // with no source maps, generated is either an
+            // array or a string.  if an array, flatten it.
+            // if a string, just return it
+            if (Array.isArray(generated)) {
+                return flattenToString(generated);
+            } else {
+                return generated;
+            }
+        }
+        if (node == null) {
+            if (generated instanceof SourceNode) {
+                return generated;
+            } else {
+                node = {};
+            }
+        }
+        if (node.loc == null) {
+            return new SourceNode(null, null, sourceMap, generated, node.name || null);
+        }
+        return new SourceNode(node.loc.start.line, node.loc.start.column, (sourceMap === true ? node.loc.source || null : sourceMap), generated, node.name || null);
+    }
+
+    function noEmptySpace() {
+        return (space) ? space : ' ';
+    }
+
+    function join(left, right) {
+        var leftSource,
+            rightSource,
+            leftCharCode,
+            rightCharCode;
+
+        leftSource = toSourceNodeWhenNeeded(left).toString();
+        if (leftSource.length === 0) {
+            return [right];
+        }
+
+        rightSource = toSourceNodeWhenNeeded(right).toString();
+        if (rightSource.length === 0) {
+            return [left];
+        }
+
+        leftCharCode = leftSource.charCodeAt(leftSource.length - 1);
+        rightCharCode = rightSource.charCodeAt(0);
+
+        if ((leftCharCode === 0x2B  /* + */ || leftCharCode === 0x2D  /* - */) && leftCharCode === rightCharCode ||
+            esutils.code.isIdentifierPartES5(leftCharCode) && esutils.code.isIdentifierPartES5(rightCharCode) ||
+            leftCharCode === 0x2F  /* / */ && rightCharCode === 0x69  /* i */) { // infix word operators all start with `i`
+            return [left, noEmptySpace(), right];
+        } else if (esutils.code.isWhiteSpace(leftCharCode) || esutils.code.isLineTerminator(leftCharCode) ||
+                esutils.code.isWhiteSpace(rightCharCode) || esutils.code.isLineTerminator(rightCharCode)) {
+            return [left, right];
+        }
+        return [left, space, right];
+    }
+
+    function addIndent(stmt) {
+        return [base, stmt];
+    }
+
+    function withIndent(fn) {
+        var previousBase;
+        previousBase = base;
+        base += indent;
+        fn(base);
+        base = previousBase;
+    }
+
+    function calculateSpaces(str) {
+        var i;
+        for (i = str.length - 1; i >= 0; --i) {
+            if (esutils.code.isLineTerminator(str.charCodeAt(i))) {
+                break;
+            }
+        }
+        return (str.length - 1) - i;
+    }
+
+    function adjustMultilineComment(value, specialBase) {
+        var array, i, len, line, j, spaces, previousBase, sn;
+
+        array = value.split(/\r\n|[\r\n]/);
+        spaces = Number.MAX_VALUE;
+
+        // first line doesn't have indentation
+        for (i = 1, len = array.length; i < len; ++i) {
+            line = array[i];
+            j = 0;
+            while (j < line.length && esutils.code.isWhiteSpace(line.charCodeAt(j))) {
+                ++j;
+            }
+            if (spaces > j) {
+                spaces = j;
+            }
+        }
+
+        if (typeof specialBase !== 'undefined') {
+            // pattern like
+            // {
+            //   var t = 20;  /*
+            //                 * this is comment
+            //                 */
+            // }
+            previousBase = base;
+            if (array[1][spaces] === '*') {
+                specialBase += ' ';
+            }
+            base = specialBase;
+        } else {
+            if (spaces & 1) {
+                // /*
+                //  *
+                //  */
+                // If spaces are odd number, above pattern is considered.
+                // We waste 1 space.
+                --spaces;
+            }
+            previousBase = base;
+        }
+
+        for (i = 1, len = array.length; i < len; ++i) {
+            sn = toSourceNodeWhenNeeded(addIndent(array[i].slice(spaces)));
+            array[i] = sourceMap ? sn.join('') : sn;
+        }
+
+        base = previousBase;
+
+        return array.join('\n');
+    }
+
+    function generateComment(comment, specialBase) {
+        if (comment.type === 'Line') {
+            if (endsWithLineTerminator(comment.value)) {
+                return '//' + comment.value;
+            } else {
+                // Always use LineTerminator
+                var result = '//' + comment.value;
+                if (!preserveBlankLines) {
+                    result += '\n';
+                }
+                return result;
+            }
+        }
+        if (extra.format.indent.adjustMultilineComment && /[\n\r]/.test(comment.value)) {
+            return adjustMultilineComment('/*' + comment.value + '*/', specialBase);
+        }
+        return '/*' + comment.value + '*/';
+    }
+
+    function addComments(stmt, result) {
+        var i, len, comment, save, tailingToStatement, specialBase, fragment,
+            extRange, range, prevRange, prefix, infix, suffix, count;
+
+        if (stmt.leadingComments && stmt.leadingComments.length > 0) {
+            save = result;
+
+            if (preserveBlankLines) {
+                comment = stmt.leadingComments[0];
+                result = [];
+
+                extRange = comment.extendedRange;
+                range = comment.range;
+
+                prefix = sourceCode.substring(extRange[0], range[0]);
+                count = (prefix.match(/\n/g) || []).length;
+                if (count > 0) {
+                    result.push(stringRepeat('\n', count));
+                    result.push(addIndent(generateComment(comment)));
+                } else {
+                    result.push(prefix);
+                    result.push(generateComment(comment));
+                }
+
+                prevRange = range;
+
+                for (i = 1, len = stmt.leadingComments.length; i < len; i++) {
+                    comment = stmt.leadingComments[i];
+                    range = comment.range;
+
+                    infix = sourceCode.substring(prevRange[1], range[0]);
+                    count = (infix.match(/\n/g) || []).length;
+                    result.push(stringRepeat('\n', count));
+                    result.push(addIndent(generateComment(comment)));
+
+                    prevRange = range;
+                }
+
+                suffix = sourceCode.substring(range[1], extRange[1]);
+                count = (suffix.match(/\n/g) || []).length;
+                result.push(stringRepeat('\n', count));
+            } else {
+                comment = stmt.leadingComments[0];
+                result = [];
+                if (safeConcatenation && stmt.type === Syntax.Program && stmt.body.length === 0) {
+                    result.push('\n');
+                }
+                result.push(generateComment(comment));
+                if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
+                    result.push('\n');
+                }
+
+                for (i = 1, len = stmt.leadingComments.length; i < len; ++i) {
+                    comment = stmt.leadingComments[i];
+                    fragment = [generateComment(comment)];
+                    if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
+                        fragment.push('\n');
+                    }
+                    result.push(addIndent(fragment));
+                }
+            }
+
+            result.push(addIndent(save));
+        }
+
+        if (stmt.trailingComments) {
+
+            if (preserveBlankLines) {
+                comment = stmt.trailingComments[0];
+                extRange = comment.extendedRange;
+                range = comment.range;
+
+                prefix = sourceCode.substring(extRange[0], range[0]);
+                count = (prefix.match(/\n/g) || []).length;
+
+                if (count > 0) {
+                    result.push(stringRepeat('\n', count));
+                    result.push(addIndent(generateComment(comment)));
+                } else {
+                    result.push(prefix);
+                    result.push(generateComment(comment));
+                }
+            } else {
+                tailingToStatement = !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString());
+                specialBase = stringRepeat(' ', calculateSpaces(toSourceNodeWhenNeeded([base, result, indent]).toString()));
+                for (i = 0, len = stmt.trailingComments.length; i < len; ++i) {
+                    comment = stmt.trailingComments[i];
+                    if (tailingToStatement) {
+                        // We assume target like following script
+                        //
+                        // var t = 20;  /**
+                        //               * This is comment of t
+                        //               */
+                        if (i === 0) {
+                            // first case
+                            result = [result, indent];
+                        } else {
+                            result = [result, specialBase];
+                        }
+                        result.push(generateComment(comment, specialBase));
+                    } else {
+                        result = [result, addIndent(generateComment(comment))];
+                    }
+                    if (i !== len - 1 && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
+                        result = [result, '\n'];
+                    }
+                }
+            }
+        }
+
+        return result;
+    }
+
+    function generateBlankLines(start, end, result) {
+        var j, newlineCount = 0;
+
+        for (j = start; j < end; j++) {
+            if (sourceCode[j] === '\n') {
+                newlineCount++;
+            }
+        }
+
+        for (j = 1; j < newlineCount; j++) {
+            result.push(newline);
+        }
+    }
+
+    function parenthesize(text, current, should) {
+        if (current < should) {
+            return ['(', text, ')'];
+        }
+        return text;
+    }
+
+    function generateVerbatimString(string) {
+        var i, iz, result;
+        result = string.split(/\r\n|\n/);
+        for (i = 1, iz = result.length; i < iz; i++) {
+            result[i] = newline + base + result[i];
+        }
+        return result;
+    }
+
+    function generateVerbatim(expr, precedence) {
+        var verbatim, result, prec;
+        verbatim = expr[extra.verbatim];
+
+        if (typeof verbatim === 'string') {
+            result = parenthesize(generateVerbatimString(verbatim), Precedence.Sequence, precedence);
+        } else {
+            // verbatim is object
+            result = generateVerbatimString(verbatim.content);
+            prec = (verbatim.precedence != null) ? verbatim.precedence : Precedence.Sequence;
+            result = parenthesize(result, prec, precedence);
+        }
+
+        return toSourceNodeWhenNeeded(result, expr);
+    }
+
+    function CodeGenerator() {
+    }
+
+    // Helpers.
+
+    CodeGenerator.prototype.maybeBlock = function(stmt, flags) {
+        var result, noLeadingComment, that = this;
+
+        noLeadingComment = !extra.comment || !stmt.leadingComments;
+
+        if (stmt.type === Syntax.BlockStatement && noLeadingComment) {
+            return [space, this.generateStatement(stmt, flags)];
+        }
+
+        if (stmt.type === Syntax.EmptyStatement && noLeadingComment) {
+            return ';';
+        }
+
+        withIndent(function () {
+            result = [
+                newline,
+                addIndent(that.generateStatement(stmt, flags))
+            ];
+        });
+
+        return result;
+    };
+
+    CodeGenerator.prototype.maybeBlockSuffix = function (stmt, result) {
+        var ends = endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString());
+        if (stmt.type === Syntax.BlockStatement && (!extra.comment || !stmt.leadingComments) && !ends) {
+            return [result, space];
+        }
+        if (ends) {
+            return [result, base];
+        }
+        return [result, newline, base];
+    };
+
+    function generateIdentifier(node) {
+        return toSourceNodeWhenNeeded(node.name, node);
+    }
+
+    function generateAsyncPrefix(node, spaceRequired) {
+        return node.async ? 'async' + (spaceRequired ? noEmptySpace() : space) : '';
+    }
+
+    function generateStarSuffix(node) {
+        var isGenerator = node.generator && !extra.moz.starlessGenerator;
+        return isGenerator ? '*' + space : '';
+    }
+
+    function generateMethodPrefix(prop) {
+        var func = prop.value, prefix = '';
+        if (func.async) {
+            prefix += generateAsyncPrefix(func, !prop.computed);
+        }
+        if (func.generator) {
+            // avoid space before method name
+            prefix += generateStarSuffix(func) ? '*' : '';
+        }
+        return prefix;
+    }
+
+    CodeGenerator.prototype.generatePattern = function (node, precedence, flags) {
+        if (node.type === Syntax.Identifier) {
+            return generateIdentifier(node);
+        }
+        return this.generateExpression(node, precedence, flags);
+    };
+
+    CodeGenerator.prototype.generateFunctionParams = function (node) {
+        var i, iz, result, hasDefault;
+
+        hasDefault = false;
+
+        if (node.type === Syntax.ArrowFunctionExpression &&
+                !node.rest && (!node.defaults || node.defaults.length === 0) &&
+                node.params.length === 1 && node.params[0].type === Syntax.Identifier) {
+            // arg => { } case
+            result = [generateAsyncPrefix(node, true), generateIdentifier(node.params[0])];
+        } else {
+            result = node.type === Syntax.ArrowFunctionExpression ? [generateAsyncPrefix(node, false)] : [];
+            result.push('(');
+            if (node.defaults) {
+                hasDefault = true;
+            }
+            for (i = 0, iz = node.params.length; i < iz; ++i) {
+                if (hasDefault && node.defaults[i]) {
+                    // Handle default values.
+                    result.push(this.generateAssignment(node.params[i], node.defaults[i], '=', Precedence.Assignment, E_TTT));
+                } else {
+                    result.push(this.generatePattern(node.params[i], Precedence.Assignment, E_TTT));
+                }
+                if (i + 1 < iz) {
+                    result.push(',' + space);
+                }
+            }
+
+            if (node.rest) {
+                if (node.params.length) {
+                    result.push(',' + space);
+                }
+                result.push('...');
+                result.push(generateIdentifier(node.rest));
+            }
+
+            result.push(')');
+        }
+
+        return result;
+    };
+
+    CodeGenerator.prototype.generateFunctionBody = function (node) {
+        var result, expr;
+
+        result = this.generateFunctionParams(node);
+
+        if (node.type === Syntax.ArrowFunctionExpression) {
+            result.push(space);
+            result.push('=>');
+        }
+
+        if (node.expression) {
+            result.push(space);
+            expr = this.generateExpression(node.body, Precedence.Assignment, E_TTT);
+            if (expr.toString().charAt(0) === '{') {
+                expr = ['(', expr, ')'];
+            }
+            result.push(expr);
+        } else {
+            result.push(this.maybeBlock(node.body, S_TTFF));
+        }
+
+        return result;
+    };
+
+    CodeGenerator.prototype.generateIterationForStatement = function (operator, stmt, flags) {
+        var result = ['for' + (stmt.await ? noEmptySpace() + 'await' : '') + space + '('], that = this;
+        withIndent(function () {
+            if (stmt.left.type === Syntax.VariableDeclaration) {
+                withIndent(function () {
+                    result.push(stmt.left.kind + noEmptySpace());
+                    result.push(that.generateStatement(stmt.left.declarations[0], S_FFFF));
+                });
+            } else {
+                result.push(that.generateExpression(stmt.left, Precedence.Call, E_TTT));
+            }
+
+            result = join(result, operator);
+            result = [join(
+                result,
+                that.generateExpression(stmt.right, Precedence.Assignment, E_TTT)
+            ), ')'];
+        });
+        result.push(this.maybeBlock(stmt.body, flags));
+        return result;
+    };
+
+    CodeGenerator.prototype.generatePropertyKey = function (expr, computed) {
+        var result = [];
+
+        if (computed) {
+            result.push('[');
+        }
+
+        result.push(this.generateExpression(expr, Precedence.Assignment, E_TTT));
+
+        if (computed) {
+            result.push(']');
+        }
+
+        return result;
+    };
+
+    CodeGenerator.prototype.generateAssignment = function (left, right, operator, precedence, flags) {
+        if (Precedence.Assignment < precedence) {
+            flags |= F_ALLOW_IN;
+        }
+
+        return parenthesize(
+            [
+                this.generateExpression(left, Precedence.Call, flags),
+                space + operator + space,
+                this.generateExpression(right, Precedence.Assignment, flags)
+            ],
+            Precedence.Assignment,
+            precedence
+        );
+    };
+
+    CodeGenerator.prototype.semicolon = function (flags) {
+        if (!semicolons && flags & F_SEMICOLON_OPT) {
+            return '';
+        }
+        return ';';
+    };
+
+    // Statements.
+
+    CodeGenerator.Statement = {
+
+        BlockStatement: function (stmt, flags) {
+            var range, content, result = ['{', newline], that = this;
+
+            withIndent(function () {
+                // handle functions without any code
+                if (stmt.body.length === 0 && preserveBlankLines) {
+                    range = stmt.range;
+                    if (range[1] - range[0] > 2) {
+                        content = sourceCode.substring(range[0] + 1, range[1] - 1);
+                        if (content[0] === '\n') {
+                            result = ['{'];
+                        }
+                        result.push(content);
+                    }
+                }
+
+                var i, iz, fragment, bodyFlags;
+                bodyFlags = S_TFFF;
+                if (flags & F_FUNC_BODY) {
+                    bodyFlags |= F_DIRECTIVE_CTX;
+                }
+
+                for (i = 0, iz = stmt.body.length; i < iz; ++i) {
+                    if (preserveBlankLines) {
+                        // handle spaces before the first line
+                        if (i === 0) {
+                            if (stmt.body[0].leadingComments) {
+                                range = stmt.body[0].leadingComments[0].extendedRange;
+                                content = sourceCode.substring(range[0], range[1]);
+                                if (content[0] === '\n') {
+                                    result = ['{'];
+                                }
+                            }
+                            if (!stmt.body[0].leadingComments) {
+                                generateBlankLines(stmt.range[0], stmt.body[0].range[0], result);
+                            }
+                        }
+
+                        // handle spaces between lines
+                        if (i > 0) {
+                            if (!stmt.body[i - 1].trailingComments  && !stmt.body[i].leadingComments) {
+                                generateBlankLines(stmt.body[i - 1].range[1], stmt.body[i].range[0], result);
+                            }
+                        }
+                    }
+
+                    if (i === iz - 1) {
+                        bodyFlags |= F_SEMICOLON_OPT;
+                    }
+
+                    if (stmt.body[i].leadingComments && preserveBlankLines) {
+                        fragment = that.generateStatement(stmt.body[i], bodyFlags);
+                    } else {
+                        fragment = addIndent(that.generateStatement(stmt.body[i], bodyFlags));
+                    }
+
+                    result.push(fragment);
+                    if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
+                        if (preserveBlankLines && i < iz - 1) {
+                            // don't add a new line if there are leading coments
+                            // in the next statement
+                            if (!stmt.body[i + 1].leadingComments) {
+                                result.push(newline);
+                            }
+                        } else {
+                            result.push(newline);
+                        }
+                    }
+
+                    if (preserveBlankLines) {
+                        // handle spaces after the last line
+                        if (i === iz - 1) {
+                            if (!stmt.body[i].trailingComments) {
+                                generateBlankLines(stmt.body[i].range[1], stmt.range[1], result);
+                            }
+                        }
+                    }
+                }
+            });
+
+            result.push(addIndent('}'));
+            return result;
+        },
+
+        BreakStatement: function (stmt, flags) {
+            if (stmt.label) {
+                return 'break ' + stmt.label.name + this.semicolon(flags);
+            }
+            return 'break' + this.semicolon(flags);
+        },
+
+        ContinueStatement: function (stmt, flags) {
+            if (stmt.label) {
+                return 'continue ' + stmt.label.name + this.semicolon(flags);
+            }
+            return 'continue' + this.semicolon(flags);
+        },
+
+        ClassBody: function (stmt, flags) {
+            var result = [ '{', newline], that = this;
+
+            withIndent(function (indent) {
+                var i, iz;
+
+                for (i = 0, iz = stmt.body.length; i < iz; ++i) {
+                    result.push(indent);
+                    result.push(that.generateExpression(stmt.body[i], Precedence.Sequence, E_TTT));
+                    if (i + 1 < iz) {
+                        result.push(newline);
+                    }
+                }
+            });
+
+            if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
+                result.push(newline);
+            }
+            result.push(base);
+            result.push('}');
+            return result;
+        },
+
+        ClassDeclaration: function (stmt, flags) {
+            var result, fragment;
+            result  = ['class'];
+            if (stmt.id) {
+                result = join(result, this.generateExpression(stmt.id, Precedence.Sequence, E_TTT));
+            }
+            if (stmt.superClass) {
+                fragment = join('extends', this.generateExpression(stmt.superClass, Precedence.Unary, E_TTT));
+                result = join(result, fragment);
+            }
+            result.push(space);
+            result.push(this.generateStatement(stmt.body, S_TFFT));
+            return result;
+        },
+
+        DirectiveStatement: function (stmt, flags) {
+            if (extra.raw && stmt.raw) {
+                return stmt.raw + this.semicolon(flags);
+            }
+            return escapeDirective(stmt.directive) + this.semicolon(flags);
+        },
+
+        DoWhileStatement: function (stmt, flags) {
+            // Because `do 42 while (cond)` is Syntax Error. We need semicolon.
+            var result = join('do', this.maybeBlock(stmt.body, S_TFFF));
+            result = this.maybeBlockSuffix(stmt.body, result);
+            return join(result, [
+                'while' + space + '(',
+                this.generateExpression(stmt.test, Precedence.Sequence, E_TTT),
+                ')' + this.semicolon(flags)
+            ]);
+        },
+
+        CatchClause: function (stmt, flags) {
+            var result, that = this;
+            withIndent(function () {
+                var guard;
+
+                if (stmt.param) {
+                    result = [
+                        'catch' + space + '(',
+                        that.generateExpression(stmt.param, Precedence.Sequence, E_TTT),
+                        ')'
+                    ];
+
+                    if (stmt.guard) {
+                        guard = that.generateExpression(stmt.guard, Precedence.Sequence, E_TTT);
+                        result.splice(2, 0, ' if ', guard);
+                    }
+                } else {
+                    result = ['catch'];
+                }
+            });
+            result.push(this.maybeBlock(stmt.body, S_TFFF));
+            return result;
+        },
+
+        DebuggerStatement: function (stmt, flags) {
+            return 'debugger' + this.semicolon(flags);
+        },
+
+        EmptyStatement: function (stmt, flags) {
+            return ';';
+        },
+
+        ExportDefaultDeclaration: function (stmt, flags) {
+            var result = [ 'export' ], bodyFlags;
+
+            bodyFlags = (flags & F_SEMICOLON_OPT) ? S_TFFT : S_TFFF;
+
+            // export default HoistableDeclaration[Default]
+            // export default AssignmentExpression[In] ;
+            result = join(result, 'default');
+            if (isStatement(stmt.declaration)) {
+                result = join(result, this.generateStatement(stmt.declaration, bodyFlags));
+            } else {
+                result = join(result, this.generateExpression(stmt.declaration, Precedence.Assignment, E_TTT) + this.semicolon(flags));
+            }
+            return result;
+        },
+
+        ExportNamedDeclaration: function (stmt, flags) {
+            var result = [ 'export' ], bodyFlags, that = this;
+
+            bodyFlags = (flags & F_SEMICOLON_OPT) ? S_TFFT : S_TFFF;
+
+            // export VariableStatement
+            // export Declaration[Default]
+            if (stmt.declaration) {
+                return join(result, this.generateStatement(stmt.declaration, bodyFlags));
+            }
+
+            // export ExportClause[NoReference] FromClause ;
+            // export ExportClause ;
+            if (stmt.specifiers) {
+                if (stmt.specifiers.length === 0) {
+                    result = join(result, '{' + space + '}');
+                } else if (stmt.specifiers[0].type === Syntax.ExportBatchSpecifier) {
+                    result = join(result, this.generateExpression(stmt.specifiers[0], Precedence.Sequence, E_TTT));
+                } else {
+                    result = join(result, '{');
+                    withIndent(function (indent) {
+                        var i, iz;
+                        result.push(newline);
+                        for (i = 0, iz = stmt.specifiers.length; i < iz; ++i) {
+                            result.push(indent);
+                            result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT));
+                            if (i + 1 < iz) {
+                                result.push(',' + newline);
+                            }
+                        }
+                    });
+                    if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
+                        result.push(newline);
+                    }
+                    result.push(base + '}');
+                }
+
+                if (stmt.source) {
+                    result = join(result, [
+                        'from' + space,
+                        // ModuleSpecifier
+                        this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),
+                        this.semicolon(flags)
+                    ]);
+                } else {
+                    result.push(this.semicolon(flags));
+                }
+            }
+            return result;
+        },
+
+        ExportAllDeclaration: function (stmt, flags) {
+            // export * FromClause ;
+            return [
+                'export' + space,
+                '*' + space,
+                'from' + space,
+                // ModuleSpecifier
+                this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),
+                this.semicolon(flags)
+            ];
+        },
+
+        ExpressionStatement: function (stmt, flags) {
+            var result, fragment;
+
+            function isClassPrefixed(fragment) {
+                var code;
+                if (fragment.slice(0, 5) !== 'class') {
+                    return false;
+                }
+                code = fragment.charCodeAt(5);
+                return code === 0x7B  /* '{' */ || esutils.code.isWhiteSpace(code) || esutils.code.isLineTerminator(code);
+            }
+
+            function isFunctionPrefixed(fragment) {
+                var code;
+                if (fragment.slice(0, 8) !== 'function') {
+                    return false;
+                }
+                code = fragment.charCodeAt(8);
+                return code === 0x28 /* '(' */ || esutils.code.isWhiteSpace(code) || code === 0x2A  /* '*' */ || esutils.code.isLineTerminator(code);
+            }
+
+            function isAsyncPrefixed(fragment) {
+                var code, i, iz;
+                if (fragment.slice(0, 5) !== 'async') {
+                    return false;
+                }
+                if (!esutils.code.isWhiteSpace(fragment.charCodeAt(5))) {
+                    return false;
+                }
+                for (i = 6, iz = fragment.length; i < iz; ++i) {
+                    if (!esutils.code.isWhiteSpace(fragment.charCodeAt(i))) {
+                        break;
+                    }
+                }
+                if (i === iz) {
+                    return false;
+                }
+                if (fragment.slice(i, i + 8) !== 'function') {
+                    return false;
+                }
+                code = fragment.charCodeAt(i + 8);
+                return code === 0x28 /* '(' */ || esutils.code.isWhiteSpace(code) || code === 0x2A  /* '*' */ || esutils.code.isLineTerminator(code);
+            }
+
+            result = [this.generateExpression(stmt.expression, Precedence.Sequence, E_TTT)];
+            // 12.4 '{', 'function', 'class' is not allowed in this position.
+            // wrap expression with parentheses
+            fragment = toSourceNodeWhenNeeded(result).toString();
+            if (fragment.charCodeAt(0) === 0x7B  /* '{' */ ||  // ObjectExpression
+                    isClassPrefixed(fragment) ||
+                    isFunctionPrefixed(fragment) ||
+                    isAsyncPrefixed(fragment) ||
+                    (directive && (flags & F_DIRECTIVE_CTX) && stmt.expression.type === Syntax.Literal && typeof stmt.expression.value === 'string')) {
+                result = ['(', result, ')' + this.semicolon(flags)];
+            } else {
+                result.push(this.semicolon(flags));
+            }
+            return result;
+        },
+
+        ImportDeclaration: function (stmt, flags) {
+            // ES6: 15.2.1 valid import declarations:
+            //     - import ImportClause FromClause ;
+            //     - import ModuleSpecifier ;
+            var result, cursor, that = this;
+
+            // If no ImportClause is present,
+            // this should be `import ModuleSpecifier` so skip `from`
+            // ModuleSpecifier is StringLiteral.
+            if (stmt.specifiers.length === 0) {
+                // import ModuleSpecifier ;
+                return [
+                    'import',
+                    space,
+                    // ModuleSpecifier
+                    this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),
+                    this.semicolon(flags)
+                ];
+            }
+
+            // import ImportClause FromClause ;
+            result = [
+                'import'
+            ];
+            cursor = 0;
+
+            // ImportedBinding
+            if (stmt.specifiers[cursor].type === Syntax.ImportDefaultSpecifier) {
+                result = join(result, [
+                        this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT)
+                ]);
+                ++cursor;
+            }
+
+            if (stmt.specifiers[cursor]) {
+                if (cursor !== 0) {
+                    result.push(',');
+                }
+
+                if (stmt.specifiers[cursor].type === Syntax.ImportNamespaceSpecifier) {
+                    // NameSpaceImport
+                    result = join(result, [
+                            space,
+                            this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT)
+                    ]);
+                } else {
+                    // NamedImports
+                    result.push(space + '{');
+
+                    if ((stmt.specifiers.length - cursor) === 1) {
+                        // import { ... } from "...";
+                        result.push(space);
+                        result.push(this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT));
+                        result.push(space + '}' + space);
+                    } else {
+                        // import {
+                        //    ...,
+                        //    ...,
+                        // } from "...";
+                        withIndent(function (indent) {
+                            var i, iz;
+                            result.push(newline);
+                            for (i = cursor, iz = stmt.specifiers.length; i < iz; ++i) {
+                                result.push(indent);
+                                result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT));
+                                if (i + 1 < iz) {
+                                    result.push(',' + newline);
+                                }
+                            }
+                        });
+                        if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
+                            result.push(newline);
+                        }
+                        result.push(base + '}' + space);
+                    }
+                }
+            }
+
+            result = join(result, [
+                'from' + space,
+                // ModuleSpecifier
+                this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),
+                this.semicolon(flags)
+            ]);
+            return result;
+        },
+
+        VariableDeclarator: function (stmt, flags) {
+            var itemFlags = (flags & F_ALLOW_IN) ? E_TTT : E_FTT;
+            if (stmt.init) {
+                return [
+                    this.generateExpression(stmt.id, Precedence.Assignment, itemFlags),
+                    space,
+                    '=',
+                    space,
+                    this.generateExpression(stmt.init, Precedence.Assignment, itemFlags)
+                ];
+            }
+            return this.generatePattern(stmt.id, Precedence.Assignment, itemFlags);
+        },
+
+        VariableDeclaration: function (stmt, flags) {
+            // VariableDeclarator is typed as Statement,
+            // but joined with comma (not LineTerminator).
+            // So if comment is attached to target node, we should specialize.
+            var result, i, iz, node, bodyFlags, that = this;
+
+            result = [ stmt.kind ];
+
+            bodyFlags = (flags & F_ALLOW_IN) ? S_TFFF : S_FFFF;
+
+            function block() {
+                node = stmt.declarations[0];
+                if (extra.comment && node.leadingComments) {
+                    result.push('\n');
+                    result.push(addIndent(that.generateStatement(node, bodyFlags)));
+                } else {
+                    result.push(noEmptySpace());
+                    result.push(that.generateStatement(node, bodyFlags));
+                }
+
+                for (i = 1, iz = stmt.declarations.length; i < iz; ++i) {
+                    node = stmt.declarations[i];
+                    if (extra.comment && node.leadingComments) {
+                        result.push(',' + newline);
+                        result.push(addIndent(that.generateStatement(node, bodyFlags)));
+                    } else {
+                        result.push(',' + space);
+                        result.push(that.generateStatement(node, bodyFlags));
+                    }
+                }
+            }
+
+            if (stmt.declarations.length > 1) {
+                withIndent(block);
+            } else {
+                block();
+            }
+
+            result.push(this.semicolon(flags));
+
+            return result;
+        },
+
+        ThrowStatement: function (stmt, flags) {
+            return [join(
+                'throw',
+                this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT)
+            ), this.semicolon(flags)];
+        },
+
+        TryStatement: function (stmt, flags) {
+            var result, i, iz, guardedHandlers;
+
+            result = ['try', this.maybeBlock(stmt.block, S_TFFF)];
+            result = this.maybeBlockSuffix(stmt.block, result);
+
+            if (stmt.handlers) {
+                // old interface
+                for (i = 0, iz = stmt.handlers.length; i < iz; ++i) {
+                    result = join(result, this.generateStatement(stmt.handlers[i], S_TFFF));
+                    if (stmt.finalizer || i + 1 !== iz) {
+                        result = this.maybeBlockSuffix(stmt.handlers[i].body, result);
+                    }
+                }
+            } else {
+                guardedHandlers = stmt.guardedHandlers || [];
+
+                for (i = 0, iz = guardedHandlers.length; i < iz; ++i) {
+                    result = join(result, this.generateStatement(guardedHandlers[i], S_TFFF));
+                    if (stmt.finalizer || i + 1 !== iz) {
+                        result = this.maybeBlockSuffix(guardedHandlers[i].body, result);
+                    }
+                }
+
+                // new interface
+                if (stmt.handler) {
+                    if (Array.isArray(stmt.handler)) {
+                        for (i = 0, iz = stmt.handler.length; i < iz; ++i) {
+                            result = join(result, this.generateStatement(stmt.handler[i], S_TFFF));
+                            if (stmt.finalizer || i + 1 !== iz) {
+                                result = this.maybeBlockSuffix(stmt.handler[i].body, result);
+                            }
+                        }
+                    } else {
+                        result = join(result, this.generateStatement(stmt.handler, S_TFFF));
+                        if (stmt.finalizer) {
+                            result = this.maybeBlockSuffix(stmt.handler.body, result);
+                        }
+                    }
+                }
+            }
+            if (stmt.finalizer) {
+                result = join(result, ['finally', this.maybeBlock(stmt.finalizer, S_TFFF)]);
+            }
+            return result;
+        },
+
+        SwitchStatement: function (stmt, flags) {
+            var result, fragment, i, iz, bodyFlags, that = this;
+            withIndent(function () {
+                result = [
+                    'switch' + space + '(',
+                    that.generateExpression(stmt.discriminant, Precedence.Sequence, E_TTT),
+                    ')' + space + '{' + newline
+                ];
+            });
+            if (stmt.cases) {
+                bodyFlags = S_TFFF;
+                for (i = 0, iz = stmt.cases.length; i < iz; ++i) {
+                    if (i === iz - 1) {
+                        bodyFlags |= F_SEMICOLON_OPT;
+                    }
+                    fragment = addIndent(this.generateStatement(stmt.cases[i], bodyFlags));
+                    result.push(fragment);
+                    if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
+                        result.push(newline);
+                    }
+                }
+            }
+            result.push(addIndent('}'));
+            return result;
+        },
+
+        SwitchCase: function (stmt, flags) {
+            var result, fragment, i, iz, bodyFlags, that = this;
+            withIndent(function () {
+                if (stmt.test) {
+                    result = [
+                        join('case', that.generateExpression(stmt.test, Precedence.Sequence, E_TTT)),
+                        ':'
+                    ];
+                } else {
+                    result = ['default:'];
+                }
+
+                i = 0;
+                iz = stmt.consequent.length;
+                if (iz && stmt.consequent[0].type === Syntax.BlockStatement) {
+                    fragment = that.maybeBlock(stmt.consequent[0], S_TFFF);
+                    result.push(fragment);
+                    i = 1;
+                }
+
+                if (i !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
+                    result.push(newline);
+                }
+
+                bodyFlags = S_TFFF;
+                for (; i < iz; ++i) {
+                    if (i === iz - 1 && flags & F_SEMICOLON_OPT) {
+                        bodyFlags |= F_SEMICOLON_OPT;
+                    }
+                    fragment = addIndent(that.generateStatement(stmt.consequent[i], bodyFlags));
+                    result.push(fragment);
+                    if (i + 1 !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
+                        result.push(newline);
+                    }
+                }
+            });
+            return result;
+        },
+
+        IfStatement: function (stmt, flags) {
+            var result, bodyFlags, semicolonOptional, that = this;
+            withIndent(function () {
+                result = [
+                    'if' + space + '(',
+                    that.generateExpression(stmt.test, Precedence.Sequence, E_TTT),
+                    ')'
+                ];
+            });
+            semicolonOptional = flags & F_SEMICOLON_OPT;
+            bodyFlags = S_TFFF;
+            if (semicolonOptional) {
+                bodyFlags |= F_SEMICOLON_OPT;
+            }
+            if (stmt.alternate) {
+                result.push(this.maybeBlock(stmt.consequent, S_TFFF));
+                result = this.maybeBlockSuffix(stmt.consequent, result);
+                if (stmt.alternate.type === Syntax.IfStatement) {
+                    result = join(result, ['else ', this.generateStatement(stmt.alternate, bodyFlags)]);
+                } else {
+                    result = join(result, join('else', this.maybeBlock(stmt.alternate, bodyFlags)));
+                }
+            } else {
+                result.push(this.maybeBlock(stmt.consequent, bodyFlags));
+            }
+            return result;
+        },
+
+        ForStatement: function (stmt, flags) {
+            var result, that = this;
+            withIndent(function () {
+                result = ['for' + space + '('];
+                if (stmt.init) {
+                    if (stmt.init.type === Syntax.VariableDeclaration) {
+                        result.push(that.generateStatement(stmt.init, S_FFFF));
+                    } else {
+                        // F_ALLOW_IN becomes false.
+                        result.push(that.generateExpression(stmt.init, Precedence.Sequence, E_FTT));
+                        result.push(';');
+                    }
+                } else {
+                    result.push(';');
+                }
+
+                if (stmt.test) {
+                    result.push(space);
+                    result.push(that.generateExpression(stmt.test, Precedence.Sequence, E_TTT));
+                    result.push(';');
+                } else {
+                    result.push(';');
+                }
+
+                if (stmt.update) {
+                    result.push(space);
+                    result.push(that.generateExpression(stmt.update, Precedence.Sequence, E_TTT));
+                    result.push(')');
+                } else {
+                    result.push(')');
+                }
+            });
+
+            result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));
+            return result;
+        },
+
+        ForInStatement: function (stmt, flags) {
+            return this.generateIterationForStatement('in', stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF);
+        },
+
+        ForOfStatement: function (stmt, flags) {
+            return this.generateIterationForStatement('of', stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF);
+        },
+
+        LabeledStatement: function (stmt, flags) {
+            return [stmt.label.name + ':', this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)];
+        },
+
+        Program: function (stmt, flags) {
+            var result, fragment, i, iz, bodyFlags;
+            iz = stmt.body.length;
+            result = [safeConcatenation && iz > 0 ? '\n' : ''];
+            bodyFlags = S_TFTF;
+            for (i = 0; i < iz; ++i) {
+                if (!safeConcatenation && i === iz - 1) {
+                    bodyFlags |= F_SEMICOLON_OPT;
+                }
+
+                if (preserveBlankLines) {
+                    // handle spaces before the first line
+                    if (i === 0) {
+                        if (!stmt.body[0].leadingComments) {
+                            generateBlankLines(stmt.range[0], stmt.body[i].range[0], result);
+                        }
+                    }
+
+                    // handle spaces between lines
+                    if (i > 0) {
+                        if (!stmt.body[i - 1].trailingComments && !stmt.body[i].leadingComments) {
+                            generateBlankLines(stmt.body[i - 1].range[1], stmt.body[i].range[0], result);
+                        }
+                    }
+                }
+
+                fragment = addIndent(this.generateStatement(stmt.body[i], bodyFlags));
+                result.push(fragment);
+                if (i + 1 < iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
+                    if (preserveBlankLines) {
+                        if (!stmt.body[i + 1].leadingComments) {
+                            result.push(newline);
+                        }
+                    } else {
+                        result.push(newline);
+                    }
+                }
+
+                if (preserveBlankLines) {
+                    // handle spaces after the last line
+                    if (i === iz - 1) {
+                        if (!stmt.body[i].trailingComments) {
+                            generateBlankLines(stmt.body[i].range[1], stmt.range[1], result);
+                        }
+                    }
+                }
+            }
+            return result;
+        },
+
+        FunctionDeclaration: function (stmt, flags) {
+            return [
+                generateAsyncPrefix(stmt, true),
+                'function',
+                generateStarSuffix(stmt) || noEmptySpace(),
+                stmt.id ? generateIdentifier(stmt.id) : '',
+                this.generateFunctionBody(stmt)
+            ];
+        },
+
+        ReturnStatement: function (stmt, flags) {
+            if (stmt.argument) {
+                return [join(
+                    'return',
+                    this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT)
+                ), this.semicolon(flags)];
+            }
+            return ['return' + this.semicolon(flags)];
+        },
+
+        WhileStatement: function (stmt, flags) {
+            var result, that = this;
+            withIndent(function () {
+                result = [
+                    'while' + space + '(',
+                    that.generateExpression(stmt.test, Precedence.Sequence, E_TTT),
+                    ')'
+                ];
+            });
+            result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));
+            return result;
+        },
+
+        WithStatement: function (stmt, flags) {
+            var result, that = this;
+            withIndent(function () {
+                result = [
+                    'with' + space + '(',
+                    that.generateExpression(stmt.object, Precedence.Sequence, E_TTT),
+                    ')'
+                ];
+            });
+            result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));
+            return result;
+        }
+
+    };
+
+    merge(CodeGenerator.prototype, CodeGenerator.Statement);
+
+    // Expressions.
+
+    CodeGenerator.Expression = {
+
+        SequenceExpression: function (expr, precedence, flags) {
+            var result, i, iz;
+            if (Precedence.Sequence < precedence) {
+                flags |= F_ALLOW_IN;
+            }
+            result = [];
+            for (i = 0, iz = expr.expressions.length; i < iz; ++i) {
+                result.push(this.generateExpression(expr.expressions[i], Precedence.Assignment, flags));
+                if (i + 1 < iz) {
+                    result.push(',' + space);
+                }
+            }
+            return parenthesize(result, Precedence.Sequence, precedence);
+        },
+
+        AssignmentExpression: function (expr, precedence, flags) {
+            return this.generateAssignment(expr.left, expr.right, expr.operator, precedence, flags);
+        },
+
+        ArrowFunctionExpression: function (expr, precedence, flags) {
+            return parenthesize(this.generateFunctionBody(expr), Precedence.ArrowFunction, precedence);
+        },
+
+        ConditionalExpression: function (expr, precedence, flags) {
+            if (Precedence.Conditional < precedence) {
+                flags |= F_ALLOW_IN;
+            }
+            return parenthesize(
+                [
+                    this.generateExpression(expr.test, Precedence.Coalesce, flags),
+                    space + '?' + space,
+                    this.generateExpression(expr.consequent, Precedence.Assignment, flags),
+                    space + ':' + space,
+                    this.generateExpression(expr.alternate, Precedence.Assignment, flags)
+                ],
+                Precedence.Conditional,
+                precedence
+            );
+        },
+
+        LogicalExpression: function (expr, precedence, flags) {
+            if (expr.operator === '??') {
+                flags |= F_FOUND_COALESCE;
+            }
+            return this.BinaryExpression(expr, precedence, flags);
+        },
+
+        BinaryExpression: function (expr, precedence, flags) {
+            var result, leftPrecedence, rightPrecedence, currentPrecedence, fragment, leftSource;
+            currentPrecedence = BinaryPrecedence[expr.operator];
+            leftPrecedence = expr.operator === '**' ? Precedence.Postfix : currentPrecedence;
+            rightPrecedence = expr.operator === '**' ? currentPrecedence : currentPrecedence + 1;
+
+            if (currentPrecedence < precedence) {
+                flags |= F_ALLOW_IN;
+            }
+
+            fragment = this.generateExpression(expr.left, leftPrecedence, flags);
+
+            leftSource = fragment.toString();
+
+            if (leftSource.charCodeAt(leftSource.length - 1) === 0x2F /* / */ && esutils.code.isIdentifierPartES5(expr.operator.charCodeAt(0))) {
+                result = [fragment, noEmptySpace(), expr.operator];
+            } else {
+                result = join(fragment, expr.operator);
+            }
+
+            fragment = this.generateExpression(expr.right, rightPrecedence, flags);
+
+            if (expr.operator === '/' && fragment.toString().charAt(0) === '/' ||
+            expr.operator.slice(-1) === '<' && fragment.toString().slice(0, 3) === '!--') {
+                // If '/' concats with '/' or `<` concats with `!--`, it is interpreted as comment start
+                result.push(noEmptySpace());
+                result.push(fragment);
+            } else {
+                result = join(result, fragment);
+            }
+
+            if (expr.operator === 'in' && !(flags & F_ALLOW_IN)) {
+                return ['(', result, ')'];
+            }
+            if ((expr.operator === '||' || expr.operator === '&&') && (flags & F_FOUND_COALESCE)) {
+                return ['(', result, ')'];
+            }
+            return parenthesize(result, currentPrecedence, precedence);
+        },
+
+        CallExpression: function (expr, precedence, flags) {
+            var result, i, iz;
+
+            // F_ALLOW_UNPARATH_NEW becomes false.
+            result = [this.generateExpression(expr.callee, Precedence.Call, E_TTF)];
+
+            if (expr.optional) {
+                result.push('?.');
+            }
+
+            result.push('(');
+            for (i = 0, iz = expr['arguments'].length; i < iz; ++i) {
+                result.push(this.generateExpression(expr['arguments'][i], Precedence.Assignment, E_TTT));
+                if (i + 1 < iz) {
+                    result.push(',' + space);
+                }
+            }
+            result.push(')');
+
+            if (!(flags & F_ALLOW_CALL)) {
+                return ['(', result, ')'];
+            }
+
+            return parenthesize(result, Precedence.Call, precedence);
+        },
+
+        ChainExpression: function (expr, precedence, flags) {
+            if (Precedence.OptionalChaining < precedence) {
+                flags |= F_ALLOW_CALL;
+            }
+
+            var result = this.generateExpression(expr.expression, Precedence.OptionalChaining, flags);
+
+            return parenthesize(result, Precedence.OptionalChaining, precedence);
+        },
+
+        NewExpression: function (expr, precedence, flags) {
+            var result, length, i, iz, itemFlags;
+            length = expr['arguments'].length;
+
+            // F_ALLOW_CALL becomes false.
+            // F_ALLOW_UNPARATH_NEW may become false.
+            itemFlags = (flags & F_ALLOW_UNPARATH_NEW && !parentheses && length === 0) ? E_TFT : E_TFF;
+
+            result = join(
+                'new',
+                this.generateExpression(expr.callee, Precedence.New, itemFlags)
+            );
+
+            if (!(flags & F_ALLOW_UNPARATH_NEW) || parentheses || length > 0) {
+                result.push('(');
+                for (i = 0, iz = length; i < iz; ++i) {
+                    result.push(this.generateExpression(expr['arguments'][i], Precedence.Assignment, E_TTT));
+                    if (i + 1 < iz) {
+                        result.push(',' + space);
+                    }
+                }
+                result.push(')');
+            }
+
+            return parenthesize(result, Precedence.New, precedence);
+        },
+
+        MemberExpression: function (expr, precedence, flags) {
+            var result, fragment;
+
+            // F_ALLOW_UNPARATH_NEW becomes false.
+            result = [this.generateExpression(expr.object, Precedence.Call, (flags & F_ALLOW_CALL) ? E_TTF : E_TFF)];
+
+            if (expr.computed) {
+                if (expr.optional) {
+                    result.push('?.');
+                }
+
+                result.push('[');
+                result.push(this.generateExpression(expr.property, Precedence.Sequence, flags & F_ALLOW_CALL ? E_TTT : E_TFT));
+                result.push(']');
+            } else {
+                if (!expr.optional && expr.object.type === Syntax.Literal && typeof expr.object.value === 'number') {
+                    fragment = toSourceNodeWhenNeeded(result).toString();
+                    // When the following conditions are all true,
+                    //   1. No floating point
+                    //   2. Don't have exponents
+                    //   3. The last character is a decimal digit
+                    //   4. Not hexadecimal OR octal number literal
+                    // we should add a floating point.
+                    if (
+                            fragment.indexOf('.') < 0 &&
+                            !/[eExX]/.test(fragment) &&
+                            esutils.code.isDecimalDigit(fragment.charCodeAt(fragment.length - 1)) &&
+                            !(fragment.length >= 2 && fragment.charCodeAt(0) === 48)  // '0'
+                            ) {
+                        result.push(' ');
+                    }
+                }
+                result.push(expr.optional ? '?.' : '.');
+                result.push(generateIdentifier(expr.property));
+            }
+
+            return parenthesize(result, Precedence.Member, precedence);
+        },
+
+        MetaProperty: function (expr, precedence, flags) {
+            var result;
+            result = [];
+            result.push(typeof expr.meta === "string" ? expr.meta : generateIdentifier(expr.meta));
+            result.push('.');
+            result.push(typeof expr.property === "string" ? expr.property : generateIdentifier(expr.property));
+            return parenthesize(result, Precedence.Member, precedence);
+        },
+
+        UnaryExpression: function (expr, precedence, flags) {
+            var result, fragment, rightCharCode, leftSource, leftCharCode;
+            fragment = this.generateExpression(expr.argument, Precedence.Unary, E_TTT);
+
+            if (space === '') {
+                result = join(expr.operator, fragment);
+            } else {
+                result = [expr.operator];
+                if (expr.operator.length > 2) {
+                    // delete, void, typeof
+                    // get `typeof []`, not `typeof[]`
+                    result = join(result, fragment);
+                } else {
+                    // Prevent inserting spaces between operator and argument if it is unnecessary
+                    // like, `!cond`
+                    leftSource = toSourceNodeWhenNeeded(result).toString();
+                    leftCharCode = leftSource.charCodeAt(leftSource.length - 1);
+                    rightCharCode = fragment.toString().charCodeAt(0);
+
+                    if (((leftCharCode === 0x2B  /* + */ || leftCharCode === 0x2D  /* - */) && leftCharCode === rightCharCode) ||
+                            (esutils.code.isIdentifierPartES5(leftCharCode) && esutils.code.isIdentifierPartES5(rightCharCode))) {
+                        result.push(noEmptySpace());
+                        result.push(fragment);
+                    } else {
+                        result.push(fragment);
+                    }
+                }
+            }
+            return parenthesize(result, Precedence.Unary, precedence);
+        },
+
+        YieldExpression: function (expr, precedence, flags) {
+            var result;
+            if (expr.delegate) {
+                result = 'yield*';
+            } else {
+                result = 'yield';
+            }
+            if (expr.argument) {
+                result = join(
+                    result,
+                    this.generateExpression(expr.argument, Precedence.Yield, E_TTT)
+                );
+            }
+            return parenthesize(result, Precedence.Yield, precedence);
+        },
+
+        AwaitExpression: function (expr, precedence, flags) {
+            var result = join(
+                expr.all ? 'await*' : 'await',
+                this.generateExpression(expr.argument, Precedence.Await, E_TTT)
+            );
+            return parenthesize(result, Precedence.Await, precedence);
+        },
+
+        UpdateExpression: function (expr, precedence, flags) {
+            if (expr.prefix) {
+                return parenthesize(
+                    [
+                        expr.operator,
+                        this.generateExpression(expr.argument, Precedence.Unary, E_TTT)
+                    ],
+                    Precedence.Unary,
+                    precedence
+                );
+            }
+            return parenthesize(
+                [
+                    this.generateExpression(expr.argument, Precedence.Postfix, E_TTT),
+                    expr.operator
+                ],
+                Precedence.Postfix,
+                precedence
+            );
+        },
+
+        FunctionExpression: function (expr, precedence, flags) {
+            var result = [
+                generateAsyncPrefix(expr, true),
+                'function'
+            ];
+            if (expr.id) {
+                result.push(generateStarSuffix(expr) || noEmptySpace());
+                result.push(generateIdentifier(expr.id));
+            } else {
+                result.push(generateStarSuffix(expr) || space);
+            }
+            result.push(this.generateFunctionBody(expr));
+            return result;
+        },
+
+        ArrayPattern: function (expr, precedence, flags) {
+            return this.ArrayExpression(expr, precedence, flags, true);
+        },
+
+        ArrayExpression: function (expr, precedence, flags, isPattern) {
+            var result, multiline, that = this;
+            if (!expr.elements.length) {
+                return '[]';
+            }
+            multiline = isPattern ? false : expr.elements.length > 1;
+            result = ['[', multiline ? newline : ''];
+            withIndent(function (indent) {
+                var i, iz;
+                for (i = 0, iz = expr.elements.length; i < iz; ++i) {
+                    if (!expr.elements[i]) {
+                        if (multiline) {
+                            result.push(indent);
+                        }
+                        if (i + 1 === iz) {
+                            result.push(',');
+                        }
+                    } else {
+                        result.push(multiline ? indent : '');
+                        result.push(that.generateExpression(expr.elements[i], Precedence.Assignment, E_TTT));
+                    }
+                    if (i + 1 < iz) {
+                        result.push(',' + (multiline ? newline : space));
+                    }
+                }
+            });
+            if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
+                result.push(newline);
+            }
+            result.push(multiline ? base : '');
+            result.push(']');
+            return result;
+        },
+
+        RestElement: function(expr, precedence, flags) {
+            return '...' + this.generatePattern(expr.argument);
+        },
+
+        ClassExpression: function (expr, precedence, flags) {
+            var result, fragment;
+            result = ['class'];
+            if (expr.id) {
+                result = join(result, this.generateExpression(expr.id, Precedence.Sequence, E_TTT));
+            }
+            if (expr.superClass) {
+                fragment = join('extends', this.generateExpression(expr.superClass, Precedence.Unary, E_TTT));
+                result = join(result, fragment);
+            }
+            result.push(space);
+            result.push(this.generateStatement(expr.body, S_TFFT));
+            return result;
+        },
+
+        MethodDefinition: function (expr, precedence, flags) {
+            var result, fragment;
+            if (expr['static']) {
+                result = ['static' + space];
+            } else {
+                result = [];
+            }
+            if (expr.kind === 'get' || expr.kind === 'set') {
+                fragment = [
+                    join(expr.kind, this.generatePropertyKey(expr.key, expr.computed)),
+                    this.generateFunctionBody(expr.value)
+                ];
+            } else {
+                fragment = [
+                    generateMethodPrefix(expr),
+                    this.generatePropertyKey(expr.key, expr.computed),
+                    this.generateFunctionBody(expr.value)
+                ];
+            }
+            return join(result, fragment);
+        },
+
+        Property: function (expr, precedence, flags) {
+            if (expr.kind === 'get' || expr.kind === 'set') {
+                return [
+                    expr.kind, noEmptySpace(),
+                    this.generatePropertyKey(expr.key, expr.computed),
+                    this.generateFunctionBody(expr.value)
+                ];
+            }
+
+            if (expr.shorthand) {
+                if (expr.value.type === "AssignmentPattern") {
+                    return this.AssignmentPattern(expr.value, Precedence.Sequence, E_TTT);
+                }
+                return this.generatePropertyKey(expr.key, expr.computed);
+            }
+
+            if (expr.method) {
+                return [
+                    generateMethodPrefix(expr),
+                    this.generatePropertyKey(expr.key, expr.computed),
+                    this.generateFunctionBody(expr.value)
+                ];
+            }
+
+            return [
+                this.generatePropertyKey(expr.key, expr.computed),
+                ':' + space,
+                this.generateExpression(expr.value, Precedence.Assignment, E_TTT)
+            ];
+        },
+
+        ObjectExpression: function (expr, precedence, flags) {
+            var multiline, result, fragment, that = this;
+
+            if (!expr.properties.length) {
+                return '{}';
+            }
+            multiline = expr.properties.length > 1;
+
+            withIndent(function () {
+                fragment = that.generateExpression(expr.properties[0], Precedence.Sequence, E_TTT);
+            });
+
+            if (!multiline) {
+                // issues 4
+                // Do not transform from
+                //   dejavu.Class.declare({
+                //       method2: function () {}
+                //   });
+                // to
+                //   dejavu.Class.declare({method2: function () {
+                //       }});
+                if (!hasLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
+                    return [ '{', space, fragment, space, '}' ];
+                }
+            }
+
+            withIndent(function (indent) {
+                var i, iz;
+                result = [ '{', newline, indent, fragment ];
+
+                if (multiline) {
+                    result.push(',' + newline);
+                    for (i = 1, iz = expr.properties.length; i < iz; ++i) {
+                        result.push(indent);
+                        result.push(that.generateExpression(expr.properties[i], Precedence.Sequence, E_TTT));
+                        if (i + 1 < iz) {
+                            result.push(',' + newline);
+                        }
+                    }
+                }
+            });
+
+            if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
+                result.push(newline);
+            }
+            result.push(base);
+            result.push('}');
+            return result;
+        },
+
+        AssignmentPattern: function(expr, precedence, flags) {
+            return this.generateAssignment(expr.left, expr.right, '=', precedence, flags);
+        },
+
+        ObjectPattern: function (expr, precedence, flags) {
+            var result, i, iz, multiline, property, that = this;
+            if (!expr.properties.length) {
+                return '{}';
+            }
+
+            multiline = false;
+            if (expr.properties.length === 1) {
+                property = expr.properties[0];
+                if (
+                    property.type === Syntax.Property
+                    && property.value.type !== Syntax.Identifier
+                ) {
+                    multiline = true;
+                }
+            } else {
+                for (i = 0, iz = expr.properties.length; i < iz; ++i) {
+                    property = expr.properties[i];
+                    if (
+                        property.type === Syntax.Property
+                        && !property.shorthand
+                    ) {
+                        multiline = true;
+                        break;
+                    }
+                }
+            }
+            result = ['{', multiline ? newline : '' ];
+
+            withIndent(function (indent) {
+                var i, iz;
+                for (i = 0, iz = expr.properties.length; i < iz; ++i) {
+                    result.push(multiline ? indent : '');
+                    result.push(that.generateExpression(expr.properties[i], Precedence.Sequence, E_TTT));
+                    if (i + 1 < iz) {
+                        result.push(',' + (multiline ? newline : space));
+                    }
+                }
+            });
+
+            if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
+                result.push(newline);
+            }
+            result.push(multiline ? base : '');
+            result.push('}');
+            return result;
+        },
+
+        ThisExpression: function (expr, precedence, flags) {
+            return 'this';
+        },
+
+        Super: function (expr, precedence, flags) {
+            return 'super';
+        },
+
+        Identifier: function (expr, precedence, flags) {
+            return generateIdentifier(expr);
+        },
+
+        ImportDefaultSpecifier: function (expr, precedence, flags) {
+            return generateIdentifier(expr.id || expr.local);
+        },
+
+        ImportNamespaceSpecifier: function (expr, precedence, flags) {
+            var result = ['*'];
+            var id = expr.id || expr.local;
+            if (id) {
+                result.push(space + 'as' + noEmptySpace() + generateIdentifier(id));
+            }
+            return result;
+        },
+
+        ImportSpecifier: function (expr, precedence, flags) {
+            var imported = expr.imported;
+            var result = [ imported.name ];
+            var local = expr.local;
+            if (local && local.name !== imported.name) {
+                result.push(noEmptySpace() + 'as' + noEmptySpace() + generateIdentifier(local));
+            }
+            return result;
+        },
+
+        ExportSpecifier: function (expr, precedence, flags) {
+            var local = expr.local;
+            var result = [ local.name ];
+            var exported = expr.exported;
+            if (exported && exported.name !== local.name) {
+                result.push(noEmptySpace() + 'as' + noEmptySpace() + generateIdentifier(exported));
+            }
+            return result;
+        },
+
+        Literal: function (expr, precedence, flags) {
+            var raw;
+            if (expr.hasOwnProperty('raw') && parse && extra.raw) {
+                try {
+                    raw = parse(expr.raw).body[0].expression;
+                    if (raw.type === Syntax.Literal) {
+                        if (raw.value === expr.value) {
+                            return expr.raw;
+                        }
+                    }
+                } catch (e) {
+                    // not use raw property
+                }
+            }
+
+            if (expr.regex) {
+              return '/' + expr.regex.pattern + '/' + expr.regex.flags;
+            }
+
+            if (typeof expr.value === 'bigint') {
+                return expr.value.toString() + 'n';
+            }
+
+            // `expr.value` can be null if `expr.bigint` exists. We need to check
+            // `expr.bigint` first.
+            if (expr.bigint) {
+                return expr.bigint + 'n';
+            }
+
+            if (expr.value === null) {
+                return 'null';
+            }
+
+            if (typeof expr.value === 'string') {
+                return escapeString(expr.value);
+            }
+
+            if (typeof expr.value === 'number') {
+                return generateNumber(expr.value);
+            }
+
+            if (typeof expr.value === 'boolean') {
+                return expr.value ? 'true' : 'false';
+            }
+
+            return generateRegExp(expr.value);
+        },
+
+        GeneratorExpression: function (expr, precedence, flags) {
+            return this.ComprehensionExpression(expr, precedence, flags);
+        },
+
+        ComprehensionExpression: function (expr, precedence, flags) {
+            // GeneratorExpression should be parenthesized with (...), ComprehensionExpression with [...]
+            // Due to https://bugzilla.mozilla.org/show_bug.cgi?id=883468 position of expr.body can differ in Spidermonkey and ES6
+
+            var result, i, iz, fragment, that = this;
+            result = (expr.type === Syntax.GeneratorExpression) ? ['('] : ['['];
+
+            if (extra.moz.comprehensionExpressionStartsWithAssignment) {
+                fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT);
+                result.push(fragment);
+            }
+
+            if (expr.blocks) {
+                withIndent(function () {
+                    for (i = 0, iz = expr.blocks.length; i < iz; ++i) {
+                        fragment = that.generateExpression(expr.blocks[i], Precedence.Sequence, E_TTT);
+                        if (i > 0 || extra.moz.comprehensionExpressionStartsWithAssignment) {
+                            result = join(result, fragment);
+                        } else {
+                            result.push(fragment);
+                        }
+                    }
+                });
+            }
+
+            if (expr.filter) {
+                result = join(result, 'if' + space);
+                fragment = this.generateExpression(expr.filter, Precedence.Sequence, E_TTT);
+                result = join(result, [ '(', fragment, ')' ]);
+            }
+
+            if (!extra.moz.comprehensionExpressionStartsWithAssignment) {
+                fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT);
+
+                result = join(result, fragment);
+            }
+
+            result.push((expr.type === Syntax.GeneratorExpression) ? ')' : ']');
+            return result;
+        },
+
+        ComprehensionBlock: function (expr, precedence, flags) {
+            var fragment;
+            if (expr.left.type === Syntax.VariableDeclaration) {
+                fragment = [
+                    expr.left.kind, noEmptySpace(),
+                    this.generateStatement(expr.left.declarations[0], S_FFFF)
+                ];
+            } else {
+                fragment = this.generateExpression(expr.left, Precedence.Call, E_TTT);
+            }
+
+            fragment = join(fragment, expr.of ? 'of' : 'in');
+            fragment = join(fragment, this.generateExpression(expr.right, Precedence.Sequence, E_TTT));
+
+            return [ 'for' + space + '(', fragment, ')' ];
+        },
+
+        SpreadElement: function (expr, precedence, flags) {
+            return [
+                '...',
+                this.generateExpression(expr.argument, Precedence.Assignment, E_TTT)
+            ];
+        },
+
+        TaggedTemplateExpression: function (expr, precedence, flags) {
+            var itemFlags = E_TTF;
+            if (!(flags & F_ALLOW_CALL)) {
+                itemFlags = E_TFF;
+            }
+            var result = [
+                this.generateExpression(expr.tag, Precedence.Call, itemFlags),
+                this.generateExpression(expr.quasi, Precedence.Primary, E_FFT)
+            ];
+            return parenthesize(result, Precedence.TaggedTemplate, precedence);
+        },
+
+        TemplateElement: function (expr, precedence, flags) {
+            // Don't use "cooked". Since tagged template can use raw template
+            // representation. So if we do so, it breaks the script semantics.
+            return expr.value.raw;
+        },
+
+        TemplateLiteral: function (expr, precedence, flags) {
+            var result, i, iz;
+            result = [ '`' ];
+            for (i = 0, iz = expr.quasis.length; i < iz; ++i) {
+                result.push(this.generateExpression(expr.quasis[i], Precedence.Primary, E_TTT));
+                if (i + 1 < iz) {
+                    result.push('${' + space);
+                    result.push(this.generateExpression(expr.expressions[i], Precedence.Sequence, E_TTT));
+                    result.push(space + '}');
+                }
+            }
+            result.push('`');
+            return result;
+        },
+
+        ModuleSpecifier: function (expr, precedence, flags) {
+            return this.Literal(expr, precedence, flags);
+        },
+
+        ImportExpression: function(expr, precedence, flag) {
+            return parenthesize([
+                'import(',
+                this.generateExpression(expr.source, Precedence.Assignment, E_TTT),
+                ')'
+            ], Precedence.Call, precedence);
+        }
+    };
+
+    merge(CodeGenerator.prototype, CodeGenerator.Expression);
+
+    CodeGenerator.prototype.generateExpression = function (expr, precedence, flags) {
+        var result, type;
+
+        type = expr.type || Syntax.Property;
+
+        if (extra.verbatim && expr.hasOwnProperty(extra.verbatim)) {
+            return generateVerbatim(expr, precedence);
+        }
+
+        result = this[type](expr, precedence, flags);
+
+
+        if (extra.comment) {
+            result = addComments(expr, result);
+        }
+        return toSourceNodeWhenNeeded(result, expr);
+    };
+
+    CodeGenerator.prototype.generateStatement = function (stmt, flags) {
+        var result,
+            fragment;
+
+        result = this[stmt.type](stmt, flags);
+
+        // Attach comments
+
+        if (extra.comment) {
+            result = addComments(stmt, result);
+        }
+
+        fragment = toSourceNodeWhenNeeded(result).toString();
+        if (stmt.type === Syntax.Program && !safeConcatenation && newline === '' &&  fragment.charAt(fragment.length - 1) === '\n') {
+            result = sourceMap ? toSourceNodeWhenNeeded(result).replaceRight(/\s+$/, '') : fragment.replace(/\s+$/, '');
+        }
+
+        return toSourceNodeWhenNeeded(result, stmt);
+    };
+
+    function generateInternal(node) {
+        var codegen;
+
+        codegen = new CodeGenerator();
+        if (isStatement(node)) {
+            return codegen.generateStatement(node, S_TFFF);
+        }
+
+        if (isExpression(node)) {
+            return codegen.generateExpression(node, Precedence.Sequence, E_TTT);
+        }
+
+        throw new Error('Unknown node type: ' + node.type);
+    }
+
+    function generate(node, options) {
+        var defaultOptions = getDefaultOptions(), result, pair;
+
+        if (options != null) {
+            // Obsolete options
+            //
+            //   `options.indent`
+            //   `options.base`
+            //
+            // Instead of them, we can use `option.format.indent`.
+            if (typeof options.indent === 'string') {
+                defaultOptions.format.indent.style = options.indent;
+            }
+            if (typeof options.base === 'number') {
+                defaultOptions.format.indent.base = options.base;
+            }
+            options = updateDeeply(defaultOptions, options);
+            indent = options.format.indent.style;
+            if (typeof options.base === 'string') {
+                base = options.base;
+            } else {
+                base = stringRepeat(indent, options.format.indent.base);
+            }
+        } else {
+            options = defaultOptions;
+            indent = options.format.indent.style;
+            base = stringRepeat(indent, options.format.indent.base);
+        }
+        json = options.format.json;
+        renumber = options.format.renumber;
+        hexadecimal = json ? false : options.format.hexadecimal;
+        quotes = json ? 'double' : options.format.quotes;
+        escapeless = options.format.escapeless;
+        newline = options.format.newline;
+        space = options.format.space;
+        if (options.format.compact) {
+            newline = space = indent = base = '';
+        }
+        parentheses = options.format.parentheses;
+        semicolons = options.format.semicolons;
+        safeConcatenation = options.format.safeConcatenation;
+        directive = options.directive;
+        parse = json ? null : options.parse;
+        sourceMap = options.sourceMap;
+        sourceCode = options.sourceCode;
+        preserveBlankLines = options.format.preserveBlankLines && sourceCode !== null;
+        extra = options;
+
+        if (sourceMap) {
+            if (!exports.browser) {
+                // We assume environment is node.js
+                // And prevent from including source-map by browserify
+                SourceNode = require('source-map').SourceNode;
+            } else {
+                SourceNode = global.sourceMap.SourceNode;
+            }
+        }
+
+        result = generateInternal(node);
+
+        if (!sourceMap) {
+            pair = {code: result.toString(), map: null};
+            return options.sourceMapWithCode ? pair : pair.code;
+        }
+
+
+        pair = result.toStringWithSourceMap({
+            file: options.file,
+            sourceRoot: options.sourceMapRoot
+        });
+
+        if (options.sourceContent) {
+            pair.map.setSourceContent(options.sourceMap,
+                                      options.sourceContent);
+        }
+
+        if (options.sourceMapWithCode) {
+            return pair;
+        }
+
+        return pair.map.toString();
+    }
+
+    FORMAT_MINIFY = {
+        indent: {
+            style: '',
+            base: 0
+        },
+        renumber: true,
+        hexadecimal: true,
+        quotes: 'auto',
+        escapeless: true,
+        compact: true,
+        parentheses: false,
+        semicolons: false
+    };
+
+    FORMAT_DEFAULTS = getDefaultOptions().format;
+
+    exports.version = require('./package.json').version;
+    exports.generate = generate;
+    exports.attachComments = estraverse.attachComments;
+    exports.Precedence = updateDeeply({}, Precedence);
+    exports.browser = false;
+    exports.FORMAT_MINIFY = FORMAT_MINIFY;
+    exports.FORMAT_DEFAULTS = FORMAT_DEFAULTS;
+}());
+/* vim: set sw=4 ts=4 et tw=80 : */
diff --git a/node_modules/degenerator/node_modules/escodegen/package.json b/node_modules/degenerator/node_modules/escodegen/package.json
new file mode 100644
index 0000000..142b76c
--- /dev/null
+++ b/node_modules/degenerator/node_modules/escodegen/package.json
@@ -0,0 +1,63 @@
+{
+  "name": "escodegen",
+  "description": "ECMAScript code generator",
+  "homepage": "http://github.com/estools/escodegen",
+  "main": "escodegen.js",
+  "bin": {
+    "esgenerate": "./bin/esgenerate.js",
+    "escodegen": "./bin/escodegen.js"
+  },
+  "files": [
+    "LICENSE.BSD",
+    "README.md",
+    "bin",
+    "escodegen.js",
+    "package.json"
+  ],
+  "version": "2.1.0",
+  "engines": {
+    "node": ">=6.0"
+  },
+  "maintainers": [
+    {
+      "name": "Yusuke Suzuki",
+      "email": "[email protected]",
+      "web": "http://github.com/Constellation"
+    }
+  ],
+  "repository": {
+    "type": "git",
+    "url": "http://github.com/estools/escodegen.git"
+  },
+  "dependencies": {
+    "estraverse": "^5.2.0",
+    "esutils": "^2.0.2",
+    "esprima": "^4.0.1"
+  },
+  "optionalDependencies": {
+    "source-map": "~0.6.1"
+  },
+  "devDependencies": {
+    "acorn": "^8.0.4",
+    "bluebird": "^3.4.7",
+    "bower-registry-client": "^1.0.0",
+    "chai": "^4.2.0",
+    "chai-exclude": "^2.0.2",
+    "commonjs-everywhere": "^0.9.7",
+    "gulp": "^4.0.2",
+    "gulp-eslint": "^6.0.0",
+    "gulp-mocha": "^7.0.2",
+    "minimist": "^1.2.5",
+    "optionator": "^0.9.1",
+    "semver": "^7.3.4"
+  },
+  "license": "BSD-2-Clause",
+  "scripts": {
+    "test": "gulp travis",
+    "unit-test": "gulp test",
+    "lint": "gulp lint",
+    "release": "node tools/release.js",
+    "build-min": "./node_modules/.bin/cjsify -ma path: tools/entry-point.js > escodegen.browser.min.js",
+    "build": "./node_modules/.bin/cjsify -a path: tools/entry-point.js > escodegen.browser.js"
+  }
+}
diff --git a/node_modules/degenerator/node_modules/estraverse/.jshintrc b/node_modules/degenerator/node_modules/estraverse/.jshintrc
new file mode 100644
index 0000000..f642dae
--- /dev/null
+++ b/node_modules/degenerator/node_modules/estraverse/.jshintrc
@@ -0,0 +1,16 @@
+{
+  "curly": true,
+  "eqeqeq": true,
+  "immed": true,
+  "eqnull": true,
+  "latedef": true,
+  "noarg": true,
+  "noempty": true,
+  "quotmark": "single",
+  "undef": true,
+  "unused": true,
+  "strict": true,
+  "trailing": true,
+
+  "node": true
+}
diff --git a/node_modules/degenerator/node_modules/estraverse/LICENSE.BSD b/node_modules/degenerator/node_modules/estraverse/LICENSE.BSD
new file mode 100644
index 0000000..3e580c3
--- /dev/null
+++ b/node_modules/degenerator/node_modules/estraverse/LICENSE.BSD
@@ -0,0 +1,19 @@
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+  * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/node_modules/degenerator/node_modules/estraverse/README.md b/node_modules/degenerator/node_modules/estraverse/README.md
new file mode 100644
index 0000000..ccd3377
--- /dev/null
+++ b/node_modules/degenerator/node_modules/estraverse/README.md
@@ -0,0 +1,153 @@
+### Estraverse [![Build Status](https://secure.travis-ci.org/estools/estraverse.svg)](http://travis-ci.org/estools/estraverse)
+
+Estraverse ([estraverse](http://github.com/estools/estraverse)) is
+[ECMAScript](http://www.ecma-international.org/publications/standards/Ecma-262.htm)
+traversal functions from [esmangle project](http://github.com/estools/esmangle).
+
+### Documentation
+
+You can find usage docs at [wiki page](https://github.com/estools/estraverse/wiki/Usage).
+
+### Example Usage
+
+The following code will output all variables declared at the root of a file.
+
+```javascript
+estraverse.traverse(ast, {
+    enter: function (node, parent) {
+        if (node.type == 'FunctionExpression' || node.type == 'FunctionDeclaration')
+            return estraverse.VisitorOption.Skip;
+    },
+    leave: function (node, parent) {
+        if (node.type == 'VariableDeclarator')
+          console.log(node.id.name);
+    }
+});
+```
+
+We can use `this.skip`, `this.remove` and `this.break` functions instead of using Skip, Remove and Break.
+
+```javascript
+estraverse.traverse(ast, {
+    enter: function (node) {
+        this.break();
+    }
+});
+```
+
+And estraverse provides `estraverse.replace` function. When returning node from `enter`/`leave`, current node is replaced with it.
+
+```javascript
+result = estraverse.replace(tree, {
+    enter: function (node) {
+        // Replace it with replaced.
+        if (node.type === 'Literal')
+            return replaced;
+    }
+});
+```
+
+By passing `visitor.keys` mapping, we can extend estraverse traversing functionality.
+
+```javascript
+// This tree contains a user-defined `TestExpression` node.
+var tree = {
+    type: 'TestExpression',
+
+    // This 'argument' is the property containing the other **node**.
+    argument: {
+        type: 'Literal',
+        value: 20
+    },
+
+    // This 'extended' is the property not containing the other **node**.
+    extended: true
+};
+estraverse.traverse(tree, {
+    enter: function (node) { },
+
+    // Extending the existing traversing rules.
+    keys: {
+        // TargetNodeName: [ 'keys', 'containing', 'the', 'other', '**node**' ]
+        TestExpression: ['argument']
+    }
+});
+```
+
+By passing `visitor.fallback` option, we can control the behavior when encountering unknown nodes.
+
+```javascript
+// This tree contains a user-defined `TestExpression` node.
+var tree = {
+    type: 'TestExpression',
+
+    // This 'argument' is the property containing the other **node**.
+    argument: {
+        type: 'Literal',
+        value: 20
+    },
+
+    // This 'extended' is the property not containing the other **node**.
+    extended: true
+};
+estraverse.traverse(tree, {
+    enter: function (node) { },
+
+    // Iterating the child **nodes** of unknown nodes.
+    fallback: 'iteration'
+});
+```
+
+When `visitor.fallback` is a function, we can determine which keys to visit on each node.
+
+```javascript
+// This tree contains a user-defined `TestExpression` node.
+var tree = {
+    type: 'TestExpression',
+
+    // This 'argument' is the property containing the other **node**.
+    argument: {
+        type: 'Literal',
+        value: 20
+    },
+
+    // This 'extended' is the property not containing the other **node**.
+    extended: true
+};
+estraverse.traverse(tree, {
+    enter: function (node) { },
+
+    // Skip the `argument` property of each node
+    fallback: function(node) {
+        return Object.keys(node).filter(function(key) {
+            return key !== 'argument';
+        });
+    }
+});
+```
+
+### License
+
+Copyright (C) 2012-2016 [Yusuke Suzuki](http://github.com/Constellation)
+ (twitter: [@Constellation](http://twitter.com/Constellation)) and other contributors.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+  * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+
+  * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/node_modules/degenerator/node_modules/estraverse/estraverse.js b/node_modules/degenerator/node_modules/estraverse/estraverse.js
new file mode 100644
index 0000000..f0d9af9
--- /dev/null
+++ b/node_modules/degenerator/node_modules/estraverse/estraverse.js
@@ -0,0 +1,805 @@
+/*
+  Copyright (C) 2012-2013 Yusuke Suzuki <[email protected]>
+  Copyright (C) 2012 Ariya Hidayat <[email protected]>
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+/*jslint vars:false, bitwise:true*/
+/*jshint indent:4*/
+/*global exports:true*/
+(function clone(exports) {
+    'use strict';
+
+    var Syntax,
+        VisitorOption,
+        VisitorKeys,
+        BREAK,
+        SKIP,
+        REMOVE;
+
+    function deepCopy(obj) {
+        var ret = {}, key, val;
+        for (key in obj) {
+            if (obj.hasOwnProperty(key)) {
+                val = obj[key];
+                if (typeof val === 'object' && val !== null) {
+                    ret[key] = deepCopy(val);
+                } else {
+                    ret[key] = val;
+                }
+            }
+        }
+        return ret;
+    }
+
+    // based on LLVM libc++ upper_bound / lower_bound
+    // MIT License
+
+    function upperBound(array, func) {
+        var diff, len, i, current;
+
+        len = array.length;
+        i = 0;
+
+        while (len) {
+            diff = len >>> 1;
+            current = i + diff;
+            if (func(array[current])) {
+                len = diff;
+            } else {
+                i = current + 1;
+                len -= diff + 1;
+            }
+        }
+        return i;
+    }
+
+    Syntax = {
+        AssignmentExpression: 'AssignmentExpression',
+        AssignmentPattern: 'AssignmentPattern',
+        ArrayExpression: 'ArrayExpression',
+        ArrayPattern: 'ArrayPattern',
+        ArrowFunctionExpression: 'ArrowFunctionExpression',
+        AwaitExpression: 'AwaitExpression', // CAUTION: It's deferred to ES7.
+        BlockStatement: 'BlockStatement',
+        BinaryExpression: 'BinaryExpression',
+        BreakStatement: 'BreakStatement',
+        CallExpression: 'CallExpression',
+        CatchClause: 'CatchClause',
+        ChainExpression: 'ChainExpression',
+        ClassBody: 'ClassBody',
+        ClassDeclaration: 'ClassDeclaration',
+        ClassExpression: 'ClassExpression',
+        ComprehensionBlock: 'ComprehensionBlock',  // CAUTION: It's deferred to ES7.
+        ComprehensionExpression: 'ComprehensionExpression',  // CAUTION: It's deferred to ES7.
+        ConditionalExpression: 'ConditionalExpression',
+        ContinueStatement: 'ContinueStatement',
+        DebuggerStatement: 'DebuggerStatement',
+        DirectiveStatement: 'DirectiveStatement',
+        DoWhileStatement: 'DoWhileStatement',
+        EmptyStatement: 'EmptyStatement',
+        ExportAllDeclaration: 'ExportAllDeclaration',
+        ExportDefaultDeclaration: 'ExportDefaultDeclaration',
+        ExportNamedDeclaration: 'ExportNamedDeclaration',
+        ExportSpecifier: 'ExportSpecifier',
+        ExpressionStatement: 'ExpressionStatement',
+        ForStatement: 'ForStatement',
+        ForInStatement: 'ForInStatement',
+        ForOfStatement: 'ForOfStatement',
+        FunctionDeclaration: 'FunctionDeclaration',
+        FunctionExpression: 'FunctionExpression',
+        GeneratorExpression: 'GeneratorExpression',  // CAUTION: It's deferred to ES7.
+        Identifier: 'Identifier',
+        IfStatement: 'IfStatement',
+        ImportExpression: 'ImportExpression',
+        ImportDeclaration: 'ImportDeclaration',
+        ImportDefaultSpecifier: 'ImportDefaultSpecifier',
+        ImportNamespaceSpecifier: 'ImportNamespaceSpecifier',
+        ImportSpecifier: 'ImportSpecifier',
+        Literal: 'Literal',
+        LabeledStatement: 'LabeledStatement',
+        LogicalExpression: 'LogicalExpression',
+        MemberExpression: 'MemberExpression',
+        MetaProperty: 'MetaProperty',
+        MethodDefinition: 'MethodDefinition',
+        ModuleSpecifier: 'ModuleSpecifier',
+        NewExpression: 'NewExpression',
+        ObjectExpression: 'ObjectExpression',
+        ObjectPattern: 'ObjectPattern',
+        PrivateIdentifier: 'PrivateIdentifier',
+        Program: 'Program',
+        Property: 'Property',
+        PropertyDefinition: 'PropertyDefinition',
+        RestElement: 'RestElement',
+        ReturnStatement: 'ReturnStatement',
+        SequenceExpression: 'SequenceExpression',
+        SpreadElement: 'SpreadElement',
+        Super: 'Super',
+        SwitchStatement: 'SwitchStatement',
+        SwitchCase: 'SwitchCase',
+        TaggedTemplateExpression: 'TaggedTemplateExpression',
+        TemplateElement: 'TemplateElement',
+        TemplateLiteral: 'TemplateLiteral',
+        ThisExpression: 'ThisExpression',
+        ThrowStatement: 'ThrowStatement',
+        TryStatement: 'TryStatement',
+        UnaryExpression: 'UnaryExpression',
+        UpdateExpression: 'UpdateExpression',
+        VariableDeclaration: 'VariableDeclaration',
+        VariableDeclarator: 'VariableDeclarator',
+        WhileStatement: 'WhileStatement',
+        WithStatement: 'WithStatement',
+        YieldExpression: 'YieldExpression'
+    };
+
+    VisitorKeys = {
+        AssignmentExpression: ['left', 'right'],
+        AssignmentPattern: ['left', 'right'],
+        ArrayExpression: ['elements'],
+        ArrayPattern: ['elements'],
+        ArrowFunctionExpression: ['params', 'body'],
+        AwaitExpression: ['argument'], // CAUTION: It's deferred to ES7.
+        BlockStatement: ['body'],
+        BinaryExpression: ['left', 'right'],
+        BreakStatement: ['label'],
+        CallExpression: ['callee', 'arguments'],
+        CatchClause: ['param', 'body'],
+        ChainExpression: ['expression'],
+        ClassBody: ['body'],
+        ClassDeclaration: ['id', 'superClass', 'body'],
+        ClassExpression: ['id', 'superClass', 'body'],
+        ComprehensionBlock: ['left', 'right'],  // CAUTION: It's deferred to ES7.
+        ComprehensionExpression: ['blocks', 'filter', 'body'],  // CAUTION: It's deferred to ES7.
+        ConditionalExpression: ['test', 'consequent', 'alternate'],
+        ContinueStatement: ['label'],
+        DebuggerStatement: [],
+        DirectiveStatement: [],
+        DoWhileStatement: ['body', 'test'],
+        EmptyStatement: [],
+        ExportAllDeclaration: ['source'],
+        ExportDefaultDeclaration: ['declaration'],
+        ExportNamedDeclaration: ['declaration', 'specifiers', 'source'],
+        ExportSpecifier: ['exported', 'local'],
+        ExpressionStatement: ['expression'],
+        ForStatement: ['init', 'test', 'update', 'body'],
+        ForInStatement: ['left', 'right', 'body'],
+        ForOfStatement: ['left', 'right', 'body'],
+        FunctionDeclaration: ['id', 'params', 'body'],
+        FunctionExpression: ['id', 'params', 'body'],
+        GeneratorExpression: ['blocks', 'filter', 'body'],  // CAUTION: It's deferred to ES7.
+        Identifier: [],
+        IfStatement: ['test', 'consequent', 'alternate'],
+        ImportExpression: ['source'],
+        ImportDeclaration: ['specifiers', 'source'],
+        ImportDefaultSpecifier: ['local'],
+        ImportNamespaceSpecifier: ['local'],
+        ImportSpecifier: ['imported', 'local'],
+        Literal: [],
+        LabeledStatement: ['label', 'body'],
+        LogicalExpression: ['left', 'right'],
+        MemberExpression: ['object', 'property'],
+        MetaProperty: ['meta', 'property'],
+        MethodDefinition: ['key', 'value'],
+        ModuleSpecifier: [],
+        NewExpression: ['callee', 'arguments'],
+        ObjectExpression: ['properties'],
+        ObjectPattern: ['properties'],
+        PrivateIdentifier: [],
+        Program: ['body'],
+        Property: ['key', 'value'],
+        PropertyDefinition: ['key', 'value'],
+        RestElement: [ 'argument' ],
+        ReturnStatement: ['argument'],
+        SequenceExpression: ['expressions'],
+        SpreadElement: ['argument'],
+        Super: [],
+        SwitchStatement: ['discriminant', 'cases'],
+        SwitchCase: ['test', 'consequent'],
+        TaggedTemplateExpression: ['tag', 'quasi'],
+        TemplateElement: [],
+        TemplateLiteral: ['quasis', 'expressions'],
+        ThisExpression: [],
+        ThrowStatement: ['argument'],
+        TryStatement: ['block', 'handler', 'finalizer'],
+        UnaryExpression: ['argument'],
+        UpdateExpression: ['argument'],
+        VariableDeclaration: ['declarations'],
+        VariableDeclarator: ['id', 'init'],
+        WhileStatement: ['test', 'body'],
+        WithStatement: ['object', 'body'],
+        YieldExpression: ['argument']
+    };
+
+    // unique id
+    BREAK = {};
+    SKIP = {};
+    REMOVE = {};
+
+    VisitorOption = {
+        Break: BREAK,
+        Skip: SKIP,
+        Remove: REMOVE
+    };
+
+    function Reference(parent, key) {
+        this.parent = parent;
+        this.key = key;
+    }
+
+    Reference.prototype.replace = function replace(node) {
+        this.parent[this.key] = node;
+    };
+
+    Reference.prototype.remove = function remove() {
+        if (Array.isArray(this.parent)) {
+            this.parent.splice(this.key, 1);
+            return true;
+        } else {
+            this.replace(null);
+            return false;
+        }
+    };
+
+    function Element(node, path, wrap, ref) {
+        this.node = node;
+        this.path = path;
+        this.wrap = wrap;
+        this.ref = ref;
+    }
+
+    function Controller() { }
+
+    // API:
+    // return property path array from root to current node
+    Controller.prototype.path = function path() {
+        var i, iz, j, jz, result, element;
+
+        function addToPath(result, path) {
+            if (Array.isArray(path)) {
+                for (j = 0, jz = path.length; j < jz; ++j) {
+                    result.push(path[j]);
+                }
+            } else {
+                result.push(path);
+            }
+        }
+
+        // root node
+        if (!this.__current.path) {
+            return null;
+        }
+
+        // first node is sentinel, second node is root element
+        result = [];
+        for (i = 2, iz = this.__leavelist.length; i < iz; ++i) {
+            element = this.__leavelist[i];
+            addToPath(result, element.path);
+        }
+        addToPath(result, this.__current.path);
+        return result;
+    };
+
+    // API:
+    // return type of current node
+    Controller.prototype.type = function () {
+        var node = this.current();
+        return node.type || this.__current.wrap;
+    };
+
+    // API:
+    // return array of parent elements
+    Controller.prototype.parents = function parents() {
+        var i, iz, result;
+
+        // first node is sentinel
+        result = [];
+        for (i = 1, iz = this.__leavelist.length; i < iz; ++i) {
+            result.push(this.__leavelist[i].node);
+        }
+
+        return result;
+    };
+
+    // API:
+    // return current node
+    Controller.prototype.current = function current() {
+        return this.__current.node;
+    };
+
+    Controller.prototype.__execute = function __execute(callback, element) {
+        var previous, result;
+
+        result = undefined;
+
+        previous  = this.__current;
+        this.__current = element;
+        this.__state = null;
+        if (callback) {
+            result = callback.call(this, element.node, this.__leavelist[this.__leavelist.length - 1].node);
+        }
+        this.__current = previous;
+
+        return result;
+    };
+
+    // API:
+    // notify control skip / break
+    Controller.prototype.notify = function notify(flag) {
+        this.__state = flag;
+    };
+
+    // API:
+    // skip child nodes of current node
+    Controller.prototype.skip = function () {
+        this.notify(SKIP);
+    };
+
+    // API:
+    // break traversals
+    Controller.prototype['break'] = function () {
+        this.notify(BREAK);
+    };
+
+    // API:
+    // remove node
+    Controller.prototype.remove = function () {
+        this.notify(REMOVE);
+    };
+
+    Controller.prototype.__initialize = function(root, visitor) {
+        this.visitor = visitor;
+        this.root = root;
+        this.__worklist = [];
+        this.__leavelist = [];
+        this.__current = null;
+        this.__state = null;
+        this.__fallback = null;
+        if (visitor.fallback === 'iteration') {
+            this.__fallback = Object.keys;
+        } else if (typeof visitor.fallback === 'function') {
+            this.__fallback = visitor.fallback;
+        }
+
+        this.__keys = VisitorKeys;
+        if (visitor.keys) {
+            this.__keys = Object.assign(Object.create(this.__keys), visitor.keys);
+        }
+    };
+
+    function isNode(node) {
+        if (node == null) {
+            return false;
+        }
+        return typeof node === 'object' && typeof node.type === 'string';
+    }
+
+    function isProperty(nodeType, key) {
+        return (nodeType === Syntax.ObjectExpression || nodeType === Syntax.ObjectPattern) && 'properties' === key;
+    }
+  
+    function candidateExistsInLeaveList(leavelist, candidate) {
+        for (var i = leavelist.length - 1; i >= 0; --i) {
+            if (leavelist[i].node === candidate) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    Controller.prototype.traverse = function traverse(root, visitor) {
+        var worklist,
+            leavelist,
+            element,
+            node,
+            nodeType,
+            ret,
+            key,
+            current,
+            current2,
+            candidates,
+            candidate,
+            sentinel;
+
+        this.__initialize(root, visitor);
+
+        sentinel = {};
+
+        // reference
+        worklist = this.__worklist;
+        leavelist = this.__leavelist;
+
+        // initialize
+        worklist.push(new Element(root, null, null, null));
+        leavelist.push(new Element(null, null, null, null));
+
+        while (worklist.length) {
+            element = worklist.pop();
+
+            if (element === sentinel) {
+                element = leavelist.pop();
+
+                ret = this.__execute(visitor.leave, element);
+
+                if (this.__state === BREAK || ret === BREAK) {
+                    return;
+                }
+                continue;
+            }
+
+            if (element.node) {
+
+                ret = this.__execute(visitor.enter, element);
+
+                if (this.__state === BREAK || ret === BREAK) {
+                    return;
+                }
+
+                worklist.push(sentinel);
+                leavelist.push(element);
+
+                if (this.__state === SKIP || ret === SKIP) {
+                    continue;
+                }
+
+                node = element.node;
+                nodeType = node.type || element.wrap;
+                candidates = this.__keys[nodeType];
+                if (!candidates) {
+                    if (this.__fallback) {
+                        candidates = this.__fallback(node);
+                    } else {
+                        throw new Error('Unknown node type ' + nodeType + '.');
+                    }
+                }
+
+                current = candidates.length;
+                while ((current -= 1) >= 0) {
+                    key = candidates[current];
+                    candidate = node[key];
+                    if (!candidate) {
+                        continue;
+                    }
+
+                    if (Array.isArray(candidate)) {
+                        current2 = candidate.length;
+                        while ((current2 -= 1) >= 0) {
+                            if (!candidate[current2]) {
+                                continue;
+                            }
+
+                            if (candidateExistsInLeaveList(leavelist, candidate[current2])) {
+                              continue;
+                            }
+
+                            if (isProperty(nodeType, candidates[current])) {
+                                element = new Element(candidate[current2], [key, current2], 'Property', null);
+                            } else if (isNode(candidate[current2])) {
+                                element = new Element(candidate[current2], [key, current2], null, null);
+                            } else {
+                                continue;
+                            }
+                            worklist.push(element);
+                        }
+                    } else if (isNode(candidate)) {
+                        if (candidateExistsInLeaveList(leavelist, candidate)) {
+                          continue;
+                        }
+
+                        worklist.push(new Element(candidate, key, null, null));
+                    }
+                }
+            }
+        }
+    };
+
+    Controller.prototype.replace = function replace(root, visitor) {
+        var worklist,
+            leavelist,
+            node,
+            nodeType,
+            target,
+            element,
+            current,
+            current2,
+            candidates,
+            candidate,
+            sentinel,
+            outer,
+            key;
+
+        function removeElem(element) {
+            var i,
+                key,
+                nextElem,
+                parent;
+
+            if (element.ref.remove()) {
+                // When the reference is an element of an array.
+                key = element.ref.key;
+                parent = element.ref.parent;
+
+                // If removed from array, then decrease following items' keys.
+                i = worklist.length;
+                while (i--) {
+                    nextElem = worklist[i];
+                    if (nextElem.ref && nextElem.ref.parent === parent) {
+                        if  (nextElem.ref.key < key) {
+                            break;
+                        }
+                        --nextElem.ref.key;
+                    }
+                }
+            }
+        }
+
+        this.__initialize(root, visitor);
+
+        sentinel = {};
+
+        // reference
+        worklist = this.__worklist;
+        leavelist = this.__leavelist;
+
+        // initialize
+        outer = {
+            root: root
+        };
+        element = new Element(root, null, null, new Reference(outer, 'root'));
+        worklist.push(element);
+        leavelist.push(element);
+
+        while (worklist.length) {
+            element = worklist.pop();
+
+            if (element === sentinel) {
+                element = leavelist.pop();
+
+                target = this.__execute(visitor.leave, element);
+
+                // node may be replaced with null,
+                // so distinguish between undefined and null in this place
+                if (target !== undefined && target !== BREAK && target !== SKIP && target !== REMOVE) {
+                    // replace
+                    element.ref.replace(target);
+                }
+
+                if (this.__state === REMOVE || target === REMOVE) {
+                    removeElem(element);
+                }
+
+                if (this.__state === BREAK || target === BREAK) {
+                    return outer.root;
+                }
+                continue;
+            }
+
+            target = this.__execute(visitor.enter, element);
+
+            // node may be replaced with null,
+            // so distinguish between undefined and null in this place
+            if (target !== undefined && target !== BREAK && target !== SKIP && target !== REMOVE) {
+                // replace
+                element.ref.replace(target);
+                element.node = target;
+            }
+
+            if (this.__state === REMOVE || target === REMOVE) {
+                removeElem(element);
+                element.node = null;
+            }
+
+            if (this.__state === BREAK || target === BREAK) {
+                return outer.root;
+            }
+
+            // node may be null
+            node = element.node;
+            if (!node) {
+                continue;
+            }
+
+            worklist.push(sentinel);
+            leavelist.push(element);
+
+            if (this.__state === SKIP || target === SKIP) {
+                continue;
+            }
+
+            nodeType = node.type || element.wrap;
+            candidates = this.__keys[nodeType];
+            if (!candidates) {
+                if (this.__fallback) {
+                    candidates = this.__fallback(node);
+                } else {
+                    throw new Error('Unknown node type ' + nodeType + '.');
+                }
+            }
+
+            current = candidates.length;
+            while ((current -= 1) >= 0) {
+                key = candidates[current];
+                candidate = node[key];
+                if (!candidate) {
+                    continue;
+                }
+
+                if (Array.isArray(candidate)) {
+                    current2 = candidate.length;
+                    while ((current2 -= 1) >= 0) {
+                        if (!candidate[current2]) {
+                            continue;
+                        }
+                        if (isProperty(nodeType, candidates[current])) {
+                            element = new Element(candidate[current2], [key, current2], 'Property', new Reference(candidate, current2));
+                        } else if (isNode(candidate[current2])) {
+                            element = new Element(candidate[current2], [key, current2], null, new Reference(candidate, current2));
+                        } else {
+                            continue;
+                        }
+                        worklist.push(element);
+                    }
+                } else if (isNode(candidate)) {
+                    worklist.push(new Element(candidate, key, null, new Reference(node, key)));
+                }
+            }
+        }
+
+        return outer.root;
+    };
+
+    function traverse(root, visitor) {
+        var controller = new Controller();
+        return controller.traverse(root, visitor);
+    }
+
+    function replace(root, visitor) {
+        var controller = new Controller();
+        return controller.replace(root, visitor);
+    }
+
+    function extendCommentRange(comment, tokens) {
+        var target;
+
+        target = upperBound(tokens, function search(token) {
+            return token.range[0] > comment.range[0];
+        });
+
+        comment.extendedRange = [comment.range[0], comment.range[1]];
+
+        if (target !== tokens.length) {
+            comment.extendedRange[1] = tokens[target].range[0];
+        }
+
+        target -= 1;
+        if (target >= 0) {
+            comment.extendedRange[0] = tokens[target].range[1];
+        }
+
+        return comment;
+    }
+
+    function attachComments(tree, providedComments, tokens) {
+        // At first, we should calculate extended comment ranges.
+        var comments = [], comment, len, i, cursor;
+
+        if (!tree.range) {
+            throw new Error('attachComments needs range information');
+        }
+
+        // tokens array is empty, we attach comments to tree as 'leadingComments'
+        if (!tokens.length) {
+            if (providedComments.length) {
+                for (i = 0, len = providedComments.length; i < len; i += 1) {
+                    comment = deepCopy(providedComments[i]);
+                    comment.extendedRange = [0, tree.range[0]];
+                    comments.push(comment);
+                }
+                tree.leadingComments = comments;
+            }
+            return tree;
+        }
+
+        for (i = 0, len = providedComments.length; i < len; i += 1) {
+            comments.push(extendCommentRange(deepCopy(providedComments[i]), tokens));
+        }
+
+        // This is based on John Freeman's implementation.
+        cursor = 0;
+        traverse(tree, {
+            enter: function (node) {
+                var comment;
+
+                while (cursor < comments.length) {
+                    comment = comments[cursor];
+                    if (comment.extendedRange[1] > node.range[0]) {
+                        break;
+                    }
+
+                    if (comment.extendedRange[1] === node.range[0]) {
+                        if (!node.leadingComments) {
+                            node.leadingComments = [];
+                        }
+                        node.leadingComments.push(comment);
+                        comments.splice(cursor, 1);
+                    } else {
+                        cursor += 1;
+                    }
+                }
+
+                // already out of owned node
+                if (cursor === comments.length) {
+                    return VisitorOption.Break;
+                }
+
+                if (comments[cursor].extendedRange[0] > node.range[1]) {
+                    return VisitorOption.Skip;
+                }
+            }
+        });
+
+        cursor = 0;
+        traverse(tree, {
+            leave: function (node) {
+                var comment;
+
+                while (cursor < comments.length) {
+                    comment = comments[cursor];
+                    if (node.range[1] < comment.extendedRange[0]) {
+                        break;
+                    }
+
+                    if (node.range[1] === comment.extendedRange[0]) {
+                        if (!node.trailingComments) {
+                            node.trailingComments = [];
+                        }
+                        node.trailingComments.push(comment);
+                        comments.splice(cursor, 1);
+                    } else {
+                        cursor += 1;
+                    }
+                }
+
+                // already out of owned node
+                if (cursor === comments.length) {
+                    return VisitorOption.Break;
+                }
+
+                if (comments[cursor].extendedRange[0] > node.range[1]) {
+                    return VisitorOption.Skip;
+                }
+            }
+        });
+
+        return tree;
+    }
+
+    exports.Syntax = Syntax;
+    exports.traverse = traverse;
+    exports.replace = replace;
+    exports.attachComments = attachComments;
+    exports.VisitorKeys = VisitorKeys;
+    exports.VisitorOption = VisitorOption;
+    exports.Controller = Controller;
+    exports.cloneEnvironment = function () { return clone({}); };
+
+    return exports;
+}(exports));
+/* vim: set sw=4 ts=4 et tw=80 : */
diff --git a/node_modules/degenerator/node_modules/estraverse/gulpfile.js b/node_modules/degenerator/node_modules/estraverse/gulpfile.js
new file mode 100644
index 0000000..8772bbc
--- /dev/null
+++ b/node_modules/degenerator/node_modules/estraverse/gulpfile.js
@@ -0,0 +1,70 @@
+/*
+  Copyright (C) 2014 Yusuke Suzuki <[email protected]>
+
+  Redistribution and use in source and binary forms, with or without
+  modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright
+      notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+      notice, this list of conditions and the following disclaimer in the
+      documentation and/or other materials provided with the distribution.
+
+  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
+  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+  ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+  (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+'use strict';
+
+var gulp = require('gulp'),
+    git = require('gulp-git'),
+    bump = require('gulp-bump'),
+    filter = require('gulp-filter'),
+    tagVersion = require('gulp-tag-version');
+
+var TEST = [ 'test/*.js' ];
+var POWERED = [ 'powered-test/*.js' ];
+var SOURCE = [ 'src/**/*.js' ];
+
+/**
+ * Bumping version number and tagging the repository with it.
+ * Please read http://semver.org/
+ *
+ * You can use the commands
+ *
+ *     gulp patch     # makes v0.1.0 -> v0.1.1
+ *     gulp feature   # makes v0.1.1 -> v0.2.0
+ *     gulp release   # makes v0.2.1 -> v1.0.0
+ *
+ * To bump the version numbers accordingly after you did a patch,
+ * introduced a feature or made a backwards-incompatible release.
+ */
+
+function inc(importance) {
+    // get all the files to bump version in
+    return gulp.src(['./package.json'])
+        // bump the version number in those files
+        .pipe(bump({type: importance}))
+        // save it back to filesystem
+        .pipe(gulp.dest('./'))
+        // commit the changed version number
+        .pipe(git.commit('Bumps package version'))
+        // read only one file to get the version number
+        .pipe(filter('package.json'))
+        // **tag it in the repository**
+        .pipe(tagVersion({
+            prefix: ''
+        }));
+}
+
+gulp.task('patch', [ ], function () { return inc('patch'); })
+gulp.task('minor', [ ], function () { return inc('minor'); })
+gulp.task('major', [ ], function () { return inc('major'); })
diff --git a/node_modules/degenerator/node_modules/estraverse/package.json b/node_modules/degenerator/node_modules/estraverse/package.json
new file mode 100644
index 0000000..a863218
--- /dev/null
+++ b/node_modules/degenerator/node_modules/estraverse/package.json
@@ -0,0 +1,40 @@
+{
+  "name": "estraverse",
+  "description": "ECMAScript JS AST traversal functions",
+  "homepage": "https://github.com/estools/estraverse",
+  "main": "estraverse.js",
+  "version": "5.3.0",
+  "engines": {
+    "node": ">=4.0"
+  },
+  "maintainers": [
+    {
+      "name": "Yusuke Suzuki",
+      "email": "[email protected]",
+      "web": "http://github.com/Constellation"
+    }
+  ],
+  "repository": {
+    "type": "git",
+    "url": "http://github.com/estools/estraverse.git"
+  },
+  "devDependencies": {
+    "babel-preset-env": "^1.6.1",
+    "babel-register": "^6.3.13",
+    "chai": "^2.1.1",
+    "espree": "^1.11.0",
+    "gulp": "^3.8.10",
+    "gulp-bump": "^0.2.2",
+    "gulp-filter": "^2.0.0",
+    "gulp-git": "^1.0.1",
+    "gulp-tag-version": "^1.3.0",
+    "jshint": "^2.5.6",
+    "mocha": "^2.1.0"
+  },
+  "license": "BSD-2-Clause",
+  "scripts": {
+    "test": "npm run-script lint && npm run-script unit-test",
+    "lint": "jshint estraverse.js",
+    "unit-test": "mocha --compilers js:babel-register"
+  }
+}
diff --git a/node_modules/degenerator/node_modules/tslib/CopyrightNotice.txt b/node_modules/degenerator/node_modules/tslib/CopyrightNotice.txt
new file mode 100644
index 0000000..5d7d2d9
--- /dev/null
+++ b/node_modules/degenerator/node_modules/tslib/CopyrightNotice.txt
@@ -0,0 +1,15 @@
+/******************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+
diff --git a/node_modules/degenerator/node_modules/tslib/LICENSE.txt b/node_modules/degenerator/node_modules/tslib/LICENSE.txt
new file mode 100644
index 0000000..fa7d1bd
--- /dev/null
+++ b/node_modules/degenerator/node_modules/tslib/LICENSE.txt
@@ -0,0 +1,12 @@
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
\ No newline at end of file
diff --git a/node_modules/degenerator/node_modules/tslib/README.md b/node_modules/degenerator/node_modules/tslib/README.md
new file mode 100644
index 0000000..14b9a83
--- /dev/null
+++ b/node_modules/degenerator/node_modules/tslib/README.md
@@ -0,0 +1,164 @@
+# tslib
+
+This is a runtime library for [TypeScript](https://www.typescriptlang.org/) that contains all of the TypeScript helper functions.
+
+This library is primarily used by the `--importHelpers` flag in TypeScript.
+When using `--importHelpers`, a module that uses helper functions like `__extends` and `__assign` in the following emitted file:
+
+```ts
+var __assign = (this && this.__assign) || Object.assign || function(t) {
+    for (var s, i = 1, n = arguments.length; i < n; i++) {
+        s = arguments[i];
+        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
+            t[p] = s[p];
+    }
+    return t;
+};
+exports.x = {};
+exports.y = __assign({}, exports.x);
+
+```
+
+will instead be emitted as something like the following:
+
+```ts
+var tslib_1 = require("tslib");
+exports.x = {};
+exports.y = tslib_1.__assign({}, exports.x);
+```
+
+Because this can avoid duplicate declarations of things like `__extends`, `__assign`, etc., this means delivering users smaller files on average, as well as less runtime overhead.
+For optimized bundles with TypeScript, you should absolutely consider using `tslib` and `--importHelpers`.
+
+# Installing
+
+For the latest stable version, run:
+
+## npm
+
+```sh
+# TypeScript 3.9.2 or later
+npm install tslib
+
+# TypeScript 3.8.4 or earlier
+npm install tslib@^1
+
+# TypeScript 2.3.2 or earlier
+npm install [email protected]
+```
+
+## yarn
+
+```sh
+# TypeScript 3.9.2 or later
+yarn add tslib
+
+# TypeScript 3.8.4 or earlier
+yarn add tslib@^1
+
+# TypeScript 2.3.2 or earlier
+yarn add [email protected]
+```
+
+## bower
+
+```sh
+# TypeScript 3.9.2 or later
+bower install tslib
+
+# TypeScript 3.8.4 or earlier
+bower install tslib@^1
+
+# TypeScript 2.3.2 or earlier
+bower install [email protected]
+```
+
+## JSPM
+
+```sh
+# TypeScript 3.9.2 or later
+jspm install tslib
+
+# TypeScript 3.8.4 or earlier
+jspm install tslib@^1
+
+# TypeScript 2.3.2 or earlier
+jspm install [email protected]
+```
+
+# Usage
+
+Set the `importHelpers` compiler option on the command line:
+
+```
+tsc --importHelpers file.ts
+```
+
+or in your tsconfig.json:
+
+```json
+{
+    "compilerOptions": {
+        "importHelpers": true
+    }
+}
+```
+
+#### For bower and JSPM users
+
+You will need to add a `paths` mapping for `tslib`, e.g. For Bower users:
+
+```json
+{
+    "compilerOptions": {
+        "module": "amd",
+        "importHelpers": true,
+        "baseUrl": "./",
+        "paths": {
+            "tslib" : ["bower_components/tslib/tslib.d.ts"]
+        }
+    }
+}
+```
+
+For JSPM users:
+
+```json
+{
+    "compilerOptions": {
+        "module": "system",
+        "importHelpers": true,
+        "baseUrl": "./",
+        "paths": {
+            "tslib" : ["jspm_packages/npm/[email protected]/tslib.d.ts"]
+        }
+    }
+}
+```
+
+## Deployment
+
+- Choose your new version number
+- Set it in `package.json` and `bower.json`
+- Create a tag: `git tag [version]`
+- Push the tag: `git push --tags`
+- Create a [release in GitHub](https://github.com/microsoft/tslib/releases)
+- Run the [publish to npm](https://github.com/microsoft/tslib/actions?query=workflow%3A%22Publish+to+NPM%22) workflow
+
+Done.
+
+# Contribute
+
+There are many ways to [contribute](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md) to TypeScript.
+
+* [Submit bugs](https://github.com/Microsoft/TypeScript/issues) and help us verify fixes as they are checked in.
+* Review the [source code changes](https://github.com/Microsoft/TypeScript/pulls).
+* Engage with other TypeScript users and developers on [StackOverflow](http://stackoverflow.com/questions/tagged/typescript).
+* Join the [#typescript](http://twitter.com/#!/search/realtime/%23typescript) discussion on Twitter.
+* [Contribute bug fixes](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md).
+
+# Documentation
+
+* [Quick tutorial](http://www.typescriptlang.org/Tutorial)
+* [Programming handbook](http://www.typescriptlang.org/Handbook)
+* [Homepage](http://www.typescriptlang.org/)
diff --git a/node_modules/degenerator/node_modules/tslib/SECURITY.md b/node_modules/degenerator/node_modules/tslib/SECURITY.md
new file mode 100644
index 0000000..869fdfe
--- /dev/null
+++ b/node_modules/degenerator/node_modules/tslib/SECURITY.md
@@ -0,0 +1,41 @@
+<!-- BEGIN MICROSOFT SECURITY.MD V0.0.7 BLOCK -->
+
+## Security
+
+Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).
+
+If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below.
+
+## Reporting Security Issues
+
+**Please do not report security vulnerabilities through public GitHub issues.**
+
+Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report).
+
+If you prefer to submit without logging in, send email to [[email protected]](mailto:[email protected]).  If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey).
+
+You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). 
+
+Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
+
+  * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
+  * Full paths of source file(s) related to the manifestation of the issue
+  * The location of the affected source code (tag/branch/commit or direct URL)
+  * Any special configuration required to reproduce the issue
+  * Step-by-step instructions to reproduce the issue
+  * Proof-of-concept or exploit code (if possible)
+  * Impact of the issue, including how an attacker might exploit the issue
+
+This information will help us triage your report more quickly.
+
+If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs.
+
+## Preferred Languages
+
+We prefer all communications to be in English.
+
+## Policy
+
+Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd).
+
+<!-- END MICROSOFT SECURITY.MD BLOCK -->
diff --git a/node_modules/degenerator/node_modules/tslib/modules/index.d.ts b/node_modules/degenerator/node_modules/tslib/modules/index.d.ts
new file mode 100644
index 0000000..0fedae8
--- /dev/null
+++ b/node_modules/degenerator/node_modules/tslib/modules/index.d.ts
@@ -0,0 +1,37 @@
+// Note: named reexports are used instead of `export *` because
+// TypeScript itself doesn't resolve the `export *` when checking
+// if a particular helper exists.
+export {
+  __extends,
+  __assign,
+  __rest,
+  __decorate,
+  __param,
+  __esDecorate,
+  __runInitializers,
+  __propKey,
+  __setFunctionName,
+  __metadata,
+  __awaiter,
+  __generator,
+  __exportStar,
+  __values,
+  __read,
+  __spread,
+  __spreadArrays,
+  __spreadArray,
+  __await,
+  __asyncGenerator,
+  __asyncDelegator,
+  __asyncValues,
+  __makeTemplateObject,
+  __importStar,
+  __importDefault,
+  __classPrivateFieldGet,
+  __classPrivateFieldSet,
+  __classPrivateFieldIn,
+  __createBinding,
+  __addDisposableResource,
+  __disposeResources,
+} from '../tslib.js';
+export * as default from '../tslib.js';
diff --git a/node_modules/degenerator/node_modules/tslib/modules/index.js b/node_modules/degenerator/node_modules/tslib/modules/index.js
new file mode 100644
index 0000000..0c9dcd5
--- /dev/null
+++ b/node_modules/degenerator/node_modules/tslib/modules/index.js
@@ -0,0 +1,68 @@
+import tslib from '../tslib.js';
+const {
+    __extends,
+    __assign,
+    __rest,
+    __decorate,
+    __param,
+    __esDecorate,
+    __runInitializers,
+    __propKey,
+    __setFunctionName,
+    __metadata,
+    __awaiter,
+    __generator,
+    __exportStar,
+    __createBinding,
+    __values,
+    __read,
+    __spread,
+    __spreadArrays,
+    __spreadArray,
+    __await,
+    __asyncGenerator,
+    __asyncDelegator,
+    __asyncValues,
+    __makeTemplateObject,
+    __importStar,
+    __importDefault,
+    __classPrivateFieldGet,
+    __classPrivateFieldSet,
+    __classPrivateFieldIn,
+    __addDisposableResource,
+    __disposeResources,
+} = tslib;
+export {
+    __extends,
+    __assign,
+    __rest,
+    __decorate,
+    __param,
+    __esDecorate,
+    __runInitializers,
+    __propKey,
+    __setFunctionName,
+    __metadata,
+    __awaiter,
+    __generator,
+    __exportStar,
+    __createBinding,
+    __values,
+    __read,
+    __spread,
+    __spreadArrays,
+    __spreadArray,
+    __await,
+    __asyncGenerator,
+    __asyncDelegator,
+    __asyncValues,
+    __makeTemplateObject,
+    __importStar,
+    __importDefault,
+    __classPrivateFieldGet,
+    __classPrivateFieldSet,
+    __classPrivateFieldIn,
+    __addDisposableResource,
+    __disposeResources,
+};
+export default tslib;
diff --git a/node_modules/degenerator/node_modules/tslib/modules/package.json b/node_modules/degenerator/node_modules/tslib/modules/package.json
new file mode 100644
index 0000000..3dbc1ca
--- /dev/null
+++ b/node_modules/degenerator/node_modules/tslib/modules/package.json
@@ -0,0 +1,3 @@
+{
+  "type": "module"
+}
diff --git a/node_modules/degenerator/node_modules/tslib/package.json b/node_modules/degenerator/node_modules/tslib/package.json
new file mode 100644
index 0000000..3cd3ed0
--- /dev/null
+++ b/node_modules/degenerator/node_modules/tslib/package.json
@@ -0,0 +1,47 @@
+{
+  "name": "tslib",
+  "author": "Microsoft Corp.",
+  "homepage": "https://www.typescriptlang.org/",
+  "version": "2.6.1",
+  "license": "0BSD",
+  "description": "Runtime library for TypeScript helper functions",
+  "keywords": [
+    "TypeScript",
+    "Microsoft",
+    "compiler",
+    "language",
+    "javascript",
+    "tslib",
+    "runtime"
+  ],
+  "bugs": {
+    "url": "https://github.com/Microsoft/TypeScript/issues"
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/Microsoft/tslib.git"
+  },
+  "main": "tslib.js",
+  "module": "tslib.es6.js",
+  "jsnext:main": "tslib.es6.js",
+  "typings": "tslib.d.ts",
+  "sideEffects": false,
+  "exports": {
+    ".": {
+      "module": {
+        "types": "./tslib/modules/index.d.ts",
+        "default": "./tslib.es6.mjs"
+      },
+      "import": {
+        "node": "./modules/index.js",
+        "default": {
+          "types": "./modules/index.d.ts",
+          "default": "./tslib.es6.mjs"
+        }
+      },
+      "default": "./tslib.js"
+    },
+    "./*": "./*",
+    "./": "./"
+  }
+}
diff --git a/node_modules/degenerator/node_modules/tslib/tslib.d.ts b/node_modules/degenerator/node_modules/tslib/tslib.d.ts
new file mode 100644
index 0000000..95cbc4f
--- /dev/null
+++ b/node_modules/degenerator/node_modules/tslib/tslib.d.ts
@@ -0,0 +1,453 @@
+/******************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+
+/**
+ * Used to shim class extends.
+ *
+ * @param d The derived class.
+ * @param b The base class.
+ */
+export declare function __extends(d: Function, b: Function): void;
+
+/**
+ * Copy the values of all of the enumerable own properties from one or more source objects to a
+ * target object. Returns the target object.
+ *
+ * @param t The target object to copy to.
+ * @param sources One or more source objects from which to copy properties
+ */
+export declare function __assign(t: any, ...sources: any[]): any;
+
+/**
+ * Performs a rest spread on an object.
+ *
+ * @param t The source value.
+ * @param propertyNames The property names excluded from the rest spread.
+ */
+export declare function __rest(t: any, propertyNames: (string | symbol)[]): any;
+
+/**
+ * Applies decorators to a target object
+ *
+ * @param decorators The set of decorators to apply.
+ * @param target The target object.
+ * @param key If specified, the own property to apply the decorators to.
+ * @param desc The property descriptor, defaults to fetching the descriptor from the target object.
+ * @experimental
+ */
+export declare function __decorate(decorators: Function[], target: any, key?: string | symbol, desc?: any): any;
+
+/**
+ * Creates an observing function decorator from a parameter decorator.
+ *
+ * @param paramIndex The parameter index to apply the decorator to.
+ * @param decorator The parameter decorator to apply. Note that the return value is ignored.
+ * @experimental
+ */
+export declare function __param(paramIndex: number, decorator: Function): Function;
+
+/**
+ * Applies decorators to a class or class member, following the native ECMAScript decorator specification.
+ * @param ctor For non-field class members, the class constructor. Otherwise, `null`.
+ * @param descriptorIn The `PropertyDescriptor` to use when unable to look up the property from `ctor`.
+ * @param decorators The decorators to apply
+ * @param contextIn The `DecoratorContext` to clone for each decorator application.
+ * @param initializers An array of field initializer mutation functions into which new initializers are written.
+ * @param extraInitializers An array of extra initializer functions into which new initializers are written.
+ */
+export declare function __esDecorate(ctor: Function | null, descriptorIn: object | null, decorators: Function[], contextIn: object, initializers: Function[] | null, extraInitializers: Function[]): void;
+
+/**
+ * Runs field initializers or extra initializers generated by `__esDecorate`.
+ * @param thisArg The `this` argument to use.
+ * @param initializers The array of initializers to evaluate.
+ * @param value The initial value to pass to the initializers.
+ */
+export declare function __runInitializers(thisArg: unknown, initializers: Function[], value?: any): any;
+
+/**
+ * Converts a computed property name into a `string` or `symbol` value.
+ */
+export declare function __propKey(x: any): string | symbol;
+
+/**
+ * Assigns the name of a function derived from the left-hand side of an assignment.
+ * @param f The function to rename.
+ * @param name The new name for the function.
+ * @param prefix A prefix (such as `"get"` or `"set"`) to insert before the name.
+ */
+export declare function __setFunctionName(f: Function, name: string | symbol, prefix?: string): Function;
+
+/**
+ * Creates a decorator that sets metadata.
+ *
+ * @param metadataKey The metadata key
+ * @param metadataValue The metadata value
+ * @experimental
+ */
+export declare function __metadata(metadataKey: any, metadataValue: any): Function;
+
+/**
+ * Converts a generator function into a pseudo-async function, by treating each `yield` as an `await`.
+ *
+ * @param thisArg The reference to use as the `this` value in the generator function
+ * @param _arguments The optional arguments array
+ * @param P The optional promise constructor argument, defaults to the `Promise` property of the global object.
+ * @param generator The generator function
+ */
+export declare function __awaiter(thisArg: any, _arguments: any, P: Function, generator: Function): any;
+
+/**
+ * Creates an Iterator object using the body as the implementation.
+ *
+ * @param thisArg The reference to use as the `this` value in the function
+ * @param body The generator state-machine based implementation.
+ *
+ * @see [./docs/generator.md]
+ */
+export declare function __generator(thisArg: any, body: Function): any;
+
+/**
+ * Creates bindings for all enumerable properties of `m` on `exports`
+ *
+ * @param m The source object
+ * @param exports The `exports` object.
+ */
+export declare function __exportStar(m: any, o: any): void;
+
+/**
+ * Creates a value iterator from an `Iterable` or `ArrayLike` object.
+ *
+ * @param o The object.
+ * @throws {TypeError} If `o` is neither `Iterable`, nor an `ArrayLike`.
+ */
+export declare function __values(o: any): any;
+
+/**
+ * Reads values from an `Iterable` or `ArrayLike` object and returns the resulting array.
+ *
+ * @param o The object to read from.
+ * @param n The maximum number of arguments to read, defaults to `Infinity`.
+ */
+export declare function __read(o: any, n?: number): any[];
+
+/**
+ * Creates an array from iterable spread.
+ *
+ * @param args The Iterable objects to spread.
+ * @deprecated since TypeScript 4.2 - Use `__spreadArray`
+ */
+export declare function __spread(...args: any[][]): any[];
+
+/**
+ * Creates an array from array spread.
+ *
+ * @param args The ArrayLikes to spread into the resulting array.
+ * @deprecated since TypeScript 4.2 - Use `__spreadArray`
+ */
+export declare function __spreadArrays(...args: any[][]): any[];
+
+/**
+ * Spreads the `from` array into the `to` array.
+ *
+ * @param pack Replace empty elements with `undefined`.
+ */
+export declare function __spreadArray(to: any[], from: any[], pack?: boolean): any[];
+
+/**
+ * Creates an object that signals to `__asyncGenerator` that it shouldn't be yielded,
+ * and instead should be awaited and the resulting value passed back to the generator.
+ *
+ * @param v The value to await.
+ */
+export declare function __await(v: any): any;
+
+/**
+ * Converts a generator function into an async generator function, by using `yield __await`
+ * in place of normal `await`.
+ *
+ * @param thisArg The reference to use as the `this` value in the generator function
+ * @param _arguments The optional arguments array
+ * @param generator The generator function
+ */
+export declare function __asyncGenerator(thisArg: any, _arguments: any, generator: Function): any;
+
+/**
+ * Used to wrap a potentially async iterator in such a way so that it wraps the result
+ * of calling iterator methods of `o` in `__await` instances, and then yields the awaited values.
+ *
+ * @param o The potentially async iterator.
+ * @returns A synchronous iterator yielding `__await` instances on every odd invocation
+ *          and returning the awaited `IteratorResult` passed to `next` every even invocation.
+ */
+export declare function __asyncDelegator(o: any): any;
+
+/**
+ * Creates a value async iterator from an `AsyncIterable`, `Iterable` or `ArrayLike` object.
+ *
+ * @param o The object.
+ * @throws {TypeError} If `o` is neither `AsyncIterable`, `Iterable`, nor an `ArrayLike`.
+ */
+export declare function __asyncValues(o: any): any;
+
+/**
+ * Creates a `TemplateStringsArray` frozen object from the `cooked` and `raw` arrays.
+ *
+ * @param cooked The cooked possibly-sparse array.
+ * @param raw The raw string content.
+ */
+export declare function __makeTemplateObject(cooked: string[], raw: string[]): TemplateStringsArray;
+
+/**
+ * Used to shim default and named imports in ECMAScript Modules transpiled to CommonJS.
+ *
+ * ```js
+ * import Default, { Named, Other } from "mod";
+ * // or
+ * import { default as Default, Named, Other } from "mod";
+ * ```
+ *
+ * @param mod The CommonJS module exports object.
+ */
+export declare function __importStar<T>(mod: T): T;
+
+/**
+ * Used to shim default imports in ECMAScript Modules transpiled to CommonJS.
+ *
+ * ```js
+ * import Default from "mod";
+ * ```
+ *
+ * @param mod The CommonJS module exports object.
+ */
+export declare function __importDefault<T>(mod: T): T | { default: T };
+
+/**
+ * Emulates reading a private instance field.
+ *
+ * @param receiver The instance from which to read the private field.
+ * @param state A WeakMap containing the private field value for an instance.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ *
+ * @throws {TypeError} If `state` doesn't have an entry for `receiver`.
+ */
+export declare function __classPrivateFieldGet<T extends object, V>(
+    receiver: T,
+    state: { has(o: T): boolean, get(o: T): V | undefined },
+    kind?: "f"
+): V;
+
+/**
+ * Emulates reading a private static field.
+ *
+ * @param receiver The object from which to read the private static field.
+ * @param state The class constructor containing the definition of the static field.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ * @param f The descriptor that holds the static field value.
+ *
+ * @throws {TypeError} If `receiver` is not `state`.
+ */
+export declare function __classPrivateFieldGet<T extends new (...args: any[]) => unknown, V>(
+    receiver: T,
+    state: T,
+    kind: "f",
+    f: { value: V }
+): V;
+
+/**
+ * Emulates evaluating a private instance "get" accessor.
+ *
+ * @param receiver The instance on which to evaluate the private "get" accessor.
+ * @param state A WeakSet used to verify an instance supports the private "get" accessor.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ * @param f The "get" accessor function to evaluate.
+ *
+ * @throws {TypeError} If `state` doesn't have an entry for `receiver`.
+ */
+export declare function __classPrivateFieldGet<T extends object, V>(
+    receiver: T,
+    state: { has(o: T): boolean },
+    kind: "a",
+    f: () => V
+): V;
+
+/**
+ * Emulates evaluating a private static "get" accessor.
+ *
+ * @param receiver The object on which to evaluate the private static "get" accessor.
+ * @param state The class constructor containing the definition of the static "get" accessor.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ * @param f The "get" accessor function to evaluate.
+ *
+ * @throws {TypeError} If `receiver` is not `state`.
+ */
+export declare function __classPrivateFieldGet<T extends new (...args: any[]) => unknown, V>(
+    receiver: T,
+    state: T,
+    kind: "a",
+    f: () => V
+): V;
+
+/**
+ * Emulates reading a private instance method.
+ *
+ * @param receiver The instance from which to read a private method.
+ * @param state A WeakSet used to verify an instance supports the private method.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ * @param f The function to return as the private instance method.
+ *
+ * @throws {TypeError} If `state` doesn't have an entry for `receiver`.
+ */
+export declare function __classPrivateFieldGet<T extends object, V extends (...args: any[]) => unknown>(
+    receiver: T,
+    state: { has(o: T): boolean },
+    kind: "m",
+    f: V
+): V;
+
+/**
+ * Emulates reading a private static method.
+ *
+ * @param receiver The object from which to read the private static method.
+ * @param state The class constructor containing the definition of the static method.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ * @param f The function to return as the private static method.
+ *
+ * @throws {TypeError} If `receiver` is not `state`.
+ */
+export declare function __classPrivateFieldGet<T extends new (...args: any[]) => unknown, V extends (...args: any[]) => unknown>(
+    receiver: T,
+    state: T,
+    kind: "m",
+    f: V
+): V;
+
+/**
+ * Emulates writing to a private instance field.
+ *
+ * @param receiver The instance on which to set a private field value.
+ * @param state A WeakMap used to store the private field value for an instance.
+ * @param value The value to store in the private field.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ *
+ * @throws {TypeError} If `state` doesn't have an entry for `receiver`.
+ */
+export declare function __classPrivateFieldSet<T extends object, V>(
+    receiver: T,
+    state: { has(o: T): boolean, set(o: T, value: V): unknown },
+    value: V,
+    kind?: "f"
+): V;
+
+/**
+ * Emulates writing to a private static field.
+ *
+ * @param receiver The object on which to set the private static field.
+ * @param state The class constructor containing the definition of the private static field.
+ * @param value The value to store in the private field.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ * @param f The descriptor that holds the static field value.
+ *
+ * @throws {TypeError} If `receiver` is not `state`.
+ */
+export declare function __classPrivateFieldSet<T extends new (...args: any[]) => unknown, V>(
+    receiver: T,
+    state: T,
+    value: V,
+    kind: "f",
+    f: { value: V }
+): V;
+
+/**
+ * Emulates writing to a private instance "set" accessor.
+ *
+ * @param receiver The instance on which to evaluate the private instance "set" accessor.
+ * @param state A WeakSet used to verify an instance supports the private "set" accessor.
+ * @param value The value to store in the private accessor.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ * @param f The "set" accessor function to evaluate.
+ *
+ * @throws {TypeError} If `state` doesn't have an entry for `receiver`.
+ */
+export declare function __classPrivateFieldSet<T extends object, V>(
+    receiver: T,
+    state: { has(o: T): boolean },
+    value: V,
+    kind: "a",
+    f: (v: V) => void
+): V;
+
+/**
+ * Emulates writing to a private static "set" accessor.
+ *
+ * @param receiver The object on which to evaluate the private static "set" accessor.
+ * @param state The class constructor containing the definition of the static "set" accessor.
+ * @param value The value to store in the private field.
+ * @param kind Either `"f"` for a field, `"a"` for an accessor, or `"m"` for a method.
+ * @param f The "set" accessor function to evaluate.
+ *
+ * @throws {TypeError} If `receiver` is not `state`.
+ */
+export declare function __classPrivateFieldSet<T extends new (...args: any[]) => unknown, V>(
+    receiver: T,
+    state: T,
+    value: V,
+    kind: "a",
+    f: (v: V) => void
+): V;
+
+/**
+ * Checks for the existence of a private field/method/accessor.
+ *
+ * @param state The class constructor containing the static member, or the WeakMap or WeakSet associated with a private instance member.
+ * @param receiver The object for which to test the presence of the private member.
+ */
+export declare function __classPrivateFieldIn(
+    state: (new (...args: any[]) => unknown) | { has(o: any): boolean },
+    receiver: unknown,
+): boolean;
+
+/**
+ * Creates a re-export binding on `object` with key `objectKey` that references `target[key]`.
+ *
+ * @param object The local `exports` object.
+ * @param target The object to re-export from.
+ * @param key The property key of `target` to re-export.
+ * @param objectKey The property key to re-export as. Defaults to `key`.
+ */
+export declare function __createBinding(object: object, target: object, key: PropertyKey, objectKey?: PropertyKey): void;
+
+/**
+ * Adds a disposable resource to a resource-tracking environment object.
+ * @param env A resource-tracking environment object.
+ * @param value Either a Disposable or AsyncDisposable object, `null`, or `undefined`.
+ * @param async When `true`, `AsyncDisposable` resources can be added. When `false`, `AsyncDisposable` resources cannot be added.
+ * @returns The {@link value} argument.
+ *
+ * @throws {TypeError} If {@link value} is not an object, or if either `Symbol.dispose` or `Symbol.asyncDispose` are not
+ * defined, or if {@link value} does not have an appropriate `Symbol.dispose` or `Symbol.asyncDispose` method.
+ */
+export declare function __addDisposableResource<T>(env: { stack: { value?: unknown, dispose?: Function, async: boolean }[]; error: unknown; hasError: boolean; }, value: T, async: boolean): T;
+
+/**
+ * Disposes all resources in a resource-tracking environment object.
+ * @param env A resource-tracking environment object.
+ * @returns A {@link Promise} if any resources in the environment were marked as `async` when added; otherwise, `void`.
+ *
+ * @throws {SuppressedError} if an error thrown during disposal would have suppressed a prior error from disposal or the
+ * error recorded in the resource-tracking environment object.
+ * @seealso {@link __addDisposableResource}
+ */
+export declare function __disposeResources(env: { stack: { value?: unknown, dispose?: Function, async: boolean }[]; error: unknown; hasError: boolean; }): any;
diff --git a/node_modules/degenerator/node_modules/tslib/tslib.es6.html b/node_modules/degenerator/node_modules/tslib/tslib.es6.html
new file mode 100644
index 0000000..b122e41
--- /dev/null
+++ b/node_modules/degenerator/node_modules/tslib/tslib.es6.html
@@ -0,0 +1 @@
+<script src="tslib.es6.js"></script>
\ No newline at end of file
diff --git a/node_modules/degenerator/node_modules/tslib/tslib.es6.js b/node_modules/degenerator/node_modules/tslib/tslib.es6.js
new file mode 100644
index 0000000..66174fb
--- /dev/null
+++ b/node_modules/degenerator/node_modules/tslib/tslib.es6.js
@@ -0,0 +1,370 @@
+/******************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+/* global Reflect, Promise, SuppressedError, Symbol */
+
+var extendStatics = function(d, b) {
+    extendStatics = Object.setPrototypeOf ||
+        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
+    return extendStatics(d, b);
+};
+
+export function __extends(d, b) {
+    if (typeof b !== "function" && b !== null)
+        throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+    extendStatics(d, b);
+    function __() { this.constructor = d; }
+    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+export var __assign = function() {
+    __assign = Object.assign || function __assign(t) {
+        for (var s, i = 1, n = arguments.length; i < n; i++) {
+            s = arguments[i];
+            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+        }
+        return t;
+    }
+    return __assign.apply(this, arguments);
+}
+
+export function __rest(s, e) {
+    var t = {};
+    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
+        t[p] = s[p];
+    if (s != null && typeof Object.getOwnPropertySymbols === "function")
+        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
+            if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
+                t[p[i]] = s[p[i]];
+        }
+    return t;
+}
+
+export function __decorate(decorators, target, key, desc) {
+    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+    return c > 3 && r && Object.defineProperty(target, key, r), r;
+}
+
+export function __param(paramIndex, decorator) {
+    return function (target, key) { decorator(target, key, paramIndex); }
+}
+
+export function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
+    function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
+    var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
+    var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
+    var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
+    var _, done = false;
+    for (var i = decorators.length - 1; i >= 0; i--) {
+        var context = {};
+        for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
+        for (var p in contextIn.access) context.access[p] = contextIn.access[p];
+        context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
+        var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
+        if (kind === "accessor") {
+            if (result === void 0) continue;
+            if (result === null || typeof result !== "object") throw new TypeError("Object expected");
+            if (_ = accept(result.get)) descriptor.get = _;
+            if (_ = accept(result.set)) descriptor.set = _;
+            if (_ = accept(result.init)) initializers.unshift(_);
+        }
+        else if (_ = accept(result)) {
+            if (kind === "field") initializers.unshift(_);
+            else descriptor[key] = _;
+        }
+    }
+    if (target) Object.defineProperty(target, contextIn.name, descriptor);
+    done = true;
+};
+
+export function __runInitializers(thisArg, initializers, value) {
+    var useValue = arguments.length > 2;
+    for (var i = 0; i < initializers.length; i++) {
+        value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
+    }
+    return useValue ? value : void 0;
+};
+
+export function __propKey(x) {
+    return typeof x === "symbol" ? x : "".concat(x);
+};
+
+export function __setFunctionName(f, name, prefix) {
+    if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
+    return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
+};
+
+export function __metadata(metadataKey, metadataValue) {
+    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
+}
+
+export function __awaiter(thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+}
+
+export function __generator(thisArg, body) {
+    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+    function verb(n) { return function (v) { return step([n, v]); }; }
+    function step(op) {
+        if (f) throw new TypeError("Generator is already executing.");
+        while (g && (g = 0, op[0] && (_ = 0)), _) try {
+            if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+            if (y = 0, t) op = [op[0] & 2, t.value];
+            switch (op[0]) {
+                case 0: case 1: t = op; break;
+                case 4: _.label++; return { value: op[1], done: false };
+                case 5: _.label++; y = op[1]; op = [0]; continue;
+                case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                default:
+                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                    if (t[2]) _.ops.pop();
+                    _.trys.pop(); continue;
+            }
+            op = body.call(thisArg, _);
+        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+    }
+}
+
+export var __createBinding = Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+        desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+});
+
+export function __exportStar(m, o) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
+}
+
+export function __values(o) {
+    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+    if (m) return m.call(o);
+    if (o && typeof o.length === "number") return {
+        next: function () {
+            if (o && i >= o.length) o = void 0;
+            return { value: o && o[i++], done: !o };
+        }
+    };
+    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+}
+
+export function __read(o, n) {
+    var m = typeof Symbol === "function" && o[Symbol.iterator];
+    if (!m) return o;
+    var i = m.call(o), r, ar = [], e;
+    try {
+        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+    }
+    catch (error) { e = { error: error }; }
+    finally {
+        try {
+            if (r && !r.done && (m = i["return"])) m.call(i);
+        }
+        finally { if (e) throw e.error; }
+    }
+    return ar;
+}
+
+/** @deprecated */
+export function __spread() {
+    for (var ar = [], i = 0; i < arguments.length; i++)
+        ar = ar.concat(__read(arguments[i]));
+    return ar;
+}
+
+/** @deprecated */
+export function __spreadArrays() {
+    for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
+    for (var r = Array(s), k = 0, i = 0; i < il; i++)
+        for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
+            r[k] = a[j];
+    return r;
+}
+
+export function __spreadArray(to, from, pack) {
+    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+        if (ar || !(i in from)) {
+            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+            ar[i] = from[i];
+        }
+    }
+    return to.concat(ar || Array.prototype.slice.call(from));
+}
+
+export function __await(v) {
+    return this instanceof __await ? (this.v = v, this) : new __await(v);
+}
+
+export function __asyncGenerator(thisArg, _arguments, generator) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var g = generator.apply(thisArg, _arguments || []), i, q = [];
+    return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+    function fulfill(value) { resume("next", value); }
+    function reject(value) { resume("throw", value); }
+    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+}
+
+export function __asyncDelegator(o) {
+    var i, p;
+    return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
+    function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
+}
+
+export function __asyncValues(o) {
+    if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+    var m = o[Symbol.asyncIterator], i;
+    return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
+    function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
+    function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
+}
+
+export function __makeTemplateObject(cooked, raw) {
+    if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
+    return cooked;
+};
+
+var __setModuleDefault = Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+};
+
+export function __importStar(mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+}
+
+export function __importDefault(mod) {
+    return (mod && mod.__esModule) ? mod : { default: mod };
+}
+
+export function __classPrivateFieldGet(receiver, state, kind, f) {
+    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
+    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
+    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
+}
+
+export function __classPrivateFieldSet(receiver, state, value, kind, f) {
+    if (kind === "m") throw new TypeError("Private method is not writable");
+    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
+    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
+    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
+}
+
+export function __classPrivateFieldIn(state, receiver) {
+    if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
+    return typeof state === "function" ? receiver === state : state.has(receiver);
+}
+
+export function __addDisposableResource(env, value, async) {
+    if (value !== null && value !== void 0) {
+        if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
+        var dispose;
+        if (async) {
+            if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
+            dispose = value[Symbol.asyncDispose];
+        }
+        if (dispose === void 0) {
+            if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
+            dispose = value[Symbol.dispose];
+        }
+        if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
+        env.stack.push({ value: value, dispose: dispose, async: async });
+    }
+    else if (async) {
+        env.stack.push({ async: true });
+    }
+    return value;
+}
+
+var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
+    var e = new Error(message);
+    return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
+};
+
+export function __disposeResources(env) {
+    function fail(e) {
+        env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
+        env.hasError = true;
+    }
+    function next() {
+        while (env.stack.length) {
+            var rec = env.stack.pop();
+            try {
+                var result = rec.dispose && rec.dispose.call(rec.value);
+                if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
+            }
+            catch (e) {
+                fail(e);
+            }
+        }
+        if (env.hasError) throw env.error;
+    }
+    return next();
+}
+
+export default {
+    __extends: __extends,
+    __assign: __assign,
+    __rest: __rest,
+    __decorate: __decorate,
+    __param: __param,
+    __metadata: __metadata,
+    __awaiter: __awaiter,
+    __generator: __generator,
+    __createBinding: __createBinding,
+    __exportStar: __exportStar,
+    __values: __values,
+    __read: __read,
+    __spread: __spread,
+    __spreadArrays: __spreadArrays,
+    __spreadArray: __spreadArray,
+    __await: __await,
+    __asyncGenerator: __asyncGenerator,
+    __asyncDelegator: __asyncDelegator,
+    __asyncValues: __asyncValues,
+    __makeTemplateObject: __makeTemplateObject,
+    __importStar: __importStar,
+    __importDefault: __importDefault,
+    __classPrivateFieldGet: __classPrivateFieldGet,
+    __classPrivateFieldSet: __classPrivateFieldSet,
+    __classPrivateFieldIn: __classPrivateFieldIn,
+    __addDisposableResource: __addDisposableResource,
+    __disposeResources: __disposeResources,
+};
diff --git a/node_modules/degenerator/node_modules/tslib/tslib.es6.mjs b/node_modules/degenerator/node_modules/tslib/tslib.es6.mjs
new file mode 100644
index 0000000..c8e2999
--- /dev/null
+++ b/node_modules/degenerator/node_modules/tslib/tslib.es6.mjs
@@ -0,0 +1,370 @@
+/******************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+/* global Reflect, Promise, SuppressedError, Symbol */
+
+var extendStatics = function(d, b) {
+  extendStatics = Object.setPrototypeOf ||
+      ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+      function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
+  return extendStatics(d, b);
+};
+
+export function __extends(d, b) {
+  if (typeof b !== "function" && b !== null)
+      throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+  extendStatics(d, b);
+  function __() { this.constructor = d; }
+  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+export var __assign = function() {
+  __assign = Object.assign || function __assign(t) {
+      for (var s, i = 1, n = arguments.length; i < n; i++) {
+          s = arguments[i];
+          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+      }
+      return t;
+  }
+  return __assign.apply(this, arguments);
+}
+
+export function __rest(s, e) {
+  var t = {};
+  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
+      t[p] = s[p];
+  if (s != null && typeof Object.getOwnPropertySymbols === "function")
+      for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
+          if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
+              t[p[i]] = s[p[i]];
+      }
+  return t;
+}
+
+export function __decorate(decorators, target, key, desc) {
+  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+  return c > 3 && r && Object.defineProperty(target, key, r), r;
+}
+
+export function __param(paramIndex, decorator) {
+  return function (target, key) { decorator(target, key, paramIndex); }
+}
+
+export function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
+  function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
+  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
+  var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
+  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
+  var _, done = false;
+  for (var i = decorators.length - 1; i >= 0; i--) {
+      var context = {};
+      for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
+      for (var p in contextIn.access) context.access[p] = contextIn.access[p];
+      context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
+      var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
+      if (kind === "accessor") {
+          if (result === void 0) continue;
+          if (result === null || typeof result !== "object") throw new TypeError("Object expected");
+          if (_ = accept(result.get)) descriptor.get = _;
+          if (_ = accept(result.set)) descriptor.set = _;
+          if (_ = accept(result.init)) initializers.unshift(_);
+      }
+      else if (_ = accept(result)) {
+          if (kind === "field") initializers.unshift(_);
+          else descriptor[key] = _;
+      }
+  }
+  if (target) Object.defineProperty(target, contextIn.name, descriptor);
+  done = true;
+};
+
+export function __runInitializers(thisArg, initializers, value) {
+  var useValue = arguments.length > 2;
+  for (var i = 0; i < initializers.length; i++) {
+      value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
+  }
+  return useValue ? value : void 0;
+};
+
+export function __propKey(x) {
+  return typeof x === "symbol" ? x : "".concat(x);
+};
+
+export function __setFunctionName(f, name, prefix) {
+  if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
+  return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
+};
+
+export function __metadata(metadataKey, metadataValue) {
+  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
+}
+
+export function __awaiter(thisArg, _arguments, P, generator) {
+  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+  return new (P || (P = Promise))(function (resolve, reject) {
+      function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+      function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+      function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+      step((generator = generator.apply(thisArg, _arguments || [])).next());
+  });
+}
+
+export function __generator(thisArg, body) {
+  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+  return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+  function verb(n) { return function (v) { return step([n, v]); }; }
+  function step(op) {
+      if (f) throw new TypeError("Generator is already executing.");
+      while (g && (g = 0, op[0] && (_ = 0)), _) try {
+          if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+          if (y = 0, t) op = [op[0] & 2, t.value];
+          switch (op[0]) {
+              case 0: case 1: t = op; break;
+              case 4: _.label++; return { value: op[1], done: false };
+              case 5: _.label++; y = op[1]; op = [0]; continue;
+              case 7: op = _.ops.pop(); _.trys.pop(); continue;
+              default:
+                  if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                  if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                  if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                  if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                  if (t[2]) _.ops.pop();
+                  _.trys.pop(); continue;
+          }
+          op = body.call(thisArg, _);
+      } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+      if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+  }
+}
+
+export var __createBinding = Object.create ? (function(o, m, k, k2) {
+  if (k2 === undefined) k2 = k;
+  var desc = Object.getOwnPropertyDescriptor(m, k);
+  if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+  }
+  Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+  if (k2 === undefined) k2 = k;
+  o[k2] = m[k];
+});
+
+export function __exportStar(m, o) {
+  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
+}
+
+export function __values(o) {
+  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+  if (m) return m.call(o);
+  if (o && typeof o.length === "number") return {
+      next: function () {
+          if (o && i >= o.length) o = void 0;
+          return { value: o && o[i++], done: !o };
+      }
+  };
+  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+}
+
+export function __read(o, n) {
+  var m = typeof Symbol === "function" && o[Symbol.iterator];
+  if (!m) return o;
+  var i = m.call(o), r, ar = [], e;
+  try {
+      while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+  }
+  catch (error) { e = { error: error }; }
+  finally {
+      try {
+          if (r && !r.done && (m = i["return"])) m.call(i);
+      }
+      finally { if (e) throw e.error; }
+  }
+  return ar;
+}
+
+/** @deprecated */
+export function __spread() {
+  for (var ar = [], i = 0; i < arguments.length; i++)
+      ar = ar.concat(__read(arguments[i]));
+  return ar;
+}
+
+/** @deprecated */
+export function __spreadArrays() {
+  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
+  for (var r = Array(s), k = 0, i = 0; i < il; i++)
+      for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
+          r[k] = a[j];
+  return r;
+}
+
+export function __spreadArray(to, from, pack) {
+  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+      if (ar || !(i in from)) {
+          if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+          ar[i] = from[i];
+      }
+  }
+  return to.concat(ar || Array.prototype.slice.call(from));
+}
+
+export function __await(v) {
+  return this instanceof __await ? (this.v = v, this) : new __await(v);
+}
+
+export function __asyncGenerator(thisArg, _arguments, generator) {
+  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+  var g = generator.apply(thisArg, _arguments || []), i, q = [];
+  return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+  function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+  function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+  function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
+  function fulfill(value) { resume("next", value); }
+  function reject(value) { resume("throw", value); }
+  function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+}
+
+export function __asyncDelegator(o) {
+  var i, p;
+  return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
+  function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
+}
+
+export function __asyncValues(o) {
+  if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+  var m = o[Symbol.asyncIterator], i;
+  return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
+  function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
+  function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
+}
+
+export function __makeTemplateObject(cooked, raw) {
+  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
+  return cooked;
+};
+
+var __setModuleDefault = Object.create ? (function(o, v) {
+  Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+  o["default"] = v;
+};
+
+export function __importStar(mod) {
+  if (mod && mod.__esModule) return mod;
+  var result = {};
+  if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+  __setModuleDefault(result, mod);
+  return result;
+}
+
+export function __importDefault(mod) {
+  return (mod && mod.__esModule) ? mod : { default: mod };
+}
+
+export function __classPrivateFieldGet(receiver, state, kind, f) {
+  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
+  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
+  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
+}
+
+export function __classPrivateFieldSet(receiver, state, value, kind, f) {
+  if (kind === "m") throw new TypeError("Private method is not writable");
+  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
+  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
+  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
+}
+
+export function __classPrivateFieldIn(state, receiver) {
+  if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
+  return typeof state === "function" ? receiver === state : state.has(receiver);
+}
+
+export function __addDisposableResource(env, value, async) {
+  if (value !== null && value !== void 0) {
+    if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
+    var dispose;
+    if (async) {
+        if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
+        dispose = value[Symbol.asyncDispose];
+    }
+    if (dispose === void 0) {
+        if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
+        dispose = value[Symbol.dispose];
+    }
+    if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
+    env.stack.push({ value: value, dispose: dispose, async: async });
+  }
+  else if (async) {
+    env.stack.push({ async: true });
+  }
+  return value;
+}
+
+var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
+  var e = new Error(message);
+  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
+};
+
+export function __disposeResources(env) {
+  function fail(e) {
+    env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
+    env.hasError = true;
+  }
+  function next() {
+    while (env.stack.length) {
+      var rec = env.stack.pop();
+      try {
+        var result = rec.dispose && rec.dispose.call(rec.value);
+        if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
+      }
+      catch (e) {
+          fail(e);
+      }
+    }
+    if (env.hasError) throw env.error;
+  }
+  return next();
+}
+
+export default {
+  __extends,
+  __assign,
+  __rest,
+  __decorate,
+  __param,
+  __metadata,
+  __awaiter,
+  __generator,
+  __createBinding,
+  __exportStar,
+  __values,
+  __read,
+  __spread,
+  __spreadArrays,
+  __spreadArray,
+  __await,
+  __asyncGenerator,
+  __asyncDelegator,
+  __asyncValues,
+  __makeTemplateObject,
+  __importStar,
+  __importDefault,
+  __classPrivateFieldGet,
+  __classPrivateFieldSet,
+  __classPrivateFieldIn,
+  __addDisposableResource,
+  __disposeResources,
+};
diff --git a/node_modules/degenerator/node_modules/tslib/tslib.html b/node_modules/degenerator/node_modules/tslib/tslib.html
new file mode 100644
index 0000000..44c9ba5
--- /dev/null
+++ b/node_modules/degenerator/node_modules/tslib/tslib.html
@@ -0,0 +1 @@
+<script src="tslib.js"></script>
\ No newline at end of file
diff --git a/node_modules/degenerator/node_modules/tslib/tslib.js b/node_modules/degenerator/node_modules/tslib/tslib.js
new file mode 100644
index 0000000..7c53293
--- /dev/null
+++ b/node_modules/degenerator/node_modules/tslib/tslib.js
@@ -0,0 +1,421 @@
+/******************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+/* global global, define, Symbol, Reflect, Promise, SuppressedError */
+var __extends;
+var __assign;
+var __rest;
+var __decorate;
+var __param;
+var __esDecorate;
+var __runInitializers;
+var __propKey;
+var __setFunctionName;
+var __metadata;
+var __awaiter;
+var __generator;
+var __exportStar;
+var __values;
+var __read;
+var __spread;
+var __spreadArrays;
+var __spreadArray;
+var __await;
+var __asyncGenerator;
+var __asyncDelegator;
+var __asyncValues;
+var __makeTemplateObject;
+var __importStar;
+var __importDefault;
+var __classPrivateFieldGet;
+var __classPrivateFieldSet;
+var __classPrivateFieldIn;
+var __createBinding;
+var __addDisposableResource;
+var __disposeResources;
+(function (factory) {
+    var root = typeof global === "object" ? global : typeof self === "object" ? self : typeof this === "object" ? this : {};
+    if (typeof define === "function" && define.amd) {
+        define("tslib", ["exports"], function (exports) { factory(createExporter(root, createExporter(exports))); });
+    }
+    else if (typeof module === "object" && typeof module.exports === "object") {
+        factory(createExporter(root, createExporter(module.exports)));
+    }
+    else {
+        factory(createExporter(root));
+    }
+    function createExporter(exports, previous) {
+        if (exports !== root) {
+            if (typeof Object.create === "function") {
+                Object.defineProperty(exports, "__esModule", { value: true });
+            }
+            else {
+                exports.__esModule = true;
+            }
+        }
+        return function (id, v) { return exports[id] = previous ? previous(id, v) : v; };
+    }
+})
+(function (exporter) {
+    var extendStatics = Object.setPrototypeOf ||
+        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+        function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
+
+    __extends = function (d, b) {
+        if (typeof b !== "function" && b !== null)
+            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
+        extendStatics(d, b);
+        function __() { this.constructor = d; }
+        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+    };
+
+    __assign = Object.assign || function (t) {
+        for (var s, i = 1, n = arguments.length; i < n; i++) {
+            s = arguments[i];
+            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+        }
+        return t;
+    };
+
+    __rest = function (s, e) {
+        var t = {};
+        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
+            t[p] = s[p];
+        if (s != null && typeof Object.getOwnPropertySymbols === "function")
+            for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
+                if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
+                    t[p[i]] = s[p[i]];
+            }
+        return t;
+    };
+
+    __decorate = function (decorators, target, key, desc) {
+        var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+        if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+        else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+        return c > 3 && r && Object.defineProperty(target, key, r), r;
+    };
+
+    __param = function (paramIndex, decorator) {
+        return function (target, key) { decorator(target, key, paramIndex); }
+    };
+
+    __esDecorate = function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
+        function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
+        var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
+        var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
+        var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
+        var _, done = false;
+        for (var i = decorators.length - 1; i >= 0; i--) {
+            var context = {};
+            for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
+            for (var p in contextIn.access) context.access[p] = contextIn.access[p];
+            context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
+            var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
+            if (kind === "accessor") {
+                if (result === void 0) continue;
+                if (result === null || typeof result !== "object") throw new TypeError("Object expected");
+                if (_ = accept(result.get)) descriptor.get = _;
+                if (_ = accept(result.set)) descriptor.set = _;
+                if (_ = accept(result.init)) initializers.unshift(_);
+            }
+            else if (_ = accept(result)) {
+                if (kind === "field") initializers.unshift(_);
+                else descriptor[key] = _;
+            }
+        }
+        if (target) Object.defineProperty(target, contextIn.name, descriptor);
+        done = true;
+    };
+
+    __runInitializers = function (thisArg, initializers, value) {
+        var useValue = arguments.length > 2;
+        for (var i = 0; i < initializers.length; i++) {
+            value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
+        }
+        return useValue ? value : void 0;
+    };
+
+    __propKey = function (x) {
+        return typeof x === "symbol" ? x : "".concat(x);
+    };
+
+    __setFunctionName = function (f, name, prefix) {
+        if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
+        return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
+    };
+
+    __metadata = function (metadataKey, metadataValue) {
+        if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
+    };
+
+    __awaiter = function (thisArg, _arguments, P, generator) {
+        function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+        return new (P || (P = Promise))(function (resolve, reject) {
+            function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+            function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+            function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+            step((generator = generator.apply(thisArg, _arguments || [])).next());
+        });
+    };
+
+    __generator = function (thisArg, body) {
+        var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
+        return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
+        function verb(n) { return function (v) { return step([n, v]); }; }
+        function step(op) {
+            if (f) throw new TypeError("Generator is already executing.");
+            while (g && (g = 0, op[0] && (_ = 0)), _) try {
+                if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
+                if (y = 0, t) op = [op[0] & 2, t.value];
+                switch (op[0]) {
+                    case 0: case 1: t = op; break;
+                    case 4: _.label++; return { value: op[1], done: false };
+                    case 5: _.label++; y = op[1]; op = [0]; continue;
+                    case 7: op = _.ops.pop(); _.trys.pop(); continue;
+                    default:
+                        if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
+                        if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
+                        if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
+                        if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
+                        if (t[2]) _.ops.pop();
+                        _.trys.pop(); continue;
+                }
+                op = body.call(thisArg, _);
+            } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
+            if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
+        }
+    };
+
+    __exportStar = function(m, o) {
+        for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);
+    };
+
+    __createBinding = Object.create ? (function(o, m, k, k2) {
+        if (k2 === undefined) k2 = k;
+        var desc = Object.getOwnPropertyDescriptor(m, k);
+        if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+            desc = { enumerable: true, get: function() { return m[k]; } };
+        }
+        Object.defineProperty(o, k2, desc);
+    }) : (function(o, m, k, k2) {
+        if (k2 === undefined) k2 = k;
+        o[k2] = m[k];
+    });
+
+    __values = function (o) {
+        var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
+        if (m) return m.call(o);
+        if (o && typeof o.length === "number") return {
+            next: function () {
+                if (o && i >= o.length) o = void 0;
+                return { value: o && o[i++], done: !o };
+            }
+        };
+        throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
+    };
+
+    __read = function (o, n) {
+        var m = typeof Symbol === "function" && o[Symbol.iterator];
+        if (!m) return o;
+        var i = m.call(o), r, ar = [], e;
+        try {
+            while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
+        }
+        catch (error) { e = { error: error }; }
+        finally {
+            try {
+                if (r && !r.done && (m = i["return"])) m.call(i);
+            }
+            finally { if (e) throw e.error; }
+        }
+        return ar;
+    };
+
+    /** @deprecated */
+    __spread = function () {
+        for (var ar = [], i = 0; i < arguments.length; i++)
+            ar = ar.concat(__read(arguments[i]));
+        return ar;
+    };
+
+    /** @deprecated */
+    __spreadArrays = function () {
+        for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
+        for (var r = Array(s), k = 0, i = 0; i < il; i++)
+            for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
+                r[k] = a[j];
+        return r;
+    };
+
+    __spreadArray = function (to, from, pack) {
+        if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
+            if (ar || !(i in from)) {
+                if (!ar) ar = Array.prototype.slice.call(from, 0, i);
+                ar[i] = from[i];
+            }
+        }
+        return to.concat(ar || Array.prototype.slice.call(from));
+    };
+
+    __await = function (v) {
+        return this instanceof __await ? (this.v = v, this) : new __await(v);
+    };
+
+    __asyncGenerator = function (thisArg, _arguments, generator) {
+        if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+        var g = generator.apply(thisArg, _arguments || []), i, q = [];
+        return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
+        function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
+        function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
+        function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);  }
+        function fulfill(value) { resume("next", value); }
+        function reject(value) { resume("throw", value); }
+        function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
+    };
+
+    __asyncDelegator = function (o) {
+        var i, p;
+        return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
+        function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
+    };
+
+    __asyncValues = function (o) {
+        if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
+        var m = o[Symbol.asyncIterator], i;
+        return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
+        function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
+        function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
+    };
+
+    __makeTemplateObject = function (cooked, raw) {
+        if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
+        return cooked;
+    };
+
+    var __setModuleDefault = Object.create ? (function(o, v) {
+        Object.defineProperty(o, "default", { enumerable: true, value: v });
+    }) : function(o, v) {
+        o["default"] = v;
+    };
+
+    __importStar = function (mod) {
+        if (mod && mod.__esModule) return mod;
+        var result = {};
+        if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+        __setModuleDefault(result, mod);
+        return result;
+    };
+
+    __importDefault = function (mod) {
+        return (mod && mod.__esModule) ? mod : { "default": mod };
+    };
+
+    __classPrivateFieldGet = function (receiver, state, kind, f) {
+        if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
+        if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
+        return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
+    };
+
+    __classPrivateFieldSet = function (receiver, state, value, kind, f) {
+        if (kind === "m") throw new TypeError("Private method is not writable");
+        if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
+        if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
+        return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
+    };
+
+    __classPrivateFieldIn = function (state, receiver) {
+        if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
+        return typeof state === "function" ? receiver === state : state.has(receiver);
+    };
+
+    __addDisposableResource = function (env, value, async) {
+        if (value !== null && value !== void 0) {
+            if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
+            var dispose;
+            if (async) {
+                if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
+                dispose = value[Symbol.asyncDispose];
+            }
+            if (dispose === void 0) {
+                if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
+                dispose = value[Symbol.dispose];
+            }
+            if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
+            env.stack.push({ value: value, dispose: dispose, async: async });
+        }
+        else if (async) {
+            env.stack.push({ async: true });
+        }
+        return value;
+    };
+
+    var _SuppressedError = typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
+        var e = new Error(message);
+        return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
+    };
+
+    __disposeResources = function (env) {
+        function fail(e) {
+            env.error = env.hasError ? new _SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
+            env.hasError = true;
+        }
+        function next() {
+            while (env.stack.length) {
+                var rec = env.stack.pop();
+                try {
+                    var result = rec.dispose && rec.dispose.call(rec.value);
+                    if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
+                }
+                catch (e) {
+                    fail(e);
+                }
+            }
+            if (env.hasError) throw env.error;
+        }
+        return next();
+    };
+
+    exporter("__extends", __extends);
+    exporter("__assign", __assign);
+    exporter("__rest", __rest);
+    exporter("__decorate", __decorate);
+    exporter("__param", __param);
+    exporter("__esDecorate", __esDecorate);
+    exporter("__runInitializers", __runInitializers);
+    exporter("__propKey", __propKey);
+    exporter("__setFunctionName", __setFunctionName);
+    exporter("__metadata", __metadata);
+    exporter("__awaiter", __awaiter);
+    exporter("__generator", __generator);
+    exporter("__exportStar", __exportStar);
+    exporter("__createBinding", __createBinding);
+    exporter("__values", __values);
+    exporter("__read", __read);
+    exporter("__spread", __spread);
+    exporter("__spreadArrays", __spreadArrays);
+    exporter("__spreadArray", __spreadArray);
+    exporter("__await", __await);
+    exporter("__asyncGenerator", __asyncGenerator);
+    exporter("__asyncDelegator", __asyncDelegator);
+    exporter("__asyncValues", __asyncValues);
+    exporter("__makeTemplateObject", __makeTemplateObject);
+    exporter("__importStar", __importStar);
+    exporter("__importDefault", __importDefault);
+    exporter("__classPrivateFieldGet", __classPrivateFieldGet);
+    exporter("__classPrivateFieldSet", __classPrivateFieldSet);
+    exporter("__classPrivateFieldIn", __classPrivateFieldIn);
+    exporter("__addDisposableResource", __addDisposableResource);
+    exporter("__disposeResources", __disposeResources);
+});
diff --git a/node_modules/degenerator/package.json b/node_modules/degenerator/package.json
new file mode 100644
index 0000000..bf67ed6
--- /dev/null
+++ b/node_modules/degenerator/package.json
@@ -0,0 +1,42 @@
+{
+  "name": "degenerator",
+  "version": "5.0.1",
+  "description": "Compiles sync functions into async generator functions",
+  "main": "./dist/index.js",
+  "types": "./dist/index.d.ts",
+  "files": [
+    "dist"
+  ],
+  "author": "Nathan Rajlich <[email protected]> (http://n8.io/)",
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/TooTallNate/proxy-agents.git",
+    "directory": "packages/degenerator"
+  },
+  "engines": {
+    "node": ">= 14"
+  },
+  "license": "MIT",
+  "dependencies": {
+    "ast-types": "^0.13.4",
+    "escodegen": "^2.1.0",
+    "esprima": "^4.0.1"
+  },
+  "devDependencies": {
+    "@tootallnate/quickjs-emscripten": "^0.23.0",
+    "@types/escodegen": "^0.0.7",
+    "@types/esprima": "^4.0.3",
+    "@types/jest": "^29.5.2",
+    "@types/node": "^14.18.52",
+    "jest": "^29.5.0",
+    "ts-jest": "^29.1.0",
+    "typescript": "^5.1.6",
+    "tsconfig": "0.0.0"
+  },
+  "scripts": {
+    "build": "tsc",
+    "test": "jest --env node --verbose --bail",
+    "lint": "eslint . --ext .ts",
+    "pack": "node ../../scripts/pack.mjs"
+  }
+}
diff --git a/node_modules/devtools-protocol/json/browser_protocol.json b/node_modules/devtools-protocol/json/browser_protocol.json
index d078ad8..1b3e5fc 100644
--- a/node_modules/devtools-protocol/json/browser_protocol.json
+++ b/node_modules/devtools-protocol/json/browser_protocol.json
@@ -1331,47 +1331,6 @@
                     ]
                 },
                 {
-                    "id": "TwaQualityEnforcementViolationType",
-                    "type": "string",
-                    "enum": [
-                        "kHttpError",
-                        "kUnavailableOffline",
-                        "kDigitalAssetLinks"
-                    ]
-                },
-                {
-                    "id": "TrustedWebActivityIssueDetails",
-                    "type": "object",
-                    "properties": [
-                        {
-                            "name": "url",
-                            "description": "The url that triggers the violation.",
-                            "type": "string"
-                        },
-                        {
-                            "name": "violationType",
-                            "$ref": "TwaQualityEnforcementViolationType"
-                        },
-                        {
-                            "name": "httpStatusCode",
-                            "optional": true,
-                            "type": "integer"
-                        },
-                        {
-                            "name": "packageName",
-                            "description": "The package name of the Trusted Web Activity client app. This field is\nonly used when violation type is kDigitalAssetLinks.",
-                            "optional": true,
-                            "type": "string"
-                        },
-                        {
-                            "name": "signature",
-                            "description": "The signature of the Trusted Web Activity client app. This field is only\nused when violation type is kDigitalAssetLinks.",
-                            "optional": true,
-                            "type": "string"
-                        }
-                    ]
-                },
-                {
                     "id": "LowTextContrastIssueDetails",
                     "type": "object",
                     "properties": [
@@ -1453,7 +1412,6 @@
                         "InsecureContext",
                         "InvalidHeader",
                         "InvalidRegisterTriggerHeader",
-                        "InvalidEligibleHeader",
                         "SourceAndTriggerHeaders",
                         "SourceIgnored",
                         "TriggerIgnored",
@@ -1668,7 +1626,8 @@
                         "IdTokenInvalidContentType",
                         "ErrorIdToken",
                         "Canceled",
-                        "RpPageNotVisible"
+                        "RpPageNotVisible",
+                        "SilentMediationFailure"
                     ]
                 },
                 {
@@ -1697,7 +1656,6 @@
                         "HeavyAdIssue",
                         "ContentSecurityPolicyIssue",
                         "SharedArrayBufferIssue",
-                        "TrustedWebActivityIssue",
                         "LowTextContrastIssue",
                         "CorsIssue",
                         "AttributionReportingIssue",
@@ -1746,11 +1704,6 @@
                             "$ref": "SharedArrayBufferIssueDetails"
                         },
                         {
-                            "name": "twaQualityEnforcementDetails",
-                            "optional": true,
-                            "$ref": "TrustedWebActivityIssueDetails"
-                        },
-                        {
                             "name": "lowTextContrastIssueDetails",
                             "optional": true,
                             "$ref": "LowTextContrastIssueDetails"
@@ -1900,6 +1853,19 @@
                             "type": "boolean"
                         }
                     ]
+                },
+                {
+                    "name": "checkFormsIssues",
+                    "description": "Runs the form issues check for the target page. Found issues are reported\nusing Audits.issueAdded event.",
+                    "returns": [
+                        {
+                            "name": "formIssues",
+                            "type": "array",
+                            "items": {
+                                "$ref": "GenericIssueDetails"
+                            }
+                        }
+                    ]
                 }
             ],
             "events": [
@@ -1915,6 +1881,68 @@
             ]
         },
         {
+            "domain": "Autofill",
+            "description": "Defines commands and events for Autofill.",
+            "experimental": true,
+            "types": [
+                {
+                    "id": "CreditCard",
+                    "type": "object",
+                    "properties": [
+                        {
+                            "name": "number",
+                            "description": "16-digit credit card number.",
+                            "type": "string"
+                        },
+                        {
+                            "name": "name",
+                            "description": "Name of the credit card owner.",
+                            "type": "string"
+                        },
+                        {
+                            "name": "expiryMonth",
+                            "description": "2-digit expiry month.",
+                            "type": "string"
+                        },
+                        {
+                            "name": "expiryYear",
+                            "description": "4-digit expiry year.",
+                            "type": "string"
+                        },
+                        {
+                            "name": "cvc",
+                            "description": "3-digit card verification code.",
+                            "type": "string"
+                        }
+                    ]
+                }
+            ],
+            "commands": [
+                {
+                    "name": "trigger",
+                    "description": "Trigger autofill on a form identified by the fieldId.\nIf the field and related form cannot be autofilled, returns an error.",
+                    "parameters": [
+                        {
+                            "name": "fieldId",
+                            "description": "Identifies a field that serves as an anchor for autofill.",
+                            "$ref": "DOM.BackendNodeId"
+                        },
+                        {
+                            "name": "frameId",
+                            "description": "Identifies the frame that field belongs to.",
+                            "optional": true,
+                            "$ref": "Page.FrameId"
+                        },
+                        {
+                            "name": "card",
+                            "description": "Credit card information to fill out the form. Credit card data is not saved.",
+                            "$ref": "CreditCard"
+                        }
+                    ]
+                }
+            ]
+        },
+        {
             "domain": "BackgroundService",
             "description": "Defines events for background web platform features.",
             "experimental": true,
@@ -2606,6 +2634,16 @@
                             "$ref": "BrowserCommandId"
                         }
                     ]
+                },
+                {
+                    "name": "addPrivacySandboxEnrollmentOverride",
+                    "description": "Allows a site to use privacy sandbox features that require enrollment\nwithout the site actually being enrolled. Only supported on page targets.",
+                    "parameters": [
+                        {
+                            "name": "url",
+                            "type": "string"
+                        }
+                    ]
                 }
             ],
             "events": [
@@ -2791,6 +2829,36 @@
                             "description": "Value range in the underlying resource (if available).",
                             "optional": true,
                             "$ref": "SourceRange"
+                        },
+                        {
+                            "name": "specificity",
+                            "description": "Specificity of the selector.",
+                            "experimental": true,
+                            "optional": true,
+                            "$ref": "Specificity"
+                        }
+                    ]
+                },
+                {
+                    "id": "Specificity",
+                    "description": "Specificity:\nhttps://drafts.csswg.org/selectors/#specificity-rules",
+                    "experimental": true,
+                    "type": "object",
+                    "properties": [
+                        {
+                            "name": "a",
+                            "description": "The a component, which represents the number of ID selectors.",
+                            "type": "integer"
+                        },
+                        {
+                            "name": "b",
+                            "description": "The b component, which represents the number of class selectors, attributes selectors, and\npseudo-classes.",
+                            "type": "integer"
+                        },
+                        {
+                            "name": "c",
+                            "description": "The c component, which represents the number of type selectors and pseudo-elements.",
+                            "type": "integer"
                         }
                     ]
                 },
@@ -4352,6 +4420,9 @@
         {
             "domain": "CacheStorage",
             "experimental": true,
+            "dependencies": [
+                "Storage"
+            ],
             "types": [
                 {
                     "id": "CacheId",
@@ -4445,6 +4516,12 @@
                             "type": "string"
                         },
                         {
+                            "name": "storageBucket",
+                            "description": "Storage bucket of the cache.",
+                            "optional": true,
+                            "$ref": "Storage.StorageBucket"
+                        },
+                        {
                             "name": "cacheName",
                             "description": "The name of the cache.",
                             "type": "string"
@@ -4512,7 +4589,7 @@
                     "parameters": [
                         {
                             "name": "securityOrigin",
-                            "description": "At least and at most one of securityOrigin, storageKey must be specified.\nSecurity origin.",
+                            "description": "At least and at most one of securityOrigin, storageKey, storageBucket must be specified.\nSecurity origin.",
                             "optional": true,
                             "type": "string"
                         },
@@ -4521,6 +4598,12 @@
                             "description": "Storage key.",
                             "optional": true,
                             "type": "string"
+                        },
+                        {
+                            "name": "storageBucket",
+                            "description": "Storage bucket. If not specified, it uses the default bucket.",
+                            "optional": true,
+                            "$ref": "Storage.StorageBucket"
                         }
                     ],
                     "returns": [
@@ -8810,7 +8893,8 @@
             "domain": "IndexedDB",
             "experimental": true,
             "dependencies": [
-                "Runtime"
+                "Runtime",
+                "Storage"
             ],
             "types": [
                 {
@@ -9031,7 +9115,7 @@
                     "parameters": [
                         {
                             "name": "securityOrigin",
-                            "description": "At least and at most one of securityOrigin, storageKey must be specified.\nSecurity origin.",
+                            "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
                             "optional": true,
                             "type": "string"
                         },
@@ -9042,6 +9126,12 @@
                             "type": "string"
                         },
                         {
+                            "name": "storageBucket",
+                            "description": "Storage bucket. If not specified, it uses the default bucket.",
+                            "optional": true,
+                            "$ref": "Storage.StorageBucket"
+                        },
+                        {
                             "name": "databaseName",
                             "description": "Database name.",
                             "type": "string"
@@ -9059,7 +9149,7 @@
                     "parameters": [
                         {
                             "name": "securityOrigin",
-                            "description": "At least and at most one of securityOrigin, storageKey must be specified.\nSecurity origin.",
+                            "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
                             "optional": true,
                             "type": "string"
                         },
@@ -9070,6 +9160,12 @@
                             "type": "string"
                         },
                         {
+                            "name": "storageBucket",
+                            "description": "Storage bucket. If not specified, it uses the default bucket.",
+                            "optional": true,
+                            "$ref": "Storage.StorageBucket"
+                        },
+                        {
                             "name": "databaseName",
                             "description": "Database name.",
                             "type": "string"
@@ -9082,7 +9178,7 @@
                     "parameters": [
                         {
                             "name": "securityOrigin",
-                            "description": "At least and at most one of securityOrigin, storageKey must be specified.\nSecurity origin.",
+                            "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
                             "optional": true,
                             "type": "string"
                         },
@@ -9093,6 +9189,12 @@
                             "type": "string"
                         },
                         {
+                            "name": "storageBucket",
+                            "description": "Storage bucket. If not specified, it uses the default bucket.",
+                            "optional": true,
+                            "$ref": "Storage.StorageBucket"
+                        },
+                        {
                             "name": "databaseName",
                             "type": "string"
                         },
@@ -9121,7 +9223,7 @@
                     "parameters": [
                         {
                             "name": "securityOrigin",
-                            "description": "At least and at most one of securityOrigin, storageKey must be specified.\nSecurity origin.",
+                            "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
                             "optional": true,
                             "type": "string"
                         },
@@ -9132,6 +9234,12 @@
                             "type": "string"
                         },
                         {
+                            "name": "storageBucket",
+                            "description": "Storage bucket. If not specified, it uses the default bucket.",
+                            "optional": true,
+                            "$ref": "Storage.StorageBucket"
+                        },
+                        {
                             "name": "databaseName",
                             "description": "Database name.",
                             "type": "string"
@@ -9185,7 +9293,7 @@
                     "parameters": [
                         {
                             "name": "securityOrigin",
-                            "description": "At least and at most one of securityOrigin, storageKey must be specified.\nSecurity origin.",
+                            "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
                             "optional": true,
                             "type": "string"
                         },
@@ -9196,6 +9304,12 @@
                             "type": "string"
                         },
                         {
+                            "name": "storageBucket",
+                            "description": "Storage bucket. If not specified, it uses the default bucket.",
+                            "optional": true,
+                            "$ref": "Storage.StorageBucket"
+                        },
+                        {
                             "name": "databaseName",
                             "description": "Database name.",
                             "type": "string"
@@ -9225,7 +9339,7 @@
                     "parameters": [
                         {
                             "name": "securityOrigin",
-                            "description": "At least and at most one of securityOrigin, storageKey must be specified.\nSecurity origin.",
+                            "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
                             "optional": true,
                             "type": "string"
                         },
@@ -9236,6 +9350,12 @@
                             "type": "string"
                         },
                         {
+                            "name": "storageBucket",
+                            "description": "Storage bucket. If not specified, it uses the default bucket.",
+                            "optional": true,
+                            "$ref": "Storage.StorageBucket"
+                        },
+                        {
                             "name": "databaseName",
                             "description": "Database name.",
                             "type": "string"
@@ -9255,7 +9375,7 @@
                     "parameters": [
                         {
                             "name": "securityOrigin",
-                            "description": "At least and at most one of securityOrigin, storageKey must be specified.\nSecurity origin.",
+                            "description": "At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.\nSecurity origin.",
                             "optional": true,
                             "type": "string"
                         },
@@ -9264,6 +9384,12 @@
                             "description": "Storage key.",
                             "optional": true,
                             "type": "string"
+                        },
+                        {
+                            "name": "storageBucket",
+                            "description": "Storage bucket. If not specified, it uses the default bucket.",
+                            "optional": true,
+                            "$ref": "Storage.StorageBucket"
                         }
                     ],
                     "returns": [
@@ -10279,7 +10405,6 @@
                         {
                             "name": "compositingReasons",
                             "description": "A list of strings specifying reasons for the given layer to become composited.",
-                            "deprecated": true,
                             "type": "array",
                             "items": {
                                 "type": "string"
@@ -15443,6 +15568,7 @@
                         "payment",
                         "picture-in-picture",
                         "private-aggregation",
+                        "private-state-token-issuance",
                         "private-state-token-redemption",
                         "publickey-credentials-get",
                         "run-ad-auction",
@@ -19461,7 +19587,7 @@
                     ]
                 },
                 {
-                    "id": "StorageBucketInfo",
+                    "id": "StorageBucket",
                     "type": "object",
                     "properties": [
                         {
@@ -19469,18 +19595,26 @@
                             "$ref": "SerializedStorageKey"
                         },
                         {
+                            "name": "name",
+                            "description": "If not specified, it is the default bucket of the storageKey.",
+                            "optional": true,
+                            "type": "string"
+                        }
+                    ]
+                },
+                {
+                    "id": "StorageBucketInfo",
+                    "type": "object",
+                    "properties": [
+                        {
+                            "name": "bucket",
+                            "$ref": "StorageBucket"
+                        },
+                        {
                             "name": "id",
                             "type": "string"
                         },
                         {
-                            "name": "name",
-                            "type": "string"
-                        },
-                        {
-                            "name": "isDefault",
-                            "type": "boolean"
-                        },
-                        {
                             "name": "expiration",
                             "$ref": "Network.TimeSinceEpoch"
                         },
@@ -19940,12 +20074,22 @@
                     "experimental": true,
                     "parameters": [
                         {
-                            "name": "storageKey",
-                            "type": "string"
-                        },
+                            "name": "bucket",
+                            "$ref": "StorageBucket"
+                        }
+                    ]
+                },
+                {
+                    "name": "runBounceTrackingMitigations",
+                    "description": "Deletes state for sites identified as potential bounce trackers, immediately.",
+                    "experimental": true,
+                    "returns": [
                         {
-                            "name": "bucketName",
-                            "type": "string"
+                            "name": "deletedSites",
+                            "type": "array",
+                            "items": {
+                                "type": "string"
+                            }
                         }
                     ]
                 }
@@ -19966,6 +20110,11 @@
                             "type": "string"
                         },
                         {
+                            "name": "bucketId",
+                            "description": "Storage bucket to update.",
+                            "type": "string"
+                        },
+                        {
                             "name": "cacheName",
                             "description": "Name of cache in origin.",
                             "type": "string"
@@ -19985,6 +20134,11 @@
                             "name": "storageKey",
                             "description": "Storage key to update.",
                             "type": "string"
+                        },
+                        {
+                            "name": "bucketId",
+                            "description": "Storage bucket to update.",
+                            "type": "string"
                         }
                     ]
                 },
@@ -20003,6 +20157,11 @@
                             "type": "string"
                         },
                         {
+                            "name": "bucketId",
+                            "description": "Storage bucket to update.",
+                            "type": "string"
+                        },
+                        {
                             "name": "databaseName",
                             "description": "Database to update.",
                             "type": "string"
@@ -20027,6 +20186,11 @@
                             "name": "storageKey",
                             "description": "Storage key to update.",
                             "type": "string"
+                        },
+                        {
+                            "name": "bucketId",
+                            "description": "Storage bucket to update.",
+                            "type": "string"
                         }
                     ]
                 },
@@ -20087,7 +20251,7 @@
                     "name": "storageBucketCreatedOrUpdated",
                     "parameters": [
                         {
-                            "name": "bucket",
+                            "name": "bucketInfo",
                             "$ref": "StorageBucketInfo"
                         }
                     ]
@@ -22988,6 +23152,22 @@
                             "type": "string"
                         },
                         {
+                            "name": "backendNodeId",
+                            "description": "A speculation rule set is either added through an inline\n<script> tag or through an external resource via the\n'Speculation-Rules' HTTP header. For the first case, we include\nthe BackendNodeId of the relevant <script> tag. For the second\ncase, we include the external URL where the rule set was loaded\nfrom, and also RequestId if Network domain is enabled.\n\nSee also:\n- https://wicg.github.io/nav-speculation/speculation-rules.html#speculation-rules-script\n- https://wicg.github.io/nav-speculation/speculation-rules.html#speculation-rules-header",
+                            "optional": true,
+                            "$ref": "DOM.BackendNodeId"
+                        },
+                        {
+                            "name": "url",
+                            "optional": true,
+                            "type": "string"
+                        },
+                        {
+                            "name": "requestId",
+                            "optional": true,
+                            "$ref": "Network.RequestId"
+                        },
+                        {
                             "name": "errorType",
                             "description": "Error information\n`errorMessage` is null iff `errorType` is null.",
                             "optional": true,
@@ -23145,17 +23325,6 @@
                     ]
                 },
                 {
-                    "id": "PreloadEnabledState",
-                    "type": "string",
-                    "enum": [
-                        "Enabled",
-                        "DisabledByDataSaver",
-                        "DisabledByBatterySaver",
-                        "DisabledByPreference",
-                        "NotSupported"
-                    ]
-                },
-                {
                     "id": "PreloadingStatus",
                     "description": "Preloading status values, see also PreloadingTriggeringOutcome. This\nstatus is shared by prefetchStatusUpdated and prerenderStatusUpdated.",
                     "type": "string",
@@ -23167,6 +23336,43 @@
                         "Failure",
                         "NotSupported"
                     ]
+                },
+                {
+                    "id": "PrefetchStatus",
+                    "description": "TODO(https://crbug.com/1384419): revisit the list of PrefetchStatus and\nfilter out the ones that aren't necessary to the developers.",
+                    "type": "string",
+                    "enum": [
+                        "PrefetchAllowed",
+                        "PrefetchFailedIneligibleRedirect",
+                        "PrefetchFailedInvalidRedirect",
+                        "PrefetchFailedMIMENotSupported",
+                        "PrefetchFailedNetError",
+                        "PrefetchFailedNon2XX",
+                        "PrefetchFailedPerPageLimitExceeded",
+                        "PrefetchEvicted",
+                        "PrefetchHeldback",
+                        "PrefetchIneligibleRetryAfter",
+                        "PrefetchIsPrivacyDecoy",
+                        "PrefetchIsStale",
+                        "PrefetchNotEligibleBrowserContextOffTheRecord",
+                        "PrefetchNotEligibleDataSaverEnabled",
+                        "PrefetchNotEligibleExistingProxy",
+                        "PrefetchNotEligibleHostIsNonUnique",
+                        "PrefetchNotEligibleNonDefaultStoragePartition",
+                        "PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxy",
+                        "PrefetchNotEligibleSchemeIsNotHttps",
+                        "PrefetchNotEligibleUserHasCookies",
+                        "PrefetchNotEligibleUserHasServiceWorker",
+                        "PrefetchNotEligibleBatterySaverEnabled",
+                        "PrefetchNotEligiblePreloadingDisabled",
+                        "PrefetchNotFinishedInTime",
+                        "PrefetchNotStarted",
+                        "PrefetchNotUsedCookiesChanged",
+                        "PrefetchProxyNotAvailable",
+                        "PrefetchResponseUsed",
+                        "PrefetchSuccessfulButNotUsed",
+                        "PrefetchNotUsedProbeFailed"
+                    ]
                 }
             ],
             "commands": [
@@ -23231,8 +23437,16 @@
                     "description": "Fired when a preload enabled state is updated.",
                     "parameters": [
                         {
-                            "name": "state",
-                            "$ref": "PreloadEnabledState"
+                            "name": "disabledByPreference",
+                            "type": "boolean"
+                        },
+                        {
+                            "name": "disabledByDataSaver",
+                            "type": "boolean"
+                        },
+                        {
+                            "name": "disabledByBatterySaver",
+                            "type": "boolean"
                         }
                     ]
                 },
@@ -23256,6 +23470,10 @@
                         {
                             "name": "status",
                             "$ref": "PreloadingStatus"
+                        },
+                        {
+                            "name": "prefetchStatus",
+                            "$ref": "PrefetchStatus"
                         }
                     ]
                 },
@@ -23268,17 +23486,13 @@
                             "$ref": "PreloadingAttemptKey"
                         },
                         {
-                            "name": "initiatingFrameId",
-                            "description": "The frame id of the frame initiating prerender.",
-                            "$ref": "Page.FrameId"
-                        },
-                        {
-                            "name": "prerenderingUrl",
-                            "type": "string"
-                        },
-                        {
                             "name": "status",
                             "$ref": "PreloadingStatus"
+                        },
+                        {
+                            "name": "prerenderStatus",
+                            "optional": true,
+                            "$ref": "PrerenderFinalStatus"
                         }
                     ]
                 },
@@ -23316,6 +23530,15 @@
                     ]
                 },
                 {
+                    "id": "DialogType",
+                    "description": "Whether the dialog shown is an account chooser or an auto re-authentication dialog.",
+                    "type": "string",
+                    "enum": [
+                        "AccountChooser",
+                        "AutoReauthn"
+                    ]
+                },
+                {
                     "id": "Account",
                     "description": "Corresponds to IdentityRequestAccount",
                     "type": "object",
@@ -23375,6 +23598,10 @@
                             "type": "string"
                         },
                         {
+                            "name": "dialogType",
+                            "$ref": "DialogType"
+                        },
+                        {
                             "name": "accounts",
                             "type": "array",
                             "items": {
diff --git a/node_modules/devtools-protocol/json/js_protocol.json b/node_modules/devtools-protocol/json/js_protocol.json
index dcf4d6b..02a537c 100644
--- a/node_modules/devtools-protocol/json/js_protocol.json
+++ b/node_modules/devtools-protocol/json/js_protocol.json
@@ -2162,8 +2162,30 @@
                     "type": "string"
                 },
                 {
-                    "id": "WebDriverValue",
-                    "description": "Represents the value serialiazed by the WebDriver BiDi specification\nhttps://w3c.github.io/webdriver-bidi.",
+                    "id": "SerializationOptions",
+                    "description": "Represents options for serialization. Overrides `generatePreview`, `returnByValue` and\n`generateWebDriverValue`.",
+                    "type": "object",
+                    "properties": [
+                        {
+                            "name": "serialization",
+                            "type": "string",
+                            "enum": [
+                                "deep",
+                                "json",
+                                "idOnly"
+                            ]
+                        },
+                        {
+                            "name": "maxDepth",
+                            "description": "Deep serialization depth. Default is full depth. Respected only in `deep` serialization mode.",
+                            "optional": true,
+                            "type": "integer"
+                        }
+                    ]
+                },
+                {
+                    "id": "DeepSerializedValue",
+                    "description": "Represents deep serialized value.",
                     "type": "object",
                     "properties": [
                         {
@@ -2204,6 +2226,12 @@
                             "name": "objectId",
                             "optional": true,
                             "type": "string"
+                        },
+                        {
+                            "name": "weakLocalObjectReference",
+                            "description": "Set if value reference met more then once during serialization. In such\ncase, value is provided only to one of the serialized values. Unique\nper value in the scope of one CDP call.",
+                            "optional": true,
+                            "type": "integer"
                         }
                     ]
                 },
@@ -2290,10 +2318,17 @@
                         },
                         {
                             "name": "webDriverValue",
-                            "description": "WebDriver BiDi representation of the value.",
+                            "description": "Deprecated. Use `deepSerializedValue` instead. WebDriver BiDi representation of the value.",
+                            "deprecated": true,
+                            "optional": true,
+                            "$ref": "DeepSerializedValue"
+                        },
+                        {
+                            "name": "deepSerializedValue",
+                            "description": "Deep serialized value.",
                             "experimental": true,
                             "optional": true,
-                            "$ref": "WebDriverValue"
+                            "$ref": "DeepSerializedValue"
                         },
                         {
                             "name": "objectId",
@@ -2907,7 +2942,7 @@
                         },
                         {
                             "name": "returnByValue",
-                            "description": "Whether the result is expected to be a JSON object which should be sent by value.",
+                            "description": "Whether the result is expected to be a JSON object which should be sent by value.\nCan be overriden by `serializationOptions`.",
                             "optional": true,
                             "type": "boolean"
                         },
@@ -2958,10 +2993,17 @@
                         },
                         {
                             "name": "generateWebDriverValue",
-                            "description": "Whether the result should contain `webDriverValue`, serialized according to\nhttps://w3c.github.io/webdriver-bidi. This is mutually exclusive with `returnByValue`, but\nresulting `objectId` is still provided.",
-                            "experimental": true,
+                            "description": "Deprecated. Use `serializationOptions: {serialization:\"deep\"}` instead.\nWhether the result should contain `webDriverValue`, serialized according to\nhttps://w3c.github.io/webdriver-bidi. This is mutually exclusive with `returnByValue`, but\nresulting `objectId` is still provided.",
+                            "deprecated": true,
                             "optional": true,
                             "type": "boolean"
+                        },
+                        {
+                            "name": "serializationOptions",
+                            "description": "Specifies the result serialization. If provided, overrides\n`returnByValue` and `generateWebDriverValue`.",
+                            "experimental": true,
+                            "optional": true,
+                            "$ref": "SerializationOptions"
                         }
                     ],
                     "returns": [
@@ -3133,10 +3175,17 @@
                         },
                         {
                             "name": "generateWebDriverValue",
-                            "description": "Whether the result should be serialized according to https://w3c.github.io/webdriver-bidi.",
-                            "experimental": true,
+                            "description": "Deprecated. Use `serializationOptions: {serialization:\"deep\"}` instead.\nWhether the result should contain `webDriverValue`, serialized\naccording to\nhttps://w3c.github.io/webdriver-bidi. This is mutually exclusive with `returnByValue`, but\nresulting `objectId` is still provided.",
+                            "deprecated": true,
                             "optional": true,
                             "type": "boolean"
+                        },
+                        {
+                            "name": "serializationOptions",
+                            "description": "Specifies the result serialization. If provided, overrides\n`returnByValue` and `generateWebDriverValue`.",
+                            "experimental": true,
+                            "optional": true,
+                            "$ref": "SerializationOptions"
                         }
                     ],
                     "returns": [
diff --git a/node_modules/devtools-protocol/package.json b/node_modules/devtools-protocol/package.json
index 6b78d9e..df18539 100644
--- a/node_modules/devtools-protocol/package.json
+++ b/node_modules/devtools-protocol/package.json
@@ -1,6 +1,6 @@
 {
   "name": "devtools-protocol",
-  "version": "0.0.1135028",
+  "version": "0.0.1147663",
   "description": "The Chrome DevTools Protocol JSON",
   "repository": "https://github.com/ChromeDevTools/devtools-protocol",
   "author": "The Chromium Authors",
diff --git a/node_modules/devtools-protocol/pdl/browser_protocol.pdl b/node_modules/devtools-protocol/pdl/browser_protocol.pdl
index c753ca3..72e14c2 100644
--- a/node_modules/devtools-protocol/pdl/browser_protocol.pdl
+++ b/node_modules/devtools-protocol/pdl/browser_protocol.pdl
@@ -658,25 +658,6 @@
       boolean isWarning
       SharedArrayBufferIssueType type
 
-  type TwaQualityEnforcementViolationType extends string
-    enum
-      kHttpError
-      kUnavailableOffline
-      kDigitalAssetLinks
-
-  type TrustedWebActivityIssueDetails extends object
-    properties
-      # The url that triggers the violation.
-      string url
-      TwaQualityEnforcementViolationType violationType
-      optional integer httpStatusCode
-      # The package name of the Trusted Web Activity client app. This field is
-      # only used when violation type is kDigitalAssetLinks.
-      optional string packageName
-      # The signature of the Trusted Web Activity client app. This field is only
-      # used when violation type is kDigitalAssetLinks.
-      optional string signature
-
   type LowTextContrastIssueDetails extends object
     properties
       DOM.BackendNodeId violatingNodeId
@@ -707,7 +688,6 @@
       # TODO(apaseltiner): Rename this to InvalidRegisterSourceHeader
       InvalidHeader
       InvalidRegisterTriggerHeader
-      InvalidEligibleHeader
       SourceAndTriggerHeaders
       SourceIgnored
       TriggerIgnored
@@ -837,6 +817,7 @@
       ErrorIdToken
       Canceled
       RpPageNotVisible
+      SilentMediationFailure
 
   # This issue tracks client hints related issues. It's used to deprecate old
   # features, encourage the use of new ones, and provide general guidance.
@@ -856,7 +837,6 @@
       HeavyAdIssue
       ContentSecurityPolicyIssue
       SharedArrayBufferIssue
-      TrustedWebActivityIssue
       LowTextContrastIssue
       CorsIssue
       AttributionReportingIssue
@@ -879,7 +859,6 @@
       optional HeavyAdIssueDetails heavyAdIssueDetails
       optional ContentSecurityPolicyIssueDetails contentSecurityPolicyIssueDetails
       optional SharedArrayBufferIssueDetails sharedArrayBufferIssueDetails
-      optional TrustedWebActivityIssueDetails twaQualityEnforcementDetails
       optional LowTextContrastIssueDetails lowTextContrastIssueDetails
       optional CorsIssueDetails corsIssueDetails
       optional AttributionReportingIssueDetails attributionReportingIssueDetails
@@ -941,10 +920,42 @@
       # Whether to report WCAG AAA level issues. Default is false.
       optional boolean reportAAA
 
+  # Runs the form issues check for the target page. Found issues are reported
+  # using Audits.issueAdded event.
+  command checkFormsIssues
+    returns
+      array of GenericIssueDetails formIssues
+
   event issueAdded
     parameters
       InspectorIssue issue
 
+# Defines commands and events for Autofill.
+experimental domain Autofill
+  type CreditCard extends object
+    properties
+      # 16-digit credit card number.
+      string number
+      # Name of the credit card owner.
+      string name
+      # 2-digit expiry month.
+      string expiryMonth
+      # 4-digit expiry year.
+      string expiryYear
+      # 3-digit card verification code.
+      string cvc
+
+  # Trigger autofill on a form identified by the fieldId.
+  # If the field and related form cannot be autofilled, returns an error.
+  command trigger
+    parameters
+      # Identifies a field that serves as an anchor for autofill.
+      DOM.BackendNodeId fieldId
+      # Identifies the frame that field belongs to.
+      optional Page.FrameId frameId
+      # Credit card information to fill out the form. Credit card data is not saved.
+      CreditCard card
+
 # Defines events for background web platform features.
 experimental domain BackgroundService
   # The Background Service that will be associated with the commands/events.
@@ -1304,6 +1315,12 @@
     parameters
       BrowserCommandId commandId
 
+  # Allows a site to use privacy sandbox features that require enrollment
+  # without the site actually being enrolled. Only supported on page targets.
+  command addPrivacySandboxEnrollmentOverride
+    parameters
+      string url
+
 # This domain exposes CSS read/write operations. All CSS objects (stylesheets, rules, and styles)
 # have an associated `id` used in subsequent operations on the related object. Each object type has
 # a specific `id` structure, and those are not interchangeable between objects of different kinds.
@@ -1365,6 +1382,20 @@
       string text
       # Value range in the underlying resource (if available).
       optional SourceRange range
+      # Specificity of the selector.
+      experimental optional Specificity specificity
+
+  # Specificity:
+  # https://drafts.csswg.org/selectors/#specificity-rules
+  experimental type Specificity extends object
+    properties
+      # The a component, which represents the number of ID selectors.
+      integer a
+      # The b component, which represents the number of class selectors, attributes selectors, and
+      # pseudo-classes.
+      integer b
+      # The c component, which represents the number of type selectors and pseudo-elements.
+      integer c
 
   # Selector list data.
   type SelectorList extends object
@@ -2030,6 +2061,7 @@
       StyleSheetId styleSheetId
 
 experimental domain CacheStorage
+  depends on Storage
 
   # Unique identifier of the Cache object.
   type CacheId extends string
@@ -2073,6 +2105,8 @@
       string securityOrigin
       # Storage key of the cache.
       string storageKey
+      # Storage bucket of the cache.
+      optional Storage.StorageBucket storageBucket
       # The name of the cache.
       string cacheName
 
@@ -2104,11 +2138,13 @@
   # Requests cache names.
   command requestCacheNames
     parameters
-      # At least and at most one of securityOrigin, storageKey must be specified.
+      # At least and at most one of securityOrigin, storageKey, storageBucket must be specified.
       # Security origin.
       optional string securityOrigin
       # Storage key.
       optional string storageKey
+      # Storage bucket. If not specified, it uses the default bucket.
+      optional Storage.StorageBucket storageBucket
     returns
       # Caches for the security origin.
       array of Cache caches
@@ -4027,6 +4063,7 @@
 
 experimental domain IndexedDB
   depends on Runtime
+  depends on Storage
 
   # Database with an array of object stores.
   type DatabaseWithObjectStores extends object
@@ -4119,11 +4156,13 @@
   # Clears all entries from an object store.
   command clearObjectStore
     parameters
-      # At least and at most one of securityOrigin, storageKey must be specified.
+      # At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.
       # Security origin.
       optional string securityOrigin
       # Storage key.
       optional string storageKey
+      # Storage bucket. If not specified, it uses the default bucket.
+      optional Storage.StorageBucket storageBucket
       # Database name.
       string databaseName
       # Object store name.
@@ -4132,22 +4171,26 @@
   # Deletes a database.
   command deleteDatabase
     parameters
-      # At least and at most one of securityOrigin, storageKey must be specified.
+      # At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.
       # Security origin.
       optional string securityOrigin
       # Storage key.
       optional string storageKey
+      # Storage bucket. If not specified, it uses the default bucket.
+      optional Storage.StorageBucket storageBucket
       # Database name.
       string databaseName
 
   # Delete a range of entries from an object store
   command deleteObjectStoreEntries
     parameters
-      # At least and at most one of securityOrigin, storageKey must be specified.
+      # At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.
       # Security origin.
       optional string securityOrigin
       # Storage key.
       optional string storageKey
+      # Storage bucket. If not specified, it uses the default bucket.
+      optional Storage.StorageBucket storageBucket
       string databaseName
       string objectStoreName
       # Range of entry keys to delete
@@ -4162,11 +4205,13 @@
   # Requests data from object store or index.
   command requestData
     parameters
-      # At least and at most one of securityOrigin, storageKey must be specified.
+      # At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.
       # Security origin.
       optional string securityOrigin
       # Storage key.
       optional string storageKey
+      # Storage bucket. If not specified, it uses the default bucket.
+      optional Storage.StorageBucket storageBucket
       # Database name.
       string databaseName
       # Object store name.
@@ -4188,11 +4233,13 @@
   # Gets metadata of an object store.
   command getMetadata
     parameters
-      # At least and at most one of securityOrigin, storageKey must be specified.
+      # At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.
       # Security origin.
       optional string securityOrigin
       # Storage key.
       optional string storageKey
+      # Storage bucket. If not specified, it uses the default bucket.
+      optional Storage.StorageBucket storageBucket
       # Database name.
       string databaseName
       # Object store name.
@@ -4208,11 +4255,13 @@
   # Requests database with given name in given frame.
   command requestDatabase
     parameters
-      # At least and at most one of securityOrigin, storageKey must be specified.
+      # At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.
       # Security origin.
       optional string securityOrigin
       # Storage key.
       optional string storageKey
+      # Storage bucket. If not specified, it uses the default bucket.
+      optional Storage.StorageBucket storageBucket
       # Database name.
       string databaseName
     returns
@@ -4222,11 +4271,13 @@
   # Requests database names for given security origin.
   command requestDatabaseNames
     parameters
-      # At least and at most one of securityOrigin, storageKey must be specified.
+      # At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.
       # Security origin.
       optional string securityOrigin
       # Storage key.
       optional string storageKey
+      # Storage bucket. If not specified, it uses the default bucket.
+      optional Storage.StorageBucket storageBucket
     returns
       # Database names for origin.
       array of string databaseNames
@@ -4668,7 +4719,7 @@
       LayerId layerId
     returns
       # A list of strings specifying reasons for the given layer to become composited.
-      deprecated array of string compositingReasons
+      array of string compositingReasons
       # A list of strings specifying reason IDs for the given layer to become composited.
       array of string compositingReasonIds
 
@@ -7228,6 +7279,7 @@
       payment
       picture-in-picture
       private-aggregation
+      private-state-token-issuance
       private-state-token-redemption
       publickey-credentials-get
       run-ad-auction
@@ -9164,12 +9216,16 @@
       relaxed
       strict
 
-  type StorageBucketInfo extends object
+  type StorageBucket extends object
     properties
       SerializedStorageKey storageKey
+      # If not specified, it is the default bucket of the storageKey.
+      optional string name
+
+  type StorageBucketInfo extends object
+    properties
+      StorageBucket bucket
       string id
-      string name
-      boolean isDefault
       Network.TimeSinceEpoch expiration
       # Storage quota (bytes).
       number quota
@@ -9381,8 +9437,12 @@
   # Deletes the Storage Bucket with the given storage key and bucket name.
   experimental command deleteStorageBucket
     parameters
-      string storageKey
-      string bucketName
+      StorageBucket bucket
+
+  # Deletes state for sites identified as potential bounce trackers, immediately.
+  experimental command runBounceTrackingMitigations
+    returns
+      array of string deletedSites
 
   # A cache's contents have been modified.
   event cacheStorageContentUpdated
@@ -9391,6 +9451,8 @@
       string origin
       # Storage key to update.
       string storageKey
+      # Storage bucket to update.
+      string bucketId
       # Name of cache in origin.
       string cacheName
 
@@ -9401,6 +9463,8 @@
       string origin
       # Storage key to update.
       string storageKey
+      # Storage bucket to update.
+      string bucketId
 
   # The origin's IndexedDB object store has been modified.
   event indexedDBContentUpdated
@@ -9409,6 +9473,8 @@
       string origin
       # Storage key to update.
       string storageKey
+      # Storage bucket to update.
+      string bucketId
       # Database to update.
       string databaseName
       # ObjectStore to update.
@@ -9421,6 +9487,8 @@
       string origin
       # Storage key to update.
       string storageKey
+      # Storage bucket to update.
+      string bucketId
 
   # One of the interest groups was accessed by the associated page.
   event interestGroupAccessed
@@ -9448,7 +9516,7 @@
 
   event storageBucketCreatedOrUpdated
     parameters
-      StorageBucketInfo bucket
+      StorageBucketInfo bucketInfo
 
   event storageBucketDeleted
     parameters
@@ -10825,6 +10893,19 @@
       # - https://wicg.github.io/nav-speculation/speculation-rules.html
       # - https://github.com/WICG/nav-speculation/blob/main/triggers.md
       string sourceText
+      # A speculation rule set is either added through an inline
+      # <script> tag or through an external resource via the
+      # 'Speculation-Rules' HTTP header. For the first case, we include
+      # the BackendNodeId of the relevant <script> tag. For the second
+      # case, we include the external URL where the rule set was loaded
+      # from, and also RequestId if Network domain is enabled.
+      #
+      # See also:
+      # - https://wicg.github.io/nav-speculation/speculation-rules.html#speculation-rules-script
+      # - https://wicg.github.io/nav-speculation/speculation-rules.html#speculation-rules-header
+      optional DOM.BackendNodeId backendNodeId
+      optional string url
+      optional Network.RequestId requestId
       # Error information
       # `errorMessage` is null iff `errorType` is null.
       optional RuleSetErrorType errorType
@@ -10966,19 +11047,12 @@
       # that is incompatible with prerender and has caused the cancellation of the attempt
       optional string disallowedApiMethod
 
-  type PreloadEnabledState extends string
-    enum
-      Enabled
-      DisabledByDataSaver
-      DisabledByBatterySaver
-      DisabledByPreference
-      # Service not available.
-      NotSupported
-
   # Fired when a preload enabled state is updated.
   event preloadEnabledStateUpdated
     parameters
-      PreloadEnabledState state
+      boolean disabledByPreference
+      boolean disabledByDataSaver
+      boolean disabledByBatterySaver
 
   # Preloading status values, see also PreloadingTriggeringOutcome. This
   # status is shared by prefetchStatusUpdated and prerenderStatusUpdated.
@@ -10992,6 +11066,47 @@
       # PreloadingTriggeringOutcome which not used by prefetch nor prerender.
       NotSupported
 
+  # TODO(https://crbug.com/1384419): revisit the list of PrefetchStatus and
+  # filter out the ones that aren't necessary to the developers.
+  type PrefetchStatus extends string
+    enum
+      # Prefetch is not disabled by PrefetchHeldback.
+      PrefetchAllowed
+      PrefetchFailedIneligibleRedirect
+      PrefetchFailedInvalidRedirect
+      PrefetchFailedMIMENotSupported
+      PrefetchFailedNetError
+      PrefetchFailedNon2XX
+      PrefetchFailedPerPageLimitExceeded
+      PrefetchEvicted
+      PrefetchHeldback
+      # A previous prefetch to the origin got a HTTP 503 response with an
+      # Retry-After header that has no elapsed yet.
+      PrefetchIneligibleRetryAfter
+      PrefetchIsPrivacyDecoy
+      PrefetchIsStale
+      PrefetchNotEligibleBrowserContextOffTheRecord
+      PrefetchNotEligibleDataSaverEnabled
+      PrefetchNotEligibleExistingProxy
+      PrefetchNotEligibleHostIsNonUnique
+      PrefetchNotEligibleNonDefaultStoragePartition
+      PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxy
+      PrefetchNotEligibleSchemeIsNotHttps
+      PrefetchNotEligibleUserHasCookies
+      PrefetchNotEligibleUserHasServiceWorker
+      PrefetchNotEligibleBatterySaverEnabled
+      PrefetchNotEligiblePreloadingDisabled
+      PrefetchNotFinishedInTime
+      PrefetchNotStarted
+      PrefetchNotUsedCookiesChanged
+      PrefetchProxyNotAvailable
+      # The response of the prefetch is used for the next navigation. This is
+      # the final successful state.
+      PrefetchResponseUsed
+      # The prefetch finished successfully but was never used.
+      PrefetchSuccessfulButNotUsed
+      PrefetchNotUsedProbeFailed
+
   # Fired when a prefetch attempt is updated.
   event prefetchStatusUpdated
     parameters
@@ -11000,15 +11115,14 @@
       Page.FrameId initiatingFrameId
       string prefetchUrl
       PreloadingStatus status
+      PrefetchStatus prefetchStatus
 
   # Fired when a prerender attempt is updated.
   event prerenderStatusUpdated
     parameters
       PreloadingAttemptKey key
-      # The frame id of the frame initiating prerender.
-      Page.FrameId initiatingFrameId
-      string prerenderingUrl
       PreloadingStatus status
+      optional PrerenderFinalStatus prerenderStatus
 
   # Send a list of sources for all preloading attempts in a document.
   event preloadingAttemptSourcesUpdated
@@ -11025,6 +11139,12 @@
       SignIn
       SignUp
 
+  # Whether the dialog shown is an account chooser or an auto re-authentication dialog.
+  type DialogType extends string
+    enum
+      AccountChooser
+      AutoReauthn
+
   # Corresponds to IdentityRequestAccount
   type Account extends object
     properties
@@ -11043,6 +11163,7 @@
   event dialogShown
     parameters
       string dialogId
+      DialogType dialogType
       array of Account accounts
       # These exist primarily so that the caller can verify the
       # RP context was used appropriately.
@@ -11071,4 +11192,3 @@
   # Resets the cooldown time, if any, to allow the next FedCM call to show
   # a dialog even if one was recently dismissed by the user.
   command resetCooldown
-
diff --git a/node_modules/devtools-protocol/pdl/js_protocol.pdl b/node_modules/devtools-protocol/pdl/js_protocol.pdl
index e758053..0dbdc01 100644
--- a/node_modules/devtools-protocol/pdl/js_protocol.pdl
+++ b/node_modules/devtools-protocol/pdl/js_protocol.pdl
@@ -1014,9 +1014,28 @@
   # Unique script identifier.
   type ScriptId extends string
 
-  # Represents the value serialiazed by the WebDriver BiDi specification
-  # https://w3c.github.io/webdriver-bidi.
-  type WebDriverValue extends object
+  # Represents options for serialization. Overrides `generatePreview`, `returnByValue` and
+  # `generateWebDriverValue`.
+  type SerializationOptions extends object
+    properties
+      enum serialization
+        # Whether the result should be deep-serialized. The result is put into
+        # `deepSerializedValue` and `ObjectId` is provided.
+        deep
+        # Whether the result is expected to be a JSON object which should be sent by value.
+        # The result is put either into `value` or into `unserializableValue`. Synonym of
+        # `returnByValue: true`. Overrides `returnByValue`.
+        json
+        # Only remote object id is put in the result. Same bahaviour as if no
+        # `serializationOptions`, `generatePreview`, `returnByValue` nor `generateWebDriverValue`
+        # are provided.
+        idOnly
+
+      # Deep serialization depth. Default is full depth. Respected only in `deep` serialization mode.
+      optional integer maxDepth
+
+  # Represents deep serialized value.
+  type DeepSerializedValue extends object
     properties
       enum type
         undefined
@@ -1044,6 +1063,10 @@
         window
       optional any value
       optional string objectId
+      # Set if value reference met more then once during serialization. In such
+      # case, value is provided only to one of the serialized values. Unique
+      # per value in the scope of one CDP call.
+      optional integer weakLocalObjectReference
 
   # Unique object identifier.
   type RemoteObjectId extends string
@@ -1097,8 +1120,10 @@
       optional UnserializableValue unserializableValue
       # String representation of the object.
       optional string description
-      # WebDriver BiDi representation of the value.
-      experimental optional WebDriverValue webDriverValue
+      # Deprecated. Use `deepSerializedValue` instead. WebDriver BiDi representation of the value.
+      deprecated optional DeepSerializedValue webDriverValue
+      # Deep serialized value.
+      experimental optional DeepSerializedValue deepSerializedValue
       # Unique object identifier (for non-primitive values).
       optional RemoteObjectId objectId
       # Preview containing abbreviated property values. Specified for `object` type values only.
@@ -1388,6 +1413,7 @@
       # execution. Overrides `setPauseOnException` state.
       optional boolean silent
       # Whether the result is expected to be a JSON object which should be sent by value.
+      # Can be overriden by `serializationOptions`.
       optional boolean returnByValue
       # Whether preview should be generated for the result.
       experimental optional boolean generatePreview
@@ -1411,10 +1437,15 @@
       # boundaries).
       # This is mutually exclusive with `executionContextId`.
       experimental optional string uniqueContextId
+      # Deprecated. Use `serializationOptions: {serialization:"deep"}` instead.
       # Whether the result should contain `webDriverValue`, serialized according to
       # https://w3c.github.io/webdriver-bidi. This is mutually exclusive with `returnByValue`, but
       # resulting `objectId` is still provided.
-      experimental optional boolean generateWebDriverValue
+      deprecated optional boolean generateWebDriverValue
+      # Specifies the result serialization. If provided, overrides
+      # `returnByValue` and `generateWebDriverValue`.
+      experimental optional SerializationOptions serializationOptions
+
     returns
       # Call result.
       RemoteObject result
@@ -1500,8 +1531,15 @@
       # boundaries).
       # This is mutually exclusive with `contextId`.
       experimental optional string uniqueContextId
-      # Whether the result should be serialized according to https://w3c.github.io/webdriver-bidi.
-      experimental optional boolean generateWebDriverValue
+      # Deprecated. Use `serializationOptions: {serialization:"deep"}` instead.
+      # Whether the result should contain `webDriverValue`, serialized
+      # according to
+      # https://w3c.github.io/webdriver-bidi. This is mutually exclusive with `returnByValue`, but
+      # resulting `objectId` is still provided.
+      deprecated optional boolean generateWebDriverValue
+      # Specifies the result serialization. If provided, overrides
+      # `returnByValue` and `generateWebDriverValue`.
+      experimental optional SerializationOptions serializationOptions
     returns
       # Evaluation result.
       RemoteObject result
diff --git a/node_modules/devtools-protocol/types/protocol-mapping.d.ts b/node_modules/devtools-protocol/types/protocol-mapping.d.ts
index 6ada281..1e451bd 100644
--- a/node_modules/devtools-protocol/types/protocol-mapping.d.ts
+++ b/node_modules/devtools-protocol/types/protocol-mapping.d.ts
@@ -1460,6 +1460,22 @@
             returnType: void;
         };
         /**
+         * Runs the form issues check for the target page. Found issues are reported
+         * using Audits.issueAdded event.
+         */
+        'Audits.checkFormsIssues': {
+            paramsType: [];
+            returnType: Protocol.Audits.CheckFormsIssuesResponse;
+        };
+        /**
+         * Trigger autofill on a form identified by the fieldId.
+         * If the field and related form cannot be autofilled, returns an error.
+         */
+        'Autofill.trigger': {
+            paramsType: [Protocol.Autofill.TriggerRequest];
+            returnType: void;
+        };
+        /**
          * Enables event updates for the service.
          */
         'BackgroundService.startObserving': {
@@ -1608,6 +1624,14 @@
             returnType: void;
         };
         /**
+         * Allows a site to use privacy sandbox features that require enrollment
+         * without the site actually being enrolled. Only supported on page targets.
+         */
+        'Browser.addPrivacySandboxEnrollmentOverride': {
+            paramsType: [Protocol.Browser.AddPrivacySandboxEnrollmentOverrideRequest];
+            returnType: void;
+        };
+        /**
          * Inserts a new rule with the given `ruleText` in a stylesheet with given `styleSheetId`, at the
          * position specified by `location`.
          */
@@ -4222,6 +4246,13 @@
             returnType: void;
         };
         /**
+         * Deletes state for sites identified as potential bounce trackers, immediately.
+         */
+        'Storage.runBounceTrackingMitigations': {
+            paramsType: [];
+            returnType: Protocol.Storage.RunBounceTrackingMitigationsResponse;
+        };
+        /**
          * Returns information about the system.
          */
         'SystemInfo.getInfo': {
diff --git a/node_modules/devtools-protocol/types/protocol-proxy-api.d.ts b/node_modules/devtools-protocol/types/protocol-proxy-api.d.ts
index be4e11a..99e3962 100644
--- a/node_modules/devtools-protocol/types/protocol-proxy-api.d.ts
+++ b/node_modules/devtools-protocol/types/protocol-proxy-api.d.ts
@@ -28,6 +28,8 @@
 
         Audits: AuditsApi;
 
+        Autofill: AutofillApi;
+
         BackgroundService: BackgroundServiceApi;
 
         Browser: BrowserApi;
@@ -786,10 +788,25 @@
          */
         checkContrast(params: Protocol.Audits.CheckContrastRequest): Promise<void>;
 
+        /**
+         * Runs the form issues check for the target page. Found issues are reported
+         * using Audits.issueAdded event.
+         */
+        checkFormsIssues(): Promise<Protocol.Audits.CheckFormsIssuesResponse>;
+
         on(event: 'issueAdded', listener: (params: Protocol.Audits.IssueAddedEvent) => void): void;
 
     }
 
+    export interface AutofillApi {
+        /**
+         * Trigger autofill on a form identified by the fieldId.
+         * If the field and related form cannot be autofilled, returns an error.
+         */
+        trigger(params: Protocol.Autofill.TriggerRequest): Promise<void>;
+
+    }
+
     export interface BackgroundServiceApi {
         /**
          * Enables event updates for the service.
@@ -912,6 +929,12 @@
         executeBrowserCommand(params: Protocol.Browser.ExecuteBrowserCommandRequest): Promise<void>;
 
         /**
+         * Allows a site to use privacy sandbox features that require enrollment
+         * without the site actually being enrolled. Only supported on page targets.
+         */
+        addPrivacySandboxEnrollmentOverride(params: Protocol.Browser.AddPrivacySandboxEnrollmentOverrideRequest): Promise<void>;
+
+        /**
          * Fired when page is about to start a download.
          */
         on(event: 'downloadWillBegin', listener: (params: Protocol.Browser.DownloadWillBeginEvent) => void): void;
@@ -3376,6 +3399,11 @@
         deleteStorageBucket(params: Protocol.Storage.DeleteStorageBucketRequest): Promise<void>;
 
         /**
+         * Deletes state for sites identified as potential bounce trackers, immediately.
+         */
+        runBounceTrackingMitigations(): Promise<Protocol.Storage.RunBounceTrackingMitigationsResponse>;
+
+        /**
          * A cache's contents have been modified.
          */
         on(event: 'cacheStorageContentUpdated', listener: (params: Protocol.Storage.CacheStorageContentUpdatedEvent) => void): void;
diff --git a/node_modules/devtools-protocol/types/protocol.d.ts b/node_modules/devtools-protocol/types/protocol.d.ts
index 21728ea..259291a 100644
--- a/node_modules/devtools-protocol/types/protocol.d.ts
+++ b/node_modules/devtools-protocol/types/protocol.d.ts
@@ -1490,7 +1490,28 @@
          */
         export type ScriptId = string;
 
-        export const enum WebDriverValueType {
+        export const enum SerializationOptionsSerialization {
+            Deep = 'deep',
+            Json = 'json',
+            IdOnly = 'idOnly',
+        }
+
+        /**
+         * Represents options for serialization. Overrides `generatePreview`, `returnByValue` and
+         * `generateWebDriverValue`.
+         */
+        export interface SerializationOptions {
+            /**
+             *  (SerializationOptionsSerialization enum)
+             */
+            serialization: ('deep' | 'json' | 'idOnly');
+            /**
+             * Deep serialization depth. Default is full depth. Respected only in `deep` serialization mode.
+             */
+            maxDepth?: integer;
+        }
+
+        export const enum DeepSerializedValueType {
             Undefined = 'undefined',
             Null = 'null',
             String = 'string',
@@ -1517,16 +1538,21 @@
         }
 
         /**
-         * Represents the value serialiazed by the WebDriver BiDi specification
-         * https://w3c.github.io/webdriver-bidi.
+         * Represents deep serialized value.
          */
-        export interface WebDriverValue {
+        export interface DeepSerializedValue {
             /**
-             *  (WebDriverValueType enum)
+             *  (DeepSerializedValueType enum)
              */
             type: ('undefined' | 'null' | 'string' | 'number' | 'boolean' | 'bigint' | 'regexp' | 'date' | 'symbol' | 'array' | 'object' | 'function' | 'map' | 'set' | 'weakmap' | 'weakset' | 'error' | 'proxy' | 'promise' | 'typedarray' | 'arraybuffer' | 'node' | 'window');
             value?: any;
             objectId?: string;
+            /**
+             * Set if value reference met more then once during serialization. In such
+             * case, value is provided only to one of the serialized values. Unique
+             * per value in the scope of one CDP call.
+             */
+            weakLocalObjectReference?: integer;
         }
 
         /**
@@ -1605,9 +1631,13 @@
              */
             description?: string;
             /**
-             * WebDriver BiDi representation of the value.
+             * Deprecated. Use `deepSerializedValue` instead. WebDriver BiDi representation of the value.
              */
-            webDriverValue?: WebDriverValue;
+            webDriverValue?: DeepSerializedValue;
+            /**
+             * Deep serialized value.
+             */
+            deepSerializedValue?: DeepSerializedValue;
             /**
              * Unique object identifier (for non-primitive values).
              */
@@ -2075,6 +2105,7 @@
             silent?: boolean;
             /**
              * Whether the result is expected to be a JSON object which should be sent by value.
+             * Can be overriden by `serializationOptions`.
              */
             returnByValue?: boolean;
             /**
@@ -2114,11 +2145,17 @@
              */
             uniqueContextId?: string;
             /**
+             * Deprecated. Use `serializationOptions: {serialization:"deep"}` instead.
              * Whether the result should contain `webDriverValue`, serialized according to
              * https://w3c.github.io/webdriver-bidi. This is mutually exclusive with `returnByValue`, but
              * resulting `objectId` is still provided.
              */
             generateWebDriverValue?: boolean;
+            /**
+             * Specifies the result serialization. If provided, overrides
+             * `returnByValue` and `generateWebDriverValue`.
+             */
+            serializationOptions?: SerializationOptions;
         }
 
         export interface CallFunctionOnResponse {
@@ -2242,9 +2279,18 @@
              */
             uniqueContextId?: string;
             /**
-             * Whether the result should be serialized according to https://w3c.github.io/webdriver-bidi.
+             * Deprecated. Use `serializationOptions: {serialization:"deep"}` instead.
+             * Whether the result should contain `webDriverValue`, serialized
+             * according to
+             * https://w3c.github.io/webdriver-bidi. This is mutually exclusive with `returnByValue`, but
+             * resulting `objectId` is still provided.
              */
             generateWebDriverValue?: boolean;
+            /**
+             * Specifies the result serialization. If provided, overrides
+             * `returnByValue` and `generateWebDriverValue`.
+             */
+            serializationOptions?: SerializationOptions;
         }
 
         export interface EvaluateResponse {
@@ -3365,27 +3411,6 @@
             type: SharedArrayBufferIssueType;
         }
 
-        export type TwaQualityEnforcementViolationType = ('kHttpError' | 'kUnavailableOffline' | 'kDigitalAssetLinks');
-
-        export interface TrustedWebActivityIssueDetails {
-            /**
-             * The url that triggers the violation.
-             */
-            url: string;
-            violationType: TwaQualityEnforcementViolationType;
-            httpStatusCode?: integer;
-            /**
-             * The package name of the Trusted Web Activity client app. This field is
-             * only used when violation type is kDigitalAssetLinks.
-             */
-            packageName?: string;
-            /**
-             * The signature of the Trusted Web Activity client app. This field is only
-             * used when violation type is kDigitalAssetLinks.
-             */
-            signature?: string;
-        }
-
         export interface LowTextContrastIssueDetails {
             violatingNodeId: DOM.BackendNodeId;
             violatingNodeSelector: string;
@@ -3410,7 +3435,7 @@
             clientSecurityState?: Network.ClientSecurityState;
         }
 
-        export type AttributionReportingIssueType = ('PermissionPolicyDisabled' | 'UntrustworthyReportingOrigin' | 'InsecureContext' | 'InvalidHeader' | 'InvalidRegisterTriggerHeader' | 'InvalidEligibleHeader' | 'SourceAndTriggerHeaders' | 'SourceIgnored' | 'TriggerIgnored' | 'OsSourceIgnored' | 'OsTriggerIgnored' | 'InvalidRegisterOsSourceHeader' | 'InvalidRegisterOsTriggerHeader' | 'WebAndOsHeaders' | 'NoWebOrOsSupport');
+        export type AttributionReportingIssueType = ('PermissionPolicyDisabled' | 'UntrustworthyReportingOrigin' | 'InsecureContext' | 'InvalidHeader' | 'InvalidRegisterTriggerHeader' | 'SourceAndTriggerHeaders' | 'SourceIgnored' | 'TriggerIgnored' | 'OsSourceIgnored' | 'OsTriggerIgnored' | 'InvalidRegisterOsSourceHeader' | 'InvalidRegisterOsTriggerHeader' | 'WebAndOsHeaders' | 'NoWebOrOsSupport');
 
         /**
          * Details for issues around "Attribution Reporting API" usage.
@@ -3495,7 +3520,7 @@
          * third_party/blink/public/mojom/devtools/inspector_issue.mojom to include
          * all cases except for success.
          */
-        export type FederatedAuthRequestIssueReason = ('ShouldEmbargo' | 'TooManyRequests' | 'WellKnownHttpNotFound' | 'WellKnownNoResponse' | 'WellKnownInvalidResponse' | 'WellKnownListEmpty' | 'WellKnownInvalidContentType' | 'ConfigNotInWellKnown' | 'WellKnownTooBig' | 'ConfigHttpNotFound' | 'ConfigNoResponse' | 'ConfigInvalidResponse' | 'ConfigInvalidContentType' | 'ClientMetadataHttpNotFound' | 'ClientMetadataNoResponse' | 'ClientMetadataInvalidResponse' | 'ClientMetadataInvalidContentType' | 'DisabledInSettings' | 'ErrorFetchingSignin' | 'InvalidSigninResponse' | 'AccountsHttpNotFound' | 'AccountsNoResponse' | 'AccountsInvalidResponse' | 'AccountsListEmpty' | 'AccountsInvalidContentType' | 'IdTokenHttpNotFound' | 'IdTokenNoResponse' | 'IdTokenInvalidResponse' | 'IdTokenInvalidRequest' | 'IdTokenInvalidContentType' | 'ErrorIdToken' | 'Canceled' | 'RpPageNotVisible');
+        export type FederatedAuthRequestIssueReason = ('ShouldEmbargo' | 'TooManyRequests' | 'WellKnownHttpNotFound' | 'WellKnownNoResponse' | 'WellKnownInvalidResponse' | 'WellKnownListEmpty' | 'WellKnownInvalidContentType' | 'ConfigNotInWellKnown' | 'WellKnownTooBig' | 'ConfigHttpNotFound' | 'ConfigNoResponse' | 'ConfigInvalidResponse' | 'ConfigInvalidContentType' | 'ClientMetadataHttpNotFound' | 'ClientMetadataNoResponse' | 'ClientMetadataInvalidResponse' | 'ClientMetadataInvalidContentType' | 'DisabledInSettings' | 'ErrorFetchingSignin' | 'InvalidSigninResponse' | 'AccountsHttpNotFound' | 'AccountsNoResponse' | 'AccountsInvalidResponse' | 'AccountsListEmpty' | 'AccountsInvalidContentType' | 'IdTokenHttpNotFound' | 'IdTokenNoResponse' | 'IdTokenInvalidResponse' | 'IdTokenInvalidRequest' | 'IdTokenInvalidContentType' | 'ErrorIdToken' | 'Canceled' | 'RpPageNotVisible' | 'SilentMediationFailure');
 
         /**
          * This issue tracks client hints related issues. It's used to deprecate old
@@ -3511,7 +3536,7 @@
          * optional fields in InspectorIssueDetails to convey more specific
          * information about the kind of issue.
          */
-        export type InspectorIssueCode = ('CookieIssue' | 'MixedContentIssue' | 'BlockedByResponseIssue' | 'HeavyAdIssue' | 'ContentSecurityPolicyIssue' | 'SharedArrayBufferIssue' | 'TrustedWebActivityIssue' | 'LowTextContrastIssue' | 'CorsIssue' | 'AttributionReportingIssue' | 'QuirksModeIssue' | 'NavigatorUserAgentIssue' | 'GenericIssue' | 'DeprecationIssue' | 'ClientHintIssue' | 'FederatedAuthRequestIssue' | 'BounceTrackingIssue');
+        export type InspectorIssueCode = ('CookieIssue' | 'MixedContentIssue' | 'BlockedByResponseIssue' | 'HeavyAdIssue' | 'ContentSecurityPolicyIssue' | 'SharedArrayBufferIssue' | 'LowTextContrastIssue' | 'CorsIssue' | 'AttributionReportingIssue' | 'QuirksModeIssue' | 'NavigatorUserAgentIssue' | 'GenericIssue' | 'DeprecationIssue' | 'ClientHintIssue' | 'FederatedAuthRequestIssue' | 'BounceTrackingIssue');
 
         /**
          * This struct holds a list of optional fields with additional information
@@ -3525,7 +3550,6 @@
             heavyAdIssueDetails?: HeavyAdIssueDetails;
             contentSecurityPolicyIssueDetails?: ContentSecurityPolicyIssueDetails;
             sharedArrayBufferIssueDetails?: SharedArrayBufferIssueDetails;
-            twaQualityEnforcementDetails?: TrustedWebActivityIssueDetails;
             lowTextContrastIssueDetails?: LowTextContrastIssueDetails;
             corsIssueDetails?: CorsIssueDetails;
             attributionReportingIssueDetails?: AttributionReportingIssueDetails;
@@ -3604,12 +3628,60 @@
             reportAAA?: boolean;
         }
 
+        export interface CheckFormsIssuesResponse {
+            formIssues: GenericIssueDetails[];
+        }
+
         export interface IssueAddedEvent {
             issue: InspectorIssue;
         }
     }
 
     /**
+     * Defines commands and events for Autofill.
+     */
+    export namespace Autofill {
+
+        export interface CreditCard {
+            /**
+             * 16-digit credit card number.
+             */
+            number: string;
+            /**
+             * Name of the credit card owner.
+             */
+            name: string;
+            /**
+             * 2-digit expiry month.
+             */
+            expiryMonth: string;
+            /**
+             * 4-digit expiry year.
+             */
+            expiryYear: string;
+            /**
+             * 3-digit card verification code.
+             */
+            cvc: string;
+        }
+
+        export interface TriggerRequest {
+            /**
+             * Identifies a field that serves as an anchor for autofill.
+             */
+            fieldId: DOM.BackendNodeId;
+            /**
+             * Identifies the frame that field belongs to.
+             */
+            frameId?: Page.FrameId;
+            /**
+             * Credit card information to fill out the form. Credit card data is not saved.
+             */
+            card: CreditCard;
+        }
+    }
+
+    /**
      * Defines events for background web platform features.
      */
     export namespace BackgroundService {
@@ -4020,6 +4092,10 @@
             commandId: BrowserCommandId;
         }
 
+        export interface AddPrivacySandboxEnrollmentOverrideRequest {
+            url: string;
+        }
+
         /**
          * Fired when page is about to start a download.
          */
@@ -4158,6 +4234,30 @@
              * Value range in the underlying resource (if available).
              */
             range?: SourceRange;
+            /**
+             * Specificity of the selector.
+             */
+            specificity?: Specificity;
+        }
+
+        /**
+         * Specificity:
+         * https://drafts.csswg.org/selectors/#specificity-rules
+         */
+        export interface Specificity {
+            /**
+             * The a component, which represents the number of ID selectors.
+             */
+            a: integer;
+            /**
+             * The b component, which represents the number of class selectors, attributes selectors, and
+             * pseudo-classes.
+             */
+            b: integer;
+            /**
+             * The c component, which represents the number of type selectors and pseudo-elements.
+             */
+            c: integer;
         }
 
         /**
@@ -5254,6 +5354,10 @@
              */
             storageKey: string;
             /**
+             * Storage bucket of the cache.
+             */
+            storageBucket?: Storage.StorageBucket;
+            /**
              * The name of the cache.
              */
             cacheName: string;
@@ -5294,7 +5398,7 @@
 
         export interface RequestCacheNamesRequest {
             /**
-             * At least and at most one of securityOrigin, storageKey must be specified.
+             * At least and at most one of securityOrigin, storageKey, storageBucket must be specified.
              * Security origin.
              */
             securityOrigin?: string;
@@ -5302,6 +5406,10 @@
              * Storage key.
              */
             storageKey?: string;
+            /**
+             * Storage bucket. If not specified, it uses the default bucket.
+             */
+            storageBucket?: Storage.StorageBucket;
         }
 
         export interface RequestCacheNamesResponse {
@@ -8188,7 +8296,7 @@
 
         export interface ClearObjectStoreRequest {
             /**
-             * At least and at most one of securityOrigin, storageKey must be specified.
+             * At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.
              * Security origin.
              */
             securityOrigin?: string;
@@ -8197,6 +8305,10 @@
              */
             storageKey?: string;
             /**
+             * Storage bucket. If not specified, it uses the default bucket.
+             */
+            storageBucket?: Storage.StorageBucket;
+            /**
              * Database name.
              */
             databaseName: string;
@@ -8208,7 +8320,7 @@
 
         export interface DeleteDatabaseRequest {
             /**
-             * At least and at most one of securityOrigin, storageKey must be specified.
+             * At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.
              * Security origin.
              */
             securityOrigin?: string;
@@ -8217,6 +8329,10 @@
              */
             storageKey?: string;
             /**
+             * Storage bucket. If not specified, it uses the default bucket.
+             */
+            storageBucket?: Storage.StorageBucket;
+            /**
              * Database name.
              */
             databaseName: string;
@@ -8224,7 +8340,7 @@
 
         export interface DeleteObjectStoreEntriesRequest {
             /**
-             * At least and at most one of securityOrigin, storageKey must be specified.
+             * At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.
              * Security origin.
              */
             securityOrigin?: string;
@@ -8232,6 +8348,10 @@
              * Storage key.
              */
             storageKey?: string;
+            /**
+             * Storage bucket. If not specified, it uses the default bucket.
+             */
+            storageBucket?: Storage.StorageBucket;
             databaseName: string;
             objectStoreName: string;
             /**
@@ -8242,7 +8362,7 @@
 
         export interface RequestDataRequest {
             /**
-             * At least and at most one of securityOrigin, storageKey must be specified.
+             * At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.
              * Security origin.
              */
             securityOrigin?: string;
@@ -8251,6 +8371,10 @@
              */
             storageKey?: string;
             /**
+             * Storage bucket. If not specified, it uses the default bucket.
+             */
+            storageBucket?: Storage.StorageBucket;
+            /**
              * Database name.
              */
             databaseName: string;
@@ -8289,7 +8413,7 @@
 
         export interface GetMetadataRequest {
             /**
-             * At least and at most one of securityOrigin, storageKey must be specified.
+             * At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.
              * Security origin.
              */
             securityOrigin?: string;
@@ -8298,6 +8422,10 @@
              */
             storageKey?: string;
             /**
+             * Storage bucket. If not specified, it uses the default bucket.
+             */
+            storageBucket?: Storage.StorageBucket;
+            /**
              * Database name.
              */
             databaseName: string;
@@ -8322,7 +8450,7 @@
 
         export interface RequestDatabaseRequest {
             /**
-             * At least and at most one of securityOrigin, storageKey must be specified.
+             * At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.
              * Security origin.
              */
             securityOrigin?: string;
@@ -8331,6 +8459,10 @@
              */
             storageKey?: string;
             /**
+             * Storage bucket. If not specified, it uses the default bucket.
+             */
+            storageBucket?: Storage.StorageBucket;
+            /**
              * Database name.
              */
             databaseName: string;
@@ -8345,7 +8477,7 @@
 
         export interface RequestDatabaseNamesRequest {
             /**
-             * At least and at most one of securityOrigin, storageKey must be specified.
+             * At least and at most one of securityOrigin, storageKey, or storageBucket must be specified.
              * Security origin.
              */
             securityOrigin?: string;
@@ -8353,6 +8485,10 @@
              * Storage key.
              */
             storageKey?: string;
+            /**
+             * Storage bucket. If not specified, it uses the default bucket.
+             */
+            storageBucket?: Storage.StorageBucket;
         }
 
         export interface RequestDatabaseNamesResponse {
@@ -12414,7 +12550,7 @@
          * All Permissions Policy features. This enum should match the one defined
          * in third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5.
          */
-        export type PermissionsPolicyFeature = ('accelerometer' | 'ambient-light-sensor' | 'attribution-reporting' | 'autoplay' | 'bluetooth' | 'browsing-topics' | 'camera' | 'ch-dpr' | 'ch-device-memory' | 'ch-downlink' | 'ch-ect' | 'ch-prefers-color-scheme' | 'ch-prefers-reduced-motion' | 'ch-rtt' | 'ch-save-data' | 'ch-ua' | 'ch-ua-arch' | 'ch-ua-bitness' | 'ch-ua-platform' | 'ch-ua-model' | 'ch-ua-mobile' | 'ch-ua-full' | 'ch-ua-full-version' | 'ch-ua-full-version-list' | 'ch-ua-platform-version' | 'ch-ua-reduced' | 'ch-ua-wow64' | 'ch-viewport-height' | 'ch-viewport-width' | 'ch-width' | 'clipboard-read' | 'clipboard-write' | 'compute-pressure' | 'cross-origin-isolated' | 'direct-sockets' | 'display-capture' | 'document-domain' | 'encrypted-media' | 'execution-while-out-of-viewport' | 'execution-while-not-rendered' | 'focus-without-user-activation' | 'fullscreen' | 'frobulate' | 'gamepad' | 'geolocation' | 'gyroscope' | 'hid' | 'identity-credentials-get' | 'idle-detection' | 'interest-cohort' | 'join-ad-interest-group' | 'keyboard-map' | 'local-fonts' | 'magnetometer' | 'microphone' | 'midi' | 'otp-credentials' | 'payment' | 'picture-in-picture' | 'private-aggregation' | 'private-state-token-redemption' | 'publickey-credentials-get' | 'run-ad-auction' | 'screen-wake-lock' | 'serial' | 'shared-autofill' | 'shared-storage' | 'shared-storage-select-url' | 'smart-card' | 'storage-access' | 'sync-xhr' | 'unload' | 'usb' | 'vertical-scroll' | 'web-share' | 'window-management' | 'window-placement' | 'xr-spatial-tracking');
+        export type PermissionsPolicyFeature = ('accelerometer' | 'ambient-light-sensor' | 'attribution-reporting' | 'autoplay' | 'bluetooth' | 'browsing-topics' | 'camera' | 'ch-dpr' | 'ch-device-memory' | 'ch-downlink' | 'ch-ect' | 'ch-prefers-color-scheme' | 'ch-prefers-reduced-motion' | 'ch-rtt' | 'ch-save-data' | 'ch-ua' | 'ch-ua-arch' | 'ch-ua-bitness' | 'ch-ua-platform' | 'ch-ua-model' | 'ch-ua-mobile' | 'ch-ua-full' | 'ch-ua-full-version' | 'ch-ua-full-version-list' | 'ch-ua-platform-version' | 'ch-ua-reduced' | 'ch-ua-wow64' | 'ch-viewport-height' | 'ch-viewport-width' | 'ch-width' | 'clipboard-read' | 'clipboard-write' | 'compute-pressure' | 'cross-origin-isolated' | 'direct-sockets' | 'display-capture' | 'document-domain' | 'encrypted-media' | 'execution-while-out-of-viewport' | 'execution-while-not-rendered' | 'focus-without-user-activation' | 'fullscreen' | 'frobulate' | 'gamepad' | 'geolocation' | 'gyroscope' | 'hid' | 'identity-credentials-get' | 'idle-detection' | 'interest-cohort' | 'join-ad-interest-group' | 'keyboard-map' | 'local-fonts' | 'magnetometer' | 'microphone' | 'midi' | 'otp-credentials' | 'payment' | 'picture-in-picture' | 'private-aggregation' | 'private-state-token-issuance' | 'private-state-token-redemption' | 'publickey-credentials-get' | 'run-ad-auction' | 'screen-wake-lock' | 'serial' | 'shared-autofill' | 'shared-storage' | 'shared-storage-select-url' | 'smart-card' | 'storage-access' | 'sync-xhr' | 'unload' | 'usb' | 'vertical-scroll' | 'web-share' | 'window-management' | 'window-placement' | 'xr-spatial-tracking');
 
         /**
          * Reason for a permissions policy feature to be disabled.
@@ -14776,11 +14912,17 @@
 
         export type StorageBucketsDurability = ('relaxed' | 'strict');
 
-        export interface StorageBucketInfo {
+        export interface StorageBucket {
             storageKey: SerializedStorageKey;
+            /**
+             * If not specified, it is the default bucket of the storageKey.
+             */
+            name?: string;
+        }
+
+        export interface StorageBucketInfo {
+            bucket: StorageBucket;
             id: string;
-            name: string;
-            isDefault: boolean;
             expiration: Network.TimeSinceEpoch;
             /**
              * Storage quota (bytes).
@@ -15029,8 +15171,11 @@
         }
 
         export interface DeleteStorageBucketRequest {
-            storageKey: string;
-            bucketName: string;
+            bucket: StorageBucket;
+        }
+
+        export interface RunBounceTrackingMitigationsResponse {
+            deletedSites: string[];
         }
 
         /**
@@ -15046,6 +15191,10 @@
              */
             storageKey: string;
             /**
+             * Storage bucket to update.
+             */
+            bucketId: string;
+            /**
              * Name of cache in origin.
              */
             cacheName: string;
@@ -15063,6 +15212,10 @@
              * Storage key to update.
              */
             storageKey: string;
+            /**
+             * Storage bucket to update.
+             */
+            bucketId: string;
         }
 
         /**
@@ -15078,6 +15231,10 @@
              */
             storageKey: string;
             /**
+             * Storage bucket to update.
+             */
+            bucketId: string;
+            /**
              * Database to update.
              */
             databaseName: string;
@@ -15099,6 +15256,10 @@
              * Storage key to update.
              */
             storageKey: string;
+            /**
+             * Storage bucket to update.
+             */
+            bucketId: string;
         }
 
         /**
@@ -15140,7 +15301,7 @@
         }
 
         export interface StorageBucketCreatedOrUpdatedEvent {
-            bucket: StorageBucketInfo;
+            bucketInfo: StorageBucketInfo;
         }
 
         export interface StorageBucketDeletedEvent {
@@ -16973,6 +17134,21 @@
              */
             sourceText: string;
             /**
+             * A speculation rule set is either added through an inline
+             * <script> tag or through an external resource via the
+             * 'Speculation-Rules' HTTP header. For the first case, we include
+             * the BackendNodeId of the relevant <script> tag. For the second
+             * case, we include the external URL where the rule set was loaded
+             * from, and also RequestId if Network domain is enabled.
+             * 
+             * See also:
+             * - https://wicg.github.io/nav-speculation/speculation-rules.html#speculation-rules-script
+             * - https://wicg.github.io/nav-speculation/speculation-rules.html#speculation-rules-header
+             */
+            backendNodeId?: DOM.BackendNodeId;
+            url?: string;
+            requestId?: Network.RequestId;
+            /**
              * Error information
              * `errorMessage` is null iff `errorType` is null.
              */
@@ -17031,8 +17207,6 @@
          */
         export type PrerenderFinalStatus = ('Activated' | 'Destroyed' | 'LowEndDevice' | 'InvalidSchemeRedirect' | 'InvalidSchemeNavigation' | 'InProgressNavigation' | 'NavigationRequestBlockedByCsp' | 'MainFrameNavigation' | 'MojoBinderPolicy' | 'RendererProcessCrashed' | 'RendererProcessKilled' | 'Download' | 'TriggerDestroyed' | 'NavigationNotCommitted' | 'NavigationBadHttpStatus' | 'ClientCertRequested' | 'NavigationRequestNetworkError' | 'MaxNumOfRunningPrerendersExceeded' | 'CancelAllHostsForTesting' | 'DidFailLoad' | 'Stop' | 'SslCertificateError' | 'LoginAuthRequested' | 'UaChangeRequiresReload' | 'BlockedByClient' | 'AudioOutputDeviceRequested' | 'MixedContent' | 'TriggerBackgrounded' | 'EmbedderTriggeredAndCrossOriginRedirected' | 'MemoryLimitExceeded' | 'FailToGetMemoryUsage' | 'DataSaverEnabled' | 'HasEffectiveUrl' | 'ActivatedBeforeStarted' | 'InactivePageRestriction' | 'StartFailed' | 'TimeoutBackgrounded' | 'CrossSiteRedirectInInitialNavigation' | 'CrossSiteNavigationInInitialNavigation' | 'SameSiteCrossOriginRedirectNotOptInInInitialNavigation' | 'SameSiteCrossOriginNavigationNotOptInInInitialNavigation' | 'ActivationNavigationParameterMismatch' | 'ActivatedInBackground' | 'EmbedderHostDisallowed' | 'ActivationNavigationDestroyedBeforeSuccess' | 'TabClosedByUserGesture' | 'TabClosedWithoutUserGesture' | 'PrimaryMainFrameRendererProcessCrashed' | 'PrimaryMainFrameRendererProcessKilled' | 'ActivationFramePolicyNotCompatible' | 'PreloadingDisabled' | 'BatterySaverEnabled' | 'ActivatedDuringMainFrameNavigation' | 'PreloadingUnsupportedByWebContents' | 'CrossSiteRedirectInMainFrameNavigation' | 'CrossSiteNavigationInMainFrameNavigation' | 'SameSiteCrossOriginRedirectNotOptInInMainFrameNavigation' | 'SameSiteCrossOriginNavigationNotOptInInMainFrameNavigation' | 'MemoryPressureOnTrigger' | 'MemoryPressureAfterTriggered');
 
-        export type PreloadEnabledState = ('Enabled' | 'DisabledByDataSaver' | 'DisabledByBatterySaver' | 'DisabledByPreference' | 'NotSupported');
-
         /**
          * Preloading status values, see also PreloadingTriggeringOutcome. This
          * status is shared by prefetchStatusUpdated and prerenderStatusUpdated.
@@ -17040,6 +17214,12 @@
         export type PreloadingStatus = ('Pending' | 'Running' | 'Ready' | 'Success' | 'Failure' | 'NotSupported');
 
         /**
+         * TODO(https://crbug.com/1384419): revisit the list of PrefetchStatus and
+         * filter out the ones that aren't necessary to the developers.
+         */
+        export type PrefetchStatus = ('PrefetchAllowed' | 'PrefetchFailedIneligibleRedirect' | 'PrefetchFailedInvalidRedirect' | 'PrefetchFailedMIMENotSupported' | 'PrefetchFailedNetError' | 'PrefetchFailedNon2XX' | 'PrefetchFailedPerPageLimitExceeded' | 'PrefetchEvicted' | 'PrefetchHeldback' | 'PrefetchIneligibleRetryAfter' | 'PrefetchIsPrivacyDecoy' | 'PrefetchIsStale' | 'PrefetchNotEligibleBrowserContextOffTheRecord' | 'PrefetchNotEligibleDataSaverEnabled' | 'PrefetchNotEligibleExistingProxy' | 'PrefetchNotEligibleHostIsNonUnique' | 'PrefetchNotEligibleNonDefaultStoragePartition' | 'PrefetchNotEligibleSameSiteCrossOriginPrefetchRequiredProxy' | 'PrefetchNotEligibleSchemeIsNotHttps' | 'PrefetchNotEligibleUserHasCookies' | 'PrefetchNotEligibleUserHasServiceWorker' | 'PrefetchNotEligibleBatterySaverEnabled' | 'PrefetchNotEligiblePreloadingDisabled' | 'PrefetchNotFinishedInTime' | 'PrefetchNotStarted' | 'PrefetchNotUsedCookiesChanged' | 'PrefetchProxyNotAvailable' | 'PrefetchResponseUsed' | 'PrefetchSuccessfulButNotUsed' | 'PrefetchNotUsedProbeFailed');
+
+        /**
          * Upsert. Currently, it is only emitted when a rule set added.
          */
         export interface RuleSetUpdatedEvent {
@@ -17072,7 +17252,9 @@
          * Fired when a preload enabled state is updated.
          */
         export interface PreloadEnabledStateUpdatedEvent {
-            state: PreloadEnabledState;
+            disabledByPreference: boolean;
+            disabledByDataSaver: boolean;
+            disabledByBatterySaver: boolean;
         }
 
         /**
@@ -17086,6 +17268,7 @@
             initiatingFrameId: Page.FrameId;
             prefetchUrl: string;
             status: PreloadingStatus;
+            prefetchStatus: PrefetchStatus;
         }
 
         /**
@@ -17093,12 +17276,8 @@
          */
         export interface PrerenderStatusUpdatedEvent {
             key: PreloadingAttemptKey;
-            /**
-             * The frame id of the frame initiating prerender.
-             */
-            initiatingFrameId: Page.FrameId;
-            prerenderingUrl: string;
             status: PreloadingStatus;
+            prerenderStatus?: PrerenderFinalStatus;
         }
 
         /**
@@ -17122,6 +17301,11 @@
         export type LoginState = ('SignIn' | 'SignUp');
 
         /**
+         * Whether the dialog shown is an account chooser or an auto re-authentication dialog.
+         */
+        export type DialogType = ('AccountChooser' | 'AutoReauthn');
+
+        /**
          * Corresponds to IdentityRequestAccount
          */
         export interface Account {
@@ -17161,6 +17345,7 @@
 
         export interface DialogShownEvent {
             dialogId: string;
+            dialogType: DialogType;
             accounts: Account[];
             /**
              * These exist primarily so that the caller can verify the
diff --git a/node_modules/eslint-visitor-keys/README.md b/node_modules/eslint-visitor-keys/README.md
index f21e35a..0ea83f1 100644
--- a/node_modules/eslint-visitor-keys/README.md
+++ b/node_modules/eslint-visitor-keys/README.md
@@ -98,7 +98,6 @@
 - `npm test` runs tests and measures code coverage.
 - `npm run lint` checks source codes with ESLint.
 - `npm run coverage` opens the code coverage report of the previous test with your default browser.
-- `npm run release` publishes this package to [npm] registory.
 
 
 [npm]: https://www.npmjs.com/
diff --git a/node_modules/eslint-visitor-keys/package.json b/node_modules/eslint-visitor-keys/package.json
index e1f836d..b9972e9 100644
--- a/node_modules/eslint-visitor-keys/package.json
+++ b/node_modules/eslint-visitor-keys/package.json
@@ -1,6 +1,6 @@
 {
   "name": "eslint-visitor-keys",
-  "version": "3.4.1",
+  "version": "3.4.2",
   "description": "Constants and utilities about visitor keys to traverse AST.",
   "type": "module",
   "main": "dist/eslint-visitor-keys.cjs",
diff --git a/node_modules/eslint/node_modules/eslint-scope/dist/eslint-scope.cjs b/node_modules/eslint/node_modules/eslint-scope/dist/eslint-scope.cjs
index a26e329..291fcdc 100644
--- a/node_modules/eslint/node_modules/eslint-scope/dist/eslint-scope.cjs
+++ b/node_modules/eslint/node_modules/eslint-scope/dist/eslint-scope.cjs
@@ -2114,7 +2114,7 @@
 
 /* vim: set sw=4 ts=4 et tw=80 : */
 
-const version = "7.2.1";
+const version = "7.2.2";
 
 /*
   Copyright (C) 2012-2014 Yusuke Suzuki <[email protected]>
diff --git a/node_modules/eslint/node_modules/eslint-scope/lib/version.js b/node_modules/eslint/node_modules/eslint-scope/lib/version.js
index e4322b5..7e7f652 100644
--- a/node_modules/eslint/node_modules/eslint-scope/lib/version.js
+++ b/node_modules/eslint/node_modules/eslint-scope/lib/version.js
@@ -1,3 +1,3 @@
-const version = "7.2.1";
+const version = "7.2.2";
 
 export default version;
diff --git a/node_modules/eslint/node_modules/eslint-scope/package.json b/node_modules/eslint/node_modules/eslint-scope/package.json
index 53921d2..0aae36d 100644
--- a/node_modules/eslint/node_modules/eslint-scope/package.json
+++ b/node_modules/eslint/node_modules/eslint-scope/package.json
@@ -11,7 +11,7 @@
     },
     "./package.json": "./package.json"
   },
-  "version": "7.2.1",
+  "version": "7.2.2",
   "engines": {
     "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
   },
diff --git a/node_modules/get-uri/README.md b/node_modules/get-uri/README.md
new file mode 100644
index 0000000..d62c68b
--- /dev/null
+++ b/node_modules/get-uri/README.md
@@ -0,0 +1,135 @@
+get-uri
+=======
+### Returns a `stream.Readable` from a URI string
+
+This high-level module accepts a URI string and returns a `Readable` stream
+instance. There is built-in support for a variety of "protocols", and it's
+easily extensible with more:
+
+| Protocol  | Description                     | Example
+|:---------:|:-------------------------------:|:---------------------------------:
+| `data`    | [Data URIs][data]               | `data:text/plain;base64,SGVsbG8sIFdvcmxkIQ%3D%3D`
+| `file`    | [File URIs][file]               | `file:///c:/windows/example.ini`
+| `ftp`     | [FTP URIs][ftp]                 | `ftp://ftp.kernel.org/pub/site/README`
+| `http`    | [HTTP URIs][http]               | `http://www.example.com/path/to/name`
+| `https`   | [HTTPS URIs][https]             | `https://www.example.com/path/to/name`
+
+Example
+-------
+
+To simply get a `stream.Readable` instance from a `file:` URI, try something like:
+
+```ts
+import { getUri } from 'get-uri';
+
+// `file:` maps to a `fs.ReadStream` instance…
+const stream = await getUri('file:///Users/nrajlich/wat.json');
+stream.pipe(process.stdout);
+```
+
+
+Missing Endpoints
+-----------------
+
+When you pass in a URI in which the resource referenced does not exist on the
+destination server, then a `NotFoundError` will be thrown. The `code` of the
+error instance is set to `"ENOTFOUND"`, so you can check for that value
+to detect when a bad filename is requested:
+
+```ts
+try {
+  await getUri('http://example.com/resource.json');
+} catch (err) {
+  if (err.code === 'ENOTFOUND') {
+    // bad file path requested
+  } else {
+    // something else bad happened...
+    throw err;
+  }
+}
+```
+
+
+Cacheability
+------------
+
+When calling `getUri()` with the same URI multiple times, the `get-uri` module
+supports sending an indicator that the remote resource has not been modified
+since the last time it has been retreived from that node process.
+
+To do this, define a `cache` property on the "options object" argument
+with the value set to the `stream.Readable` instance that was previously
+returned. If the remote resource has not been changed since the last call for
+that same URI, then a `NotModifiedError` instance will be thrown with its
+`code` property set to `"ENOTMODIFIED"`.
+
+When the `"ENOTMODIFIED"` error occurs, then you can safely re-use the
+results from the previous `getUri()` call for that same URI:
+
+``` js
+// First time fetches for real
+const stream = await getUri('http://example.com/resource.json');
+
+try {
+  // … some time later, if you need to get this same URI again, pass in the
+  // previous `stream.Readable` instance as `cache` option to potentially
+  // have an "ENOTMODIFIED" error thrown:
+  await getUri('http://example.com/resource.json', { cache: stream });
+} catch (err) {
+  if (err.code === 'ENOTMODIFIED') {
+    // source file has not been modified since last time it was requested,
+    // so you are expected to re-use results from a previous call to `getUri()`
+  } else {
+    // something else bad happened...
+    throw err;
+  }
+}
+```
+
+
+API
+---
+
+### getUri(uri: string | URL, options?: Object]): Promise<Readable>
+
+A `uri` is required. An optional `options` object may be passed in:
+
+ - `cache` - A `stream.Readable` instance from a previous call to `getUri()` with the same URI. If this option is passed in, and the destination endpoint has not been modified, then an `ENOTMODIFIED` error is thrown
+
+Any other options passed in to the `options` object will be passed through
+to the low-level connection creation functions (`http.get()`, `ftp.connect()`,
+etc).
+
+Returns a `stream.Readable` instance to read the resource at the given `uri`.
+
+License
+-------
+
+(The MIT License)
+
+Copyright (c) 2014 Nathan Rajlich &lt;[email protected]&gt;
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+[data]: http://tools.ietf.org/html/rfc2397
+[file]: http://tools.ietf.org/html/draft-hoffman-file-uri-03
+[ftp]: http://www.w3.org/Protocols/rfc959/
+[http]: http://www.w3.org/Protocols/rfc2616/rfc2616.html
+[https]: http://wikipedia.org/wiki/HTTP_Secure
diff --git a/node_modules/get-uri/dist/data.d.ts b/node_modules/get-uri/dist/data.d.ts
new file mode 100644
index 0000000..9bd51d4
--- /dev/null
+++ b/node_modules/get-uri/dist/data.d.ts
@@ -0,0 +1,16 @@
+/// <reference types="node" />
+/// <reference types="node" />
+import { Readable } from 'stream';
+import { GetUriProtocol } from './';
+declare class DataReadable extends Readable {
+    hash?: string;
+    constructor(hash: string, buf: Buffer);
+}
+export interface DataOptions {
+    cache?: DataReadable;
+}
+/**
+ * Returns a Readable stream from a "data:" URI.
+ */
+export declare const data: GetUriProtocol<DataOptions>;
+export {};
diff --git a/node_modules/get-uri/dist/data.js b/node_modules/get-uri/dist/data.js
new file mode 100644
index 0000000..6902adb
--- /dev/null
+++ b/node_modules/get-uri/dist/data.js
@@ -0,0 +1,43 @@
+"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.data = void 0;
+const debug_1 = __importDefault(require("debug"));
+const stream_1 = require("stream");
+const crypto_1 = require("crypto");
+const data_uri_to_buffer_1 = __importDefault(require("data-uri-to-buffer"));
+const notmodified_1 = __importDefault(require("./notmodified"));
+const debug = (0, debug_1.default)('get-uri:data');
+class DataReadable extends stream_1.Readable {
+    constructor(hash, buf) {
+        super();
+        this.push(buf);
+        this.push(null);
+        this.hash = hash;
+    }
+}
+/**
+ * Returns a Readable stream from a "data:" URI.
+ */
+const data = async ({ href: uri }, { cache } = {}) => {
+    // need to create a SHA1 hash of the URI string, for cacheability checks
+    // in future `getUri()` calls with the same data URI passed in.
+    const shasum = (0, crypto_1.createHash)('sha1');
+    shasum.update(uri);
+    const hash = shasum.digest('hex');
+    debug('generated SHA1 hash for "data:" URI: %o', hash);
+    // check if the cache is the same "data:" URI that was previously passed in.
+    if (cache?.hash === hash) {
+        debug('got matching cache SHA1 hash: %o', hash);
+        throw new notmodified_1.default();
+    }
+    else {
+        debug('creating Readable stream from "data:" URI buffer');
+        const buf = (0, data_uri_to_buffer_1.default)(uri);
+        return new DataReadable(hash, buf);
+    }
+};
+exports.data = data;
+//# sourceMappingURL=data.js.map
\ No newline at end of file
diff --git a/node_modules/get-uri/dist/data.js.map b/node_modules/get-uri/dist/data.js.map
new file mode 100644
index 0000000..b8befad
--- /dev/null
+++ b/node_modules/get-uri/dist/data.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"data.js","sourceRoot":"","sources":["../src/data.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAgC;AAChC,mCAAkC;AAClC,mCAAoC;AACpC,4EAAiD;AAEjD,gEAA6C;AAE7C,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,cAAc,CAAC,CAAC;AAE1C,MAAM,YAAa,SAAQ,iBAAQ;IAGlC,YAAY,IAAY,EAAE,GAAW;QACpC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;CACD;AAMD;;GAEG;AACI,MAAM,IAAI,GAAgC,KAAK,EACrD,EAAE,IAAI,EAAE,GAAG,EAAE,EACb,EAAE,KAAK,EAAE,GAAG,EAAE,EACb,EAAE;IACH,wEAAwE;IACxE,+DAA+D;IAC/D,MAAM,MAAM,GAAG,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAC;IAClC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACnB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,KAAK,CAAC,yCAAyC,EAAE,IAAI,CAAC,CAAC;IAEvD,4EAA4E;IAC5E,IAAI,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE;QACzB,KAAK,CAAC,kCAAkC,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,IAAI,qBAAgB,EAAE,CAAC;KAC7B;SAAM;QACN,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAA,4BAAe,EAAC,GAAG,CAAC,CAAC;QACjC,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KACnC;AACF,CAAC,CAAC;AApBW,QAAA,IAAI,QAoBf"}
\ No newline at end of file
diff --git a/node_modules/get-uri/dist/file.d.ts b/node_modules/get-uri/dist/file.d.ts
new file mode 100644
index 0000000..0af75e4
--- /dev/null
+++ b/node_modules/get-uri/dist/file.d.ts
@@ -0,0 +1,17 @@
+/// <reference types="node" />
+/// <reference types="node" />
+import { Readable } from 'stream';
+import { Stats, createReadStream } from 'fs';
+import { GetUriProtocol } from './';
+type ReadStreamOptions = NonNullable<Exclude<Parameters<typeof createReadStream>[1], string>>;
+interface FileReadable extends Readable {
+    stat?: Stats;
+}
+export interface FileOptions extends ReadStreamOptions {
+    cache?: FileReadable;
+}
+/**
+ * Returns a `fs.ReadStream` instance from a "file:" URI.
+ */
+export declare const file: GetUriProtocol<FileOptions>;
+export {};
diff --git a/node_modules/get-uri/dist/file.js b/node_modules/get-uri/dist/file.js
new file mode 100644
index 0000000..e987c3e
--- /dev/null
+++ b/node_modules/get-uri/dist/file.js
@@ -0,0 +1,57 @@
+"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.file = void 0;
+const debug_1 = __importDefault(require("debug"));
+const fs_1 = require("fs");
+const fs_extra_1 = require("fs-extra");
+const notfound_1 = __importDefault(require("./notfound"));
+const notmodified_1 = __importDefault(require("./notmodified"));
+const url_1 = require("url");
+const debug = (0, debug_1.default)('get-uri:file');
+/**
+ * Returns a `fs.ReadStream` instance from a "file:" URI.
+ */
+const file = async ({ href: uri }, opts = {}) => {
+    const { cache, flags = 'r', mode = 438, // =0666
+     } = opts;
+    try {
+        // Convert URI → Path
+        const filepath = (0, url_1.fileURLToPath)(uri);
+        debug('Normalized pathname: %o', filepath);
+        // `open()` first to get a file descriptor and ensure that the file
+        // exists.
+        const fd = await (0, fs_extra_1.open)(filepath, flags, mode);
+        // Now `fstat()` to check the `mtime` and store the stat object for
+        // the cache.
+        const stat = await (0, fs_extra_1.fstat)(fd);
+        // if a `cache` was provided, check if the file has not been modified
+        if (cache && cache.stat && stat && isNotModified(cache.stat, stat)) {
+            throw new notmodified_1.default();
+        }
+        // `fs.ReadStream` takes care of calling `fs.close()` on the
+        // fd after it's done reading
+        // @ts-expect-error `@types/node` doesn't allow `null` as file path :/
+        const rs = (0, fs_1.createReadStream)(null, {
+            autoClose: true,
+            ...opts,
+            fd,
+        });
+        rs.stat = stat;
+        return rs;
+    }
+    catch (err) {
+        if (err.code === 'ENOENT') {
+            throw new notfound_1.default();
+        }
+        throw err;
+    }
+};
+exports.file = file;
+// returns `true` if the `mtime` of the 2 stat objects are equal
+function isNotModified(prev, curr) {
+    return +prev.mtime === +curr.mtime;
+}
+//# sourceMappingURL=file.js.map
\ No newline at end of file
diff --git a/node_modules/get-uri/dist/file.js.map b/node_modules/get-uri/dist/file.js.map
new file mode 100644
index 0000000..641dc82
--- /dev/null
+++ b/node_modules/get-uri/dist/file.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"file.js","sourceRoot":"","sources":["../src/file.ts"],"names":[],"mappings":";;;;;;AACA,kDAAgC;AAChC,2BAA6C;AAC7C,uCAAuC;AAEvC,0DAAuC;AACvC,gEAA6C;AAC7C,6BAAoC;AAEpC,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,cAAc,CAAC,CAAC;AAc1C;;GAEG;AAEI,MAAM,IAAI,GAAgC,KAAK,EACrD,EAAE,IAAI,EAAE,GAAG,EAAE,EACb,IAAI,GAAG,EAAE,EACR,EAAE;IACH,MAAM,EACL,KAAK,EACL,KAAK,GAAG,GAAG,EACX,IAAI,GAAG,GAAG,EAAE,QAAQ;MACpB,GAAG,IAAI,CAAC;IAET,IAAI;QACH,qBAAqB;QACrB,MAAM,QAAQ,GAAG,IAAA,mBAAa,EAAC,GAAG,CAAC,CAAC;QACpC,KAAK,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;QAE3C,mEAAmE;QACnE,UAAU;QACV,MAAM,EAAE,GAAG,MAAM,IAAA,eAAI,EAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAE7C,mEAAmE;QACnE,aAAa;QACb,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAK,EAAC,EAAE,CAAC,CAAC;QAE7B,qEAAqE;QACrE,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;YACnE,MAAM,IAAI,qBAAgB,EAAE,CAAC;SAC7B;QAED,4DAA4D;QAC5D,6BAA6B;QAC7B,sEAAsE;QACtE,MAAM,EAAE,GAAG,IAAA,qBAAgB,EAAC,IAAI,EAAE;YACjC,SAAS,EAAE,IAAI;YACf,GAAG,IAAI;YACP,EAAE;SACF,CAAiB,CAAC;QACnB,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;QACf,OAAO,EAAE,CAAC;KACV;IAAC,OAAO,GAAY,EAAE;QACtB,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE;YACrD,MAAM,IAAI,kBAAa,EAAE,CAAC;SAC1B;QACD,MAAM,GAAG,CAAC;KACV;AACF,CAAC,CAAC;AA5CW,QAAA,IAAI,QA4Cf;AAEF,gEAAgE;AAChE,SAAS,aAAa,CAAC,IAAW,EAAE,IAAW;IAC9C,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AACpC,CAAC"}
\ No newline at end of file
diff --git a/node_modules/get-uri/dist/ftp.d.ts b/node_modules/get-uri/dist/ftp.d.ts
new file mode 100644
index 0000000..2ad91fb
--- /dev/null
+++ b/node_modules/get-uri/dist/ftp.d.ts
@@ -0,0 +1,14 @@
+/// <reference types="node" />
+import { AccessOptions } from 'basic-ftp';
+import { Readable } from 'stream';
+import { GetUriProtocol } from '.';
+export interface FTPReadable extends Readable {
+    lastModified?: Date;
+}
+export interface FTPOptions extends AccessOptions {
+    cache?: FTPReadable;
+}
+/**
+ * Returns a Readable stream from an "ftp:" URI.
+ */
+export declare const ftp: GetUriProtocol<FTPOptions>;
diff --git a/node_modules/get-uri/dist/ftp.js b/node_modules/get-uri/dist/ftp.js
new file mode 100644
index 0000000..82e127e
--- /dev/null
+++ b/node_modules/get-uri/dist/ftp.js
@@ -0,0 +1,93 @@
+"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.ftp = void 0;
+const basic_ftp_1 = require("basic-ftp");
+const stream_1 = require("stream");
+const path_1 = require("path");
+const debug_1 = __importDefault(require("debug"));
+const notfound_1 = __importDefault(require("./notfound"));
+const notmodified_1 = __importDefault(require("./notmodified"));
+const debug = (0, debug_1.default)('get-uri:ftp');
+/**
+ * Returns a Readable stream from an "ftp:" URI.
+ */
+const ftp = async (url, opts = {}) => {
+    const { cache } = opts;
+    const filepath = decodeURIComponent(url.pathname);
+    let lastModified;
+    if (!filepath) {
+        throw new TypeError('No "pathname"!');
+    }
+    const client = new basic_ftp_1.Client();
+    try {
+        const host = url.hostname || url.host || 'localhost';
+        const port = parseInt(url.port || '0', 10) || 21;
+        const user = url.username
+            ? decodeURIComponent(url.username)
+            : undefined;
+        const password = url.password
+            ? decodeURIComponent(url.password)
+            : undefined;
+        await client.access({
+            host,
+            port,
+            user,
+            password,
+            ...opts,
+        });
+        // first we have to figure out the Last Modified date.
+        // try the MDTM command first, which is an optional extension command.
+        try {
+            lastModified = await client.lastMod(filepath);
+        }
+        catch (err) {
+            // handle the "file not found" error code
+            if (err.code === 550) {
+                throw new notfound_1.default();
+            }
+        }
+        if (!lastModified) {
+            // Try to get the last modified date via the LIST command (uses
+            // more bandwidth, but is more compatible with older FTP servers
+            const list = await client.list((0, path_1.dirname)(filepath));
+            // attempt to find the "entry" with a matching "name"
+            const name = (0, path_1.basename)(filepath);
+            const entry = list.find((e) => e.name === name);
+            if (entry) {
+                lastModified = entry.modifiedAt;
+            }
+        }
+        if (lastModified) {
+            if (isNotModified()) {
+                throw new notmodified_1.default();
+            }
+        }
+        else {
+            throw new notfound_1.default();
+        }
+        const stream = new stream_1.PassThrough();
+        const rs = stream;
+        client.downloadTo(stream, filepath).then((result) => {
+            debug(result.message);
+            client.close();
+        });
+        rs.lastModified = lastModified;
+        return rs;
+    }
+    catch (err) {
+        client.close();
+        throw err;
+    }
+    // called when `lastModified` is set, and a "cache" stream was provided
+    function isNotModified() {
+        if (cache?.lastModified && lastModified) {
+            return +cache.lastModified === +lastModified;
+        }
+        return false;
+    }
+};
+exports.ftp = ftp;
+//# sourceMappingURL=ftp.js.map
\ No newline at end of file
diff --git a/node_modules/get-uri/dist/ftp.js.map b/node_modules/get-uri/dist/ftp.js.map
new file mode 100644
index 0000000..8fd1b15
--- /dev/null
+++ b/node_modules/get-uri/dist/ftp.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"ftp.js","sourceRoot":"","sources":["../src/ftp.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/get-uri/dist/http-error.d.ts b/node_modules/get-uri/dist/http-error.d.ts
new file mode 100644
index 0000000..cfbe9c9
--- /dev/null
+++ b/node_modules/get-uri/dist/http-error.d.ts
@@ -0,0 +1,8 @@
+/**
+ * Error subclass to use when an HTTP application error has occurred.
+ */
+export default class HTTPError extends Error {
+    code: string;
+    statusCode: number;
+    constructor(statusCode: number, message?: string | undefined);
+}
diff --git a/node_modules/get-uri/dist/http-error.js b/node_modules/get-uri/dist/http-error.js
new file mode 100644
index 0000000..f3a0657
--- /dev/null
+++ b/node_modules/get-uri/dist/http-error.js
@@ -0,0 +1,15 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+const http_1 = require("http");
+/**
+ * Error subclass to use when an HTTP application error has occurred.
+ */
+class HTTPError extends Error {
+    constructor(statusCode, message = http_1.STATUS_CODES[statusCode]) {
+        super(message);
+        this.statusCode = statusCode;
+        this.code = `E${String(message).toUpperCase().replace(/\s+/g, '')}`;
+    }
+}
+exports.default = HTTPError;
+//# sourceMappingURL=http-error.js.map
\ No newline at end of file
diff --git a/node_modules/get-uri/dist/http-error.js.map b/node_modules/get-uri/dist/http-error.js.map
new file mode 100644
index 0000000..400671a
--- /dev/null
+++ b/node_modules/get-uri/dist/http-error.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"http-error.js","sourceRoot":"","sources":["../src/http-error.ts"],"names":[],"mappings":";;AAAA,+BAAoC;AAEpC;;GAEG;AACH,MAAqB,SAAU,SAAQ,KAAK;IAI3C,YAAY,UAAkB,EAAE,OAAO,GAAG,mBAAY,CAAC,UAAU,CAAC;QACjE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;IACrE,CAAC;CACD;AATD,4BASC"}
\ No newline at end of file
diff --git a/node_modules/get-uri/dist/http.d.ts b/node_modules/get-uri/dist/http.d.ts
new file mode 100644
index 0000000..2247dc9
--- /dev/null
+++ b/node_modules/get-uri/dist/http.d.ts
@@ -0,0 +1,29 @@
+/// <reference types="node" />
+/// <reference types="node" />
+/// <reference types="node" />
+/// <reference types="node" />
+import http_ from 'http';
+import https from 'https';
+import { Readable } from 'stream';
+import { GetUriProtocol } from '.';
+type HttpOrHttpsModule = typeof http_ | typeof https;
+export interface HttpReadableProps {
+    date?: number;
+    parsed?: URL;
+    redirects?: HttpReadable[];
+}
+export interface HttpReadable extends Readable, HttpReadableProps {
+}
+export interface HttpIncomingMessage extends http_.IncomingMessage, HttpReadableProps {
+}
+export interface HttpOptions extends https.RequestOptions {
+    cache?: HttpReadable;
+    http?: HttpOrHttpsModule;
+    redirects?: HttpReadable[];
+    maxRedirects?: number;
+}
+/**
+ * Returns a Readable stream from an "http:" URI.
+ */
+export declare const http: GetUriProtocol<HttpOptions>;
+export {};
diff --git a/node_modules/get-uri/dist/http.js b/node_modules/get-uri/dist/http.js
new file mode 100644
index 0000000..9ad3775
--- /dev/null
+++ b/node_modules/get-uri/dist/http.js
@@ -0,0 +1,191 @@
+"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.http = void 0;
+const http_1 = __importDefault(require("http"));
+const https_1 = __importDefault(require("https"));
+const events_1 = require("events");
+const debug_1 = __importDefault(require("debug"));
+const http_error_1 = __importDefault(require("./http-error"));
+const notfound_1 = __importDefault(require("./notfound"));
+const notmodified_1 = __importDefault(require("./notmodified"));
+const debug = (0, debug_1.default)('get-uri:http');
+/**
+ * Returns a Readable stream from an "http:" URI.
+ */
+const http = async (url, opts = {}) => {
+    debug('GET %o', url.href);
+    const cache = getCache(url, opts.cache);
+    // first check the previous Expires and/or Cache-Control headers
+    // of a previous response if a `cache` was provided
+    if (cache && isFresh(cache) && typeof cache.statusCode === 'number') {
+        // check for a 3xx "redirect" status code on the previous cache
+        const type = (cache.statusCode / 100) | 0;
+        if (type === 3 && cache.headers.location) {
+            debug('cached redirect');
+            throw new Error('TODO: implement cached redirects!');
+        }
+        // otherwise we assume that it's the destination endpoint,
+        // since there's nowhere else to redirect to
+        throw new notmodified_1.default();
+    }
+    // 5 redirects allowed by default
+    const maxRedirects = typeof opts.maxRedirects === 'number' ? opts.maxRedirects : 5;
+    debug('allowing %o max redirects', maxRedirects);
+    let mod;
+    if (opts.http) {
+        // the `https` module passed in from the "http.js" file
+        mod = opts.http;
+        debug('using secure `https` core module');
+    }
+    else {
+        mod = http_1.default;
+        debug('using `http` core module');
+    }
+    const options = { ...opts };
+    // add "cache validation" headers if a `cache` was provided
+    if (cache) {
+        if (!options.headers) {
+            options.headers = {};
+        }
+        const lastModified = cache.headers['last-modified'];
+        if (lastModified) {
+            options.headers['If-Modified-Since'] = lastModified;
+            debug('added "If-Modified-Since" request header: %o', lastModified);
+        }
+        const etag = cache.headers.etag;
+        if (etag) {
+            options.headers['If-None-Match'] = etag;
+            debug('added "If-None-Match" request header: %o', etag);
+        }
+    }
+    const req = mod.get(url, options);
+    const [res] = await (0, events_1.once)(req, 'response');
+    const code = res.statusCode || 0;
+    // assign a Date to this response for the "Cache-Control" delta calculation
+    res.date = Date.now();
+    res.parsed = url;
+    debug('got %o response status code', code);
+    // any 2xx response is a "success" code
+    const type = (code / 100) | 0;
+    // check for a 3xx "redirect" status code
+    const location = res.headers.location;
+    if (type === 3 && location) {
+        if (!opts.redirects)
+            opts.redirects = [];
+        const redirects = opts.redirects;
+        if (redirects.length < maxRedirects) {
+            debug('got a "redirect" status code with Location: %o', location);
+            // flush this response - we're not going to use it
+            res.resume();
+            // hang on to this Response object for the "redirects" Array
+            redirects.push(res);
+            const newUri = new URL(location, url.href);
+            debug('resolved redirect URL: %o', newUri.href);
+            const left = maxRedirects - redirects.length;
+            debug('%o more redirects allowed after this one', left);
+            // check if redirecting to a different protocol
+            if (newUri.protocol !== url.protocol) {
+                opts.http = newUri.protocol === 'https:' ? https_1.default : undefined;
+            }
+            return (0, exports.http)(newUri, opts);
+        }
+    }
+    // if we didn't get a 2xx "success" status code, then create an Error object
+    if (type !== 2) {
+        res.resume();
+        if (code === 304) {
+            throw new notmodified_1.default();
+        }
+        else if (code === 404) {
+            throw new notfound_1.default();
+        }
+        // other HTTP-level error
+        throw new http_error_1.default(code);
+    }
+    if (opts.redirects) {
+        // store a reference to the "redirects" Array on the Response object so that
+        // they can be inspected during a subsequent call to GET the same URI
+        res.redirects = opts.redirects;
+    }
+    return res;
+};
+exports.http = http;
+/**
+ * Returns `true` if the provided cache's "freshness" is valid. That is, either
+ * the Cache-Control header or Expires header values are still within the allowed
+ * time period.
+ *
+ * @return {Boolean}
+ * @api private
+ */
+function isFresh(cache) {
+    let fresh = false;
+    let expires = parseInt(cache.headers.expires || '', 10);
+    const cacheControl = cache.headers['cache-control'];
+    if (cacheControl) {
+        // for Cache-Control rules, see: http://www.mnot.net/cache_docs/#CACHE-CONTROL
+        debug('Cache-Control: %o', cacheControl);
+        const parts = cacheControl.split(/,\s*?\b/);
+        for (let i = 0; i < parts.length; i++) {
+            const part = parts[i];
+            const subparts = part.split('=');
+            const name = subparts[0];
+            switch (name) {
+                case 'max-age':
+                    expires =
+                        (cache.date || 0) + parseInt(subparts[1], 10) * 1000;
+                    fresh = Date.now() < expires;
+                    if (fresh) {
+                        debug('cache is "fresh" due to previous %o Cache-Control param', part);
+                    }
+                    return fresh;
+                case 'must-revalidate':
+                    // XXX: what we supposed to do here?
+                    break;
+                case 'no-cache':
+                case 'no-store':
+                    debug('cache is "stale" due to explicit %o Cache-Control param', name);
+                    return false;
+                default:
+                    // ignore unknown cache value
+                    break;
+            }
+        }
+    }
+    else if (expires) {
+        // for Expires rules, see: http://www.mnot.net/cache_docs/#EXPIRES
+        debug('Expires: %o', expires);
+        fresh = Date.now() < expires;
+        if (fresh) {
+            debug('cache is "fresh" due to previous Expires response header');
+        }
+        return fresh;
+    }
+    return false;
+}
+/**
+ * Attempts to return a previous Response object from a previous GET call to the
+ * same URI.
+ *
+ * @api private
+ */
+function getCache(url, cache) {
+    if (cache) {
+        if (cache.parsed && cache.parsed.href === url.href) {
+            return cache;
+        }
+        if (cache.redirects) {
+            for (let i = 0; i < cache.redirects.length; i++) {
+                const c = getCache(url, cache.redirects[i]);
+                if (c) {
+                    return c;
+                }
+            }
+        }
+    }
+    return null;
+}
+//# sourceMappingURL=http.js.map
\ No newline at end of file
diff --git a/node_modules/get-uri/dist/http.js.map b/node_modules/get-uri/dist/http.js.map
new file mode 100644
index 0000000..de49d1c
--- /dev/null
+++ b/node_modules/get-uri/dist/http.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/get-uri/dist/https.d.ts b/node_modules/get-uri/dist/https.d.ts
new file mode 100644
index 0000000..152d4c0
--- /dev/null
+++ b/node_modules/get-uri/dist/https.d.ts
@@ -0,0 +1,6 @@
+import { HttpOptions } from './http';
+import type { GetUriProtocol } from '.';
+/**
+ * Returns a Readable stream from an "https:" URI.
+ */
+export declare const https: GetUriProtocol<HttpOptions>;
diff --git a/node_modules/get-uri/dist/https.js b/node_modules/get-uri/dist/https.js
new file mode 100644
index 0000000..0c26d5d
--- /dev/null
+++ b/node_modules/get-uri/dist/https.js
@@ -0,0 +1,16 @@
+"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.https = void 0;
+const https_1 = __importDefault(require("https"));
+const http_1 = require("./http");
+/**
+ * Returns a Readable stream from an "https:" URI.
+ */
+const https = (url, opts) => {
+    return (0, http_1.http)(url, { ...opts, http: https_1.default });
+};
+exports.https = https;
+//# sourceMappingURL=https.js.map
\ No newline at end of file
diff --git a/node_modules/get-uri/dist/https.js.map b/node_modules/get-uri/dist/https.js.map
new file mode 100644
index 0000000..b5d312e
--- /dev/null
+++ b/node_modules/get-uri/dist/https.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"https.js","sourceRoot":"","sources":["../src/https.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA2B;AAC3B,iCAA2C;AAG3C;;GAEG;AACI,MAAM,KAAK,GAAgC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;IAC/D,OAAO,IAAA,WAAI,EAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,eAAM,EAAE,CAAC,CAAC;AAC7C,CAAC,CAAC;AAFW,QAAA,KAAK,SAEhB"}
\ No newline at end of file
diff --git a/node_modules/get-uri/dist/index.d.ts b/node_modules/get-uri/dist/index.d.ts
new file mode 100644
index 0000000..13a3948
--- /dev/null
+++ b/node_modules/get-uri/dist/index.d.ts
@@ -0,0 +1,37 @@
+/// <reference types="node" />
+/// <reference types="node" />
+import { Readable } from 'stream';
+type Protocol<T> = T extends `${infer Protocol}:${infer _}` ? Protocol : never;
+export type GetUriProtocol<T> = (parsed: URL, opts?: T) => Promise<Readable>;
+export declare const protocols: {
+    data: GetUriProtocol<import("./data").DataOptions>;
+    file: GetUriProtocol<import("./file").FileOptions>;
+    ftp: GetUriProtocol<import("./ftp").FTPOptions>;
+    http: GetUriProtocol<import("./http").HttpOptions>;
+    https: GetUriProtocol<import("./http").HttpOptions>;
+};
+export type Protocols = typeof protocols;
+export type ProtocolsOptions = {
+    [P in keyof Protocols]: NonNullable<Parameters<Protocols[P]>[1]>;
+};
+export type ProtocolOpts<T> = {
+    [P in keyof ProtocolsOptions]: Protocol<T> extends P ? ProtocolsOptions[P] : never;
+}[keyof Protocols];
+export declare function isValidProtocol(p: string): p is keyof Protocols;
+/**
+ * Async function that returns a `stream.Readable` instance that will output
+ * the contents of the given URI.
+ *
+ * For caching purposes, you can pass in a `stream` instance from a previous
+ * `getUri()` call as a `cache: stream` option, and if the destination has
+ * not changed since the last time the endpoint was retreived then the callback
+ * will be invoked with an Error object with `code` set to "ENOTMODIFIED" and
+ * `null` for the "stream" instance argument. In this case, you can skip
+ * retreiving the file again and continue to use the previous payload.
+ *
+ * @param {String} uri URI to retrieve
+ * @param {Object} opts optional "options" object
+ * @api public
+ */
+export declare function getUri<Uri extends string>(uri: Uri | URL, opts?: ProtocolOpts<Uri>): Promise<Readable>;
+export {};
diff --git a/node_modules/get-uri/dist/index.js b/node_modules/get-uri/dist/index.js
new file mode 100644
index 0000000..7144911
--- /dev/null
+++ b/node_modules/get-uri/dist/index.js
@@ -0,0 +1,57 @@
+"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.getUri = exports.isValidProtocol = exports.protocols = void 0;
+const debug_1 = __importDefault(require("debug"));
+// Built-in protocols
+const data_1 = require("./data");
+const file_1 = require("./file");
+const ftp_1 = require("./ftp");
+const http_1 = require("./http");
+const https_1 = require("./https");
+const debug = (0, debug_1.default)('get-uri');
+exports.protocols = {
+    data: data_1.data,
+    file: file_1.file,
+    ftp: ftp_1.ftp,
+    http: http_1.http,
+    https: https_1.https,
+};
+const VALID_PROTOCOLS = new Set(Object.keys(exports.protocols));
+function isValidProtocol(p) {
+    return VALID_PROTOCOLS.has(p);
+}
+exports.isValidProtocol = isValidProtocol;
+/**
+ * Async function that returns a `stream.Readable` instance that will output
+ * the contents of the given URI.
+ *
+ * For caching purposes, you can pass in a `stream` instance from a previous
+ * `getUri()` call as a `cache: stream` option, and if the destination has
+ * not changed since the last time the endpoint was retreived then the callback
+ * will be invoked with an Error object with `code` set to "ENOTMODIFIED" and
+ * `null` for the "stream" instance argument. In this case, you can skip
+ * retreiving the file again and continue to use the previous payload.
+ *
+ * @param {String} uri URI to retrieve
+ * @param {Object} opts optional "options" object
+ * @api public
+ */
+async function getUri(uri, opts) {
+    debug('getUri(%o)', uri);
+    if (!uri) {
+        throw new TypeError('Must pass in a URI to "getUri()"');
+    }
+    const url = typeof uri === 'string' ? new URL(uri) : uri;
+    // Strip trailing `:`
+    const protocol = url.protocol.replace(/:$/, '');
+    if (!isValidProtocol(protocol)) {
+        throw new TypeError(`Unsupported protocol "${protocol}" specified in URI: "${uri}"`);
+    }
+    const getter = exports.protocols[protocol];
+    return getter(url, opts);
+}
+exports.getUri = getUri;
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/node_modules/get-uri/dist/index.js.map b/node_modules/get-uri/dist/index.js.map
new file mode 100644
index 0000000..e2032a1
--- /dev/null
+++ b/node_modules/get-uri/dist/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAgC;AAGhC,qBAAqB;AACrB,iCAA8B;AAC9B,iCAA8B;AAC9B,+BAA4B;AAC5B,iCAA8B;AAC9B,mCAAgC;AAEhC,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,SAAS,CAAC,CAAC;AAOxB,QAAA,SAAS,GAAG;IACxB,IAAI,EAAJ,WAAI;IACJ,IAAI,EAAJ,WAAI;IACJ,GAAG,EAAH,SAAG;IACH,IAAI,EAAJ,WAAI;IACJ,KAAK,EAAL,aAAK;CACL,CAAC;AAcF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAC,CAAC;AAExD,SAAgB,eAAe,CAAC,CAAS;IACxC,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC;AAFD,0CAEC;AAED;;;;;;;;;;;;;;GAcG;AACI,KAAK,UAAU,MAAM,CAC3B,GAAc,EACd,IAAwB;IAExB,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAEzB,IAAI,CAAC,GAAG,EAAE;QACT,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;KACxD;IAED,MAAM,GAAG,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAEzD,qBAAqB;IACrB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAChD,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;QAC/B,MAAM,IAAI,SAAS,CAClB,yBAAyB,QAAQ,wBAAwB,GAAG,GAAG,CAC/D,CAAC;KACF;IAED,MAAM,MAAM,GAAG,iBAAS,CAAC,QAAQ,CAAC,CAAC;IACnC,OAAO,MAAM,CAAC,GAAG,EAAE,IAAa,CAAC,CAAC;AACnC,CAAC;AAtBD,wBAsBC"}
\ No newline at end of file
diff --git a/node_modules/get-uri/dist/notfound.d.ts b/node_modules/get-uri/dist/notfound.d.ts
new file mode 100644
index 0000000..4ea0dac6
--- /dev/null
+++ b/node_modules/get-uri/dist/notfound.d.ts
@@ -0,0 +1,10 @@
+/**
+ * Error subclass to use when the source does not exist at the specified endpoint.
+ *
+ * @param {String} message optional "message" property to set
+ * @api protected
+ */
+export default class NotFoundError extends Error {
+    code: string;
+    constructor(message?: string);
+}
diff --git a/node_modules/get-uri/dist/notfound.js b/node_modules/get-uri/dist/notfound.js
new file mode 100644
index 0000000..d1c37a2
--- /dev/null
+++ b/node_modules/get-uri/dist/notfound.js
@@ -0,0 +1,16 @@
+"use strict";
+/**
+ * Error subclass to use when the source does not exist at the specified endpoint.
+ *
+ * @param {String} message optional "message" property to set
+ * @api protected
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+class NotFoundError extends Error {
+    constructor(message) {
+        super(message || 'File does not exist at the specified endpoint');
+        this.code = 'ENOTFOUND';
+    }
+}
+exports.default = NotFoundError;
+//# sourceMappingURL=notfound.js.map
\ No newline at end of file
diff --git a/node_modules/get-uri/dist/notfound.js.map b/node_modules/get-uri/dist/notfound.js.map
new file mode 100644
index 0000000..f5486ab
--- /dev/null
+++ b/node_modules/get-uri/dist/notfound.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"notfound.js","sourceRoot":"","sources":["../src/notfound.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAEH,MAAqB,aAAc,SAAQ,KAAK;IAG/C,YAAY,OAAgB;QAC3B,KAAK,CAAC,OAAO,IAAI,+CAA+C,CAAC,CAAC;QAH5D,SAAI,GAAG,WAAW,CAAC;IAI1B,CAAC;CACD;AAND,gCAMC"}
\ No newline at end of file
diff --git a/node_modules/get-uri/dist/notmodified.d.ts b/node_modules/get-uri/dist/notmodified.d.ts
new file mode 100644
index 0000000..6f0a3f9
--- /dev/null
+++ b/node_modules/get-uri/dist/notmodified.d.ts
@@ -0,0 +1,10 @@
+/**
+ * Error subclass to use when the source has not been modified.
+ *
+ * @param {String} message optional "message" property to set
+ * @api protected
+ */
+export default class NotModifiedError extends Error {
+    code: string;
+    constructor(message?: string);
+}
diff --git a/node_modules/get-uri/dist/notmodified.js b/node_modules/get-uri/dist/notmodified.js
new file mode 100644
index 0000000..520f795
--- /dev/null
+++ b/node_modules/get-uri/dist/notmodified.js
@@ -0,0 +1,17 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+/**
+ * Error subclass to use when the source has not been modified.
+ *
+ * @param {String} message optional "message" property to set
+ * @api protected
+ */
+class NotModifiedError extends Error {
+    constructor(message) {
+        super(message ||
+            'Source has not been modified since the provied "cache", re-use previous results');
+        this.code = 'ENOTMODIFIED';
+    }
+}
+exports.default = NotModifiedError;
+//# sourceMappingURL=notmodified.js.map
\ No newline at end of file
diff --git a/node_modules/get-uri/dist/notmodified.js.map b/node_modules/get-uri/dist/notmodified.js.map
new file mode 100644
index 0000000..1758a00
--- /dev/null
+++ b/node_modules/get-uri/dist/notmodified.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"notmodified.js","sourceRoot":"","sources":["../src/notmodified.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,MAAqB,gBAAiB,SAAQ,KAAK;IAGlD,YAAY,OAAgB;QAC3B,KAAK,CACJ,OAAO;YACN,iFAAiF,CAClF,CAAC;QANI,SAAI,GAAG,cAAc,CAAC;IAO7B,CAAC;CACD;AATD,mCASC"}
\ No newline at end of file
diff --git a/node_modules/get-uri/node_modules/debug/LICENSE b/node_modules/get-uri/node_modules/debug/LICENSE
new file mode 100644
index 0000000..1a9820e
--- /dev/null
+++ b/node_modules/get-uri/node_modules/debug/LICENSE
@@ -0,0 +1,20 @@
+(The MIT License)
+
+Copyright (c) 2014-2017 TJ Holowaychuk <[email protected]>
+Copyright (c) 2018-2021 Josh Junon
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+and associated documentation files (the 'Software'), to deal in the Software without restriction,
+including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
diff --git a/node_modules/get-uri/node_modules/debug/README.md b/node_modules/get-uri/node_modules/debug/README.md
new file mode 100644
index 0000000..e9c3e04
--- /dev/null
+++ b/node_modules/get-uri/node_modules/debug/README.md
@@ -0,0 +1,481 @@
+# debug
+[![Build Status](https://travis-ci.org/debug-js/debug.svg?branch=master)](https://travis-ci.org/debug-js/debug)  [![Coverage Status](https://coveralls.io/repos/github/debug-js/debug/badge.svg?branch=master)](https://coveralls.io/github/debug-js/debug?branch=master)  [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers)
+[![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors)
+
+<img width="647" src="https://user-images.githubusercontent.com/71256/29091486-fa38524c-7c37-11e7-895f-e7ec8e1039b6.png">
+
+A tiny JavaScript debugging utility modelled after Node.js core's debugging
+technique. Works in Node.js and web browsers.
+
+## Installation
+
+```bash
+$ npm install debug
+```
+
+## Usage
+
+`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole.
+
+Example [_app.js_](./examples/node/app.js):
+
+```js
+var debug = require('debug')('http')
+  , http = require('http')
+  , name = 'My App';
+
+// fake app
+
+debug('booting %o', name);
+
+http.createServer(function(req, res){
+  debug(req.method + ' ' + req.url);
+  res.end('hello\n');
+}).listen(3000, function(){
+  debug('listening');
+});
+
+// fake worker of some kind
+
+require('./worker');
+```
+
+Example [_worker.js_](./examples/node/worker.js):
+
+```js
+var a = require('debug')('worker:a')
+  , b = require('debug')('worker:b');
+
+function work() {
+  a('doing lots of uninteresting work');
+  setTimeout(work, Math.random() * 1000);
+}
+
+work();
+
+function workb() {
+  b('doing some work');
+  setTimeout(workb, Math.random() * 2000);
+}
+
+workb();
+```
+
+The `DEBUG` environment variable is then used to enable these based on space or
+comma-delimited names.
+
+Here are some examples:
+
+<img width="647" alt="screen shot 2017-08-08 at 12 53 04 pm" src="https://user-images.githubusercontent.com/71256/29091703-a6302cdc-7c38-11e7-8304-7c0b3bc600cd.png">
+<img width="647" alt="screen shot 2017-08-08 at 12 53 38 pm" src="https://user-images.githubusercontent.com/71256/29091700-a62a6888-7c38-11e7-800b-db911291ca2b.png">
+<img width="647" alt="screen shot 2017-08-08 at 12 53 25 pm" src="https://user-images.githubusercontent.com/71256/29091701-a62ea114-7c38-11e7-826a-2692bedca740.png">
+
+#### Windows command prompt notes
+
+##### CMD
+
+On Windows the environment variable is set using the `set` command.
+
+```cmd
+set DEBUG=*,-not_this
+```
+
+Example:
+
+```cmd
+set DEBUG=* & node app.js
+```
+
+##### PowerShell (VS Code default)
+
+PowerShell uses different syntax to set environment variables.
+
+```cmd
+$env:DEBUG = "*,-not_this"
+```
+
+Example:
+
+```cmd
+$env:DEBUG='app';node app.js
+```
+
+Then, run the program to be debugged as usual.
+
+npm script example:
+```js
+  "windowsDebug": "@powershell -Command $env:DEBUG='*';node app.js",
+```
+
+## Namespace Colors
+
+Every debug instance has a color generated for it based on its namespace name.
+This helps when visually parsing the debug output to identify which debug instance
+a debug line belongs to.
+
+#### Node.js
+
+In Node.js, colors are enabled when stderr is a TTY. You also _should_ install
+the [`supports-color`](https://npmjs.org/supports-color) module alongside debug,
+otherwise debug will only use a small handful of basic colors.
+
+<img width="521" src="https://user-images.githubusercontent.com/71256/29092181-47f6a9e6-7c3a-11e7-9a14-1928d8a711cd.png">
+
+#### Web Browser
+
+Colors are also enabled on "Web Inspectors" that understand the `%c` formatting
+option. These are WebKit web inspectors, Firefox ([since version
+31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))
+and the Firebug plugin for Firefox (any version).
+
+<img width="524" src="https://user-images.githubusercontent.com/71256/29092033-b65f9f2e-7c39-11e7-8e32-f6f0d8e865c1.png">
+
+
+## Millisecond diff
+
+When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls.
+
+<img width="647" src="https://user-images.githubusercontent.com/71256/29091486-fa38524c-7c37-11e7-895f-e7ec8e1039b6.png">
+
+When stdout is not a TTY, `Date#toISOString()` is used, making it more useful for logging the debug information as shown below:
+
+<img width="647" src="https://user-images.githubusercontent.com/71256/29091956-6bd78372-7c39-11e7-8c55-c948396d6edd.png">
+
+
+## Conventions
+
+If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser".  If you append a "*" to the end of your name, it will always be enabled regardless of the setting of the DEBUG environment variable.  You can then use it for normal output as well as debug output.
+
+## Wildcards
+
+The `*` character may be used as a wildcard. Suppose for example your library has
+debuggers named "connect:bodyParser", "connect:compress", "connect:session",
+instead of listing all three with
+`DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do
+`DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.
+
+You can also exclude specific debuggers by prefixing them with a "-" character.
+For example, `DEBUG=*,-connect:*` would include all debuggers except those
+starting with "connect:".
+
+## Environment Variables
+
+When running through Node.js, you can set a few environment variables that will
+change the behavior of the debug logging:
+
+| Name      | Purpose                                         |
+|-----------|-------------------------------------------------|
+| `DEBUG`   | Enables/disables specific debugging namespaces. |
+| `DEBUG_HIDE_DATE` | Hide date from debug output (non-TTY).  |
+| `DEBUG_COLORS`| Whether or not to use colors in the debug output. |
+| `DEBUG_DEPTH` | Object inspection depth.                    |
+| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. |
+
+
+__Note:__ The environment variables beginning with `DEBUG_` end up being
+converted into an Options object that gets used with `%o`/`%O` formatters.
+See the Node.js documentation for
+[`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options)
+for the complete list.
+
+## Formatters
+
+Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting.
+Below are the officially supported formatters:
+
+| Formatter | Representation |
+|-----------|----------------|
+| `%O`      | Pretty-print an Object on multiple lines. |
+| `%o`      | Pretty-print an Object all on a single line. |
+| `%s`      | String. |
+| `%d`      | Number (both integer and float). |
+| `%j`      | JSON. Replaced with the string '[Circular]' if the argument contains circular references. |
+| `%%`      | Single percent sign ('%'). This does not consume an argument. |
+
+
+### Custom formatters
+
+You can add custom formatters by extending the `debug.formatters` object.
+For example, if you wanted to add support for rendering a Buffer as hex with
+`%h`, you could do something like:
+
+```js
+const createDebug = require('debug')
+createDebug.formatters.h = (v) => {
+  return v.toString('hex')
+}
+
+// …elsewhere
+const debug = createDebug('foo')
+debug('this is hex: %h', new Buffer('hello world'))
+//   foo this is hex: 68656c6c6f20776f726c6421 +0ms
+```
+
+
+## Browser Support
+
+You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify),
+or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest),
+if you don't want to build it yourself.
+
+Debug's enable state is currently persisted by `localStorage`.
+Consider the situation shown below where you have `worker:a` and `worker:b`,
+and wish to debug both. You can enable this using `localStorage.debug`:
+
+```js
+localStorage.debug = 'worker:*'
+```
+
+And then refresh the page.
+
+```js
+a = debug('worker:a');
+b = debug('worker:b');
+
+setInterval(function(){
+  a('doing some work');
+}, 1000);
+
+setInterval(function(){
+  b('doing some work');
+}, 1200);
+```
+
+In Chromium-based web browsers (e.g. Brave, Chrome, and Electron), the JavaScript console will—by default—only show messages logged by `debug` if the "Verbose" log level is _enabled_.
+
+<img width="647" src="https://user-images.githubusercontent.com/7143133/152083257-29034707-c42c-4959-8add-3cee850e6fcf.png">
+
+## Output streams
+
+  By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method:
+
+Example [_stdout.js_](./examples/node/stdout.js):
+
+```js
+var debug = require('debug');
+var error = debug('app:error');
+
+// by default stderr is used
+error('goes to stderr!');
+
+var log = debug('app:log');
+// set this namespace to log via console.log
+log.log = console.log.bind(console); // don't forget to bind to console!
+log('goes to stdout');
+error('still goes to stderr!');
+
+// set all output to go via console.info
+// overrides all per-namespace log settings
+debug.log = console.info.bind(console);
+error('now goes to stdout via console.info');
+log('still goes to stdout, but via console.info now');
+```
+
+## Extend
+You can simply extend debugger 
+```js
+const log = require('debug')('auth');
+
+//creates new debug instance with extended namespace
+const logSign = log.extend('sign');
+const logLogin = log.extend('login');
+
+log('hello'); // auth hello
+logSign('hello'); //auth:sign hello
+logLogin('hello'); //auth:login hello
+```
+
+## Set dynamically
+
+You can also enable debug dynamically by calling the `enable()` method :
+
+```js
+let debug = require('debug');
+
+console.log(1, debug.enabled('test'));
+
+debug.enable('test');
+console.log(2, debug.enabled('test'));
+
+debug.disable();
+console.log(3, debug.enabled('test'));
+
+```
+
+print :   
+```
+1 false
+2 true
+3 false
+```
+
+Usage :  
+`enable(namespaces)`  
+`namespaces` can include modes separated by a colon and wildcards.
+   
+Note that calling `enable()` completely overrides previously set DEBUG variable : 
+
+```
+$ DEBUG=foo node -e 'var dbg = require("debug"); dbg.enable("bar"); console.log(dbg.enabled("foo"))'
+=> false
+```
+
+`disable()`
+
+Will disable all namespaces. The functions returns the namespaces currently
+enabled (and skipped). This can be useful if you want to disable debugging
+temporarily without knowing what was enabled to begin with.
+
+For example:
+
+```js
+let debug = require('debug');
+debug.enable('foo:*,-foo:bar');
+let namespaces = debug.disable();
+debug.enable(namespaces);
+```
+
+Note: There is no guarantee that the string will be identical to the initial
+enable string, but semantically they will be identical.
+
+## Checking whether a debug target is enabled
+
+After you've created a debug instance, you can determine whether or not it is
+enabled by checking the `enabled` property:
+
+```javascript
+const debug = require('debug')('http');
+
+if (debug.enabled) {
+  // do stuff...
+}
+```
+
+You can also manually toggle this property to force the debug instance to be
+enabled or disabled.
+
+## Usage in child processes
+
+Due to the way `debug` detects if the output is a TTY or not, colors are not shown in child processes when `stderr` is piped. A solution is to pass the `DEBUG_COLORS=1` environment variable to the child process.  
+For example:
+
+```javascript
+worker = fork(WORKER_WRAP_PATH, [workerPath], {
+  stdio: [
+    /* stdin: */ 0,
+    /* stdout: */ 'pipe',
+    /* stderr: */ 'pipe',
+    'ipc',
+  ],
+  env: Object.assign({}, process.env, {
+    DEBUG_COLORS: 1 // without this settings, colors won't be shown
+  }),
+});
+
+worker.stderr.pipe(process.stderr, { end: false });
+```
+
+
+## Authors
+
+ - TJ Holowaychuk
+ - Nathan Rajlich
+ - Andrew Rhyne
+ - Josh Junon
+
+## Backers
+
+Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)]
+
+<a href="https://opencollective.com/debug/backer/0/website" target="_blank"><img src="https://opencollective.com/debug/backer/0/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/1/website" target="_blank"><img src="https://opencollective.com/debug/backer/1/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/2/website" target="_blank"><img src="https://opencollective.com/debug/backer/2/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/3/website" target="_blank"><img src="https://opencollective.com/debug/backer/3/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/4/website" target="_blank"><img src="https://opencollective.com/debug/backer/4/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/5/website" target="_blank"><img src="https://opencollective.com/debug/backer/5/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/6/website" target="_blank"><img src="https://opencollective.com/debug/backer/6/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/7/website" target="_blank"><img src="https://opencollective.com/debug/backer/7/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/8/website" target="_blank"><img src="https://opencollective.com/debug/backer/8/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/9/website" target="_blank"><img src="https://opencollective.com/debug/backer/9/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/10/website" target="_blank"><img src="https://opencollective.com/debug/backer/10/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/11/website" target="_blank"><img src="https://opencollective.com/debug/backer/11/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/12/website" target="_blank"><img src="https://opencollective.com/debug/backer/12/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/13/website" target="_blank"><img src="https://opencollective.com/debug/backer/13/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/14/website" target="_blank"><img src="https://opencollective.com/debug/backer/14/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/15/website" target="_blank"><img src="https://opencollective.com/debug/backer/15/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/16/website" target="_blank"><img src="https://opencollective.com/debug/backer/16/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/17/website" target="_blank"><img src="https://opencollective.com/debug/backer/17/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/18/website" target="_blank"><img src="https://opencollective.com/debug/backer/18/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/19/website" target="_blank"><img src="https://opencollective.com/debug/backer/19/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/20/website" target="_blank"><img src="https://opencollective.com/debug/backer/20/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/21/website" target="_blank"><img src="https://opencollective.com/debug/backer/21/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/22/website" target="_blank"><img src="https://opencollective.com/debug/backer/22/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/23/website" target="_blank"><img src="https://opencollective.com/debug/backer/23/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/24/website" target="_blank"><img src="https://opencollective.com/debug/backer/24/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/25/website" target="_blank"><img src="https://opencollective.com/debug/backer/25/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/26/website" target="_blank"><img src="https://opencollective.com/debug/backer/26/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/27/website" target="_blank"><img src="https://opencollective.com/debug/backer/27/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/28/website" target="_blank"><img src="https://opencollective.com/debug/backer/28/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/29/website" target="_blank"><img src="https://opencollective.com/debug/backer/29/avatar.svg"></a>
+
+
+## Sponsors
+
+Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)]
+
+<a href="https://opencollective.com/debug/sponsor/0/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/0/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/1/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/1/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/2/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/2/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/3/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/3/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/4/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/4/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/5/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/5/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/6/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/6/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/7/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/7/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/8/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/8/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/9/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/9/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/10/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/10/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/11/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/11/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/12/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/12/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/13/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/13/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/14/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/14/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/15/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/15/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/16/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/16/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/17/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/17/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/18/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/18/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/19/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/19/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/20/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/20/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/21/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/21/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/22/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/22/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/23/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/23/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/24/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/24/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/25/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/25/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/26/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/26/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/27/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/27/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/28/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/28/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/29/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/29/avatar.svg"></a>
+
+## License
+
+(The MIT License)
+
+Copyright (c) 2014-2017 TJ Holowaychuk &lt;[email protected]&gt;
+Copyright (c) 2018-2021 Josh Junon
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/get-uri/node_modules/debug/package.json b/node_modules/get-uri/node_modules/debug/package.json
new file mode 100644
index 0000000..3bcdc24
--- /dev/null
+++ b/node_modules/get-uri/node_modules/debug/package.json
@@ -0,0 +1,59 @@
+{
+  "name": "debug",
+  "version": "4.3.4",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/debug-js/debug.git"
+  },
+  "description": "Lightweight debugging utility for Node.js and the browser",
+  "keywords": [
+    "debug",
+    "log",
+    "debugger"
+  ],
+  "files": [
+    "src",
+    "LICENSE",
+    "README.md"
+  ],
+  "author": "Josh Junon <[email protected]>",
+  "contributors": [
+    "TJ Holowaychuk <[email protected]>",
+    "Nathan Rajlich <[email protected]> (http://n8.io)",
+    "Andrew Rhyne <[email protected]>"
+  ],
+  "license": "MIT",
+  "scripts": {
+    "lint": "xo",
+    "test": "npm run test:node && npm run test:browser && npm run lint",
+    "test:node": "istanbul cover _mocha -- test.js",
+    "test:browser": "karma start --single-run",
+    "test:coverage": "cat ./coverage/lcov.info | coveralls"
+  },
+  "dependencies": {
+    "ms": "2.1.2"
+  },
+  "devDependencies": {
+    "brfs": "^2.0.1",
+    "browserify": "^16.2.3",
+    "coveralls": "^3.0.2",
+    "istanbul": "^0.4.5",
+    "karma": "^3.1.4",
+    "karma-browserify": "^6.0.0",
+    "karma-chrome-launcher": "^2.2.0",
+    "karma-mocha": "^1.3.0",
+    "mocha": "^5.2.0",
+    "mocha-lcov-reporter": "^1.2.0",
+    "xo": "^0.23.0"
+  },
+  "peerDependenciesMeta": {
+    "supports-color": {
+      "optional": true
+    }
+  },
+  "main": "./src/index.js",
+  "browser": "./src/browser.js",
+  "engines": {
+    "node": ">=6.0"
+  }
+}
diff --git a/node_modules/get-uri/node_modules/debug/src/browser.js b/node_modules/get-uri/node_modules/debug/src/browser.js
new file mode 100644
index 0000000..cd0fc35
--- /dev/null
+++ b/node_modules/get-uri/node_modules/debug/src/browser.js
@@ -0,0 +1,269 @@
+/* eslint-env browser */
+
+/**
+ * This is the web browser implementation of `debug()`.
+ */
+
+exports.formatArgs = formatArgs;
+exports.save = save;
+exports.load = load;
+exports.useColors = useColors;
+exports.storage = localstorage();
+exports.destroy = (() => {
+	let warned = false;
+
+	return () => {
+		if (!warned) {
+			warned = true;
+			console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
+		}
+	};
+})();
+
+/**
+ * Colors.
+ */
+
+exports.colors = [
+	'#0000CC',
+	'#0000FF',
+	'#0033CC',
+	'#0033FF',
+	'#0066CC',
+	'#0066FF',
+	'#0099CC',
+	'#0099FF',
+	'#00CC00',
+	'#00CC33',
+	'#00CC66',
+	'#00CC99',
+	'#00CCCC',
+	'#00CCFF',
+	'#3300CC',
+	'#3300FF',
+	'#3333CC',
+	'#3333FF',
+	'#3366CC',
+	'#3366FF',
+	'#3399CC',
+	'#3399FF',
+	'#33CC00',
+	'#33CC33',
+	'#33CC66',
+	'#33CC99',
+	'#33CCCC',
+	'#33CCFF',
+	'#6600CC',
+	'#6600FF',
+	'#6633CC',
+	'#6633FF',
+	'#66CC00',
+	'#66CC33',
+	'#9900CC',
+	'#9900FF',
+	'#9933CC',
+	'#9933FF',
+	'#99CC00',
+	'#99CC33',
+	'#CC0000',
+	'#CC0033',
+	'#CC0066',
+	'#CC0099',
+	'#CC00CC',
+	'#CC00FF',
+	'#CC3300',
+	'#CC3333',
+	'#CC3366',
+	'#CC3399',
+	'#CC33CC',
+	'#CC33FF',
+	'#CC6600',
+	'#CC6633',
+	'#CC9900',
+	'#CC9933',
+	'#CCCC00',
+	'#CCCC33',
+	'#FF0000',
+	'#FF0033',
+	'#FF0066',
+	'#FF0099',
+	'#FF00CC',
+	'#FF00FF',
+	'#FF3300',
+	'#FF3333',
+	'#FF3366',
+	'#FF3399',
+	'#FF33CC',
+	'#FF33FF',
+	'#FF6600',
+	'#FF6633',
+	'#FF9900',
+	'#FF9933',
+	'#FFCC00',
+	'#FFCC33'
+];
+
+/**
+ * Currently only WebKit-based Web Inspectors, Firefox >= v31,
+ * and the Firebug extension (any Firefox version) are known
+ * to support "%c" CSS customizations.
+ *
+ * TODO: add a `localStorage` variable to explicitly enable/disable colors
+ */
+
+// eslint-disable-next-line complexity
+function useColors() {
+	// NB: In an Electron preload script, document will be defined but not fully
+	// initialized. Since we know we're in Chrome, we'll just detect this case
+	// explicitly
+	if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
+		return true;
+	}
+
+	// Internet Explorer and Edge do not support colors.
+	if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
+		return false;
+	}
+
+	// Is webkit? http://stackoverflow.com/a/16459606/376773
+	// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
+	return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
+		// Is firebug? http://stackoverflow.com/a/398120/376773
+		(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
+		// Is firefox >= v31?
+		// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
+		(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||
+		// Double check webkit in userAgent just in case we are in a worker
+		(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
+}
+
+/**
+ * Colorize log arguments if enabled.
+ *
+ * @api public
+ */
+
+function formatArgs(args) {
+	args[0] = (this.useColors ? '%c' : '') +
+		this.namespace +
+		(this.useColors ? ' %c' : ' ') +
+		args[0] +
+		(this.useColors ? '%c ' : ' ') +
+		'+' + module.exports.humanize(this.diff);
+
+	if (!this.useColors) {
+		return;
+	}
+
+	const c = 'color: ' + this.color;
+	args.splice(1, 0, c, 'color: inherit');
+
+	// The final "%c" is somewhat tricky, because there could be other
+	// arguments passed either before or after the %c, so we need to
+	// figure out the correct index to insert the CSS into
+	let index = 0;
+	let lastC = 0;
+	args[0].replace(/%[a-zA-Z%]/g, match => {
+		if (match === '%%') {
+			return;
+		}
+		index++;
+		if (match === '%c') {
+			// We only are interested in the *last* %c
+			// (the user may have provided their own)
+			lastC = index;
+		}
+	});
+
+	args.splice(lastC, 0, c);
+}
+
+/**
+ * Invokes `console.debug()` when available.
+ * No-op when `console.debug` is not a "function".
+ * If `console.debug` is not available, falls back
+ * to `console.log`.
+ *
+ * @api public
+ */
+exports.log = console.debug || console.log || (() => {});
+
+/**
+ * Save `namespaces`.
+ *
+ * @param {String} namespaces
+ * @api private
+ */
+function save(namespaces) {
+	try {
+		if (namespaces) {
+			exports.storage.setItem('debug', namespaces);
+		} else {
+			exports.storage.removeItem('debug');
+		}
+	} catch (error) {
+		// Swallow
+		// XXX (@Qix-) should we be logging these?
+	}
+}
+
+/**
+ * Load `namespaces`.
+ *
+ * @return {String} returns the previously persisted debug modes
+ * @api private
+ */
+function load() {
+	let r;
+	try {
+		r = exports.storage.getItem('debug');
+	} catch (error) {
+		// Swallow
+		// XXX (@Qix-) should we be logging these?
+	}
+
+	// If debug isn't set in LS, and we're in Electron, try to load $DEBUG
+	if (!r && typeof process !== 'undefined' && 'env' in process) {
+		r = process.env.DEBUG;
+	}
+
+	return r;
+}
+
+/**
+ * Localstorage attempts to return the localstorage.
+ *
+ * This is necessary because safari throws
+ * when a user disables cookies/localstorage
+ * and you attempt to access it.
+ *
+ * @return {LocalStorage}
+ * @api private
+ */
+
+function localstorage() {
+	try {
+		// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
+		// The Browser also has localStorage in the global context.
+		return localStorage;
+	} catch (error) {
+		// Swallow
+		// XXX (@Qix-) should we be logging these?
+	}
+}
+
+module.exports = require('./common')(exports);
+
+const {formatters} = module.exports;
+
+/**
+ * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
+ */
+
+formatters.j = function (v) {
+	try {
+		return JSON.stringify(v);
+	} catch (error) {
+		return '[UnexpectedJSONParseError]: ' + error.message;
+	}
+};
diff --git a/node_modules/get-uri/node_modules/debug/src/common.js b/node_modules/get-uri/node_modules/debug/src/common.js
new file mode 100644
index 0000000..e3291b2
--- /dev/null
+++ b/node_modules/get-uri/node_modules/debug/src/common.js
@@ -0,0 +1,274 @@
+
+/**
+ * This is the common logic for both the Node.js and web browser
+ * implementations of `debug()`.
+ */
+
+function setup(env) {
+	createDebug.debug = createDebug;
+	createDebug.default = createDebug;
+	createDebug.coerce = coerce;
+	createDebug.disable = disable;
+	createDebug.enable = enable;
+	createDebug.enabled = enabled;
+	createDebug.humanize = require('ms');
+	createDebug.destroy = destroy;
+
+	Object.keys(env).forEach(key => {
+		createDebug[key] = env[key];
+	});
+
+	/**
+	* The currently active debug mode names, and names to skip.
+	*/
+
+	createDebug.names = [];
+	createDebug.skips = [];
+
+	/**
+	* Map of special "%n" handling functions, for the debug "format" argument.
+	*
+	* Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
+	*/
+	createDebug.formatters = {};
+
+	/**
+	* Selects a color for a debug namespace
+	* @param {String} namespace The namespace string for the debug instance to be colored
+	* @return {Number|String} An ANSI color code for the given namespace
+	* @api private
+	*/
+	function selectColor(namespace) {
+		let hash = 0;
+
+		for (let i = 0; i < namespace.length; i++) {
+			hash = ((hash << 5) - hash) + namespace.charCodeAt(i);
+			hash |= 0; // Convert to 32bit integer
+		}
+
+		return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
+	}
+	createDebug.selectColor = selectColor;
+
+	/**
+	* Create a debugger with the given `namespace`.
+	*
+	* @param {String} namespace
+	* @return {Function}
+	* @api public
+	*/
+	function createDebug(namespace) {
+		let prevTime;
+		let enableOverride = null;
+		let namespacesCache;
+		let enabledCache;
+
+		function debug(...args) {
+			// Disabled?
+			if (!debug.enabled) {
+				return;
+			}
+
+			const self = debug;
+
+			// Set `diff` timestamp
+			const curr = Number(new Date());
+			const ms = curr - (prevTime || curr);
+			self.diff = ms;
+			self.prev = prevTime;
+			self.curr = curr;
+			prevTime = curr;
+
+			args[0] = createDebug.coerce(args[0]);
+
+			if (typeof args[0] !== 'string') {
+				// Anything else let's inspect with %O
+				args.unshift('%O');
+			}
+
+			// Apply any `formatters` transformations
+			let index = 0;
+			args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
+				// If we encounter an escaped % then don't increase the array index
+				if (match === '%%') {
+					return '%';
+				}
+				index++;
+				const formatter = createDebug.formatters[format];
+				if (typeof formatter === 'function') {
+					const val = args[index];
+					match = formatter.call(self, val);
+
+					// Now we need to remove `args[index]` since it's inlined in the `format`
+					args.splice(index, 1);
+					index--;
+				}
+				return match;
+			});
+
+			// Apply env-specific formatting (colors, etc.)
+			createDebug.formatArgs.call(self, args);
+
+			const logFn = self.log || createDebug.log;
+			logFn.apply(self, args);
+		}
+
+		debug.namespace = namespace;
+		debug.useColors = createDebug.useColors();
+		debug.color = createDebug.selectColor(namespace);
+		debug.extend = extend;
+		debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.
+
+		Object.defineProperty(debug, 'enabled', {
+			enumerable: true,
+			configurable: false,
+			get: () => {
+				if (enableOverride !== null) {
+					return enableOverride;
+				}
+				if (namespacesCache !== createDebug.namespaces) {
+					namespacesCache = createDebug.namespaces;
+					enabledCache = createDebug.enabled(namespace);
+				}
+
+				return enabledCache;
+			},
+			set: v => {
+				enableOverride = v;
+			}
+		});
+
+		// Env-specific initialization logic for debug instances
+		if (typeof createDebug.init === 'function') {
+			createDebug.init(debug);
+		}
+
+		return debug;
+	}
+
+	function extend(namespace, delimiter) {
+		const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
+		newDebug.log = this.log;
+		return newDebug;
+	}
+
+	/**
+	* Enables a debug mode by namespaces. This can include modes
+	* separated by a colon and wildcards.
+	*
+	* @param {String} namespaces
+	* @api public
+	*/
+	function enable(namespaces) {
+		createDebug.save(namespaces);
+		createDebug.namespaces = namespaces;
+
+		createDebug.names = [];
+		createDebug.skips = [];
+
+		let i;
+		const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
+		const len = split.length;
+
+		for (i = 0; i < len; i++) {
+			if (!split[i]) {
+				// ignore empty strings
+				continue;
+			}
+
+			namespaces = split[i].replace(/\*/g, '.*?');
+
+			if (namespaces[0] === '-') {
+				createDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));
+			} else {
+				createDebug.names.push(new RegExp('^' + namespaces + '$'));
+			}
+		}
+	}
+
+	/**
+	* Disable debug output.
+	*
+	* @return {String} namespaces
+	* @api public
+	*/
+	function disable() {
+		const namespaces = [
+			...createDebug.names.map(toNamespace),
+			...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)
+		].join(',');
+		createDebug.enable('');
+		return namespaces;
+	}
+
+	/**
+	* Returns true if the given mode name is enabled, false otherwise.
+	*
+	* @param {String} name
+	* @return {Boolean}
+	* @api public
+	*/
+	function enabled(name) {
+		if (name[name.length - 1] === '*') {
+			return true;
+		}
+
+		let i;
+		let len;
+
+		for (i = 0, len = createDebug.skips.length; i < len; i++) {
+			if (createDebug.skips[i].test(name)) {
+				return false;
+			}
+		}
+
+		for (i = 0, len = createDebug.names.length; i < len; i++) {
+			if (createDebug.names[i].test(name)) {
+				return true;
+			}
+		}
+
+		return false;
+	}
+
+	/**
+	* Convert regexp to namespace
+	*
+	* @param {RegExp} regxep
+	* @return {String} namespace
+	* @api private
+	*/
+	function toNamespace(regexp) {
+		return regexp.toString()
+			.substring(2, regexp.toString().length - 2)
+			.replace(/\.\*\?$/, '*');
+	}
+
+	/**
+	* Coerce `val`.
+	*
+	* @param {Mixed} val
+	* @return {Mixed}
+	* @api private
+	*/
+	function coerce(val) {
+		if (val instanceof Error) {
+			return val.stack || val.message;
+		}
+		return val;
+	}
+
+	/**
+	* XXX DO NOT USE. This is a temporary stub function.
+	* XXX It WILL be removed in the next major release.
+	*/
+	function destroy() {
+		console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
+	}
+
+	createDebug.enable(createDebug.load());
+
+	return createDebug;
+}
+
+module.exports = setup;
diff --git a/node_modules/get-uri/node_modules/debug/src/index.js b/node_modules/get-uri/node_modules/debug/src/index.js
new file mode 100644
index 0000000..bf4c57f
--- /dev/null
+++ b/node_modules/get-uri/node_modules/debug/src/index.js
@@ -0,0 +1,10 @@
+/**
+ * Detect Electron renderer / nwjs process, which is node, but we should
+ * treat as a browser.
+ */
+
+if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
+	module.exports = require('./browser.js');
+} else {
+	module.exports = require('./node.js');
+}
diff --git a/node_modules/get-uri/node_modules/debug/src/node.js b/node_modules/get-uri/node_modules/debug/src/node.js
new file mode 100644
index 0000000..79bc085
--- /dev/null
+++ b/node_modules/get-uri/node_modules/debug/src/node.js
@@ -0,0 +1,263 @@
+/**
+ * Module dependencies.
+ */
+
+const tty = require('tty');
+const util = require('util');
+
+/**
+ * This is the Node.js implementation of `debug()`.
+ */
+
+exports.init = init;
+exports.log = log;
+exports.formatArgs = formatArgs;
+exports.save = save;
+exports.load = load;
+exports.useColors = useColors;
+exports.destroy = util.deprecate(
+	() => {},
+	'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'
+);
+
+/**
+ * Colors.
+ */
+
+exports.colors = [6, 2, 3, 4, 5, 1];
+
+try {
+	// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)
+	// eslint-disable-next-line import/no-extraneous-dependencies
+	const supportsColor = require('supports-color');
+
+	if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
+		exports.colors = [
+			20,
+			21,
+			26,
+			27,
+			32,
+			33,
+			38,
+			39,
+			40,
+			41,
+			42,
+			43,
+			44,
+			45,
+			56,
+			57,
+			62,
+			63,
+			68,
+			69,
+			74,
+			75,
+			76,
+			77,
+			78,
+			79,
+			80,
+			81,
+			92,
+			93,
+			98,
+			99,
+			112,
+			113,
+			128,
+			129,
+			134,
+			135,
+			148,
+			149,
+			160,
+			161,
+			162,
+			163,
+			164,
+			165,
+			166,
+			167,
+			168,
+			169,
+			170,
+			171,
+			172,
+			173,
+			178,
+			179,
+			184,
+			185,
+			196,
+			197,
+			198,
+			199,
+			200,
+			201,
+			202,
+			203,
+			204,
+			205,
+			206,
+			207,
+			208,
+			209,
+			214,
+			215,
+			220,
+			221
+		];
+	}
+} catch (error) {
+	// Swallow - we only care if `supports-color` is available; it doesn't have to be.
+}
+
+/**
+ * Build up the default `inspectOpts` object from the environment variables.
+ *
+ *   $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
+ */
+
+exports.inspectOpts = Object.keys(process.env).filter(key => {
+	return /^debug_/i.test(key);
+}).reduce((obj, key) => {
+	// Camel-case
+	const prop = key
+		.substring(6)
+		.toLowerCase()
+		.replace(/_([a-z])/g, (_, k) => {
+			return k.toUpperCase();
+		});
+
+	// Coerce string value into JS value
+	let val = process.env[key];
+	if (/^(yes|on|true|enabled)$/i.test(val)) {
+		val = true;
+	} else if (/^(no|off|false|disabled)$/i.test(val)) {
+		val = false;
+	} else if (val === 'null') {
+		val = null;
+	} else {
+		val = Number(val);
+	}
+
+	obj[prop] = val;
+	return obj;
+}, {});
+
+/**
+ * Is stdout a TTY? Colored output is enabled when `true`.
+ */
+
+function useColors() {
+	return 'colors' in exports.inspectOpts ?
+		Boolean(exports.inspectOpts.colors) :
+		tty.isatty(process.stderr.fd);
+}
+
+/**
+ * Adds ANSI color escape codes if enabled.
+ *
+ * @api public
+ */
+
+function formatArgs(args) {
+	const {namespace: name, useColors} = this;
+
+	if (useColors) {
+		const c = this.color;
+		const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c);
+		const prefix = `  ${colorCode};1m${name} \u001B[0m`;
+
+		args[0] = prefix + args[0].split('\n').join('\n' + prefix);
+		args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m');
+	} else {
+		args[0] = getDate() + name + ' ' + args[0];
+	}
+}
+
+function getDate() {
+	if (exports.inspectOpts.hideDate) {
+		return '';
+	}
+	return new Date().toISOString() + ' ';
+}
+
+/**
+ * Invokes `util.format()` with the specified arguments and writes to stderr.
+ */
+
+function log(...args) {
+	return process.stderr.write(util.format(...args) + '\n');
+}
+
+/**
+ * Save `namespaces`.
+ *
+ * @param {String} namespaces
+ * @api private
+ */
+function save(namespaces) {
+	if (namespaces) {
+		process.env.DEBUG = namespaces;
+	} else {
+		// If you set a process.env field to null or undefined, it gets cast to the
+		// string 'null' or 'undefined'. Just delete instead.
+		delete process.env.DEBUG;
+	}
+}
+
+/**
+ * Load `namespaces`.
+ *
+ * @return {String} returns the previously persisted debug modes
+ * @api private
+ */
+
+function load() {
+	return process.env.DEBUG;
+}
+
+/**
+ * Init logic for `debug` instances.
+ *
+ * Create a new `inspectOpts` object in case `useColors` is set
+ * differently for a particular `debug` instance.
+ */
+
+function init(debug) {
+	debug.inspectOpts = {};
+
+	const keys = Object.keys(exports.inspectOpts);
+	for (let i = 0; i < keys.length; i++) {
+		debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
+	}
+}
+
+module.exports = require('./common')(exports);
+
+const {formatters} = module.exports;
+
+/**
+ * Map %o to `util.inspect()`, all on a single line.
+ */
+
+formatters.o = function (v) {
+	this.inspectOpts.colors = this.useColors;
+	return util.inspect(v, this.inspectOpts)
+		.split('\n')
+		.map(str => str.trim())
+		.join(' ');
+};
+
+/**
+ * Map %O to `util.inspect()`, allowing multiple lines if needed.
+ */
+
+formatters.O = function (v) {
+	this.inspectOpts.colors = this.useColors;
+	return util.inspect(v, this.inspectOpts);
+};
diff --git a/node_modules/get-uri/node_modules/fs-extra/CHANGELOG.md b/node_modules/get-uri/node_modules/fs-extra/CHANGELOG.md
new file mode 100644
index 0000000..3049b45
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/CHANGELOG.md
@@ -0,0 +1,864 @@
+8.1.0 / 2019-06-28
+------------------
+
+- Add support for promisified `fs.realpath.native` in Node v9.2+ ([#650](https://github.com/jprichardson/node-fs-extra/issues/650), [#682](https://github.com/jprichardson/node-fs-extra/pull/682))
+- Update `graceful-fs` dependency ([#700](https://github.com/jprichardson/node-fs-extra/pull/700))
+- Use `graceful-fs` everywhere ([#700](https://github.com/jprichardson/node-fs-extra/pull/700))
+
+8.0.1 / 2019-05-13
+------------------
+
+- Fix bug `Maximum call stack size exceeded` error in `util/stat` ([#679](https://github.com/jprichardson/node-fs-extra/pull/679))
+
+8.0.0 / 2019-05-11
+------------------
+
+**NOTE:** Node.js v6 support is deprecated, and will be dropped in the next major release.
+
+- Use `renameSync()` under the hood in `moveSync()`
+- Fix bug with bind-mounted directories in `copy*()` ([#613](https://github.com/jprichardson/node-fs-extra/issues/613), [#618](https://github.com/jprichardson/node-fs-extra/pull/618))
+- Fix bug in `move()` with case-insensitive file systems
+- Use `fs.stat()`'s `bigint` option in `copy*()` & `move*()` where possible ([#657](https://github.com/jprichardson/node-fs-extra/issues/657))
+
+7.0.1 / 2018-11-07
+------------------
+
+- Fix `removeSync()` on Windows, in some cases, it would error out with `ENOTEMPTY` ([#646](https://github.com/jprichardson/node-fs-extra/pull/646))
+- Document `mode` option for `ensureDir*()` ([#587](https://github.com/jprichardson/node-fs-extra/pull/587))
+- Don't include documentation files in npm package tarball ([#642](https://github.com/jprichardson/node-fs-extra/issues/642), [#643](https://github.com/jprichardson/node-fs-extra/pull/643))
+
+7.0.0 / 2018-07-16
+------------------
+
+- **BREAKING:** Refine `copy*()` handling of symlinks to properly detect symlinks that point to the same file. ([#582](https://github.com/jprichardson/node-fs-extra/pull/582))
+- Fix bug with copying write-protected directories ([#600](https://github.com/jprichardson/node-fs-extra/pull/600))
+- Universalify `fs.lchmod()` ([#596](https://github.com/jprichardson/node-fs-extra/pull/596))
+- Add `engines` field to `package.json` ([#580](https://github.com/jprichardson/node-fs-extra/pull/580))
+
+6.0.1 / 2018-05-09
+------------------
+
+- Fix `fs.promises` `ExperimentalWarning` on Node v10.1.0 ([#578](https://github.com/jprichardson/node-fs-extra/pull/578))
+
+6.0.0 / 2018-05-01
+------------------
+
+- Drop support for Node.js versions 4, 5, & 7 ([#564](https://github.com/jprichardson/node-fs-extra/pull/564))
+- Rewrite `move` to use `fs.rename` where possible ([#549](https://github.com/jprichardson/node-fs-extra/pull/549))
+- Don't convert relative paths to absolute paths for `filter` ([#554](https://github.com/jprichardson/node-fs-extra/pull/554))
+- `copy*`'s behavior when `preserveTimestamps` is `false` has been OS-dependent since 5.0.0, but that's now explicitly noted in the docs ([#563](https://github.com/jprichardson/node-fs-extra/pull/563))
+- Fix subdirectory detection for `copy*` & `move*` ([#541](https://github.com/jprichardson/node-fs-extra/pull/541))
+- Handle case-insensitive paths correctly in `copy*` ([#568](https://github.com/jprichardson/node-fs-extra/pull/568))
+
+5.0.0 / 2017-12-11
+------------------
+
+Significant refactor of `copy()` & `copySync()`, including breaking changes. No changes to other functions in this release.
+
+Huge thanks to **[@manidlou](https://github.com/manidlou)** for doing most of the work on this release.
+
+- The `filter` option can no longer be a RegExp (must be a function). This was deprecated since fs-extra v1.0.0. [#512](https://github.com/jprichardson/node-fs-extra/pull/512)
+- `copy()`'s `filter` option can now be a function that returns a Promise. [#518](https://github.com/jprichardson/node-fs-extra/pull/518)
+- `copy()` & `copySync()` now use `fs.copyFile()`/`fs.copyFileSync()` in environments that support it (currently Node 8.5.0+). Older Node versions still get the old implementation. [#505](https://github.com/jprichardson/node-fs-extra/pull/505)
+- Don't allow copying a directory into itself. [#83](https://github.com/jprichardson/node-fs-extra/issues/83)
+- Handle copying between identical files. [#198](https://github.com/jprichardson/node-fs-extra/issues/198)
+- Error out when copying an empty folder to a path that already exists. [#464](https://github.com/jprichardson/node-fs-extra/issues/464)
+- Don't create `dest`'s parent if the `filter` function aborts the `copy()` operation. [#517](https://github.com/jprichardson/node-fs-extra/pull/517)
+- Fix `writeStream` not being closed if there was an error in `copy()`. [#516](https://github.com/jprichardson/node-fs-extra/pull/516)
+
+4.0.3 / 2017-12-05
+------------------
+
+- Fix wrong `chmod` values in `fs.remove()` [#501](https://github.com/jprichardson/node-fs-extra/pull/501)
+- Fix `TypeError` on systems that don't have some `fs` operations like `lchown` [#520](https://github.com/jprichardson/node-fs-extra/pull/520)
+
+4.0.2 / 2017-09-12
+------------------
+
+- Added `EOL` option to `writeJson*` & `outputJson*` (via upgrade to jsonfile v4)
+- Added promise support to [`fs.copyFile()`](https://nodejs.org/api/fs.html#fs_fs_copyfile_src_dest_flags_callback) in Node 8.5+
+- Added `.js` extension to `main` field in `package.json` for better tooling compatibility. [#485](https://github.com/jprichardson/node-fs-extra/pull/485)
+
+4.0.1 / 2017-07-31
+------------------
+
+### Fixed
+
+- Previously, `ensureFile()` & `ensureFileSync()` would do nothing if the path was a directory. Now, they error out for consistency with `ensureDir()`. [#465](https://github.com/jprichardson/node-fs-extra/issues/465), [#466](https://github.com/jprichardson/node-fs-extra/pull/466), [#470](https://github.com/jprichardson/node-fs-extra/issues/470)
+
+4.0.0 / 2017-07-14
+------------------
+
+### Changed
+
+- **BREAKING:** The promisified versions of `fs.read()` & `fs.write()` now return objects. See [the docs](docs/fs-read-write.md) for details. [#436](https://github.com/jprichardson/node-fs-extra/issues/436), [#449](https://github.com/jprichardson/node-fs-extra/pull/449)
+- `fs.move()` now errors out when destination is a subdirectory of source. [#458](https://github.com/jprichardson/node-fs-extra/pull/458)
+- Applied upstream fixes from `rimraf` to `fs.remove()` & `fs.removeSync()`. [#459](https://github.com/jprichardson/node-fs-extra/pull/459)
+
+### Fixed
+
+- Got `fs.outputJSONSync()` working again; it was broken due to refactoring. [#428](https://github.com/jprichardson/node-fs-extra/pull/428)
+
+Also clarified the docs in a few places.
+
+3.0.1 / 2017-05-04
+------------------
+
+- Fix bug in `move()` & `moveSync()` when source and destination are the same, and source does not exist. [#415](https://github.com/jprichardson/node-fs-extra/pull/415)
+
+3.0.0 / 2017-04-27
+------------------
+
+### Added
+
+- **BREAKING:** Added Promise support. All asynchronous native fs methods and fs-extra methods now return a promise if the callback is not passed. [#403](https://github.com/jprichardson/node-fs-extra/pull/403)
+- `pathExists()`, a replacement for the deprecated `fs.exists`. `pathExists` has a normal error-first callback signature. Also added `pathExistsSync`, an alias to `fs.existsSync`, for completeness. [#406](https://github.com/jprichardson/node-fs-extra/pull/406)
+
+### Removed
+
+- **BREAKING:** Removed support for setting the default spaces for `writeJson()`, `writeJsonSync()`, `outputJson()`, & `outputJsonSync()`. This was undocumented. [#402](https://github.com/jprichardson/node-fs-extra/pull/402)
+
+### Changed
+
+- Upgraded jsonfile dependency to v3.0.0:
+  - **BREAKING:** Changed behavior of `throws` option for `readJsonSync()`; now does not throw filesystem errors when `throws` is `false`.
+- **BREAKING:** `writeJson()`, `writeJsonSync()`, `outputJson()`, & `outputJsonSync()` now output minified JSON by default for consistency with `JSON.stringify()`; set the `spaces` option to `2` to override this new behavior. [#402](https://github.com/jprichardson/node-fs-extra/pull/402)
+- Use `Buffer.allocUnsafe()` instead of `new Buffer()` in environments that support it. [#394](https://github.com/jprichardson/node-fs-extra/pull/394)
+
+### Fixed
+
+- `removeSync()` silently failed on Windows in some cases. Now throws an `EBUSY` error. [#408](https://github.com/jprichardson/node-fs-extra/pull/408)
+
+2.1.2 / 2017-03-16
+------------------
+
+### Fixed
+
+- Weird windows bug that resulted in `ensureDir()`'s callback being called twice in some cases. This bug may have also affected `remove()`. See [#392](https://github.com/jprichardson/node-fs-extra/issues/392), [#393](https://github.com/jprichardson/node-fs-extra/pull/393)
+
+2.1.1 / 2017-03-15
+------------------
+
+### Fixed
+
+- Reverted [`5597bd`](https://github.com/jprichardson/node-fs-extra/commit/5597bd5b67f7d060f5f5bf26e9635be48330f5d7), this broke compatibility with Node.js versions v4+ but less than `v4.5.0`.
+- Remove `Buffer.alloc()` usage in `moveSync()`.
+
+2.1.0 / 2017-03-15
+------------------
+
+Thanks to [Mani Maghsoudlou (@manidlou)](https://github.com/manidlou) & [Jan Peer Stöcklmair (@JPeer264)](https://github.com/JPeer264) for their extraordinary help with this release!
+
+### Added
+- `moveSync()` See [#309], [#381](https://github.com/jprichardson/node-fs-extra/pull/381). ([@manidlou](https://github.com/manidlou))
+- `copy()` and `copySync()`'s `filter` option now gets the destination path passed as the second parameter. [#366](https://github.com/jprichardson/node-fs-extra/pull/366) ([@manidlou](https://github.com/manidlou))
+
+### Changed
+- Use `Buffer.alloc()` instead of deprecated `new Buffer()` in `copySync()`. [#380](https://github.com/jprichardson/node-fs-extra/pull/380) ([@manidlou](https://github.com/manidlou))
+- Refactored entire codebase to use ES6 features supported by Node.js v4+ [#355](https://github.com/jprichardson/node-fs-extra/issues/355). [(@JPeer264)](https://github.com/JPeer264)
+- Refactored docs. ([@manidlou](https://github.com/manidlou))
+
+### Fixed
+
+- `move()` shouldn't error out when source and dest are the same. [#377](https://github.com/jprichardson/node-fs-extra/issues/377), [#378](https://github.com/jprichardson/node-fs-extra/pull/378) ([@jdalton](https://github.com/jdalton))
+
+2.0.0 / 2017-01-16
+------------------
+
+### Removed
+- **BREAKING:** Removed support for Node `v0.12`. The Node foundation stopped officially supporting it
+on Jan 1st, 2017.
+- **BREAKING:** Remove `walk()` and `walkSync()`. `walkSync()` was only part of `fs-extra` for a little
+over two months. Use [klaw](https://github.com/jprichardson/node-klaw) instead of `walk()`, in fact, `walk()` was just
+an alias to klaw. For `walkSync()` use [klaw-sync](https://github.com/mawni/node-klaw-sync). See: [#338], [#339]
+
+### Changed
+- **BREAKING:** Renamed `clobber` to `overwrite`. This affects `copy()`, `copySync()`, and `move()`. [#330], [#333]
+- Moved docs, to `docs/`. [#340]
+
+### Fixed
+- Apply filters to directories in `copySync()` like in `copy()`. [#324]
+- A specific condition when disk is under heavy use, `copy()` can fail. [#326]
+
+
+1.0.0 / 2016-11-01
+------------------
+
+After five years of development, we finally have reach the 1.0.0 milestone! Big thanks goes
+to [Ryan Zim](https://github.com/RyanZim) for leading the charge on this release!
+
+### Added
+- `walkSync()`
+
+### Changed
+- **BREAKING**: dropped Node v0.10 support.
+- disabled `rimaf` globbing, wasn't used. [#280]
+- deprecate `copy()/copySync()` option `filter` if it's a `RegExp`. `filter` should now be a function.
+- inline `rimraf`. This is temporary and was done because `rimraf` depended upon the beefy `glob` which `fs-extra` does not use. [#300]
+
+### Fixed
+- bug fix proper closing of file handle on `utimesMillis()` [#271]
+- proper escaping of files with dollar signs [#291]
+- `copySync()` failed if user didn't own file. [#199], [#301]
+
+
+0.30.0 / 2016-04-28
+-------------------
+- Brought back Node v0.10 support. I didn't realize there was still demand. Official support will end **2016-10-01**.
+
+0.29.0 / 2016-04-27
+-------------------
+- **BREAKING**: removed support for Node v0.10. If you still want to use Node v0.10, everything should work except for `ensureLink()/ensureSymlink()`. Node v0.12 is still supported but will be dropped in the near future as well.
+
+0.28.0 / 2016-04-17
+-------------------
+- **BREAKING**: removed `createOutputStream()`. Use https://www.npmjs.com/package/create-output-stream. See: [#192][#192]
+- `mkdirs()/mkdirsSync()` check for invalid win32 path chars. See: [#209][#209], [#237][#237]
+- `mkdirs()/mkdirsSync()` if drive not mounted, error. See: [#93][#93]
+
+0.27.0 / 2016-04-15
+-------------------
+- add `dereference` option to `copySync()`. [#235][#235]
+
+0.26.7 / 2016-03-16
+-------------------
+- fixed `copy()` if source and dest are the same. [#230][#230]
+
+0.26.6 / 2016-03-15
+-------------------
+- fixed if `emptyDir()` does not have a callback: [#229][#229]
+
+0.26.5 / 2016-01-27
+-------------------
+- `copy()` with two arguments (w/o callback) was broken. See: [#215][#215]
+
+0.26.4 / 2016-01-05
+-------------------
+- `copySync()` made `preserveTimestamps` default consistent with `copy()` which is `false`. See: [#208][#208]
+
+0.26.3 / 2015-12-17
+-------------------
+- fixed `copy()` hangup in copying blockDevice / characterDevice / `/dev/null`. See: [#193][#193]
+
+0.26.2 / 2015-11-02
+-------------------
+- fixed `outputJson{Sync}()` spacing adherence to `fs.spaces`
+
+0.26.1 / 2015-11-02
+-------------------
+- fixed `copySync()` when `clogger=true` and the destination is read only. See: [#190][#190]
+
+0.26.0 / 2015-10-25
+-------------------
+- extracted the `walk()` function into its own module [`klaw`](https://github.com/jprichardson/node-klaw).
+
+0.25.0 / 2015-10-24
+-------------------
+- now has a file walker `walk()`
+
+0.24.0 / 2015-08-28
+-------------------
+- removed alias `delete()` and `deleteSync()`. See: [#171][#171]
+
+0.23.1 / 2015-08-07
+-------------------
+- Better handling of errors for `move()` when moving across devices. [#170][#170]
+- `ensureSymlink()` and `ensureLink()` should not throw errors if link exists. [#169][#169]
+
+0.23.0 / 2015-08-06
+-------------------
+- added `ensureLink{Sync}()` and `ensureSymlink{Sync}()`. See: [#165][#165]
+
+0.22.1 / 2015-07-09
+-------------------
+- Prevent calling `hasMillisResSync()` on module load. See: [#149][#149].
+Fixes regression that was introduced in `0.21.0`.
+
+0.22.0 / 2015-07-09
+-------------------
+- preserve permissions / ownership in `copy()`. See: [#54][#54]
+
+0.21.0 / 2015-07-04
+-------------------
+- add option to preserve timestamps in `copy()` and `copySync()`. See: [#141][#141]
+- updated `[email protected]` to `4.x`. This brings in features from `amazing-graceful-fs` (much cleaner code / less hacks)
+
+0.20.1 / 2015-06-23
+-------------------
+- fixed regression caused by latest jsonfile update: See: https://github.com/jprichardson/node-jsonfile/issues/26
+
+0.20.0 / 2015-06-19
+-------------------
+- removed `jsonfile` aliases with `File` in the name, they weren't documented and probably weren't in use e.g.
+this package had both `fs.readJsonFile` and `fs.readJson` that were aliases to each other, now use `fs.readJson`.
+- preliminary walker created. Intentionally not documented. If you use it, it will almost certainly change and break your code.
+- started moving tests inline
+- upgraded to `[email protected]`, can now pass JSON revivers/replacers to `readJson()`, `writeJson()`, `outputJson()`
+
+0.19.0 / 2015-06-08
+-------------------
+- `fs.copy()` had support for Node v0.8, dropped support
+
+0.18.4 / 2015-05-22
+-------------------
+- fixed license field according to this: [#136][#136] and https://github.com/npm/npm/releases/tag/v2.10.0
+
+0.18.3 / 2015-05-08
+-------------------
+- bugfix: handle `EEXIST` when clobbering on some Linux systems. [#134][#134]
+
+0.18.2 / 2015-04-17
+-------------------
+- bugfix: allow `F_OK` ([#120][#120])
+
+0.18.1 / 2015-04-15
+-------------------
+- improved windows support for `move()` a bit. https://github.com/jprichardson/node-fs-extra/commit/92838980f25dc2ee4ec46b43ee14d3c4a1d30c1b
+- fixed a lot of tests for Windows (appveyor)
+
+0.18.0 / 2015-03-31
+-------------------
+- added `emptyDir()` and `emptyDirSync()`
+
+0.17.0 / 2015-03-28
+-------------------
+- `copySync` added `clobber` option (before always would clobber, now if `clobber` is `false` it throws an error if the destination exists).
+**Only works with files at the moment.**
+- `createOutputStream()` added. See: [#118][#118]
+
+0.16.5 / 2015-03-08
+-------------------
+- fixed `fs.move` when `clobber` is `true` and destination is a directory, it should clobber. [#114][#114]
+
+0.16.4 / 2015-03-01
+-------------------
+- `fs.mkdirs` fix infinite loop on Windows. See: See https://github.com/substack/node-mkdirp/pull/74 and https://github.com/substack/node-mkdirp/issues/66
+
+0.16.3 / 2015-01-28
+-------------------
+- reverted https://github.com/jprichardson/node-fs-extra/commit/1ee77c8a805eba5b99382a2591ff99667847c9c9
+
+
+0.16.2 / 2015-01-28
+-------------------
+- fixed `fs.copy` for Node v0.8 (support is temporary and will be removed in the near future)
+
+0.16.1 / 2015-01-28
+-------------------
+- if `setImmediate` is not available, fall back to `process.nextTick`
+
+0.16.0 / 2015-01-28
+-------------------
+- bugfix `fs.move()` into itself. Closes [#104]
+- bugfix `fs.move()` moving directory across device. Closes [#108]
+- added coveralls support
+- bugfix: nasty multiple callback `fs.copy()` bug. Closes [#98]
+- misc fs.copy code cleanups
+
+0.15.0 / 2015-01-21
+-------------------
+- dropped `ncp`, imported code in
+- because of previous, now supports `io.js`
+- `graceful-fs` is now a dependency
+
+0.14.0 / 2015-01-05
+-------------------
+- changed `copy`/`copySync` from `fs.copy(src, dest, [filters], callback)` to `fs.copy(src, dest, [options], callback)` [#100][#100]
+- removed mockfs tests for mkdirp (this may be temporary, but was getting in the way of other tests)
+
+0.13.0 / 2014-12-10
+-------------------
+- removed `touch` and `touchSync` methods (they didn't handle permissions like UNIX touch)
+- updated `"ncp": "^0.6.0"` to `"ncp": "^1.0.1"`
+- imported `mkdirp` => `minimist` and `mkdirp` are no longer dependences, should now appease people who wanted `mkdirp` to be `--use_strict` safe. See [#59]([#59][#59])
+
+0.12.0 / 2014-09-22
+-------------------
+- copy symlinks in `copySync()` [#85][#85]
+
+0.11.1 / 2014-09-02
+-------------------
+- bugfix `copySync()` preserve file permissions [#80][#80]
+
+0.11.0 / 2014-08-11
+-------------------
+- upgraded `"ncp": "^0.5.1"` to `"ncp": "^0.6.0"`
+- upgrade `jsonfile": "^1.2.0"` to `jsonfile": "^2.0.0"` => on write, json files now have `\n` at end. Also adds `options.throws` to `readJsonSync()`
+see https://github.com/jprichardson/node-jsonfile#readfilesyncfilename-options for more details.
+
+0.10.0 / 2014-06-29
+------------------
+* bugfix: upgaded `"jsonfile": "~1.1.0"` to `"jsonfile": "^1.2.0"`, bumped minor because of `jsonfile` dep change
+from `~` to `^`. [#67]
+
+0.9.1 / 2014-05-22
+------------------
+* removed Node.js `0.8.x` support, `0.9.0` was published moments ago and should have been done there
+
+0.9.0 / 2014-05-22
+------------------
+* upgraded `ncp` from `~0.4.2` to `^0.5.1`, [#58]
+* upgraded `rimraf` from `~2.2.6` to `^2.2.8`
+* upgraded `mkdirp` from `0.3.x` to `^0.5.0`
+* added methods `ensureFile()`, `ensureFileSync()`
+* added methods `ensureDir()`, `ensureDirSync()` [#31]
+* added `move()` method. From: https://github.com/andrewrk/node-mv
+
+
+0.8.1 / 2013-10-24
+------------------
+* copy failed to return an error to the callback if a file doesn't exist (ulikoehler [#38], [#39])
+
+0.8.0 / 2013-10-14
+------------------
+* `filter` implemented on `copy()` and `copySync()`. (Srirangan / [#36])
+
+0.7.1 / 2013-10-12
+------------------
+* `copySync()` implemented (Srirangan / [#33])
+* updated to the latest `jsonfile` version `1.1.0` which gives `options` params for the JSON methods. Closes [#32]
+
+0.7.0 / 2013-10-07
+------------------
+* update readme conventions
+* `copy()` now works if destination directory does not exist. Closes [#29]
+
+0.6.4 / 2013-09-05
+------------------
+* changed `homepage` field in package.json to remove NPM warning
+
+0.6.3 / 2013-06-28
+------------------
+* changed JSON spacing default from `4` to `2` to follow Node conventions
+* updated `jsonfile` dep
+* updated `rimraf` dep
+
+0.6.2 / 2013-06-28
+------------------
+* added .npmignore, [#25]
+
+0.6.1 / 2013-05-14
+------------------
+* modified for `strict` mode, closes [#24]
+* added `outputJson()/outputJsonSync()`, closes [#23]
+
+0.6.0 / 2013-03-18
+------------------
+* removed node 0.6 support
+* added node 0.10 support
+* upgraded to latest `ncp` and `rimraf`.
+* optional `graceful-fs` support. Closes [#17]
+
+
+0.5.0 / 2013-02-03
+------------------
+* Removed `readTextFile`.
+* Renamed `readJSONFile` to `readJSON` and `readJson`, same with write.
+* Restructured documentation a bit. Added roadmap.
+
+0.4.0 / 2013-01-28
+------------------
+* Set default spaces in `jsonfile` from 4 to 2.
+* Updated `testutil` deps for tests.
+* Renamed `touch()` to `createFile()`
+* Added `outputFile()` and `outputFileSync()`
+* Changed creation of testing diretories so the /tmp dir is not littered.
+* Added `readTextFile()` and `readTextFileSync()`.
+
+0.3.2 / 2012-11-01
+------------------
+* Added `touch()` and `touchSync()` methods.
+
+0.3.1 / 2012-10-11
+------------------
+* Fixed some stray globals.
+
+0.3.0 / 2012-10-09
+------------------
+* Removed all CoffeeScript from tests.
+* Renamed `mkdir` to `mkdirs`/`mkdirp`.
+
+0.2.1 / 2012-09-11
+------------------
+* Updated `rimraf` dep.
+
+0.2.0 / 2012-09-10
+------------------
+* Rewrote module into JavaScript. (Must still rewrite tests into JavaScript)
+* Added all methods of [jsonfile](https://github.com/jprichardson/node-jsonfile)
+* Added Travis-CI.
+
+0.1.3 / 2012-08-13
+------------------
+* Added method `readJSONFile`.
+
+0.1.2 / 2012-06-15
+------------------
+* Bug fix: `deleteSync()` didn't exist.
+* Verified Node v0.8 compatibility.
+
+0.1.1 / 2012-06-15
+------------------
+* Fixed bug in `remove()`/`delete()` that wouldn't execute the function if a callback wasn't passed.
+
+0.1.0 / 2012-05-31
+------------------
+* Renamed `copyFile()` to `copy()`. `copy()` can now copy directories (recursively) too.
+* Renamed `rmrf()` to `remove()`.
+* `remove()` aliased with `delete()`.
+* Added `mkdirp` capabilities. Named: `mkdir()`. Hides Node.js native `mkdir()`.
+* Instead of exporting the native `fs` module with new functions, I now copy over the native methods to a new object and export that instead.
+
+0.0.4 / 2012-03-14
+------------------
+* Removed CoffeeScript dependency
+
+0.0.3 / 2012-01-11
+------------------
+* Added methods rmrf and rmrfSync
+* Moved tests from Jasmine to Mocha
+
+
+[#344]: https://github.com/jprichardson/node-fs-extra/issues/344    "Licence Year"
+[#343]: https://github.com/jprichardson/node-fs-extra/pull/343      "Add klaw-sync link to readme"
+[#342]: https://github.com/jprichardson/node-fs-extra/pull/342      "allow preserveTimestamps when use move"
+[#341]: https://github.com/jprichardson/node-fs-extra/issues/341    "mkdirp(path.dirname(dest) in move() logic needs cleaning up [question]"
+[#340]: https://github.com/jprichardson/node-fs-extra/pull/340      "Move docs to seperate docs folder [documentation]"
+[#339]: https://github.com/jprichardson/node-fs-extra/pull/339      "Remove walk() & walkSync() [feature-walk]"
+[#338]: https://github.com/jprichardson/node-fs-extra/issues/338    "Remove walk() and walkSync() [feature-walk]"
+[#337]: https://github.com/jprichardson/node-fs-extra/issues/337    "copy doesn't return a yieldable value"
+[#336]: https://github.com/jprichardson/node-fs-extra/pull/336      "Docs enhanced walk sync [documentation, feature-walk]"
+[#335]: https://github.com/jprichardson/node-fs-extra/pull/335      "Refactor move() tests [feature-move]"
+[#334]: https://github.com/jprichardson/node-fs-extra/pull/334      "Cleanup lib/move/index.js [feature-move]"
+[#333]: https://github.com/jprichardson/node-fs-extra/pull/333      "Rename clobber to overwrite [feature-copy, feature-move]"
+[#332]: https://github.com/jprichardson/node-fs-extra/pull/332      "BREAKING: Drop Node v0.12 & io.js support"
+[#331]: https://github.com/jprichardson/node-fs-extra/issues/331    "Add support for chmodr [enhancement, future]"
+[#330]: https://github.com/jprichardson/node-fs-extra/pull/330      "BREAKING: Do not error when copy destination exists & clobber: false [feature-copy]"
+[#329]: https://github.com/jprichardson/node-fs-extra/issues/329    "Does .walk() scale to large directories? [question]"
+[#328]: https://github.com/jprichardson/node-fs-extra/issues/328    "Copying files corrupts [feature-copy, needs-confirmed]"
+[#327]: https://github.com/jprichardson/node-fs-extra/pull/327      "Use writeStream 'finish' event instead of 'close' [bug, feature-copy]"
+[#326]: https://github.com/jprichardson/node-fs-extra/issues/326    "fs.copy fails with chmod error when disk under heavy use [bug, feature-copy]"
+[#325]: https://github.com/jprichardson/node-fs-extra/issues/325    "ensureDir is difficult to promisify [enhancement]"
+[#324]: https://github.com/jprichardson/node-fs-extra/pull/324      "copySync() should apply filter to directories like copy() [bug, feature-copy]"
+[#323]: https://github.com/jprichardson/node-fs-extra/issues/323    "Support for `dest` being a directory when using `copy*()`?"
+[#322]: https://github.com/jprichardson/node-fs-extra/pull/322      "Add fs-promise as fs-extra-promise alternative"
+[#321]: https://github.com/jprichardson/node-fs-extra/issues/321    "fs.copy() with clobber set to false return EEXIST error [feature-copy]"
+[#320]: https://github.com/jprichardson/node-fs-extra/issues/320    "fs.copySync: Error: EPERM: operation not permitted, unlink "
+[#319]: https://github.com/jprichardson/node-fs-extra/issues/319    "Create directory if not exists"
+[#318]: https://github.com/jprichardson/node-fs-extra/issues/318    "Support glob patterns [enhancement, future]"
+[#317]: https://github.com/jprichardson/node-fs-extra/pull/317      "Adding copy sync test for src file without write perms"
+[#316]: https://github.com/jprichardson/node-fs-extra/pull/316      "Remove move()'s broken limit option [feature-move]"
+[#315]: https://github.com/jprichardson/node-fs-extra/pull/315      "Fix move clobber tests to work around graceful-fs bug."
+[#314]: https://github.com/jprichardson/node-fs-extra/issues/314    "move() limit option [documentation, enhancement, feature-move]"
+[#313]: https://github.com/jprichardson/node-fs-extra/pull/313      "Test that remove() ignores glob characters."
+[#312]: https://github.com/jprichardson/node-fs-extra/pull/312      "Enhance walkSync() to return items with path and stats [feature-walk]"
+[#311]: https://github.com/jprichardson/node-fs-extra/issues/311    "move() not work when dest name not provided [feature-move]"
+[#310]: https://github.com/jprichardson/node-fs-extra/issues/310    "Edit walkSync to return items like what walk emits [documentation, enhancement, feature-walk]"
+[#309]: https://github.com/jprichardson/node-fs-extra/issues/309    "moveSync support [enhancement, feature-move]"
+[#308]: https://github.com/jprichardson/node-fs-extra/pull/308      "Fix incorrect anchor link"
+[#307]: https://github.com/jprichardson/node-fs-extra/pull/307      "Fix coverage"
+[#306]: https://github.com/jprichardson/node-fs-extra/pull/306      "Update devDeps, fix lint error"
+[#305]: https://github.com/jprichardson/node-fs-extra/pull/305      "Re-add Coveralls"
+[#304]: https://github.com/jprichardson/node-fs-extra/pull/304      "Remove path-is-absolute [enhancement]"
+[#303]: https://github.com/jprichardson/node-fs-extra/pull/303      "Document copySync filter inconsistency [documentation, feature-copy]"
+[#302]: https://github.com/jprichardson/node-fs-extra/pull/302      "fix(console): depreciated -> deprecated"
+[#301]: https://github.com/jprichardson/node-fs-extra/pull/301      "Remove chmod call from copySync [feature-copy]"
+[#300]: https://github.com/jprichardson/node-fs-extra/pull/300      "Inline Rimraf [enhancement, feature-move, feature-remove]"
+[#299]: https://github.com/jprichardson/node-fs-extra/pull/299      "Warn when filter is a RegExp [feature-copy]"
+[#298]: https://github.com/jprichardson/node-fs-extra/issues/298    "API Docs [documentation]"
+[#297]: https://github.com/jprichardson/node-fs-extra/pull/297      "Warn about using preserveTimestamps on 32-bit node"
+[#296]: https://github.com/jprichardson/node-fs-extra/pull/296      "Improve EEXIST error message for copySync [enhancement]"
+[#295]: https://github.com/jprichardson/node-fs-extra/pull/295      "Depreciate using regular expressions for copy's filter option [documentation]"
+[#294]: https://github.com/jprichardson/node-fs-extra/pull/294      "BREAKING: Refactor lib/copy/ncp.js [feature-copy]"
+[#293]: https://github.com/jprichardson/node-fs-extra/pull/293      "Update CI configs"
+[#292]: https://github.com/jprichardson/node-fs-extra/issues/292    "Rewrite lib/copy/ncp.js [enhancement, feature-copy]"
+[#291]: https://github.com/jprichardson/node-fs-extra/pull/291      "Escape '$' in replacement string for async file copying"
+[#290]: https://github.com/jprichardson/node-fs-extra/issues/290    "Exclude files pattern while copying using copy.config.js [question]"
+[#289]: https://github.com/jprichardson/node-fs-extra/pull/289      "(Closes #271) lib/util/utimes: properly close file descriptors in the event of an error"
+[#288]: https://github.com/jprichardson/node-fs-extra/pull/288      "(Closes #271) lib/util/utimes: properly close file descriptors in the event of an error"
+[#287]: https://github.com/jprichardson/node-fs-extra/issues/287    "emptyDir() callback arguments are inconsistent [enhancement, feature-remove]"
+[#286]: https://github.com/jprichardson/node-fs-extra/pull/286      "Added walkSync function"
+[#285]: https://github.com/jprichardson/node-fs-extra/issues/285    "CITGM test failing on s390"
+[#284]: https://github.com/jprichardson/node-fs-extra/issues/284    "outputFile method is missing a check to determine if existing item is a folder or not"
+[#283]: https://github.com/jprichardson/node-fs-extra/pull/283      "Apply filter also on directories and symlinks for copySync()"
+[#282]: https://github.com/jprichardson/node-fs-extra/pull/282      "Apply filter also on directories and symlinks for copySync()"
+[#281]: https://github.com/jprichardson/node-fs-extra/issues/281    "remove function executes 'successfully' but doesn't do anything?"
+[#280]: https://github.com/jprichardson/node-fs-extra/pull/280      "Disable rimraf globbing"
+[#279]: https://github.com/jprichardson/node-fs-extra/issues/279    "Some code is vendored instead of included [awaiting-reply]"
+[#278]: https://github.com/jprichardson/node-fs-extra/issues/278    "copy() does not preserve file/directory ownership"
+[#277]: https://github.com/jprichardson/node-fs-extra/pull/277      "Mention defaults for clobber and dereference options"
+[#276]: https://github.com/jprichardson/node-fs-extra/issues/276    "Cannot connect to Shared Folder [awaiting-reply]"
+[#275]: https://github.com/jprichardson/node-fs-extra/issues/275    "EMFILE, too many open files on Mac OS with JSON API"
+[#274]: https://github.com/jprichardson/node-fs-extra/issues/274    "Use with memory-fs? [enhancement, future]"
+[#273]: https://github.com/jprichardson/node-fs-extra/pull/273      "tests: rename `remote.test.js` to `remove.test.js`"
+[#272]: https://github.com/jprichardson/node-fs-extra/issues/272    "Copy clobber flag never err even when true [bug, feature-copy]"
+[#271]: https://github.com/jprichardson/node-fs-extra/issues/271    "Unclosed file handle on futimes error"
+[#270]: https://github.com/jprichardson/node-fs-extra/issues/270    "copy not working as desired on Windows [feature-copy, platform-windows]"
+[#269]: https://github.com/jprichardson/node-fs-extra/issues/269    "Copying with preserveTimeStamps: true is inaccurate using 32bit node [feature-copy]"
+[#268]: https://github.com/jprichardson/node-fs-extra/pull/268      "port fix for mkdirp issue #111"
+[#267]: https://github.com/jprichardson/node-fs-extra/issues/267    "WARN deprecated [email protected]: wrench.js is deprecated!"
+[#266]: https://github.com/jprichardson/node-fs-extra/issues/266    "fs-extra"
+[#265]: https://github.com/jprichardson/node-fs-extra/issues/265    "Link the `fs.stat fs.exists` etc. methods for replace the `fs` module forever?"
+[#264]: https://github.com/jprichardson/node-fs-extra/issues/264    "Renaming a file using move fails when a file inside is open (at least on windows) [wont-fix]"
+[#263]: https://github.com/jprichardson/node-fs-extra/issues/263    "ENOSYS: function not implemented, link [needs-confirmed]"
+[#262]: https://github.com/jprichardson/node-fs-extra/issues/262    "Add .exists() and .existsSync()"
+[#261]: https://github.com/jprichardson/node-fs-extra/issues/261    "Cannot read property 'prototype' of undefined"
+[#260]: https://github.com/jprichardson/node-fs-extra/pull/260      "use more specific path for method require"
+[#259]: https://github.com/jprichardson/node-fs-extra/issues/259    "Feature Request: isEmpty"
+[#258]: https://github.com/jprichardson/node-fs-extra/issues/258    "copy files does not preserve file timestamp"
+[#257]: https://github.com/jprichardson/node-fs-extra/issues/257    "Copying a file on windows fails"
+[#256]: https://github.com/jprichardson/node-fs-extra/pull/256      "Updated Readme "
+[#255]: https://github.com/jprichardson/node-fs-extra/issues/255    "Update rimraf required version"
+[#254]: https://github.com/jprichardson/node-fs-extra/issues/254    "request for readTree, readTreeSync, walkSync method"
+[#253]: https://github.com/jprichardson/node-fs-extra/issues/253    "outputFile does not touch mtime when file exists"
+[#252]: https://github.com/jprichardson/node-fs-extra/pull/252      "Fixing problem when copying file with no write permission"
+[#251]: https://github.com/jprichardson/node-fs-extra/issues/251    "Just wanted to say thank you"
+[#250]: https://github.com/jprichardson/node-fs-extra/issues/250    "`fs.remove()` not removing files (works with `rm -rf`)"
+[#249]: https://github.com/jprichardson/node-fs-extra/issues/249    "Just a Question ... Remove Servers"
+[#248]: https://github.com/jprichardson/node-fs-extra/issues/248    "Allow option to not preserve permissions for copy"
+[#247]: https://github.com/jprichardson/node-fs-extra/issues/247    "Add TypeScript typing directly in the fs-extra package"
+[#246]: https://github.com/jprichardson/node-fs-extra/issues/246    "fse.remove() && fse.removeSync() don't throw error on ENOENT file"
+[#245]: https://github.com/jprichardson/node-fs-extra/issues/245    "filter for empty dir [enhancement]"
+[#244]: https://github.com/jprichardson/node-fs-extra/issues/244    "copySync doesn't apply the filter to directories"
+[#243]: https://github.com/jprichardson/node-fs-extra/issues/243    "Can I request fs.walk() to be synchronous?"
+[#242]: https://github.com/jprichardson/node-fs-extra/issues/242    "Accidentally truncates file names ending with $$ [bug, feature-copy]"
+[#241]: https://github.com/jprichardson/node-fs-extra/pull/241      "Remove link to createOutputStream"
+[#240]: https://github.com/jprichardson/node-fs-extra/issues/240    "walkSync request"
+[#239]: https://github.com/jprichardson/node-fs-extra/issues/239    "Depreciate regular expressions for copy's filter [documentation, feature-copy]"
+[#238]: https://github.com/jprichardson/node-fs-extra/issues/238    "Can't write to files while in a worker thread."
+[#237]: https://github.com/jprichardson/node-fs-extra/issues/237    ".ensureDir(..) fails silently when passed an invalid path..."
+[#236]: https://github.com/jprichardson/node-fs-extra/issues/236    "[Removed] Filed under wrong repo"
+[#235]: https://github.com/jprichardson/node-fs-extra/pull/235      "Adds symlink dereference option to `fse.copySync` (#191)"
+[#234]: https://github.com/jprichardson/node-fs-extra/issues/234    "ensureDirSync fails silent when EACCES: permission denied on travis-ci"
+[#233]: https://github.com/jprichardson/node-fs-extra/issues/233    "please make sure the first argument in callback is error object [feature-copy]"
+[#232]: https://github.com/jprichardson/node-fs-extra/issues/232    "Copy a folder content  to its child folder.  "
+[#231]: https://github.com/jprichardson/node-fs-extra/issues/231    "Adding read/write/output functions for YAML"
+[#230]: https://github.com/jprichardson/node-fs-extra/pull/230      "throw error if src and dest are the same to avoid zeroing out + test"
+[#229]: https://github.com/jprichardson/node-fs-extra/pull/229      "fix 'TypeError: callback is not a function' in emptyDir"
+[#228]: https://github.com/jprichardson/node-fs-extra/pull/228      "Throw error when target is empty so file is not accidentally zeroed out"
+[#227]: https://github.com/jprichardson/node-fs-extra/issues/227    "Uncatchable errors when there are invalid arguments [feature-move]"
+[#226]: https://github.com/jprichardson/node-fs-extra/issues/226    "Moving to the current directory"
+[#225]: https://github.com/jprichardson/node-fs-extra/issues/225    "EBUSY: resource busy or locked, unlink"
+[#224]: https://github.com/jprichardson/node-fs-extra/issues/224    "fse.copy ENOENT error"
+[#223]: https://github.com/jprichardson/node-fs-extra/issues/223    "Suspicious behavior of fs.existsSync"
+[#222]: https://github.com/jprichardson/node-fs-extra/pull/222      "A clearer description of emtpyDir function"
+[#221]: https://github.com/jprichardson/node-fs-extra/pull/221      "Update README.md"
+[#220]: https://github.com/jprichardson/node-fs-extra/pull/220      "Non-breaking feature: add option 'passStats' to copy methods."
+[#219]: https://github.com/jprichardson/node-fs-extra/pull/219      "Add closing parenthesis in copySync example"
+[#218]: https://github.com/jprichardson/node-fs-extra/pull/218      "fix #187 #70 options.filter bug"
+[#217]: https://github.com/jprichardson/node-fs-extra/pull/217      "fix #187 #70 options.filter bug"
+[#216]: https://github.com/jprichardson/node-fs-extra/pull/216      "fix #187 #70 options.filter bug"
+[#215]: https://github.com/jprichardson/node-fs-extra/pull/215      "fse.copy throws error when only src and dest provided [bug, documentation, feature-copy]"
+[#214]: https://github.com/jprichardson/node-fs-extra/pull/214      "Fixing copySync anchor tag"
+[#213]: https://github.com/jprichardson/node-fs-extra/issues/213    "Merge extfs with this repo"
+[#212]: https://github.com/jprichardson/node-fs-extra/pull/212      "Update year to 2016 in README.md and LICENSE"
+[#211]: https://github.com/jprichardson/node-fs-extra/issues/211    "Not copying all files"
+[#210]: https://github.com/jprichardson/node-fs-extra/issues/210    "copy/copySync behave differently when copying a symbolic file [bug, documentation, feature-copy]"
+[#209]: https://github.com/jprichardson/node-fs-extra/issues/209    "In Windows invalid directory name causes infinite loop in ensureDir(). [bug]"
+[#208]: https://github.com/jprichardson/node-fs-extra/pull/208      "fix options.preserveTimestamps to false in copy-sync by default [feature-copy]"
+[#207]: https://github.com/jprichardson/node-fs-extra/issues/207    "Add `compare` suite of functions"
+[#206]: https://github.com/jprichardson/node-fs-extra/issues/206    "outputFileSync"
+[#205]: https://github.com/jprichardson/node-fs-extra/issues/205    "fix documents about copy/copySync [documentation, feature-copy]"
+[#204]: https://github.com/jprichardson/node-fs-extra/pull/204      "allow copy of block and character device files"
+[#203]: https://github.com/jprichardson/node-fs-extra/issues/203    "copy method's argument options couldn't be undefined [bug, feature-copy]"
+[#202]: https://github.com/jprichardson/node-fs-extra/issues/202    "why there is not a walkSync method?"
+[#201]: https://github.com/jprichardson/node-fs-extra/issues/201    "clobber for directories [feature-copy, future]"
+[#200]: https://github.com/jprichardson/node-fs-extra/issues/200    "'copySync' doesn't work in sync"
+[#199]: https://github.com/jprichardson/node-fs-extra/issues/199    "fs.copySync fails if user does not own file [bug, feature-copy]"
+[#198]: https://github.com/jprichardson/node-fs-extra/issues/198    "handle copying between identical files [feature-copy]"
+[#197]: https://github.com/jprichardson/node-fs-extra/issues/197    "Missing documentation for `outputFile` `options` 3rd parameter [documentation]"
+[#196]: https://github.com/jprichardson/node-fs-extra/issues/196    "copy filter: async function and/or function called with `fs.stat` result [future]"
+[#195]: https://github.com/jprichardson/node-fs-extra/issues/195    "How to override with outputFile?"
+[#194]: https://github.com/jprichardson/node-fs-extra/pull/194      "allow ensureFile(Sync) to provide data to be written to created file"
+[#193]: https://github.com/jprichardson/node-fs-extra/issues/193    "`fs.copy` fails silently if source file is /dev/null [bug, feature-copy]"
+[#192]: https://github.com/jprichardson/node-fs-extra/issues/192    "Remove fs.createOutputStream()"
+[#191]: https://github.com/jprichardson/node-fs-extra/issues/191    "How to copy symlinks to target as normal folders [feature-copy]"
+[#190]: https://github.com/jprichardson/node-fs-extra/pull/190      "copySync to overwrite destination file if readonly and clobber true"
+[#189]: https://github.com/jprichardson/node-fs-extra/pull/189      "move.test fix to support CRLF on Windows"
+[#188]: https://github.com/jprichardson/node-fs-extra/issues/188    "move.test failing on windows platform"
+[#187]: https://github.com/jprichardson/node-fs-extra/issues/187    "Not filter each file, stops on first false [feature-copy]"
+[#186]: https://github.com/jprichardson/node-fs-extra/issues/186    "Do you need a .size() function in this module? [future]"
+[#185]: https://github.com/jprichardson/node-fs-extra/issues/185    "Doesn't work on NodeJS v4.x"
+[#184]: https://github.com/jprichardson/node-fs-extra/issues/184    "CLI equivalent for fs-extra"
+[#183]: https://github.com/jprichardson/node-fs-extra/issues/183    "with clobber true, copy and copySync behave differently if destination file is read only [bug, feature-copy]"
+[#182]: https://github.com/jprichardson/node-fs-extra/issues/182    "ensureDir(dir, callback) second callback parameter not specified"
+[#181]: https://github.com/jprichardson/node-fs-extra/issues/181    "Add ability to remove file securely [enhancement, wont-fix]"
+[#180]: https://github.com/jprichardson/node-fs-extra/issues/180    "Filter option doesn't work the same way in copy and copySync [bug, feature-copy]"
+[#179]: https://github.com/jprichardson/node-fs-extra/issues/179    "Include opendir"
+[#178]: https://github.com/jprichardson/node-fs-extra/issues/178    "ENOTEMPTY is thrown on removeSync "
+[#177]: https://github.com/jprichardson/node-fs-extra/issues/177    "fix `remove()` wildcards (introduced by rimraf) [feature-remove]"
+[#176]: https://github.com/jprichardson/node-fs-extra/issues/176    "createOutputStream doesn't emit 'end' event"
+[#175]: https://github.com/jprichardson/node-fs-extra/issues/175    "[Feature Request].moveSync support [feature-move, future]"
+[#174]: https://github.com/jprichardson/node-fs-extra/pull/174      "Fix copy formatting and document options.filter"
+[#173]: https://github.com/jprichardson/node-fs-extra/issues/173    "Feature Request: writeJson should mkdirs"
+[#172]: https://github.com/jprichardson/node-fs-extra/issues/172    "rename `clobber` flags to `overwrite`"
+[#171]: https://github.com/jprichardson/node-fs-extra/issues/171    "remove unnecessary aliases"
+[#170]: https://github.com/jprichardson/node-fs-extra/pull/170      "More robust handling of errors moving across virtual drives"
+[#169]: https://github.com/jprichardson/node-fs-extra/pull/169      "suppress ensureLink & ensureSymlink dest exists error"
+[#168]: https://github.com/jprichardson/node-fs-extra/pull/168      "suppress ensurelink dest exists error"
+[#167]: https://github.com/jprichardson/node-fs-extra/pull/167      "Adds basic (string, buffer) support for ensureFile content [future]"
+[#166]: https://github.com/jprichardson/node-fs-extra/pull/166      "Adds basic (string, buffer) support for ensureFile content"
+[#165]: https://github.com/jprichardson/node-fs-extra/pull/165      "ensure for link & symlink"
+[#164]: https://github.com/jprichardson/node-fs-extra/issues/164    "Feature Request: ensureFile to take optional argument for file content"
+[#163]: https://github.com/jprichardson/node-fs-extra/issues/163    "ouputJson not formatted out of the box [bug]"
+[#162]: https://github.com/jprichardson/node-fs-extra/pull/162      "ensure symlink & link"
+[#161]: https://github.com/jprichardson/node-fs-extra/pull/161      "ensure symlink & link"
+[#160]: https://github.com/jprichardson/node-fs-extra/pull/160      "ensure symlink & link"
+[#159]: https://github.com/jprichardson/node-fs-extra/pull/159      "ensure symlink & link"
+[#158]: https://github.com/jprichardson/node-fs-extra/issues/158    "Feature Request: ensureLink and ensureSymlink methods"
+[#157]: https://github.com/jprichardson/node-fs-extra/issues/157    "writeJson isn't formatted"
+[#156]: https://github.com/jprichardson/node-fs-extra/issues/156    "Promise.promisifyAll doesn't work for some methods"
+[#155]: https://github.com/jprichardson/node-fs-extra/issues/155    "Readme"
+[#154]: https://github.com/jprichardson/node-fs-extra/issues/154    "/tmp/millis-test-sync"
+[#153]: https://github.com/jprichardson/node-fs-extra/pull/153      "Make preserveTimes also work on read-only files. Closes #152"
+[#152]: https://github.com/jprichardson/node-fs-extra/issues/152    "fs.copy fails for read-only files with preserveTimestamp=true [feature-copy]"
+[#151]: https://github.com/jprichardson/node-fs-extra/issues/151    "TOC does not work correctly on npm [documentation]"
+[#150]: https://github.com/jprichardson/node-fs-extra/issues/150    "Remove test file fixtures, create with code."
+[#149]: https://github.com/jprichardson/node-fs-extra/issues/149    "/tmp/millis-test-sync"
+[#148]: https://github.com/jprichardson/node-fs-extra/issues/148    "split out `Sync` methods in documentation"
+[#147]: https://github.com/jprichardson/node-fs-extra/issues/147    "Adding rmdirIfEmpty"
+[#146]: https://github.com/jprichardson/node-fs-extra/pull/146      "ensure test.js works"
+[#145]: https://github.com/jprichardson/node-fs-extra/issues/145    "Add `fs.exists` and `fs.existsSync` if it doesn't exist."
+[#144]: https://github.com/jprichardson/node-fs-extra/issues/144    "tests failing"
+[#143]: https://github.com/jprichardson/node-fs-extra/issues/143    "update graceful-fs"
+[#142]: https://github.com/jprichardson/node-fs-extra/issues/142    "PrependFile Feature"
+[#141]: https://github.com/jprichardson/node-fs-extra/pull/141      "Add option to preserve timestamps"
+[#140]: https://github.com/jprichardson/node-fs-extra/issues/140    "Json file reading fails with 'utf8'"
+[#139]: https://github.com/jprichardson/node-fs-extra/pull/139      "Preserve file timestamp on copy. Closes #138"
+[#138]: https://github.com/jprichardson/node-fs-extra/issues/138    "Preserve timestamps on copying files"
+[#137]: https://github.com/jprichardson/node-fs-extra/issues/137    "outputFile/outputJson: Unexpected end of input"
+[#136]: https://github.com/jprichardson/node-fs-extra/pull/136      "Update license attribute"
+[#135]: https://github.com/jprichardson/node-fs-extra/issues/135    "emptyDir throws Error if no callback is provided"
+[#134]: https://github.com/jprichardson/node-fs-extra/pull/134      "Handle EEXIST error when clobbering dir"
+[#133]: https://github.com/jprichardson/node-fs-extra/pull/133      "Travis runs with `sudo: false`"
+[#132]: https://github.com/jprichardson/node-fs-extra/pull/132      "isDirectory method"
+[#131]: https://github.com/jprichardson/node-fs-extra/issues/131    "copySync is not working iojs 1.8.4 on linux [feature-copy]"
+[#130]: https://github.com/jprichardson/node-fs-extra/pull/130      "Please review additional features."
+[#129]: https://github.com/jprichardson/node-fs-extra/pull/129      "can you review this feature?"
+[#128]: https://github.com/jprichardson/node-fs-extra/issues/128    "fsExtra.move(filepath, newPath) broken;"
+[#127]: https://github.com/jprichardson/node-fs-extra/issues/127    "consider using fs.access to remove deprecated warnings for fs.exists"
+[#126]: https://github.com/jprichardson/node-fs-extra/issues/126    " TypeError: Object #<Object> has no method 'access'"
+[#125]: https://github.com/jprichardson/node-fs-extra/issues/125    "Question: What do the *Sync function do different from non-sync"
+[#124]: https://github.com/jprichardson/node-fs-extra/issues/124    "move with clobber option 'ENOTEMPTY'"
+[#123]: https://github.com/jprichardson/node-fs-extra/issues/123    "Only copy the content of a directory"
+[#122]: https://github.com/jprichardson/node-fs-extra/pull/122      "Update section links in README to match current section ids."
+[#121]: https://github.com/jprichardson/node-fs-extra/issues/121    "emptyDir is undefined"
+[#120]: https://github.com/jprichardson/node-fs-extra/issues/120    "usage bug caused by shallow cloning methods of 'graceful-fs'"
+[#119]: https://github.com/jprichardson/node-fs-extra/issues/119    "mkdirs and ensureDir never invoke callback and consume CPU indefinitely if provided a path with invalid characters on Windows"
+[#118]: https://github.com/jprichardson/node-fs-extra/pull/118      "createOutputStream"
+[#117]: https://github.com/jprichardson/node-fs-extra/pull/117      "Fixed issue with slash separated paths on windows"
+[#116]: https://github.com/jprichardson/node-fs-extra/issues/116    "copySync can only copy directories not files [documentation, feature-copy]"
+[#115]: https://github.com/jprichardson/node-fs-extra/issues/115    ".Copy & .CopySync [feature-copy]"
+[#114]: https://github.com/jprichardson/node-fs-extra/issues/114    "Fails to move (rename) directory to non-empty directory even with clobber: true"
+[#113]: https://github.com/jprichardson/node-fs-extra/issues/113    "fs.copy seems to callback early if the destination file already exists"
+[#112]: https://github.com/jprichardson/node-fs-extra/pull/112      "Copying a file into an existing directory"
+[#111]: https://github.com/jprichardson/node-fs-extra/pull/111      "Moving a file into an existing directory "
+[#110]: https://github.com/jprichardson/node-fs-extra/pull/110      "Moving a file into an existing directory"
+[#109]: https://github.com/jprichardson/node-fs-extra/issues/109    "fs.move across windows drives fails"
+[#108]: https://github.com/jprichardson/node-fs-extra/issues/108    "fse.move directories across multiple devices doesn't work"
+[#107]: https://github.com/jprichardson/node-fs-extra/pull/107      "Check if dest path is an existing dir and copy or move source in it"
+[#106]: https://github.com/jprichardson/node-fs-extra/issues/106    "fse.copySync crashes while copying across devices D: [feature-copy]"
+[#105]: https://github.com/jprichardson/node-fs-extra/issues/105    "fs.copy hangs on iojs"
+[#104]: https://github.com/jprichardson/node-fs-extra/issues/104    "fse.move deletes folders [bug]"
+[#103]: https://github.com/jprichardson/node-fs-extra/issues/103    "Error: EMFILE with copy"
+[#102]: https://github.com/jprichardson/node-fs-extra/issues/102    "touch / touchSync was removed ?"
+[#101]: https://github.com/jprichardson/node-fs-extra/issues/101    "fs-extra promisified"
+[#100]: https://github.com/jprichardson/node-fs-extra/pull/100      "copy: options object or filter to pass to ncp"
+[#99]: https://github.com/jprichardson/node-fs-extra/issues/99      "ensureDir() modes [future]"
+[#98]: https://github.com/jprichardson/node-fs-extra/issues/98      "fs.copy() incorrect async behavior [bug]"
+[#97]: https://github.com/jprichardson/node-fs-extra/pull/97        "use path.join; fix copySync bug"
+[#96]: https://github.com/jprichardson/node-fs-extra/issues/96      "destFolderExists in copySync is always undefined."
+[#95]: https://github.com/jprichardson/node-fs-extra/pull/95        "Using graceful-ncp instead of ncp"
+[#94]: https://github.com/jprichardson/node-fs-extra/issues/94      "Error: EEXIST, file already exists '../mkdirp/bin/cmd.js' on fs.copySync() [enhancement, feature-copy]"
+[#93]: https://github.com/jprichardson/node-fs-extra/issues/93      "Confusing error if drive not mounted [enhancement]"
+[#92]: https://github.com/jprichardson/node-fs-extra/issues/92      "Problems with Bluebird"
+[#91]: https://github.com/jprichardson/node-fs-extra/issues/91      "fs.copySync('/test', '/haha') is different with 'cp -r /test /haha' [enhancement]"
+[#90]: https://github.com/jprichardson/node-fs-extra/issues/90      "Folder creation and file copy is Happening in 64 bit machine but not in 32 bit machine"
+[#89]: https://github.com/jprichardson/node-fs-extra/issues/89      "Error: EEXIST using fs-extra's fs.copy to copy a directory on Windows"
+[#88]: https://github.com/jprichardson/node-fs-extra/issues/88      "Stacking those libraries"
+[#87]: https://github.com/jprichardson/node-fs-extra/issues/87      "createWriteStream + outputFile = ?"
+[#86]: https://github.com/jprichardson/node-fs-extra/issues/86      "no moveSync?"
+[#85]: https://github.com/jprichardson/node-fs-extra/pull/85        "Copy symlinks in copySync"
+[#84]: https://github.com/jprichardson/node-fs-extra/issues/84      "Push latest version to npm ?"
+[#83]: https://github.com/jprichardson/node-fs-extra/issues/83      "Prevent copying a directory into itself [feature-copy]"
+[#82]: https://github.com/jprichardson/node-fs-extra/pull/82        "README updates for move"
+[#81]: https://github.com/jprichardson/node-fs-extra/issues/81      "fd leak after fs.move"
+[#80]: https://github.com/jprichardson/node-fs-extra/pull/80        "Preserve file mode in copySync"
+[#79]: https://github.com/jprichardson/node-fs-extra/issues/79      "fs.copy only .html file empty"
+[#78]: https://github.com/jprichardson/node-fs-extra/pull/78        "copySync was not applying filters to directories"
+[#77]: https://github.com/jprichardson/node-fs-extra/issues/77      "Create README reference to bluebird"
+[#76]: https://github.com/jprichardson/node-fs-extra/issues/76      "Create README reference to typescript"
+[#75]: https://github.com/jprichardson/node-fs-extra/issues/75      "add glob as a dep? [question]"
+[#74]: https://github.com/jprichardson/node-fs-extra/pull/74        "including new emptydir module"
+[#73]: https://github.com/jprichardson/node-fs-extra/pull/73        "add dependency status in readme"
+[#72]: https://github.com/jprichardson/node-fs-extra/pull/72        "Use svg instead of png to get better image quality"
+[#71]: https://github.com/jprichardson/node-fs-extra/issues/71      "fse.copy not working on Windows 7 x64 OS, but, copySync does work"
+[#70]: https://github.com/jprichardson/node-fs-extra/issues/70      "Not filter each file, stops on first false [bug]"
+[#69]: https://github.com/jprichardson/node-fs-extra/issues/69      "How to check if folder exist and read the folder name"
+[#68]: https://github.com/jprichardson/node-fs-extra/issues/68      "consider flag to readJsonSync (throw false) [enhancement]"
+[#67]: https://github.com/jprichardson/node-fs-extra/issues/67      "docs for readJson incorrectly states that is accepts options"
+[#66]: https://github.com/jprichardson/node-fs-extra/issues/66      "ENAMETOOLONG"
+[#65]: https://github.com/jprichardson/node-fs-extra/issues/65      "exclude filter in fs.copy"
+[#64]: https://github.com/jprichardson/node-fs-extra/issues/64      "Announce: mfs - monitor your fs-extra calls"
+[#63]: https://github.com/jprichardson/node-fs-extra/issues/63      "Walk"
+[#62]: https://github.com/jprichardson/node-fs-extra/issues/62      "npm install fs-extra doesn't work"
+[#61]: https://github.com/jprichardson/node-fs-extra/issues/61      "No longer supports node 0.8 due to use of `^` in package.json dependencies"
+[#60]: https://github.com/jprichardson/node-fs-extra/issues/60      "chmod & chown for mkdirs"
+[#59]: https://github.com/jprichardson/node-fs-extra/issues/59      "Consider including mkdirp and making fs-extra '--use_strict' safe [question]"
+[#58]: https://github.com/jprichardson/node-fs-extra/issues/58      "Stack trace not included in fs.copy error"
+[#57]: https://github.com/jprichardson/node-fs-extra/issues/57      "Possible to include wildcards in delete?"
+[#56]: https://github.com/jprichardson/node-fs-extra/issues/56      "Crash when have no access to write to destination file in copy "
+[#55]: https://github.com/jprichardson/node-fs-extra/issues/55      "Is it possible to have any console output similar to Grunt copy module?"
+[#54]: https://github.com/jprichardson/node-fs-extra/issues/54      "`copy` does not preserve file ownership and permissons"
+[#53]: https://github.com/jprichardson/node-fs-extra/issues/53      "outputFile() - ability to write data in appending mode"
+[#52]: https://github.com/jprichardson/node-fs-extra/pull/52        "This fixes (what I think) is a bug in copySync"
+[#51]: https://github.com/jprichardson/node-fs-extra/pull/51        "Add a Bitdeli Badge to README"
+[#50]: https://github.com/jprichardson/node-fs-extra/issues/50      "Replace mechanism in createFile"
+[#49]: https://github.com/jprichardson/node-fs-extra/pull/49        "update rimraf to v2.2.6"
+[#48]: https://github.com/jprichardson/node-fs-extra/issues/48      "fs.copy issue [bug]"
+[#47]: https://github.com/jprichardson/node-fs-extra/issues/47      "Bug in copy - callback called on readStream 'close' - Fixed in ncp 0.5.0"
+[#46]: https://github.com/jprichardson/node-fs-extra/pull/46        "update copyright year"
+[#45]: https://github.com/jprichardson/node-fs-extra/pull/45        "Added note about fse.outputFile() being the one that overwrites"
+[#44]: https://github.com/jprichardson/node-fs-extra/pull/44        "Proposal: Stream support"
+[#43]: https://github.com/jprichardson/node-fs-extra/issues/43      "Better error reporting "
+[#42]: https://github.com/jprichardson/node-fs-extra/issues/42      "Performance issue?"
+[#41]: https://github.com/jprichardson/node-fs-extra/pull/41        "There does seem to be a synchronous version now"
+[#40]: https://github.com/jprichardson/node-fs-extra/issues/40      "fs.copy throw unexplained error ENOENT, utime "
+[#39]: https://github.com/jprichardson/node-fs-extra/pull/39        "Added regression test for copy() return callback on error"
+[#38]: https://github.com/jprichardson/node-fs-extra/pull/38        "Return err in copy() fstat cb, because stat could be undefined or null"
+[#37]: https://github.com/jprichardson/node-fs-extra/issues/37      "Maybe include a line reader? [enhancement, question]"
+[#36]: https://github.com/jprichardson/node-fs-extra/pull/36        "`filter` parameter `fs.copy` and `fs.copySync`"
+[#35]: https://github.com/jprichardson/node-fs-extra/pull/35        "`filter` parameter `fs.copy` and `fs.copySync` "
+[#34]: https://github.com/jprichardson/node-fs-extra/issues/34      "update docs to include options for JSON methods [enhancement]"
+[#33]: https://github.com/jprichardson/node-fs-extra/pull/33        "fs_extra.copySync"
+[#32]: https://github.com/jprichardson/node-fs-extra/issues/32      "update to latest jsonfile [enhancement]"
+[#31]: https://github.com/jprichardson/node-fs-extra/issues/31      "Add ensure methods [enhancement]"
+[#30]: https://github.com/jprichardson/node-fs-extra/issues/30      "update package.json optional dep `graceful-fs`"
+[#29]: https://github.com/jprichardson/node-fs-extra/issues/29      "Copy failing if dest directory doesn't exist. Is this intended?"
+[#28]: https://github.com/jprichardson/node-fs-extra/issues/28      "homepage field must be a string url. Deleted."
+[#27]: https://github.com/jprichardson/node-fs-extra/issues/27      "Update Readme"
+[#26]: https://github.com/jprichardson/node-fs-extra/issues/26      "Add readdir recursive method. [enhancement]"
+[#25]: https://github.com/jprichardson/node-fs-extra/pull/25        "adding an `.npmignore` file"
+[#24]: https://github.com/jprichardson/node-fs-extra/issues/24      "[bug] cannot run in strict mode [bug]"
+[#23]: https://github.com/jprichardson/node-fs-extra/issues/23      "`writeJSON()` should create parent directories"
+[#22]: https://github.com/jprichardson/node-fs-extra/pull/22        "Add a limit option to mkdirs()"
+[#21]: https://github.com/jprichardson/node-fs-extra/issues/21      "touch() in 0.10.0"
+[#20]: https://github.com/jprichardson/node-fs-extra/issues/20      "fs.remove yields callback before directory is really deleted"
+[#19]: https://github.com/jprichardson/node-fs-extra/issues/19      "fs.copy err is empty array"
+[#18]: https://github.com/jprichardson/node-fs-extra/pull/18        "Exposed copyFile Function"
+[#17]: https://github.com/jprichardson/node-fs-extra/issues/17      "Use `require('graceful-fs')` if found instead of `require('fs')`"
+[#16]: https://github.com/jprichardson/node-fs-extra/pull/16        "Update README.md"
+[#15]: https://github.com/jprichardson/node-fs-extra/issues/15      "Implement cp -r but sync aka copySync. [enhancement]"
+[#14]: https://github.com/jprichardson/node-fs-extra/issues/14      "fs.mkdirSync is broken in 0.3.1"
+[#13]: https://github.com/jprichardson/node-fs-extra/issues/13      "Thoughts on including a directory tree / file watcher? [enhancement, question]"
+[#12]: https://github.com/jprichardson/node-fs-extra/issues/12      "copyFile & copyFileSync are global"
+[#11]: https://github.com/jprichardson/node-fs-extra/issues/11      "Thoughts on including a file walker? [enhancement, question]"
+[#10]: https://github.com/jprichardson/node-fs-extra/issues/10      "move / moveFile API [enhancement]"
+[#9]: https://github.com/jprichardson/node-fs-extra/issues/9        "don't import normal fs stuff into fs-extra"
+[#8]: https://github.com/jprichardson/node-fs-extra/pull/8          "Update rimraf to latest version"
+[#6]: https://github.com/jprichardson/node-fs-extra/issues/6        "Remove CoffeeScript development dependency"
+[#5]: https://github.com/jprichardson/node-fs-extra/issues/5        "comments on naming"
+[#4]: https://github.com/jprichardson/node-fs-extra/issues/4        "version bump to 0.2"
+[#3]: https://github.com/jprichardson/node-fs-extra/pull/3          "Hi! I fixed some code for you!"
+[#2]: https://github.com/jprichardson/node-fs-extra/issues/2        "Merge with fs.extra and mkdirp"
+[#1]: https://github.com/jprichardson/node-fs-extra/issues/1        "file-extra npm !exist"
diff --git a/node_modules/get-uri/node_modules/fs-extra/LICENSE b/node_modules/get-uri/node_modules/fs-extra/LICENSE
new file mode 100644
index 0000000..93546df
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/LICENSE
@@ -0,0 +1,15 @@
+(The MIT License)
+
+Copyright (c) 2011-2017 JP Richardson
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
+(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify,
+ merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
+OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/get-uri/node_modules/fs-extra/README.md b/node_modules/get-uri/node_modules/fs-extra/README.md
new file mode 100644
index 0000000..070a5e7
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/README.md
@@ -0,0 +1,261 @@
+Node.js: fs-extra
+=================
+
+`fs-extra` adds file system methods that aren't included in the native `fs` module and adds promise support to the `fs` methods. It also uses [`graceful-fs`](https://github.com/isaacs/node-graceful-fs) to prevent `EMFILE` errors. It should be a drop in replacement for `fs`.
+
+[![npm Package](https://img.shields.io/npm/v/fs-extra.svg)](https://www.npmjs.org/package/fs-extra)
+[![License](https://img.shields.io/npm/l/express.svg)](https://github.com/jprichardson/node-fs-extra/blob/master/LICENSE)
+[![build status](https://img.shields.io/travis/jprichardson/node-fs-extra/master.svg)](http://travis-ci.org/jprichardson/node-fs-extra)
+[![windows Build status](https://img.shields.io/appveyor/ci/jprichardson/node-fs-extra/master.svg?label=windows%20build)](https://ci.appveyor.com/project/jprichardson/node-fs-extra/branch/master)
+[![downloads per month](http://img.shields.io/npm/dm/fs-extra.svg)](https://www.npmjs.org/package/fs-extra)
+[![Coverage Status](https://img.shields.io/coveralls/github/jprichardson/node-fs-extra/master.svg)](https://coveralls.io/github/jprichardson/node-fs-extra)
+[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
+
+Why?
+----
+
+I got tired of including `mkdirp`, `rimraf`, and `ncp` in most of my projects.
+
+
+
+
+Installation
+------------
+
+    npm install fs-extra
+
+
+
+Usage
+-----
+
+`fs-extra` is a drop in replacement for native `fs`. All methods in `fs` are attached to `fs-extra`. All `fs` methods return promises if the callback isn't passed.
+
+You don't ever need to include the original `fs` module again:
+
+```js
+const fs = require('fs') // this is no longer necessary
+```
+
+you can now do this:
+
+```js
+const fs = require('fs-extra')
+```
+
+or if you prefer to make it clear that you're using `fs-extra` and not `fs`, you may want
+to name your `fs` variable `fse` like so:
+
+```js
+const fse = require('fs-extra')
+```
+
+you can also keep both, but it's redundant:
+
+```js
+const fs = require('fs')
+const fse = require('fs-extra')
+```
+
+Sync vs Async vs Async/Await
+-------------
+Most methods are async by default. All async methods will return a promise if the callback isn't passed.
+
+Sync methods on the other hand will throw if an error occurs.
+
+Also Async/Await will throw an error if one occurs.
+
+Example:
+
+```js
+const fs = require('fs-extra')
+
+// Async with promises:
+fs.copy('/tmp/myfile', '/tmp/mynewfile')
+  .then(() => console.log('success!'))
+  .catch(err => console.error(err))
+
+// Async with callbacks:
+fs.copy('/tmp/myfile', '/tmp/mynewfile', err => {
+  if (err) return console.error(err)
+  console.log('success!')
+})
+
+// Sync:
+try {
+  fs.copySync('/tmp/myfile', '/tmp/mynewfile')
+  console.log('success!')
+} catch (err) {
+  console.error(err)
+}
+
+// Async/Await:
+async function copyFiles () {
+  try {
+    await fs.copy('/tmp/myfile', '/tmp/mynewfile')
+    console.log('success!')
+  } catch (err) {
+    console.error(err)
+  }
+}
+
+copyFiles()
+```
+
+
+Methods
+-------
+
+### Async
+
+- [copy](docs/copy.md)
+- [emptyDir](docs/emptyDir.md)
+- [ensureFile](docs/ensureFile.md)
+- [ensureDir](docs/ensureDir.md)
+- [ensureLink](docs/ensureLink.md)
+- [ensureSymlink](docs/ensureSymlink.md)
+- [mkdirp](docs/ensureDir.md)
+- [mkdirs](docs/ensureDir.md)
+- [move](docs/move.md)
+- [outputFile](docs/outputFile.md)
+- [outputJson](docs/outputJson.md)
+- [pathExists](docs/pathExists.md)
+- [readJson](docs/readJson.md)
+- [remove](docs/remove.md)
+- [writeJson](docs/writeJson.md)
+
+### Sync
+
+- [copySync](docs/copy-sync.md)
+- [emptyDirSync](docs/emptyDir-sync.md)
+- [ensureFileSync](docs/ensureFile-sync.md)
+- [ensureDirSync](docs/ensureDir-sync.md)
+- [ensureLinkSync](docs/ensureLink-sync.md)
+- [ensureSymlinkSync](docs/ensureSymlink-sync.md)
+- [mkdirpSync](docs/ensureDir-sync.md)
+- [mkdirsSync](docs/ensureDir-sync.md)
+- [moveSync](docs/move-sync.md)
+- [outputFileSync](docs/outputFile-sync.md)
+- [outputJsonSync](docs/outputJson-sync.md)
+- [pathExistsSync](docs/pathExists-sync.md)
+- [readJsonSync](docs/readJson-sync.md)
+- [removeSync](docs/remove-sync.md)
+- [writeJsonSync](docs/writeJson-sync.md)
+
+
+**NOTE:** You can still use the native Node.js methods. They are promisified and copied over to `fs-extra`. See [notes on `fs.read()` & `fs.write()`](docs/fs-read-write.md)
+
+### What happened to `walk()` and `walkSync()`?
+
+They were removed from `fs-extra` in v2.0.0. If you need the functionality, `walk` and `walkSync` are available as separate packages, [`klaw`](https://github.com/jprichardson/node-klaw) and [`klaw-sync`](https://github.com/manidlou/node-klaw-sync).
+
+
+Third Party
+-----------
+
+
+### TypeScript
+
+If you like TypeScript, you can use `fs-extra` with it: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/fs-extra
+
+
+### File / Directory Watching
+
+If you want to watch for changes to files or directories, then you should use [chokidar](https://github.com/paulmillr/chokidar).
+
+### Obtain Filesystem (Devices, Partitions) Information
+
+[fs-filesystem](https://github.com/arthurintelligence/node-fs-filesystem) allows you to read the state of the filesystem of the host on which it is run. It returns information about both the devices and the partitions (volumes) of the system.
+
+### Misc.
+
+- [fs-extra-debug](https://github.com/jdxcode/fs-extra-debug) - Send your fs-extra calls to [debug](https://npmjs.org/package/debug).
+- [mfs](https://github.com/cadorn/mfs) - Monitor your fs-extra calls.
+
+
+
+Hacking on fs-extra
+-------------------
+
+Wanna hack on `fs-extra`? Great! Your help is needed! [fs-extra is one of the most depended upon Node.js packages](http://nodei.co/npm/fs-extra.png?downloads=true&downloadRank=true&stars=true). This project
+uses [JavaScript Standard Style](https://github.com/feross/standard) - if the name or style choices bother you,
+you're gonna have to get over it :) If `standard` is good enough for `npm`, it's good enough for `fs-extra`.
+
+[![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
+
+What's needed?
+- First, take a look at existing issues. Those are probably going to be where the priority lies.
+- More tests for edge cases. Specifically on different platforms. There can never be enough tests.
+- Improve test coverage. See coveralls output for more info.
+
+Note: If you make any big changes, **you should definitely file an issue for discussion first.**
+
+### Running the Test Suite
+
+fs-extra contains hundreds of tests.
+
+- `npm run lint`: runs the linter ([standard](http://standardjs.com/))
+- `npm run unit`: runs the unit tests
+- `npm test`: runs both the linter and the tests
+
+
+### Windows
+
+If you run the tests on the Windows and receive a lot of symbolic link `EPERM` permission errors, it's
+because on Windows you need elevated privilege to create symbolic links. You can add this to your Windows's
+account by following the instructions here: http://superuser.com/questions/104845/permission-to-make-symbolic-links-in-windows-7
+However, I didn't have much luck doing this.
+
+Since I develop on Mac OS X, I use VMWare Fusion for Windows testing. I create a shared folder that I map to a drive on Windows.
+I open the `Node.js command prompt` and run as `Administrator`. I then map the network drive running the following command:
+
+    net use z: "\\vmware-host\Shared Folders"
+
+I can then navigate to my `fs-extra` directory and run the tests.
+
+
+Naming
+------
+
+I put a lot of thought into the naming of these functions. Inspired by @coolaj86's request. So he deserves much of the credit for raising the issue. See discussion(s) here:
+
+* https://github.com/jprichardson/node-fs-extra/issues/2
+* https://github.com/flatiron/utile/issues/11
+* https://github.com/ryanmcgrath/wrench-js/issues/29
+* https://github.com/substack/node-mkdirp/issues/17
+
+First, I believe that in as many cases as possible, the [Node.js naming schemes](http://nodejs.org/api/fs.html) should be chosen. However, there are problems with the Node.js own naming schemes.
+
+For example, `fs.readFile()` and `fs.readdir()`: the **F** is capitalized in *File* and the **d** is not capitalized in *dir*. Perhaps a bit pedantic, but they should still be consistent. Also, Node.js has chosen a lot of POSIX naming schemes, which I believe is great. See: `fs.mkdir()`, `fs.rmdir()`, `fs.chown()`, etc.
+
+We have a dilemma though. How do you consistently name methods that perform the following POSIX commands: `cp`, `cp -r`, `mkdir -p`, and `rm -rf`?
+
+My perspective: when in doubt, err on the side of simplicity. A directory is just a hierarchical grouping of directories and files. Consider that for a moment. So when you want to copy it or remove it, in most cases you'll want to copy or remove all of its contents. When you want to create a directory, if the directory that it's suppose to be contained in does not exist, then in most cases you'll want to create that too.
+
+So, if you want to remove a file or a directory regardless of whether it has contents, just call `fs.remove(path)`. If you want to copy a file or a directory whether it has contents, just call `fs.copy(source, destination)`. If you want to create a directory regardless of whether its parent directories exist, just call `fs.mkdirs(path)` or `fs.mkdirp(path)`.
+
+
+Credit
+------
+
+`fs-extra` wouldn't be possible without using the modules from the following authors:
+
+- [Isaac Shlueter](https://github.com/isaacs)
+- [Charlie McConnel](https://github.com/avianflu)
+- [James Halliday](https://github.com/substack)
+- [Andrew Kelley](https://github.com/andrewrk)
+
+
+
+
+License
+-------
+
+Licensed under MIT
+
+Copyright (c) 2011-2017 [JP Richardson](https://github.com/jprichardson)
+
+[1]: http://nodejs.org/docs/latest/api/fs.html
+
+
+[jsonfile]: https://github.com/jprichardson/node-jsonfile
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/copy-sync/copy-sync.js b/node_modules/get-uri/node_modules/fs-extra/lib/copy-sync/copy-sync.js
new file mode 100644
index 0000000..f2831b3
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/copy-sync/copy-sync.js
@@ -0,0 +1,164 @@
+'use strict'
+
+const fs = require('graceful-fs')
+const path = require('path')
+const mkdirpSync = require('../mkdirs').mkdirsSync
+const utimesSync = require('../util/utimes.js').utimesMillisSync
+const stat = require('../util/stat')
+
+function copySync (src, dest, opts) {
+  if (typeof opts === 'function') {
+    opts = { filter: opts }
+  }
+
+  opts = opts || {}
+  opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now
+  opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber
+
+  // Warn about using preserveTimestamps on 32-bit node
+  if (opts.preserveTimestamps && process.arch === 'ia32') {
+    console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\n
+    see https://github.com/jprichardson/node-fs-extra/issues/269`)
+  }
+
+  const { srcStat, destStat } = stat.checkPathsSync(src, dest, 'copy')
+  stat.checkParentPathsSync(src, srcStat, dest, 'copy')
+  return handleFilterAndCopy(destStat, src, dest, opts)
+}
+
+function handleFilterAndCopy (destStat, src, dest, opts) {
+  if (opts.filter && !opts.filter(src, dest)) return
+  const destParent = path.dirname(dest)
+  if (!fs.existsSync(destParent)) mkdirpSync(destParent)
+  return startCopy(destStat, src, dest, opts)
+}
+
+function startCopy (destStat, src, dest, opts) {
+  if (opts.filter && !opts.filter(src, dest)) return
+  return getStats(destStat, src, dest, opts)
+}
+
+function getStats (destStat, src, dest, opts) {
+  const statSync = opts.dereference ? fs.statSync : fs.lstatSync
+  const srcStat = statSync(src)
+
+  if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts)
+  else if (srcStat.isFile() ||
+           srcStat.isCharacterDevice() ||
+           srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts)
+  else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts)
+}
+
+function onFile (srcStat, destStat, src, dest, opts) {
+  if (!destStat) return copyFile(srcStat, src, dest, opts)
+  return mayCopyFile(srcStat, src, dest, opts)
+}
+
+function mayCopyFile (srcStat, src, dest, opts) {
+  if (opts.overwrite) {
+    fs.unlinkSync(dest)
+    return copyFile(srcStat, src, dest, opts)
+  } else if (opts.errorOnExist) {
+    throw new Error(`'${dest}' already exists`)
+  }
+}
+
+function copyFile (srcStat, src, dest, opts) {
+  if (typeof fs.copyFileSync === 'function') {
+    fs.copyFileSync(src, dest)
+    fs.chmodSync(dest, srcStat.mode)
+    if (opts.preserveTimestamps) {
+      return utimesSync(dest, srcStat.atime, srcStat.mtime)
+    }
+    return
+  }
+  return copyFileFallback(srcStat, src, dest, opts)
+}
+
+function copyFileFallback (srcStat, src, dest, opts) {
+  const BUF_LENGTH = 64 * 1024
+  const _buff = require('../util/buffer')(BUF_LENGTH)
+
+  const fdr = fs.openSync(src, 'r')
+  const fdw = fs.openSync(dest, 'w', srcStat.mode)
+  let pos = 0
+
+  while (pos < srcStat.size) {
+    const bytesRead = fs.readSync(fdr, _buff, 0, BUF_LENGTH, pos)
+    fs.writeSync(fdw, _buff, 0, bytesRead)
+    pos += bytesRead
+  }
+
+  if (opts.preserveTimestamps) fs.futimesSync(fdw, srcStat.atime, srcStat.mtime)
+
+  fs.closeSync(fdr)
+  fs.closeSync(fdw)
+}
+
+function onDir (srcStat, destStat, src, dest, opts) {
+  if (!destStat) return mkDirAndCopy(srcStat, src, dest, opts)
+  if (destStat && !destStat.isDirectory()) {
+    throw new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`)
+  }
+  return copyDir(src, dest, opts)
+}
+
+function mkDirAndCopy (srcStat, src, dest, opts) {
+  fs.mkdirSync(dest)
+  copyDir(src, dest, opts)
+  return fs.chmodSync(dest, srcStat.mode)
+}
+
+function copyDir (src, dest, opts) {
+  fs.readdirSync(src).forEach(item => copyDirItem(item, src, dest, opts))
+}
+
+function copyDirItem (item, src, dest, opts) {
+  const srcItem = path.join(src, item)
+  const destItem = path.join(dest, item)
+  const { destStat } = stat.checkPathsSync(srcItem, destItem, 'copy')
+  return startCopy(destStat, srcItem, destItem, opts)
+}
+
+function onLink (destStat, src, dest, opts) {
+  let resolvedSrc = fs.readlinkSync(src)
+  if (opts.dereference) {
+    resolvedSrc = path.resolve(process.cwd(), resolvedSrc)
+  }
+
+  if (!destStat) {
+    return fs.symlinkSync(resolvedSrc, dest)
+  } else {
+    let resolvedDest
+    try {
+      resolvedDest = fs.readlinkSync(dest)
+    } catch (err) {
+      // dest exists and is a regular file or directory,
+      // Windows may throw UNKNOWN error. If dest already exists,
+      // fs throws error anyway, so no need to guard against it here.
+      if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlinkSync(resolvedSrc, dest)
+      throw err
+    }
+    if (opts.dereference) {
+      resolvedDest = path.resolve(process.cwd(), resolvedDest)
+    }
+    if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {
+      throw new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`)
+    }
+
+    // prevent copy if src is a subdir of dest since unlinking
+    // dest in this case would result in removing src contents
+    // and therefore a broken symlink would be created.
+    if (fs.statSync(dest).isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {
+      throw new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`)
+    }
+    return copyLink(resolvedSrc, dest)
+  }
+}
+
+function copyLink (resolvedSrc, dest) {
+  fs.unlinkSync(dest)
+  return fs.symlinkSync(resolvedSrc, dest)
+}
+
+module.exports = copySync
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/copy-sync/index.js b/node_modules/get-uri/node_modules/fs-extra/lib/copy-sync/index.js
new file mode 100644
index 0000000..65945ae
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/copy-sync/index.js
@@ -0,0 +1,5 @@
+'use strict'
+
+module.exports = {
+  copySync: require('./copy-sync')
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/copy/copy.js b/node_modules/get-uri/node_modules/fs-extra/lib/copy/copy.js
new file mode 100644
index 0000000..411fc64
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/copy/copy.js
@@ -0,0 +1,212 @@
+'use strict'
+
+const fs = require('graceful-fs')
+const path = require('path')
+const mkdirp = require('../mkdirs').mkdirs
+const pathExists = require('../path-exists').pathExists
+const utimes = require('../util/utimes').utimesMillis
+const stat = require('../util/stat')
+
+function copy (src, dest, opts, cb) {
+  if (typeof opts === 'function' && !cb) {
+    cb = opts
+    opts = {}
+  } else if (typeof opts === 'function') {
+    opts = { filter: opts }
+  }
+
+  cb = cb || function () {}
+  opts = opts || {}
+
+  opts.clobber = 'clobber' in opts ? !!opts.clobber : true // default to true for now
+  opts.overwrite = 'overwrite' in opts ? !!opts.overwrite : opts.clobber // overwrite falls back to clobber
+
+  // Warn about using preserveTimestamps on 32-bit node
+  if (opts.preserveTimestamps && process.arch === 'ia32') {
+    console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;\n
+    see https://github.com/jprichardson/node-fs-extra/issues/269`)
+  }
+
+  stat.checkPaths(src, dest, 'copy', (err, stats) => {
+    if (err) return cb(err)
+    const { srcStat, destStat } = stats
+    stat.checkParentPaths(src, srcStat, dest, 'copy', err => {
+      if (err) return cb(err)
+      if (opts.filter) return handleFilter(checkParentDir, destStat, src, dest, opts, cb)
+      return checkParentDir(destStat, src, dest, opts, cb)
+    })
+  })
+}
+
+function checkParentDir (destStat, src, dest, opts, cb) {
+  const destParent = path.dirname(dest)
+  pathExists(destParent, (err, dirExists) => {
+    if (err) return cb(err)
+    if (dirExists) return startCopy(destStat, src, dest, opts, cb)
+    mkdirp(destParent, err => {
+      if (err) return cb(err)
+      return startCopy(destStat, src, dest, opts, cb)
+    })
+  })
+}
+
+function handleFilter (onInclude, destStat, src, dest, opts, cb) {
+  Promise.resolve(opts.filter(src, dest)).then(include => {
+    if (include) return onInclude(destStat, src, dest, opts, cb)
+    return cb()
+  }, error => cb(error))
+}
+
+function startCopy (destStat, src, dest, opts, cb) {
+  if (opts.filter) return handleFilter(getStats, destStat, src, dest, opts, cb)
+  return getStats(destStat, src, dest, opts, cb)
+}
+
+function getStats (destStat, src, dest, opts, cb) {
+  const stat = opts.dereference ? fs.stat : fs.lstat
+  stat(src, (err, srcStat) => {
+    if (err) return cb(err)
+
+    if (srcStat.isDirectory()) return onDir(srcStat, destStat, src, dest, opts, cb)
+    else if (srcStat.isFile() ||
+             srcStat.isCharacterDevice() ||
+             srcStat.isBlockDevice()) return onFile(srcStat, destStat, src, dest, opts, cb)
+    else if (srcStat.isSymbolicLink()) return onLink(destStat, src, dest, opts, cb)
+  })
+}
+
+function onFile (srcStat, destStat, src, dest, opts, cb) {
+  if (!destStat) return copyFile(srcStat, src, dest, opts, cb)
+  return mayCopyFile(srcStat, src, dest, opts, cb)
+}
+
+function mayCopyFile (srcStat, src, dest, opts, cb) {
+  if (opts.overwrite) {
+    fs.unlink(dest, err => {
+      if (err) return cb(err)
+      return copyFile(srcStat, src, dest, opts, cb)
+    })
+  } else if (opts.errorOnExist) {
+    return cb(new Error(`'${dest}' already exists`))
+  } else return cb()
+}
+
+function copyFile (srcStat, src, dest, opts, cb) {
+  if (typeof fs.copyFile === 'function') {
+    return fs.copyFile(src, dest, err => {
+      if (err) return cb(err)
+      return setDestModeAndTimestamps(srcStat, dest, opts, cb)
+    })
+  }
+  return copyFileFallback(srcStat, src, dest, opts, cb)
+}
+
+function copyFileFallback (srcStat, src, dest, opts, cb) {
+  const rs = fs.createReadStream(src)
+  rs.on('error', err => cb(err)).once('open', () => {
+    const ws = fs.createWriteStream(dest, { mode: srcStat.mode })
+    ws.on('error', err => cb(err))
+      .on('open', () => rs.pipe(ws))
+      .once('close', () => setDestModeAndTimestamps(srcStat, dest, opts, cb))
+  })
+}
+
+function setDestModeAndTimestamps (srcStat, dest, opts, cb) {
+  fs.chmod(dest, srcStat.mode, err => {
+    if (err) return cb(err)
+    if (opts.preserveTimestamps) {
+      return utimes(dest, srcStat.atime, srcStat.mtime, cb)
+    }
+    return cb()
+  })
+}
+
+function onDir (srcStat, destStat, src, dest, opts, cb) {
+  if (!destStat) return mkDirAndCopy(srcStat, src, dest, opts, cb)
+  if (destStat && !destStat.isDirectory()) {
+    return cb(new Error(`Cannot overwrite non-directory '${dest}' with directory '${src}'.`))
+  }
+  return copyDir(src, dest, opts, cb)
+}
+
+function mkDirAndCopy (srcStat, src, dest, opts, cb) {
+  fs.mkdir(dest, err => {
+    if (err) return cb(err)
+    copyDir(src, dest, opts, err => {
+      if (err) return cb(err)
+      return fs.chmod(dest, srcStat.mode, cb)
+    })
+  })
+}
+
+function copyDir (src, dest, opts, cb) {
+  fs.readdir(src, (err, items) => {
+    if (err) return cb(err)
+    return copyDirItems(items, src, dest, opts, cb)
+  })
+}
+
+function copyDirItems (items, src, dest, opts, cb) {
+  const item = items.pop()
+  if (!item) return cb()
+  return copyDirItem(items, item, src, dest, opts, cb)
+}
+
+function copyDirItem (items, item, src, dest, opts, cb) {
+  const srcItem = path.join(src, item)
+  const destItem = path.join(dest, item)
+  stat.checkPaths(srcItem, destItem, 'copy', (err, stats) => {
+    if (err) return cb(err)
+    const { destStat } = stats
+    startCopy(destStat, srcItem, destItem, opts, err => {
+      if (err) return cb(err)
+      return copyDirItems(items, src, dest, opts, cb)
+    })
+  })
+}
+
+function onLink (destStat, src, dest, opts, cb) {
+  fs.readlink(src, (err, resolvedSrc) => {
+    if (err) return cb(err)
+    if (opts.dereference) {
+      resolvedSrc = path.resolve(process.cwd(), resolvedSrc)
+    }
+
+    if (!destStat) {
+      return fs.symlink(resolvedSrc, dest, cb)
+    } else {
+      fs.readlink(dest, (err, resolvedDest) => {
+        if (err) {
+          // dest exists and is a regular file or directory,
+          // Windows may throw UNKNOWN error. If dest already exists,
+          // fs throws error anyway, so no need to guard against it here.
+          if (err.code === 'EINVAL' || err.code === 'UNKNOWN') return fs.symlink(resolvedSrc, dest, cb)
+          return cb(err)
+        }
+        if (opts.dereference) {
+          resolvedDest = path.resolve(process.cwd(), resolvedDest)
+        }
+        if (stat.isSrcSubdir(resolvedSrc, resolvedDest)) {
+          return cb(new Error(`Cannot copy '${resolvedSrc}' to a subdirectory of itself, '${resolvedDest}'.`))
+        }
+
+        // do not copy if src is a subdir of dest since unlinking
+        // dest in this case would result in removing src contents
+        // and therefore a broken symlink would be created.
+        if (destStat.isDirectory() && stat.isSrcSubdir(resolvedDest, resolvedSrc)) {
+          return cb(new Error(`Cannot overwrite '${resolvedDest}' with '${resolvedSrc}'.`))
+        }
+        return copyLink(resolvedSrc, dest, cb)
+      })
+    }
+  })
+}
+
+function copyLink (resolvedSrc, dest, cb) {
+  fs.unlink(dest, err => {
+    if (err) return cb(err)
+    return fs.symlink(resolvedSrc, dest, cb)
+  })
+}
+
+module.exports = copy
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/copy/index.js b/node_modules/get-uri/node_modules/fs-extra/lib/copy/index.js
new file mode 100644
index 0000000..b7e4f7f
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/copy/index.js
@@ -0,0 +1,6 @@
+'use strict'
+
+const u = require('universalify').fromCallback
+module.exports = {
+  copy: u(require('./copy'))
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/empty/index.js b/node_modules/get-uri/node_modules/fs-extra/lib/empty/index.js
new file mode 100644
index 0000000..204d53b
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/empty/index.js
@@ -0,0 +1,48 @@
+'use strict'
+
+const u = require('universalify').fromCallback
+const fs = require('graceful-fs')
+const path = require('path')
+const mkdir = require('../mkdirs')
+const remove = require('../remove')
+
+const emptyDir = u(function emptyDir (dir, callback) {
+  callback = callback || function () {}
+  fs.readdir(dir, (err, items) => {
+    if (err) return mkdir.mkdirs(dir, callback)
+
+    items = items.map(item => path.join(dir, item))
+
+    deleteItem()
+
+    function deleteItem () {
+      const item = items.pop()
+      if (!item) return callback()
+      remove.remove(item, err => {
+        if (err) return callback(err)
+        deleteItem()
+      })
+    }
+  })
+})
+
+function emptyDirSync (dir) {
+  let items
+  try {
+    items = fs.readdirSync(dir)
+  } catch (err) {
+    return mkdir.mkdirsSync(dir)
+  }
+
+  items.forEach(item => {
+    item = path.join(dir, item)
+    remove.removeSync(item)
+  })
+}
+
+module.exports = {
+  emptyDirSync,
+  emptydirSync: emptyDirSync,
+  emptyDir,
+  emptydir: emptyDir
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/ensure/file.js b/node_modules/get-uri/node_modules/fs-extra/lib/ensure/file.js
new file mode 100644
index 0000000..67eed30
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/ensure/file.js
@@ -0,0 +1,49 @@
+'use strict'
+
+const u = require('universalify').fromCallback
+const path = require('path')
+const fs = require('graceful-fs')
+const mkdir = require('../mkdirs')
+const pathExists = require('../path-exists').pathExists
+
+function createFile (file, callback) {
+  function makeFile () {
+    fs.writeFile(file, '', err => {
+      if (err) return callback(err)
+      callback()
+    })
+  }
+
+  fs.stat(file, (err, stats) => { // eslint-disable-line handle-callback-err
+    if (!err && stats.isFile()) return callback()
+    const dir = path.dirname(file)
+    pathExists(dir, (err, dirExists) => {
+      if (err) return callback(err)
+      if (dirExists) return makeFile()
+      mkdir.mkdirs(dir, err => {
+        if (err) return callback(err)
+        makeFile()
+      })
+    })
+  })
+}
+
+function createFileSync (file) {
+  let stats
+  try {
+    stats = fs.statSync(file)
+  } catch (e) {}
+  if (stats && stats.isFile()) return
+
+  const dir = path.dirname(file)
+  if (!fs.existsSync(dir)) {
+    mkdir.mkdirsSync(dir)
+  }
+
+  fs.writeFileSync(file, '')
+}
+
+module.exports = {
+  createFile: u(createFile),
+  createFileSync
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/ensure/index.js b/node_modules/get-uri/node_modules/fs-extra/lib/ensure/index.js
new file mode 100644
index 0000000..c1f67b7
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/ensure/index.js
@@ -0,0 +1,23 @@
+'use strict'
+
+const file = require('./file')
+const link = require('./link')
+const symlink = require('./symlink')
+
+module.exports = {
+  // file
+  createFile: file.createFile,
+  createFileSync: file.createFileSync,
+  ensureFile: file.createFile,
+  ensureFileSync: file.createFileSync,
+  // link
+  createLink: link.createLink,
+  createLinkSync: link.createLinkSync,
+  ensureLink: link.createLink,
+  ensureLinkSync: link.createLinkSync,
+  // symlink
+  createSymlink: symlink.createSymlink,
+  createSymlinkSync: symlink.createSymlinkSync,
+  ensureSymlink: symlink.createSymlink,
+  ensureSymlinkSync: symlink.createSymlinkSync
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/ensure/link.js b/node_modules/get-uri/node_modules/fs-extra/lib/ensure/link.js
new file mode 100644
index 0000000..2cd4196
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/ensure/link.js
@@ -0,0 +1,61 @@
+'use strict'
+
+const u = require('universalify').fromCallback
+const path = require('path')
+const fs = require('graceful-fs')
+const mkdir = require('../mkdirs')
+const pathExists = require('../path-exists').pathExists
+
+function createLink (srcpath, dstpath, callback) {
+  function makeLink (srcpath, dstpath) {
+    fs.link(srcpath, dstpath, err => {
+      if (err) return callback(err)
+      callback(null)
+    })
+  }
+
+  pathExists(dstpath, (err, destinationExists) => {
+    if (err) return callback(err)
+    if (destinationExists) return callback(null)
+    fs.lstat(srcpath, (err) => {
+      if (err) {
+        err.message = err.message.replace('lstat', 'ensureLink')
+        return callback(err)
+      }
+
+      const dir = path.dirname(dstpath)
+      pathExists(dir, (err, dirExists) => {
+        if (err) return callback(err)
+        if (dirExists) return makeLink(srcpath, dstpath)
+        mkdir.mkdirs(dir, err => {
+          if (err) return callback(err)
+          makeLink(srcpath, dstpath)
+        })
+      })
+    })
+  })
+}
+
+function createLinkSync (srcpath, dstpath) {
+  const destinationExists = fs.existsSync(dstpath)
+  if (destinationExists) return undefined
+
+  try {
+    fs.lstatSync(srcpath)
+  } catch (err) {
+    err.message = err.message.replace('lstat', 'ensureLink')
+    throw err
+  }
+
+  const dir = path.dirname(dstpath)
+  const dirExists = fs.existsSync(dir)
+  if (dirExists) return fs.linkSync(srcpath, dstpath)
+  mkdir.mkdirsSync(dir)
+
+  return fs.linkSync(srcpath, dstpath)
+}
+
+module.exports = {
+  createLink: u(createLink),
+  createLinkSync
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/ensure/symlink-paths.js b/node_modules/get-uri/node_modules/fs-extra/lib/ensure/symlink-paths.js
new file mode 100644
index 0000000..24e7e1c
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/ensure/symlink-paths.js
@@ -0,0 +1,99 @@
+'use strict'
+
+const path = require('path')
+const fs = require('graceful-fs')
+const pathExists = require('../path-exists').pathExists
+
+/**
+ * Function that returns two types of paths, one relative to symlink, and one
+ * relative to the current working directory. Checks if path is absolute or
+ * relative. If the path is relative, this function checks if the path is
+ * relative to symlink or relative to current working directory. This is an
+ * initiative to find a smarter `srcpath` to supply when building symlinks.
+ * This allows you to determine which path to use out of one of three possible
+ * types of source paths. The first is an absolute path. This is detected by
+ * `path.isAbsolute()`. When an absolute path is provided, it is checked to
+ * see if it exists. If it does it's used, if not an error is returned
+ * (callback)/ thrown (sync). The other two options for `srcpath` are a
+ * relative url. By default Node's `fs.symlink` works by creating a symlink
+ * using `dstpath` and expects the `srcpath` to be relative to the newly
+ * created symlink. If you provide a `srcpath` that does not exist on the file
+ * system it results in a broken symlink. To minimize this, the function
+ * checks to see if the 'relative to symlink' source file exists, and if it
+ * does it will use it. If it does not, it checks if there's a file that
+ * exists that is relative to the current working directory, if does its used.
+ * This preserves the expectations of the original fs.symlink spec and adds
+ * the ability to pass in `relative to current working direcotry` paths.
+ */
+
+function symlinkPaths (srcpath, dstpath, callback) {
+  if (path.isAbsolute(srcpath)) {
+    return fs.lstat(srcpath, (err) => {
+      if (err) {
+        err.message = err.message.replace('lstat', 'ensureSymlink')
+        return callback(err)
+      }
+      return callback(null, {
+        'toCwd': srcpath,
+        'toDst': srcpath
+      })
+    })
+  } else {
+    const dstdir = path.dirname(dstpath)
+    const relativeToDst = path.join(dstdir, srcpath)
+    return pathExists(relativeToDst, (err, exists) => {
+      if (err) return callback(err)
+      if (exists) {
+        return callback(null, {
+          'toCwd': relativeToDst,
+          'toDst': srcpath
+        })
+      } else {
+        return fs.lstat(srcpath, (err) => {
+          if (err) {
+            err.message = err.message.replace('lstat', 'ensureSymlink')
+            return callback(err)
+          }
+          return callback(null, {
+            'toCwd': srcpath,
+            'toDst': path.relative(dstdir, srcpath)
+          })
+        })
+      }
+    })
+  }
+}
+
+function symlinkPathsSync (srcpath, dstpath) {
+  let exists
+  if (path.isAbsolute(srcpath)) {
+    exists = fs.existsSync(srcpath)
+    if (!exists) throw new Error('absolute srcpath does not exist')
+    return {
+      'toCwd': srcpath,
+      'toDst': srcpath
+    }
+  } else {
+    const dstdir = path.dirname(dstpath)
+    const relativeToDst = path.join(dstdir, srcpath)
+    exists = fs.existsSync(relativeToDst)
+    if (exists) {
+      return {
+        'toCwd': relativeToDst,
+        'toDst': srcpath
+      }
+    } else {
+      exists = fs.existsSync(srcpath)
+      if (!exists) throw new Error('relative srcpath does not exist')
+      return {
+        'toCwd': srcpath,
+        'toDst': path.relative(dstdir, srcpath)
+      }
+    }
+  }
+}
+
+module.exports = {
+  symlinkPaths,
+  symlinkPathsSync
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/ensure/symlink-type.js b/node_modules/get-uri/node_modules/fs-extra/lib/ensure/symlink-type.js
new file mode 100644
index 0000000..4f8787c
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/ensure/symlink-type.js
@@ -0,0 +1,31 @@
+'use strict'
+
+const fs = require('graceful-fs')
+
+function symlinkType (srcpath, type, callback) {
+  callback = (typeof type === 'function') ? type : callback
+  type = (typeof type === 'function') ? false : type
+  if (type) return callback(null, type)
+  fs.lstat(srcpath, (err, stats) => {
+    if (err) return callback(null, 'file')
+    type = (stats && stats.isDirectory()) ? 'dir' : 'file'
+    callback(null, type)
+  })
+}
+
+function symlinkTypeSync (srcpath, type) {
+  let stats
+
+  if (type) return type
+  try {
+    stats = fs.lstatSync(srcpath)
+  } catch (e) {
+    return 'file'
+  }
+  return (stats && stats.isDirectory()) ? 'dir' : 'file'
+}
+
+module.exports = {
+  symlinkType,
+  symlinkTypeSync
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/ensure/symlink.js b/node_modules/get-uri/node_modules/fs-extra/lib/ensure/symlink.js
new file mode 100644
index 0000000..fe68b79
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/ensure/symlink.js
@@ -0,0 +1,63 @@
+'use strict'
+
+const u = require('universalify').fromCallback
+const path = require('path')
+const fs = require('graceful-fs')
+const _mkdirs = require('../mkdirs')
+const mkdirs = _mkdirs.mkdirs
+const mkdirsSync = _mkdirs.mkdirsSync
+
+const _symlinkPaths = require('./symlink-paths')
+const symlinkPaths = _symlinkPaths.symlinkPaths
+const symlinkPathsSync = _symlinkPaths.symlinkPathsSync
+
+const _symlinkType = require('./symlink-type')
+const symlinkType = _symlinkType.symlinkType
+const symlinkTypeSync = _symlinkType.symlinkTypeSync
+
+const pathExists = require('../path-exists').pathExists
+
+function createSymlink (srcpath, dstpath, type, callback) {
+  callback = (typeof type === 'function') ? type : callback
+  type = (typeof type === 'function') ? false : type
+
+  pathExists(dstpath, (err, destinationExists) => {
+    if (err) return callback(err)
+    if (destinationExists) return callback(null)
+    symlinkPaths(srcpath, dstpath, (err, relative) => {
+      if (err) return callback(err)
+      srcpath = relative.toDst
+      symlinkType(relative.toCwd, type, (err, type) => {
+        if (err) return callback(err)
+        const dir = path.dirname(dstpath)
+        pathExists(dir, (err, dirExists) => {
+          if (err) return callback(err)
+          if (dirExists) return fs.symlink(srcpath, dstpath, type, callback)
+          mkdirs(dir, err => {
+            if (err) return callback(err)
+            fs.symlink(srcpath, dstpath, type, callback)
+          })
+        })
+      })
+    })
+  })
+}
+
+function createSymlinkSync (srcpath, dstpath, type) {
+  const destinationExists = fs.existsSync(dstpath)
+  if (destinationExists) return undefined
+
+  const relative = symlinkPathsSync(srcpath, dstpath)
+  srcpath = relative.toDst
+  type = symlinkTypeSync(relative.toCwd, type)
+  const dir = path.dirname(dstpath)
+  const exists = fs.existsSync(dir)
+  if (exists) return fs.symlinkSync(srcpath, dstpath, type)
+  mkdirsSync(dir)
+  return fs.symlinkSync(srcpath, dstpath, type)
+}
+
+module.exports = {
+  createSymlink: u(createSymlink),
+  createSymlinkSync
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/fs/index.js b/node_modules/get-uri/node_modules/fs-extra/lib/fs/index.js
new file mode 100644
index 0000000..a7b2292
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/fs/index.js
@@ -0,0 +1,109 @@
+'use strict'
+// This is adapted from https://github.com/normalize/mz
+// Copyright (c) 2014-2016 Jonathan Ong [email protected] and Contributors
+const u = require('universalify').fromCallback
+const fs = require('graceful-fs')
+
+const api = [
+  'access',
+  'appendFile',
+  'chmod',
+  'chown',
+  'close',
+  'copyFile',
+  'fchmod',
+  'fchown',
+  'fdatasync',
+  'fstat',
+  'fsync',
+  'ftruncate',
+  'futimes',
+  'lchown',
+  'lchmod',
+  'link',
+  'lstat',
+  'mkdir',
+  'mkdtemp',
+  'open',
+  'readFile',
+  'readdir',
+  'readlink',
+  'realpath',
+  'rename',
+  'rmdir',
+  'stat',
+  'symlink',
+  'truncate',
+  'unlink',
+  'utimes',
+  'writeFile'
+].filter(key => {
+  // Some commands are not available on some systems. Ex:
+  // fs.copyFile was added in Node.js v8.5.0
+  // fs.mkdtemp was added in Node.js v5.10.0
+  // fs.lchown is not available on at least some Linux
+  return typeof fs[key] === 'function'
+})
+
+// Export all keys:
+Object.keys(fs).forEach(key => {
+  if (key === 'promises') {
+    // fs.promises is a getter property that triggers ExperimentalWarning
+    // Don't re-export it here, the getter is defined in "lib/index.js"
+    return
+  }
+  exports[key] = fs[key]
+})
+
+// Universalify async methods:
+api.forEach(method => {
+  exports[method] = u(fs[method])
+})
+
+// We differ from mz/fs in that we still ship the old, broken, fs.exists()
+// since we are a drop-in replacement for the native module
+exports.exists = function (filename, callback) {
+  if (typeof callback === 'function') {
+    return fs.exists(filename, callback)
+  }
+  return new Promise(resolve => {
+    return fs.exists(filename, resolve)
+  })
+}
+
+// fs.read() & fs.write need special treatment due to multiple callback args
+
+exports.read = function (fd, buffer, offset, length, position, callback) {
+  if (typeof callback === 'function') {
+    return fs.read(fd, buffer, offset, length, position, callback)
+  }
+  return new Promise((resolve, reject) => {
+    fs.read(fd, buffer, offset, length, position, (err, bytesRead, buffer) => {
+      if (err) return reject(err)
+      resolve({ bytesRead, buffer })
+    })
+  })
+}
+
+// Function signature can be
+// fs.write(fd, buffer[, offset[, length[, position]]], callback)
+// OR
+// fs.write(fd, string[, position[, encoding]], callback)
+// We need to handle both cases, so we use ...args
+exports.write = function (fd, buffer, ...args) {
+  if (typeof args[args.length - 1] === 'function') {
+    return fs.write(fd, buffer, ...args)
+  }
+
+  return new Promise((resolve, reject) => {
+    fs.write(fd, buffer, ...args, (err, bytesWritten, buffer) => {
+      if (err) return reject(err)
+      resolve({ bytesWritten, buffer })
+    })
+  })
+}
+
+// fs.realpath.native only available in Node v9.2+
+if (typeof fs.realpath.native === 'function') {
+  exports.realpath.native = u(fs.realpath.native)
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/index.js b/node_modules/get-uri/node_modules/fs-extra/lib/index.js
new file mode 100644
index 0000000..40e37b1
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/index.js
@@ -0,0 +1,28 @@
+'use strict'
+
+module.exports = Object.assign(
+  {},
+  // Export promiseified graceful-fs:
+  require('./fs'),
+  // Export extra methods:
+  require('./copy-sync'),
+  require('./copy'),
+  require('./empty'),
+  require('./ensure'),
+  require('./json'),
+  require('./mkdirs'),
+  require('./move-sync'),
+  require('./move'),
+  require('./output'),
+  require('./path-exists'),
+  require('./remove')
+)
+
+// Export fs.promises as a getter property so that we don't trigger
+// ExperimentalWarning before fs.promises is actually accessed.
+const fs = require('fs')
+if (Object.getOwnPropertyDescriptor(fs, 'promises')) {
+  Object.defineProperty(module.exports, 'promises', {
+    get () { return fs.promises }
+  })
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/json/index.js b/node_modules/get-uri/node_modules/fs-extra/lib/json/index.js
new file mode 100644
index 0000000..bae68d4
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/json/index.js
@@ -0,0 +1,16 @@
+'use strict'
+
+const u = require('universalify').fromCallback
+const jsonFile = require('./jsonfile')
+
+jsonFile.outputJson = u(require('./output-json'))
+jsonFile.outputJsonSync = require('./output-json-sync')
+// aliases
+jsonFile.outputJSON = jsonFile.outputJson
+jsonFile.outputJSONSync = jsonFile.outputJsonSync
+jsonFile.writeJSON = jsonFile.writeJson
+jsonFile.writeJSONSync = jsonFile.writeJsonSync
+jsonFile.readJSON = jsonFile.readJson
+jsonFile.readJSONSync = jsonFile.readJsonSync
+
+module.exports = jsonFile
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/json/jsonfile.js b/node_modules/get-uri/node_modules/fs-extra/lib/json/jsonfile.js
new file mode 100644
index 0000000..59cdb3e
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/json/jsonfile.js
@@ -0,0 +1,12 @@
+'use strict'
+
+const u = require('universalify').fromCallback
+const jsonFile = require('jsonfile')
+
+module.exports = {
+  // jsonfile exports
+  readJson: u(jsonFile.readFile),
+  readJsonSync: jsonFile.readFileSync,
+  writeJson: u(jsonFile.writeFile),
+  writeJsonSync: jsonFile.writeFileSync
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/json/output-json-sync.js b/node_modules/get-uri/node_modules/fs-extra/lib/json/output-json-sync.js
new file mode 100644
index 0000000..6f76710
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/json/output-json-sync.js
@@ -0,0 +1,18 @@
+'use strict'
+
+const fs = require('graceful-fs')
+const path = require('path')
+const mkdir = require('../mkdirs')
+const jsonFile = require('./jsonfile')
+
+function outputJsonSync (file, data, options) {
+  const dir = path.dirname(file)
+
+  if (!fs.existsSync(dir)) {
+    mkdir.mkdirsSync(dir)
+  }
+
+  jsonFile.writeJsonSync(file, data, options)
+}
+
+module.exports = outputJsonSync
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/json/output-json.js b/node_modules/get-uri/node_modules/fs-extra/lib/json/output-json.js
new file mode 100644
index 0000000..d45edb8
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/json/output-json.js
@@ -0,0 +1,27 @@
+'use strict'
+
+const path = require('path')
+const mkdir = require('../mkdirs')
+const pathExists = require('../path-exists').pathExists
+const jsonFile = require('./jsonfile')
+
+function outputJson (file, data, options, callback) {
+  if (typeof options === 'function') {
+    callback = options
+    options = {}
+  }
+
+  const dir = path.dirname(file)
+
+  pathExists(dir, (err, itDoes) => {
+    if (err) return callback(err)
+    if (itDoes) return jsonFile.writeJson(file, data, options, callback)
+
+    mkdir.mkdirs(dir, err => {
+      if (err) return callback(err)
+      jsonFile.writeJson(file, data, options, callback)
+    })
+  })
+}
+
+module.exports = outputJson
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/mkdirs/index.js b/node_modules/get-uri/node_modules/fs-extra/lib/mkdirs/index.js
new file mode 100644
index 0000000..d6e7e5b
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/mkdirs/index.js
@@ -0,0 +1,14 @@
+'use strict'
+const u = require('universalify').fromCallback
+const mkdirs = u(require('./mkdirs'))
+const mkdirsSync = require('./mkdirs-sync')
+
+module.exports = {
+  mkdirs,
+  mkdirsSync,
+  // alias
+  mkdirp: mkdirs,
+  mkdirpSync: mkdirsSync,
+  ensureDir: mkdirs,
+  ensureDirSync: mkdirsSync
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js b/node_modules/get-uri/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js
new file mode 100644
index 0000000..a34acb9
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/mkdirs/mkdirs-sync.js
@@ -0,0 +1,54 @@
+'use strict'
+
+const fs = require('graceful-fs')
+const path = require('path')
+const invalidWin32Path = require('./win32').invalidWin32Path
+
+const o777 = parseInt('0777', 8)
+
+function mkdirsSync (p, opts, made) {
+  if (!opts || typeof opts !== 'object') {
+    opts = { mode: opts }
+  }
+
+  let mode = opts.mode
+  const xfs = opts.fs || fs
+
+  if (process.platform === 'win32' && invalidWin32Path(p)) {
+    const errInval = new Error(p + ' contains invalid WIN32 path characters.')
+    errInval.code = 'EINVAL'
+    throw errInval
+  }
+
+  if (mode === undefined) {
+    mode = o777 & (~process.umask())
+  }
+  if (!made) made = null
+
+  p = path.resolve(p)
+
+  try {
+    xfs.mkdirSync(p, mode)
+    made = made || p
+  } catch (err0) {
+    if (err0.code === 'ENOENT') {
+      if (path.dirname(p) === p) throw err0
+      made = mkdirsSync(path.dirname(p), opts, made)
+      mkdirsSync(p, opts, made)
+    } else {
+      // In the case of any other error, just see if there's a dir there
+      // already. If so, then hooray!  If not, then something is borked.
+      let stat
+      try {
+        stat = xfs.statSync(p)
+      } catch (err1) {
+        throw err0
+      }
+      if (!stat.isDirectory()) throw err0
+    }
+  }
+
+  return made
+}
+
+module.exports = mkdirsSync
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/mkdirs/mkdirs.js b/node_modules/get-uri/node_modules/fs-extra/lib/mkdirs/mkdirs.js
new file mode 100644
index 0000000..1897533
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/mkdirs/mkdirs.js
@@ -0,0 +1,63 @@
+'use strict'
+
+const fs = require('graceful-fs')
+const path = require('path')
+const invalidWin32Path = require('./win32').invalidWin32Path
+
+const o777 = parseInt('0777', 8)
+
+function mkdirs (p, opts, callback, made) {
+  if (typeof opts === 'function') {
+    callback = opts
+    opts = {}
+  } else if (!opts || typeof opts !== 'object') {
+    opts = { mode: opts }
+  }
+
+  if (process.platform === 'win32' && invalidWin32Path(p)) {
+    const errInval = new Error(p + ' contains invalid WIN32 path characters.')
+    errInval.code = 'EINVAL'
+    return callback(errInval)
+  }
+
+  let mode = opts.mode
+  const xfs = opts.fs || fs
+
+  if (mode === undefined) {
+    mode = o777 & (~process.umask())
+  }
+  if (!made) made = null
+
+  callback = callback || function () {}
+  p = path.resolve(p)
+
+  xfs.mkdir(p, mode, er => {
+    if (!er) {
+      made = made || p
+      return callback(null, made)
+    }
+    switch (er.code) {
+      case 'ENOENT':
+        if (path.dirname(p) === p) return callback(er)
+        mkdirs(path.dirname(p), opts, (er, made) => {
+          if (er) callback(er, made)
+          else mkdirs(p, opts, callback, made)
+        })
+        break
+
+      // In the case of any other error, just see if there's a dir
+      // there already.  If so, then hooray!  If not, then something
+      // is borked.
+      default:
+        xfs.stat(p, (er2, stat) => {
+          // if the stat fails, then that's super weird.
+          // let the original error be the failure reason.
+          if (er2 || !stat.isDirectory()) callback(er, made)
+          else callback(null, made)
+        })
+        break
+    }
+  })
+}
+
+module.exports = mkdirs
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/mkdirs/win32.js b/node_modules/get-uri/node_modules/fs-extra/lib/mkdirs/win32.js
new file mode 100644
index 0000000..99b3920
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/mkdirs/win32.js
@@ -0,0 +1,25 @@
+'use strict'
+
+const path = require('path')
+
+// get drive on windows
+function getRootPath (p) {
+  p = path.normalize(path.resolve(p)).split(path.sep)
+  if (p.length > 0) return p[0]
+  return null
+}
+
+// http://stackoverflow.com/a/62888/10333 contains more accurate
+// TODO: expand to include the rest
+const INVALID_PATH_CHARS = /[<>:"|?*]/
+
+function invalidWin32Path (p) {
+  const rp = getRootPath(p)
+  p = p.replace(rp, '')
+  return INVALID_PATH_CHARS.test(p)
+}
+
+module.exports = {
+  getRootPath,
+  invalidWin32Path
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/move-sync/index.js b/node_modules/get-uri/node_modules/fs-extra/lib/move-sync/index.js
new file mode 100644
index 0000000..af90b06
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/move-sync/index.js
@@ -0,0 +1,5 @@
+'use strict'
+
+module.exports = {
+  moveSync: require('./move-sync')
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/move-sync/move-sync.js b/node_modules/get-uri/node_modules/fs-extra/lib/move-sync/move-sync.js
new file mode 100644
index 0000000..20f910c
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/move-sync/move-sync.js
@@ -0,0 +1,47 @@
+'use strict'
+
+const fs = require('graceful-fs')
+const path = require('path')
+const copySync = require('../copy-sync').copySync
+const removeSync = require('../remove').removeSync
+const mkdirpSync = require('../mkdirs').mkdirpSync
+const stat = require('../util/stat')
+
+function moveSync (src, dest, opts) {
+  opts = opts || {}
+  const overwrite = opts.overwrite || opts.clobber || false
+
+  const { srcStat } = stat.checkPathsSync(src, dest, 'move')
+  stat.checkParentPathsSync(src, srcStat, dest, 'move')
+  mkdirpSync(path.dirname(dest))
+  return doRename(src, dest, overwrite)
+}
+
+function doRename (src, dest, overwrite) {
+  if (overwrite) {
+    removeSync(dest)
+    return rename(src, dest, overwrite)
+  }
+  if (fs.existsSync(dest)) throw new Error('dest already exists.')
+  return rename(src, dest, overwrite)
+}
+
+function rename (src, dest, overwrite) {
+  try {
+    fs.renameSync(src, dest)
+  } catch (err) {
+    if (err.code !== 'EXDEV') throw err
+    return moveAcrossDevice(src, dest, overwrite)
+  }
+}
+
+function moveAcrossDevice (src, dest, overwrite) {
+  const opts = {
+    overwrite,
+    errorOnExist: true
+  }
+  copySync(src, dest, opts)
+  return removeSync(src)
+}
+
+module.exports = moveSync
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/move/index.js b/node_modules/get-uri/node_modules/fs-extra/lib/move/index.js
new file mode 100644
index 0000000..3785345
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/move/index.js
@@ -0,0 +1,6 @@
+'use strict'
+
+const u = require('universalify').fromCallback
+module.exports = {
+  move: u(require('./move'))
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/move/move.js b/node_modules/get-uri/node_modules/fs-extra/lib/move/move.js
new file mode 100644
index 0000000..fa3ea61
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/move/move.js
@@ -0,0 +1,65 @@
+'use strict'
+
+const fs = require('graceful-fs')
+const path = require('path')
+const copy = require('../copy').copy
+const remove = require('../remove').remove
+const mkdirp = require('../mkdirs').mkdirp
+const pathExists = require('../path-exists').pathExists
+const stat = require('../util/stat')
+
+function move (src, dest, opts, cb) {
+  if (typeof opts === 'function') {
+    cb = opts
+    opts = {}
+  }
+
+  const overwrite = opts.overwrite || opts.clobber || false
+
+  stat.checkPaths(src, dest, 'move', (err, stats) => {
+    if (err) return cb(err)
+    const { srcStat } = stats
+    stat.checkParentPaths(src, srcStat, dest, 'move', err => {
+      if (err) return cb(err)
+      mkdirp(path.dirname(dest), err => {
+        if (err) return cb(err)
+        return doRename(src, dest, overwrite, cb)
+      })
+    })
+  })
+}
+
+function doRename (src, dest, overwrite, cb) {
+  if (overwrite) {
+    return remove(dest, err => {
+      if (err) return cb(err)
+      return rename(src, dest, overwrite, cb)
+    })
+  }
+  pathExists(dest, (err, destExists) => {
+    if (err) return cb(err)
+    if (destExists) return cb(new Error('dest already exists.'))
+    return rename(src, dest, overwrite, cb)
+  })
+}
+
+function rename (src, dest, overwrite, cb) {
+  fs.rename(src, dest, err => {
+    if (!err) return cb()
+    if (err.code !== 'EXDEV') return cb(err)
+    return moveAcrossDevice(src, dest, overwrite, cb)
+  })
+}
+
+function moveAcrossDevice (src, dest, overwrite, cb) {
+  const opts = {
+    overwrite,
+    errorOnExist: true
+  }
+  copy(src, dest, opts, err => {
+    if (err) return cb(err)
+    return remove(src, cb)
+  })
+}
+
+module.exports = move
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/output/index.js b/node_modules/get-uri/node_modules/fs-extra/lib/output/index.js
new file mode 100644
index 0000000..92297ca
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/output/index.js
@@ -0,0 +1,40 @@
+'use strict'
+
+const u = require('universalify').fromCallback
+const fs = require('graceful-fs')
+const path = require('path')
+const mkdir = require('../mkdirs')
+const pathExists = require('../path-exists').pathExists
+
+function outputFile (file, data, encoding, callback) {
+  if (typeof encoding === 'function') {
+    callback = encoding
+    encoding = 'utf8'
+  }
+
+  const dir = path.dirname(file)
+  pathExists(dir, (err, itDoes) => {
+    if (err) return callback(err)
+    if (itDoes) return fs.writeFile(file, data, encoding, callback)
+
+    mkdir.mkdirs(dir, err => {
+      if (err) return callback(err)
+
+      fs.writeFile(file, data, encoding, callback)
+    })
+  })
+}
+
+function outputFileSync (file, ...args) {
+  const dir = path.dirname(file)
+  if (fs.existsSync(dir)) {
+    return fs.writeFileSync(file, ...args)
+  }
+  mkdir.mkdirsSync(dir)
+  fs.writeFileSync(file, ...args)
+}
+
+module.exports = {
+  outputFile: u(outputFile),
+  outputFileSync
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/path-exists/index.js b/node_modules/get-uri/node_modules/fs-extra/lib/path-exists/index.js
new file mode 100644
index 0000000..ddd9bc7
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/path-exists/index.js
@@ -0,0 +1,12 @@
+'use strict'
+const u = require('universalify').fromPromise
+const fs = require('../fs')
+
+function pathExists (path) {
+  return fs.access(path).then(() => true).catch(() => false)
+}
+
+module.exports = {
+  pathExists: u(pathExists),
+  pathExistsSync: fs.existsSync
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/remove/index.js b/node_modules/get-uri/node_modules/fs-extra/lib/remove/index.js
new file mode 100644
index 0000000..cee5340
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/remove/index.js
@@ -0,0 +1,9 @@
+'use strict'
+
+const u = require('universalify').fromCallback
+const rimraf = require('./rimraf')
+
+module.exports = {
+  remove: u(rimraf),
+  removeSync: rimraf.sync
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/remove/rimraf.js b/node_modules/get-uri/node_modules/fs-extra/lib/remove/rimraf.js
new file mode 100644
index 0000000..f287e4e
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/remove/rimraf.js
@@ -0,0 +1,314 @@
+'use strict'
+
+const fs = require('graceful-fs')
+const path = require('path')
+const assert = require('assert')
+
+const isWindows = (process.platform === 'win32')
+
+function defaults (options) {
+  const methods = [
+    'unlink',
+    'chmod',
+    'stat',
+    'lstat',
+    'rmdir',
+    'readdir'
+  ]
+  methods.forEach(m => {
+    options[m] = options[m] || fs[m]
+    m = m + 'Sync'
+    options[m] = options[m] || fs[m]
+  })
+
+  options.maxBusyTries = options.maxBusyTries || 3
+}
+
+function rimraf (p, options, cb) {
+  let busyTries = 0
+
+  if (typeof options === 'function') {
+    cb = options
+    options = {}
+  }
+
+  assert(p, 'rimraf: missing path')
+  assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')
+  assert.strictEqual(typeof cb, 'function', 'rimraf: callback function required')
+  assert(options, 'rimraf: invalid options argument provided')
+  assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')
+
+  defaults(options)
+
+  rimraf_(p, options, function CB (er) {
+    if (er) {
+      if ((er.code === 'EBUSY' || er.code === 'ENOTEMPTY' || er.code === 'EPERM') &&
+          busyTries < options.maxBusyTries) {
+        busyTries++
+        const time = busyTries * 100
+        // try again, with the same exact callback as this one.
+        return setTimeout(() => rimraf_(p, options, CB), time)
+      }
+
+      // already gone
+      if (er.code === 'ENOENT') er = null
+    }
+
+    cb(er)
+  })
+}
+
+// Two possible strategies.
+// 1. Assume it's a file.  unlink it, then do the dir stuff on EPERM or EISDIR
+// 2. Assume it's a directory.  readdir, then do the file stuff on ENOTDIR
+//
+// Both result in an extra syscall when you guess wrong.  However, there
+// are likely far more normal files in the world than directories.  This
+// is based on the assumption that a the average number of files per
+// directory is >= 1.
+//
+// If anyone ever complains about this, then I guess the strategy could
+// be made configurable somehow.  But until then, YAGNI.
+function rimraf_ (p, options, cb) {
+  assert(p)
+  assert(options)
+  assert(typeof cb === 'function')
+
+  // sunos lets the root user unlink directories, which is... weird.
+  // so we have to lstat here and make sure it's not a dir.
+  options.lstat(p, (er, st) => {
+    if (er && er.code === 'ENOENT') {
+      return cb(null)
+    }
+
+    // Windows can EPERM on stat.  Life is suffering.
+    if (er && er.code === 'EPERM' && isWindows) {
+      return fixWinEPERM(p, options, er, cb)
+    }
+
+    if (st && st.isDirectory()) {
+      return rmdir(p, options, er, cb)
+    }
+
+    options.unlink(p, er => {
+      if (er) {
+        if (er.code === 'ENOENT') {
+          return cb(null)
+        }
+        if (er.code === 'EPERM') {
+          return (isWindows)
+            ? fixWinEPERM(p, options, er, cb)
+            : rmdir(p, options, er, cb)
+        }
+        if (er.code === 'EISDIR') {
+          return rmdir(p, options, er, cb)
+        }
+      }
+      return cb(er)
+    })
+  })
+}
+
+function fixWinEPERM (p, options, er, cb) {
+  assert(p)
+  assert(options)
+  assert(typeof cb === 'function')
+  if (er) {
+    assert(er instanceof Error)
+  }
+
+  options.chmod(p, 0o666, er2 => {
+    if (er2) {
+      cb(er2.code === 'ENOENT' ? null : er)
+    } else {
+      options.stat(p, (er3, stats) => {
+        if (er3) {
+          cb(er3.code === 'ENOENT' ? null : er)
+        } else if (stats.isDirectory()) {
+          rmdir(p, options, er, cb)
+        } else {
+          options.unlink(p, cb)
+        }
+      })
+    }
+  })
+}
+
+function fixWinEPERMSync (p, options, er) {
+  let stats
+
+  assert(p)
+  assert(options)
+  if (er) {
+    assert(er instanceof Error)
+  }
+
+  try {
+    options.chmodSync(p, 0o666)
+  } catch (er2) {
+    if (er2.code === 'ENOENT') {
+      return
+    } else {
+      throw er
+    }
+  }
+
+  try {
+    stats = options.statSync(p)
+  } catch (er3) {
+    if (er3.code === 'ENOENT') {
+      return
+    } else {
+      throw er
+    }
+  }
+
+  if (stats.isDirectory()) {
+    rmdirSync(p, options, er)
+  } else {
+    options.unlinkSync(p)
+  }
+}
+
+function rmdir (p, options, originalEr, cb) {
+  assert(p)
+  assert(options)
+  if (originalEr) {
+    assert(originalEr instanceof Error)
+  }
+  assert(typeof cb === 'function')
+
+  // try to rmdir first, and only readdir on ENOTEMPTY or EEXIST (SunOS)
+  // if we guessed wrong, and it's not a directory, then
+  // raise the original error.
+  options.rmdir(p, er => {
+    if (er && (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM')) {
+      rmkids(p, options, cb)
+    } else if (er && er.code === 'ENOTDIR') {
+      cb(originalEr)
+    } else {
+      cb(er)
+    }
+  })
+}
+
+function rmkids (p, options, cb) {
+  assert(p)
+  assert(options)
+  assert(typeof cb === 'function')
+
+  options.readdir(p, (er, files) => {
+    if (er) return cb(er)
+
+    let n = files.length
+    let errState
+
+    if (n === 0) return options.rmdir(p, cb)
+
+    files.forEach(f => {
+      rimraf(path.join(p, f), options, er => {
+        if (errState) {
+          return
+        }
+        if (er) return cb(errState = er)
+        if (--n === 0) {
+          options.rmdir(p, cb)
+        }
+      })
+    })
+  })
+}
+
+// this looks simpler, and is strictly *faster*, but will
+// tie up the JavaScript thread and fail on excessively
+// deep directory trees.
+function rimrafSync (p, options) {
+  let st
+
+  options = options || {}
+  defaults(options)
+
+  assert(p, 'rimraf: missing path')
+  assert.strictEqual(typeof p, 'string', 'rimraf: path should be a string')
+  assert(options, 'rimraf: missing options')
+  assert.strictEqual(typeof options, 'object', 'rimraf: options should be object')
+
+  try {
+    st = options.lstatSync(p)
+  } catch (er) {
+    if (er.code === 'ENOENT') {
+      return
+    }
+
+    // Windows can EPERM on stat.  Life is suffering.
+    if (er.code === 'EPERM' && isWindows) {
+      fixWinEPERMSync(p, options, er)
+    }
+  }
+
+  try {
+    // sunos lets the root user unlink directories, which is... weird.
+    if (st && st.isDirectory()) {
+      rmdirSync(p, options, null)
+    } else {
+      options.unlinkSync(p)
+    }
+  } catch (er) {
+    if (er.code === 'ENOENT') {
+      return
+    } else if (er.code === 'EPERM') {
+      return isWindows ? fixWinEPERMSync(p, options, er) : rmdirSync(p, options, er)
+    } else if (er.code !== 'EISDIR') {
+      throw er
+    }
+    rmdirSync(p, options, er)
+  }
+}
+
+function rmdirSync (p, options, originalEr) {
+  assert(p)
+  assert(options)
+  if (originalEr) {
+    assert(originalEr instanceof Error)
+  }
+
+  try {
+    options.rmdirSync(p)
+  } catch (er) {
+    if (er.code === 'ENOTDIR') {
+      throw originalEr
+    } else if (er.code === 'ENOTEMPTY' || er.code === 'EEXIST' || er.code === 'EPERM') {
+      rmkidsSync(p, options)
+    } else if (er.code !== 'ENOENT') {
+      throw er
+    }
+  }
+}
+
+function rmkidsSync (p, options) {
+  assert(p)
+  assert(options)
+  options.readdirSync(p).forEach(f => rimrafSync(path.join(p, f), options))
+
+  if (isWindows) {
+    // We only end up here once we got ENOTEMPTY at least once, and
+    // at this point, we are guaranteed to have removed all the kids.
+    // So, we know that it won't be ENOENT or ENOTDIR or anything else.
+    // try really hard to delete stuff on windows, because it has a
+    // PROFOUNDLY annoying habit of not closing handles promptly when
+    // files are deleted, resulting in spurious ENOTEMPTY errors.
+    const startTime = Date.now()
+    do {
+      try {
+        const ret = options.rmdirSync(p, options)
+        return ret
+      } catch (er) { }
+    } while (Date.now() - startTime < 500) // give up after 500ms
+  } else {
+    const ret = options.rmdirSync(p, options)
+    return ret
+  }
+}
+
+module.exports = rimraf
+rimraf.sync = rimrafSync
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/util/buffer.js b/node_modules/get-uri/node_modules/fs-extra/lib/util/buffer.js
new file mode 100644
index 0000000..dabf288
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/util/buffer.js
@@ -0,0 +1,12 @@
+'use strict'
+/* eslint-disable node/no-deprecated-api */
+module.exports = function (size) {
+  if (typeof Buffer.allocUnsafe === 'function') {
+    try {
+      return Buffer.allocUnsafe(size)
+    } catch (e) {
+      return new Buffer(size)
+    }
+  }
+  return new Buffer(size)
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/util/stat.js b/node_modules/get-uri/node_modules/fs-extra/lib/util/stat.js
new file mode 100644
index 0000000..350cb9f
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/util/stat.js
@@ -0,0 +1,172 @@
+'use strict'
+
+const fs = require('graceful-fs')
+const path = require('path')
+
+const NODE_VERSION_MAJOR_WITH_BIGINT = 10
+const NODE_VERSION_MINOR_WITH_BIGINT = 5
+const NODE_VERSION_PATCH_WITH_BIGINT = 0
+const nodeVersion = process.versions.node.split('.')
+const nodeVersionMajor = Number.parseInt(nodeVersion[0], 10)
+const nodeVersionMinor = Number.parseInt(nodeVersion[1], 10)
+const nodeVersionPatch = Number.parseInt(nodeVersion[2], 10)
+
+function nodeSupportsBigInt () {
+  if (nodeVersionMajor > NODE_VERSION_MAJOR_WITH_BIGINT) {
+    return true
+  } else if (nodeVersionMajor === NODE_VERSION_MAJOR_WITH_BIGINT) {
+    if (nodeVersionMinor > NODE_VERSION_MINOR_WITH_BIGINT) {
+      return true
+    } else if (nodeVersionMinor === NODE_VERSION_MINOR_WITH_BIGINT) {
+      if (nodeVersionPatch >= NODE_VERSION_PATCH_WITH_BIGINT) {
+        return true
+      }
+    }
+  }
+  return false
+}
+
+function getStats (src, dest, cb) {
+  if (nodeSupportsBigInt()) {
+    fs.stat(src, { bigint: true }, (err, srcStat) => {
+      if (err) return cb(err)
+      fs.stat(dest, { bigint: true }, (err, destStat) => {
+        if (err) {
+          if (err.code === 'ENOENT') return cb(null, { srcStat, destStat: null })
+          return cb(err)
+        }
+        return cb(null, { srcStat, destStat })
+      })
+    })
+  } else {
+    fs.stat(src, (err, srcStat) => {
+      if (err) return cb(err)
+      fs.stat(dest, (err, destStat) => {
+        if (err) {
+          if (err.code === 'ENOENT') return cb(null, { srcStat, destStat: null })
+          return cb(err)
+        }
+        return cb(null, { srcStat, destStat })
+      })
+    })
+  }
+}
+
+function getStatsSync (src, dest) {
+  let srcStat, destStat
+  if (nodeSupportsBigInt()) {
+    srcStat = fs.statSync(src, { bigint: true })
+  } else {
+    srcStat = fs.statSync(src)
+  }
+  try {
+    if (nodeSupportsBigInt()) {
+      destStat = fs.statSync(dest, { bigint: true })
+    } else {
+      destStat = fs.statSync(dest)
+    }
+  } catch (err) {
+    if (err.code === 'ENOENT') return { srcStat, destStat: null }
+    throw err
+  }
+  return { srcStat, destStat }
+}
+
+function checkPaths (src, dest, funcName, cb) {
+  getStats(src, dest, (err, stats) => {
+    if (err) return cb(err)
+    const { srcStat, destStat } = stats
+    if (destStat && destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {
+      return cb(new Error('Source and destination must not be the same.'))
+    }
+    if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {
+      return cb(new Error(errMsg(src, dest, funcName)))
+    }
+    return cb(null, { srcStat, destStat })
+  })
+}
+
+function checkPathsSync (src, dest, funcName) {
+  const { srcStat, destStat } = getStatsSync(src, dest)
+  if (destStat && destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {
+    throw new Error('Source and destination must not be the same.')
+  }
+  if (srcStat.isDirectory() && isSrcSubdir(src, dest)) {
+    throw new Error(errMsg(src, dest, funcName))
+  }
+  return { srcStat, destStat }
+}
+
+// recursively check if dest parent is a subdirectory of src.
+// It works for all file types including symlinks since it
+// checks the src and dest inodes. It starts from the deepest
+// parent and stops once it reaches the src parent or the root path.
+function checkParentPaths (src, srcStat, dest, funcName, cb) {
+  const srcParent = path.resolve(path.dirname(src))
+  const destParent = path.resolve(path.dirname(dest))
+  if (destParent === srcParent || destParent === path.parse(destParent).root) return cb()
+  if (nodeSupportsBigInt()) {
+    fs.stat(destParent, { bigint: true }, (err, destStat) => {
+      if (err) {
+        if (err.code === 'ENOENT') return cb()
+        return cb(err)
+      }
+      if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {
+        return cb(new Error(errMsg(src, dest, funcName)))
+      }
+      return checkParentPaths(src, srcStat, destParent, funcName, cb)
+    })
+  } else {
+    fs.stat(destParent, (err, destStat) => {
+      if (err) {
+        if (err.code === 'ENOENT') return cb()
+        return cb(err)
+      }
+      if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {
+        return cb(new Error(errMsg(src, dest, funcName)))
+      }
+      return checkParentPaths(src, srcStat, destParent, funcName, cb)
+    })
+  }
+}
+
+function checkParentPathsSync (src, srcStat, dest, funcName) {
+  const srcParent = path.resolve(path.dirname(src))
+  const destParent = path.resolve(path.dirname(dest))
+  if (destParent === srcParent || destParent === path.parse(destParent).root) return
+  let destStat
+  try {
+    if (nodeSupportsBigInt()) {
+      destStat = fs.statSync(destParent, { bigint: true })
+    } else {
+      destStat = fs.statSync(destParent)
+    }
+  } catch (err) {
+    if (err.code === 'ENOENT') return
+    throw err
+  }
+  if (destStat.ino && destStat.dev && destStat.ino === srcStat.ino && destStat.dev === srcStat.dev) {
+    throw new Error(errMsg(src, dest, funcName))
+  }
+  return checkParentPathsSync(src, srcStat, destParent, funcName)
+}
+
+// return true if dest is a subdir of src, otherwise false.
+// It only checks the path strings.
+function isSrcSubdir (src, dest) {
+  const srcArr = path.resolve(src).split(path.sep).filter(i => i)
+  const destArr = path.resolve(dest).split(path.sep).filter(i => i)
+  return srcArr.reduce((acc, cur, i) => acc && destArr[i] === cur, true)
+}
+
+function errMsg (src, dest, funcName) {
+  return `Cannot ${funcName} '${src}' to a subdirectory of itself, '${dest}'.`
+}
+
+module.exports = {
+  checkPaths,
+  checkPathsSync,
+  checkParentPaths,
+  checkParentPathsSync,
+  isSrcSubdir
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/lib/util/utimes.js b/node_modules/get-uri/node_modules/fs-extra/lib/util/utimes.js
new file mode 100644
index 0000000..8916a1b
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/lib/util/utimes.js
@@ -0,0 +1,79 @@
+'use strict'
+
+const fs = require('graceful-fs')
+const os = require('os')
+const path = require('path')
+
+// HFS, ext{2,3}, FAT do not, Node.js v0.10 does not
+function hasMillisResSync () {
+  let tmpfile = path.join('millis-test-sync' + Date.now().toString() + Math.random().toString().slice(2))
+  tmpfile = path.join(os.tmpdir(), tmpfile)
+
+  // 550 millis past UNIX epoch
+  const d = new Date(1435410243862)
+  fs.writeFileSync(tmpfile, 'https://github.com/jprichardson/node-fs-extra/pull/141')
+  const fd = fs.openSync(tmpfile, 'r+')
+  fs.futimesSync(fd, d, d)
+  fs.closeSync(fd)
+  return fs.statSync(tmpfile).mtime > 1435410243000
+}
+
+function hasMillisRes (callback) {
+  let tmpfile = path.join('millis-test' + Date.now().toString() + Math.random().toString().slice(2))
+  tmpfile = path.join(os.tmpdir(), tmpfile)
+
+  // 550 millis past UNIX epoch
+  const d = new Date(1435410243862)
+  fs.writeFile(tmpfile, 'https://github.com/jprichardson/node-fs-extra/pull/141', err => {
+    if (err) return callback(err)
+    fs.open(tmpfile, 'r+', (err, fd) => {
+      if (err) return callback(err)
+      fs.futimes(fd, d, d, err => {
+        if (err) return callback(err)
+        fs.close(fd, err => {
+          if (err) return callback(err)
+          fs.stat(tmpfile, (err, stats) => {
+            if (err) return callback(err)
+            callback(null, stats.mtime > 1435410243000)
+          })
+        })
+      })
+    })
+  })
+}
+
+function timeRemoveMillis (timestamp) {
+  if (typeof timestamp === 'number') {
+    return Math.floor(timestamp / 1000) * 1000
+  } else if (timestamp instanceof Date) {
+    return new Date(Math.floor(timestamp.getTime() / 1000) * 1000)
+  } else {
+    throw new Error('fs-extra: timeRemoveMillis() unknown parameter type')
+  }
+}
+
+function utimesMillis (path, atime, mtime, callback) {
+  // if (!HAS_MILLIS_RES) return fs.utimes(path, atime, mtime, callback)
+  fs.open(path, 'r+', (err, fd) => {
+    if (err) return callback(err)
+    fs.futimes(fd, atime, mtime, futimesErr => {
+      fs.close(fd, closeErr => {
+        if (callback) callback(futimesErr || closeErr)
+      })
+    })
+  })
+}
+
+function utimesMillisSync (path, atime, mtime) {
+  const fd = fs.openSync(path, 'r+')
+  fs.futimesSync(fd, atime, mtime)
+  return fs.closeSync(fd)
+}
+
+module.exports = {
+  hasMillisRes,
+  hasMillisResSync,
+  timeRemoveMillis,
+  utimesMillis,
+  utimesMillisSync
+}
diff --git a/node_modules/get-uri/node_modules/fs-extra/package.json b/node_modules/get-uri/node_modules/fs-extra/package.json
new file mode 100644
index 0000000..559d88b
--- /dev/null
+++ b/node_modules/get-uri/node_modules/fs-extra/package.json
@@ -0,0 +1,69 @@
+{
+  "name": "fs-extra",
+  "version": "8.1.0",
+  "description": "fs-extra contains methods that aren't included in the vanilla Node.js fs package. Such as mkdir -p, cp -r, and rm -rf.",
+  "engines": {
+    "node": ">=6 <7 || >=8"
+  },
+  "homepage": "https://github.com/jprichardson/node-fs-extra",
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/jprichardson/node-fs-extra"
+  },
+  "keywords": [
+    "fs",
+    "file",
+    "file system",
+    "copy",
+    "directory",
+    "extra",
+    "mkdirp",
+    "mkdir",
+    "mkdirs",
+    "recursive",
+    "json",
+    "read",
+    "write",
+    "extra",
+    "delete",
+    "remove",
+    "touch",
+    "create",
+    "text",
+    "output",
+    "move"
+  ],
+  "author": "JP Richardson <[email protected]>",
+  "license": "MIT",
+  "dependencies": {
+    "graceful-fs": "^4.2.0",
+    "jsonfile": "^4.0.0",
+    "universalify": "^0.1.0"
+  },
+  "devDependencies": {
+    "coveralls": "^3.0.0",
+    "istanbul": "^0.4.5",
+    "klaw": "^2.1.1",
+    "klaw-sync": "^3.0.2",
+    "minimist": "^1.1.1",
+    "mocha": "^5.0.5",
+    "proxyquire": "^2.0.1",
+    "read-dir-files": "^0.1.1",
+    "semver": "^5.3.0",
+    "standard": "^12.0.1"
+  },
+  "main": "./lib/index.js",
+  "files": [
+    "lib/",
+    "!lib/**/__tests__/"
+  ],
+  "scripts": {
+    "full-ci": "npm run lint && npm run coverage",
+    "coverage": "istanbul cover -i 'lib/**' -x '**/__tests__/**' test.js",
+    "coveralls": "coveralls < coverage/lcov.info",
+    "lint": "standard",
+    "test-find": "find ./lib/**/__tests__ -name *.test.js | xargs mocha",
+    "test": "npm run lint && npm run unit",
+    "unit": "node test.js"
+  }
+}
diff --git a/node_modules/get-uri/node_modules/jsonfile/CHANGELOG.md b/node_modules/get-uri/node_modules/jsonfile/CHANGELOG.md
new file mode 100644
index 0000000..7718857
--- /dev/null
+++ b/node_modules/get-uri/node_modules/jsonfile/CHANGELOG.md
@@ -0,0 +1,145 @@
+4.0.0 / 2017-07-12
+------------------
+
+- **BREAKING:** Remove global `spaces` option.
+- **BREAKING:** Drop support for Node 0.10, 0.12, and io.js.
+- Remove undocumented `passParsingErrors` option.
+- Added `EOL` override option to `writeFile` when using `spaces`. [#89]
+
+3.0.1 / 2017-07-05
+------------------
+
+- Fixed bug in `writeFile` when there was a serialization error & no callback was passed. In previous versions, an empty file would be written; now no file is written.
+
+3.0.0 / 2017-04-25
+------------------
+
+- Changed behavior of `throws` option for `readFileSync`; now does not throw filesystem errors when `throws` is `false`
+
+2.4.0 / 2016-09-15
+------------------
+### Changed
+- added optional support for `graceful-fs` [#62]
+
+2.3.1 / 2016-05-13
+------------------
+- fix to support BOM. [#45][#45]
+
+2.3.0 / 2016-04-16
+------------------
+- add `throws` to `readFile()`. See [#39][#39]
+- add support for any arbitrary `fs` module. Useful with [mock-fs](https://www.npmjs.com/package/mock-fs)
+
+2.2.3 / 2015-10-14
+------------------
+- include file name in parse error. See: https://github.com/jprichardson/node-jsonfile/pull/34
+
+2.2.2 / 2015-09-16
+------------------
+- split out tests into separate files
+- fixed `throws` when set to `true` in `readFileSync()`. See: https://github.com/jprichardson/node-jsonfile/pull/33
+
+2.2.1 / 2015-06-25
+------------------
+- fixed regression when passing in string as encoding for options in `writeFile()` and `writeFileSync()`. See: https://github.com/jprichardson/node-jsonfile/issues/28
+
+2.2.0 / 2015-06-25
+------------------
+- added `options.spaces` to `writeFile()` and `writeFileSync()`
+
+2.1.2 / 2015-06-22
+------------------
+- fixed if passed `readFileSync(file, 'utf8')`. See: https://github.com/jprichardson/node-jsonfile/issues/25
+
+2.1.1 / 2015-06-19
+------------------
+- fixed regressions if `null` is passed for options. See: https://github.com/jprichardson/node-jsonfile/issues/24
+
+2.1.0 / 2015-06-19
+------------------
+- cleanup: JavaScript Standard Style, rename files, dropped terst for assert
+- methods now support JSON revivers/replacers
+
+2.0.1 / 2015-05-24
+------------------
+- update license attribute https://github.com/jprichardson/node-jsonfile/pull/21
+
+2.0.0 / 2014-07-28
+------------------
+* added `\n` to end of file on write. [#14](https://github.com/jprichardson/node-jsonfile/pull/14)
+* added `options.throws` to `readFileSync()`
+* dropped support for Node v0.8
+
+1.2.0 / 2014-06-29
+------------------
+* removed semicolons
+* bugfix: passed `options` to `fs.readFile` and `fs.readFileSync`. This technically changes behavior, but
+changes it according to docs. [#12][#12]
+
+1.1.1 / 2013-11-11
+------------------
+* fixed catching of callback bug (ffissore / #5)
+
+1.1.0 / 2013-10-11
+------------------
+* added `options` param to methods, (seanodell / #4)
+
+1.0.1 / 2013-09-05
+------------------
+* removed `homepage` field from package.json to remove NPM warning
+
+1.0.0 / 2013-06-28
+------------------
+* added `.npmignore`, #1
+* changed spacing default from `4` to `2` to follow Node conventions
+
+0.0.1 / 2012-09-10
+------------------
+* Initial release.
+
+[#89]: https://github.com/jprichardson/node-jsonfile/pull/89
+[#45]: https://github.com/jprichardson/node-jsonfile/issues/45    "Reading of UTF8-encoded (w/ BOM) files fails"
+[#44]: https://github.com/jprichardson/node-jsonfile/issues/44    "Extra characters in written file"
+[#43]: https://github.com/jprichardson/node-jsonfile/issues/43    "Prettyfy json when written to file"
+[#42]: https://github.com/jprichardson/node-jsonfile/pull/42      "Moved fs.readFileSync within the try/catch"
+[#41]: https://github.com/jprichardson/node-jsonfile/issues/41    "Linux: Hidden file not working"
+[#40]: https://github.com/jprichardson/node-jsonfile/issues/40    "autocreate folder doesn't work from Path-value"
+[#39]: https://github.com/jprichardson/node-jsonfile/pull/39      "Add `throws` option for readFile (async)"
+[#38]: https://github.com/jprichardson/node-jsonfile/pull/38      "Update README.md writeFile[Sync] signature"
+[#37]: https://github.com/jprichardson/node-jsonfile/pull/37      "support append file"
+[#36]: https://github.com/jprichardson/node-jsonfile/pull/36      "Add typescript definition file."
+[#35]: https://github.com/jprichardson/node-jsonfile/pull/35      "Add typescript definition file."
+[#34]: https://github.com/jprichardson/node-jsonfile/pull/34      "readFile JSON parse error includes filename"
+[#33]: https://github.com/jprichardson/node-jsonfile/pull/33      "fix throw->throws typo in readFileSync()"
+[#32]: https://github.com/jprichardson/node-jsonfile/issues/32    "readFile & readFileSync can possible have strip-comments as an option?"
+[#31]: https://github.com/jprichardson/node-jsonfile/pull/31      "[Modify] Support string include is unicode escape string"
+[#30]: https://github.com/jprichardson/node-jsonfile/issues/30    "How to use Jsonfile package in Meteor.js App?"
+[#29]: https://github.com/jprichardson/node-jsonfile/issues/29    "writefile callback if no error?"
+[#28]: https://github.com/jprichardson/node-jsonfile/issues/28    "writeFile options argument broken "
+[#27]: https://github.com/jprichardson/node-jsonfile/pull/27      "Use svg instead of png to get better image quality"
+[#26]: https://github.com/jprichardson/node-jsonfile/issues/26    "Breaking change to fs-extra"
+[#25]: https://github.com/jprichardson/node-jsonfile/issues/25    "support string encoding param for read methods"
+[#24]: https://github.com/jprichardson/node-jsonfile/issues/24    "readFile: Passing in null options with a callback throws an error"
+[#23]: https://github.com/jprichardson/node-jsonfile/pull/23      "Add appendFile and appendFileSync"
+[#22]: https://github.com/jprichardson/node-jsonfile/issues/22    "Default value for spaces in readme.md is outdated"
+[#21]: https://github.com/jprichardson/node-jsonfile/pull/21      "Update license attribute"
+[#20]: https://github.com/jprichardson/node-jsonfile/issues/20    "Add simple caching functionallity"
+[#19]: https://github.com/jprichardson/node-jsonfile/pull/19      "Add appendFileSync method"
+[#18]: https://github.com/jprichardson/node-jsonfile/issues/18    "Add updateFile and updateFileSync methods"
+[#17]: https://github.com/jprichardson/node-jsonfile/issues/17    "seem read & write sync has sequentially problem"
+[#16]: https://github.com/jprichardson/node-jsonfile/pull/16      "export spaces defaulted to null"
+[#15]: https://github.com/jprichardson/node-jsonfile/issues/15    "`jsonfile.spaces` should default to `null`"
+[#14]: https://github.com/jprichardson/node-jsonfile/pull/14      "Add EOL at EOF"
+[#13]: https://github.com/jprichardson/node-jsonfile/issues/13    "Add a final newline"
+[#12]: https://github.com/jprichardson/node-jsonfile/issues/12    "readFile doesn't accept options"
+[#11]: https://github.com/jprichardson/node-jsonfile/pull/11      "Added try,catch to readFileSync"
+[#10]: https://github.com/jprichardson/node-jsonfile/issues/10    "No output or error from writeFile"
+[#9]: https://github.com/jprichardson/node-jsonfile/pull/9        "Change 'js' to 'jf' in example."
+[#8]: https://github.com/jprichardson/node-jsonfile/pull/8        "Updated forgotten module.exports to me."
+[#7]: https://github.com/jprichardson/node-jsonfile/pull/7        "Add file name in error message"
+[#6]: https://github.com/jprichardson/node-jsonfile/pull/6        "Use graceful-fs when possible"
+[#5]: https://github.com/jprichardson/node-jsonfile/pull/5        "Jsonfile doesn't behave nicely when used inside a test suite."
+[#4]: https://github.com/jprichardson/node-jsonfile/pull/4        "Added options parameter to writeFile and writeFileSync"
+[#3]: https://github.com/jprichardson/node-jsonfile/issues/3      "test2"
+[#2]: https://github.com/jprichardson/node-jsonfile/issues/2      "homepage field must be a string url. Deleted."
+[#1]: https://github.com/jprichardson/node-jsonfile/pull/1        "adding an `.npmignore` file"
diff --git a/node_modules/get-uri/node_modules/jsonfile/LICENSE b/node_modules/get-uri/node_modules/jsonfile/LICENSE
new file mode 100644
index 0000000..cb7e807
--- /dev/null
+++ b/node_modules/get-uri/node_modules/jsonfile/LICENSE
@@ -0,0 +1,15 @@
+(The MIT License)
+
+Copyright (c) 2012-2015, JP Richardson <[email protected]>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
+(the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify,
+ merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
+OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/get-uri/node_modules/jsonfile/README.md b/node_modules/get-uri/node_modules/jsonfile/README.md
new file mode 100644
index 0000000..721685c
--- /dev/null
+++ b/node_modules/get-uri/node_modules/jsonfile/README.md
@@ -0,0 +1,168 @@
+Node.js - jsonfile
+================
+
+Easily read/write JSON files.
+
+[![npm Package](https://img.shields.io/npm/v/jsonfile.svg?style=flat-square)](https://www.npmjs.org/package/jsonfile)
+[![build status](https://secure.travis-ci.org/jprichardson/node-jsonfile.svg)](http://travis-ci.org/jprichardson/node-jsonfile)
+[![windows Build status](https://img.shields.io/appveyor/ci/jprichardson/node-jsonfile/master.svg?label=windows%20build)](https://ci.appveyor.com/project/jprichardson/node-jsonfile/branch/master)
+
+<a href="https://github.com/feross/standard"><img src="https://cdn.rawgit.com/feross/standard/master/sticker.svg" alt="Standard JavaScript" width="100"></a>
+
+Why?
+----
+
+Writing `JSON.stringify()` and then `fs.writeFile()` and `JSON.parse()` with `fs.readFile()` enclosed in `try/catch` blocks became annoying.
+
+
+
+Installation
+------------
+
+    npm install --save jsonfile
+
+
+
+API
+---
+
+### readFile(filename, [options], callback)
+
+`options` (`object`, default `undefined`): Pass in any `fs.readFile` options or set `reviver` for a [JSON reviver](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse).
+  - `throws` (`boolean`, default: `true`). If `JSON.parse` throws an error, pass this error to the callback.
+  If `false`, returns `null` for the object.
+
+
+```js
+var jsonfile = require('jsonfile')
+var file = '/tmp/data.json'
+jsonfile.readFile(file, function(err, obj) {
+  console.dir(obj)
+})
+```
+
+
+### readFileSync(filename, [options])
+
+`options` (`object`, default `undefined`): Pass in any `fs.readFileSync` options or set `reviver` for a [JSON reviver](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse).
+- `throws` (`boolean`, default: `true`). If an error is encountered reading or parsing the file, throw the error. If `false`, returns `null` for the object.
+
+```js
+var jsonfile = require('jsonfile')
+var file = '/tmp/data.json'
+
+console.dir(jsonfile.readFileSync(file))
+```
+
+
+### writeFile(filename, obj, [options], callback)
+
+`options`: Pass in any `fs.writeFile` options or set `replacer` for a [JSON replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). Can also pass in `spaces` and override `EOL` string.
+
+
+```js
+var jsonfile = require('jsonfile')
+
+var file = '/tmp/data.json'
+var obj = {name: 'JP'}
+
+jsonfile.writeFile(file, obj, function (err) {
+  console.error(err)
+})
+```
+
+**formatting with spaces:**
+
+```js
+var jsonfile = require('jsonfile')
+
+var file = '/tmp/data.json'
+var obj = {name: 'JP'}
+
+jsonfile.writeFile(file, obj, {spaces: 2}, function(err) {
+  console.error(err)
+})
+```
+
+**overriding EOL:**
+
+```js
+var jsonfile = require('jsonfile')
+
+var file = '/tmp/data.json'
+var obj = {name: 'JP'}
+
+jsonfile.writeFile(file, obj, {spaces: 2, EOL: '\r\n'}, function(err) {
+  console.error(err)
+})
+```
+
+**appending to an existing JSON file:**
+
+You can use `fs.writeFile` option `{flag: 'a'}` to achieve this.
+
+```js
+var jsonfile = require('jsonfile')
+
+var file = '/tmp/mayAlreadyExistedData.json'
+var obj = {name: 'JP'}
+
+jsonfile.writeFile(file, obj, {flag: 'a'}, function (err) {
+  console.error(err)
+})
+```
+
+### writeFileSync(filename, obj, [options])
+
+`options`: Pass in any `fs.writeFileSync` options or set `replacer` for a [JSON replacer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify). Can also pass in `spaces` and override `EOL` string.
+
+```js
+var jsonfile = require('jsonfile')
+
+var file = '/tmp/data.json'
+var obj = {name: 'JP'}
+
+jsonfile.writeFileSync(file, obj)
+```
+
+**formatting with spaces:**
+
+```js
+var jsonfile = require('jsonfile')
+
+var file = '/tmp/data.json'
+var obj = {name: 'JP'}
+
+jsonfile.writeFileSync(file, obj, {spaces: 2})
+```
+
+**overriding EOL:**
+
+```js
+var jsonfile = require('jsonfile')
+
+var file = '/tmp/data.json'
+var obj = {name: 'JP'}
+
+jsonfile.writeFileSync(file, obj, {spaces: 2, EOL: '\r\n'})
+```
+
+**appending to an existing JSON file:**
+
+You can use `fs.writeFileSync` option `{flag: 'a'}` to achieve this.
+
+```js
+var jsonfile = require('jsonfile')
+
+var file = '/tmp/mayAlreadyExistedData.json'
+var obj = {name: 'JP'}
+
+jsonfile.writeFileSync(file, obj, {flag: 'a'})
+```
+
+License
+-------
+
+(MIT License)
+
+Copyright 2012-2016, JP Richardson  <[email protected]>
diff --git a/node_modules/get-uri/node_modules/jsonfile/index.js b/node_modules/get-uri/node_modules/jsonfile/index.js
new file mode 100644
index 0000000..d1e5827
--- /dev/null
+++ b/node_modules/get-uri/node_modules/jsonfile/index.js
@@ -0,0 +1,134 @@
+var _fs
+try {
+  _fs = require('graceful-fs')
+} catch (_) {
+  _fs = require('fs')
+}
+
+function readFile (file, options, callback) {
+  if (callback == null) {
+    callback = options
+    options = {}
+  }
+
+  if (typeof options === 'string') {
+    options = {encoding: options}
+  }
+
+  options = options || {}
+  var fs = options.fs || _fs
+
+  var shouldThrow = true
+  if ('throws' in options) {
+    shouldThrow = options.throws
+  }
+
+  fs.readFile(file, options, function (err, data) {
+    if (err) return callback(err)
+
+    data = stripBom(data)
+
+    var obj
+    try {
+      obj = JSON.parse(data, options ? options.reviver : null)
+    } catch (err2) {
+      if (shouldThrow) {
+        err2.message = file + ': ' + err2.message
+        return callback(err2)
+      } else {
+        return callback(null, null)
+      }
+    }
+
+    callback(null, obj)
+  })
+}
+
+function readFileSync (file, options) {
+  options = options || {}
+  if (typeof options === 'string') {
+    options = {encoding: options}
+  }
+
+  var fs = options.fs || _fs
+
+  var shouldThrow = true
+  if ('throws' in options) {
+    shouldThrow = options.throws
+  }
+
+  try {
+    var content = fs.readFileSync(file, options)
+    content = stripBom(content)
+    return JSON.parse(content, options.reviver)
+  } catch (err) {
+    if (shouldThrow) {
+      err.message = file + ': ' + err.message
+      throw err
+    } else {
+      return null
+    }
+  }
+}
+
+function stringify (obj, options) {
+  var spaces
+  var EOL = '\n'
+  if (typeof options === 'object' && options !== null) {
+    if (options.spaces) {
+      spaces = options.spaces
+    }
+    if (options.EOL) {
+      EOL = options.EOL
+    }
+  }
+
+  var str = JSON.stringify(obj, options ? options.replacer : null, spaces)
+
+  return str.replace(/\n/g, EOL) + EOL
+}
+
+function writeFile (file, obj, options, callback) {
+  if (callback == null) {
+    callback = options
+    options = {}
+  }
+  options = options || {}
+  var fs = options.fs || _fs
+
+  var str = ''
+  try {
+    str = stringify(obj, options)
+  } catch (err) {
+    // Need to return whether a callback was passed or not
+    if (callback) callback(err, null)
+    return
+  }
+
+  fs.writeFile(file, str, options, callback)
+}
+
+function writeFileSync (file, obj, options) {
+  options = options || {}
+  var fs = options.fs || _fs
+
+  var str = stringify(obj, options)
+  // not sure if fs.writeFileSync returns anything, but just in case
+  return fs.writeFileSync(file, str, options)
+}
+
+function stripBom (content) {
+  // we do this because JSON.parse would convert it to a utf8 string if encoding wasn't specified
+  if (Buffer.isBuffer(content)) content = content.toString('utf8')
+  content = content.replace(/^\uFEFF/, '')
+  return content
+}
+
+var jsonfile = {
+  readFile: readFile,
+  readFileSync: readFileSync,
+  writeFile: writeFile,
+  writeFileSync: writeFileSync
+}
+
+module.exports = jsonfile
diff --git a/node_modules/get-uri/node_modules/jsonfile/package.json b/node_modules/get-uri/node_modules/jsonfile/package.json
new file mode 100644
index 0000000..29e783f
--- /dev/null
+++ b/node_modules/get-uri/node_modules/jsonfile/package.json
@@ -0,0 +1,37 @@
+{
+  "name": "jsonfile",
+  "version": "4.0.0",
+  "description": "Easily read/write JSON files.",
+  "repository": {
+    "type": "git",
+    "url": "[email protected]:jprichardson/node-jsonfile.git"
+  },
+  "keywords": [
+    "read",
+    "write",
+    "file",
+    "json",
+    "fs",
+    "fs-extra"
+  ],
+  "author": "JP Richardson <[email protected]>",
+  "license": "MIT",
+  "dependencies": {},
+  "optionalDependencies": {
+    "graceful-fs": "^4.1.6"
+  },
+  "devDependencies": {
+    "mocha": "2.x",
+    "rimraf": "^2.4.0",
+    "standard": "^10.0.3"
+  },
+  "main": "index.js",
+  "files": [
+    "index.js"
+  ],
+  "scripts": {
+    "lint": "standard",
+    "test": "npm run lint && npm run unit",
+    "unit": "mocha"
+  }
+}
diff --git a/node_modules/get-uri/node_modules/universalify/LICENSE b/node_modules/get-uri/node_modules/universalify/LICENSE
new file mode 100644
index 0000000..514e84e
--- /dev/null
+++ b/node_modules/get-uri/node_modules/universalify/LICENSE
@@ -0,0 +1,20 @@
+(The MIT License)
+
+Copyright (c) 2017, Ryan Zimmerman <[email protected]>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the 'Software'), to deal in
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
+the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
+COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/get-uri/node_modules/universalify/README.md b/node_modules/get-uri/node_modules/universalify/README.md
new file mode 100644
index 0000000..487067b
--- /dev/null
+++ b/node_modules/get-uri/node_modules/universalify/README.md
@@ -0,0 +1,76 @@
+# universalify
+
+[![Travis branch](https://img.shields.io/travis/RyanZim/universalify/master.svg)](https://travis-ci.org/RyanZim/universalify)
+![Coveralls github branch](https://img.shields.io/coveralls/github/RyanZim/universalify/master.svg)
+![npm](https://img.shields.io/npm/dm/universalify.svg)
+![npm](https://img.shields.io/npm/l/universalify.svg)
+
+Make a callback- or promise-based function support both promises and callbacks.
+
+Uses the native promise implementation.
+
+## Installation
+
+```bash
+npm install universalify
+```
+
+## API
+
+### `universalify.fromCallback(fn)`
+
+Takes a callback-based function to universalify, and returns the universalified  function.
+
+Function must take a callback as the last parameter that will be called with the signature `(error, result)`. `universalify` does not support calling the callback with more than three arguments, and does not ensure that the callback is only called once.
+
+```js
+function callbackFn (n, cb) {
+  setTimeout(() => cb(null, n), 15)
+}
+
+const fn = universalify.fromCallback(callbackFn)
+
+// Works with Promises:
+fn('Hello World!')
+.then(result => console.log(result)) // -> Hello World!
+.catch(error => console.error(error))
+
+// Works with Callbacks:
+fn('Hi!', (error, result) => {
+  if (error) return console.error(error)
+  console.log(result)
+  // -> Hi!
+})
+```
+
+### `universalify.fromPromise(fn)`
+
+Takes a promise-based function to universalify, and returns the universalified  function.
+
+Function must return a valid JS promise. `universalify` does not ensure that a valid promise is returned.
+
+```js
+function promiseFn (n) {
+  return new Promise(resolve => {
+    setTimeout(() => resolve(n), 15)
+  })
+}
+
+const fn = universalify.fromPromise(promiseFn)
+
+// Works with Promises:
+fn('Hello World!')
+.then(result => console.log(result)) // -> Hello World!
+.catch(error => console.error(error))
+
+// Works with Callbacks:
+fn('Hi!', (error, result) => {
+  if (error) return console.error(error)
+  console.log(result)
+  // -> Hi!
+})
+```
+
+## License
+
+MIT
diff --git a/node_modules/get-uri/node_modules/universalify/index.js b/node_modules/get-uri/node_modules/universalify/index.js
new file mode 100644
index 0000000..0c9ba39
--- /dev/null
+++ b/node_modules/get-uri/node_modules/universalify/index.js
@@ -0,0 +1,25 @@
+'use strict'
+
+exports.fromCallback = function (fn) {
+  return Object.defineProperty(function () {
+    if (typeof arguments[arguments.length - 1] === 'function') fn.apply(this, arguments)
+    else {
+      return new Promise((resolve, reject) => {
+        arguments[arguments.length] = (err, res) => {
+          if (err) return reject(err)
+          resolve(res)
+        }
+        arguments.length++
+        fn.apply(this, arguments)
+      })
+    }
+  }, 'name', { value: fn.name })
+}
+
+exports.fromPromise = function (fn) {
+  return Object.defineProperty(function () {
+    const cb = arguments[arguments.length - 1]
+    if (typeof cb !== 'function') return fn.apply(this, arguments)
+    else fn.apply(this, arguments).then(r => cb(null, r), cb)
+  }, 'name', { value: fn.name })
+}
diff --git a/node_modules/get-uri/node_modules/universalify/package.json b/node_modules/get-uri/node_modules/universalify/package.json
new file mode 100644
index 0000000..321b192
--- /dev/null
+++ b/node_modules/get-uri/node_modules/universalify/package.json
@@ -0,0 +1,34 @@
+{
+  "name": "universalify",
+  "version": "0.1.2",
+  "description": "Make a callback- or promise-based function support both promises and callbacks.",
+  "keywords": [
+    "callback",
+    "native",
+    "promise"
+  ],
+  "homepage": "https://github.com/RyanZim/universalify#readme",
+  "bugs": "https://github.com/RyanZim/universalify/issues",
+  "license": "MIT",
+  "author": "Ryan Zimmerman <[email protected]>",
+  "files": [
+    "index.js"
+  ],
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/RyanZim/universalify.git"
+  },
+  "scripts": {
+    "test": "standard && nyc tape test/*.js | colortape"
+  },
+  "devDependencies": {
+    "colortape": "^0.1.2",
+    "coveralls": "^3.0.1",
+    "nyc": "^10.2.0",
+    "standard": "^10.0.1",
+    "tape": "^4.6.3"
+  },
+  "engines": {
+    "node": ">= 4.0.0"
+  }
+}
diff --git a/node_modules/get-uri/package.json b/node_modules/get-uri/package.json
new file mode 100644
index 0000000..ca4afb6
--- /dev/null
+++ b/node_modules/get-uri/package.json
@@ -0,0 +1,60 @@
+{
+  "name": "get-uri",
+  "version": "6.0.1",
+  "description": "Returns a `stream.Readable` from a URI string",
+  "main": "./dist/index.js",
+  "types": "./dist/index.d.ts",
+  "files": [
+    "dist"
+  ],
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/TooTallNate/proxy-agents.git",
+    "directory": "packages/get-uri"
+  },
+  "keywords": [
+    "uri",
+    "read",
+    "readstream",
+    "stream",
+    "get",
+    "http",
+    "https",
+    "ftp",
+    "file",
+    "data",
+    "protocol",
+    "url"
+  ],
+  "author": "Nathan Rajlich <[email protected]> (http://n8.io/)",
+  "license": "MIT",
+  "devDependencies": {
+    "@types/debug": "^4.1.7",
+    "@types/fs-extra": "^8.1.2",
+    "@types/ftpd": "^0.2.35",
+    "@types/jest": "^29.5.1",
+    "@types/node": "^14.18.45",
+    "async-listen": "^2.1.0",
+    "ftpd": "https://files-jg1s1zt9l.n8.io/ftpd-v0.2.14.tgz",
+    "jest": "^29.5.0",
+    "st": "^1.2.2",
+    "ts-jest": "^29.1.0",
+    "typescript": "^5.0.4",
+    "tsconfig": "0.0.0"
+  },
+  "dependencies": {
+    "basic-ftp": "^5.0.2",
+    "data-uri-to-buffer": "^5.0.1",
+    "debug": "^4.3.4",
+    "fs-extra": "^8.1.0"
+  },
+  "engines": {
+    "node": ">= 14"
+  },
+  "scripts": {
+    "build": "tsc",
+    "test": "jest --env node --verbose --bail",
+    "lint": "eslint . --ext .ts",
+    "pack": "node ../../scripts/pack.mjs"
+  }
+}
diff --git a/node_modules/ip/lib/ip.js b/node_modules/ip/lib/ip.js
index 4b2adb5..5b5ccc2 100644
--- a/node_modules/ip/lib/ip.js
+++ b/node_modules/ip/lib/ip.js
@@ -1,24 +1,24 @@
-const ip = exports;
-const { Buffer } = require('buffer');
-const os = require('os');
+var ip = exports;
+var { Buffer } = require('buffer');
+var os = require('os');
 
 ip.toBuffer = function (ip, buff, offset) {
   offset = ~~offset;
 
-  let result;
+  var result;
 
   if (this.isV4Format(ip)) {
-    result = buff || Buffer.alloc(offset + 4);
+    result = buff || new Buffer(offset + 4);
     ip.split(/\./g).map((byte) => {
       result[offset++] = parseInt(byte, 10) & 0xff;
     });
   } else if (this.isV6Format(ip)) {
-    const sections = ip.split(':', 8);
+    var sections = ip.split(':', 8);
 
-    let i;
+    var i;
     for (i = 0; i < sections.length; i++) {
-      const isv4 = this.isV4Format(sections[i]);
-      let v4Buffer;
+      var isv4 = this.isV4Format(sections[i]);
+      var v4Buffer;
 
       if (isv4) {
         v4Buffer = this.toBuffer(sections[i]);
@@ -36,16 +36,16 @@
       while (sections.length < 8) sections.push('0');
     } else if (sections.length < 8) {
       for (i = 0; i < sections.length && sections[i] !== ''; i++);
-      const argv = [i, 1];
+      var argv = [i, 1];
       for (i = 9 - sections.length; i > 0; i--) {
         argv.push('0');
       }
-      sections.splice(...argv);
+      sections.splice.apply(sections, argv);
     }
 
-    result = buff || Buffer.alloc(offset + 16);
+    result = buff || new Buffer(offset + 16);
     for (i = 0; i < sections.length; i++) {
-      const word = parseInt(sections[i], 16);
+      var word = parseInt(sections[i], 16);
       result[offset++] = (word >> 8) & 0xff;
       result[offset++] = word & 0xff;
     }
@@ -62,16 +62,17 @@
   offset = ~~offset;
   length = length || (buff.length - offset);
 
-  let result = [];
+  var result = [];
+  var i;
   if (length === 4) {
     // IPv4
-    for (let i = 0; i < length; i++) {
+    for (i = 0; i < length; i++) {
       result.push(buff[offset + i]);
     }
     result = result.join('.');
   } else if (length === 16) {
     // IPv6
-    for (let i = 0; i < length; i += 2) {
+    for (i = 0; i < length; i += 2) {
       result.push(buff.readUInt16BE(offset + i).toString(16));
     }
     result = result.join(':');
@@ -82,8 +83,8 @@
   return result;
 };
 
-const ipv4Regex = /^(\d{1,3}\.){3,3}\d{1,3}$/;
-const ipv6Regex = /^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i;
+var ipv4Regex = /^(\d{1,3}\.){3,3}\d{1,3}$/;
+var ipv6Regex = /^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i;
 
 ip.isV4Format = function (ip) {
   return ipv4Regex.test(ip);
@@ -110,14 +111,14 @@
     family = _normalizeFamily(family);
   }
 
-  let len = 4;
+  var len = 4;
   if (family === 'ipv6') {
     len = 16;
   }
-  const buff = Buffer.alloc(len);
+  var buff = new Buffer(len);
 
-  for (let i = 0, n = buff.length; i < n; ++i) {
-    let bits = 8;
+  for (var i = 0, n = buff.length; i < n; ++i) {
+    var bits = 8;
     if (prefixlen < 8) {
       bits = prefixlen;
     }
@@ -133,10 +134,10 @@
   addr = ip.toBuffer(addr);
   mask = ip.toBuffer(mask);
 
-  const result = Buffer.alloc(Math.max(addr.length, mask.length));
+  var result = new Buffer(Math.max(addr.length, mask.length));
 
   // Same protocol - do bitwise and
-  let i;
+  var i;
   if (addr.length === mask.length) {
     for (i = 0; i < addr.length; i++) {
       result[i] = addr[i] & mask[i];
@@ -169,30 +170,30 @@
 };
 
 ip.cidr = function (cidrString) {
-  const cidrParts = cidrString.split('/');
+  var cidrParts = cidrString.split('/');
 
-  const addr = cidrParts[0];
+  var addr = cidrParts[0];
   if (cidrParts.length !== 2) {
     throw new Error(`invalid CIDR subnet: ${addr}`);
   }
 
-  const mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10));
+  var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10));
 
   return ip.mask(addr, mask);
 };
 
 ip.subnet = function (addr, mask) {
-  const networkAddress = ip.toLong(ip.mask(addr, mask));
+  var networkAddress = ip.toLong(ip.mask(addr, mask));
 
   // Calculate the mask's length.
-  const maskBuffer = ip.toBuffer(mask);
-  let maskLength = 0;
+  var maskBuffer = ip.toBuffer(mask);
+  var maskLength = 0;
 
-  for (let i = 0; i < maskBuffer.length; i++) {
+  for (var i = 0; i < maskBuffer.length; i++) {
     if (maskBuffer[i] === 0xff) {
       maskLength += 8;
     } else {
-      let octet = maskBuffer[i] & 0xff;
+      var octet = maskBuffer[i] & 0xff;
       while (octet) {
         octet = (octet << 1) & 0xff;
         maskLength++;
@@ -200,7 +201,7 @@
     }
   }
 
-  const numberOfAddresses = 2 ** (32 - maskLength);
+  var numberOfAddresses = Math.pow(2, 32 - maskLength);
 
   return {
     networkAddress: ip.fromLong(networkAddress),
@@ -223,48 +224,50 @@
 };
 
 ip.cidrSubnet = function (cidrString) {
-  const cidrParts = cidrString.split('/');
+  var cidrParts = cidrString.split('/');
 
-  const addr = cidrParts[0];
+  var addr = cidrParts[0];
   if (cidrParts.length !== 2) {
     throw new Error(`invalid CIDR subnet: ${addr}`);
   }
 
-  const mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10));
+  var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10));
 
   return ip.subnet(addr, mask);
 };
 
 ip.not = function (addr) {
-  const buff = ip.toBuffer(addr);
-  for (let i = 0; i < buff.length; i++) {
+  var buff = ip.toBuffer(addr);
+  for (var i = 0; i < buff.length; i++) {
     buff[i] = 0xff ^ buff[i];
   }
   return ip.toString(buff);
 };
 
 ip.or = function (a, b) {
+  var i;
+
   a = ip.toBuffer(a);
   b = ip.toBuffer(b);
 
   // same protocol
   if (a.length === b.length) {
-    for (let i = 0; i < a.length; ++i) {
+    for (i = 0; i < a.length; ++i) {
       a[i] |= b[i];
     }
     return ip.toString(a);
 
   // mixed protocols
   }
-  let buff = a;
-  let other = b;
+  var buff = a;
+  var other = b;
   if (b.length > a.length) {
     buff = b;
     other = a;
   }
 
-  const offset = buff.length - other.length;
-  for (let i = offset; i < buff.length; ++i) {
+  var offset = buff.length - other.length;
+  for (i = offset; i < buff.length; ++i) {
     buff[i] |= other[i - offset];
   }
 
@@ -272,12 +275,14 @@
 };
 
 ip.isEqual = function (a, b) {
+  var i;
+
   a = ip.toBuffer(a);
   b = ip.toBuffer(b);
 
   // Same protocol
   if (a.length === b.length) {
-    for (let i = 0; i < a.length; i++) {
+    for (i = 0; i < a.length; i++) {
       if (a[i] !== b[i]) return false;
     }
     return true;
@@ -285,20 +290,20 @@
 
   // Swap
   if (b.length === 4) {
-    const t = b;
+    var t = b;
     b = a;
     a = t;
   }
 
   // a - IPv4, b - IPv6
-  for (let i = 0; i < 10; i++) {
+  for (i = 0; i < 10; i++) {
     if (b[i] !== 0) return false;
   }
 
-  const word = b.readUInt16BE(10);
+  var word = b.readUInt16BE(10);
   if (word !== 0 && word !== 0xffff) return false;
 
-  for (let i = 0; i < 4; i++) {
+  for (i = 0; i < 4; i++) {
     if (a[i] !== b[i + 12]) return false;
   }
 
@@ -360,7 +365,7 @@
 //   * undefined: First address with `ipv4` or loopback address `127.0.0.1`.
 //
 ip.address = function (name, family) {
-  const interfaces = os.networkInterfaces();
+  var interfaces = os.networkInterfaces();
 
   //
   // Default to `ipv4`
@@ -372,8 +377,8 @@
   // return the address.
   //
   if (name && name !== 'private' && name !== 'public') {
-    const res = interfaces[name].filter((details) => {
-      const itemFamily = _normalizeFamily(details.family);
+    var res = interfaces[name].filter((details) => {
+      var itemFamily = _normalizeFamily(details.family);
       return itemFamily === family;
     });
     if (res.length === 0) {
@@ -382,12 +387,12 @@
     return res[0].address;
   }
 
-  const all = Object.keys(interfaces).map((nic) => {
+  var all = Object.keys(interfaces).map((nic) => {
     //
     // Note: name will only be `public` or `private`
     // when this is called.
     //
-    const addresses = interfaces[nic].filter((details) => {
+    var addresses = interfaces[nic].filter((details) => {
       details.family = _normalizeFamily(details.family);
       if (details.family !== family || ip.isLoopback(details.address)) {
         return false;
@@ -406,7 +411,7 @@
 };
 
 ip.toLong = function (ip) {
-  let ipl = 0;
+  var ipl = 0;
   ip.split('.').forEach((octet) => {
     ipl <<= 8;
     ipl += parseInt(octet);
diff --git a/node_modules/ip/package.json b/node_modules/ip/package.json
index f0d95e9..70e1a4f 100644
--- a/node_modules/ip/package.json
+++ b/node_modules/ip/package.json
@@ -1,6 +1,6 @@
 {
   "name": "ip",
-  "version": "2.0.0",
+  "version": "1.1.8",
   "author": "Fedor Indutny <[email protected]>",
   "homepage": "https://github.com/indutny/node-ip",
   "repository": {
diff --git a/node_modules/mitt/dist/mitt.js.map b/node_modules/mitt/dist/mitt.js.map
index 340dd06..d726004 100644
--- a/node_modules/mitt/dist/mitt.js.map
+++ b/node_modules/mitt/dist/mitt.js.map
@@ -1 +1 @@
-{"version":3,"file":"mitt.js","sources":["../src/index.ts"],"sourcesContent":["export type EventType = string | symbol;\n\n// An event handler can take an optional event argument\n// and should not return a value\nexport type Handler<T = unknown> = (event: T) => void;\nexport type WildcardHandler<T = Record<string, unknown>> = (\n\ttype: keyof T,\n\tevent: T[keyof T]\n) => void;\n\n// An array of all currently registered event handlers for a type\nexport type EventHandlerList<T = unknown> = Array<Handler<T>>;\nexport type WildCardEventHandlerList<T = Record<string, unknown>> = Array<WildcardHandler<T>>;\n\n// A map of event types and their corresponding event handlers.\nexport type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<\n\tkeyof Events | '*',\n\tEventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>\n>;\n\nexport interface Emitter<Events extends Record<EventType, unknown>> {\n\tall: EventHandlerMap<Events>;\n\n\ton<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;\n\ton(type: '*', handler: WildcardHandler<Events>): void;\n\n\toff<Key extends keyof Events>(type: Key, handler?: Handler<Events[Key]>): void;\n\toff(type: '*', handler: WildcardHandler<Events>): void;\n\n\temit<Key extends keyof Events>(type: Key, event: Events[Key]): void;\n\temit<Key extends keyof Events>(type: undefined extends Events[Key] ? Key : never): void;\n}\n\n/**\n * Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nexport default function mitt<Events extends Record<EventType, unknown>>(\n\tall?: EventHandlerMap<Events>\n): Emitter<Events> {\n\ttype GenericEventHandler =\n\t\t| Handler<Events[keyof Events]>\n\t\t| WildcardHandler<Events>;\n\tall = all || new Map();\n\n\treturn {\n\n\t\t/**\n\t\t * A Map of event names to registered handler functions.\n\t\t */\n\t\tall,\n\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t * @param {string|symbol} type Type of event to listen for, or `'*'` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton<Key extends keyof Events>(type: Key, handler: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\thandlers.push(handler);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tall!.set(type, [handler] as EventHandlerList<Events[keyof Events]>);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t * If `handler` is omitted, all handlers of the given type are removed.\n\t\t * @param {string|symbol} type Type of event to unregister `handler` from, or `'*'`\n\t\t * @param {Function} [handler] Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff<Key extends keyof Events>(type: Key, handler?: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\tif (handler) {\n\t\t\t\t\thandlers.splice(handlers.indexOf(handler) >>> 0, 1);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tall!.set(type, []);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `'*'` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * Note: Manually firing '*' handlers is not supported.\n\t\t *\n\t\t * @param {string|symbol} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit<Key extends keyof Events>(type: Key, evt?: Events[Key]) {\n\t\t\tlet handlers = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as EventHandlerList<Events[keyof Events]>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(evt!);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\thandlers = all!.get('*');\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as WildCardEventHandlerList<Events>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(type, evt!);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n}\n"],"names":["all","Map","on","type","handler","handlers","get","push","set","off","splice","indexOf","emit","evt","slice","map"],"mappings":"wBAuCCA,GAOA,MAAO,CAKNA,IAPDA,EAAMA,GAAO,IAAIC,IAehBC,YAA6BC,EAAWC,GACvC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,EACHA,EAASE,KAAKH,GAGdJ,EAAKQ,IAAIL,EAAM,CAACC,KAWlBK,aAA8BN,EAAWC,GACxC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,IACCD,EACHC,EAASK,OAAOL,EAASM,QAAQP,KAAa,EAAG,GAGjDJ,EAAKQ,IAAIL,EAAM,MAelBS,cAA+BT,EAAWU,GACzC,IAAIR,EAAWL,EAAKM,IAAIH,GACpBE,GACFA,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQS,MAIXR,EAAWL,EAAKM,IAAI,OAElBD,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQD,EAAMU"}
\ No newline at end of file
+{"version":3,"file":"mitt.js","sources":["../src/index.ts"],"sourcesContent":["export type EventType = string | symbol;\n\n// An event handler can take an optional event argument\n// and should not return a value\nexport type Handler<T = unknown> = (event: T) => void;\nexport type WildcardHandler<T = Record<string, unknown>> = (\n\ttype: keyof T,\n\tevent: T[keyof T]\n) => void;\n\n// An array of all currently registered event handlers for a type\nexport type EventHandlerList<T = unknown> = Array<Handler<T>>;\nexport type WildCardEventHandlerList<T = Record<string, unknown>> = Array<\n\tWildcardHandler<T>\n>;\n\n// A map of event types and their corresponding event handlers.\nexport type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<\n\tkeyof Events | '*',\n\tEventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>\n>;\n\nexport interface Emitter<Events extends Record<EventType, unknown>> {\n\tall: EventHandlerMap<Events>;\n\n\ton<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;\n\ton(type: '*', handler: WildcardHandler<Events>): void;\n\n\toff<Key extends keyof Events>(\n\t\ttype: Key,\n\t\thandler?: Handler<Events[Key]>\n\t): void;\n\toff(type: '*', handler: WildcardHandler<Events>): void;\n\n\temit<Key extends keyof Events>(type: Key, event: Events[Key]): void;\n\temit<Key extends keyof Events>(\n\t\ttype: undefined extends Events[Key] ? Key : never\n\t): void;\n}\n\n/**\n * Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nexport default function mitt<Events extends Record<EventType, unknown>>(\n\tall?: EventHandlerMap<Events>\n): Emitter<Events> {\n\ttype GenericEventHandler =\n\t\t| Handler<Events[keyof Events]>\n\t\t| WildcardHandler<Events>;\n\tall = all || new Map();\n\n\treturn {\n\t\t/**\n\t\t * A Map of event names to registered handler functions.\n\t\t */\n\t\tall,\n\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t * @param {string|symbol} type Type of event to listen for, or `'*'` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton<Key extends keyof Events>(type: Key, handler: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\thandlers.push(handler);\n\t\t\t} else {\n\t\t\t\tall!.set(type, [handler] as EventHandlerList<Events[keyof Events]>);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t * If `handler` is omitted, all handlers of the given type are removed.\n\t\t * @param {string|symbol} type Type of event to unregister `handler` from (`'*'` to remove a wildcard handler)\n\t\t * @param {Function} [handler] Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff<Key extends keyof Events>(type: Key, handler?: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\tif (handler) {\n\t\t\t\t\thandlers.splice(handlers.indexOf(handler) >>> 0, 1);\n\t\t\t\t} else {\n\t\t\t\t\tall!.set(type, []);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `'*'` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * Note: Manually firing '*' handlers is not supported.\n\t\t *\n\t\t * @param {string|symbol} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit<Key extends keyof Events>(type: Key, evt?: Events[Key]) {\n\t\t\tlet handlers = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as EventHandlerList<Events[keyof Events]>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(evt!);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\thandlers = all!.get('*');\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as WildCardEventHandlerList<Events>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(type, evt!);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n}\n"],"names":["all","Map","on","type","handler","handlers","get","push","set","off","splice","indexOf","emit","evt","slice","map"],"mappings":"wBA8CCA,GAOA,MAAO,CAINA,IANDA,EAAMA,GAAO,IAAIC,IAchBC,YAA6BC,EAAWC,GACvC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,EACHA,EAASE,KAAKH,GAEdJ,EAAKQ,IAAIL,EAAM,CAACC,KAWlBK,aAA8BN,EAAWC,GACxC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,IACCD,EACHC,EAASK,OAAOL,EAASM,QAAQP,KAAa,EAAG,GAEjDJ,EAAKQ,IAAIL,EAAM,MAelBS,cAA+BT,EAAWU,GACzC,IAAIR,EAAWL,EAAKM,IAAIH,GACpBE,GACFA,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQS,MAIXR,EAAWL,EAAKM,IAAI,OAElBD,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQD,EAAMU"}
\ No newline at end of file
diff --git a/node_modules/mitt/dist/mitt.mjs.map b/node_modules/mitt/dist/mitt.mjs.map
index dc7fb5f..c4204e8 100644
--- a/node_modules/mitt/dist/mitt.mjs.map
+++ b/node_modules/mitt/dist/mitt.mjs.map
@@ -1 +1 @@
-{"version":3,"file":"mitt.mjs","sources":["../src/index.ts"],"sourcesContent":["export type EventType = string | symbol;\n\n// An event handler can take an optional event argument\n// and should not return a value\nexport type Handler<T = unknown> = (event: T) => void;\nexport type WildcardHandler<T = Record<string, unknown>> = (\n\ttype: keyof T,\n\tevent: T[keyof T]\n) => void;\n\n// An array of all currently registered event handlers for a type\nexport type EventHandlerList<T = unknown> = Array<Handler<T>>;\nexport type WildCardEventHandlerList<T = Record<string, unknown>> = Array<WildcardHandler<T>>;\n\n// A map of event types and their corresponding event handlers.\nexport type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<\n\tkeyof Events | '*',\n\tEventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>\n>;\n\nexport interface Emitter<Events extends Record<EventType, unknown>> {\n\tall: EventHandlerMap<Events>;\n\n\ton<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;\n\ton(type: '*', handler: WildcardHandler<Events>): void;\n\n\toff<Key extends keyof Events>(type: Key, handler?: Handler<Events[Key]>): void;\n\toff(type: '*', handler: WildcardHandler<Events>): void;\n\n\temit<Key extends keyof Events>(type: Key, event: Events[Key]): void;\n\temit<Key extends keyof Events>(type: undefined extends Events[Key] ? Key : never): void;\n}\n\n/**\n * Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nexport default function mitt<Events extends Record<EventType, unknown>>(\n\tall?: EventHandlerMap<Events>\n): Emitter<Events> {\n\ttype GenericEventHandler =\n\t\t| Handler<Events[keyof Events]>\n\t\t| WildcardHandler<Events>;\n\tall = all || new Map();\n\n\treturn {\n\n\t\t/**\n\t\t * A Map of event names to registered handler functions.\n\t\t */\n\t\tall,\n\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t * @param {string|symbol} type Type of event to listen for, or `'*'` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton<Key extends keyof Events>(type: Key, handler: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\thandlers.push(handler);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tall!.set(type, [handler] as EventHandlerList<Events[keyof Events]>);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t * If `handler` is omitted, all handlers of the given type are removed.\n\t\t * @param {string|symbol} type Type of event to unregister `handler` from, or `'*'`\n\t\t * @param {Function} [handler] Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff<Key extends keyof Events>(type: Key, handler?: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\tif (handler) {\n\t\t\t\t\thandlers.splice(handlers.indexOf(handler) >>> 0, 1);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tall!.set(type, []);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `'*'` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * Note: Manually firing '*' handlers is not supported.\n\t\t *\n\t\t * @param {string|symbol} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit<Key extends keyof Events>(type: Key, evt?: Events[Key]) {\n\t\t\tlet handlers = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as EventHandlerList<Events[keyof Events]>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(evt!);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\thandlers = all!.get('*');\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as WildCardEventHandlerList<Events>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(type, evt!);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n}\n"],"names":["all","Map","on","type","handler","handlers","get","push","set","off","splice","indexOf","emit","evt","slice","map"],"mappings":"wBAuCCA,GAOA,MAAO,CAKNA,IAPDA,EAAMA,GAAO,IAAIC,IAehBC,YAA6BC,EAAWC,GACvC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,EACHA,EAASE,KAAKH,GAGdJ,EAAKQ,IAAIL,EAAM,CAACC,KAWlBK,aAA8BN,EAAWC,GACxC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,IACCD,EACHC,EAASK,OAAOL,EAASM,QAAQP,KAAa,EAAG,GAGjDJ,EAAKQ,IAAIL,EAAM,MAelBS,cAA+BT,EAAWU,GACzC,IAAIR,EAAWL,EAAKM,IAAIH,GACpBE,GACFA,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQS,MAIXR,EAAWL,EAAKM,IAAI,OAElBD,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQD,EAAMU"}
\ No newline at end of file
+{"version":3,"file":"mitt.mjs","sources":["../src/index.ts"],"sourcesContent":["export type EventType = string | symbol;\n\n// An event handler can take an optional event argument\n// and should not return a value\nexport type Handler<T = unknown> = (event: T) => void;\nexport type WildcardHandler<T = Record<string, unknown>> = (\n\ttype: keyof T,\n\tevent: T[keyof T]\n) => void;\n\n// An array of all currently registered event handlers for a type\nexport type EventHandlerList<T = unknown> = Array<Handler<T>>;\nexport type WildCardEventHandlerList<T = Record<string, unknown>> = Array<\n\tWildcardHandler<T>\n>;\n\n// A map of event types and their corresponding event handlers.\nexport type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<\n\tkeyof Events | '*',\n\tEventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>\n>;\n\nexport interface Emitter<Events extends Record<EventType, unknown>> {\n\tall: EventHandlerMap<Events>;\n\n\ton<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;\n\ton(type: '*', handler: WildcardHandler<Events>): void;\n\n\toff<Key extends keyof Events>(\n\t\ttype: Key,\n\t\thandler?: Handler<Events[Key]>\n\t): void;\n\toff(type: '*', handler: WildcardHandler<Events>): void;\n\n\temit<Key extends keyof Events>(type: Key, event: Events[Key]): void;\n\temit<Key extends keyof Events>(\n\t\ttype: undefined extends Events[Key] ? Key : never\n\t): void;\n}\n\n/**\n * Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nexport default function mitt<Events extends Record<EventType, unknown>>(\n\tall?: EventHandlerMap<Events>\n): Emitter<Events> {\n\ttype GenericEventHandler =\n\t\t| Handler<Events[keyof Events]>\n\t\t| WildcardHandler<Events>;\n\tall = all || new Map();\n\n\treturn {\n\t\t/**\n\t\t * A Map of event names to registered handler functions.\n\t\t */\n\t\tall,\n\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t * @param {string|symbol} type Type of event to listen for, or `'*'` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton<Key extends keyof Events>(type: Key, handler: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\thandlers.push(handler);\n\t\t\t} else {\n\t\t\t\tall!.set(type, [handler] as EventHandlerList<Events[keyof Events]>);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t * If `handler` is omitted, all handlers of the given type are removed.\n\t\t * @param {string|symbol} type Type of event to unregister `handler` from (`'*'` to remove a wildcard handler)\n\t\t * @param {Function} [handler] Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff<Key extends keyof Events>(type: Key, handler?: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\tif (handler) {\n\t\t\t\t\thandlers.splice(handlers.indexOf(handler) >>> 0, 1);\n\t\t\t\t} else {\n\t\t\t\t\tall!.set(type, []);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `'*'` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * Note: Manually firing '*' handlers is not supported.\n\t\t *\n\t\t * @param {string|symbol} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit<Key extends keyof Events>(type: Key, evt?: Events[Key]) {\n\t\t\tlet handlers = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as EventHandlerList<Events[keyof Events]>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(evt!);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\thandlers = all!.get('*');\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as WildCardEventHandlerList<Events>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(type, evt!);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n}\n"],"names":["all","Map","on","type","handler","handlers","get","push","set","off","splice","indexOf","emit","evt","slice","map"],"mappings":"wBA8CCA,GAOA,MAAO,CAINA,IANDA,EAAMA,GAAO,IAAIC,IAchBC,YAA6BC,EAAWC,GACvC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,EACHA,EAASE,KAAKH,GAEdJ,EAAKQ,IAAIL,EAAM,CAACC,KAWlBK,aAA8BN,EAAWC,GACxC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,IACCD,EACHC,EAASK,OAAOL,EAASM,QAAQP,KAAa,EAAG,GAEjDJ,EAAKQ,IAAIL,EAAM,MAelBS,cAA+BT,EAAWU,GACzC,IAAIR,EAAWL,EAAKM,IAAIH,GACpBE,GACFA,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQS,MAIXR,EAAWL,EAAKM,IAAI,OAElBD,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQD,EAAMU"}
\ No newline at end of file
diff --git a/node_modules/mitt/dist/mitt.umd.js.map b/node_modules/mitt/dist/mitt.umd.js.map
index 61a1d21..ebb8e62 100644
--- a/node_modules/mitt/dist/mitt.umd.js.map
+++ b/node_modules/mitt/dist/mitt.umd.js.map
@@ -1 +1 @@
-{"version":3,"file":"mitt.umd.js","sources":["../src/index.ts"],"sourcesContent":["export type EventType = string | symbol;\n\n// An event handler can take an optional event argument\n// and should not return a value\nexport type Handler<T = unknown> = (event: T) => void;\nexport type WildcardHandler<T = Record<string, unknown>> = (\n\ttype: keyof T,\n\tevent: T[keyof T]\n) => void;\n\n// An array of all currently registered event handlers for a type\nexport type EventHandlerList<T = unknown> = Array<Handler<T>>;\nexport type WildCardEventHandlerList<T = Record<string, unknown>> = Array<WildcardHandler<T>>;\n\n// A map of event types and their corresponding event handlers.\nexport type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<\n\tkeyof Events | '*',\n\tEventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>\n>;\n\nexport interface Emitter<Events extends Record<EventType, unknown>> {\n\tall: EventHandlerMap<Events>;\n\n\ton<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;\n\ton(type: '*', handler: WildcardHandler<Events>): void;\n\n\toff<Key extends keyof Events>(type: Key, handler?: Handler<Events[Key]>): void;\n\toff(type: '*', handler: WildcardHandler<Events>): void;\n\n\temit<Key extends keyof Events>(type: Key, event: Events[Key]): void;\n\temit<Key extends keyof Events>(type: undefined extends Events[Key] ? Key : never): void;\n}\n\n/**\n * Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nexport default function mitt<Events extends Record<EventType, unknown>>(\n\tall?: EventHandlerMap<Events>\n): Emitter<Events> {\n\ttype GenericEventHandler =\n\t\t| Handler<Events[keyof Events]>\n\t\t| WildcardHandler<Events>;\n\tall = all || new Map();\n\n\treturn {\n\n\t\t/**\n\t\t * A Map of event names to registered handler functions.\n\t\t */\n\t\tall,\n\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t * @param {string|symbol} type Type of event to listen for, or `'*'` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton<Key extends keyof Events>(type: Key, handler: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\thandlers.push(handler);\n\t\t\t}\n\t\t\telse {\n\t\t\t\tall!.set(type, [handler] as EventHandlerList<Events[keyof Events]>);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t * If `handler` is omitted, all handlers of the given type are removed.\n\t\t * @param {string|symbol} type Type of event to unregister `handler` from, or `'*'`\n\t\t * @param {Function} [handler] Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff<Key extends keyof Events>(type: Key, handler?: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\tif (handler) {\n\t\t\t\t\thandlers.splice(handlers.indexOf(handler) >>> 0, 1);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tall!.set(type, []);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `'*'` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * Note: Manually firing '*' handlers is not supported.\n\t\t *\n\t\t * @param {string|symbol} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit<Key extends keyof Events>(type: Key, evt?: Events[Key]) {\n\t\t\tlet handlers = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as EventHandlerList<Events[keyof Events]>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(evt!);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\thandlers = all!.get('*');\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as WildCardEventHandlerList<Events>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(type, evt!);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n}\n"],"names":["all","Map","on","type","handler","handlers","get","push","set","off","splice","indexOf","emit","evt","slice","map"],"mappings":"6LAuCCA,GAOA,MAAO,CAKNA,IAPDA,EAAMA,GAAO,IAAIC,IAehBC,YAA6BC,EAAWC,GACvC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,EACHA,EAASE,KAAKH,GAGdJ,EAAKQ,IAAIL,EAAM,CAACC,KAWlBK,aAA8BN,EAAWC,GACxC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,IACCD,EACHC,EAASK,OAAOL,EAASM,QAAQP,KAAa,EAAG,GAGjDJ,EAAKQ,IAAIL,EAAM,MAelBS,cAA+BT,EAAWU,GACzC,IAAIR,EAAWL,EAAKM,IAAIH,GACpBE,GACFA,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQS,MAIXR,EAAWL,EAAKM,IAAI,OAElBD,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQD,EAAMU"}
\ No newline at end of file
+{"version":3,"file":"mitt.umd.js","sources":["../src/index.ts"],"sourcesContent":["export type EventType = string | symbol;\n\n// An event handler can take an optional event argument\n// and should not return a value\nexport type Handler<T = unknown> = (event: T) => void;\nexport type WildcardHandler<T = Record<string, unknown>> = (\n\ttype: keyof T,\n\tevent: T[keyof T]\n) => void;\n\n// An array of all currently registered event handlers for a type\nexport type EventHandlerList<T = unknown> = Array<Handler<T>>;\nexport type WildCardEventHandlerList<T = Record<string, unknown>> = Array<\n\tWildcardHandler<T>\n>;\n\n// A map of event types and their corresponding event handlers.\nexport type EventHandlerMap<Events extends Record<EventType, unknown>> = Map<\n\tkeyof Events | '*',\n\tEventHandlerList<Events[keyof Events]> | WildCardEventHandlerList<Events>\n>;\n\nexport interface Emitter<Events extends Record<EventType, unknown>> {\n\tall: EventHandlerMap<Events>;\n\n\ton<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): void;\n\ton(type: '*', handler: WildcardHandler<Events>): void;\n\n\toff<Key extends keyof Events>(\n\t\ttype: Key,\n\t\thandler?: Handler<Events[Key]>\n\t): void;\n\toff(type: '*', handler: WildcardHandler<Events>): void;\n\n\temit<Key extends keyof Events>(type: Key, event: Events[Key]): void;\n\temit<Key extends keyof Events>(\n\t\ttype: undefined extends Events[Key] ? Key : never\n\t): void;\n}\n\n/**\n * Mitt: Tiny (~200b) functional event emitter / pubsub.\n * @name mitt\n * @returns {Mitt}\n */\nexport default function mitt<Events extends Record<EventType, unknown>>(\n\tall?: EventHandlerMap<Events>\n): Emitter<Events> {\n\ttype GenericEventHandler =\n\t\t| Handler<Events[keyof Events]>\n\t\t| WildcardHandler<Events>;\n\tall = all || new Map();\n\n\treturn {\n\t\t/**\n\t\t * A Map of event names to registered handler functions.\n\t\t */\n\t\tall,\n\n\t\t/**\n\t\t * Register an event handler for the given type.\n\t\t * @param {string|symbol} type Type of event to listen for, or `'*'` for all events\n\t\t * @param {Function} handler Function to call in response to given event\n\t\t * @memberOf mitt\n\t\t */\n\t\ton<Key extends keyof Events>(type: Key, handler: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\thandlers.push(handler);\n\t\t\t} else {\n\t\t\t\tall!.set(type, [handler] as EventHandlerList<Events[keyof Events]>);\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Remove an event handler for the given type.\n\t\t * If `handler` is omitted, all handlers of the given type are removed.\n\t\t * @param {string|symbol} type Type of event to unregister `handler` from (`'*'` to remove a wildcard handler)\n\t\t * @param {Function} [handler] Handler function to remove\n\t\t * @memberOf mitt\n\t\t */\n\t\toff<Key extends keyof Events>(type: Key, handler?: GenericEventHandler) {\n\t\t\tconst handlers: Array<GenericEventHandler> | undefined = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\tif (handler) {\n\t\t\t\t\thandlers.splice(handlers.indexOf(handler) >>> 0, 1);\n\t\t\t\t} else {\n\t\t\t\t\tall!.set(type, []);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Invoke all handlers for the given type.\n\t\t * If present, `'*'` handlers are invoked after type-matched handlers.\n\t\t *\n\t\t * Note: Manually firing '*' handlers is not supported.\n\t\t *\n\t\t * @param {string|symbol} type The event type to invoke\n\t\t * @param {Any} [evt] Any value (object is recommended and powerful), passed to each handler\n\t\t * @memberOf mitt\n\t\t */\n\t\temit<Key extends keyof Events>(type: Key, evt?: Events[Key]) {\n\t\t\tlet handlers = all!.get(type);\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as EventHandlerList<Events[keyof Events]>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(evt!);\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\thandlers = all!.get('*');\n\t\t\tif (handlers) {\n\t\t\t\t(handlers as WildCardEventHandlerList<Events>)\n\t\t\t\t\t.slice()\n\t\t\t\t\t.map((handler) => {\n\t\t\t\t\t\thandler(type, evt!);\n\t\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n}\n"],"names":["all","Map","on","type","handler","handlers","get","push","set","off","splice","indexOf","emit","evt","slice","map"],"mappings":"6LA8CCA,GAOA,MAAO,CAINA,IANDA,EAAMA,GAAO,IAAIC,IAchBC,YAA6BC,EAAWC,GACvC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,EACHA,EAASE,KAAKH,GAEdJ,EAAKQ,IAAIL,EAAM,CAACC,KAWlBK,aAA8BN,EAAWC,GACxC,IAAMC,EAAmDL,EAAKM,IAAIH,GAC9DE,IACCD,EACHC,EAASK,OAAOL,EAASM,QAAQP,KAAa,EAAG,GAEjDJ,EAAKQ,IAAIL,EAAM,MAelBS,cAA+BT,EAAWU,GACzC,IAAIR,EAAWL,EAAKM,IAAIH,GACpBE,GACFA,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQS,MAIXR,EAAWL,EAAKM,IAAI,OAElBD,EACCS,QACAC,IAAI,SAACX,GACLA,EAAQD,EAAMU"}
\ No newline at end of file
diff --git a/node_modules/mitt/package.json b/node_modules/mitt/package.json
index ad38c7b..e51397c 100644
--- a/node_modules/mitt/package.json
+++ b/node_modules/mitt/package.json
@@ -1,6 +1,6 @@
 {
   "name": "mitt",
-  "version": "3.0.0",
+  "version": "3.0.1",
   "description": "Tiny 200b functional Event Emitter / pubsub.",
   "module": "dist/mitt.mjs",
   "main": "dist/mitt.js",
@@ -9,6 +9,8 @@
   "source": "src/index.ts",
   "typings": "index.d.ts",
   "exports": {
+    "types": "./index.d.ts",
+    "module": "./dist/mitt.mjs",
     "import": "./dist/mitt.mjs",
     "require": "./dist/mitt.js",
     "default": "./dist/mitt.mjs"
@@ -53,61 +55,31 @@
       "test/*_test.ts"
     ]
   },
-  "eslintConfig": {
-    "extends": [
-      "developit",
-      "plugin:@typescript-eslint/eslint-recommended",
-      "plugin:@typescript-eslint/recommended"
-    ],
-    "parser": "@typescript-eslint/parser",
-    "parserOptions": {
-      "sourceType": "module"
-    },
-    "env": {
-      "browser": true,
-      "mocha": true,
-      "jest": false,
-      "es6": true
-    },
-    "globals": {
-      "expect": true
-    },
-    "rules": {
-      "semi": [
-        2,
-        "always"
-      ],
-      "jest/valid-expect": 0,
-      "@typescript-eslint/no-explicit-any": 0,
-      "@typescript-eslint/explicit-function-return-type": 0,
-      "@typescript-eslint/explicit-module-boundary-types": 0,
-      "@typescript-eslint/no-empty-function": 0,
-      "@typescript-eslint/no-non-null-assertion": 0
-    }
+  "prettier": {
+    "singleQuote": true,
+    "trailingComma": "none"
   },
-  "eslintIgnore": [
-    "dist",
-    "index.d.ts"
-  ],
   "devDependencies": {
     "@types/chai": "^4.2.11",
     "@types/mocha": "^7.0.2",
     "@types/sinon": "^9.0.4",
     "@types/sinon-chai": "^3.2.4",
-    "@typescript-eslint/eslint-plugin": "^3.0.1",
-    "@typescript-eslint/parser": "^3.0.1",
+    "@typescript-eslint/eslint-plugin": "^5.61.0",
+    "@typescript-eslint/parser": "^5.61.0",
     "chai": "^4.2.0",
-    "documentation": "^13.0.0",
-    "eslint": "^7.1.0",
+    "documentation": "^14.0.2",
+    "eslint": "^7.32.0",
     "eslint-config-developit": "^1.2.0",
+    "eslint-plugin-compat": "^4.1.4",
     "esm": "^3.2.25",
     "microbundle": "^0.12.3",
     "mocha": "^8.0.1",
     "npm-run-all": "^4.1.5",
+    "prettier": "^2.8.8",
     "rimraf": "^3.0.2",
     "sinon": "^9.0.2",
     "sinon-chai": "^3.5.0",
-    "ts-node": "^8.10.2",
-    "typescript": "^3.9.7"
+    "ts-node": "^10.9.1",
+    "typescript": "^4.9.5"
   }
 }
diff --git a/node_modules/netmask/CHANGELOG.md b/node_modules/netmask/CHANGELOG.md
new file mode 100644
index 0000000..c0502df
--- /dev/null
+++ b/node_modules/netmask/CHANGELOG.md
@@ -0,0 +1,60 @@
+## v2.0.1 (Mar 29, 2021)
+
+### IMPORTANT: Security Fix
+
+> This version contains an important security fix. If you are using netmask `<=2.0.0`, please upgrade to `2.0.1` or above.
+
+* Rewrite byte parsing without using JS `parseInt()`([commit](https://github.com/rs/node-netmask/commit/3f19a056c4eb808ea4a29f234274c67bc5a848f4))
+  * This is [CVE-2021-29418](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-29418).
+
+### Bugfixes
+
+* Add checks on spaces before and after bytes
+  * This will now throw an exception when spaces are present like ' 1.2.3.4' or '1. 2.3.4' or '1.2.3.4 '.
+
+### Internal Changes
+
+* Avoid some useless memory allocations
+* New Mocha testing suite, thanks @kaoudis [#36](https://github.com/rs/node-netmask/pull/36)
+
+## v2.0.0 (Mar 19, 2021)
+
+### Breaking Change
+
+Previous API was treating IPs with less than for bytes as IP with a
+netmask of the size of the provided bytes (1=8, 2=16, 3=24) and was
+interpreting the IP as if it was completed with 0s on the right side.
+
+*Proper IP parsing for these is to consider missing bytes as being 0s on
+the left side.*
+
+Mask size is no longer infered by the number of bytes provided.
+
+This means that the input `216.240` will no longer be interpreted as `216.240.0.0/16`, but as `0.0.216.240/32`,
+as per convention.
+
+See [the change](https://github.com/rs/node-netmask/commit/9f9fc38c6db1a682d23289b5c9dc2009d957a00b).
+
+### Bugfixes
+
+* Fix improper parsing of hex bytes
+
+## v1.1.0 (Mar 18, 2021)
+
+### IMPORTANT: Security Fix
+
+> This version contains an important security fix. If you are using netmask `<=1.0.6`, please upgrade to `1.1.0` or above.
+
+* Fix improper parsing of octal bytes ([commit](https://github.com/rs/node-netmask/commit/4678fd840ad0b4730dbad2d415712c0782e886cc))
+  * This is [CVE-2021-28918](https://sick.codes/sick-2021-011).
+  * See also the [npm advisory](https://www.npmjs.com/advisories/1658)
+
+### Other Changes
+
+* Performance: Avoid large allocations when provided large netmasks (like `/8`)
+  * Thanks @dschenkelman [#34](https://github.com/rs/node-netmask/pull/34)
+
+## v1.0.6 (May 30, 2016)
+
+* Changes before this release are not documented here. Please see [the commit list](https://github.com/rs/node-netmask/commits/master)
+  or the [compare view](https://github.com/rs/node-netmask/compare/1.0.5...rs:1.0.6).
diff --git a/node_modules/netmask/CREDITS.md b/node_modules/netmask/CREDITS.md
new file mode 100644
index 0000000..77fcb27
--- /dev/null
+++ b/node_modules/netmask/CREDITS.md
@@ -0,0 +1,30 @@
+Credits
+=======
+
+These credits refer to the contributors to this repository:
+
+[@rs](https://github.com/rs) - maintainer
+
+[@ryanrolds](https://github.com/ryanrolds) - Now with 0.4.x support. #2
+
+[@palmerabollo](https://github.com/palmerabollo) - Expressions "1.2.3.4/" are not valid #6
+
+[@steve-jansen](https://github.com/steve-jansen) - fixes typo in readme.md #7
+
+[@jksdua](https://github.com/jksdua) - Added forEach helper to allow looping through usable IP addresses #9
+
+[@gmiroshnykov](https://github.com/gmiroshnykov) - Tiny typo fix #10
+
+[@TooTallNate](https://github.com/TooTallNate) - package: move "coffee-script" to devDependencies #11, README: fix small typo #12
+
+[@yorkie](https://github.com/yorkie) - more rigid check for Netmask.constructor #13
+
+[@runk](https://github.com/runk) - fix contains method for netmasks #18
+
+[@yvesago](https://github.com/yvesago) - a patch with mocha test to fix /31 and /32 block.contains #20
+
+[@meteormatt](https://github.com/meteormatt) - The comment in README.md is wrong #22
+
+[@dschenkelman](https://github.com/dschenkelman) - Avoid large memory allocations when doing forEach in case netmask is large (e.g. /8) #34
+
+[@sickcodes](https://github.com/sickcodes), [@kaoudis](https://github.com/kaoudis), [@Koroeskohr](https://github.com/Koroeskohr), [@nicksahler](https://github.com/nicksahler) - adds CREDITS, plus mocha tests for transpiled node #36
diff --git a/node_modules/netmask/README.md b/node_modules/netmask/README.md
new file mode 100644
index 0000000..36f4b0d
--- /dev/null
+++ b/node_modules/netmask/README.md
@@ -0,0 +1,85 @@
+Netmask
+=======
+
+The Netmask class parses and understands IPv4 CIDR blocks so they can be explored and compared. This module is highly inspired by Perl [Net::Netmask](http://search.cpan.org/dist/Net-Netmask/) module.
+
+Synopsis
+--------
+
+```js
+var Netmask = require('netmask').Netmask
+
+var block = new Netmask('10.0.0.0/12');
+block.base;                     // 10.0.0.0
+block.mask;                     // 255.240.0.0
+block.bitmask;                  // 12
+block.hostmask;                 // 0.15.255.255
+block.broadcast;                // 10.15.255.255
+block.size;                     // 1048576
+block.first;                    // 10.0.0.1
+block.last;                     // 10.15.255.254
+
+block.contains('10.0.8.10');    // true
+block.contains('10.8.0.10');    // true
+block.contains('192.168.1.20'); // false
+
+block.forEach(function(ip, long, index));
+
+block.next()                    // Netmask('10.16.0.0/12')
+```
+
+Constructing
+------------
+
+Netmask objects are created with an IP address and optionally a mask. There are many forms that are recognized:
+
+```
+'216.240.32.0/24'               // The preferred form.
+'216.240.32.0/255.255.255.0'
+'216.240.32.0', '255.255.255.0'
+'216.240.32.0', 0xffffff00
+'216.240.32.4'                  // A /32 block.
+'0330.0360.040.04'              // Octal form
+'0xd8.0xf0.0x20.0x4'            // Hex form
+```
+
+API
+---
+
+- `.base`: The base address of the network block as a string (eg: 216.240.32.0). Base does not give an indication of the size of the network block.
+- `.mask`: The netmask as a string (eg: 255.255.255.0).
+- `.hostmask`: The host mask which is the opposite of the netmask (eg: 0.0.0.255).
+- `.bitmask`: The netmask as a number of bits in the network portion of the address for this block (eg: 24).
+- `.size`: The number of IP addresses in a block (eg: 256).
+- `.broadcast`: The blocks broadcast address (eg: 192.168.1.0/24 => 192.168.1.255)
+- `.first`, `.last`: First and last useable address
+- `.contains(ip or block)`: Returns a true if the IP number `ip` is part of the network. That is, a true value is returned if `ip` is between `base` and `broadcast`. If a Netmask object or a block is given, it returns true only of the given block fits inside the network.
+- `.forEach(fn)`: Similar to the Array prototype method. It loops through all the useable addresses, ie between `first` and `last`.
+- `.next(count)`: Without a `count`, return the next block of the same size after the current one. With a count, return the Nth block after the current one. A count of -1 returns the previous block. Undef will be returned if out of legal address space.
+- `.toString()`: The netmask in base/bitmask format (e.g., '216.240.32.0/24')
+
+Installation
+------------
+
+    $ npm install netmask
+
+Run all tests (vows plus mocha)
+-------------------------------
+
+    $ npm test
+
+License
+-------
+
+(The MIT License)
+
+Copyright (c) 2011 Olivier Poitrey <[email protected]>
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+
diff --git a/node_modules/netmask/example/ipcalc.coffee b/node_modules/netmask/example/ipcalc.coffee
new file mode 100644
index 0000000..d0350fe
--- /dev/null
+++ b/node_modules/netmask/example/ipcalc.coffee
@@ -0,0 +1,17 @@
+Netmask = require('netmask').Netmask
+
+ip = process.argv[2]
+netmask = new Netmask(ip)
+
+out = console.log
+out "Address: #{ip.split('/', 1)[0]}"
+out "Netmask: #{netmask.mask} = #{netmask.bitmask}"
+out "Wildcard: #{netmask.hostmask}"
+out "=>"
+out "Network: #{netmask.base}/#{netmask.bitmask}"
+out "HostMin: #{netmask.first}"
+out "HostMax: #{netmask.last}"
+out "Broadcast: #{netmask.broadcast}"
+out "Hosts/Net: #{netmask.size}"
+
+out netmask.next()
\ No newline at end of file
diff --git a/node_modules/netmask/lib/netmask.coffee b/node_modules/netmask/lib/netmask.coffee
new file mode 100644
index 0000000..1e77497
--- /dev/null
+++ b/node_modules/netmask/lib/netmask.coffee
@@ -0,0 +1,167 @@
+long2ip = (long) ->
+    a = (long & (0xff << 24)) >>> 24;
+    b = (long & (0xff << 16)) >>> 16;
+    c = (long & (0xff << 8)) >>> 8;
+    d = long & 0xff;
+    return [a, b, c, d].join('.')
+
+ip2long = (ip) ->
+    b = []
+    for i in [0..3]
+        if ip.length == 0
+            break
+        if i > 0
+            if ip[0] != '.'
+                throw new Error('Invalid IP')
+            ip = ip.substring(1)
+        [n, c] = atob(ip)
+        ip = ip.substring(c)
+        b.push(n)
+    if ip.length != 0
+        throw new Error('Invalid IP')
+    switch b.length
+        when 1
+            # Long input notation
+            if b[0] > 0xFFFFFFFF
+                throw new Error('Invalid IP')
+            return b[0] >>> 0
+        when 2
+            # Class A notation
+            if b[0] > 0xFF or b[1] > 0xFFFFFF
+                throw new Error('Invalid IP')
+            return (b[0] << 24 | b[1]) >>> 0
+        when 3
+            # Class B notation
+            if b[0] > 0xFF or b[1] > 0xFF or b[2] > 0xFFFF
+                throw new Error('Invalid IP')
+            return (b[0] << 24 | b[1] << 16 | b[2]) >>> 0
+        when 4
+            # Dotted quad notation 
+            if b[0] > 0xFF or b[1] > 0xFF or b[2] > 0xFF or b[3] > 0xFF
+                throw new Error('Invalid IP')
+            return (b[0] << 24 | b[1] << 16 | b[2] << 8 | b[3]) >>> 0
+        else
+            throw new Error('Invalid IP')
+
+chr = (b) ->
+    return b.charCodeAt(0)
+
+chr0 = chr('0')
+chra = chr('a')
+chrA = chr('A')
+
+atob = (s) ->
+    n = 0
+    base = 10
+    dmax = '9'
+    i = 0
+    if s.length > 1 and s[i] == '0'
+        if s[i+1] == 'x' or s[i+1] == 'X'
+            i += 2
+            base = 16
+        else if '0' <= s[i+1] and s[i+1] <= '9'
+            i++
+            base = 8
+            dmax = '7'
+    start = i
+    while i < s.length
+        if '0' <= s[i] and s[i] <= dmax
+            n = (n*base + (chr(s[i])-chr0)) >>> 0
+        else if base == 16
+            if 'a' <= s[i] and s[i] <= 'f'
+                n = (n*base + (10+chr(s[i])-chra)) >>> 0
+            else if 'A' <= s[i] and s[i] <= 'F'
+                n = (n*base + (10+chr(s[i])-chrA)) >>> 0
+            else
+                break
+        else
+            break
+        if n > 0xFFFFFFFF
+            throw new Error('too large')
+        i++
+    if i == start
+        throw new Error('empty octet')
+    return [n, i]
+
+class Netmask
+    constructor: (net, mask) ->
+        throw new Error("Missing `net' parameter") unless typeof net is 'string'
+        unless mask
+            # try to find the mask in the net (i.e.: 1.2.3.4/24 or 1.2.3.4/255.255.255.0)
+            [net, mask] = net.split('/', 2)
+        unless mask
+            mask = 32
+        if typeof mask is 'string' and mask.indexOf('.') > -1
+            # Compute bitmask, the netmask as a number of bits in the network portion of the address for this block (eg.: 24)
+            try
+                @maskLong = ip2long(mask)
+            catch error
+                throw new Error("Invalid mask: #{mask}")
+            for i in [32..0]
+                if @maskLong == (0xffffffff << (32 - i)) >>> 0
+                    @bitmask = i
+                    break
+        else if mask or mask == 0
+            # The mask was passed as bitmask, compute the mask as long from it
+            @bitmask = parseInt(mask, 10)
+            @maskLong = 0
+            if @bitmask > 0
+                @maskLong = (0xffffffff << (32 - @bitmask)) >>> 0
+        else
+            throw new Error("Invalid mask: empty")
+
+        try
+            @netLong = (ip2long(net) & @maskLong) >>> 0
+        catch error
+            throw new Error("Invalid net address: #{net}")
+
+        throw new Error("Invalid mask for ip4: #{mask}") unless @bitmask <= 32
+
+        # The number of IP address in the block (eg.: 254)
+        @size = Math.pow(2, 32 - @bitmask)
+        # The address of the network block as a string (eg.: 216.240.32.0)
+        @base = long2ip(@netLong)
+        # The netmask as a string (eg.: 255.255.255.0)
+        @mask = long2ip(@maskLong)
+        # The host mask, the opposite of the netmask (eg.: 0.0.0.255)
+        @hostmask = long2ip(~@maskLong)
+        # The first usable address of the block
+        @first = if @bitmask <= 30 then long2ip(@netLong + 1) else @base
+        # The last  usable address of the block
+        @last = if @bitmask <= 30 then long2ip(@netLong + @size - 2) else long2ip(@netLong + @size - 1)
+        # The block's broadcast address: the last address of the block (eg.: 192.168.1.255)
+        @broadcast = if @bitmask <= 30 then long2ip(@netLong + @size - 1)
+
+    # Returns true if the given ip or netmask is contained in the block
+    contains: (ip) ->
+        if typeof ip is 'string' and (ip.indexOf('/') > 0 or ip.split('.').length isnt 4)
+            ip = new Netmask(ip)
+
+        if ip instanceof Netmask
+            return @contains(ip.base) and @contains((ip.broadcast || ip.last))
+        else
+            return (ip2long(ip) & @maskLong) >>> 0 == ((@netLong & @maskLong)) >>> 0
+
+    # Returns the Netmask object for the block which follow this one
+    next: (count=1) ->
+        return new Netmask(long2ip(@netLong + (@size * count)), @mask)
+
+    forEach: (fn) ->
+        # this implementation is not idiomatic but avoids large memory allocations (2 arrays, one for range and one for the results) in cases when then netmask is large
+        long = ip2long(@first)
+        lastLong = ip2long(@last)
+        index = 0
+        while long <= lastLong
+          fn long2ip(long), long, index
+          index++
+          long++
+        return
+
+    # Returns the complete netmask formatted as `base/bitmask`
+    toString: ->
+        return @base + "/" + @bitmask
+
+
+exports.ip2long = ip2long
+exports.long2ip = long2ip
+exports.Netmask = Netmask
diff --git a/node_modules/netmask/lib/netmask.js b/node_modules/netmask/lib/netmask.js
new file mode 100644
index 0000000..443f90d
--- /dev/null
+++ b/node_modules/netmask/lib/netmask.js
@@ -0,0 +1,208 @@
+// Generated by CoffeeScript 1.12.7
+(function() {
+  var Netmask, atob, chr, chr0, chrA, chra, ip2long, long2ip;
+
+  long2ip = function(long) {
+    var a, b, c, d;
+    a = (long & (0xff << 24)) >>> 24;
+    b = (long & (0xff << 16)) >>> 16;
+    c = (long & (0xff << 8)) >>> 8;
+    d = long & 0xff;
+    return [a, b, c, d].join('.');
+  };
+
+  ip2long = function(ip) {
+    var b, c, i, j, n, ref;
+    b = [];
+    for (i = j = 0; j <= 3; i = ++j) {
+      if (ip.length === 0) {
+        break;
+      }
+      if (i > 0) {
+        if (ip[0] !== '.') {
+          throw new Error('Invalid IP');
+        }
+        ip = ip.substring(1);
+      }
+      ref = atob(ip), n = ref[0], c = ref[1];
+      ip = ip.substring(c);
+      b.push(n);
+    }
+    if (ip.length !== 0) {
+      throw new Error('Invalid IP');
+    }
+    switch (b.length) {
+      case 1:
+        if (b[0] > 0xFFFFFFFF) {
+          throw new Error('Invalid IP');
+        }
+        return b[0] >>> 0;
+      case 2:
+        if (b[0] > 0xFF || b[1] > 0xFFFFFF) {
+          throw new Error('Invalid IP');
+        }
+        return (b[0] << 24 | b[1]) >>> 0;
+      case 3:
+        if (b[0] > 0xFF || b[1] > 0xFF || b[2] > 0xFFFF) {
+          throw new Error('Invalid IP');
+        }
+        return (b[0] << 24 | b[1] << 16 | b[2]) >>> 0;
+      case 4:
+        if (b[0] > 0xFF || b[1] > 0xFF || b[2] > 0xFF || b[3] > 0xFF) {
+          throw new Error('Invalid IP');
+        }
+        return (b[0] << 24 | b[1] << 16 | b[2] << 8 | b[3]) >>> 0;
+      default:
+        throw new Error('Invalid IP');
+    }
+  };
+
+  chr = function(b) {
+    return b.charCodeAt(0);
+  };
+
+  chr0 = chr('0');
+
+  chra = chr('a');
+
+  chrA = chr('A');
+
+  atob = function(s) {
+    var base, dmax, i, n, start;
+    n = 0;
+    base = 10;
+    dmax = '9';
+    i = 0;
+    if (s.length > 1 && s[i] === '0') {
+      if (s[i + 1] === 'x' || s[i + 1] === 'X') {
+        i += 2;
+        base = 16;
+      } else if ('0' <= s[i + 1] && s[i + 1] <= '9') {
+        i++;
+        base = 8;
+        dmax = '7';
+      }
+    }
+    start = i;
+    while (i < s.length) {
+      if ('0' <= s[i] && s[i] <= dmax) {
+        n = (n * base + (chr(s[i]) - chr0)) >>> 0;
+      } else if (base === 16) {
+        if ('a' <= s[i] && s[i] <= 'f') {
+          n = (n * base + (10 + chr(s[i]) - chra)) >>> 0;
+        } else if ('A' <= s[i] && s[i] <= 'F') {
+          n = (n * base + (10 + chr(s[i]) - chrA)) >>> 0;
+        } else {
+          break;
+        }
+      } else {
+        break;
+      }
+      if (n > 0xFFFFFFFF) {
+        throw new Error('too large');
+      }
+      i++;
+    }
+    if (i === start) {
+      throw new Error('empty octet');
+    }
+    return [n, i];
+  };
+
+  Netmask = (function() {
+    function Netmask(net, mask) {
+      var error, i, j, ref;
+      if (typeof net !== 'string') {
+        throw new Error("Missing `net' parameter");
+      }
+      if (!mask) {
+        ref = net.split('/', 2), net = ref[0], mask = ref[1];
+      }
+      if (!mask) {
+        mask = 32;
+      }
+      if (typeof mask === 'string' && mask.indexOf('.') > -1) {
+        try {
+          this.maskLong = ip2long(mask);
+        } catch (error1) {
+          error = error1;
+          throw new Error("Invalid mask: " + mask);
+        }
+        for (i = j = 32; j >= 0; i = --j) {
+          if (this.maskLong === (0xffffffff << (32 - i)) >>> 0) {
+            this.bitmask = i;
+            break;
+          }
+        }
+      } else if (mask || mask === 0) {
+        this.bitmask = parseInt(mask, 10);
+        this.maskLong = 0;
+        if (this.bitmask > 0) {
+          this.maskLong = (0xffffffff << (32 - this.bitmask)) >>> 0;
+        }
+      } else {
+        throw new Error("Invalid mask: empty");
+      }
+      try {
+        this.netLong = (ip2long(net) & this.maskLong) >>> 0;
+      } catch (error1) {
+        error = error1;
+        throw new Error("Invalid net address: " + net);
+      }
+      if (!(this.bitmask <= 32)) {
+        throw new Error("Invalid mask for ip4: " + mask);
+      }
+      this.size = Math.pow(2, 32 - this.bitmask);
+      this.base = long2ip(this.netLong);
+      this.mask = long2ip(this.maskLong);
+      this.hostmask = long2ip(~this.maskLong);
+      this.first = this.bitmask <= 30 ? long2ip(this.netLong + 1) : this.base;
+      this.last = this.bitmask <= 30 ? long2ip(this.netLong + this.size - 2) : long2ip(this.netLong + this.size - 1);
+      this.broadcast = this.bitmask <= 30 ? long2ip(this.netLong + this.size - 1) : void 0;
+    }
+
+    Netmask.prototype.contains = function(ip) {
+      if (typeof ip === 'string' && (ip.indexOf('/') > 0 || ip.split('.').length !== 4)) {
+        ip = new Netmask(ip);
+      }
+      if (ip instanceof Netmask) {
+        return this.contains(ip.base) && this.contains(ip.broadcast || ip.last);
+      } else {
+        return (ip2long(ip) & this.maskLong) >>> 0 === (this.netLong & this.maskLong) >>> 0;
+      }
+    };
+
+    Netmask.prototype.next = function(count) {
+      if (count == null) {
+        count = 1;
+      }
+      return new Netmask(long2ip(this.netLong + (this.size * count)), this.mask);
+    };
+
+    Netmask.prototype.forEach = function(fn) {
+      var index, lastLong, long;
+      long = ip2long(this.first);
+      lastLong = ip2long(this.last);
+      index = 0;
+      while (long <= lastLong) {
+        fn(long2ip(long), long, index);
+        index++;
+        long++;
+      }
+    };
+
+    Netmask.prototype.toString = function() {
+      return this.base + "/" + this.bitmask;
+    };
+
+    return Netmask;
+
+  })();
+
+  exports.ip2long = ip2long;
+
+  exports.long2ip = long2ip;
+
+  exports.Netmask = Netmask;
+
+}).call(this);
diff --git a/node_modules/netmask/package.json b/node_modules/netmask/package.json
new file mode 100644
index 0000000..2e064c6
--- /dev/null
+++ b/node_modules/netmask/package.json
@@ -0,0 +1,36 @@
+{
+  "author": "Olivier Poitrey <[email protected]>",
+  "name": "netmask",
+  "description": "Parse and lookup IP network blocks",
+  "version": "2.0.2",
+  "homepage": "https://github.com/rs/node-netmask",
+  "bugs": "https://github.com/rs/node-netmask/issues",
+  "license": "MIT",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/rs/node-netmask.git"
+  },
+  "keywords": [
+    "net",
+    "mask",
+    "ip",
+    "network",
+    "cidr",
+    "netmask",
+    "subnet",
+    "ipcalc"
+  ],
+  "main": "./lib/netmask",
+  "scripts": {
+    "prepublish": "coffee -c lib/*.coffee",
+    "test": "coffee -c lib/*.coffee && vows --spec test/* && mocha tests/*"
+  },
+  "engines": {
+    "node": ">= 0.4.0"
+  },
+  "devDependencies": {
+    "coffee-script": ">=1.2.0",
+    "mocha": "^8.3.2",
+    "vows": "*"
+  }
+}
diff --git a/node_modules/netmask/test/badnets.coffee b/node_modules/netmask/test/badnets.coffee
new file mode 100644
index 0000000..5ab8096
--- /dev/null
+++ b/node_modules/netmask/test/badnets.coffee
@@ -0,0 +1,53 @@
+vows = require 'vows'
+assert = require 'assert'
+Netmask = require('../lib/netmask').Netmask
+
+shouldFailWithError = (msg) ->
+    context =
+        topic: ->
+            try
+                return new Netmask(@context.name)
+            catch e
+                return e
+        'should fail': (e) ->
+            assert.ok isError(e), "is an Error object #{e}"
+        "with error `#{msg}'": (e) ->
+            assert.ok e.message?.toLowerCase().indexOf(msg.toLowerCase()) > -1, "'#{e.message}' =~ #{msg}"
+
+    return context
+
+isError = (e) ->
+    return typeof e == 'object' and Object.prototype.toString.call(e) == '[object Error]'
+
+vows.describe('IPs with bytes greater than 255')
+    .addBatch
+        '209.256.68.22/255.255.224.0': shouldFailWithError 'Invalid net'
+        '209.180.68.22/256.255.224.0': shouldFailWithError 'Invalid mask'
+        '209.500.70.33/19': shouldFailWithError 'Invalid net'
+        '140.999.82': shouldFailWithError 'Invalid net'
+        '899.174': shouldFailWithError 'Invalid net'
+        '209.157.65536/19': shouldFailWithError 'Invalid net'
+        '209.300.64.0.10': shouldFailWithError 'Invalid net'
+        'garbage': shouldFailWithError 'Invalid net'
+    .export(module)
+    
+
+vows.describe('Invalid IP format')
+    .addBatch
+        ' 1.2.3.4': shouldFailWithError 'Invalid net'
+        '  1.2.3.4': shouldFailWithError 'Invalid net'
+        '1. 2.3.4': shouldFailWithError 'Invalid net'
+        '1.2. 3.4': shouldFailWithError 'Invalid net'
+        '1.2.3. 4': shouldFailWithError 'Invalid net'
+        '1.2.3.4 ': shouldFailWithError 'Invalid net'
+        '1 .2.3.4': shouldFailWithError 'Invalid net'
+        '018.0.0.0': shouldFailWithError 'Invalid net'
+        '08.0.0.0': shouldFailWithError 'Invalid net'
+        '0xfg.0.0.0': shouldFailWithError 'Invalid net'
+    .export(module)
+
+vows.describe('Ranges that are a power-of-two big, but are not legal blocks')
+    .addBatch
+        '218.0.0.0/221.255.255.255': shouldFailWithError 'Invalid mask'
+        '218.0.0.4/218.0.0.11': shouldFailWithError 'Invalid mask'
+    .export(module)
diff --git a/node_modules/netmask/test/netmasks.coffee b/node_modules/netmask/test/netmasks.coffee
new file mode 100644
index 0000000..6f0d1ac
--- /dev/null
+++ b/node_modules/netmask/test/netmasks.coffee
@@ -0,0 +1,101 @@
+vows = require 'vows'
+assert = require 'assert'
+util = require 'util'
+Netmask = require('../lib/netmask').Netmask
+
+fixtures =
+[
+    # addr                          mask                base                newmask             bitmask
+    ['209.157.68.22/255.255.224.0', null,               '209.157.64.0',     '255.255.224.0',    19]
+    ['209.157.68.22',               '255.255.224.0',    '209.157.64.0',     '255.255.224.0',    19]
+    ['209.157.70.33/19',            null,               '209.157.64.0',     '255.255.224.0',    19]
+    ['209.157.70.33',               null,               '209.157.70.33',    '255.255.255.255',  32]
+    ['140.174.82',                  null,               '140.174.0.82',     '255.255.255.255',  32]
+    ['140.174',                     null,               '140.0.0.174',      '255.255.255.255',  32]
+    ['10',                          null,               '0.0.0.10',         '255.255.255.255',  32]
+    ['10/8',                        null,               '0.0.0.0',          '255.0.0.0',        8]
+    ['209.157.64/19',               null,               '209.157.0.0',      '255.255.224.0',    19]
+    ['216.140.48.16/32',            null,               '216.140.48.16',    '255.255.255.255',  32]
+    ['209.157/17',                  null,               '209.0.0.0',        '255.255.128.0',    17]
+    ['0.0.0.0/0',                   null,               '0.0.0.0',          '0.0.0.0',          0]
+    ['0xffffffff',                  null,               '255.255.255.255',  '255.255.255.255',  32]
+    ['1.1',                         null,               '1.0.0.1',          '255.255.255.255',  32]
+    ['1.0xffffff',                  null,               '1.255.255.255',    '255.255.255.255',  32]
+    ['1.2.3',                       null,               '1.2.0.3',          '255.255.255.255',  32]
+    ['1.2.0xffff',                  null,               '1.2.255.255',      '255.255.255.255',  32]
+]
+
+contexts = []
+
+fixtures.forEach (fixture) ->
+    [addr, mask, base, newmask, bitmask] = fixture
+    context = topic: -> new Netmask(addr, mask)
+    context["base is `#{base}'"] = (block) -> assert.equal block.base, base
+    context["mask is `#{newmask}'"] = (block) -> assert.equal block.mask, newmask
+    context["bitmask is `#{bitmask}'"] = (block) -> assert.equal block.bitmask, bitmask
+    context["toString is `#{base}/`#{bitmask}'"] = (block) -> assert.equal block.toString(), block.base + "/" + block.bitmask
+    contexts["for #{addr}" + (if mask then " with #{mask}" else '')] = context
+
+vows.describe('Netmaks parsing').addBatch(contexts).export(module)
+
+vows.describe('Netmask contains IP')
+    .addBatch
+        'block 192.168.1.0/24':
+            topic: -> new Netmask('192.168.1.0/24')
+            'contains IP 192.168.1.0': (block) -> assert.ok block.contains('192.168.1.0')
+            'contains IP 192.168.1.255': (block) -> assert.ok block.contains('192.168.1.255')
+            'contains IP 192.168.1.63': (block) -> assert.ok block.contains('192.168.1.63')
+            'does not contain IP 192.168.0.255': (block) -> assert.ok not block.contains('192.168.0.255')
+            'does not contain IP 192.168.2.0': (block) -> assert.ok not block.contains('192.168.2.0')
+            'does not contain IP 10.168.2.0': (block) -> assert.ok not block.contains('10.168.2.0')
+            'does not contain IP 209.168.2.0': (block) -> assert.ok not block.contains('209.168.2.0')
+            'contains block 192.168.1.0/24': (block) -> assert.ok block.contains('192.168.1.0/24')
+            'contains block 192.168.1 (0.192.168.10)': (block) -> assert.ok not block.contains('192.168.1')
+            'does not contains block 192.168.1.128/25': (block) -> assert.ok block.contains('192.168.1.128/25')
+            'does not contain block 192.168.1.0/23': (block) -> assert.ok not block.contains('192.168.1.0/23')
+            'does not contain block 192.168.2.0/24': (block) -> assert.ok not block.contains('192.168.2.0/24')
+            'toString equals 192.168.1.0/24': (block) -> assert.equal block.toString(), '192.168.1.0/24'
+        'block 192.168.0.0/24':
+            topic: -> new Netmask('192.168.0.0/24')
+            'does not contain block 192.168 (0.0.192.168)': (block) -> assert.ok not block.contains('192.168')
+            'does not contain block 192.168.0.0/16': (block) -> assert.ok not block.contains('192.168.0.0/16')
+        'block 31.0.0.0/8':
+            topic: -> new Netmask('31.0.0.0/8')
+            'contains IP 31.5.5.5': (block) -> assert.ok block.contains('31.5.5.5')
+            'does not contain IP 031.5.5.5 (25.5.5.5)': (block) -> assert.ok not block.contains('031.5.5.5')
+            'does not contain IP 0x31.5.5.5 (49.5.5.5)': (block) -> assert.ok not block.contains('0x31.5.5.5')
+            'does not contain IP 0X31.5.5.5 (49.5.5.5)': (block) -> assert.ok not block.contains('0X31.5.5.5')
+        'block 127.0.0.0/8':
+            topic: -> new Netmask('127.0.0.0/8')
+            'contains IP 127.0.0.2': (block) -> assert.ok block.contains('127.0.0.2')
+            'contains IP 0177.0.0.2 (127.0.0.2)': (block) -> assert.ok block.contains('0177.0.0.2')
+            'contains IP 0x7f.0.0.2 (127.0.0.2)': (block) -> assert.ok block.contains('0x7f.0.0.2')
+            'does not contains IP 127 (0.0.0.127)': (block) -> assert.ok not block.contains('127')
+            'does not contains IP 0177 (0.0.0.127)': (block) -> assert.ok not block.contains('0177')
+        'block 0.0.0.0/24':
+            topic: -> new Netmask('0.0.0.0/0')
+            'contains IP 0.0.0.0': (block) -> assert.ok block.contains('0.0.0.0')
+            'contains IP 0': (block) -> assert.ok block.contains('0')
+            'contains IP 10 (0.0.0.10)': (block) -> assert.ok block.contains('10')
+            'contains IP 010 (0.0.0.8)': (block) -> assert.ok block.contains('010')
+            'contains IP 0x10 (0.0.0.16)': (block) -> assert.ok block.contains('0x10')
+
+    .export(module)
+
+vows.describe('Netmask forEach')
+    .addBatch
+        'block 192.168.1.0/24':
+            topic: -> new Netmask('192.168.1.0/24')
+            'should loop through all ip addresses': (block) ->
+                called = 0
+                block.forEach (ip, long, index) ->
+                    called = index
+                assert.equal (called + 1), 254
+        'block 192.168.1.0/23':
+            topic: -> new Netmask('192.168.1.0/23')
+            'should loop through all ip addresses': (block) ->
+                called = 0
+                block.forEach (ip, long, index) ->
+                    called = index
+                assert.equal (called + 1), 510
+    .export(module)
\ No newline at end of file
diff --git a/node_modules/netmask/tests/netmask.js b/node_modules/netmask/tests/netmask.js
new file mode 100644
index 0000000..9f7c09f
--- /dev/null
+++ b/node_modules/netmask/tests/netmask.js
@@ -0,0 +1,103 @@
+/* It is important to test our Javascript output as well as our coffeescript, 
+ * since code that is transpiled may be slightly different in effect from the
+ * original.
+ * 
+ * Run these tests (against lib/netmask.js, not lib/netmask.coffee directly)
+ * using mocha, after re-generating lib/netmask.js including your changes:
+ *
+ * mocha tests/netmask.js
+ */
+
+const assert = require('assert');
+const Netmask = require('../').Netmask;
+
+describe('Netmask', () => {
+  describe('can build a block', () => {
+    let block = new Netmask('10.1.2.0/24');
+
+    it('should contain a sub-block', () => {
+      let block1 = new Netmask('10.1.2.10/29');
+      assert(block.contains(block1));
+    });
+
+    it('should contain another sub-block', () => {
+      let block2 = new Netmask('10.1.2.10/31');
+      assert(block.contains(block2));
+    });
+
+    it('should contain a third sub-block', () => {
+      let block3 = new Netmask('10.1.2.20/32');
+      assert(block.contains(block3));
+    });
+  });
+
+  describe('when presented with an octet which is not a number', () => {
+    let block = new Netmask('192.168.0.0/29')
+
+    it('should throw', () => {
+      assert.throws(() => block.contains('192.168.~.4'), Error);
+    });
+  });
+
+  describe('can handle hexadecimal, octal, & decimal octets in input IP', () => {
+    let block1 = new Netmask('31.0.0.0/19');
+    let block2 = new Netmask('127.0.0.0/8');
+    let block3 = new Netmask('255.0.0.1/12');
+    let block4 = new Netmask('10.0.0.1/8');
+    let block5 = new Netmask('1.0.0.1/4');
+
+    describe('octal', () => {
+      it('block 31.0.0.0/19 does not contain 031.0.5.5', () => {
+        assert(!block1.contains('031.0.5.5'));
+      }); 
+      it('block 127.0.0.0/8 contains 0177.0.0.2 (127.0.0.2)', () => {
+        assert(block2.contains('0177.0.0.2'));
+      });
+      it('block 255.0.0.1/12 does not contain 0255.0.0.2 (173.0.0.2)', () => {
+        assert(!block3.contains('0255.0.0.2'));
+      });
+      it('block 10.0.0.1/8 contains 012.0.0.255 (10.0.0.255)', () => {
+        assert(block4.contains('012.0.0.255'));
+      });
+      it('block 1.0.0.1/4 contains 01.02.03.04', () => {
+        assert(block5.contains('01.02.03.04'));
+      });
+    });
+
+    describe('hexadecimal', () => {
+      it('block 31.0.0.0/19 does not contain 0x31.0.5.5', () => {
+        assert(!block1.contains('0x31.0.5.5'));
+      });
+      it('block 127.0.0.0/8 contains 0x7f.0.0.0x2 (127.0.0.2)', () => {
+        assert(block2.contains('0x7f.0.0.0x2'));
+      });
+      it('block 255.0.0.1/12 contains 0xff.0.0.2', () => {
+        assert(block3.contains('0xff.0.0.2'));
+      });
+      it('block 10.0.0.1/8 does not contain 0x10.0.0.255', () => {
+        assert(!block4.contains('0x10.0.0.255'));
+      });
+      it('block 1.0.0.1/4 contains 0x1.0x2.0x3.0x4', () => {
+        assert(block5.contains('0x1.0x2.0x3.0x4'));
+      });
+    });
+
+    describe('decimal', () => {
+      it('block 31.0.0.0/19 contains 31.0.5.5', () => {
+        assert(block1.contains('31.0.5.5'));
+      });
+      it('block 127.0.0.0/8 does not contain 128.0.0.2', () =>{
+        assert(!block2.contains('128.0.0.2'));
+      });
+      it('block 255.0.0.1/12 contains 255.0.0.2', () => {
+        assert(block3.contains('255.0.0.2'));
+      });
+      it('block 10.0.0.1/8 contains 10.0.0.255', () => {
+        assert(block4.contains('10.0.0.255'));
+      });
+      it('block 1.0.0.1/4 contains 1.2.3.4', () => {
+        assert(block5.contains('1.2.3.4'));
+      });
+    });
+  });
+});
\ No newline at end of file
diff --git a/node_modules/pac-proxy-agent/README.md b/node_modules/pac-proxy-agent/README.md
new file mode 100644
index 0000000..de48db1
--- /dev/null
+++ b/node_modules/pac-proxy-agent/README.md
@@ -0,0 +1,53 @@
+pac-proxy-agent
+===============
+### A [PAC file][pac-wikipedia] proxy `http.Agent` implementation for HTTP and HTTPS
+
+This module provides an `http.Agent` implementation that retreives the specified
+[PAC proxy file][pac-wikipedia] and uses it to resolve which HTTP, HTTPS, or
+SOCKS proxy, or if a direct connection should be used to connect to the
+HTTP endpoint.
+
+It is designed to be be used with the built-in `http` and `https` modules.
+
+Example
+-------
+
+```ts
+import * as http from 'http';
+import { PacProxyAgent } from 'pac-proxy-agent';
+
+const agent = new PacProxyAgent('pac+https://cloudup.com/ceGH2yZ0Bjp+');
+
+http.get('http://nodejs.org/api/', { agent }, (res) => {
+  console.log('"response" event!', res.headers);
+  res.pipe(process.stdout);
+});
+```
+
+License
+-------
+
+(The MIT License)
+
+Copyright (c) 2014 Nathan Rajlich &lt;[email protected]&gt;
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+[pac-wikipedia]: http://wikipedia.org/wiki/Proxy_auto-config
diff --git a/node_modules/pac-proxy-agent/dist/index.d.ts b/node_modules/pac-proxy-agent/dist/index.d.ts
new file mode 100644
index 0000000..1e8da2e
--- /dev/null
+++ b/node_modules/pac-proxy-agent/dist/index.d.ts
@@ -0,0 +1,61 @@
+/// <reference types="node" />
+/// <reference types="node" />
+/// <reference types="node" />
+/// <reference types="node" />
+import * as net from 'net';
+import * as http from 'http';
+import { Readable } from 'stream';
+import { Agent, AgentConnectOpts } from 'agent-base';
+import { HttpProxyAgentOptions } from 'http-proxy-agent';
+import { HttpsProxyAgentOptions } from 'https-proxy-agent';
+import { SocksProxyAgentOptions } from 'socks-proxy-agent';
+import { protocols as gProtocols, ProtocolOpts as GetUriOptions } from 'get-uri';
+import { FindProxyForURL, PacResolverOptions } from 'pac-resolver';
+type Protocols = keyof typeof gProtocols;
+type Protocol<T> = T extends `pac+${infer P}:${infer _}` ? P : T extends `${infer P}:${infer _}` ? P : never;
+export type PacProxyAgentOptions<T> = http.AgentOptions & PacResolverOptions & GetUriOptions<`${Protocol<T>}:`> & HttpProxyAgentOptions<''> & HttpsProxyAgentOptions<''> & SocksProxyAgentOptions & {
+    fallbackToDirect?: boolean;
+};
+/**
+ * The `PacProxyAgent` class.
+ *
+ * A few different "protocol" modes are supported (supported protocols are
+ * backed by the `get-uri` module):
+ *
+ *   - "pac+data", "data" - refers to an embedded "data:" URI
+ *   - "pac+file", "file" - refers to a local file
+ *   - "pac+ftp", "ftp" - refers to a file located on an FTP server
+ *   - "pac+http", "http" - refers to an HTTP endpoint
+ *   - "pac+https", "https" - refers to an HTTPS endpoint
+ */
+export declare class PacProxyAgent<Uri extends string> extends Agent {
+    static readonly protocols: `pac+${Protocols}`[];
+    uri: URL;
+    opts: PacProxyAgentOptions<Uri>;
+    cache?: Readable;
+    resolver?: FindProxyForURL;
+    resolverHash: string;
+    resolverPromise?: Promise<FindProxyForURL>;
+    constructor(uri: Uri | URL, opts?: PacProxyAgentOptions<Uri>);
+    private clearResolverPromise;
+    /**
+     * Loads the PAC proxy file from the source if necessary, and returns
+     * a generated `FindProxyForURL()` resolver function to use.
+     *
+     * @api private
+     */
+    private getResolver;
+    private loadResolver;
+    /**
+     * Loads the contents of the PAC proxy file.
+     *
+     * @api private
+     */
+    private loadPacFile;
+    /**
+     * Called when the node-core HTTP client library is creating a new HTTP request.
+     */
+    connect(req: http.ClientRequest, opts: AgentConnectOpts): Promise<http.Agent | net.Socket>;
+}
+export {};
+//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/node_modules/pac-proxy-agent/dist/index.d.ts.map b/node_modules/pac-proxy-agent/dist/index.d.ts.map
new file mode 100644
index 0000000..7d1338c
--- /dev/null
+++ b/node_modules/pac-proxy-agent/dist/index.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAI7B,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElC,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAY,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAkB,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAmB,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAmB,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAEN,SAAS,IAAI,UAAU,EACvB,YAAY,IAAI,aAAa,EAC7B,MAAM,SAAS,CAAC;AACjB,OAAO,EAEN,eAAe,EACf,kBAAkB,EAClB,MAAM,cAAc,CAAC;AAKtB,KAAK,SAAS,GAAG,MAAM,OAAO,UAAU,CAAC;AAGzC,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,GACrD,CAAC,GAEH,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,GAC/B,CAAC,GACD,KAAK,CAAC;AAET,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,GACtD,kBAAkB,GAClB,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAChC,qBAAqB,CAAC,EAAE,CAAC,GACzB,sBAAsB,CAAC,EAAE,CAAC,GAC1B,sBAAsB,GAAG;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa,CAAC,GAAG,SAAS,MAAM,CAAE,SAAQ,KAAK;IAC3D,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,SAAS,EAAE,EAAE,CAM7C;IAEF,GAAG,EAAE,GAAG,CAAC;IACT,IAAI,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;gBAE/B,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,oBAAoB,CAAC,GAAG,CAAC;IAsB5D,OAAO,CAAC,oBAAoB,CAE1B;IAEF;;;;;OAKG;IACH,OAAO,CAAC,WAAW;YAWL,YAAY;IAwC1B;;;;OAIG;YACW,WAAW;IAazB;;OAEG;IACG,OAAO,CACZ,GAAG,EAAE,IAAI,CAAC,aAAa,EACvB,IAAI,EAAE,gBAAgB,GACpB,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC;CA2HnC"}
\ No newline at end of file
diff --git a/node_modules/pac-proxy-agent/dist/index.js b/node_modules/pac-proxy-agent/dist/index.js
new file mode 100644
index 0000000..9243abf
--- /dev/null
+++ b/node_modules/pac-proxy-agent/dist/index.js
@@ -0,0 +1,250 @@
+"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.PacProxyAgent = void 0;
+const net = __importStar(require("net"));
+const tls = __importStar(require("tls"));
+const crypto = __importStar(require("crypto"));
+const events_1 = require("events");
+const debug_1 = __importDefault(require("debug"));
+const url_1 = require("url");
+const agent_base_1 = require("agent-base");
+const http_proxy_agent_1 = require("http-proxy-agent");
+const https_proxy_agent_1 = require("https-proxy-agent");
+const socks_proxy_agent_1 = require("socks-proxy-agent");
+const get_uri_1 = require("get-uri");
+const pac_resolver_1 = require("pac-resolver");
+const quickjs_emscripten_1 = require("@tootallnate/quickjs-emscripten");
+const debug = (0, debug_1.default)('pac-proxy-agent');
+/**
+ * The `PacProxyAgent` class.
+ *
+ * A few different "protocol" modes are supported (supported protocols are
+ * backed by the `get-uri` module):
+ *
+ *   - "pac+data", "data" - refers to an embedded "data:" URI
+ *   - "pac+file", "file" - refers to a local file
+ *   - "pac+ftp", "ftp" - refers to a file located on an FTP server
+ *   - "pac+http", "http" - refers to an HTTP endpoint
+ *   - "pac+https", "https" - refers to an HTTPS endpoint
+ */
+class PacProxyAgent extends agent_base_1.Agent {
+    constructor(uri, opts) {
+        super(opts);
+        this.clearResolverPromise = () => {
+            this.resolverPromise = undefined;
+        };
+        // Strip the "pac+" prefix
+        const uriStr = typeof uri === 'string' ? uri : uri.href;
+        this.uri = new URL(uriStr.replace(/^pac\+/i, ''));
+        debug('Creating PacProxyAgent with URI %o', this.uri.href);
+        // @ts-expect-error Not sure why TS is complaining here…
+        this.opts = { ...opts };
+        this.cache = undefined;
+        this.resolver = undefined;
+        this.resolverHash = '';
+        this.resolverPromise = undefined;
+        // For `PacResolver`
+        if (!this.opts.filename) {
+            this.opts.filename = this.uri.href;
+        }
+    }
+    /**
+     * Loads the PAC proxy file from the source if necessary, and returns
+     * a generated `FindProxyForURL()` resolver function to use.
+     *
+     * @api private
+     */
+    getResolver() {
+        if (!this.resolverPromise) {
+            this.resolverPromise = this.loadResolver();
+            this.resolverPromise.then(this.clearResolverPromise, this.clearResolverPromise);
+        }
+        return this.resolverPromise;
+    }
+    async loadResolver() {
+        try {
+            // (Re)load the contents of the PAC file URI
+            const [qjs, code] = await Promise.all([
+                (0, quickjs_emscripten_1.getQuickJS)(),
+                this.loadPacFile(),
+            ]);
+            // Create a sha1 hash of the JS code
+            const hash = crypto.createHash('sha1').update(code).digest('hex');
+            if (this.resolver && this.resolverHash === hash) {
+                debug('Same sha1 hash for code - contents have not changed, reusing previous proxy resolver');
+                return this.resolver;
+            }
+            // Cache the resolver
+            debug('Creating new proxy resolver instance');
+            this.resolver = (0, pac_resolver_1.createPacResolver)(qjs, code, this.opts);
+            // Store that sha1 hash for future comparison purposes
+            this.resolverHash = hash;
+            return this.resolver;
+        }
+        catch (err) {
+            if (this.resolver &&
+                err.code === 'ENOTMODIFIED') {
+                debug('Got ENOTMODIFIED response, reusing previous proxy resolver');
+                return this.resolver;
+            }
+            throw err;
+        }
+    }
+    /**
+     * Loads the contents of the PAC proxy file.
+     *
+     * @api private
+     */
+    async loadPacFile() {
+        debug('Loading PAC file: %o', this.uri);
+        const rs = await (0, get_uri_1.getUri)(this.uri, { ...this.opts, cache: this.cache });
+        debug('Got `Readable` instance for URI');
+        this.cache = rs;
+        const buf = await (0, agent_base_1.toBuffer)(rs);
+        debug('Read %o byte PAC file from URI', buf.length);
+        return buf.toString('utf8');
+    }
+    /**
+     * Called when the node-core HTTP client library is creating a new HTTP request.
+     */
+    async connect(req, opts) {
+        const { secureEndpoint } = opts;
+        // First, get a generated `FindProxyForURL()` function,
+        // either cached or retrieved from the source
+        const resolver = await this.getResolver();
+        // Calculate the `url` parameter
+        const defaultPort = secureEndpoint ? 443 : 80;
+        let path = req.path;
+        let search = null;
+        const firstQuestion = path.indexOf('?');
+        if (firstQuestion !== -1) {
+            search = path.substring(firstQuestion);
+            path = path.substring(0, firstQuestion);
+        }
+        const urlOpts = {
+            ...opts,
+            protocol: secureEndpoint ? 'https:' : 'http:',
+            pathname: path,
+            search,
+            // need to use `hostname` instead of `host` otherwise `port` is ignored
+            hostname: opts.host,
+            host: null,
+            href: null,
+            // set `port` to null when it is the protocol default port (80 / 443)
+            port: defaultPort === opts.port ? null : opts.port,
+        };
+        const url = (0, url_1.format)(urlOpts);
+        debug('url: %o', url);
+        let result = await resolver(url);
+        // Default to "DIRECT" if a falsey value was returned (or nothing)
+        if (!result) {
+            result = 'DIRECT';
+        }
+        const proxies = String(result)
+            .trim()
+            .split(/\s*;\s*/g)
+            .filter(Boolean);
+        if (this.opts.fallbackToDirect && !proxies.includes('DIRECT')) {
+            proxies.push('DIRECT');
+        }
+        for (const proxy of proxies) {
+            let agent = null;
+            let socket = null;
+            const [type, target] = proxy.split(/\s+/);
+            debug('Attempting to use proxy: %o', proxy);
+            if (type === 'DIRECT') {
+                // Direct connection to the destination endpoint
+                if (secureEndpoint) {
+                    const servername = opts.servername || opts.host;
+                    socket = tls.connect({
+                        ...opts,
+                        servername: !servername || net.isIP(servername)
+                            ? undefined
+                            : servername,
+                    });
+                }
+                else {
+                    socket = net.connect(opts);
+                }
+            }
+            else if (type === 'SOCKS' || type === 'SOCKS5') {
+                // Use a SOCKSv5h proxy
+                agent = new socks_proxy_agent_1.SocksProxyAgent(`socks://${target}`, this.opts);
+            }
+            else if (type === 'SOCKS4') {
+                // Use a SOCKSv4a proxy
+                agent = new socks_proxy_agent_1.SocksProxyAgent(`socks4a://${target}`, this.opts);
+            }
+            else if (type === 'PROXY' ||
+                type === 'HTTP' ||
+                type === 'HTTPS') {
+                // Use an HTTP or HTTPS proxy
+                // http://dev.chromium.org/developers/design-documents/secure-web-proxy
+                const proxyURL = `${type === 'HTTPS' ? 'https' : 'http'}://${target}`;
+                if (secureEndpoint) {
+                    agent = new https_proxy_agent_1.HttpsProxyAgent(proxyURL, this.opts);
+                }
+                else {
+                    agent = new http_proxy_agent_1.HttpProxyAgent(proxyURL, this.opts);
+                }
+            }
+            try {
+                if (socket) {
+                    // "DIRECT" connection, wait for connection confirmation
+                    await (0, events_1.once)(socket, 'connect');
+                    req.emit('proxy', { proxy, socket });
+                    return socket;
+                }
+                if (agent) {
+                    const s = await agent.connect(req, opts);
+                    if (!(s instanceof net.Socket)) {
+                        throw new Error('Expected a `net.Socket` to be returned from agent');
+                    }
+                    req.emit('proxy', { proxy, socket: s });
+                    return s;
+                }
+                throw new Error(`Could not determine proxy type for: ${proxy}`);
+            }
+            catch (err) {
+                debug('Got error for proxy %o: %o', proxy, err);
+                req.emit('proxy', { proxy, error: err });
+            }
+        }
+        throw new Error(`Failed to establish a socket connection to proxies: ${JSON.stringify(proxies)}`);
+    }
+}
+PacProxyAgent.protocols = [
+    'pac+data',
+    'pac+file',
+    'pac+ftp',
+    'pac+http',
+    'pac+https',
+];
+exports.PacProxyAgent = PacProxyAgent;
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/node_modules/pac-proxy-agent/dist/index.js.map b/node_modules/pac-proxy-agent/dist/index.js.map
new file mode 100644
index 0000000..5623031
--- /dev/null
+++ b/node_modules/pac-proxy-agent/dist/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/pac-proxy-agent/node_modules/debug/LICENSE b/node_modules/pac-proxy-agent/node_modules/debug/LICENSE
new file mode 100644
index 0000000..1a9820e
--- /dev/null
+++ b/node_modules/pac-proxy-agent/node_modules/debug/LICENSE
@@ -0,0 +1,20 @@
+(The MIT License)
+
+Copyright (c) 2014-2017 TJ Holowaychuk <[email protected]>
+Copyright (c) 2018-2021 Josh Junon
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+and associated documentation files (the 'Software'), to deal in the Software without restriction,
+including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
diff --git a/node_modules/pac-proxy-agent/node_modules/debug/README.md b/node_modules/pac-proxy-agent/node_modules/debug/README.md
new file mode 100644
index 0000000..e9c3e04
--- /dev/null
+++ b/node_modules/pac-proxy-agent/node_modules/debug/README.md
@@ -0,0 +1,481 @@
+# debug
+[![Build Status](https://travis-ci.org/debug-js/debug.svg?branch=master)](https://travis-ci.org/debug-js/debug)  [![Coverage Status](https://coveralls.io/repos/github/debug-js/debug/badge.svg?branch=master)](https://coveralls.io/github/debug-js/debug?branch=master)  [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers)
+[![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors)
+
+<img width="647" src="https://user-images.githubusercontent.com/71256/29091486-fa38524c-7c37-11e7-895f-e7ec8e1039b6.png">
+
+A tiny JavaScript debugging utility modelled after Node.js core's debugging
+technique. Works in Node.js and web browsers.
+
+## Installation
+
+```bash
+$ npm install debug
+```
+
+## Usage
+
+`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole.
+
+Example [_app.js_](./examples/node/app.js):
+
+```js
+var debug = require('debug')('http')
+  , http = require('http')
+  , name = 'My App';
+
+// fake app
+
+debug('booting %o', name);
+
+http.createServer(function(req, res){
+  debug(req.method + ' ' + req.url);
+  res.end('hello\n');
+}).listen(3000, function(){
+  debug('listening');
+});
+
+// fake worker of some kind
+
+require('./worker');
+```
+
+Example [_worker.js_](./examples/node/worker.js):
+
+```js
+var a = require('debug')('worker:a')
+  , b = require('debug')('worker:b');
+
+function work() {
+  a('doing lots of uninteresting work');
+  setTimeout(work, Math.random() * 1000);
+}
+
+work();
+
+function workb() {
+  b('doing some work');
+  setTimeout(workb, Math.random() * 2000);
+}
+
+workb();
+```
+
+The `DEBUG` environment variable is then used to enable these based on space or
+comma-delimited names.
+
+Here are some examples:
+
+<img width="647" alt="screen shot 2017-08-08 at 12 53 04 pm" src="https://user-images.githubusercontent.com/71256/29091703-a6302cdc-7c38-11e7-8304-7c0b3bc600cd.png">
+<img width="647" alt="screen shot 2017-08-08 at 12 53 38 pm" src="https://user-images.githubusercontent.com/71256/29091700-a62a6888-7c38-11e7-800b-db911291ca2b.png">
+<img width="647" alt="screen shot 2017-08-08 at 12 53 25 pm" src="https://user-images.githubusercontent.com/71256/29091701-a62ea114-7c38-11e7-826a-2692bedca740.png">
+
+#### Windows command prompt notes
+
+##### CMD
+
+On Windows the environment variable is set using the `set` command.
+
+```cmd
+set DEBUG=*,-not_this
+```
+
+Example:
+
+```cmd
+set DEBUG=* & node app.js
+```
+
+##### PowerShell (VS Code default)
+
+PowerShell uses different syntax to set environment variables.
+
+```cmd
+$env:DEBUG = "*,-not_this"
+```
+
+Example:
+
+```cmd
+$env:DEBUG='app';node app.js
+```
+
+Then, run the program to be debugged as usual.
+
+npm script example:
+```js
+  "windowsDebug": "@powershell -Command $env:DEBUG='*';node app.js",
+```
+
+## Namespace Colors
+
+Every debug instance has a color generated for it based on its namespace name.
+This helps when visually parsing the debug output to identify which debug instance
+a debug line belongs to.
+
+#### Node.js
+
+In Node.js, colors are enabled when stderr is a TTY. You also _should_ install
+the [`supports-color`](https://npmjs.org/supports-color) module alongside debug,
+otherwise debug will only use a small handful of basic colors.
+
+<img width="521" src="https://user-images.githubusercontent.com/71256/29092181-47f6a9e6-7c3a-11e7-9a14-1928d8a711cd.png">
+
+#### Web Browser
+
+Colors are also enabled on "Web Inspectors" that understand the `%c` formatting
+option. These are WebKit web inspectors, Firefox ([since version
+31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))
+and the Firebug plugin for Firefox (any version).
+
+<img width="524" src="https://user-images.githubusercontent.com/71256/29092033-b65f9f2e-7c39-11e7-8e32-f6f0d8e865c1.png">
+
+
+## Millisecond diff
+
+When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls.
+
+<img width="647" src="https://user-images.githubusercontent.com/71256/29091486-fa38524c-7c37-11e7-895f-e7ec8e1039b6.png">
+
+When stdout is not a TTY, `Date#toISOString()` is used, making it more useful for logging the debug information as shown below:
+
+<img width="647" src="https://user-images.githubusercontent.com/71256/29091956-6bd78372-7c39-11e7-8c55-c948396d6edd.png">
+
+
+## Conventions
+
+If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser".  If you append a "*" to the end of your name, it will always be enabled regardless of the setting of the DEBUG environment variable.  You can then use it for normal output as well as debug output.
+
+## Wildcards
+
+The `*` character may be used as a wildcard. Suppose for example your library has
+debuggers named "connect:bodyParser", "connect:compress", "connect:session",
+instead of listing all three with
+`DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do
+`DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.
+
+You can also exclude specific debuggers by prefixing them with a "-" character.
+For example, `DEBUG=*,-connect:*` would include all debuggers except those
+starting with "connect:".
+
+## Environment Variables
+
+When running through Node.js, you can set a few environment variables that will
+change the behavior of the debug logging:
+
+| Name      | Purpose                                         |
+|-----------|-------------------------------------------------|
+| `DEBUG`   | Enables/disables specific debugging namespaces. |
+| `DEBUG_HIDE_DATE` | Hide date from debug output (non-TTY).  |
+| `DEBUG_COLORS`| Whether or not to use colors in the debug output. |
+| `DEBUG_DEPTH` | Object inspection depth.                    |
+| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. |
+
+
+__Note:__ The environment variables beginning with `DEBUG_` end up being
+converted into an Options object that gets used with `%o`/`%O` formatters.
+See the Node.js documentation for
+[`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options)
+for the complete list.
+
+## Formatters
+
+Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting.
+Below are the officially supported formatters:
+
+| Formatter | Representation |
+|-----------|----------------|
+| `%O`      | Pretty-print an Object on multiple lines. |
+| `%o`      | Pretty-print an Object all on a single line. |
+| `%s`      | String. |
+| `%d`      | Number (both integer and float). |
+| `%j`      | JSON. Replaced with the string '[Circular]' if the argument contains circular references. |
+| `%%`      | Single percent sign ('%'). This does not consume an argument. |
+
+
+### Custom formatters
+
+You can add custom formatters by extending the `debug.formatters` object.
+For example, if you wanted to add support for rendering a Buffer as hex with
+`%h`, you could do something like:
+
+```js
+const createDebug = require('debug')
+createDebug.formatters.h = (v) => {
+  return v.toString('hex')
+}
+
+// …elsewhere
+const debug = createDebug('foo')
+debug('this is hex: %h', new Buffer('hello world'))
+//   foo this is hex: 68656c6c6f20776f726c6421 +0ms
+```
+
+
+## Browser Support
+
+You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify),
+or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest),
+if you don't want to build it yourself.
+
+Debug's enable state is currently persisted by `localStorage`.
+Consider the situation shown below where you have `worker:a` and `worker:b`,
+and wish to debug both. You can enable this using `localStorage.debug`:
+
+```js
+localStorage.debug = 'worker:*'
+```
+
+And then refresh the page.
+
+```js
+a = debug('worker:a');
+b = debug('worker:b');
+
+setInterval(function(){
+  a('doing some work');
+}, 1000);
+
+setInterval(function(){
+  b('doing some work');
+}, 1200);
+```
+
+In Chromium-based web browsers (e.g. Brave, Chrome, and Electron), the JavaScript console will—by default—only show messages logged by `debug` if the "Verbose" log level is _enabled_.
+
+<img width="647" src="https://user-images.githubusercontent.com/7143133/152083257-29034707-c42c-4959-8add-3cee850e6fcf.png">
+
+## Output streams
+
+  By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method:
+
+Example [_stdout.js_](./examples/node/stdout.js):
+
+```js
+var debug = require('debug');
+var error = debug('app:error');
+
+// by default stderr is used
+error('goes to stderr!');
+
+var log = debug('app:log');
+// set this namespace to log via console.log
+log.log = console.log.bind(console); // don't forget to bind to console!
+log('goes to stdout');
+error('still goes to stderr!');
+
+// set all output to go via console.info
+// overrides all per-namespace log settings
+debug.log = console.info.bind(console);
+error('now goes to stdout via console.info');
+log('still goes to stdout, but via console.info now');
+```
+
+## Extend
+You can simply extend debugger 
+```js
+const log = require('debug')('auth');
+
+//creates new debug instance with extended namespace
+const logSign = log.extend('sign');
+const logLogin = log.extend('login');
+
+log('hello'); // auth hello
+logSign('hello'); //auth:sign hello
+logLogin('hello'); //auth:login hello
+```
+
+## Set dynamically
+
+You can also enable debug dynamically by calling the `enable()` method :
+
+```js
+let debug = require('debug');
+
+console.log(1, debug.enabled('test'));
+
+debug.enable('test');
+console.log(2, debug.enabled('test'));
+
+debug.disable();
+console.log(3, debug.enabled('test'));
+
+```
+
+print :   
+```
+1 false
+2 true
+3 false
+```
+
+Usage :  
+`enable(namespaces)`  
+`namespaces` can include modes separated by a colon and wildcards.
+   
+Note that calling `enable()` completely overrides previously set DEBUG variable : 
+
+```
+$ DEBUG=foo node -e 'var dbg = require("debug"); dbg.enable("bar"); console.log(dbg.enabled("foo"))'
+=> false
+```
+
+`disable()`
+
+Will disable all namespaces. The functions returns the namespaces currently
+enabled (and skipped). This can be useful if you want to disable debugging
+temporarily without knowing what was enabled to begin with.
+
+For example:
+
+```js
+let debug = require('debug');
+debug.enable('foo:*,-foo:bar');
+let namespaces = debug.disable();
+debug.enable(namespaces);
+```
+
+Note: There is no guarantee that the string will be identical to the initial
+enable string, but semantically they will be identical.
+
+## Checking whether a debug target is enabled
+
+After you've created a debug instance, you can determine whether or not it is
+enabled by checking the `enabled` property:
+
+```javascript
+const debug = require('debug')('http');
+
+if (debug.enabled) {
+  // do stuff...
+}
+```
+
+You can also manually toggle this property to force the debug instance to be
+enabled or disabled.
+
+## Usage in child processes
+
+Due to the way `debug` detects if the output is a TTY or not, colors are not shown in child processes when `stderr` is piped. A solution is to pass the `DEBUG_COLORS=1` environment variable to the child process.  
+For example:
+
+```javascript
+worker = fork(WORKER_WRAP_PATH, [workerPath], {
+  stdio: [
+    /* stdin: */ 0,
+    /* stdout: */ 'pipe',
+    /* stderr: */ 'pipe',
+    'ipc',
+  ],
+  env: Object.assign({}, process.env, {
+    DEBUG_COLORS: 1 // without this settings, colors won't be shown
+  }),
+});
+
+worker.stderr.pipe(process.stderr, { end: false });
+```
+
+
+## Authors
+
+ - TJ Holowaychuk
+ - Nathan Rajlich
+ - Andrew Rhyne
+ - Josh Junon
+
+## Backers
+
+Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)]
+
+<a href="https://opencollective.com/debug/backer/0/website" target="_blank"><img src="https://opencollective.com/debug/backer/0/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/1/website" target="_blank"><img src="https://opencollective.com/debug/backer/1/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/2/website" target="_blank"><img src="https://opencollective.com/debug/backer/2/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/3/website" target="_blank"><img src="https://opencollective.com/debug/backer/3/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/4/website" target="_blank"><img src="https://opencollective.com/debug/backer/4/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/5/website" target="_blank"><img src="https://opencollective.com/debug/backer/5/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/6/website" target="_blank"><img src="https://opencollective.com/debug/backer/6/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/7/website" target="_blank"><img src="https://opencollective.com/debug/backer/7/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/8/website" target="_blank"><img src="https://opencollective.com/debug/backer/8/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/9/website" target="_blank"><img src="https://opencollective.com/debug/backer/9/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/10/website" target="_blank"><img src="https://opencollective.com/debug/backer/10/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/11/website" target="_blank"><img src="https://opencollective.com/debug/backer/11/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/12/website" target="_blank"><img src="https://opencollective.com/debug/backer/12/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/13/website" target="_blank"><img src="https://opencollective.com/debug/backer/13/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/14/website" target="_blank"><img src="https://opencollective.com/debug/backer/14/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/15/website" target="_blank"><img src="https://opencollective.com/debug/backer/15/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/16/website" target="_blank"><img src="https://opencollective.com/debug/backer/16/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/17/website" target="_blank"><img src="https://opencollective.com/debug/backer/17/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/18/website" target="_blank"><img src="https://opencollective.com/debug/backer/18/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/19/website" target="_blank"><img src="https://opencollective.com/debug/backer/19/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/20/website" target="_blank"><img src="https://opencollective.com/debug/backer/20/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/21/website" target="_blank"><img src="https://opencollective.com/debug/backer/21/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/22/website" target="_blank"><img src="https://opencollective.com/debug/backer/22/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/23/website" target="_blank"><img src="https://opencollective.com/debug/backer/23/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/24/website" target="_blank"><img src="https://opencollective.com/debug/backer/24/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/25/website" target="_blank"><img src="https://opencollective.com/debug/backer/25/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/26/website" target="_blank"><img src="https://opencollective.com/debug/backer/26/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/27/website" target="_blank"><img src="https://opencollective.com/debug/backer/27/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/28/website" target="_blank"><img src="https://opencollective.com/debug/backer/28/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/29/website" target="_blank"><img src="https://opencollective.com/debug/backer/29/avatar.svg"></a>
+
+
+## Sponsors
+
+Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)]
+
+<a href="https://opencollective.com/debug/sponsor/0/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/0/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/1/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/1/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/2/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/2/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/3/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/3/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/4/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/4/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/5/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/5/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/6/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/6/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/7/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/7/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/8/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/8/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/9/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/9/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/10/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/10/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/11/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/11/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/12/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/12/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/13/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/13/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/14/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/14/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/15/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/15/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/16/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/16/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/17/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/17/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/18/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/18/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/19/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/19/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/20/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/20/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/21/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/21/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/22/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/22/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/23/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/23/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/24/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/24/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/25/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/25/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/26/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/26/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/27/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/27/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/28/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/28/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/29/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/29/avatar.svg"></a>
+
+## License
+
+(The MIT License)
+
+Copyright (c) 2014-2017 TJ Holowaychuk &lt;[email protected]&gt;
+Copyright (c) 2018-2021 Josh Junon
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/pac-proxy-agent/node_modules/debug/package.json b/node_modules/pac-proxy-agent/node_modules/debug/package.json
new file mode 100644
index 0000000..3bcdc24
--- /dev/null
+++ b/node_modules/pac-proxy-agent/node_modules/debug/package.json
@@ -0,0 +1,59 @@
+{
+  "name": "debug",
+  "version": "4.3.4",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/debug-js/debug.git"
+  },
+  "description": "Lightweight debugging utility for Node.js and the browser",
+  "keywords": [
+    "debug",
+    "log",
+    "debugger"
+  ],
+  "files": [
+    "src",
+    "LICENSE",
+    "README.md"
+  ],
+  "author": "Josh Junon <[email protected]>",
+  "contributors": [
+    "TJ Holowaychuk <[email protected]>",
+    "Nathan Rajlich <[email protected]> (http://n8.io)",
+    "Andrew Rhyne <[email protected]>"
+  ],
+  "license": "MIT",
+  "scripts": {
+    "lint": "xo",
+    "test": "npm run test:node && npm run test:browser && npm run lint",
+    "test:node": "istanbul cover _mocha -- test.js",
+    "test:browser": "karma start --single-run",
+    "test:coverage": "cat ./coverage/lcov.info | coveralls"
+  },
+  "dependencies": {
+    "ms": "2.1.2"
+  },
+  "devDependencies": {
+    "brfs": "^2.0.1",
+    "browserify": "^16.2.3",
+    "coveralls": "^3.0.2",
+    "istanbul": "^0.4.5",
+    "karma": "^3.1.4",
+    "karma-browserify": "^6.0.0",
+    "karma-chrome-launcher": "^2.2.0",
+    "karma-mocha": "^1.3.0",
+    "mocha": "^5.2.0",
+    "mocha-lcov-reporter": "^1.2.0",
+    "xo": "^0.23.0"
+  },
+  "peerDependenciesMeta": {
+    "supports-color": {
+      "optional": true
+    }
+  },
+  "main": "./src/index.js",
+  "browser": "./src/browser.js",
+  "engines": {
+    "node": ">=6.0"
+  }
+}
diff --git a/node_modules/pac-proxy-agent/node_modules/debug/src/browser.js b/node_modules/pac-proxy-agent/node_modules/debug/src/browser.js
new file mode 100644
index 0000000..cd0fc35
--- /dev/null
+++ b/node_modules/pac-proxy-agent/node_modules/debug/src/browser.js
@@ -0,0 +1,269 @@
+/* eslint-env browser */
+
+/**
+ * This is the web browser implementation of `debug()`.
+ */
+
+exports.formatArgs = formatArgs;
+exports.save = save;
+exports.load = load;
+exports.useColors = useColors;
+exports.storage = localstorage();
+exports.destroy = (() => {
+	let warned = false;
+
+	return () => {
+		if (!warned) {
+			warned = true;
+			console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
+		}
+	};
+})();
+
+/**
+ * Colors.
+ */
+
+exports.colors = [
+	'#0000CC',
+	'#0000FF',
+	'#0033CC',
+	'#0033FF',
+	'#0066CC',
+	'#0066FF',
+	'#0099CC',
+	'#0099FF',
+	'#00CC00',
+	'#00CC33',
+	'#00CC66',
+	'#00CC99',
+	'#00CCCC',
+	'#00CCFF',
+	'#3300CC',
+	'#3300FF',
+	'#3333CC',
+	'#3333FF',
+	'#3366CC',
+	'#3366FF',
+	'#3399CC',
+	'#3399FF',
+	'#33CC00',
+	'#33CC33',
+	'#33CC66',
+	'#33CC99',
+	'#33CCCC',
+	'#33CCFF',
+	'#6600CC',
+	'#6600FF',
+	'#6633CC',
+	'#6633FF',
+	'#66CC00',
+	'#66CC33',
+	'#9900CC',
+	'#9900FF',
+	'#9933CC',
+	'#9933FF',
+	'#99CC00',
+	'#99CC33',
+	'#CC0000',
+	'#CC0033',
+	'#CC0066',
+	'#CC0099',
+	'#CC00CC',
+	'#CC00FF',
+	'#CC3300',
+	'#CC3333',
+	'#CC3366',
+	'#CC3399',
+	'#CC33CC',
+	'#CC33FF',
+	'#CC6600',
+	'#CC6633',
+	'#CC9900',
+	'#CC9933',
+	'#CCCC00',
+	'#CCCC33',
+	'#FF0000',
+	'#FF0033',
+	'#FF0066',
+	'#FF0099',
+	'#FF00CC',
+	'#FF00FF',
+	'#FF3300',
+	'#FF3333',
+	'#FF3366',
+	'#FF3399',
+	'#FF33CC',
+	'#FF33FF',
+	'#FF6600',
+	'#FF6633',
+	'#FF9900',
+	'#FF9933',
+	'#FFCC00',
+	'#FFCC33'
+];
+
+/**
+ * Currently only WebKit-based Web Inspectors, Firefox >= v31,
+ * and the Firebug extension (any Firefox version) are known
+ * to support "%c" CSS customizations.
+ *
+ * TODO: add a `localStorage` variable to explicitly enable/disable colors
+ */
+
+// eslint-disable-next-line complexity
+function useColors() {
+	// NB: In an Electron preload script, document will be defined but not fully
+	// initialized. Since we know we're in Chrome, we'll just detect this case
+	// explicitly
+	if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
+		return true;
+	}
+
+	// Internet Explorer and Edge do not support colors.
+	if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
+		return false;
+	}
+
+	// Is webkit? http://stackoverflow.com/a/16459606/376773
+	// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
+	return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
+		// Is firebug? http://stackoverflow.com/a/398120/376773
+		(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
+		// Is firefox >= v31?
+		// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
+		(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||
+		// Double check webkit in userAgent just in case we are in a worker
+		(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
+}
+
+/**
+ * Colorize log arguments if enabled.
+ *
+ * @api public
+ */
+
+function formatArgs(args) {
+	args[0] = (this.useColors ? '%c' : '') +
+		this.namespace +
+		(this.useColors ? ' %c' : ' ') +
+		args[0] +
+		(this.useColors ? '%c ' : ' ') +
+		'+' + module.exports.humanize(this.diff);
+
+	if (!this.useColors) {
+		return;
+	}
+
+	const c = 'color: ' + this.color;
+	args.splice(1, 0, c, 'color: inherit');
+
+	// The final "%c" is somewhat tricky, because there could be other
+	// arguments passed either before or after the %c, so we need to
+	// figure out the correct index to insert the CSS into
+	let index = 0;
+	let lastC = 0;
+	args[0].replace(/%[a-zA-Z%]/g, match => {
+		if (match === '%%') {
+			return;
+		}
+		index++;
+		if (match === '%c') {
+			// We only are interested in the *last* %c
+			// (the user may have provided their own)
+			lastC = index;
+		}
+	});
+
+	args.splice(lastC, 0, c);
+}
+
+/**
+ * Invokes `console.debug()` when available.
+ * No-op when `console.debug` is not a "function".
+ * If `console.debug` is not available, falls back
+ * to `console.log`.
+ *
+ * @api public
+ */
+exports.log = console.debug || console.log || (() => {});
+
+/**
+ * Save `namespaces`.
+ *
+ * @param {String} namespaces
+ * @api private
+ */
+function save(namespaces) {
+	try {
+		if (namespaces) {
+			exports.storage.setItem('debug', namespaces);
+		} else {
+			exports.storage.removeItem('debug');
+		}
+	} catch (error) {
+		// Swallow
+		// XXX (@Qix-) should we be logging these?
+	}
+}
+
+/**
+ * Load `namespaces`.
+ *
+ * @return {String} returns the previously persisted debug modes
+ * @api private
+ */
+function load() {
+	let r;
+	try {
+		r = exports.storage.getItem('debug');
+	} catch (error) {
+		// Swallow
+		// XXX (@Qix-) should we be logging these?
+	}
+
+	// If debug isn't set in LS, and we're in Electron, try to load $DEBUG
+	if (!r && typeof process !== 'undefined' && 'env' in process) {
+		r = process.env.DEBUG;
+	}
+
+	return r;
+}
+
+/**
+ * Localstorage attempts to return the localstorage.
+ *
+ * This is necessary because safari throws
+ * when a user disables cookies/localstorage
+ * and you attempt to access it.
+ *
+ * @return {LocalStorage}
+ * @api private
+ */
+
+function localstorage() {
+	try {
+		// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
+		// The Browser also has localStorage in the global context.
+		return localStorage;
+	} catch (error) {
+		// Swallow
+		// XXX (@Qix-) should we be logging these?
+	}
+}
+
+module.exports = require('./common')(exports);
+
+const {formatters} = module.exports;
+
+/**
+ * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
+ */
+
+formatters.j = function (v) {
+	try {
+		return JSON.stringify(v);
+	} catch (error) {
+		return '[UnexpectedJSONParseError]: ' + error.message;
+	}
+};
diff --git a/node_modules/pac-proxy-agent/node_modules/debug/src/common.js b/node_modules/pac-proxy-agent/node_modules/debug/src/common.js
new file mode 100644
index 0000000..e3291b2
--- /dev/null
+++ b/node_modules/pac-proxy-agent/node_modules/debug/src/common.js
@@ -0,0 +1,274 @@
+
+/**
+ * This is the common logic for both the Node.js and web browser
+ * implementations of `debug()`.
+ */
+
+function setup(env) {
+	createDebug.debug = createDebug;
+	createDebug.default = createDebug;
+	createDebug.coerce = coerce;
+	createDebug.disable = disable;
+	createDebug.enable = enable;
+	createDebug.enabled = enabled;
+	createDebug.humanize = require('ms');
+	createDebug.destroy = destroy;
+
+	Object.keys(env).forEach(key => {
+		createDebug[key] = env[key];
+	});
+
+	/**
+	* The currently active debug mode names, and names to skip.
+	*/
+
+	createDebug.names = [];
+	createDebug.skips = [];
+
+	/**
+	* Map of special "%n" handling functions, for the debug "format" argument.
+	*
+	* Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
+	*/
+	createDebug.formatters = {};
+
+	/**
+	* Selects a color for a debug namespace
+	* @param {String} namespace The namespace string for the debug instance to be colored
+	* @return {Number|String} An ANSI color code for the given namespace
+	* @api private
+	*/
+	function selectColor(namespace) {
+		let hash = 0;
+
+		for (let i = 0; i < namespace.length; i++) {
+			hash = ((hash << 5) - hash) + namespace.charCodeAt(i);
+			hash |= 0; // Convert to 32bit integer
+		}
+
+		return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
+	}
+	createDebug.selectColor = selectColor;
+
+	/**
+	* Create a debugger with the given `namespace`.
+	*
+	* @param {String} namespace
+	* @return {Function}
+	* @api public
+	*/
+	function createDebug(namespace) {
+		let prevTime;
+		let enableOverride = null;
+		let namespacesCache;
+		let enabledCache;
+
+		function debug(...args) {
+			// Disabled?
+			if (!debug.enabled) {
+				return;
+			}
+
+			const self = debug;
+
+			// Set `diff` timestamp
+			const curr = Number(new Date());
+			const ms = curr - (prevTime || curr);
+			self.diff = ms;
+			self.prev = prevTime;
+			self.curr = curr;
+			prevTime = curr;
+
+			args[0] = createDebug.coerce(args[0]);
+
+			if (typeof args[0] !== 'string') {
+				// Anything else let's inspect with %O
+				args.unshift('%O');
+			}
+
+			// Apply any `formatters` transformations
+			let index = 0;
+			args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
+				// If we encounter an escaped % then don't increase the array index
+				if (match === '%%') {
+					return '%';
+				}
+				index++;
+				const formatter = createDebug.formatters[format];
+				if (typeof formatter === 'function') {
+					const val = args[index];
+					match = formatter.call(self, val);
+
+					// Now we need to remove `args[index]` since it's inlined in the `format`
+					args.splice(index, 1);
+					index--;
+				}
+				return match;
+			});
+
+			// Apply env-specific formatting (colors, etc.)
+			createDebug.formatArgs.call(self, args);
+
+			const logFn = self.log || createDebug.log;
+			logFn.apply(self, args);
+		}
+
+		debug.namespace = namespace;
+		debug.useColors = createDebug.useColors();
+		debug.color = createDebug.selectColor(namespace);
+		debug.extend = extend;
+		debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.
+
+		Object.defineProperty(debug, 'enabled', {
+			enumerable: true,
+			configurable: false,
+			get: () => {
+				if (enableOverride !== null) {
+					return enableOverride;
+				}
+				if (namespacesCache !== createDebug.namespaces) {
+					namespacesCache = createDebug.namespaces;
+					enabledCache = createDebug.enabled(namespace);
+				}
+
+				return enabledCache;
+			},
+			set: v => {
+				enableOverride = v;
+			}
+		});
+
+		// Env-specific initialization logic for debug instances
+		if (typeof createDebug.init === 'function') {
+			createDebug.init(debug);
+		}
+
+		return debug;
+	}
+
+	function extend(namespace, delimiter) {
+		const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
+		newDebug.log = this.log;
+		return newDebug;
+	}
+
+	/**
+	* Enables a debug mode by namespaces. This can include modes
+	* separated by a colon and wildcards.
+	*
+	* @param {String} namespaces
+	* @api public
+	*/
+	function enable(namespaces) {
+		createDebug.save(namespaces);
+		createDebug.namespaces = namespaces;
+
+		createDebug.names = [];
+		createDebug.skips = [];
+
+		let i;
+		const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
+		const len = split.length;
+
+		for (i = 0; i < len; i++) {
+			if (!split[i]) {
+				// ignore empty strings
+				continue;
+			}
+
+			namespaces = split[i].replace(/\*/g, '.*?');
+
+			if (namespaces[0] === '-') {
+				createDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));
+			} else {
+				createDebug.names.push(new RegExp('^' + namespaces + '$'));
+			}
+		}
+	}
+
+	/**
+	* Disable debug output.
+	*
+	* @return {String} namespaces
+	* @api public
+	*/
+	function disable() {
+		const namespaces = [
+			...createDebug.names.map(toNamespace),
+			...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)
+		].join(',');
+		createDebug.enable('');
+		return namespaces;
+	}
+
+	/**
+	* Returns true if the given mode name is enabled, false otherwise.
+	*
+	* @param {String} name
+	* @return {Boolean}
+	* @api public
+	*/
+	function enabled(name) {
+		if (name[name.length - 1] === '*') {
+			return true;
+		}
+
+		let i;
+		let len;
+
+		for (i = 0, len = createDebug.skips.length; i < len; i++) {
+			if (createDebug.skips[i].test(name)) {
+				return false;
+			}
+		}
+
+		for (i = 0, len = createDebug.names.length; i < len; i++) {
+			if (createDebug.names[i].test(name)) {
+				return true;
+			}
+		}
+
+		return false;
+	}
+
+	/**
+	* Convert regexp to namespace
+	*
+	* @param {RegExp} regxep
+	* @return {String} namespace
+	* @api private
+	*/
+	function toNamespace(regexp) {
+		return regexp.toString()
+			.substring(2, regexp.toString().length - 2)
+			.replace(/\.\*\?$/, '*');
+	}
+
+	/**
+	* Coerce `val`.
+	*
+	* @param {Mixed} val
+	* @return {Mixed}
+	* @api private
+	*/
+	function coerce(val) {
+		if (val instanceof Error) {
+			return val.stack || val.message;
+		}
+		return val;
+	}
+
+	/**
+	* XXX DO NOT USE. This is a temporary stub function.
+	* XXX It WILL be removed in the next major release.
+	*/
+	function destroy() {
+		console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
+	}
+
+	createDebug.enable(createDebug.load());
+
+	return createDebug;
+}
+
+module.exports = setup;
diff --git a/node_modules/pac-proxy-agent/node_modules/debug/src/index.js b/node_modules/pac-proxy-agent/node_modules/debug/src/index.js
new file mode 100644
index 0000000..bf4c57f
--- /dev/null
+++ b/node_modules/pac-proxy-agent/node_modules/debug/src/index.js
@@ -0,0 +1,10 @@
+/**
+ * Detect Electron renderer / nwjs process, which is node, but we should
+ * treat as a browser.
+ */
+
+if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
+	module.exports = require('./browser.js');
+} else {
+	module.exports = require('./node.js');
+}
diff --git a/node_modules/pac-proxy-agent/node_modules/debug/src/node.js b/node_modules/pac-proxy-agent/node_modules/debug/src/node.js
new file mode 100644
index 0000000..79bc085
--- /dev/null
+++ b/node_modules/pac-proxy-agent/node_modules/debug/src/node.js
@@ -0,0 +1,263 @@
+/**
+ * Module dependencies.
+ */
+
+const tty = require('tty');
+const util = require('util');
+
+/**
+ * This is the Node.js implementation of `debug()`.
+ */
+
+exports.init = init;
+exports.log = log;
+exports.formatArgs = formatArgs;
+exports.save = save;
+exports.load = load;
+exports.useColors = useColors;
+exports.destroy = util.deprecate(
+	() => {},
+	'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'
+);
+
+/**
+ * Colors.
+ */
+
+exports.colors = [6, 2, 3, 4, 5, 1];
+
+try {
+	// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)
+	// eslint-disable-next-line import/no-extraneous-dependencies
+	const supportsColor = require('supports-color');
+
+	if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
+		exports.colors = [
+			20,
+			21,
+			26,
+			27,
+			32,
+			33,
+			38,
+			39,
+			40,
+			41,
+			42,
+			43,
+			44,
+			45,
+			56,
+			57,
+			62,
+			63,
+			68,
+			69,
+			74,
+			75,
+			76,
+			77,
+			78,
+			79,
+			80,
+			81,
+			92,
+			93,
+			98,
+			99,
+			112,
+			113,
+			128,
+			129,
+			134,
+			135,
+			148,
+			149,
+			160,
+			161,
+			162,
+			163,
+			164,
+			165,
+			166,
+			167,
+			168,
+			169,
+			170,
+			171,
+			172,
+			173,
+			178,
+			179,
+			184,
+			185,
+			196,
+			197,
+			198,
+			199,
+			200,
+			201,
+			202,
+			203,
+			204,
+			205,
+			206,
+			207,
+			208,
+			209,
+			214,
+			215,
+			220,
+			221
+		];
+	}
+} catch (error) {
+	// Swallow - we only care if `supports-color` is available; it doesn't have to be.
+}
+
+/**
+ * Build up the default `inspectOpts` object from the environment variables.
+ *
+ *   $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
+ */
+
+exports.inspectOpts = Object.keys(process.env).filter(key => {
+	return /^debug_/i.test(key);
+}).reduce((obj, key) => {
+	// Camel-case
+	const prop = key
+		.substring(6)
+		.toLowerCase()
+		.replace(/_([a-z])/g, (_, k) => {
+			return k.toUpperCase();
+		});
+
+	// Coerce string value into JS value
+	let val = process.env[key];
+	if (/^(yes|on|true|enabled)$/i.test(val)) {
+		val = true;
+	} else if (/^(no|off|false|disabled)$/i.test(val)) {
+		val = false;
+	} else if (val === 'null') {
+		val = null;
+	} else {
+		val = Number(val);
+	}
+
+	obj[prop] = val;
+	return obj;
+}, {});
+
+/**
+ * Is stdout a TTY? Colored output is enabled when `true`.
+ */
+
+function useColors() {
+	return 'colors' in exports.inspectOpts ?
+		Boolean(exports.inspectOpts.colors) :
+		tty.isatty(process.stderr.fd);
+}
+
+/**
+ * Adds ANSI color escape codes if enabled.
+ *
+ * @api public
+ */
+
+function formatArgs(args) {
+	const {namespace: name, useColors} = this;
+
+	if (useColors) {
+		const c = this.color;
+		const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c);
+		const prefix = `  ${colorCode};1m${name} \u001B[0m`;
+
+		args[0] = prefix + args[0].split('\n').join('\n' + prefix);
+		args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m');
+	} else {
+		args[0] = getDate() + name + ' ' + args[0];
+	}
+}
+
+function getDate() {
+	if (exports.inspectOpts.hideDate) {
+		return '';
+	}
+	return new Date().toISOString() + ' ';
+}
+
+/**
+ * Invokes `util.format()` with the specified arguments and writes to stderr.
+ */
+
+function log(...args) {
+	return process.stderr.write(util.format(...args) + '\n');
+}
+
+/**
+ * Save `namespaces`.
+ *
+ * @param {String} namespaces
+ * @api private
+ */
+function save(namespaces) {
+	if (namespaces) {
+		process.env.DEBUG = namespaces;
+	} else {
+		// If you set a process.env field to null or undefined, it gets cast to the
+		// string 'null' or 'undefined'. Just delete instead.
+		delete process.env.DEBUG;
+	}
+}
+
+/**
+ * Load `namespaces`.
+ *
+ * @return {String} returns the previously persisted debug modes
+ * @api private
+ */
+
+function load() {
+	return process.env.DEBUG;
+}
+
+/**
+ * Init logic for `debug` instances.
+ *
+ * Create a new `inspectOpts` object in case `useColors` is set
+ * differently for a particular `debug` instance.
+ */
+
+function init(debug) {
+	debug.inspectOpts = {};
+
+	const keys = Object.keys(exports.inspectOpts);
+	for (let i = 0; i < keys.length; i++) {
+		debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
+	}
+}
+
+module.exports = require('./common')(exports);
+
+const {formatters} = module.exports;
+
+/**
+ * Map %o to `util.inspect()`, all on a single line.
+ */
+
+formatters.o = function (v) {
+	this.inspectOpts.colors = this.useColors;
+	return util.inspect(v, this.inspectOpts)
+		.split('\n')
+		.map(str => str.trim())
+		.join(' ');
+};
+
+/**
+ * Map %O to `util.inspect()`, allowing multiple lines if needed.
+ */
+
+formatters.O = function (v) {
+	this.inspectOpts.colors = this.useColors;
+	return util.inspect(v, this.inspectOpts);
+};
diff --git a/node_modules/pac-proxy-agent/package.json b/node_modules/pac-proxy-agent/package.json
new file mode 100644
index 0000000..7f40f22
--- /dev/null
+++ b/node_modules/pac-proxy-agent/package.json
@@ -0,0 +1,58 @@
+{
+  "name": "pac-proxy-agent",
+  "version": "7.0.0",
+  "description": "A PAC file proxy `http.Agent` implementation for HTTP",
+  "main": "./dist/index.js",
+  "types": "./dist/index.d.ts",
+  "files": [
+    "dist"
+  ],
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/TooTallNate/proxy-agents.git",
+    "directory": "packages/pac-proxy-agent"
+  },
+  "keywords": [
+    "pac",
+    "proxy",
+    "agent",
+    "http",
+    "https",
+    "socks",
+    "request",
+    "access"
+  ],
+  "author": "Nathan Rajlich <[email protected]> (http://n8.io/)",
+  "license": "MIT",
+  "dependencies": {
+    "@tootallnate/quickjs-emscripten": "^0.23.0",
+    "agent-base": "^7.0.2",
+    "debug": "^4.3.4",
+    "get-uri": "^6.0.1",
+    "http-proxy-agent": "^7.0.0",
+    "https-proxy-agent": "^7.0.0",
+    "pac-resolver": "^7.0.0",
+    "socks-proxy-agent": "^8.0.1"
+  },
+  "devDependencies": {
+    "@types/debug": "^4.1.7",
+    "@types/jest": "^29.5.1",
+    "@types/node": "^14.18.45",
+    "async-listen": "^3.0.0",
+    "jest": "^29.5.0",
+    "socksv5": "0.0.6",
+    "ts-jest": "^29.1.0",
+    "typescript": "^5.0.4",
+    "proxy": "2.1.1",
+    "tsconfig": "0.0.0"
+  },
+  "engines": {
+    "node": ">= 14"
+  },
+  "scripts": {
+    "build": "tsc",
+    "test": "jest --env node --verbose --bail",
+    "lint": "eslint --ext .ts",
+    "pack": "node ../../scripts/pack.mjs"
+  }
+}
diff --git a/node_modules/pac-resolver/README.md b/node_modules/pac-resolver/README.md
new file mode 100644
index 0000000..a7ea4db
--- /dev/null
+++ b/node_modules/pac-resolver/README.md
@@ -0,0 +1,86 @@
+pac-resolver
+============
+### Generates an asynchronous resolver function from a [PAC file][pac-wikipedia]
+
+
+This module accepts a JavaScript String of code, which is meant to be a
+[PAC proxy file][pac-wikipedia], and returns a generated asynchronous
+`FindProxyForURL()` function.
+
+Example
+-------
+
+Given the PAC proxy file named `proxy.pac`:
+
+```js
+function FindProxyForURL(url, host) {
+  if (isInNet(myIpAddress(), "10.1.10.0", "255.255.255.0")) {
+    return "PROXY 1.2.3.4:8080";
+  } else {
+    return "DIRECT";
+  }
+}
+```
+
+You can consume this PAC file with `pac-resolver` like so:
+
+```ts
+import { readFileSync } from 'fs';
+import { createPacResolver } from 'pac-resolver';
+
+const FindProxyForURL = createPacResolver(readFileSync('proxy.pac'));
+
+const res = await FindProxyForURL('http://foo.com/');
+console.log(res);
+// "DIRECT"
+```
+
+
+API
+---
+
+### pac(qjs: QuickJSWASMModule, pacFileContents: string | Buffer, options?: PacResolverOptions) → Function
+
+Returns an asynchronous `FindProxyForURL()` function based off of the given JS
+string `pacFileContents` PAC proxy file. An optional `options` object may be
+passed in which respects the following options:
+
+ * `filename` - String - the filename to use in error stack traces. Defaults to `proxy.pac`.
+ * `sandbox` - Object - a map of functions to include in the sandbox of the
+ JavaScript environment where the JS code will be executed. i.e. if you wanted to
+ include the common `alert` function you could pass `alert: console.log`. For
+ async functions, you must set the `async = true` property on the function
+ instance, and the JS code will be able to invoke the function as if it were
+ synchronous.
+
+ The `qjs` parameter is a QuickJS module instance as returned from `getQuickJS()` from the `quickjs-emscripten` module.
+
+
+License
+-------
+
+(The MIT License)
+
+Copyright (c) 2013 Nathan Rajlich &lt;[email protected]&gt;
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+[pac-file-docs]: https://web.archive.org/web/20070602031929/http://wp.netscape.com/eng/mozilla/2.0/relnotes/demo/proxy-live.html
+[pac-wikipedia]: http://wikipedia.org/wiki/Proxy_auto-config
diff --git a/node_modules/pac-resolver/dist/dateRange.d.ts b/node_modules/pac-resolver/dist/dateRange.d.ts
new file mode 100644
index 0000000..0a0f5644
--- /dev/null
+++ b/node_modules/pac-resolver/dist/dateRange.d.ts
@@ -0,0 +1,67 @@
+/**
+ * If only a single value is specified (from each category: day, month, year), the
+ * function returns a true value only on days that match that specification. If
+ * both values are specified, the result is true between those times, including
+ * bounds.
+ *
+ * Even though the examples don't show, the "GMT" parameter can be specified
+ * in any of the 9 different call profiles, always as the last parameter.
+ *
+ * Examples:
+ *
+ * ``` js
+ * dateRange(1)
+ * true on the first day of each month, local timezone.
+ *
+ * dateRange(1, "GMT")
+ * true on the first day of each month, GMT timezone.
+ *
+ * dateRange(1, 15)
+ * true on the first half of each month.
+ *
+ * dateRange(24, "DEC")
+ * true on 24th of December each year.
+ *
+ * dateRange(24, "DEC", 1995)
+ * true on 24th of December, 1995.
+ *
+ * dateRange("JAN", "MAR")
+ * true on the first quarter of the year.
+ *
+ * dateRange(1, "JUN", 15, "AUG")
+ * true from June 1st until August 15th, each year (including June 1st and August
+ * 15th).
+ *
+ * dateRange(1, "JUN", 15, 1995, "AUG", 1995)
+ * true from June 1st, 1995, until August 15th, same year.
+ *
+ * dateRange("OCT", 1995, "MAR", 1996)
+ * true from October 1995 until March 1996 (including the entire month of October
+ * 1995 and March 1996).
+ *
+ * dateRange(1995)
+ * true during the entire year 1995.
+ *
+ * dateRange(1995, 1997)
+ * true from beginning of year 1995 until the end of year 1997.
+ * ```
+ *
+ * dateRange(day)
+ * dateRange(day1, day2)
+ * dateRange(mon)
+ * dateRange(month1, month2)
+ * dateRange(year)
+ * dateRange(year1, year2)
+ * dateRange(day1, month1, day2, month2)
+ * dateRange(month1, year1, month2, year2)
+ * dateRange(day1, month1, year1, day2, month2, year2)
+ * dateRange(day1, month1, year1, day2, month2, year2, gmt)
+ *
+ * @param {String} day is the day of month between 1 and 31 (as an integer).
+ * @param {String} month is one of the month strings: JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC
+ * @param {String} year is the full year number, for example 1995 (but not 95). Integer.
+ * @param {String} gmt is either the string "GMT", which makes time comparison occur in GMT timezone; if left unspecified, times are taken to be in the local timezone.
+ * @return {Boolean}
+ */
+export default function dateRange(): boolean;
+//# sourceMappingURL=dateRange.d.ts.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/dateRange.d.ts.map b/node_modules/pac-resolver/dist/dateRange.d.ts.map
new file mode 100644
index 0000000..ee30daf
--- /dev/null
+++ b/node_modules/pac-resolver/dist/dateRange.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"dateRange.d.ts","sourceRoot":"","sources":["../src/dateRange.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AAEH,MAAM,CAAC,OAAO,UAAU,SAAS,IAAI,OAAO,CAG3C"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/dateRange.js b/node_modules/pac-resolver/dist/dateRange.js
new file mode 100644
index 0000000..e23a242
--- /dev/null
+++ b/node_modules/pac-resolver/dist/dateRange.js
@@ -0,0 +1,73 @@
+"use strict";
+/**
+ * If only a single value is specified (from each category: day, month, year), the
+ * function returns a true value only on days that match that specification. If
+ * both values are specified, the result is true between those times, including
+ * bounds.
+ *
+ * Even though the examples don't show, the "GMT" parameter can be specified
+ * in any of the 9 different call profiles, always as the last parameter.
+ *
+ * Examples:
+ *
+ * ``` js
+ * dateRange(1)
+ * true on the first day of each month, local timezone.
+ *
+ * dateRange(1, "GMT")
+ * true on the first day of each month, GMT timezone.
+ *
+ * dateRange(1, 15)
+ * true on the first half of each month.
+ *
+ * dateRange(24, "DEC")
+ * true on 24th of December each year.
+ *
+ * dateRange(24, "DEC", 1995)
+ * true on 24th of December, 1995.
+ *
+ * dateRange("JAN", "MAR")
+ * true on the first quarter of the year.
+ *
+ * dateRange(1, "JUN", 15, "AUG")
+ * true from June 1st until August 15th, each year (including June 1st and August
+ * 15th).
+ *
+ * dateRange(1, "JUN", 15, 1995, "AUG", 1995)
+ * true from June 1st, 1995, until August 15th, same year.
+ *
+ * dateRange("OCT", 1995, "MAR", 1996)
+ * true from October 1995 until March 1996 (including the entire month of October
+ * 1995 and March 1996).
+ *
+ * dateRange(1995)
+ * true during the entire year 1995.
+ *
+ * dateRange(1995, 1997)
+ * true from beginning of year 1995 until the end of year 1997.
+ * ```
+ *
+ * dateRange(day)
+ * dateRange(day1, day2)
+ * dateRange(mon)
+ * dateRange(month1, month2)
+ * dateRange(year)
+ * dateRange(year1, year2)
+ * dateRange(day1, month1, day2, month2)
+ * dateRange(month1, year1, month2, year2)
+ * dateRange(day1, month1, year1, day2, month2, year2)
+ * dateRange(day1, month1, year1, day2, month2, year2, gmt)
+ *
+ * @param {String} day is the day of month between 1 and 31 (as an integer).
+ * @param {String} month is one of the month strings: JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC
+ * @param {String} year is the full year number, for example 1995 (but not 95). Integer.
+ * @param {String} gmt is either the string "GMT", which makes time comparison occur in GMT timezone; if left unspecified, times are taken to be in the local timezone.
+ * @return {Boolean}
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+function dateRange() {
+    // TODO: implement me!
+    return false;
+}
+exports.default = dateRange;
+//# sourceMappingURL=dateRange.js.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/dateRange.js.map b/node_modules/pac-resolver/dist/dateRange.js.map
new file mode 100644
index 0000000..87ed665
--- /dev/null
+++ b/node_modules/pac-resolver/dist/dateRange.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"dateRange.js","sourceRoot":"","sources":["../src/dateRange.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;;AAEH,SAAwB,SAAS;IAChC,sBAAsB;IACtB,OAAO,KAAK,CAAC;AACd,CAAC;AAHD,4BAGC"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/dnsDomainIs.d.ts b/node_modules/pac-resolver/dist/dnsDomainIs.d.ts
new file mode 100644
index 0000000..45c0c5d
--- /dev/null
+++ b/node_modules/pac-resolver/dist/dnsDomainIs.d.ts
@@ -0,0 +1,23 @@
+/**
+ * Returns true iff the domain of hostname matches.
+ *
+ * Examples:
+ *
+ * ``` js
+ * dnsDomainIs("www.netscape.com", ".netscape.com")
+ *   // is true.
+ *
+ * dnsDomainIs("www", ".netscape.com")
+ *   // is false.
+ *
+ * dnsDomainIs("www.mcom.com", ".netscape.com")
+ *   // is false.
+ * ```
+ *
+ *
+ * @param {String} host is the hostname from the URL.
+ * @param {String} domain is the domain name to test the hostname against.
+ * @return {Boolean} true iff the domain of the hostname matches.
+ */
+export default function dnsDomainIs(host: string, domain: string): boolean;
+//# sourceMappingURL=dnsDomainIs.d.ts.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/dnsDomainIs.d.ts.map b/node_modules/pac-resolver/dist/dnsDomainIs.d.ts.map
new file mode 100644
index 0000000..452592e
--- /dev/null
+++ b/node_modules/pac-resolver/dist/dnsDomainIs.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"dnsDomainIs.d.ts","sourceRoot":"","sources":["../src/dnsDomainIs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAIzE"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/dnsDomainIs.js b/node_modules/pac-resolver/dist/dnsDomainIs.js
new file mode 100644
index 0000000..29667e8
--- /dev/null
+++ b/node_modules/pac-resolver/dist/dnsDomainIs.js
@@ -0,0 +1,30 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+/**
+ * Returns true iff the domain of hostname matches.
+ *
+ * Examples:
+ *
+ * ``` js
+ * dnsDomainIs("www.netscape.com", ".netscape.com")
+ *   // is true.
+ *
+ * dnsDomainIs("www", ".netscape.com")
+ *   // is false.
+ *
+ * dnsDomainIs("www.mcom.com", ".netscape.com")
+ *   // is false.
+ * ```
+ *
+ *
+ * @param {String} host is the hostname from the URL.
+ * @param {String} domain is the domain name to test the hostname against.
+ * @return {Boolean} true iff the domain of the hostname matches.
+ */
+function dnsDomainIs(host, domain) {
+    host = String(host);
+    domain = String(domain);
+    return host.substr(domain.length * -1) === domain;
+}
+exports.default = dnsDomainIs;
+//# sourceMappingURL=dnsDomainIs.js.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/dnsDomainIs.js.map b/node_modules/pac-resolver/dist/dnsDomainIs.js.map
new file mode 100644
index 0000000..4409347
--- /dev/null
+++ b/node_modules/pac-resolver/dist/dnsDomainIs.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"dnsDomainIs.js","sourceRoot":"","sources":["../src/dnsDomainIs.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAwB,WAAW,CAAC,IAAY,EAAE,MAAc;IAC/D,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;AACnD,CAAC;AAJD,8BAIC"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/dnsDomainLevels.d.ts b/node_modules/pac-resolver/dist/dnsDomainLevels.d.ts
new file mode 100644
index 0000000..493e3c1
--- /dev/null
+++ b/node_modules/pac-resolver/dist/dnsDomainLevels.d.ts
@@ -0,0 +1,18 @@
+/**
+ * Returns the number (integer) of DNS domain levels (number of dots) in the
+ * hostname.
+ *
+ * Examples:
+ *
+ * ``` js
+ * dnsDomainLevels("www")
+ *   // returns 0.
+ * dnsDomainLevels("www.netscape.com")
+ *   // returns 2.
+ * ```
+ *
+ * @param {String} host is the hostname from the URL.
+ * @return {Number} number of domain levels
+ */
+export default function dnsDomainLevels(host: string): number;
+//# sourceMappingURL=dnsDomainLevels.d.ts.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/dnsDomainLevels.d.ts.map b/node_modules/pac-resolver/dist/dnsDomainLevels.d.ts.map
new file mode 100644
index 0000000..2c643f5
--- /dev/null
+++ b/node_modules/pac-resolver/dist/dnsDomainLevels.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"dnsDomainLevels.d.ts","sourceRoot":"","sources":["../src/dnsDomainLevels.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO5D"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/dnsDomainLevels.js b/node_modules/pac-resolver/dist/dnsDomainLevels.js
new file mode 100644
index 0000000..269a830
--- /dev/null
+++ b/node_modules/pac-resolver/dist/dnsDomainLevels.js
@@ -0,0 +1,28 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+/**
+ * Returns the number (integer) of DNS domain levels (number of dots) in the
+ * hostname.
+ *
+ * Examples:
+ *
+ * ``` js
+ * dnsDomainLevels("www")
+ *   // returns 0.
+ * dnsDomainLevels("www.netscape.com")
+ *   // returns 2.
+ * ```
+ *
+ * @param {String} host is the hostname from the URL.
+ * @return {Number} number of domain levels
+ */
+function dnsDomainLevels(host) {
+    const match = String(host).match(/\./g);
+    let levels = 0;
+    if (match) {
+        levels = match.length;
+    }
+    return levels;
+}
+exports.default = dnsDomainLevels;
+//# sourceMappingURL=dnsDomainLevels.js.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/dnsDomainLevels.js.map b/node_modules/pac-resolver/dist/dnsDomainLevels.js.map
new file mode 100644
index 0000000..06abf8d
--- /dev/null
+++ b/node_modules/pac-resolver/dist/dnsDomainLevels.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"dnsDomainLevels.js","sourceRoot":"","sources":["../src/dnsDomainLevels.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;GAeG;AACH,SAAwB,eAAe,CAAC,IAAY;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,KAAK,EAAE;QACV,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;KACtB;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAPD,kCAOC"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/dnsResolve.d.ts b/node_modules/pac-resolver/dist/dnsResolve.d.ts
new file mode 100644
index 0000000..d1b2afe
--- /dev/null
+++ b/node_modules/pac-resolver/dist/dnsResolve.d.ts
@@ -0,0 +1,16 @@
+/**
+ * Resolves the given DNS hostname into an IP address, and returns it in the dot
+ * separated format as a string.
+ *
+ * Example:
+ *
+ * ``` js
+ * dnsResolve("home.netscape.com")
+ *   // returns the string "198.95.249.79".
+ * ```
+ *
+ * @param {String} host hostname to resolve
+ * @return {String} resolved IP address
+ */
+export default function dnsResolve(host: string): Promise<string | null>;
+//# sourceMappingURL=dnsResolve.d.ts.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/dnsResolve.d.ts.map b/node_modules/pac-resolver/dist/dnsResolve.d.ts.map
new file mode 100644
index 0000000..4b79f53
--- /dev/null
+++ b/node_modules/pac-resolver/dist/dnsResolve.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"dnsResolve.d.ts","sourceRoot":"","sources":["../src/dnsResolve.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AAEH,wBAA8B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAW7E"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/dnsResolve.js b/node_modules/pac-resolver/dist/dnsResolve.js
new file mode 100644
index 0000000..5e48a08
--- /dev/null
+++ b/node_modules/pac-resolver/dist/dnsResolve.js
@@ -0,0 +1,32 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+const util_1 = require("./util");
+/**
+ * Resolves the given DNS hostname into an IP address, and returns it in the dot
+ * separated format as a string.
+ *
+ * Example:
+ *
+ * ``` js
+ * dnsResolve("home.netscape.com")
+ *   // returns the string "198.95.249.79".
+ * ```
+ *
+ * @param {String} host hostname to resolve
+ * @return {String} resolved IP address
+ */
+async function dnsResolve(host) {
+    const family = 4;
+    try {
+        const r = await (0, util_1.dnsLookup)(host, { family });
+        if (typeof r === 'string') {
+            return r;
+        }
+    }
+    catch (err) {
+        // @ignore
+    }
+    return null;
+}
+exports.default = dnsResolve;
+//# sourceMappingURL=dnsResolve.js.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/dnsResolve.js.map b/node_modules/pac-resolver/dist/dnsResolve.js.map
new file mode 100644
index 0000000..65e8d98
--- /dev/null
+++ b/node_modules/pac-resolver/dist/dnsResolve.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"dnsResolve.js","sourceRoot":"","sources":["../src/dnsResolve.ts"],"names":[],"mappings":";;AAAA,iCAAmC;AAEnC;;;;;;;;;;;;;GAaG;AAEY,KAAK,UAAU,UAAU,CAAC,IAAY;IACpD,MAAM,MAAM,GAAG,CAAC,CAAC;IACjB,IAAI;QACH,MAAM,CAAC,GAAG,MAAM,IAAA,gBAAS,EAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;YAC1B,OAAO,CAAC,CAAC;SACT;KACD;IAAC,OAAO,GAAG,EAAE;QACb,UAAU;KACV;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAXD,6BAWC"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/index.d.ts b/node_modules/pac-resolver/dist/index.d.ts
new file mode 100644
index 0000000..7f42c7f
--- /dev/null
+++ b/node_modules/pac-resolver/dist/index.d.ts
@@ -0,0 +1,50 @@
+/// <reference types="node" />
+/// <reference types="node" />
+import { CompileOptions } from 'degenerator';
+/**
+ * Built-in PAC functions.
+ */
+import dateRange from './dateRange';
+import dnsDomainIs from './dnsDomainIs';
+import dnsDomainLevels from './dnsDomainLevels';
+import dnsResolve from './dnsResolve';
+import isInNet from './isInNet';
+import isPlainHostName from './isPlainHostName';
+import isResolvable from './isResolvable';
+import localHostOrDomainIs from './localHostOrDomainIs';
+import myIpAddress from './myIpAddress';
+import shExpMatch from './shExpMatch';
+import timeRange from './timeRange';
+import weekdayRange from './weekdayRange';
+import type { QuickJSWASMModule } from '@tootallnate/quickjs-emscripten';
+/**
+ * Returns an asynchronous `FindProxyForURL()` function
+ * from the given JS string (from a PAC file).
+ */
+export declare function createPacResolver(qjs: QuickJSWASMModule, _str: string | Buffer, _opts?: PacResolverOptions): (url: string | URL, _host?: string) => Promise<string>;
+export type GMT = 'GMT';
+export type Hour = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23;
+export type Day = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31;
+export type Weekday = 'SUN' | 'MON' | 'TUE' | 'WED' | 'THU' | 'FRI' | 'SAT';
+export type Month = 'JAN' | 'FEB' | 'MAR' | 'APR' | 'MAY' | 'JUN' | 'JUL' | 'AUG' | 'SEP' | 'OCT' | 'NOV' | 'DEC';
+export type PacResolverOptions = CompileOptions;
+export interface FindProxyForURLCallback {
+    (err?: Error | null, result?: string): void;
+}
+export type FindProxyForURL = ReturnType<typeof createPacResolver>;
+export declare const sandbox: Readonly<{
+    alert: (message?: string) => void;
+    dateRange: typeof dateRange;
+    dnsDomainIs: typeof dnsDomainIs;
+    dnsDomainLevels: typeof dnsDomainLevels;
+    dnsResolve: typeof dnsResolve;
+    isInNet: typeof isInNet;
+    isPlainHostName: typeof isPlainHostName;
+    isResolvable: typeof isResolvable;
+    localHostOrDomainIs: typeof localHostOrDomainIs;
+    myIpAddress: typeof myIpAddress;
+    shExpMatch: typeof shExpMatch;
+    timeRange: typeof timeRange;
+    weekdayRange: typeof weekdayRange;
+}>;
+//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/index.d.ts.map b/node_modules/pac-resolver/dist/index.d.ts.map
new file mode 100644
index 0000000..d454717
--- /dev/null
+++ b/node_modules/pac-resolver/dist/index.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,cAAc,EAAW,MAAM,aAAa,CAAC;AAEtD;;GAEG;AACH,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,OAAO,MAAM,WAAW,CAAC;AAChC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,SAAS,MAAM,aAAa,CAAC;AACpC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEzE;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,GAAG,EAAE,iBAAiB,EACtB,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,KAAK,GAAE,kBAAuB,SA+BxB,MAAM,GAAG,GAAG,UACT,MAAM,KACZ,QAAQ,MAAM,CAAC,CAiBlB;AAED,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC;AACxB,MAAM,MAAM,IAAI,GACb,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,CAAC;AACN,MAAM,MAAM,GAAG,GACZ,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,CAAC,GACD,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,GACF,EAAE,CAAC;AACN,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAC5E,MAAM,MAAM,KAAK,GACd,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,CAAC;AACT,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAChD,MAAM,WAAW,uBAAuB;IACvC,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5C;AACD,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEnE,eAAO,MAAM,OAAO;;;;;;;;;;;;;;EAclB,CAAC"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/index.js b/node_modules/pac-resolver/dist/index.js
new file mode 100644
index 0000000..4d009ff
--- /dev/null
+++ b/node_modules/pac-resolver/dist/index.js
@@ -0,0 +1,87 @@
+"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.sandbox = exports.createPacResolver = void 0;
+const degenerator_1 = require("degenerator");
+/**
+ * Built-in PAC functions.
+ */
+const dateRange_1 = __importDefault(require("./dateRange"));
+const dnsDomainIs_1 = __importDefault(require("./dnsDomainIs"));
+const dnsDomainLevels_1 = __importDefault(require("./dnsDomainLevels"));
+const dnsResolve_1 = __importDefault(require("./dnsResolve"));
+const isInNet_1 = __importDefault(require("./isInNet"));
+const isPlainHostName_1 = __importDefault(require("./isPlainHostName"));
+const isResolvable_1 = __importDefault(require("./isResolvable"));
+const localHostOrDomainIs_1 = __importDefault(require("./localHostOrDomainIs"));
+const myIpAddress_1 = __importDefault(require("./myIpAddress"));
+const shExpMatch_1 = __importDefault(require("./shExpMatch"));
+const timeRange_1 = __importDefault(require("./timeRange"));
+const weekdayRange_1 = __importDefault(require("./weekdayRange"));
+/**
+ * Returns an asynchronous `FindProxyForURL()` function
+ * from the given JS string (from a PAC file).
+ */
+function createPacResolver(qjs, _str, _opts = {}) {
+    const str = Buffer.isBuffer(_str) ? _str.toString('utf8') : _str;
+    // The sandbox to use for the `vm` context.
+    const context = {
+        ...exports.sandbox,
+        ..._opts.sandbox,
+    };
+    // Construct the array of async function names to add `await` calls to.
+    const names = Object.keys(context).filter((k) => isAsyncFunction(context[k]));
+    const opts = {
+        filename: 'proxy.pac',
+        names,
+        ..._opts,
+        sandbox: context,
+    };
+    // Compile the JS `FindProxyForURL()` function into an async function.
+    const resolver = (0, degenerator_1.compile)(qjs, str, 'FindProxyForURL', opts);
+    function FindProxyForURL(url, _host) {
+        const urlObj = typeof url === 'string' ? new URL(url) : url;
+        const host = _host || urlObj.hostname;
+        if (!host) {
+            throw new TypeError('Could not determine `host`');
+        }
+        return resolver(urlObj.href, host);
+    }
+    Object.defineProperty(FindProxyForURL, 'toString', {
+        value: () => resolver.toString(),
+        enumerable: false,
+    });
+    return FindProxyForURL;
+}
+exports.createPacResolver = createPacResolver;
+exports.sandbox = Object.freeze({
+    alert: (message = '') => console.log('%s', message),
+    dateRange: dateRange_1.default,
+    dnsDomainIs: dnsDomainIs_1.default,
+    dnsDomainLevels: dnsDomainLevels_1.default,
+    dnsResolve: dnsResolve_1.default,
+    isInNet: isInNet_1.default,
+    isPlainHostName: isPlainHostName_1.default,
+    isResolvable: isResolvable_1.default,
+    localHostOrDomainIs: localHostOrDomainIs_1.default,
+    myIpAddress: myIpAddress_1.default,
+    shExpMatch: shExpMatch_1.default,
+    timeRange: timeRange_1.default,
+    weekdayRange: weekdayRange_1.default,
+});
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
+function isAsyncFunction(v) {
+    if (typeof v !== 'function')
+        return false;
+    // Native `AsyncFunction`
+    if (v.constructor.name === 'AsyncFunction')
+        return true;
+    // TypeScript compiled
+    if (String(v).indexOf('__awaiter(') !== -1)
+        return true;
+    // Legacy behavior - set `async` property on the function
+    return Boolean(v.async);
+}
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/index.js.map b/node_modules/pac-resolver/dist/index.js.map
new file mode 100644
index 0000000..b6df751
--- /dev/null
+++ b/node_modules/pac-resolver/dist/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AACA,6CAAsD;AAEtD;;GAEG;AACH,4DAAoC;AACpC,gEAAwC;AACxC,wEAAgD;AAChD,8DAAsC;AACtC,wDAAgC;AAChC,wEAAgD;AAChD,kEAA0C;AAC1C,gFAAwD;AACxD,gEAAwC;AACxC,8DAAsC;AACtC,4DAAoC;AACpC,kEAA0C;AAG1C;;;GAGG;AACH,SAAgB,iBAAiB,CAChC,GAAsB,EACtB,IAAqB,EACrB,QAA4B,EAAE;IAE9B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEjE,2CAA2C;IAC3C,MAAM,OAAO,GAAY;QACxB,GAAG,eAAO;QACV,GAAG,KAAK,CAAC,OAAO;KAChB,CAAC;IAEF,uEAAuE;IACvE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAC/C,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAC3B,CAAC;IAEF,MAAM,IAAI,GAAuB;QAChC,QAAQ,EAAE,WAAW;QACrB,KAAK;QACL,GAAG,KAAK;QACR,OAAO,EAAE,OAAO;KAChB,CAAC;IAEF,sEAAsE;IACtE,MAAM,QAAQ,GAAG,IAAA,qBAAO,EACvB,GAAG,EACH,GAAG,EACH,iBAAiB,EACjB,IAAI,CACJ,CAAC;IAEF,SAAS,eAAe,CACvB,GAAiB,EACjB,KAAc;QAEd,MAAM,MAAM,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5D,MAAM,IAAI,GAAG,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC;QAEtC,IAAI,CAAC,IAAI,EAAE;YACV,MAAM,IAAI,SAAS,CAAC,4BAA4B,CAAC,CAAC;SAClD;QAED,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,UAAU,EAAE;QAClD,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE;QAChC,UAAU,EAAE,KAAK;KACjB,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC;AACxB,CAAC;AArDD,8CAqDC;AAgFY,QAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,CAAC,OAAO,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC;IACnD,SAAS,EAAT,mBAAS;IACT,WAAW,EAAX,qBAAW;IACX,eAAe,EAAf,yBAAe;IACf,UAAU,EAAV,oBAAU;IACV,OAAO,EAAP,iBAAO;IACP,eAAe,EAAf,yBAAe;IACf,YAAY,EAAZ,sBAAY;IACZ,mBAAmB,EAAnB,6BAAmB;IACnB,WAAW,EAAX,qBAAW;IACX,UAAU,EAAV,oBAAU;IACV,SAAS,EAAT,mBAAS;IACT,YAAY,EAAZ,sBAAY;CACZ,CAAC,CAAC;AAEH,8DAA8D;AAC9D,SAAS,eAAe,CAAC,CAAM;IAC9B,IAAI,OAAO,CAAC,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IAC1C,yBAAyB;IACzB,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe;QAAE,OAAO,IAAI,CAAC;IACxD,sBAAsB;IACtB,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,yDAAyD;IACzD,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/isInNet.d.ts b/node_modules/pac-resolver/dist/isInNet.d.ts
new file mode 100644
index 0000000..adcada0
--- /dev/null
+++ b/node_modules/pac-resolver/dist/isInNet.d.ts
@@ -0,0 +1,24 @@
+/**
+ * True iff the IP address of the host matches the specified IP address pattern.
+ *
+ * Pattern and mask specification is done the same way as for SOCKS configuration.
+ *
+ * Examples:
+ *
+ * ``` js
+ * isInNet(host, "198.95.249.79", "255.255.255.255")
+ *   // is true iff the IP address of host matches exactly 198.95.249.79.
+ *
+ * isInNet(host, "198.95.0.0", "255.255.0.0")
+ *   // is true iff the IP address of the host matches 198.95.*.*.
+ * ```
+ *
+ * @param {String} host a DNS hostname, or IP address. If a hostname is passed,
+ *   it will be resoved into an IP address by this function.
+ * @param {String} pattern an IP address pattern in the dot-separated format mask.
+ * @param {String} mask for the IP address pattern informing which parts of the
+ *   IP address should be matched against. 0 means ignore, 255 means match.
+ * @return {Boolean}
+ */
+export default function isInNet(host: string, pattern: string, mask: string): Promise<boolean>;
+//# sourceMappingURL=isInNet.d.ts.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/isInNet.d.ts.map b/node_modules/pac-resolver/dist/isInNet.d.ts.map
new file mode 100644
index 0000000..989813c
--- /dev/null
+++ b/node_modules/pac-resolver/dist/isInNet.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"isInNet.d.ts","sourceRoot":"","sources":["../src/isInNet.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,wBAA8B,OAAO,CACpC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,OAAO,CAAC,CAYlB"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/isInNet.js b/node_modules/pac-resolver/dist/isInNet.js
new file mode 100644
index 0000000..d382b14
--- /dev/null
+++ b/node_modules/pac-resolver/dist/isInNet.js
@@ -0,0 +1,42 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+const netmask_1 = require("netmask");
+const util_1 = require("./util");
+/**
+ * True iff the IP address of the host matches the specified IP address pattern.
+ *
+ * Pattern and mask specification is done the same way as for SOCKS configuration.
+ *
+ * Examples:
+ *
+ * ``` js
+ * isInNet(host, "198.95.249.79", "255.255.255.255")
+ *   // is true iff the IP address of host matches exactly 198.95.249.79.
+ *
+ * isInNet(host, "198.95.0.0", "255.255.0.0")
+ *   // is true iff the IP address of the host matches 198.95.*.*.
+ * ```
+ *
+ * @param {String} host a DNS hostname, or IP address. If a hostname is passed,
+ *   it will be resoved into an IP address by this function.
+ * @param {String} pattern an IP address pattern in the dot-separated format mask.
+ * @param {String} mask for the IP address pattern informing which parts of the
+ *   IP address should be matched against. 0 means ignore, 255 means match.
+ * @return {Boolean}
+ */
+async function isInNet(host, pattern, mask) {
+    const family = 4;
+    try {
+        const ip = await (0, util_1.dnsLookup)(host, { family });
+        if (typeof ip === 'string') {
+            const netmask = new netmask_1.Netmask(pattern, mask);
+            return netmask.contains(ip);
+        }
+    }
+    catch (err) {
+        // ignore
+    }
+    return false;
+}
+exports.default = isInNet;
+//# sourceMappingURL=isInNet.js.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/isInNet.js.map b/node_modules/pac-resolver/dist/isInNet.js.map
new file mode 100644
index 0000000..5df22a6
--- /dev/null
+++ b/node_modules/pac-resolver/dist/isInNet.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"isInNet.js","sourceRoot":"","sources":["../src/isInNet.ts"],"names":[],"mappings":";;AAAA,qCAAkC;AAClC,iCAAmC;AAEnC;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEY,KAAK,UAAU,OAAO,CACpC,IAAY,EACZ,OAAe,EACf,IAAY;IAEZ,MAAM,MAAM,GAAG,CAAC,CAAC;IACjB,IAAI;QACH,MAAM,EAAE,GAAG,MAAM,IAAA,gBAAS,EAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;YAC3B,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC3C,OAAO,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAC5B;KACD;IAAC,OAAO,GAAG,EAAE;QACb,SAAS;KACT;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAhBD,0BAgBC"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/isPlainHostName.d.ts b/node_modules/pac-resolver/dist/isPlainHostName.d.ts
new file mode 100644
index 0000000..21f5ab3
--- /dev/null
+++ b/node_modules/pac-resolver/dist/isPlainHostName.d.ts
@@ -0,0 +1,18 @@
+/**
+ * True iff there is no domain name in the hostname (no dots).
+ *
+ * Examples:
+ *
+ * ``` js
+ * isPlainHostName("www")
+ *   // is true.
+ *
+ * isPlainHostName("www.netscape.com")
+ *   // is false.
+ * ```
+ *
+ * @param {String} host The hostname from the URL (excluding port number).
+ * @return {Boolean}
+ */
+export default function isPlainHostName(host: string): boolean;
+//# sourceMappingURL=isPlainHostName.d.ts.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/isPlainHostName.d.ts.map b/node_modules/pac-resolver/dist/isPlainHostName.d.ts.map
new file mode 100644
index 0000000..205c6e5
--- /dev/null
+++ b/node_modules/pac-resolver/dist/isPlainHostName.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"isPlainHostName.d.ts","sourceRoot":"","sources":["../src/isPlainHostName.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/isPlainHostName.js b/node_modules/pac-resolver/dist/isPlainHostName.js
new file mode 100644
index 0000000..7e89dcf
--- /dev/null
+++ b/node_modules/pac-resolver/dist/isPlainHostName.js
@@ -0,0 +1,23 @@
+"use strict";
+/**
+ * True iff there is no domain name in the hostname (no dots).
+ *
+ * Examples:
+ *
+ * ``` js
+ * isPlainHostName("www")
+ *   // is true.
+ *
+ * isPlainHostName("www.netscape.com")
+ *   // is false.
+ * ```
+ *
+ * @param {String} host The hostname from the URL (excluding port number).
+ * @return {Boolean}
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+function isPlainHostName(host) {
+    return !/\./.test(host);
+}
+exports.default = isPlainHostName;
+//# sourceMappingURL=isPlainHostName.js.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/isPlainHostName.js.map b/node_modules/pac-resolver/dist/isPlainHostName.js.map
new file mode 100644
index 0000000..191e78e
--- /dev/null
+++ b/node_modules/pac-resolver/dist/isPlainHostName.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"isPlainHostName.js","sourceRoot":"","sources":["../src/isPlainHostName.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;AAEH,SAAwB,eAAe,CAAC,IAAY;IACnD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAFD,kCAEC"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/isResolvable.d.ts b/node_modules/pac-resolver/dist/isResolvable.d.ts
new file mode 100644
index 0000000..00a4a3c
--- /dev/null
+++ b/node_modules/pac-resolver/dist/isResolvable.d.ts
@@ -0,0 +1,8 @@
+/**
+ * Tries to resolve the hostname. Returns true if succeeds.
+ *
+ * @param {String} host is the hostname from the URL.
+ * @return {Boolean}
+ */
+export default function isResolvable(host: string): Promise<boolean>;
+//# sourceMappingURL=isResolvable.d.ts.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/isResolvable.d.ts.map b/node_modules/pac-resolver/dist/isResolvable.d.ts.map
new file mode 100644
index 0000000..90f2285
--- /dev/null
+++ b/node_modules/pac-resolver/dist/isResolvable.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"isResolvable.d.ts","sourceRoot":"","sources":["../src/isResolvable.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,wBAA8B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAUzE"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/isResolvable.js b/node_modules/pac-resolver/dist/isResolvable.js
new file mode 100644
index 0000000..89a5cb7
--- /dev/null
+++ b/node_modules/pac-resolver/dist/isResolvable.js
@@ -0,0 +1,23 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+const util_1 = require("./util");
+/**
+ * Tries to resolve the hostname. Returns true if succeeds.
+ *
+ * @param {String} host is the hostname from the URL.
+ * @return {Boolean}
+ */
+async function isResolvable(host) {
+    const family = 4;
+    try {
+        if (await (0, util_1.dnsLookup)(host, { family })) {
+            return true;
+        }
+    }
+    catch (err) {
+        // ignore
+    }
+    return false;
+}
+exports.default = isResolvable;
+//# sourceMappingURL=isResolvable.js.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/isResolvable.js.map b/node_modules/pac-resolver/dist/isResolvable.js.map
new file mode 100644
index 0000000..5a73eda
--- /dev/null
+++ b/node_modules/pac-resolver/dist/isResolvable.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"isResolvable.js","sourceRoot":"","sources":["../src/isResolvable.ts"],"names":[],"mappings":";;AAAA,iCAAmC;AAEnC;;;;;GAKG;AAEY,KAAK,UAAU,YAAY,CAAC,IAAY;IACtD,MAAM,MAAM,GAAG,CAAC,CAAC;IACjB,IAAI;QACH,IAAI,MAAM,IAAA,gBAAS,EAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;YACtC,OAAO,IAAI,CAAC;SACZ;KACD;IAAC,OAAO,GAAG,EAAE;QACb,SAAS;KACT;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAVD,+BAUC"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/localHostOrDomainIs.d.ts b/node_modules/pac-resolver/dist/localHostOrDomainIs.d.ts
new file mode 100644
index 0000000..30febbc
--- /dev/null
+++ b/node_modules/pac-resolver/dist/localHostOrDomainIs.d.ts
@@ -0,0 +1,26 @@
+/**
+ * Is true if the hostname matches exactly the specified hostname, or if there is
+ * no domain name part in the hostname, but the unqualified hostname matches.
+ *
+ * Examples:
+ *
+ * ``` js
+ * localHostOrDomainIs("www.netscape.com", "www.netscape.com")
+ *   // is true (exact match).
+ *
+ * localHostOrDomainIs("www", "www.netscape.com")
+ *   // is true (hostname match, domain not specified).
+ *
+ * localHostOrDomainIs("www.mcom.com", "www.netscape.com")
+ *   // is false (domain name mismatch).
+ *
+ * localHostOrDomainIs("home.netscape.com", "www.netscape.com")
+ *   // is false (hostname mismatch).
+ * ```
+ *
+ * @param {String} host the hostname from the URL.
+ * @param {String} hostdom fully qualified hostname to match against.
+ * @return {Boolean}
+ */
+export default function localHostOrDomainIs(host: string, hostdom: string): boolean;
+//# sourceMappingURL=localHostOrDomainIs.d.ts.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/localHostOrDomainIs.d.ts.map b/node_modules/pac-resolver/dist/localHostOrDomainIs.d.ts.map
new file mode 100644
index 0000000..c4abc16
--- /dev/null
+++ b/node_modules/pac-resolver/dist/localHostOrDomainIs.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"localHostOrDomainIs.d.ts","sourceRoot":"","sources":["../src/localHostOrDomainIs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAC1C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACb,OAAO,CAaT"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/localHostOrDomainIs.js b/node_modules/pac-resolver/dist/localHostOrDomainIs.js
new file mode 100644
index 0000000..ff4cdfd
--- /dev/null
+++ b/node_modules/pac-resolver/dist/localHostOrDomainIs.js
@@ -0,0 +1,40 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+/**
+ * Is true if the hostname matches exactly the specified hostname, or if there is
+ * no domain name part in the hostname, but the unqualified hostname matches.
+ *
+ * Examples:
+ *
+ * ``` js
+ * localHostOrDomainIs("www.netscape.com", "www.netscape.com")
+ *   // is true (exact match).
+ *
+ * localHostOrDomainIs("www", "www.netscape.com")
+ *   // is true (hostname match, domain not specified).
+ *
+ * localHostOrDomainIs("www.mcom.com", "www.netscape.com")
+ *   // is false (domain name mismatch).
+ *
+ * localHostOrDomainIs("home.netscape.com", "www.netscape.com")
+ *   // is false (hostname mismatch).
+ * ```
+ *
+ * @param {String} host the hostname from the URL.
+ * @param {String} hostdom fully qualified hostname to match against.
+ * @return {Boolean}
+ */
+function localHostOrDomainIs(host, hostdom) {
+    const parts = host.split('.');
+    const domparts = hostdom.split('.');
+    let matches = true;
+    for (let i = 0; i < parts.length; i++) {
+        if (parts[i] !== domparts[i]) {
+            matches = false;
+            break;
+        }
+    }
+    return matches;
+}
+exports.default = localHostOrDomainIs;
+//# sourceMappingURL=localHostOrDomainIs.js.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/localHostOrDomainIs.js.map b/node_modules/pac-resolver/dist/localHostOrDomainIs.js.map
new file mode 100644
index 0000000..1eea2b0
--- /dev/null
+++ b/node_modules/pac-resolver/dist/localHostOrDomainIs.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"localHostOrDomainIs.js","sourceRoot":"","sources":["../src/localHostOrDomainIs.ts"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,SAAwB,mBAAmB,CAC1C,IAAY,EACZ,OAAe;IAEf,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACtC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE;YAC7B,OAAO,GAAG,KAAK,CAAC;YAChB,MAAM;SACN;KACD;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAhBD,sCAgBC"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/myIpAddress.d.ts b/node_modules/pac-resolver/dist/myIpAddress.d.ts
new file mode 100644
index 0000000..bb20b4a
--- /dev/null
+++ b/node_modules/pac-resolver/dist/myIpAddress.d.ts
@@ -0,0 +1,16 @@
+/**
+ * Returns the IP address of the host that the Navigator is running on, as
+ * a string in the dot-separated integer format.
+ *
+ * Example:
+ *
+ * ``` js
+ * myIpAddress()
+ *   // would return the string "198.95.249.79" if you were running the
+ *   // Navigator on that host.
+ * ```
+ *
+ * @return {String} external IP address
+ */
+export default function myIpAddress(): Promise<string>;
+//# sourceMappingURL=myIpAddress.d.ts.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/myIpAddress.d.ts.map b/node_modules/pac-resolver/dist/myIpAddress.d.ts.map
new file mode 100644
index 0000000..a724736
--- /dev/null
+++ b/node_modules/pac-resolver/dist/myIpAddress.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"myIpAddress.d.ts","sourceRoot":"","sources":["../src/myIpAddress.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;GAaG;AACH,wBAA8B,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,CAwB3D"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/myIpAddress.js b/node_modules/pac-resolver/dist/myIpAddress.js
new file mode 100644
index 0000000..d65dfed
--- /dev/null
+++ b/node_modules/pac-resolver/dist/myIpAddress.js
@@ -0,0 +1,50 @@
+"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const ip_1 = __importDefault(require("ip"));
+const net_1 = __importDefault(require("net"));
+/**
+ * Returns the IP address of the host that the Navigator is running on, as
+ * a string in the dot-separated integer format.
+ *
+ * Example:
+ *
+ * ``` js
+ * myIpAddress()
+ *   // would return the string "198.95.249.79" if you were running the
+ *   // Navigator on that host.
+ * ```
+ *
+ * @return {String} external IP address
+ */
+async function myIpAddress() {
+    return new Promise((resolve, reject) => {
+        // 8.8.8.8:53 is "Google Public DNS":
+        // https://developers.google.com/speed/public-dns/
+        const socket = net_1.default.connect({ host: '8.8.8.8', port: 53 });
+        const onError = () => {
+            // if we fail to access Google DNS (as in firewall blocks access),
+            // fallback to querying IP locally
+            resolve(ip_1.default.address());
+        };
+        socket.once('error', onError);
+        socket.once('connect', () => {
+            socket.removeListener('error', onError);
+            const addr = socket.address();
+            socket.destroy();
+            if (typeof addr === 'string') {
+                resolve(addr);
+            }
+            else if (addr.address) {
+                resolve(addr.address);
+            }
+            else {
+                reject(new Error('Expected a `string`'));
+            }
+        });
+    });
+}
+exports.default = myIpAddress;
+//# sourceMappingURL=myIpAddress.js.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/myIpAddress.js.map b/node_modules/pac-resolver/dist/myIpAddress.js.map
new file mode 100644
index 0000000..e55b55a
--- /dev/null
+++ b/node_modules/pac-resolver/dist/myIpAddress.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"myIpAddress.js","sourceRoot":"","sources":["../src/myIpAddress.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,8CAAuC;AAEvC;;;;;;;;;;;;;GAaG;AACY,KAAK,UAAU,WAAW;IACxC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,qCAAqC;QACrC,kDAAkD;QAClD,MAAM,MAAM,GAAG,aAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,GAAG,EAAE;YACpB,kEAAkE;YAClE,kCAAkC;YAClC,OAAO,CAAC,YAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACvB,CAAC,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YAC3B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;aACd;iBAAM,IAAK,IAAoB,CAAC,OAAO,EAAE;gBACzC,OAAO,CAAE,IAAoB,CAAC,OAAO,CAAC,CAAC;aACvC;iBAAM;gBACN,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;aACzC;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAxBD,8BAwBC"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/shExpMatch.d.ts b/node_modules/pac-resolver/dist/shExpMatch.d.ts
new file mode 100644
index 0000000..c9de761
--- /dev/null
+++ b/node_modules/pac-resolver/dist/shExpMatch.d.ts
@@ -0,0 +1,23 @@
+/**
+ * Returns true if the string matches the specified shell
+ * expression.
+ *
+ * Actually, currently the patterns are shell expressions,
+ * not regular expressions.
+ *
+ * Examples:
+ *
+ * ``` js
+ * shExpMatch("http://home.netscape.com/people/ari/index.html", "*\/ari/*")
+ *   // is true.
+ *
+ * shExpMatch("http://home.netscape.com/people/montulli/index.html", "*\/ari/*")
+ *   // is false.
+ * ```
+ *
+ * @param {String} str is any string to compare (e.g. the URL, or the hostname).
+ * @param {String} shexp is a shell expression to compare against.
+ * @return {Boolean} true if the string matches the shell expression.
+ */
+export default function shExpMatch(str: string, shexp: string): boolean;
+//# sourceMappingURL=shExpMatch.d.ts.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/shExpMatch.d.ts.map b/node_modules/pac-resolver/dist/shExpMatch.d.ts.map
new file mode 100644
index 0000000..bb4ba54
--- /dev/null
+++ b/node_modules/pac-resolver/dist/shExpMatch.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"shExpMatch.d.ts","sourceRoot":"","sources":["../src/shExpMatch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAGtE"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/shExpMatch.js b/node_modules/pac-resolver/dist/shExpMatch.js
new file mode 100644
index 0000000..6c77b98
--- /dev/null
+++ b/node_modules/pac-resolver/dist/shExpMatch.js
@@ -0,0 +1,41 @@
+"use strict";
+/**
+ * Returns true if the string matches the specified shell
+ * expression.
+ *
+ * Actually, currently the patterns are shell expressions,
+ * not regular expressions.
+ *
+ * Examples:
+ *
+ * ``` js
+ * shExpMatch("http://home.netscape.com/people/ari/index.html", "*\/ari/*")
+ *   // is true.
+ *
+ * shExpMatch("http://home.netscape.com/people/montulli/index.html", "*\/ari/*")
+ *   // is false.
+ * ```
+ *
+ * @param {String} str is any string to compare (e.g. the URL, or the hostname).
+ * @param {String} shexp is a shell expression to compare against.
+ * @return {Boolean} true if the string matches the shell expression.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+function shExpMatch(str, shexp) {
+    const re = toRegExp(shexp);
+    return re.test(str);
+}
+exports.default = shExpMatch;
+/**
+ * Converts a "shell expression" to a JavaScript RegExp.
+ *
+ * @api private
+ */
+function toRegExp(str) {
+    str = String(str)
+        .replace(/\./g, '\\.')
+        .replace(/\?/g, '.')
+        .replace(/\*/g, '.*');
+    return new RegExp(`^${str}$`);
+}
+//# sourceMappingURL=shExpMatch.js.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/shExpMatch.js.map b/node_modules/pac-resolver/dist/shExpMatch.js.map
new file mode 100644
index 0000000..041621d
--- /dev/null
+++ b/node_modules/pac-resolver/dist/shExpMatch.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"shExpMatch.js","sourceRoot":"","sources":["../src/shExpMatch.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;AAEH,SAAwB,UAAU,CAAC,GAAW,EAAE,KAAa;IAC5D,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrB,CAAC;AAHD,6BAGC;AAED;;;;GAIG;AAEH,SAAS,QAAQ,CAAC,GAAW;IAC5B,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;SACf,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvB,OAAO,IAAI,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AAC/B,CAAC"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/timeRange.d.ts b/node_modules/pac-resolver/dist/timeRange.d.ts
new file mode 100644
index 0000000..05e2ee1
--- /dev/null
+++ b/node_modules/pac-resolver/dist/timeRange.d.ts
@@ -0,0 +1,43 @@
+/**
+ * True during (or between) the specified time(s).
+ *
+ * Even though the examples don't show it, this parameter may be present in
+ * each of the different parameter profiles, always as the last parameter.
+ *
+ *
+ * Examples:
+ *
+ * ``` js
+ * timerange(12)
+ * true from noon to 1pm.
+ *
+ * timerange(12, 13)
+ * same as above.
+ *
+ * timerange(12, "GMT")
+ * true from noon to 1pm, in GMT timezone.
+ *
+ * timerange(9, 17)
+ * true from 9am to 5pm.
+ *
+ * timerange(8, 30, 17, 00)
+ * true from 8:30am to 5:00pm.
+ *
+ * timerange(0, 0, 0, 0, 0, 30)
+ * true between midnight and 30 seconds past midnight.
+ * ```
+ *
+ * timeRange(hour)
+ * timeRange(hour1, hour2)
+ * timeRange(hour1, min1, hour2, min2)
+ * timeRange(hour1, min1, sec1, hour2, min2, sec2)
+ * timeRange(hour1, min1, sec1, hour2, min2, sec2, gmt)
+ *
+ * @param {String} hour is the hour from 0 to 23. (0 is midnight, 23 is 11 pm.)
+ * @param {String} min minutes from 0 to 59.
+ * @param {String} sec seconds from 0 to 59.
+ * @param {String} gmt either the string "GMT" for GMT timezone, or not specified, for local timezone.
+ * @return {Boolean}
+ */
+export default function timeRange(): boolean;
+//# sourceMappingURL=timeRange.d.ts.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/timeRange.d.ts.map b/node_modules/pac-resolver/dist/timeRange.d.ts.map
new file mode 100644
index 0000000..9618234
--- /dev/null
+++ b/node_modules/pac-resolver/dist/timeRange.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"timeRange.d.ts","sourceRoot":"","sources":["../src/timeRange.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,MAAM,CAAC,OAAO,UAAU,SAAS,IAAI,OAAO,CAkD3C"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/timeRange.js b/node_modules/pac-resolver/dist/timeRange.js
new file mode 100644
index 0000000..cc45d7b
--- /dev/null
+++ b/node_modules/pac-resolver/dist/timeRange.js
@@ -0,0 +1,92 @@
+"use strict";
+/**
+ * True during (or between) the specified time(s).
+ *
+ * Even though the examples don't show it, this parameter may be present in
+ * each of the different parameter profiles, always as the last parameter.
+ *
+ *
+ * Examples:
+ *
+ * ``` js
+ * timerange(12)
+ * true from noon to 1pm.
+ *
+ * timerange(12, 13)
+ * same as above.
+ *
+ * timerange(12, "GMT")
+ * true from noon to 1pm, in GMT timezone.
+ *
+ * timerange(9, 17)
+ * true from 9am to 5pm.
+ *
+ * timerange(8, 30, 17, 00)
+ * true from 8:30am to 5:00pm.
+ *
+ * timerange(0, 0, 0, 0, 0, 30)
+ * true between midnight and 30 seconds past midnight.
+ * ```
+ *
+ * timeRange(hour)
+ * timeRange(hour1, hour2)
+ * timeRange(hour1, min1, hour2, min2)
+ * timeRange(hour1, min1, sec1, hour2, min2, sec2)
+ * timeRange(hour1, min1, sec1, hour2, min2, sec2, gmt)
+ *
+ * @param {String} hour is the hour from 0 to 23. (0 is midnight, 23 is 11 pm.)
+ * @param {String} min minutes from 0 to 59.
+ * @param {String} sec seconds from 0 to 59.
+ * @param {String} gmt either the string "GMT" for GMT timezone, or not specified, for local timezone.
+ * @return {Boolean}
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+function timeRange() {
+    // eslint-disable-next-line prefer-rest-params
+    const args = Array.prototype.slice.call(arguments);
+    const lastArg = args.pop();
+    const useGMTzone = lastArg === 'GMT';
+    const currentDate = new Date();
+    if (!useGMTzone) {
+        args.push(lastArg);
+    }
+    let result = false;
+    const noOfArgs = args.length;
+    const numericArgs = args.map((n) => parseInt(n, 10));
+    // timeRange(hour)
+    if (noOfArgs === 1) {
+        result = getCurrentHour(useGMTzone, currentDate) === numericArgs[0];
+        // timeRange(hour1, hour2)
+    }
+    else if (noOfArgs === 2) {
+        const currentHour = getCurrentHour(useGMTzone, currentDate);
+        result = numericArgs[0] <= currentHour && currentHour < numericArgs[1];
+        // timeRange(hour1, min1, hour2, min2)
+    }
+    else if (noOfArgs === 4) {
+        result = valueInRange(secondsElapsedToday(numericArgs[0], numericArgs[1], 0), secondsElapsedToday(getCurrentHour(useGMTzone, currentDate), getCurrentMinute(useGMTzone, currentDate), 0), secondsElapsedToday(numericArgs[2], numericArgs[3], 59));
+        // timeRange(hour1, min1, sec1, hour2, min2, sec2)
+    }
+    else if (noOfArgs === 6) {
+        result = valueInRange(secondsElapsedToday(numericArgs[0], numericArgs[1], numericArgs[2]), secondsElapsedToday(getCurrentHour(useGMTzone, currentDate), getCurrentMinute(useGMTzone, currentDate), getCurrentSecond(useGMTzone, currentDate)), secondsElapsedToday(numericArgs[3], numericArgs[4], numericArgs[5]));
+    }
+    return result;
+}
+exports.default = timeRange;
+function secondsElapsedToday(hh, mm, ss) {
+    return hh * 3600 + mm * 60 + ss;
+}
+function getCurrentHour(gmt, currentDate) {
+    return gmt ? currentDate.getUTCHours() : currentDate.getHours();
+}
+function getCurrentMinute(gmt, currentDate) {
+    return gmt ? currentDate.getUTCMinutes() : currentDate.getMinutes();
+}
+function getCurrentSecond(gmt, currentDate) {
+    return gmt ? currentDate.getUTCSeconds() : currentDate.getSeconds();
+}
+// start <= value <= finish
+function valueInRange(start, value, finish) {
+    return start <= value && value <= finish;
+}
+//# sourceMappingURL=timeRange.js.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/timeRange.js.map b/node_modules/pac-resolver/dist/timeRange.js.map
new file mode 100644
index 0000000..a4dcea0
--- /dev/null
+++ b/node_modules/pac-resolver/dist/timeRange.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"timeRange.js","sourceRoot":"","sources":["../src/timeRange.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/util.d.ts b/node_modules/pac-resolver/dist/util.d.ts
new file mode 100644
index 0000000..5fa9b3b
--- /dev/null
+++ b/node_modules/pac-resolver/dist/util.d.ts
@@ -0,0 +1,6 @@
+/// <reference types="node" />
+import { LookupAddress, LookupOptions } from 'dns';
+import { GMT } from './index';
+export declare function dnsLookup(host: string, opts: LookupOptions): Promise<string | LookupAddress[]>;
+export declare function isGMT(v?: string): v is GMT;
+//# sourceMappingURL=util.d.ts.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/util.d.ts.map b/node_modules/pac-resolver/dist/util.d.ts.map
new file mode 100644
index 0000000..e9aa0c1
--- /dev/null
+++ b/node_modules/pac-resolver/dist/util.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAU,MAAM,KAAK,CAAC;AAC3D,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAC;AAE9B,wBAAgB,SAAS,CACxB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,GACjB,OAAO,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC,CAUnC;AAED,wBAAgB,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,IAAI,GAAG,CAE1C"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/util.js b/node_modules/pac-resolver/dist/util.js
new file mode 100644
index 0000000..11709f5
--- /dev/null
+++ b/node_modules/pac-resolver/dist/util.js
@@ -0,0 +1,22 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.isGMT = exports.dnsLookup = void 0;
+const dns_1 = require("dns");
+function dnsLookup(host, opts) {
+    return new Promise((resolve, reject) => {
+        (0, dns_1.lookup)(host, opts, (err, res) => {
+            if (err) {
+                reject(err);
+            }
+            else {
+                resolve(res);
+            }
+        });
+    });
+}
+exports.dnsLookup = dnsLookup;
+function isGMT(v) {
+    return v === 'GMT';
+}
+exports.isGMT = isGMT;
+//# sourceMappingURL=util.js.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/util.js.map b/node_modules/pac-resolver/dist/util.js.map
new file mode 100644
index 0000000..67cf2df
--- /dev/null
+++ b/node_modules/pac-resolver/dist/util.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AAAA,6BAA2D;AAG3D,SAAgB,SAAS,CACxB,IAAY,EACZ,IAAmB;IAEnB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,IAAA,YAAM,EAAC,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC/B,IAAI,GAAG,EAAE;gBACR,MAAM,CAAC,GAAG,CAAC,CAAC;aACZ;iBAAM;gBACN,OAAO,CAAC,GAAG,CAAC,CAAC;aACb;QACF,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;AACJ,CAAC;AAbD,8BAaC;AAED,SAAgB,KAAK,CAAC,CAAU;IAC/B,OAAO,CAAC,KAAK,KAAK,CAAC;AACpB,CAAC;AAFD,sBAEC"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/weekdayRange.d.ts b/node_modules/pac-resolver/dist/weekdayRange.d.ts
new file mode 100644
index 0000000..4e1389e
--- /dev/null
+++ b/node_modules/pac-resolver/dist/weekdayRange.d.ts
@@ -0,0 +1,45 @@
+import { GMT, Weekday } from './index';
+/**
+ * Only the first parameter is mandatory. Either the second, the third, or both
+ * may be left out.
+ *
+ * If only one parameter is present, the function yeilds a true value on the
+ * weekday that the parameter represents. If the string "GMT" is specified as
+ * a second parameter, times are taken to be in GMT, otherwise in local timezone.
+ *
+ * If both wd1 and wd1 are defined, the condition is true if the current weekday
+ * is in between those two weekdays. Bounds are inclusive. If the "GMT" parameter
+ * is specified, times are taken to be in GMT, otherwise the local timezone is
+ * used.
+ *
+ * Valid "weekday strings" are:
+ *
+ *     SUN MON TUE WED THU FRI SAT
+ *
+ * Examples:
+ *
+ * ``` js
+ * weekdayRange("MON", "FRI")
+ * true Monday trhough Friday (local timezone).
+ *
+ * weekdayRange("MON", "FRI", "GMT")
+ * same as above, but GMT timezone.
+ *
+ * weekdayRange("SAT")
+ * true on Saturdays local time.
+ *
+ * weekdayRange("SAT", "GMT")
+ * true on Saturdays GMT time.
+ *
+ * weekdayRange("FRI", "MON")
+ * true Friday through Monday (note, order does matter!).
+ * ```
+ *
+ *
+ * @param {String} wd1 one of the weekday strings.
+ * @param {String} wd2 one of the weekday strings.
+ * @param {String} gmt is either the string: GMT or is left out.
+ * @return {Boolean}
+ */
+export default function weekdayRange(wd1: Weekday, wd2?: Weekday | GMT, gmt?: GMT): boolean;
+//# sourceMappingURL=weekdayRange.d.ts.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/weekdayRange.d.ts.map b/node_modules/pac-resolver/dist/weekdayRange.d.ts.map
new file mode 100644
index 0000000..3b54aa8
--- /dev/null
+++ b/node_modules/pac-resolver/dist/weekdayRange.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"weekdayRange.d.ts","sourceRoot":"","sources":["../src/weekdayRange.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,MAAM,CAAC,OAAO,UAAU,YAAY,CACnC,GAAG,EAAE,OAAO,EACZ,GAAG,CAAC,EAAE,OAAO,GAAG,GAAG,EACnB,GAAG,CAAC,EAAE,GAAG,GACP,OAAO,CAiCT"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/weekdayRange.js b/node_modules/pac-resolver/dist/weekdayRange.js
new file mode 100644
index 0000000..39f21e8
--- /dev/null
+++ b/node_modules/pac-resolver/dist/weekdayRange.js
@@ -0,0 +1,91 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+const util_1 = require("./util");
+const weekdays = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'];
+/**
+ * Only the first parameter is mandatory. Either the second, the third, or both
+ * may be left out.
+ *
+ * If only one parameter is present, the function yeilds a true value on the
+ * weekday that the parameter represents. If the string "GMT" is specified as
+ * a second parameter, times are taken to be in GMT, otherwise in local timezone.
+ *
+ * If both wd1 and wd1 are defined, the condition is true if the current weekday
+ * is in between those two weekdays. Bounds are inclusive. If the "GMT" parameter
+ * is specified, times are taken to be in GMT, otherwise the local timezone is
+ * used.
+ *
+ * Valid "weekday strings" are:
+ *
+ *     SUN MON TUE WED THU FRI SAT
+ *
+ * Examples:
+ *
+ * ``` js
+ * weekdayRange("MON", "FRI")
+ * true Monday trhough Friday (local timezone).
+ *
+ * weekdayRange("MON", "FRI", "GMT")
+ * same as above, but GMT timezone.
+ *
+ * weekdayRange("SAT")
+ * true on Saturdays local time.
+ *
+ * weekdayRange("SAT", "GMT")
+ * true on Saturdays GMT time.
+ *
+ * weekdayRange("FRI", "MON")
+ * true Friday through Monday (note, order does matter!).
+ * ```
+ *
+ *
+ * @param {String} wd1 one of the weekday strings.
+ * @param {String} wd2 one of the weekday strings.
+ * @param {String} gmt is either the string: GMT or is left out.
+ * @return {Boolean}
+ */
+function weekdayRange(wd1, wd2, gmt) {
+    let useGMTzone = false;
+    let wd1Index = -1;
+    let wd2Index = -1;
+    let wd2IsGmt = false;
+    if ((0, util_1.isGMT)(gmt)) {
+        useGMTzone = true;
+    }
+    else if ((0, util_1.isGMT)(wd2)) {
+        useGMTzone = true;
+        wd2IsGmt = true;
+    }
+    wd1Index = weekdays.indexOf(wd1);
+    if (!wd2IsGmt && isWeekday(wd2)) {
+        wd2Index = weekdays.indexOf(wd2);
+    }
+    const todaysDay = getTodaysDay(useGMTzone);
+    let result;
+    if (wd2Index < 0) {
+        result = todaysDay === wd1Index;
+    }
+    else if (wd1Index <= wd2Index) {
+        result = valueInRange(wd1Index, todaysDay, wd2Index);
+    }
+    else {
+        result =
+            valueInRange(wd1Index, todaysDay, 6) ||
+                valueInRange(0, todaysDay, wd2Index);
+    }
+    return result;
+}
+exports.default = weekdayRange;
+function getTodaysDay(gmt) {
+    return gmt ? new Date().getUTCDay() : new Date().getDay();
+}
+// start <= value <= finish
+function valueInRange(start, value, finish) {
+    return start <= value && value <= finish;
+}
+function isWeekday(v) {
+    if (!v)
+        return false;
+    return weekdays.includes(v);
+}
+//# sourceMappingURL=weekdayRange.js.map
\ No newline at end of file
diff --git a/node_modules/pac-resolver/dist/weekdayRange.js.map b/node_modules/pac-resolver/dist/weekdayRange.js.map
new file mode 100644
index 0000000..28a89ac
--- /dev/null
+++ b/node_modules/pac-resolver/dist/weekdayRange.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"weekdayRange.js","sourceRoot":"","sources":["../src/weekdayRange.ts"],"names":[],"mappings":";;AAAA,iCAA+B;AAG/B,MAAM,QAAQ,GAAc,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,SAAwB,YAAY,CACnC,GAAY,EACZ,GAAmB,EACnB,GAAS;IAET,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClB,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC;IAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,IAAA,YAAK,EAAC,GAAG,CAAC,EAAE;QACf,UAAU,GAAG,IAAI,CAAC;KAClB;SAAM,IAAI,IAAA,YAAK,EAAC,GAAG,CAAC,EAAE;QACtB,UAAU,GAAG,IAAI,CAAC;QAClB,QAAQ,GAAG,IAAI,CAAC;KAChB;IAED,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAEjC,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE;QAChC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;KACjC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,MAAe,CAAC;IAEpB,IAAI,QAAQ,GAAG,CAAC,EAAE;QACjB,MAAM,GAAG,SAAS,KAAK,QAAQ,CAAC;KAChC;SAAM,IAAI,QAAQ,IAAI,QAAQ,EAAE;QAChC,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;KACrD;SAAM;QACN,MAAM;YACL,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;gBACpC,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;KACtC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AArCD,+BAqCC;AAED,SAAS,YAAY,CAAC,GAAY;IACjC,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;AAC3D,CAAC;AAED,2BAA2B;AAC3B,SAAS,YAAY,CAAC,KAAa,EAAE,KAAa,EAAE,MAAc;IACjE,OAAO,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC;AAC1C,CAAC;AAED,SAAS,SAAS,CAAC,CAAU;IAC5B,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACrB,OAAQ,QAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC"}
\ No newline at end of file
diff --git a/node_modules/pac-resolver/package.json b/node_modules/pac-resolver/package.json
new file mode 100644
index 0000000..be52719
--- /dev/null
+++ b/node_modules/pac-resolver/package.json
@@ -0,0 +1,49 @@
+{
+  "name": "pac-resolver",
+  "version": "7.0.0",
+  "description": "Generates an asynchronous resolver function from a PAC file",
+  "main": "./dist/index.js",
+  "types": "./dist/index.d.ts",
+  "files": [
+    "dist"
+  ],
+  "dependencies": {
+    "degenerator": "^5.0.0",
+    "ip": "^1.1.8",
+    "netmask": "^2.0.2"
+  },
+  "devDependencies": {
+    "@tootallnate/quickjs-emscripten": "^0.23.0",
+    "@types/ip": "^1.1.0",
+    "@types/jest": "^29.5.2",
+    "@types/netmask": "^1.0.30",
+    "@types/node": "^14.18.52",
+    "jest": "^29.5.0",
+    "ts-jest": "^29.1.0",
+    "typescript": "^5.1.6",
+    "tsconfig": "0.0.0"
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/TooTallNate/proxy-agents.git",
+    "directory": "packages/pac-resolver"
+  },
+  "engines": {
+    "node": ">= 14"
+  },
+  "keywords": [
+    "pac",
+    "file",
+    "proxy",
+    "resolve",
+    "dns"
+  ],
+  "author": "Nathan Rajlich <[email protected]> (http://n8.io/)",
+  "license": "MIT",
+  "scripts": {
+    "build": "tsc",
+    "test": "jest --env node --verbose --bail",
+    "lint": "eslint . --ext .ts",
+    "pack": "node ../../scripts/pack.mjs"
+  }
+}
diff --git a/node_modules/proxy-agent/README.md b/node_modules/proxy-agent/README.md
new file mode 100644
index 0000000..c3cd7aa
--- /dev/null
+++ b/node_modules/proxy-agent/README.md
@@ -0,0 +1,87 @@
+proxy-agent
+===========
+### Maps proxy protocols to `http.Agent` implementations
+
+This module provides an `http.Agent` implementation which automatically uses
+proxy servers based off of the various proxy-related environment variables
+(`HTTP_PROXY`, `HTTPS_PROXY` and `NO_PROXY` among others).
+
+Which proxy is used for each HTTP request is determined by the
+[`proxy-from-env`](https://www.npmjs.com/package/proxy-from-env) module, so
+check its documentation for instructions on configuring your environment variables.
+
+An LRU cache is used so that `http.Agent` instances are transparently re-used for
+subsequent HTTP requests to the same proxy server.
+
+The currently implemented protocol mappings are listed in the table below:
+
+
+| Protocol   | Proxy Agent for `http` requests | Proxy Agent for `https` requests | Example
+|:----------:|:-------------------------------:|:--------------------------------:|:--------:
+| `http`     | [http-proxy-agent][]            | [https-proxy-agent][]            | `http://proxy-server-over-tcp.com:3128`
+| `https`    | [http-proxy-agent][]            | [https-proxy-agent][]            | `https://proxy-server-over-tls.com:3129`
+| `socks(v5)`| [socks-proxy-agent][]           | [socks-proxy-agent][]            | `socks://username:[email protected]:9050` (username & password are optional)
+| `socks5`   | [socks-proxy-agent][]           | [socks-proxy-agent][]            | `socks5://username:[email protected]:9050` (username & password are optional)
+| `socks4`   | [socks-proxy-agent][]           | [socks-proxy-agent][]            | `socks4://some-socks-proxy.com:9050`
+| `pac-*`    | [pac-proxy-agent][]             | [pac-proxy-agent][]              | `pac+http://www.example.com/proxy.pac`
+
+Example
+-------
+
+```ts
+import * as https from 'https';
+import { ProxyAgent } from 'proxy-agent';
+
+// The correct proxy `Agent` implementation to use will be determined
+// via the `http_proxy` / `https_proxy` / `no_proxy` / etc. env vars
+const agent = new ProxyAgent();
+
+// The rest works just like any other normal HTTP request
+https.get('https://jsonip.com', { agent }, (res) => {
+  console.log(res.statusCode, res.headers);
+  res.pipe(process.stdout);
+});
+```
+
+
+API
+---
+
+### new ProxyAgent(options?: ProxyAgentOptions)
+
+Creates an `http.Agent` instance which relies on the various proxy-related
+environment variables. An LRU cache is used, so the same `http.Agent` instance
+will be returned if identical args are passed in.
+
+
+License
+-------
+
+(The MIT License)
+
+Copyright (c) 2013 Nathan Rajlich &lt;[email protected]&gt;
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+[http-proxy-agent]: ../http-proxy-agent
+[https-proxy-agent]: ../https-proxy-agent
+[socks-proxy-agent]: ../socks-proxy-agent
+[pac-proxy-agent]: ../pac-proxy-agent
diff --git a/node_modules/proxy-agent/dist/index.d.ts b/node_modules/proxy-agent/dist/index.d.ts
new file mode 100644
index 0000000..ba35caa
--- /dev/null
+++ b/node_modules/proxy-agent/dist/index.d.ts
@@ -0,0 +1,60 @@
+/// <reference types="node" />
+import * as http from 'http';
+import LRUCache from 'lru-cache';
+import { Agent, AgentConnectOpts } from 'agent-base';
+import { PacProxyAgentOptions } from 'pac-proxy-agent';
+import { HttpProxyAgentOptions } from 'http-proxy-agent';
+import { HttpsProxyAgentOptions } from 'https-proxy-agent';
+import { SocksProxyAgentOptions } from 'socks-proxy-agent';
+declare const PROTOCOLS: readonly ["http", "https", "socks", "socks4", "socks4a", "socks5", "socks5h", ...("pac+http" | "pac+https" | "pac+data" | "pac+file" | "pac+ftp")[]];
+type ValidProtocol = (typeof PROTOCOLS)[number];
+type AgentConstructor = new (...args: never[]) => Agent;
+type GetProxyForUrlCallback = (url: string) => string;
+/**
+ * Supported proxy types.
+ */
+export declare const proxies: {
+    [P in ValidProtocol]: [AgentConstructor, AgentConstructor];
+};
+export type ProxyAgentOptions = HttpProxyAgentOptions<''> & HttpsProxyAgentOptions<''> & SocksProxyAgentOptions & PacProxyAgentOptions<''> & {
+    /**
+     * Default `http.Agent` instance to use when no proxy is
+     * configured for a request. Defaults to a new `http.Agent()`
+     * instance with the proxy agent options passed in.
+     */
+    httpAgent?: http.Agent;
+    /**
+     * Default `http.Agent` instance to use when no proxy is
+     * configured for a request. Defaults to a new `https.Agent()`
+     * instance with the proxy agent options passed in.
+     */
+    httpsAgent?: http.Agent;
+    /**
+     * A callback for dynamic provision of proxy for url.
+     * Defaults to standard proxy environment variables,
+     * see https://www.npmjs.com/package/proxy-from-env for details
+     */
+    getProxyForUrl?: GetProxyForUrlCallback;
+};
+/**
+ * Uses the appropriate `Agent` subclass based off of the "proxy"
+ * environment variables that are currently set.
+ *
+ * An LRU cache is used, to prevent unnecessary creation of proxy
+ * `http.Agent` instances.
+ */
+export declare class ProxyAgent extends Agent {
+    /**
+     * Cache for `Agent` instances.
+     */
+    cache: LRUCache<string, Agent>;
+    connectOpts?: ProxyAgentOptions;
+    httpAgent: http.Agent;
+    httpsAgent: http.Agent;
+    getProxyForUrl: GetProxyForUrlCallback;
+    constructor(opts?: ProxyAgentOptions);
+    connect(req: http.ClientRequest, opts: AgentConnectOpts): Promise<http.Agent>;
+    destroy(): void;
+}
+export {};
+//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/node_modules/proxy-agent/dist/index.d.ts.map b/node_modules/proxy-agent/dist/index.d.ts.map
new file mode 100644
index 0000000..51ab31c
--- /dev/null
+++ b/node_modules/proxy-agent/dist/index.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGrD,OAAO,EAAiB,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAkB,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAmB,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAmB,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAI5E,QAAA,MAAM,SAAS,sJAIL,CAAC;AAEX,KAAK,aAAa,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhD,KAAK,gBAAgB,GAAG,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC;AAExD,KAAK,sBAAsB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE;KACpB,CAAC,IAAI,aAAa,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;CAc1D,CAAC;AAMF,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,EAAE,CAAC,GACxD,sBAAsB,CAAC,EAAE,CAAC,GAC1B,sBAAsB,GACtB,oBAAoB,CAAC,EAAE,CAAC,GAAG;IAC1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;IACvB;;;;OAIG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC;IACxB;;;;OAIG;IACH,cAAc,CAAC,EAAE,sBAAsB,CAAC;CACxC,CAAC;AAEH;;;;;;GAMG;AACH,qBAAa,UAAW,SAAQ,KAAK;IACpC;;OAEG;IACH,KAAK,0BAA4C;IAEjD,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC;IACtB,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC;IACvB,cAAc,EAAE,sBAAsB,CAAC;gBAE3B,IAAI,CAAC,EAAE,iBAAiB;IAU9B,OAAO,CACZ,GAAG,EAAE,IAAI,CAAC,aAAa,EACvB,IAAI,EAAE,gBAAgB,GACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;IA2CtB,OAAO,IAAI,IAAI;CAMf"}
\ No newline at end of file
diff --git a/node_modules/proxy-agent/dist/index.js b/node_modules/proxy-agent/dist/index.js
new file mode 100644
index 0000000..885d22a
--- /dev/null
+++ b/node_modules/proxy-agent/dist/index.js
@@ -0,0 +1,133 @@
+"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+    Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+    o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+    if (mod && mod.__esModule) return mod;
+    var result = {};
+    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+    __setModuleDefault(result, mod);
+    return result;
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+    return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.ProxyAgent = exports.proxies = void 0;
+const http = __importStar(require("http"));
+const https = __importStar(require("https"));
+const lru_cache_1 = __importDefault(require("lru-cache"));
+const agent_base_1 = require("agent-base");
+const debug_1 = __importDefault(require("debug"));
+const proxy_from_env_1 = require("proxy-from-env");
+const pac_proxy_agent_1 = require("pac-proxy-agent");
+const http_proxy_agent_1 = require("http-proxy-agent");
+const https_proxy_agent_1 = require("https-proxy-agent");
+const socks_proxy_agent_1 = require("socks-proxy-agent");
+const debug = (0, debug_1.default)('proxy-agent');
+const PROTOCOLS = [
+    ...http_proxy_agent_1.HttpProxyAgent.protocols,
+    ...socks_proxy_agent_1.SocksProxyAgent.protocols,
+    ...pac_proxy_agent_1.PacProxyAgent.protocols,
+];
+/**
+ * Supported proxy types.
+ */
+exports.proxies = {
+    http: [http_proxy_agent_1.HttpProxyAgent, https_proxy_agent_1.HttpsProxyAgent],
+    https: [http_proxy_agent_1.HttpProxyAgent, https_proxy_agent_1.HttpsProxyAgent],
+    socks: [socks_proxy_agent_1.SocksProxyAgent, socks_proxy_agent_1.SocksProxyAgent],
+    socks4: [socks_proxy_agent_1.SocksProxyAgent, socks_proxy_agent_1.SocksProxyAgent],
+    socks4a: [socks_proxy_agent_1.SocksProxyAgent, socks_proxy_agent_1.SocksProxyAgent],
+    socks5: [socks_proxy_agent_1.SocksProxyAgent, socks_proxy_agent_1.SocksProxyAgent],
+    socks5h: [socks_proxy_agent_1.SocksProxyAgent, socks_proxy_agent_1.SocksProxyAgent],
+    'pac+data': [pac_proxy_agent_1.PacProxyAgent, pac_proxy_agent_1.PacProxyAgent],
+    'pac+file': [pac_proxy_agent_1.PacProxyAgent, pac_proxy_agent_1.PacProxyAgent],
+    'pac+ftp': [pac_proxy_agent_1.PacProxyAgent, pac_proxy_agent_1.PacProxyAgent],
+    'pac+http': [pac_proxy_agent_1.PacProxyAgent, pac_proxy_agent_1.PacProxyAgent],
+    'pac+https': [pac_proxy_agent_1.PacProxyAgent, pac_proxy_agent_1.PacProxyAgent],
+};
+function isValidProtocol(v) {
+    return PROTOCOLS.includes(v);
+}
+/**
+ * Uses the appropriate `Agent` subclass based off of the "proxy"
+ * environment variables that are currently set.
+ *
+ * An LRU cache is used, to prevent unnecessary creation of proxy
+ * `http.Agent` instances.
+ */
+class ProxyAgent extends agent_base_1.Agent {
+    constructor(opts) {
+        super(opts);
+        /**
+         * Cache for `Agent` instances.
+         */
+        this.cache = new lru_cache_1.default({ max: 20 });
+        debug('Creating new ProxyAgent instance: %o', opts);
+        this.connectOpts = opts;
+        this.httpAgent = opts?.httpAgent || new http.Agent(opts);
+        this.httpsAgent =
+            opts?.httpsAgent || new https.Agent(opts);
+        this.getProxyForUrl = opts?.getProxyForUrl || proxy_from_env_1.getProxyForUrl;
+    }
+    async connect(req, opts) {
+        const { secureEndpoint } = opts;
+        const isWebSocket = req.getHeader('upgrade') === 'websocket';
+        const protocol = secureEndpoint
+            ? isWebSocket
+                ? 'wss:'
+                : 'https:'
+            : isWebSocket
+                ? 'ws:'
+                : 'http:';
+        const host = req.getHeader('host');
+        const url = new URL(req.path, `${protocol}//${host}`).href;
+        const proxy = this.getProxyForUrl(url);
+        if (!proxy) {
+            debug('Proxy not enabled for URL: %o', url);
+            return secureEndpoint ? this.httpsAgent : this.httpAgent;
+        }
+        debug('Request URL: %o', url);
+        debug('Proxy URL: %o', proxy);
+        // attempt to get a cached `http.Agent` instance first
+        const cacheKey = `${protocol}+${proxy}`;
+        let agent = this.cache.get(cacheKey);
+        if (!agent) {
+            const proxyUrl = new URL(proxy);
+            const proxyProto = proxyUrl.protocol.replace(':', '');
+            if (!isValidProtocol(proxyProto)) {
+                throw new Error(`Unsupported protocol for proxy URL: ${proxy}`);
+            }
+            const ctor = exports.proxies[proxyProto][secureEndpoint || isWebSocket ? 1 : 0];
+            // @ts-expect-error meh…
+            agent = new ctor(proxy, this.connectOpts);
+            this.cache.set(cacheKey, agent);
+        }
+        else {
+            debug('Cache hit for proxy URL: %o', proxy);
+        }
+        return agent;
+    }
+    destroy() {
+        for (const agent of this.cache.values()) {
+            agent.destroy();
+        }
+        super.destroy();
+    }
+}
+exports.ProxyAgent = ProxyAgent;
+//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/node_modules/proxy-agent/dist/index.js.map b/node_modules/proxy-agent/dist/index.js.map
new file mode 100644
index 0000000..1334e13
--- /dev/null
+++ b/node_modules/proxy-agent/dist/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/proxy-agent/node_modules/debug/LICENSE b/node_modules/proxy-agent/node_modules/debug/LICENSE
new file mode 100644
index 0000000..1a9820e
--- /dev/null
+++ b/node_modules/proxy-agent/node_modules/debug/LICENSE
@@ -0,0 +1,20 @@
+(The MIT License)
+
+Copyright (c) 2014-2017 TJ Holowaychuk <[email protected]>
+Copyright (c) 2018-2021 Josh Junon
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+and associated documentation files (the 'Software'), to deal in the Software without restriction,
+including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
+and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial
+portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
+LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
diff --git a/node_modules/proxy-agent/node_modules/debug/README.md b/node_modules/proxy-agent/node_modules/debug/README.md
new file mode 100644
index 0000000..e9c3e04
--- /dev/null
+++ b/node_modules/proxy-agent/node_modules/debug/README.md
@@ -0,0 +1,481 @@
+# debug
+[![Build Status](https://travis-ci.org/debug-js/debug.svg?branch=master)](https://travis-ci.org/debug-js/debug)  [![Coverage Status](https://coveralls.io/repos/github/debug-js/debug/badge.svg?branch=master)](https://coveralls.io/github/debug-js/debug?branch=master)  [![Slack](https://visionmedia-community-slackin.now.sh/badge.svg)](https://visionmedia-community-slackin.now.sh/) [![OpenCollective](https://opencollective.com/debug/backers/badge.svg)](#backers)
+[![OpenCollective](https://opencollective.com/debug/sponsors/badge.svg)](#sponsors)
+
+<img width="647" src="https://user-images.githubusercontent.com/71256/29091486-fa38524c-7c37-11e7-895f-e7ec8e1039b6.png">
+
+A tiny JavaScript debugging utility modelled after Node.js core's debugging
+technique. Works in Node.js and web browsers.
+
+## Installation
+
+```bash
+$ npm install debug
+```
+
+## Usage
+
+`debug` exposes a function; simply pass this function the name of your module, and it will return a decorated version of `console.error` for you to pass debug statements to. This will allow you to toggle the debug output for different parts of your module as well as the module as a whole.
+
+Example [_app.js_](./examples/node/app.js):
+
+```js
+var debug = require('debug')('http')
+  , http = require('http')
+  , name = 'My App';
+
+// fake app
+
+debug('booting %o', name);
+
+http.createServer(function(req, res){
+  debug(req.method + ' ' + req.url);
+  res.end('hello\n');
+}).listen(3000, function(){
+  debug('listening');
+});
+
+// fake worker of some kind
+
+require('./worker');
+```
+
+Example [_worker.js_](./examples/node/worker.js):
+
+```js
+var a = require('debug')('worker:a')
+  , b = require('debug')('worker:b');
+
+function work() {
+  a('doing lots of uninteresting work');
+  setTimeout(work, Math.random() * 1000);
+}
+
+work();
+
+function workb() {
+  b('doing some work');
+  setTimeout(workb, Math.random() * 2000);
+}
+
+workb();
+```
+
+The `DEBUG` environment variable is then used to enable these based on space or
+comma-delimited names.
+
+Here are some examples:
+
+<img width="647" alt="screen shot 2017-08-08 at 12 53 04 pm" src="https://user-images.githubusercontent.com/71256/29091703-a6302cdc-7c38-11e7-8304-7c0b3bc600cd.png">
+<img width="647" alt="screen shot 2017-08-08 at 12 53 38 pm" src="https://user-images.githubusercontent.com/71256/29091700-a62a6888-7c38-11e7-800b-db911291ca2b.png">
+<img width="647" alt="screen shot 2017-08-08 at 12 53 25 pm" src="https://user-images.githubusercontent.com/71256/29091701-a62ea114-7c38-11e7-826a-2692bedca740.png">
+
+#### Windows command prompt notes
+
+##### CMD
+
+On Windows the environment variable is set using the `set` command.
+
+```cmd
+set DEBUG=*,-not_this
+```
+
+Example:
+
+```cmd
+set DEBUG=* & node app.js
+```
+
+##### PowerShell (VS Code default)
+
+PowerShell uses different syntax to set environment variables.
+
+```cmd
+$env:DEBUG = "*,-not_this"
+```
+
+Example:
+
+```cmd
+$env:DEBUG='app';node app.js
+```
+
+Then, run the program to be debugged as usual.
+
+npm script example:
+```js
+  "windowsDebug": "@powershell -Command $env:DEBUG='*';node app.js",
+```
+
+## Namespace Colors
+
+Every debug instance has a color generated for it based on its namespace name.
+This helps when visually parsing the debug output to identify which debug instance
+a debug line belongs to.
+
+#### Node.js
+
+In Node.js, colors are enabled when stderr is a TTY. You also _should_ install
+the [`supports-color`](https://npmjs.org/supports-color) module alongside debug,
+otherwise debug will only use a small handful of basic colors.
+
+<img width="521" src="https://user-images.githubusercontent.com/71256/29092181-47f6a9e6-7c3a-11e7-9a14-1928d8a711cd.png">
+
+#### Web Browser
+
+Colors are also enabled on "Web Inspectors" that understand the `%c` formatting
+option. These are WebKit web inspectors, Firefox ([since version
+31](https://hacks.mozilla.org/2014/05/editable-box-model-multiple-selection-sublime-text-keys-much-more-firefox-developer-tools-episode-31/))
+and the Firebug plugin for Firefox (any version).
+
+<img width="524" src="https://user-images.githubusercontent.com/71256/29092033-b65f9f2e-7c39-11e7-8e32-f6f0d8e865c1.png">
+
+
+## Millisecond diff
+
+When actively developing an application it can be useful to see when the time spent between one `debug()` call and the next. Suppose for example you invoke `debug()` before requesting a resource, and after as well, the "+NNNms" will show you how much time was spent between calls.
+
+<img width="647" src="https://user-images.githubusercontent.com/71256/29091486-fa38524c-7c37-11e7-895f-e7ec8e1039b6.png">
+
+When stdout is not a TTY, `Date#toISOString()` is used, making it more useful for logging the debug information as shown below:
+
+<img width="647" src="https://user-images.githubusercontent.com/71256/29091956-6bd78372-7c39-11e7-8c55-c948396d6edd.png">
+
+
+## Conventions
+
+If you're using this in one or more of your libraries, you _should_ use the name of your library so that developers may toggle debugging as desired without guessing names. If you have more than one debuggers you _should_ prefix them with your library name and use ":" to separate features. For example "bodyParser" from Connect would then be "connect:bodyParser".  If you append a "*" to the end of your name, it will always be enabled regardless of the setting of the DEBUG environment variable.  You can then use it for normal output as well as debug output.
+
+## Wildcards
+
+The `*` character may be used as a wildcard. Suppose for example your library has
+debuggers named "connect:bodyParser", "connect:compress", "connect:session",
+instead of listing all three with
+`DEBUG=connect:bodyParser,connect:compress,connect:session`, you may simply do
+`DEBUG=connect:*`, or to run everything using this module simply use `DEBUG=*`.
+
+You can also exclude specific debuggers by prefixing them with a "-" character.
+For example, `DEBUG=*,-connect:*` would include all debuggers except those
+starting with "connect:".
+
+## Environment Variables
+
+When running through Node.js, you can set a few environment variables that will
+change the behavior of the debug logging:
+
+| Name      | Purpose                                         |
+|-----------|-------------------------------------------------|
+| `DEBUG`   | Enables/disables specific debugging namespaces. |
+| `DEBUG_HIDE_DATE` | Hide date from debug output (non-TTY).  |
+| `DEBUG_COLORS`| Whether or not to use colors in the debug output. |
+| `DEBUG_DEPTH` | Object inspection depth.                    |
+| `DEBUG_SHOW_HIDDEN` | Shows hidden properties on inspected objects. |
+
+
+__Note:__ The environment variables beginning with `DEBUG_` end up being
+converted into an Options object that gets used with `%o`/`%O` formatters.
+See the Node.js documentation for
+[`util.inspect()`](https://nodejs.org/api/util.html#util_util_inspect_object_options)
+for the complete list.
+
+## Formatters
+
+Debug uses [printf-style](https://wikipedia.org/wiki/Printf_format_string) formatting.
+Below are the officially supported formatters:
+
+| Formatter | Representation |
+|-----------|----------------|
+| `%O`      | Pretty-print an Object on multiple lines. |
+| `%o`      | Pretty-print an Object all on a single line. |
+| `%s`      | String. |
+| `%d`      | Number (both integer and float). |
+| `%j`      | JSON. Replaced with the string '[Circular]' if the argument contains circular references. |
+| `%%`      | Single percent sign ('%'). This does not consume an argument. |
+
+
+### Custom formatters
+
+You can add custom formatters by extending the `debug.formatters` object.
+For example, if you wanted to add support for rendering a Buffer as hex with
+`%h`, you could do something like:
+
+```js
+const createDebug = require('debug')
+createDebug.formatters.h = (v) => {
+  return v.toString('hex')
+}
+
+// …elsewhere
+const debug = createDebug('foo')
+debug('this is hex: %h', new Buffer('hello world'))
+//   foo this is hex: 68656c6c6f20776f726c6421 +0ms
+```
+
+
+## Browser Support
+
+You can build a browser-ready script using [browserify](https://github.com/substack/node-browserify),
+or just use the [browserify-as-a-service](https://wzrd.in/) [build](https://wzrd.in/standalone/debug@latest),
+if you don't want to build it yourself.
+
+Debug's enable state is currently persisted by `localStorage`.
+Consider the situation shown below where you have `worker:a` and `worker:b`,
+and wish to debug both. You can enable this using `localStorage.debug`:
+
+```js
+localStorage.debug = 'worker:*'
+```
+
+And then refresh the page.
+
+```js
+a = debug('worker:a');
+b = debug('worker:b');
+
+setInterval(function(){
+  a('doing some work');
+}, 1000);
+
+setInterval(function(){
+  b('doing some work');
+}, 1200);
+```
+
+In Chromium-based web browsers (e.g. Brave, Chrome, and Electron), the JavaScript console will—by default—only show messages logged by `debug` if the "Verbose" log level is _enabled_.
+
+<img width="647" src="https://user-images.githubusercontent.com/7143133/152083257-29034707-c42c-4959-8add-3cee850e6fcf.png">
+
+## Output streams
+
+  By default `debug` will log to stderr, however this can be configured per-namespace by overriding the `log` method:
+
+Example [_stdout.js_](./examples/node/stdout.js):
+
+```js
+var debug = require('debug');
+var error = debug('app:error');
+
+// by default stderr is used
+error('goes to stderr!');
+
+var log = debug('app:log');
+// set this namespace to log via console.log
+log.log = console.log.bind(console); // don't forget to bind to console!
+log('goes to stdout');
+error('still goes to stderr!');
+
+// set all output to go via console.info
+// overrides all per-namespace log settings
+debug.log = console.info.bind(console);
+error('now goes to stdout via console.info');
+log('still goes to stdout, but via console.info now');
+```
+
+## Extend
+You can simply extend debugger 
+```js
+const log = require('debug')('auth');
+
+//creates new debug instance with extended namespace
+const logSign = log.extend('sign');
+const logLogin = log.extend('login');
+
+log('hello'); // auth hello
+logSign('hello'); //auth:sign hello
+logLogin('hello'); //auth:login hello
+```
+
+## Set dynamically
+
+You can also enable debug dynamically by calling the `enable()` method :
+
+```js
+let debug = require('debug');
+
+console.log(1, debug.enabled('test'));
+
+debug.enable('test');
+console.log(2, debug.enabled('test'));
+
+debug.disable();
+console.log(3, debug.enabled('test'));
+
+```
+
+print :   
+```
+1 false
+2 true
+3 false
+```
+
+Usage :  
+`enable(namespaces)`  
+`namespaces` can include modes separated by a colon and wildcards.
+   
+Note that calling `enable()` completely overrides previously set DEBUG variable : 
+
+```
+$ DEBUG=foo node -e 'var dbg = require("debug"); dbg.enable("bar"); console.log(dbg.enabled("foo"))'
+=> false
+```
+
+`disable()`
+
+Will disable all namespaces. The functions returns the namespaces currently
+enabled (and skipped). This can be useful if you want to disable debugging
+temporarily without knowing what was enabled to begin with.
+
+For example:
+
+```js
+let debug = require('debug');
+debug.enable('foo:*,-foo:bar');
+let namespaces = debug.disable();
+debug.enable(namespaces);
+```
+
+Note: There is no guarantee that the string will be identical to the initial
+enable string, but semantically they will be identical.
+
+## Checking whether a debug target is enabled
+
+After you've created a debug instance, you can determine whether or not it is
+enabled by checking the `enabled` property:
+
+```javascript
+const debug = require('debug')('http');
+
+if (debug.enabled) {
+  // do stuff...
+}
+```
+
+You can also manually toggle this property to force the debug instance to be
+enabled or disabled.
+
+## Usage in child processes
+
+Due to the way `debug` detects if the output is a TTY or not, colors are not shown in child processes when `stderr` is piped. A solution is to pass the `DEBUG_COLORS=1` environment variable to the child process.  
+For example:
+
+```javascript
+worker = fork(WORKER_WRAP_PATH, [workerPath], {
+  stdio: [
+    /* stdin: */ 0,
+    /* stdout: */ 'pipe',
+    /* stderr: */ 'pipe',
+    'ipc',
+  ],
+  env: Object.assign({}, process.env, {
+    DEBUG_COLORS: 1 // without this settings, colors won't be shown
+  }),
+});
+
+worker.stderr.pipe(process.stderr, { end: false });
+```
+
+
+## Authors
+
+ - TJ Holowaychuk
+ - Nathan Rajlich
+ - Andrew Rhyne
+ - Josh Junon
+
+## Backers
+
+Support us with a monthly donation and help us continue our activities. [[Become a backer](https://opencollective.com/debug#backer)]
+
+<a href="https://opencollective.com/debug/backer/0/website" target="_blank"><img src="https://opencollective.com/debug/backer/0/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/1/website" target="_blank"><img src="https://opencollective.com/debug/backer/1/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/2/website" target="_blank"><img src="https://opencollective.com/debug/backer/2/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/3/website" target="_blank"><img src="https://opencollective.com/debug/backer/3/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/4/website" target="_blank"><img src="https://opencollective.com/debug/backer/4/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/5/website" target="_blank"><img src="https://opencollective.com/debug/backer/5/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/6/website" target="_blank"><img src="https://opencollective.com/debug/backer/6/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/7/website" target="_blank"><img src="https://opencollective.com/debug/backer/7/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/8/website" target="_blank"><img src="https://opencollective.com/debug/backer/8/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/9/website" target="_blank"><img src="https://opencollective.com/debug/backer/9/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/10/website" target="_blank"><img src="https://opencollective.com/debug/backer/10/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/11/website" target="_blank"><img src="https://opencollective.com/debug/backer/11/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/12/website" target="_blank"><img src="https://opencollective.com/debug/backer/12/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/13/website" target="_blank"><img src="https://opencollective.com/debug/backer/13/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/14/website" target="_blank"><img src="https://opencollective.com/debug/backer/14/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/15/website" target="_blank"><img src="https://opencollective.com/debug/backer/15/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/16/website" target="_blank"><img src="https://opencollective.com/debug/backer/16/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/17/website" target="_blank"><img src="https://opencollective.com/debug/backer/17/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/18/website" target="_blank"><img src="https://opencollective.com/debug/backer/18/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/19/website" target="_blank"><img src="https://opencollective.com/debug/backer/19/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/20/website" target="_blank"><img src="https://opencollective.com/debug/backer/20/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/21/website" target="_blank"><img src="https://opencollective.com/debug/backer/21/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/22/website" target="_blank"><img src="https://opencollective.com/debug/backer/22/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/23/website" target="_blank"><img src="https://opencollective.com/debug/backer/23/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/24/website" target="_blank"><img src="https://opencollective.com/debug/backer/24/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/25/website" target="_blank"><img src="https://opencollective.com/debug/backer/25/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/26/website" target="_blank"><img src="https://opencollective.com/debug/backer/26/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/27/website" target="_blank"><img src="https://opencollective.com/debug/backer/27/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/28/website" target="_blank"><img src="https://opencollective.com/debug/backer/28/avatar.svg"></a>
+<a href="https://opencollective.com/debug/backer/29/website" target="_blank"><img src="https://opencollective.com/debug/backer/29/avatar.svg"></a>
+
+
+## Sponsors
+
+Become a sponsor and get your logo on our README on Github with a link to your site. [[Become a sponsor](https://opencollective.com/debug#sponsor)]
+
+<a href="https://opencollective.com/debug/sponsor/0/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/0/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/1/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/1/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/2/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/2/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/3/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/3/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/4/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/4/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/5/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/5/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/6/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/6/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/7/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/7/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/8/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/8/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/9/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/9/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/10/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/10/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/11/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/11/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/12/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/12/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/13/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/13/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/14/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/14/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/15/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/15/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/16/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/16/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/17/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/17/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/18/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/18/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/19/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/19/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/20/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/20/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/21/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/21/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/22/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/22/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/23/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/23/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/24/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/24/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/25/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/25/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/26/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/26/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/27/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/27/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/28/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/28/avatar.svg"></a>
+<a href="https://opencollective.com/debug/sponsor/29/website" target="_blank"><img src="https://opencollective.com/debug/sponsor/29/avatar.svg"></a>
+
+## License
+
+(The MIT License)
+
+Copyright (c) 2014-2017 TJ Holowaychuk &lt;[email protected]&gt;
+Copyright (c) 2018-2021 Josh Junon
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/proxy-agent/node_modules/debug/package.json b/node_modules/proxy-agent/node_modules/debug/package.json
new file mode 100644
index 0000000..3bcdc24
--- /dev/null
+++ b/node_modules/proxy-agent/node_modules/debug/package.json
@@ -0,0 +1,59 @@
+{
+  "name": "debug",
+  "version": "4.3.4",
+  "repository": {
+    "type": "git",
+    "url": "git://github.com/debug-js/debug.git"
+  },
+  "description": "Lightweight debugging utility for Node.js and the browser",
+  "keywords": [
+    "debug",
+    "log",
+    "debugger"
+  ],
+  "files": [
+    "src",
+    "LICENSE",
+    "README.md"
+  ],
+  "author": "Josh Junon <[email protected]>",
+  "contributors": [
+    "TJ Holowaychuk <[email protected]>",
+    "Nathan Rajlich <[email protected]> (http://n8.io)",
+    "Andrew Rhyne <[email protected]>"
+  ],
+  "license": "MIT",
+  "scripts": {
+    "lint": "xo",
+    "test": "npm run test:node && npm run test:browser && npm run lint",
+    "test:node": "istanbul cover _mocha -- test.js",
+    "test:browser": "karma start --single-run",
+    "test:coverage": "cat ./coverage/lcov.info | coveralls"
+  },
+  "dependencies": {
+    "ms": "2.1.2"
+  },
+  "devDependencies": {
+    "brfs": "^2.0.1",
+    "browserify": "^16.2.3",
+    "coveralls": "^3.0.2",
+    "istanbul": "^0.4.5",
+    "karma": "^3.1.4",
+    "karma-browserify": "^6.0.0",
+    "karma-chrome-launcher": "^2.2.0",
+    "karma-mocha": "^1.3.0",
+    "mocha": "^5.2.0",
+    "mocha-lcov-reporter": "^1.2.0",
+    "xo": "^0.23.0"
+  },
+  "peerDependenciesMeta": {
+    "supports-color": {
+      "optional": true
+    }
+  },
+  "main": "./src/index.js",
+  "browser": "./src/browser.js",
+  "engines": {
+    "node": ">=6.0"
+  }
+}
diff --git a/node_modules/proxy-agent/node_modules/debug/src/browser.js b/node_modules/proxy-agent/node_modules/debug/src/browser.js
new file mode 100644
index 0000000..cd0fc35
--- /dev/null
+++ b/node_modules/proxy-agent/node_modules/debug/src/browser.js
@@ -0,0 +1,269 @@
+/* eslint-env browser */
+
+/**
+ * This is the web browser implementation of `debug()`.
+ */
+
+exports.formatArgs = formatArgs;
+exports.save = save;
+exports.load = load;
+exports.useColors = useColors;
+exports.storage = localstorage();
+exports.destroy = (() => {
+	let warned = false;
+
+	return () => {
+		if (!warned) {
+			warned = true;
+			console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
+		}
+	};
+})();
+
+/**
+ * Colors.
+ */
+
+exports.colors = [
+	'#0000CC',
+	'#0000FF',
+	'#0033CC',
+	'#0033FF',
+	'#0066CC',
+	'#0066FF',
+	'#0099CC',
+	'#0099FF',
+	'#00CC00',
+	'#00CC33',
+	'#00CC66',
+	'#00CC99',
+	'#00CCCC',
+	'#00CCFF',
+	'#3300CC',
+	'#3300FF',
+	'#3333CC',
+	'#3333FF',
+	'#3366CC',
+	'#3366FF',
+	'#3399CC',
+	'#3399FF',
+	'#33CC00',
+	'#33CC33',
+	'#33CC66',
+	'#33CC99',
+	'#33CCCC',
+	'#33CCFF',
+	'#6600CC',
+	'#6600FF',
+	'#6633CC',
+	'#6633FF',
+	'#66CC00',
+	'#66CC33',
+	'#9900CC',
+	'#9900FF',
+	'#9933CC',
+	'#9933FF',
+	'#99CC00',
+	'#99CC33',
+	'#CC0000',
+	'#CC0033',
+	'#CC0066',
+	'#CC0099',
+	'#CC00CC',
+	'#CC00FF',
+	'#CC3300',
+	'#CC3333',
+	'#CC3366',
+	'#CC3399',
+	'#CC33CC',
+	'#CC33FF',
+	'#CC6600',
+	'#CC6633',
+	'#CC9900',
+	'#CC9933',
+	'#CCCC00',
+	'#CCCC33',
+	'#FF0000',
+	'#FF0033',
+	'#FF0066',
+	'#FF0099',
+	'#FF00CC',
+	'#FF00FF',
+	'#FF3300',
+	'#FF3333',
+	'#FF3366',
+	'#FF3399',
+	'#FF33CC',
+	'#FF33FF',
+	'#FF6600',
+	'#FF6633',
+	'#FF9900',
+	'#FF9933',
+	'#FFCC00',
+	'#FFCC33'
+];
+
+/**
+ * Currently only WebKit-based Web Inspectors, Firefox >= v31,
+ * and the Firebug extension (any Firefox version) are known
+ * to support "%c" CSS customizations.
+ *
+ * TODO: add a `localStorage` variable to explicitly enable/disable colors
+ */
+
+// eslint-disable-next-line complexity
+function useColors() {
+	// NB: In an Electron preload script, document will be defined but not fully
+	// initialized. Since we know we're in Chrome, we'll just detect this case
+	// explicitly
+	if (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {
+		return true;
+	}
+
+	// Internet Explorer and Edge do not support colors.
+	if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
+		return false;
+	}
+
+	// Is webkit? http://stackoverflow.com/a/16459606/376773
+	// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632
+	return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||
+		// Is firebug? http://stackoverflow.com/a/398120/376773
+		(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||
+		// Is firefox >= v31?
+		// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
+		(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||
+		// Double check webkit in userAgent just in case we are in a worker
+		(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));
+}
+
+/**
+ * Colorize log arguments if enabled.
+ *
+ * @api public
+ */
+
+function formatArgs(args) {
+	args[0] = (this.useColors ? '%c' : '') +
+		this.namespace +
+		(this.useColors ? ' %c' : ' ') +
+		args[0] +
+		(this.useColors ? '%c ' : ' ') +
+		'+' + module.exports.humanize(this.diff);
+
+	if (!this.useColors) {
+		return;
+	}
+
+	const c = 'color: ' + this.color;
+	args.splice(1, 0, c, 'color: inherit');
+
+	// The final "%c" is somewhat tricky, because there could be other
+	// arguments passed either before or after the %c, so we need to
+	// figure out the correct index to insert the CSS into
+	let index = 0;
+	let lastC = 0;
+	args[0].replace(/%[a-zA-Z%]/g, match => {
+		if (match === '%%') {
+			return;
+		}
+		index++;
+		if (match === '%c') {
+			// We only are interested in the *last* %c
+			// (the user may have provided their own)
+			lastC = index;
+		}
+	});
+
+	args.splice(lastC, 0, c);
+}
+
+/**
+ * Invokes `console.debug()` when available.
+ * No-op when `console.debug` is not a "function".
+ * If `console.debug` is not available, falls back
+ * to `console.log`.
+ *
+ * @api public
+ */
+exports.log = console.debug || console.log || (() => {});
+
+/**
+ * Save `namespaces`.
+ *
+ * @param {String} namespaces
+ * @api private
+ */
+function save(namespaces) {
+	try {
+		if (namespaces) {
+			exports.storage.setItem('debug', namespaces);
+		} else {
+			exports.storage.removeItem('debug');
+		}
+	} catch (error) {
+		// Swallow
+		// XXX (@Qix-) should we be logging these?
+	}
+}
+
+/**
+ * Load `namespaces`.
+ *
+ * @return {String} returns the previously persisted debug modes
+ * @api private
+ */
+function load() {
+	let r;
+	try {
+		r = exports.storage.getItem('debug');
+	} catch (error) {
+		// Swallow
+		// XXX (@Qix-) should we be logging these?
+	}
+
+	// If debug isn't set in LS, and we're in Electron, try to load $DEBUG
+	if (!r && typeof process !== 'undefined' && 'env' in process) {
+		r = process.env.DEBUG;
+	}
+
+	return r;
+}
+
+/**
+ * Localstorage attempts to return the localstorage.
+ *
+ * This is necessary because safari throws
+ * when a user disables cookies/localstorage
+ * and you attempt to access it.
+ *
+ * @return {LocalStorage}
+ * @api private
+ */
+
+function localstorage() {
+	try {
+		// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context
+		// The Browser also has localStorage in the global context.
+		return localStorage;
+	} catch (error) {
+		// Swallow
+		// XXX (@Qix-) should we be logging these?
+	}
+}
+
+module.exports = require('./common')(exports);
+
+const {formatters} = module.exports;
+
+/**
+ * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.
+ */
+
+formatters.j = function (v) {
+	try {
+		return JSON.stringify(v);
+	} catch (error) {
+		return '[UnexpectedJSONParseError]: ' + error.message;
+	}
+};
diff --git a/node_modules/proxy-agent/node_modules/debug/src/common.js b/node_modules/proxy-agent/node_modules/debug/src/common.js
new file mode 100644
index 0000000..e3291b2
--- /dev/null
+++ b/node_modules/proxy-agent/node_modules/debug/src/common.js
@@ -0,0 +1,274 @@
+
+/**
+ * This is the common logic for both the Node.js and web browser
+ * implementations of `debug()`.
+ */
+
+function setup(env) {
+	createDebug.debug = createDebug;
+	createDebug.default = createDebug;
+	createDebug.coerce = coerce;
+	createDebug.disable = disable;
+	createDebug.enable = enable;
+	createDebug.enabled = enabled;
+	createDebug.humanize = require('ms');
+	createDebug.destroy = destroy;
+
+	Object.keys(env).forEach(key => {
+		createDebug[key] = env[key];
+	});
+
+	/**
+	* The currently active debug mode names, and names to skip.
+	*/
+
+	createDebug.names = [];
+	createDebug.skips = [];
+
+	/**
+	* Map of special "%n" handling functions, for the debug "format" argument.
+	*
+	* Valid key names are a single, lower or upper-case letter, i.e. "n" and "N".
+	*/
+	createDebug.formatters = {};
+
+	/**
+	* Selects a color for a debug namespace
+	* @param {String} namespace The namespace string for the debug instance to be colored
+	* @return {Number|String} An ANSI color code for the given namespace
+	* @api private
+	*/
+	function selectColor(namespace) {
+		let hash = 0;
+
+		for (let i = 0; i < namespace.length; i++) {
+			hash = ((hash << 5) - hash) + namespace.charCodeAt(i);
+			hash |= 0; // Convert to 32bit integer
+		}
+
+		return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
+	}
+	createDebug.selectColor = selectColor;
+
+	/**
+	* Create a debugger with the given `namespace`.
+	*
+	* @param {String} namespace
+	* @return {Function}
+	* @api public
+	*/
+	function createDebug(namespace) {
+		let prevTime;
+		let enableOverride = null;
+		let namespacesCache;
+		let enabledCache;
+
+		function debug(...args) {
+			// Disabled?
+			if (!debug.enabled) {
+				return;
+			}
+
+			const self = debug;
+
+			// Set `diff` timestamp
+			const curr = Number(new Date());
+			const ms = curr - (prevTime || curr);
+			self.diff = ms;
+			self.prev = prevTime;
+			self.curr = curr;
+			prevTime = curr;
+
+			args[0] = createDebug.coerce(args[0]);
+
+			if (typeof args[0] !== 'string') {
+				// Anything else let's inspect with %O
+				args.unshift('%O');
+			}
+
+			// Apply any `formatters` transformations
+			let index = 0;
+			args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
+				// If we encounter an escaped % then don't increase the array index
+				if (match === '%%') {
+					return '%';
+				}
+				index++;
+				const formatter = createDebug.formatters[format];
+				if (typeof formatter === 'function') {
+					const val = args[index];
+					match = formatter.call(self, val);
+
+					// Now we need to remove `args[index]` since it's inlined in the `format`
+					args.splice(index, 1);
+					index--;
+				}
+				return match;
+			});
+
+			// Apply env-specific formatting (colors, etc.)
+			createDebug.formatArgs.call(self, args);
+
+			const logFn = self.log || createDebug.log;
+			logFn.apply(self, args);
+		}
+
+		debug.namespace = namespace;
+		debug.useColors = createDebug.useColors();
+		debug.color = createDebug.selectColor(namespace);
+		debug.extend = extend;
+		debug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.
+
+		Object.defineProperty(debug, 'enabled', {
+			enumerable: true,
+			configurable: false,
+			get: () => {
+				if (enableOverride !== null) {
+					return enableOverride;
+				}
+				if (namespacesCache !== createDebug.namespaces) {
+					namespacesCache = createDebug.namespaces;
+					enabledCache = createDebug.enabled(namespace);
+				}
+
+				return enabledCache;
+			},
+			set: v => {
+				enableOverride = v;
+			}
+		});
+
+		// Env-specific initialization logic for debug instances
+		if (typeof createDebug.init === 'function') {
+			createDebug.init(debug);
+		}
+
+		return debug;
+	}
+
+	function extend(namespace, delimiter) {
+		const newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);
+		newDebug.log = this.log;
+		return newDebug;
+	}
+
+	/**
+	* Enables a debug mode by namespaces. This can include modes
+	* separated by a colon and wildcards.
+	*
+	* @param {String} namespaces
+	* @api public
+	*/
+	function enable(namespaces) {
+		createDebug.save(namespaces);
+		createDebug.namespaces = namespaces;
+
+		createDebug.names = [];
+		createDebug.skips = [];
+
+		let i;
+		const split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/);
+		const len = split.length;
+
+		for (i = 0; i < len; i++) {
+			if (!split[i]) {
+				// ignore empty strings
+				continue;
+			}
+
+			namespaces = split[i].replace(/\*/g, '.*?');
+
+			if (namespaces[0] === '-') {
+				createDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));
+			} else {
+				createDebug.names.push(new RegExp('^' + namespaces + '$'));
+			}
+		}
+	}
+
+	/**
+	* Disable debug output.
+	*
+	* @return {String} namespaces
+	* @api public
+	*/
+	function disable() {
+		const namespaces = [
+			...createDebug.names.map(toNamespace),
+			...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)
+		].join(',');
+		createDebug.enable('');
+		return namespaces;
+	}
+
+	/**
+	* Returns true if the given mode name is enabled, false otherwise.
+	*
+	* @param {String} name
+	* @return {Boolean}
+	* @api public
+	*/
+	function enabled(name) {
+		if (name[name.length - 1] === '*') {
+			return true;
+		}
+
+		let i;
+		let len;
+
+		for (i = 0, len = createDebug.skips.length; i < len; i++) {
+			if (createDebug.skips[i].test(name)) {
+				return false;
+			}
+		}
+
+		for (i = 0, len = createDebug.names.length; i < len; i++) {
+			if (createDebug.names[i].test(name)) {
+				return true;
+			}
+		}
+
+		return false;
+	}
+
+	/**
+	* Convert regexp to namespace
+	*
+	* @param {RegExp} regxep
+	* @return {String} namespace
+	* @api private
+	*/
+	function toNamespace(regexp) {
+		return regexp.toString()
+			.substring(2, regexp.toString().length - 2)
+			.replace(/\.\*\?$/, '*');
+	}
+
+	/**
+	* Coerce `val`.
+	*
+	* @param {Mixed} val
+	* @return {Mixed}
+	* @api private
+	*/
+	function coerce(val) {
+		if (val instanceof Error) {
+			return val.stack || val.message;
+		}
+		return val;
+	}
+
+	/**
+	* XXX DO NOT USE. This is a temporary stub function.
+	* XXX It WILL be removed in the next major release.
+	*/
+	function destroy() {
+		console.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');
+	}
+
+	createDebug.enable(createDebug.load());
+
+	return createDebug;
+}
+
+module.exports = setup;
diff --git a/node_modules/proxy-agent/node_modules/debug/src/index.js b/node_modules/proxy-agent/node_modules/debug/src/index.js
new file mode 100644
index 0000000..bf4c57f
--- /dev/null
+++ b/node_modules/proxy-agent/node_modules/debug/src/index.js
@@ -0,0 +1,10 @@
+/**
+ * Detect Electron renderer / nwjs process, which is node, but we should
+ * treat as a browser.
+ */
+
+if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) {
+	module.exports = require('./browser.js');
+} else {
+	module.exports = require('./node.js');
+}
diff --git a/node_modules/proxy-agent/node_modules/debug/src/node.js b/node_modules/proxy-agent/node_modules/debug/src/node.js
new file mode 100644
index 0000000..79bc085
--- /dev/null
+++ b/node_modules/proxy-agent/node_modules/debug/src/node.js
@@ -0,0 +1,263 @@
+/**
+ * Module dependencies.
+ */
+
+const tty = require('tty');
+const util = require('util');
+
+/**
+ * This is the Node.js implementation of `debug()`.
+ */
+
+exports.init = init;
+exports.log = log;
+exports.formatArgs = formatArgs;
+exports.save = save;
+exports.load = load;
+exports.useColors = useColors;
+exports.destroy = util.deprecate(
+	() => {},
+	'Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.'
+);
+
+/**
+ * Colors.
+ */
+
+exports.colors = [6, 2, 3, 4, 5, 1];
+
+try {
+	// Optional dependency (as in, doesn't need to be installed, NOT like optionalDependencies in package.json)
+	// eslint-disable-next-line import/no-extraneous-dependencies
+	const supportsColor = require('supports-color');
+
+	if (supportsColor && (supportsColor.stderr || supportsColor).level >= 2) {
+		exports.colors = [
+			20,
+			21,
+			26,
+			27,
+			32,
+			33,
+			38,
+			39,
+			40,
+			41,
+			42,
+			43,
+			44,
+			45,
+			56,
+			57,
+			62,
+			63,
+			68,
+			69,
+			74,
+			75,
+			76,
+			77,
+			78,
+			79,
+			80,
+			81,
+			92,
+			93,
+			98,
+			99,
+			112,
+			113,
+			128,
+			129,
+			134,
+			135,
+			148,
+			149,
+			160,
+			161,
+			162,
+			163,
+			164,
+			165,
+			166,
+			167,
+			168,
+			169,
+			170,
+			171,
+			172,
+			173,
+			178,
+			179,
+			184,
+			185,
+			196,
+			197,
+			198,
+			199,
+			200,
+			201,
+			202,
+			203,
+			204,
+			205,
+			206,
+			207,
+			208,
+			209,
+			214,
+			215,
+			220,
+			221
+		];
+	}
+} catch (error) {
+	// Swallow - we only care if `supports-color` is available; it doesn't have to be.
+}
+
+/**
+ * Build up the default `inspectOpts` object from the environment variables.
+ *
+ *   $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js
+ */
+
+exports.inspectOpts = Object.keys(process.env).filter(key => {
+	return /^debug_/i.test(key);
+}).reduce((obj, key) => {
+	// Camel-case
+	const prop = key
+		.substring(6)
+		.toLowerCase()
+		.replace(/_([a-z])/g, (_, k) => {
+			return k.toUpperCase();
+		});
+
+	// Coerce string value into JS value
+	let val = process.env[key];
+	if (/^(yes|on|true|enabled)$/i.test(val)) {
+		val = true;
+	} else if (/^(no|off|false|disabled)$/i.test(val)) {
+		val = false;
+	} else if (val === 'null') {
+		val = null;
+	} else {
+		val = Number(val);
+	}
+
+	obj[prop] = val;
+	return obj;
+}, {});
+
+/**
+ * Is stdout a TTY? Colored output is enabled when `true`.
+ */
+
+function useColors() {
+	return 'colors' in exports.inspectOpts ?
+		Boolean(exports.inspectOpts.colors) :
+		tty.isatty(process.stderr.fd);
+}
+
+/**
+ * Adds ANSI color escape codes if enabled.
+ *
+ * @api public
+ */
+
+function formatArgs(args) {
+	const {namespace: name, useColors} = this;
+
+	if (useColors) {
+		const c = this.color;
+		const colorCode = '\u001B[3' + (c < 8 ? c : '8;5;' + c);
+		const prefix = `  ${colorCode};1m${name} \u001B[0m`;
+
+		args[0] = prefix + args[0].split('\n').join('\n' + prefix);
+		args.push(colorCode + 'm+' + module.exports.humanize(this.diff) + '\u001B[0m');
+	} else {
+		args[0] = getDate() + name + ' ' + args[0];
+	}
+}
+
+function getDate() {
+	if (exports.inspectOpts.hideDate) {
+		return '';
+	}
+	return new Date().toISOString() + ' ';
+}
+
+/**
+ * Invokes `util.format()` with the specified arguments and writes to stderr.
+ */
+
+function log(...args) {
+	return process.stderr.write(util.format(...args) + '\n');
+}
+
+/**
+ * Save `namespaces`.
+ *
+ * @param {String} namespaces
+ * @api private
+ */
+function save(namespaces) {
+	if (namespaces) {
+		process.env.DEBUG = namespaces;
+	} else {
+		// If you set a process.env field to null or undefined, it gets cast to the
+		// string 'null' or 'undefined'. Just delete instead.
+		delete process.env.DEBUG;
+	}
+}
+
+/**
+ * Load `namespaces`.
+ *
+ * @return {String} returns the previously persisted debug modes
+ * @api private
+ */
+
+function load() {
+	return process.env.DEBUG;
+}
+
+/**
+ * Init logic for `debug` instances.
+ *
+ * Create a new `inspectOpts` object in case `useColors` is set
+ * differently for a particular `debug` instance.
+ */
+
+function init(debug) {
+	debug.inspectOpts = {};
+
+	const keys = Object.keys(exports.inspectOpts);
+	for (let i = 0; i < keys.length; i++) {
+		debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
+	}
+}
+
+module.exports = require('./common')(exports);
+
+const {formatters} = module.exports;
+
+/**
+ * Map %o to `util.inspect()`, all on a single line.
+ */
+
+formatters.o = function (v) {
+	this.inspectOpts.colors = this.useColors;
+	return util.inspect(v, this.inspectOpts)
+		.split('\n')
+		.map(str => str.trim())
+		.join(' ');
+};
+
+/**
+ * Map %O to `util.inspect()`, allowing multiple lines if needed.
+ */
+
+formatters.O = function (v) {
+	this.inspectOpts.colors = this.useColors;
+	return util.inspect(v, this.inspectOpts);
+};
diff --git a/node_modules/proxy-agent/node_modules/lru-cache/LICENSE b/node_modules/proxy-agent/node_modules/lru-cache/LICENSE
new file mode 100644
index 0000000..f785757
--- /dev/null
+++ b/node_modules/proxy-agent/node_modules/lru-cache/LICENSE
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) 2010-2023 Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/node_modules/proxy-agent/node_modules/lru-cache/README.md b/node_modules/proxy-agent/node_modules/lru-cache/README.md
new file mode 100644
index 0000000..f128330
--- /dev/null
+++ b/node_modules/proxy-agent/node_modules/lru-cache/README.md
@@ -0,0 +1,1117 @@
+# lru-cache
+
+A cache object that deletes the least-recently-used items.
+
+Specify a max number of the most recently used items that you
+want to keep, and this cache will keep that many of the most
+recently accessed items.
+
+This is not primarily a TTL cache, and does not make strong TTL
+guarantees. There is no preemptive pruning of expired items by
+default, but you _may_ set a TTL on the cache or on a single
+`set`. If you do so, it will treat expired items as missing, and
+delete them when fetched. If you are more interested in TTL
+caching than LRU caching, check out
+[@isaacs/ttlcache](http://npm.im/@isaacs/ttlcache).
+
+As of version 7, this is one of the most performant LRU
+implementations available in JavaScript, and supports a wide
+diversity of use cases. However, note that using some of the
+features will necessarily impact performance, by causing the
+cache to have to do more work. See the "Performance" section
+below.
+
+## Installation
+
+```bash
+npm install lru-cache --save
+```
+
+## Usage
+
+```js
+// hybrid module, either works
+import LRUCache from 'lru-cache'
+// or:
+const LRUCache = require('lru-cache')
+
+// At least one of 'max', 'ttl', or 'maxSize' is required, to prevent
+// unsafe unbounded storage.
+//
+// In most cases, it's best to specify a max for performance, so all
+// the required memory allocation is done up-front.
+//
+// All the other options are optional, see the sections below for
+// documentation on what each one does.  Most of them can be
+// overridden for specific items in get()/set()
+const options = {
+  max: 500,
+
+  // for use with tracking overall storage size
+  maxSize: 5000,
+  sizeCalculation: (value, key) => {
+    return 1
+  },
+
+  // for use when you need to clean up something when objects
+  // are evicted from the cache
+  dispose: (value, key) => {
+    freeFromMemoryOrWhatever(value)
+  },
+
+  // how long to live in ms
+  ttl: 1000 * 60 * 5,
+
+  // return stale items before removing from cache?
+  allowStale: false,
+
+  updateAgeOnGet: false,
+  updateAgeOnHas: false,
+
+  // async method to use for cache.fetch(), for
+  // stale-while-revalidate type of behavior
+  fetchMethod: async (key, staleValue, { options, signal }) => {},
+}
+
+const cache = new LRUCache(options)
+
+cache.set('key', 'value')
+cache.get('key') // "value"
+
+// non-string keys ARE fully supported
+// but note that it must be THE SAME object, not
+// just a JSON-equivalent object.
+var someObject = { a: 1 }
+cache.set(someObject, 'a value')
+// Object keys are not toString()-ed
+cache.set('[object Object]', 'a different value')
+assert.equal(cache.get(someObject), 'a value')
+// A similar object with same keys/values won't work,
+// because it's a different object identity
+assert.equal(cache.get({ a: 1 }), undefined)
+
+cache.clear() // empty the cache
+```
+
+If you put more stuff in it, then items will fall out.
+
+## Options
+
+### `max`
+
+The maximum number of items that remain in the cache (assuming no
+TTL pruning or explicit deletions). Note that fewer items may be
+stored if size calculation is used, and `maxSize` is exceeded.
+This must be a positive finite intger.
+
+At least one of `max`, `maxSize`, or `TTL` is required. This
+must be a positive integer if set.
+
+**It is strongly recommended to set a `max` to prevent unbounded
+growth of the cache.** See "Storage Bounds Safety" below.
+
+### `maxSize`
+
+Set to a positive integer to track the sizes of items added to
+the cache, and automatically evict items in order to stay below
+this size. Note that this may result in fewer than `max` items
+being stored.
+
+Attempting to add an item to the cache whose calculated size is
+greater that this amount will be a no-op. The item will not be
+cached, and no other items will be evicted.
+
+Optional, must be a positive integer if provided.
+
+Sets `maxEntrySize` to the same value, unless a different value
+is provided for `maxEntrySize`.
+
+At least one of `max`, `maxSize`, or `TTL` is required. This
+must be a positive integer if set.
+
+Even if size tracking is enabled, **it is strongly recommended to
+set a `max` to prevent unbounded growth of the cache.** See
+"Storage Bounds Safety" below.
+
+### `maxEntrySize`
+
+Set to a positive integer to track the sizes of items added to
+the cache, and prevent caching any item over a given size.
+Attempting to add an item whose calculated size is greater than
+this amount will be a no-op. The item will not be cached, and no
+other items will be evicted.
+
+Optional, must be a positive integer if provided. Defaults to
+the value of `maxSize` if provided.
+
+### `sizeCalculation`
+
+Function used to calculate the size of stored items. If you're
+storing strings or buffers, then you probably want to do
+something like `n => n.length`. The item is passed as the first
+argument, and the key is passed as the second argument.
+
+This may be overridden by passing an options object to
+`cache.set()`.
+
+Requires `maxSize` to be set.
+
+If the `size` (or return value of `sizeCalculation`) for a given
+entry is greater than `maxEntrySize`, then the item will not be
+added to the cache.
+
+Deprecated alias: `length`
+
+### `fetchMethod`
+
+Function that is used to make background asynchronous fetches.
+Called with `fetchMethod(key, staleValue, { signal, options,
+context })`. May return a Promise.
+
+If `fetchMethod` is not provided, then `cache.fetch(key)` is
+equivalent to `Promise.resolve(cache.get(key))`.
+
+The `signal` object is an `AbortSignal` if that's available in
+the global object, otherwise it's a pretty close polyfill.
+
+If at any time, `signal.aborted` is set to `true`, or if the
+`signal.onabort` method is called, or if it emits an `'abort'`
+event which you can listen to with `addEventListener`, then that
+means that the fetch should be abandoned. This may be passed
+along to async functions aware of AbortController/AbortSignal
+behavior.
+
+The `fetchMethod` should **only** return `undefined` or a Promise
+resolving to `undefined` if the AbortController signaled an
+`abort` event. In all other cases, it should return or resolve
+to a value suitable for adding to the cache.
+
+The `options` object is a union of the options that may be
+provided to `set()` and `get()`. If they are modified, then that
+will result in modifying the settings to `cache.set()` when the
+value is resolved, and in the case of `noDeleteOnFetchRejection`
+and `allowStaleOnFetchRejection`, the handling of `fetchMethod`
+failures.
+
+For example, a DNS cache may update the TTL based on the value
+returned from a remote DNS server by changing `options.ttl` in
+the `fetchMethod`.
+
+### `fetchContext`
+
+Arbitrary data that can be passed to the `fetchMethod` as the
+`context` option.
+
+Note that this will only be relevant when the `cache.fetch()`
+call needs to call `fetchMethod()`. Thus, any data which will
+meaningfully vary the fetch response needs to be present in the
+key. This is primarily intended for including `x-request-id`
+headers and the like for debugging purposes, which do not affect
+the `fetchMethod()` response.
+
+### `noDeleteOnFetchRejection`
+
+If a `fetchMethod` throws an error or returns a rejected promise,
+then by default, any existing stale value will be removed from
+the cache.
+
+If `noDeleteOnFetchRejection` is set to `true`, then this
+behavior is suppressed, and the stale value remains in the cache
+in the case of a rejected `fetchMethod`.
+
+This is important in cases where a `fetchMethod` is _only_ called
+as a background update while the stale value is returned, when
+`allowStale` is used.
+
+This is implicitly in effect when `allowStaleOnFetchRejection` is
+set.
+
+This may be set in calls to `fetch()`, or defaulted on the
+constructor, or overridden by modifying the options object in the
+`fetchMethod`.
+
+### `allowStaleOnFetchRejection`
+
+Set to true to return a stale value from the cache when a
+`fetchMethod` throws an error or returns a rejected Promise.
+
+If a `fetchMethod` fails, and there is no stale value available,
+the `fetch()` will resolve to `undefined`. Ie, all `fetchMethod`
+errors are suppressed.
+
+Implies `noDeleteOnFetchRejection`.
+
+This may be set in calls to `fetch()`, or defaulted on the
+constructor, or overridden by modifying the options object in the
+`fetchMethod`.
+
+### `allowStaleOnFetchAbort`
+
+Set to true to return a stale value from the cache when the
+`AbortSignal` passed to the `fetchMethod` dispatches an `'abort'`
+event, whether user-triggered, or due to internal cache behavior.
+
+Unless `ignoreFetchAbort` is also set, the underlying
+`fetchMethod` will still be considered canceled, and its return
+value will be ignored and not cached.
+
+### `ignoreFetchAbort`
+
+Set to true to ignore the `abort` event emitted by the
+`AbortSignal` object passed to `fetchMethod`, and still cache the
+resulting resolution value, as long as it is not `undefined`.
+
+When used on its own, this means aborted `fetch()` calls are not
+immediately resolved or rejected when they are aborted, and
+instead take the full time to await.
+
+When used with `allowStaleOnFetchAbort`, aborted `fetch()` calls
+will resolve immediately to their stale cached value or
+`undefined`, and will continue to process and eventually update
+the cache when they resolve, as long as the resulting value is
+not `undefined`, thus supporting a "return stale on timeout while
+refreshing" mechanism by passing `AbortSignal.timeout(n)` as the
+signal.
+
+For example:
+
+```js
+const c = new LRUCache({
+  ttl: 100,
+  ignoreFetchAbort: true,
+  allowStaleOnFetchAbort: true,
+  fetchMethod: async (key, oldValue, { signal }) => {
+    // note: do NOT pass the signal to fetch()!
+    // let's say this fetch can take a long time.
+    const res = await fetch(`https://slow-backend-server/${key}`)
+    return await res.json()
+  },
+})
+
+// this will return the stale value after 100ms, while still
+// updating in the background for next time.
+const val = await c.fetch('key', { signal: AbortSignal.timeout(100) })
+```
+
+**Note**: regardless of this setting, an `abort` event _is still
+emitted on the `AbortSignal` object_, so may result in invalid
+results when passed to other underlying APIs that use
+AbortSignals.
+
+This may be overridden on the `fetch()` call or in the
+`fetchMethod` itself.
+
+### `dispose`
+
+Function that is called on items when they are dropped from the
+cache, as `this.dispose(value, key, reason)`.
+
+This can be handy if you want to close file descriptors or do
+other cleanup tasks when items are no longer stored in the cache.
+
+**NOTE**: It is called _before_ the item has been fully removed
+from the cache, so if you want to put it right back in, you need
+to wait until the next tick. If you try to add it back in during
+the `dispose()` function call, it will break things in subtle and
+weird ways.
+
+Unlike several other options, this may _not_ be overridden by
+passing an option to `set()`, for performance reasons. If
+disposal functions may vary between cache entries, then the
+entire list must be scanned on every cache swap, even if no
+disposal function is in use.
+
+The `reason` will be one of the following strings, corresponding
+to the reason for the item's deletion:
+
+- `evict` Item was evicted to make space for a new addition
+- `set` Item was overwritten by a new value
+- `delete` Item was removed by explicit `cache.delete(key)` or by
+  calling `cache.clear()`, which deletes everything.
+
+The `dispose()` method is _not_ called for canceled calls to
+`fetchMethod()`. If you wish to handle evictions, overwrites,
+and deletes of in-flight asynchronous fetches, you must use the
+`AbortSignal` provided.
+
+Optional, must be a function.
+
+### `disposeAfter`
+
+The same as `dispose`, but called _after_ the entry is completely
+removed and the cache is once again in a clean state.
+
+It is safe to add an item right back into the cache at this
+point. However, note that it is _very_ easy to inadvertently
+create infinite recursion in this way.
+
+The `disposeAfter()` method is _not_ called for canceled calls to
+`fetchMethod()`. If you wish to handle evictions, overwrites,
+and deletes of in-flight asynchronous fetches, you must use the
+`AbortSignal` provided.
+
+### `noDisposeOnSet`
+
+Set to `true` to suppress calling the `dispose()` function if the
+entry key is still accessible within the cache.
+
+This may be overridden by passing an options object to
+`cache.set()`.
+
+Boolean, default `false`. Only relevant if `dispose` or
+`disposeAfter` options are set.
+
+### `ttl`
+
+Max time to live for items before they are considered stale.
+Note that stale items are NOT preemptively removed by default,
+and MAY live in the cache, contributing to its LRU max, long
+after they have expired.
+
+Also, as this cache is optimized for LRU/MRU operations, some of
+the staleness/TTL checks will reduce performance.
+
+This is not primarily a TTL cache, and does not make strong TTL
+guarantees. There is no pre-emptive pruning of expired items,
+but you _may_ set a TTL on the cache, and it will treat expired
+items as missing when they are fetched, and delete them.
+
+Optional, but must be a positive integer in ms if specified.
+
+This may be overridden by passing an options object to
+`cache.set()`.
+
+At least one of `max`, `maxSize`, or `TTL` is required. This
+must be a positive integer if set.
+
+Even if ttl tracking is enabled, **it is strongly recommended to
+set a `max` to prevent unbounded growth of the cache.** See
+"Storage Bounds Safety" below.
+
+If ttl tracking is enabled, and `max` and `maxSize` are not set,
+and `ttlAutopurge` is not set, then a warning will be emitted
+cautioning about the potential for unbounded memory consumption.
+
+Deprecated alias: `maxAge`
+
+### `noUpdateTTL`
+
+Boolean flag to tell the cache to not update the TTL when setting
+a new value for an existing key (ie, when updating a value rather
+than inserting a new value). Note that the TTL value is _always_
+set (if provided) when adding a new entry into the cache.
+
+This may be passed as an option to `cache.set()`.
+
+Boolean, default false.
+
+### `ttlResolution`
+
+Minimum amount of time in ms in which to check for staleness.
+Defaults to `1`, which means that the current time is checked at
+most once per millisecond.
+
+Set to `0` to check the current time every time staleness is
+tested.
+
+Note that setting this to a higher value _will_ improve
+performance somewhat while using ttl tracking, albeit at the
+expense of keeping stale items around a bit longer than intended.
+
+### `ttlAutopurge`
+
+Preemptively remove stale items from the cache.
+
+Note that this may _significantly_ degrade performance,
+especially if the cache is storing a large number of items. It
+is almost always best to just leave the stale items in the cache,
+and let them fall out as new items are added.
+
+Note that this means that `allowStale` is a bit pointless, as
+stale items will be deleted almost as soon as they expire.
+
+Use with caution!
+
+Boolean, default `false`
+
+### `allowStale`
+
+By default, if you set `ttl`, it'll only delete stale items from
+the cache when you `get(key)`. That is, it's not preemptively
+pruning items.
+
+If you set `allowStale:true`, it'll return the stale value as
+well as deleting it. If you don't set this, then it'll return
+`undefined` when you try to get a stale entry.
+
+Note that when a stale entry is fetched, _even if it is returned
+due to `allowStale` being set_, it is removed from the cache
+immediately. You can immediately put it back in the cache if you
+wish, thus resetting the TTL.
+
+This may be overridden by passing an options object to
+`cache.get()`. The `cache.has()` method will always return
+`false` for stale items.
+
+Boolean, default false, only relevant if `ttl` is set.
+
+Deprecated alias: `stale`
+
+### `noDeleteOnStaleGet`
+
+When using time-expiring entries with `ttl`, by default stale
+items will be removed from the cache when the key is accessed
+with `cache.get()`.
+
+Setting `noDeleteOnStaleGet` to `true` will cause stale items to
+remain in the cache, until they are explicitly deleted with
+`cache.delete(key)`, or retrieved with `noDeleteOnStaleGet` set
+to `false`.
+
+This may be overridden by passing an options object to
+`cache.get()`.
+
+Boolean, default false, only relevant if `ttl` is set.
+
+### `updateAgeOnGet`
+
+When using time-expiring entries with `ttl`, setting this to
+`true` will make each item's age reset to 0 whenever it is
+retrieved from cache with `get()`, causing it to not expire. (It
+can still fall out of cache based on recency of use, of course.)
+
+This may be overridden by passing an options object to
+`cache.get()`.
+
+Boolean, default false, only relevant if `ttl` is set.
+
+### `updateAgeOnHas`
+
+When using time-expiring entries with `ttl`, setting this to
+`true` will make each item's age reset to 0 whenever its presence
+in the cache is checked with `has()`, causing it to not expire.
+(It can still fall out of cache based on recency of use, of
+course.)
+
+This may be overridden by passing an options object to
+`cache.has()`.
+
+Boolean, default false, only relevant if `ttl` is set.
+
+## API
+
+### `new LRUCache(options)`
+
+Create a new LRUCache. All options are documented above, and are
+on the cache as public members.
+
+### `cache.max`, `cache.maxSize`, `cache.allowStale`,
+
+`cache.noDisposeOnSet`, `cache.sizeCalculation`, `cache.dispose`,
+`cache.maxSize`, `cache.ttl`, `cache.updateAgeOnGet`,
+`cache.updateAgeOnHas`
+
+All option names are exposed as public members on the cache
+object.
+
+These are intended for read access only. Changing them during
+program operation can cause undefined behavior.
+
+### `cache.size`
+
+The total number of items held in the cache at the current
+moment.
+
+### `cache.calculatedSize`
+
+The total size of items in cache when using size tracking.
+
+### `set(key, value, [{ size, sizeCalculation, ttl, noDisposeOnSet, start, status }])`
+
+Add a value to the cache.
+
+Optional options object may contain `ttl` and `sizeCalculation`
+as described above, which default to the settings on the cache
+object.
+
+If `start` is provided, then that will set the effective start
+time for the TTL calculation. Note that this must be a previous
+value of `performance.now()` if supported, or a previous value of
+`Date.now()` if not.
+
+Options object may also include `size`, which will prevent
+calling the `sizeCalculation` function and just use the specified
+number if it is a positive integer, and `noDisposeOnSet` which
+will prevent calling a `dispose` function in the case of
+overwrites.
+
+If the `size` (or return value of `sizeCalculation`) for a given
+entry is greater than `maxEntrySize`, then the item will not be
+added to the cache.
+
+Will update the recency of the entry.
+
+Returns the cache object.
+
+For the usage of the `status` option, see **Status Tracking**
+below.
+
+### `get(key, { updateAgeOnGet, allowStale, status } = {}) => value`
+
+Return a value from the cache.
+
+Will update the recency of the cache entry found.
+
+If the key is not found, `get()` will return `undefined`. This
+can be confusing when setting values specifically to `undefined`,
+as in `cache.set(key, undefined)`. Use `cache.has()` to
+determine whether a key is present in the cache at all.
+
+For the usage of the `status` option, see **Status Tracking**
+below.
+
+### `async fetch(key, options = {}) => Promise`
+
+The following options are supported:
+
+- `updateAgeOnGet`
+- `allowStale`
+- `size`
+- `sizeCalculation`
+- `ttl`
+- `noDisposeOnSet`
+- `forceRefresh`
+- `status` - See **Status Tracking** below.
+- `signal` - AbortSignal can be used to cancel the `fetch()`.
+  Note that the `signal` option provided to the `fetchMethod` is
+  a different object, because it must also respond to internal
+  cache state changes, but aborting this signal will abort the
+  one passed to `fetchMethod` as well.
+- `fetchContext` - sets the `context` option passed to the
+  underlying `fetchMethod`.
+
+If the value is in the cache and not stale, then the returned
+Promise resolves to the value.
+
+If not in the cache, or beyond its TTL staleness, then
+`fetchMethod(key, staleValue, { options, signal, context })` is
+called, and the value returned will be added to the cache once
+resolved.
+
+If called with `allowStale`, and an asynchronous fetch is
+currently in progress to reload a stale value, then the former
+stale value will be returned.
+
+If called with `forceRefresh`, then the cached item will be
+re-fetched, even if it is not stale. However, if `allowStale` is
+set, then the old value will still be returned. This is useful
+in cases where you want to force a reload of a cached value. If
+a background fetch is already in progress, then `forceRefresh`
+has no effect.
+
+Multiple fetches for the same `key` will only call `fetchMethod`
+a single time, and all will be resolved when the value is
+resolved, even if different options are used.
+
+If `fetchMethod` is not specified, then this is effectively an
+alias for `Promise.resolve(cache.get(key))`.
+
+When the fetch method resolves to a value, if the fetch has not
+been aborted due to deletion, eviction, or being overwritten,
+then it is added to the cache using the options provided.
+
+If the key is evicted or deleted before the `fetchMethod`
+resolves, then the AbortSignal passed to the `fetchMethod` will
+receive an `abort` event, and the promise returned by `fetch()`
+will reject with the reason for the abort.
+
+If a `signal` is passed to the `fetch()` call, then aborting the
+signal will abort the fetch and cause the `fetch()` promise to
+reject with the reason provided.
+
+### `peek(key, { allowStale } = {}) => value`
+
+Like `get()` but doesn't update recency or delete stale items.
+
+Returns `undefined` if the item is stale, unless `allowStale` is
+set either on the cache or in the options object.
+
+### `has(key, { updateAgeOnHas, status } = {}) => Boolean`
+
+Check if a key is in the cache, without updating the recency of
+use. Age is updated if `updateAgeOnHas` is set to `true` in
+either the options or the constructor.
+
+Will return `false` if the item is stale, even though it is
+technically in the cache.  The difference can be determined (if
+it matters) by using a `status` argument, and inspecting the
+`has` field.
+
+For the usage of the `status` option, see **Status Tracking**
+below.
+
+### `delete(key)`
+
+Deletes a key out of the cache.
+
+Returns `true` if the key was deleted, `false` otherwise.
+
+### `clear()`
+
+Clear the cache entirely, throwing away all values.
+
+Deprecated alias: `reset()`
+
+### `keys()`
+
+Return a generator yielding the keys in the cache, in order from
+most recently used to least recently used.
+
+### `rkeys()`
+
+Return a generator yielding the keys in the cache, in order from
+least recently used to most recently used.
+
+### `values()`
+
+Return a generator yielding the values in the cache, in order
+from most recently used to least recently used.
+
+### `rvalues()`
+
+Return a generator yielding the values in the cache, in order
+from least recently used to most recently used.
+
+### `entries()`
+
+Return a generator yielding `[key, value]` pairs, in order from
+most recently used to least recently used.
+
+### `rentries()`
+
+Return a generator yielding `[key, value]` pairs, in order from
+least recently used to most recently used.
+
+### `find(fn, [getOptions])`
+
+Find a value for which the supplied `fn` method returns a truthy
+value, similar to `Array.find()`.
+
+`fn` is called as `fn(value, key, cache)`.
+
+The optional `getOptions` are applied to the resulting `get()` of
+the item found.
+
+### `dump()`
+
+Return an array of `[key, entry]` objects which can be passed to
+`cache.load()`
+
+The `start` fields are calculated relative to a portable
+`Date.now()` timestamp, even if `performance.now()` is available.
+
+Stale entries are always included in the `dump`, even if
+`allowStale` is false.
+
+Note: this returns an actual array, not a generator, so it can be
+more easily passed around.
+
+### `load(entries)`
+
+Reset the cache and load in the items in `entries` in the order
+listed. Note that the shape of the resulting cache may be
+different if the same options are not used in both caches.
+
+The `start` fields are assumed to be calculated relative to a
+portable `Date.now()` timestamp, even if `performance.now()` is
+available.
+
+### `purgeStale()`
+
+Delete any stale entries. Returns `true` if anything was
+removed, `false` otherwise.
+
+Deprecated alias: `prune`
+
+### `getRemainingTTL(key)`
+
+Return the number of ms left in the item's TTL. If item is not
+in cache, returns `0`. Returns `Infinity` if item is in cache
+without a defined TTL.
+
+### `forEach(fn, [thisp])`
+
+Call the `fn` function with each set of `fn(value, key, cache)`
+in the LRU cache, from most recent to least recently used.
+
+Does not affect recency of use.
+
+If `thisp` is provided, function will be called in the
+`this`-context of the provided object.
+
+### `rforEach(fn, [thisp])`
+
+Same as `cache.forEach(fn, thisp)`, but in order from least
+recently used to most recently used.
+
+### `pop()`
+
+Evict the least recently used item, returning its value.
+
+Returns `undefined` if cache is empty.
+
+### Internal Methods and Properties
+
+In order to optimize performance as much as possible, "private"
+members and methods are exposed on the object as normal
+properties, rather than being accessed via Symbols, private
+members, or closure variables.
+
+**Do not use or rely on these.** They will change or be removed
+without notice. They will cause undefined behavior if used
+inappropriately. There is no need or reason to ever call them
+directly.
+
+This documentation is here so that it is especially clear that
+this not "undocumented" because someone forgot; it _is_
+documented, and the documentation is telling you not to do it.
+
+**Do not report bugs that stem from using these properties.**
+They will be ignored.
+
+- `initializeTTLTracking()` Set up the cache for tracking TTLs
+- `updateItemAge(index)` Called when an item age is updated, by
+  internal ID
+- `setItemTTL(index)` Called when an item ttl is updated, by
+  internal ID
+- `isStale(index)` Called to check an item's staleness, by
+  internal ID
+- `initializeSizeTracking()` Set up the cache for tracking item
+  size. Called automatically when a size is specified.
+- `removeItemSize(index)` Updates the internal size calculation
+  when an item is removed or modified, by internal ID
+- `addItemSize(index)` Updates the internal size calculation when
+  an item is added or modified, by internal ID
+- `indexes()` An iterator over the non-stale internal IDs, from
+  most recently to least recently used.
+- `rindexes()` An iterator over the non-stale internal IDs, from
+  least recently to most recently used.
+- `newIndex()` Create a new internal ID, either reusing a deleted
+  ID, evicting the least recently used ID, or walking to the end
+  of the allotted space.
+- `evict()` Evict the least recently used internal ID, returning
+  its ID. Does not do any bounds checking.
+- `connect(p, n)` Connect the `p` and `n` internal IDs in the
+  linked list.
+- `moveToTail(index)` Move the specified internal ID to the most
+  recently used position.
+- `keyMap` Map of keys to internal IDs
+- `keyList` List of keys by internal ID
+- `valList` List of values by internal ID
+- `sizes` List of calculated sizes by internal ID
+- `ttls` List of TTL values by internal ID
+- `starts` List of start time values by internal ID
+- `next` Array of "next" pointers by internal ID
+- `prev` Array of "previous" pointers by internal ID
+- `head` Internal ID of least recently used item
+- `tail` Internal ID of most recently used item
+- `free` Stack of deleted internal IDs
+
+## Status Tracking
+
+Occasionally, it may be useful to track the internal behavior of
+the cache, particularly for logging, debugging, or for behavior
+within the `fetchMethod`.  To do this, you can pass a `status`
+object to the `get()`, `set()`, `has()`, and `fetch()` methods.
+
+The `status` option should be a plain JavaScript object.
+
+The following fields will be set appropriately:
+
+```ts
+interface Status<V> {
+  /**
+   * The status of a set() operation.
+   *
+   * - add: the item was not found in the cache, and was added
+   * - update: the item was in the cache, with the same value provided
+   * - replace: the item was in the cache, and replaced
+   * - miss: the item was not added to the cache for some reason
+   */
+  set?: 'add' | 'update' | 'replace' | 'miss'
+
+  /**
+   * the ttl stored for the item, or undefined if ttls are not used.
+   */
+  ttl?: LRUMilliseconds
+
+  /**
+   * the start time for the item, or undefined if ttls are not used.
+   */
+  start?: LRUMilliseconds
+
+  /**
+   * The timestamp used for TTL calculation
+   */
+  now?: LRUMilliseconds
+
+  /**
+   * the remaining ttl for the item, or undefined if ttls are not used.
+   */
+  remainingTTL?: LRUMilliseconds
+
+  /**
+   * The calculated size for the item, if sizes are used.
+   */
+  size?: LRUSize
+
+  /**
+   * A flag indicating that the item was not stored, due to exceeding the
+   * {@link maxEntrySize}
+   */
+  maxEntrySizeExceeded?: true
+
+  /**
+   * The old value, specified in the case of `set:'update'` or
+   * `set:'replace'`
+   */
+  oldValue?: V
+
+  /**
+   * The results of a {@link has} operation
+   *
+   * - hit: the item was found in the cache
+   * - stale: the item was found in the cache, but is stale
+   * - miss: the item was not found in the cache
+   */
+  has?: 'hit' | 'stale' | 'miss'
+
+  /**
+   * The status of a {@link fetch} operation.
+   * Note that this can change as the underlying fetch() moves through
+   * various states.
+   *
+   * - inflight: there is another fetch() for this key which is in process
+   * - get: there is no fetchMethod, so {@link get} was called.
+   * - miss: the item is not in cache, and will be fetched.
+   * - hit: the item is in the cache, and was resolved immediately.
+   * - stale: the item is in the cache, but stale.
+   * - refresh: the item is in the cache, and not stale, but
+   *   {@link forceRefresh} was specified.
+   */
+  fetch?: 'get' | 'inflight' | 'miss' | 'hit' | 'stale' | 'refresh'
+
+  /**
+   * The {@link fetchMethod} was called
+   */
+  fetchDispatched?: true
+
+  /**
+   * The cached value was updated after a successful call to fetchMethod
+   */
+  fetchUpdated?: true
+
+  /**
+   * The reason for a fetch() rejection.  Either the error raised by the
+   * {@link fetchMethod}, or the reason for an AbortSignal.
+   */
+  fetchError?: Error
+
+  /**
+   * The fetch received an abort signal
+   */
+  fetchAborted?: true
+
+  /**
+   * The abort signal received was ignored, and the fetch was allowed to
+   * continue.
+   */
+  fetchAbortIgnored?: true
+
+  /**
+   * The fetchMethod promise resolved successfully
+   */
+  fetchResolved?: true
+
+  /**
+   * The results of the fetchMethod promise were stored in the cache
+   */
+  fetchUpdated?: true
+
+  /**
+   * The fetchMethod promise was rejected
+   */
+  fetchRejected?: true
+
+  /**
+   * The status of a {@link get} operation.
+   *
+   * - fetching: The item is currently being fetched.  If a previous value is
+   *   present and allowed, that will be returned.
+   * - stale: The item is in the cache, and is stale.
+   * - hit: the item is in the cache
+   * - miss: the item is not in the cache
+   */
+  get?: 'stale' | 'hit' | 'miss'
+
+  /**
+   * A fetch or get operation returned a stale value.
+   */
+  returnedStale?: true
+}
+```
+
+## Storage Bounds Safety
+
+This implementation aims to be as flexible as possible, within
+the limits of safe memory consumption and optimal performance.
+
+At initial object creation, storage is allocated for `max` items.
+If `max` is set to zero, then some performance is lost, and item
+count is unbounded. Either `maxSize` or `ttl` _must_ be set if
+`max` is not specified.
+
+If `maxSize` is set, then this creates a safe limit on the
+maximum storage consumed, but without the performance benefits of
+pre-allocation. When `maxSize` is set, every item _must_ provide
+a size, either via the `sizeCalculation` method provided to the
+constructor, or via a `size` or `sizeCalculation` option provided
+to `cache.set()`. The size of every item _must_ be a positive
+integer.
+
+If neither `max` nor `maxSize` are set, then `ttl` tracking must
+be enabled. Note that, even when tracking item `ttl`, items are
+_not_ preemptively deleted when they become stale, unless
+`ttlAutopurge` is enabled. Instead, they are only purged the
+next time the key is requested. Thus, if `ttlAutopurge`, `max`,
+and `maxSize` are all not set, then the cache will potentially
+grow unbounded.
+
+In this case, a warning is printed to standard error. Future
+versions may require the use of `ttlAutopurge` if `max` and
+`maxSize` are not specified.
+
+If you truly wish to use a cache that is bound _only_ by TTL
+expiration, consider using a `Map` object, and calling
+`setTimeout` to delete entries when they expire. It will perform
+much better than an LRU cache.
+
+Here is an implementation you may use, under the same
+[license](./LICENSE) as this package:
+
+```js
+// a storage-unbounded ttl cache that is not an lru-cache
+const cache = {
+  data: new Map(),
+  timers: new Map(),
+  set: (k, v, ttl) => {
+    if (cache.timers.has(k)) {
+      clearTimeout(cache.timers.get(k))
+    }
+    cache.timers.set(
+      k,
+      setTimeout(() => cache.delete(k), ttl)
+    )
+    cache.data.set(k, v)
+  },
+  get: k => cache.data.get(k),
+  has: k => cache.data.has(k),
+  delete: k => {
+    if (cache.timers.has(k)) {
+      clearTimeout(cache.timers.get(k))
+    }
+    cache.timers.delete(k)
+    return cache.data.delete(k)
+  },
+  clear: () => {
+    cache.data.clear()
+    for (const v of cache.timers.values()) {
+      clearTimeout(v)
+    }
+    cache.timers.clear()
+  },
+}
+```
+
+If that isn't to your liking, check out
+[@isaacs/ttlcache](http://npm.im/@isaacs/ttlcache).
+
+## Performance
+
+As of January 2022, version 7 of this library is one of the most
+performant LRU cache implementations in JavaScript.
+
+Benchmarks can be extremely difficult to get right. In
+particular, the performance of set/get/delete operations on
+objects will vary _wildly_ depending on the type of key used. V8
+is highly optimized for objects with keys that are short strings,
+especially integer numeric strings. Thus any benchmark which
+tests _solely_ using numbers as keys will tend to find that an
+object-based approach performs the best.
+
+Note that coercing _anything_ to strings to use as object keys is
+unsafe, unless you can be 100% certain that no other type of
+value will be used. For example:
+
+```js
+const myCache = {}
+const set = (k, v) => (myCache[k] = v)
+const get = k => myCache[k]
+
+set({}, 'please hang onto this for me')
+set('[object Object]', 'oopsie')
+```
+
+Also beware of "Just So" stories regarding performance. Garbage
+collection of large (especially: deep) object graphs can be
+incredibly costly, with several "tipping points" where it
+increases exponentially. As a result, putting that off until
+later can make it much worse, and less predictable. If a library
+performs well, but only in a scenario where the object graph is
+kept shallow, then that won't help you if you are using large
+objects as keys.
+
+In general, when attempting to use a library to improve
+performance (such as a cache like this one), it's best to choose
+an option that will perform well in the sorts of scenarios where
+you'll actually use it.
+
+This library is optimized for repeated gets and minimizing
+eviction time, since that is the expected need of a LRU. Set
+operations are somewhat slower on average than a few other
+options, in part because of that optimization. It is assumed
+that you'll be caching some costly operation, ideally as rarely
+as possible, so optimizing set over get would be unwise.
+
+If performance matters to you:
+
+1. If it's at all possible to use small integer values as keys,
+   and you can guarantee that no other types of values will be
+   used as keys, then do that, and use a cache such as
+   [lru-fast](https://npmjs.com/package/lru-fast), or
+   [mnemonist's
+   LRUCache](https://yomguithereal.github.io/mnemonist/lru-cache)
+   which uses an Object as its data store.
+2. Failing that, if at all possible, use short non-numeric
+   strings (ie, less than 256 characters) as your keys, and use
+   [mnemonist's
+   LRUCache](https://yomguithereal.github.io/mnemonist/lru-cache).
+3. If the types of your keys will be long strings, strings that
+   look like floats, `null`, objects, or some mix of types, or if
+   you aren't sure, then this library will work well for you.
+4. Do not use a `dispose` function, size tracking, or especially
+   ttl behavior, unless absolutely needed. These features are
+   convenient, and necessary in some use cases, and every attempt
+   has been made to make the performance impact minimal, but it
+   isn't nothing.
+
+## Breaking Changes in Version 7
+
+This library changed to a different algorithm and internal data
+structure in version 7, yielding significantly better
+performance, albeit with some subtle changes as a result.
+
+If you were relying on the internals of LRUCache in version 6 or
+before, it probably will not work in version 7 and above.
+
+For more info, see the [change log](CHANGELOG.md).
diff --git a/node_modules/proxy-agent/node_modules/lru-cache/index.d.ts b/node_modules/proxy-agent/node_modules/lru-cache/index.d.ts
new file mode 100644
index 0000000..b58395e
--- /dev/null
+++ b/node_modules/proxy-agent/node_modules/lru-cache/index.d.ts
@@ -0,0 +1,869 @@
+// Project: https://github.com/isaacs/node-lru-cache
+// Based initially on @types/lru-cache
+// https://github.com/DefinitelyTyped/DefinitelyTyped
+// used under the terms of the MIT License, shown below.
+//
+// DefinitelyTyped license:
+// ------
+// MIT License
+//
+// Copyright (c) Microsoft Corporation.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the "Software"),
+// to deal in the Software without restriction, including without limitation
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+// and/or sell copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE
+// ------
+//
+// Changes by Isaac Z. Schlueter released under the terms found in the
+// LICENSE file within this project.
+
+/**
+ * Integer greater than 0, representing some number of milliseconds, or the
+ * time at which a TTL started counting from.
+ */
+declare type LRUMilliseconds = number
+
+/**
+ * An integer greater than 0, reflecting the calculated size of items
+ */
+declare type LRUSize = number
+
+/**
+ * An integer greater than 0, reflecting a number of items
+ */
+declare type LRUCount = number
+
+declare class LRUCache<K, V> implements Iterable<[K, V]> {
+  constructor(options: LRUCache.Options<K, V>)
+
+  /**
+   * Number of items in the cache.
+   * Alias for {@link size}
+   *
+   * @deprecated since 7.0 use {@link size} instead
+   */
+  public readonly length: LRUCount
+
+  public readonly max: LRUCount
+  public readonly maxSize: LRUSize
+  public readonly maxEntrySize: LRUSize
+  public readonly sizeCalculation:
+    | LRUCache.SizeCalculator<K, V>
+    | undefined
+  public readonly dispose: LRUCache.Disposer<K, V>
+  /**
+   * @since 7.4.0
+   */
+  public readonly disposeAfter: LRUCache.Disposer<K, V> | null
+  public readonly noDisposeOnSet: boolean
+  public readonly ttl: LRUMilliseconds
+  public readonly ttlResolution: LRUMilliseconds
+  public readonly ttlAutopurge: boolean
+  public readonly allowStale: boolean
+  public readonly updateAgeOnGet: boolean
+  /**
+   * @since 7.11.0
+   */
+  public readonly noDeleteOnStaleGet: boolean
+  /**
+   * @since 7.6.0
+   */
+  public readonly fetchMethod: LRUCache.Fetcher<K, V> | null
+
+  /**
+   * The total number of items held in the cache at the current moment.
+   */
+  public readonly size: LRUCount
+
+  /**
+   * The total size of items in cache when using size tracking.
+   */
+  public readonly calculatedSize: LRUSize
+
+  /**
+   * Add a value to the cache.
+   */
+  public set(
+    key: K,
+    value: V,
+    options?: LRUCache.SetOptions<K, V>
+  ): this
+
+  /**
+   * Return a value from the cache. Will update the recency of the cache entry
+   * found.
+   *
+   * If the key is not found, {@link get} will return `undefined`. This can be
+   * confusing when setting values specifically to `undefined`, as in
+   * `cache.set(key, undefined)`. Use {@link has} to determine whether a key is
+   * present in the cache at all.
+   */
+  public get(key: K, options?: LRUCache.GetOptions<V>): V | undefined
+
+  /**
+   * Like {@link get} but doesn't update recency or delete stale items.
+   * Returns `undefined` if the item is stale, unless {@link allowStale} is set
+   * either on the cache or in the options object.
+   */
+  public peek(key: K, options?: LRUCache.PeekOptions): V | undefined
+
+  /**
+   * Check if a key is in the cache, without updating the recency of use.
+   * Will return false if the item is stale, even though it is technically
+   * in the cache.
+   *
+   * Will not update item age unless {@link updateAgeOnHas} is set in the
+   * options or constructor.
+   */
+  public has(key: K, options?: LRUCache.HasOptions<V>): boolean
+
+  /**
+   * Deletes a key out of the cache.
+   * Returns true if the key was deleted, false otherwise.
+   */
+  public delete(key: K): boolean
+
+  /**
+   * Clear the cache entirely, throwing away all values.
+   */
+  public clear(): void
+
+  /**
+   * Delete any stale entries. Returns true if anything was removed, false
+   * otherwise.
+   */
+  public purgeStale(): boolean
+
+  /**
+   * Find a value for which the supplied fn method returns a truthy value,
+   * similar to Array.find().  fn is called as fn(value, key, cache).
+   */
+  public find(
+    callbackFn: (
+      value: V,
+      key: K,
+      cache: this
+    ) => boolean | undefined | void,
+    options?: LRUCache.GetOptions<V>
+  ): V | undefined
+
+  /**
+   * Call the supplied function on each item in the cache, in order from
+   * most recently used to least recently used.  fn is called as
+   * fn(value, key, cache).  Does not update age or recenty of use.
+   */
+  public forEach<T = this>(
+    callbackFn: (this: T, value: V, key: K, cache: this) => void,
+    thisArg?: T
+  ): void
+
+  /**
+   * The same as {@link forEach} but items are iterated over in reverse
+   * order.  (ie, less recently used items are iterated over first.)
+   */
+  public rforEach<T = this>(
+    callbackFn: (this: T, value: V, key: K, cache: this) => void,
+    thisArg?: T
+  ): void
+
+  /**
+   * Return a generator yielding the keys in the cache,
+   * in order from most recently used to least recently used.
+   */
+  public keys(): Generator<K, void, void>
+
+  /**
+   * Inverse order version of {@link keys}
+   *
+   * Return a generator yielding the keys in the cache,
+   * in order from least recently used to most recently used.
+   */
+  public rkeys(): Generator<K, void, void>
+
+  /**
+   * Return a generator yielding the values in the cache,
+   * in order from most recently used to least recently used.
+   */
+  public values(): Generator<V, void, void>
+
+  /**
+   * Inverse order version of {@link values}
+   *
+   * Return a generator yielding the values in the cache,
+   * in order from least recently used to most recently used.
+   */
+  public rvalues(): Generator<V, void, void>
+
+  /**
+   * Return a generator yielding `[key, value]` pairs,
+   * in order from most recently used to least recently used.
+   */
+  public entries(): Generator<[K, V], void, void>
+
+  /**
+   * Inverse order version of {@link entries}
+   *
+   * Return a generator yielding `[key, value]` pairs,
+   * in order from least recently used to most recently used.
+   */
+  public rentries(): Generator<[K, V], void, void>
+
+  /**
+   * Iterating over the cache itself yields the same results as
+   * {@link entries}
+   */
+  public [Symbol.iterator](): Generator<[K, V], void, void>
+
+  /**
+   * Return an array of [key, entry] objects which can be passed to
+   * cache.load()
+   */
+  public dump(): Array<[K, LRUCache.Entry<V>]>
+
+  /**
+   * Reset the cache and load in the items in entries in the order listed.
+   * Note that the shape of the resulting cache may be different if the
+   * same options are not used in both caches.
+   */
+  public load(
+    cacheEntries: ReadonlyArray<[K, LRUCache.Entry<V>]>
+  ): void
+
+  /**
+   * Evict the least recently used item, returning its value or `undefined`
+   * if cache is empty.
+   */
+  public pop(): V | undefined
+
+  /**
+   * Deletes a key out of the cache.
+   *
+   * @deprecated since 7.0 use delete() instead
+   */
+  public del(key: K): boolean
+
+  /**
+   * Clear the cache entirely, throwing away all values.
+   *
+   * @deprecated since 7.0 use clear() instead
+   */
+  public reset(): void
+
+  /**
+   * Manually iterates over the entire cache proactively pruning old entries.
+   *
+   * @deprecated since 7.0 use purgeStale() instead
+   */
+  public prune(): boolean
+
+  /**
+   * Make an asynchronous cached fetch using the {@link fetchMethod} function.
+   *
+   * If multiple fetches for the same key are issued, then they will all be
+   * coalesced into a single call to fetchMethod.
+   *
+   * Note that this means that handling options such as
+   * {@link allowStaleOnFetchAbort}, {@link signal}, and
+   * {@link allowStaleOnFetchRejection} will be determined by the FIRST fetch()
+   * call for a given key.
+   *
+   * This is a known (fixable) shortcoming which will be addresed on when
+   * someone complains about it, as the fix would involve added complexity and
+   * may not be worth the costs for this edge case.
+   *
+   * since: 7.6.0
+   */
+  public fetch(
+    key: K,
+    options?: LRUCache.FetchOptions<K, V>
+  ): Promise<V>
+
+  /**
+   * since: 7.6.0
+   */
+  public getRemainingTTL(key: K): LRUMilliseconds
+}
+
+declare namespace LRUCache {
+  type DisposeReason = 'evict' | 'set' | 'delete'
+
+  type SizeCalculator<K, V> = (value: V, key: K) => LRUSize
+  type Disposer<K, V> = (
+    value: V,
+    key: K,
+    reason: DisposeReason
+  ) => void
+  type Fetcher<K, V> = (
+    key: K,
+    staleValue: V | undefined,
+    options: FetcherOptions<K, V>
+  ) => Promise<V | void | undefined> | V | void | undefined
+
+  interface DeprecatedOptions<K, V> {
+    /**
+     * alias for ttl
+     *
+     * @deprecated since 7.0 use options.ttl instead
+     */
+    maxAge?: LRUMilliseconds
+
+    /**
+     * alias for {@link sizeCalculation}
+     *
+     * @deprecated since 7.0 use {@link sizeCalculation} instead
+     */
+    length?: SizeCalculator<K, V>
+
+    /**
+     * alias for allowStale
+     *
+     * @deprecated since 7.0 use options.allowStale instead
+     */
+    stale?: boolean
+  }
+
+  interface LimitedByCount {
+    /**
+     * The number of most recently used items to keep.
+     * Note that we may store fewer items than this if maxSize is hit.
+     */
+    max: LRUCount
+  }
+
+  type MaybeMaxEntrySizeLimit<K, V> =
+    | {
+        /**
+         * The maximum allowed size for any single item in the cache.
+         *
+         * If a larger item is passed to {@link set} or returned by a
+         * {@link fetchMethod}, then it will not be stored in the cache.
+         */
+        maxEntrySize: LRUSize
+        sizeCalculation?: SizeCalculator<K, V>
+      }
+    | {}
+
+  interface LimitedBySize<K, V> {
+    /**
+     * If you wish to track item size, you must provide a maxSize
+     * note that we still will only keep up to max *actual items*,
+     * if max is set, so size tracking may cause fewer than max items
+     * to be stored.  At the extreme, a single item of maxSize size
+     * will cause everything else in the cache to be dropped when it
+     * is added.  Use with caution!
+     *
+     * Note also that size tracking can negatively impact performance,
+     * though for most cases, only minimally.
+     */
+    maxSize: LRUSize
+
+    /**
+     * Function to calculate size of items.  Useful if storing strings or
+     * buffers or other items where memory size depends on the object itself.
+     *
+     * Items larger than {@link maxEntrySize} will not be stored in the cache.
+     *
+     * Note that when {@link maxSize} or {@link maxEntrySize} are set, every
+     * item added MUST have a size specified, either via a `sizeCalculation` in
+     * the constructor, or `sizeCalculation` or {@link size} options to
+     * {@link set}.
+     */
+    sizeCalculation?: SizeCalculator<K, V>
+  }
+
+  interface LimitedByTTL {
+    /**
+     * Max time in milliseconds for items to live in cache before they are
+     * considered stale.  Note that stale items are NOT preemptively removed
+     * by default, and MAY live in the cache, contributing to its LRU max,
+     * long after they have expired.
+     *
+     * Also, as this cache is optimized for LRU/MRU operations, some of
+     * the staleness/TTL checks will reduce performance, as they will incur
+     * overhead by deleting items.
+     *
+     * Must be an integer number of ms, defaults to 0, which means "no TTL"
+     */
+    ttl: LRUMilliseconds
+
+    /**
+     * Boolean flag to tell the cache to not update the TTL when
+     * setting a new value for an existing key (ie, when updating a value
+     * rather than inserting a new value).  Note that the TTL value is
+     * _always_ set (if provided) when adding a new entry into the cache.
+     *
+     * @default false
+     * @since 7.4.0
+     */
+    noUpdateTTL?: boolean
+
+    /**
+     * Minimum amount of time in ms in which to check for staleness.
+     * Defaults to 1, which means that the current time is checked
+     * at most once per millisecond.
+     *
+     * Set to 0 to check the current time every time staleness is tested.
+     * (This reduces performance, and is theoretically unnecessary.)
+     *
+     * Setting this to a higher value will improve performance somewhat
+     * while using ttl tracking, albeit at the expense of keeping stale
+     * items around a bit longer than their TTLs would indicate.
+     *
+     * @default 1
+     * @since 7.1.0
+     */
+    ttlResolution?: LRUMilliseconds
+
+    /**
+     * Preemptively remove stale items from the cache.
+     * Note that this may significantly degrade performance,
+     * especially if the cache is storing a large number of items.
+     * It is almost always best to just leave the stale items in
+     * the cache, and let them fall out as new items are added.
+     *
+     * Note that this means that {@link allowStale} is a bit pointless,
+     * as stale items will be deleted almost as soon as they expire.
+     *
+     * Use with caution!
+     *
+     * @default false
+     * @since 7.1.0
+     */
+    ttlAutopurge?: boolean
+
+    /**
+     * Return stale items from {@link get} before disposing of them.
+     * Return stale values from {@link fetch} while performing a call
+     * to the {@link fetchMethod} in the background.
+     *
+     * @default false
+     */
+    allowStale?: boolean
+
+    /**
+     * Update the age of items on {@link get}, renewing their TTL
+     *
+     * @default false
+     */
+    updateAgeOnGet?: boolean
+
+    /**
+     * Do not delete stale items when they are retrieved with {@link get}.
+     * Note that the {@link get} return value will still be `undefined` unless
+     * allowStale is true.
+     *
+     * @default false
+     * @since 7.11.0
+     */
+    noDeleteOnStaleGet?: boolean
+
+    /**
+     * Update the age of items on {@link has}, renewing their TTL
+     *
+     * @default false
+     */
+    updateAgeOnHas?: boolean
+  }
+
+  type SafetyBounds<K, V> =
+    | LimitedByCount
+    | LimitedBySize<K, V>
+    | LimitedByTTL
+
+  // options shared by all three of the limiting scenarios
+  interface SharedOptions<K, V> {
+    /**
+     * Function that is called on items when they are dropped from the cache.
+     * This can be handy if you want to close file descriptors or do other
+     * cleanup tasks when items are no longer accessible. Called with `key,
+     * value`.  It's called before actually removing the item from the
+     * internal cache, so it is *NOT* safe to re-add them.
+     * Use {@link disposeAfter} if you wish to dispose items after they have
+     * been full removed, when it is safe to add them back to the cache.
+     */
+    dispose?: Disposer<K, V>
+
+    /**
+     * The same as dispose, but called *after* the entry is completely
+     * removed and the cache is once again in a clean state.  It is safe to
+     * add an item right back into the cache at this point.
+     * However, note that it is *very* easy to inadvertently create infinite
+     * recursion this way.
+     *
+     * @since 7.3.0
+     */
+    disposeAfter?: Disposer<K, V>
+
+    /**
+     * Set to true to suppress calling the dispose() function if the entry
+     * key is still accessible within the cache.
+     * This may be overridden by passing an options object to {@link set}.
+     *
+     * @default false
+     */
+    noDisposeOnSet?: boolean
+
+    /**
+     * Function that is used to make background asynchronous fetches.  Called
+     * with `fetchMethod(key, staleValue, { signal, options, context })`.
+     *
+     * If `fetchMethod` is not provided, then {@link fetch} is
+     * equivalent to `Promise.resolve(cache.get(key))`.
+     *
+     * The `fetchMethod` should ONLY return `undefined` in cases where the
+     * abort controller has sent an abort signal.
+     *
+     * @since 7.6.0
+     */
+    fetchMethod?: LRUCache.Fetcher<K, V>
+
+    /**
+     * Set to true to suppress the deletion of stale data when a
+     * {@link fetchMethod} throws an error or returns a rejected promise
+     *
+     * This may be overridden in the {@link fetchMethod}.
+     *
+     * @default false
+     * @since 7.10.0
+     */
+    noDeleteOnFetchRejection?: boolean
+
+    /**
+     * Set to true to allow returning stale data when a {@link fetchMethod}
+     * throws an error or returns a rejected promise. Note that this
+     * differs from using {@link allowStale} in that stale data will
+     * ONLY be returned in the case that the fetch fails, not any other
+     * times.
+     *
+     * This may be overridden in the {@link fetchMethod}.
+     *
+     * @default false
+     * @since 7.16.0
+     */
+    allowStaleOnFetchRejection?: boolean
+
+    /**
+     *
+     * Set to true to ignore the `abort` event emitted by the `AbortSignal`
+     * object passed to {@link fetchMethod}, and still cache the
+     * resulting resolution value, as long as it is not `undefined`.
+     *
+     * When used on its own, this means aborted {@link fetch} calls are not
+     * immediately resolved or rejected when they are aborted, and instead take
+     * the full time to await.
+     *
+     * When used with {@link allowStaleOnFetchAbort}, aborted {@link fetch}
+     * calls will resolve immediately to their stale cached value or
+     * `undefined`, and will continue to process and eventually update the
+     * cache when they resolve, as long as the resulting value is not
+     * `undefined`, thus supporting a "return stale on timeout while
+     * refreshing" mechanism by passing `AbortSignal.timeout(n)` as the signal.
+     *
+     * **Note**: regardless of this setting, an `abort` event _is still emitted
+     * on the `AbortSignal` object_, so may result in invalid results when
+     * passed to other underlying APIs that use AbortSignals.
+     *
+     * This may be overridden in the {@link fetchMethod} or the call to
+     * {@link fetch}.
+     *
+     * @default false
+     * @since 7.17.0
+     */
+    ignoreFetchAbort?: boolean
+
+    /**
+     * Set to true to return a stale value from the cache when the
+     * `AbortSignal` passed to the {@link fetchMethod} dispatches an `'abort'`
+     * event, whether user-triggered, or due to internal cache behavior.
+     *
+     * Unless {@link ignoreFetchAbort} is also set, the underlying
+     * {@link fetchMethod} will still be considered canceled, and its return
+     * value will be ignored and not cached.
+     *
+     * This may be overridden in the {@link fetchMethod} or the call to
+     * {@link fetch}.
+     *
+     * @default false
+     * @since 7.17.0
+     */
+    allowStaleOnFetchAbort?: boolean
+
+    /**
+     * Set to any value in the constructor or {@link fetch} options to
+     * pass arbitrary data to the {@link fetchMethod} in the {@link context}
+     * options field.
+     *
+     * @since 7.12.0
+     */
+    fetchContext?: any
+  }
+
+  type Options<K, V> = SharedOptions<K, V> &
+    DeprecatedOptions<K, V> &
+    SafetyBounds<K, V> &
+    MaybeMaxEntrySizeLimit<K, V>
+
+  /**
+   * options which override the options set in the LRUCache constructor
+   * when making calling {@link set}.
+   */
+  interface SetOptions<K, V> {
+    /**
+     * A value for the size of the entry, prevents calls to
+     * {@link sizeCalculation}.
+     *
+     * Items larger than {@link maxEntrySize} will not be stored in the cache.
+     *
+     * Note that when {@link maxSize} or {@link maxEntrySize} are set, every
+     * item added MUST have a size specified, either via a `sizeCalculation` in
+     * the constructor, or {@link sizeCalculation} or `size` options to
+     * {@link set}.
+     */
+    size?: LRUSize
+    /**
+     * Overrides the {@link sizeCalculation} method set in the constructor.
+     *
+     * Items larger than {@link maxEntrySize} will not be stored in the cache.
+     *
+     * Note that when {@link maxSize} or {@link maxEntrySize} are set, every
+     * item added MUST have a size specified, either via a `sizeCalculation` in
+     * the constructor, or `sizeCalculation` or {@link size} options to
+     * {@link set}.
+     */
+    sizeCalculation?: SizeCalculator<K, V>
+    ttl?: LRUMilliseconds
+    start?: LRUMilliseconds
+    noDisposeOnSet?: boolean
+    noUpdateTTL?: boolean
+    status?: Status<V>
+  }
+
+  /**
+   * options which override the options set in the LRUCAche constructor
+   * when calling {@link has}.
+   */
+  interface HasOptions<V> {
+    updateAgeOnHas?: boolean
+    status: Status<V>
+  }
+
+  /**
+   * options which override the options set in the LRUCache constructor
+   * when calling {@link get}.
+   */
+  interface GetOptions<V> {
+    allowStale?: boolean
+    updateAgeOnGet?: boolean
+    noDeleteOnStaleGet?: boolean
+    status?: Status<V>
+  }
+
+  /**
+   * options which override the options set in the LRUCache constructor
+   * when calling {@link peek}.
+   */
+  interface PeekOptions {
+    allowStale?: boolean
+  }
+
+  /**
+   * Options object passed to the {@link fetchMethod}
+   *
+   * May be mutated by the {@link fetchMethod} to affect the behavior of the
+   * resulting {@link set} operation on resolution, or in the case of
+   * {@link noDeleteOnFetchRejection}, {@link ignoreFetchAbort}, and
+   * {@link allowStaleOnFetchRejection}, the handling of failure.
+   */
+  interface FetcherFetchOptions<K, V> {
+    allowStale?: boolean
+    updateAgeOnGet?: boolean
+    noDeleteOnStaleGet?: boolean
+    size?: LRUSize
+    sizeCalculation?: SizeCalculator<K, V>
+    ttl?: LRUMilliseconds
+    noDisposeOnSet?: boolean
+    noUpdateTTL?: boolean
+    noDeleteOnFetchRejection?: boolean
+    allowStaleOnFetchRejection?: boolean
+    ignoreFetchAbort?: boolean
+    allowStaleOnFetchAbort?: boolean
+    status?: Status<V>
+  }
+
+  /**
+   * Status object that may be passed to {@link fetch}, {@link get},
+   * {@link set}, and {@link has}.
+   */
+  interface Status<V> {
+    /**
+     * The status of a set() operation.
+     *
+     * - add: the item was not found in the cache, and was added
+     * - update: the item was in the cache, with the same value provided
+     * - replace: the item was in the cache, and replaced
+     * - miss: the item was not added to the cache for some reason
+     */
+    set?: 'add' | 'update' | 'replace' | 'miss'
+
+    /**
+     * the ttl stored for the item, or undefined if ttls are not used.
+     */
+    ttl?: LRUMilliseconds
+
+    /**
+     * the start time for the item, or undefined if ttls are not used.
+     */
+    start?: LRUMilliseconds
+
+    /**
+     * The timestamp used for TTL calculation
+     */
+    now?: LRUMilliseconds
+
+    /**
+     * the remaining ttl for the item, or undefined if ttls are not used.
+     */
+    remainingTTL?: LRUMilliseconds
+
+    /**
+     * The calculated size for the item, if sizes are used.
+     */
+    size?: LRUSize
+
+    /**
+     * A flag indicating that the item was not stored, due to exceeding the
+     * {@link maxEntrySize}
+     */
+    maxEntrySizeExceeded?: true
+
+    /**
+     * The old value, specified in the case of `set:'update'` or
+     * `set:'replace'`
+     */
+    oldValue?: V
+
+    /**
+     * The results of a {@link has} operation
+     *
+     * - hit: the item was found in the cache
+     * - stale: the item was found in the cache, but is stale
+     * - miss: the item was not found in the cache
+     */
+    has?: 'hit' | 'stale' | 'miss'
+
+    /**
+     * The status of a {@link fetch} operation.
+     * Note that this can change as the underlying fetch() moves through
+     * various states.
+     *
+     * - inflight: there is another fetch() for this key which is in process
+     * - get: there is no fetchMethod, so {@link get} was called.
+     * - miss: the item is not in cache, and will be fetched.
+     * - hit: the item is in the cache, and was resolved immediately.
+     * - stale: the item is in the cache, but stale.
+     * - refresh: the item is in the cache, and not stale, but
+     *   {@link forceRefresh} was specified.
+     */
+    fetch?: 'get' | 'inflight' | 'miss' | 'hit' | 'stale' | 'refresh'
+
+    /**
+     * The {@link fetchMethod} was called
+     */
+    fetchDispatched?: true
+
+    /**
+     * The cached value was updated after a successful call to fetchMethod
+     */
+    fetchUpdated?: true
+
+    /**
+     * The reason for a fetch() rejection.  Either the error raised by the
+     * {@link fetchMethod}, or the reason for an AbortSignal.
+     */
+    fetchError?: Error
+
+    /**
+     * The fetch received an abort signal
+     */
+    fetchAborted?: true
+
+    /**
+     * The abort signal received was ignored, and the fetch was allowed to
+     * continue.
+     */
+    fetchAbortIgnored?: true
+
+    /**
+     * The fetchMethod promise resolved successfully
+     */
+    fetchResolved?: true
+
+    /**
+     * The fetchMethod promise was rejected
+     */
+    fetchRejected?: true
+
+    /**
+     * The status of a {@link get} operation.
+     *
+     * - fetching: The item is currently being fetched.  If a previous value is
+     *   present and allowed, that will be returned.
+     * - stale: The item is in the cache, and is stale.
+     * - hit: the item is in the cache
+     * - miss: the item is not in the cache
+     */
+    get?: 'stale' | 'hit' | 'miss'
+
+    /**
+     * A fetch or get operation returned a stale value.
+     */
+    returnedStale?: true
+  }
+
+  /**
+   * options which override the options set in the LRUCache constructor
+   * when calling {@link fetch}.
+   *
+   * This is the union of GetOptions and SetOptions, plus
+   * {@link noDeleteOnFetchRejection}, {@link allowStaleOnFetchRejection},
+   * {@link forceRefresh}, and {@link fetchContext}
+   */
+  interface FetchOptions<K, V> extends FetcherFetchOptions<K, V> {
+    forceRefresh?: boolean
+    fetchContext?: any
+    signal?: AbortSignal
+    status?: Status<V>
+  }
+
+  interface FetcherOptions<K, V> {
+    signal: AbortSignal
+    options: FetcherFetchOptions<K, V>
+    /**
+     * Object provided in the {@link fetchContext} option
+     */
+    context: any
+  }
+
+  interface Entry<V> {
+    value: V
+    ttl?: LRUMilliseconds
+    size?: LRUSize
+    start?: LRUMilliseconds
+  }
+}
+
+export = LRUCache
diff --git a/node_modules/proxy-agent/node_modules/lru-cache/index.js b/node_modules/proxy-agent/node_modules/lru-cache/index.js
new file mode 100644
index 0000000..48e99fe
--- /dev/null
+++ b/node_modules/proxy-agent/node_modules/lru-cache/index.js
@@ -0,0 +1,1227 @@
+const perf =
+  typeof performance === 'object' &&
+  performance &&
+  typeof performance.now === 'function'
+    ? performance
+    : Date
+
+const hasAbortController = typeof AbortController === 'function'
+
+// minimal backwards-compatibility polyfill
+// this doesn't have nearly all the checks and whatnot that
+// actual AbortController/Signal has, but it's enough for
+// our purposes, and if used properly, behaves the same.
+const AC = hasAbortController
+  ? AbortController
+  : class AbortController {
+      constructor() {
+        this.signal = new AS()
+      }
+      abort(reason = new Error('This operation was aborted')) {
+        this.signal.reason = this.signal.reason || reason
+        this.signal.aborted = true
+        this.signal.dispatchEvent({
+          type: 'abort',
+          target: this.signal,
+        })
+      }
+    }
+
+const hasAbortSignal = typeof AbortSignal === 'function'
+// Some polyfills put this on the AC class, not global
+const hasACAbortSignal = typeof AC.AbortSignal === 'function'
+const AS = hasAbortSignal
+  ? AbortSignal
+  : hasACAbortSignal
+  ? AC.AbortController
+  : class AbortSignal {
+      constructor() {
+        this.reason = undefined
+        this.aborted = false
+        this._listeners = []
+      }
+      dispatchEvent(e) {
+        if (e.type === 'abort') {
+          this.aborted = true
+          this.onabort(e)
+          this._listeners.forEach(f => f(e), this)
+        }
+      }
+      onabort() {}
+      addEventListener(ev, fn) {
+        if (ev === 'abort') {
+          this._listeners.push(fn)
+        }
+      }
+      removeEventListener(ev, fn) {
+        if (ev === 'abort') {
+          this._listeners = this._listeners.filter(f => f !== fn)
+        }
+      }
+    }
+
+const warned = new Set()
+const deprecatedOption = (opt, instead) => {
+  const code = `LRU_CACHE_OPTION_${opt}`
+  if (shouldWarn(code)) {
+    warn(code, `${opt} option`, `options.${instead}`, LRUCache)
+  }
+}
+const deprecatedMethod = (method, instead) => {
+  const code = `LRU_CACHE_METHOD_${method}`
+  if (shouldWarn(code)) {
+    const { prototype } = LRUCache
+    const { get } = Object.getOwnPropertyDescriptor(prototype, method)
+    warn(code, `${method} method`, `cache.${instead}()`, get)
+  }
+}
+const deprecatedProperty = (field, instead) => {
+  const code = `LRU_CACHE_PROPERTY_${field}`
+  if (shouldWarn(code)) {
+    const { prototype } = LRUCache
+    const { get } = Object.getOwnPropertyDescriptor(prototype, field)
+    warn(code, `${field} property`, `cache.${instead}`, get)
+  }
+}
+
+const emitWarning = (...a) => {
+  typeof process === 'object' &&
+  process &&
+  typeof process.emitWarning === 'function'
+    ? process.emitWarning(...a)
+    : console.error(...a)
+}
+
+const shouldWarn = code => !warned.has(code)
+
+const warn = (code, what, instead, fn) => {
+  warned.add(code)
+  const msg = `The ${what} is deprecated. Please use ${instead} instead.`
+  emitWarning(msg, 'DeprecationWarning', code, fn)
+}
+
+const isPosInt = n => n && n === Math.floor(n) && n > 0 && isFinite(n)
+
+/* istanbul ignore next - This is a little bit ridiculous, tbh.
+ * The maximum array length is 2^32-1 or thereabouts on most JS impls.
+ * And well before that point, you're caching the entire world, I mean,
+ * that's ~32GB of just integers for the next/prev links, plus whatever
+ * else to hold that many keys and values.  Just filling the memory with
+ * zeroes at init time is brutal when you get that big.
+ * But why not be complete?
+ * Maybe in the future, these limits will have expanded. */
+const getUintArray = max =>
+  !isPosInt(max)
+    ? null
+    : max <= Math.pow(2, 8)
+    ? Uint8Array
+    : max <= Math.pow(2, 16)
+    ? Uint16Array
+    : max <= Math.pow(2, 32)
+    ? Uint32Array
+    : max <= Number.MAX_SAFE_INTEGER
+    ? ZeroArray
+    : null
+
+class ZeroArray extends Array {
+  constructor(size) {
+    super(size)
+    this.fill(0)
+  }
+}
+
+class Stack {
+  constructor(max) {
+    if (max === 0) {
+      return []
+    }
+    const UintArray = getUintArray(max)
+    this.heap = new UintArray(max)
+    this.length = 0
+  }
+  push(n) {
+    this.heap[this.length++] = n
+  }
+  pop() {
+    return this.heap[--this.length]
+  }
+}
+
+class LRUCache {
+  constructor(options = {}) {
+    const {
+      max = 0,
+      ttl,
+      ttlResolution = 1,
+      ttlAutopurge,
+      updateAgeOnGet,
+      updateAgeOnHas,
+      allowStale,
+      dispose,
+      disposeAfter,
+      noDisposeOnSet,
+      noUpdateTTL,
+      maxSize = 0,
+      maxEntrySize = 0,
+      sizeCalculation,
+      fetchMethod,
+      fetchContext,
+      noDeleteOnFetchRejection,
+      noDeleteOnStaleGet,
+      allowStaleOnFetchRejection,
+      allowStaleOnFetchAbort,
+      ignoreFetchAbort,
+    } = options
+
+    // deprecated options, don't trigger a warning for getting them if
+    // the thing being passed in is another LRUCache we're copying.
+    const { length, maxAge, stale } =
+      options instanceof LRUCache ? {} : options
+
+    if (max !== 0 && !isPosInt(max)) {
+      throw new TypeError('max option must be a nonnegative integer')
+    }
+
+    const UintArray = max ? getUintArray(max) : Array
+    if (!UintArray) {
+      throw new Error('invalid max value: ' + max)
+    }
+
+    this.max = max
+    this.maxSize = maxSize
+    this.maxEntrySize = maxEntrySize || this.maxSize
+    this.sizeCalculation = sizeCalculation || length
+    if (this.sizeCalculation) {
+      if (!this.maxSize && !this.maxEntrySize) {
+        throw new TypeError(
+          'cannot set sizeCalculation without setting maxSize or maxEntrySize'
+        )
+      }
+      if (typeof this.sizeCalculation !== 'function') {
+        throw new TypeError('sizeCalculation set to non-function')
+      }
+    }
+
+    this.fetchMethod = fetchMethod || null
+    if (this.fetchMethod && typeof this.fetchMethod !== 'function') {
+      throw new TypeError(
+        'fetchMethod must be a function if specified'
+      )
+    }
+
+    this.fetchContext = fetchContext
+    if (!this.fetchMethod && fetchContext !== undefined) {
+      throw new TypeError(
+        'cannot set fetchContext without fetchMethod'
+      )
+    }
+
+    this.keyMap = new Map()
+    this.keyList = new Array(max).fill(null)
+    this.valList = new Array(max).fill(null)
+    this.next = new UintArray(max)
+    this.prev = new UintArray(max)
+    this.head = 0
+    this.tail = 0
+    this.free = new Stack(max)
+    this.initialFill = 1
+    this.size = 0
+
+    if (typeof dispose === 'function') {
+      this.dispose = dispose
+    }
+    if (typeof disposeAfter === 'function') {
+      this.disposeAfter = disposeAfter
+      this.disposed = []
+    } else {
+      this.disposeAfter = null
+      this.disposed = null
+    }
+    this.noDisposeOnSet = !!noDisposeOnSet
+    this.noUpdateTTL = !!noUpdateTTL
+    this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection
+    this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection
+    this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort
+    this.ignoreFetchAbort = !!ignoreFetchAbort
+
+    // NB: maxEntrySize is set to maxSize if it's set
+    if (this.maxEntrySize !== 0) {
+      if (this.maxSize !== 0) {
+        if (!isPosInt(this.maxSize)) {
+          throw new TypeError(
+            'maxSize must be a positive integer if specified'
+          )
+        }
+      }
+      if (!isPosInt(this.maxEntrySize)) {
+        throw new TypeError(
+          'maxEntrySize must be a positive integer if specified'
+        )
+      }
+      this.initializeSizeTracking()
+    }
+
+    this.allowStale = !!allowStale || !!stale
+    this.noDeleteOnStaleGet = !!noDeleteOnStaleGet
+    this.updateAgeOnGet = !!updateAgeOnGet
+    this.updateAgeOnHas = !!updateAgeOnHas
+    this.ttlResolution =
+      isPosInt(ttlResolution) || ttlResolution === 0
+        ? ttlResolution
+        : 1
+    this.ttlAutopurge = !!ttlAutopurge
+    this.ttl = ttl || maxAge || 0
+    if (this.ttl) {
+      if (!isPosInt(this.ttl)) {
+        throw new TypeError(
+          'ttl must be a positive integer if specified'
+        )
+      }
+      this.initializeTTLTracking()
+    }
+
+    // do not allow completely unbounded caches
+    if (this.max === 0 && this.ttl === 0 && this.maxSize === 0) {
+      throw new TypeError(
+        'At least one of max, maxSize, or ttl is required'
+      )
+    }
+    if (!this.ttlAutopurge && !this.max && !this.maxSize) {
+      const code = 'LRU_CACHE_UNBOUNDED'
+      if (shouldWarn(code)) {
+        warned.add(code)
+        const msg =
+          'TTL caching without ttlAutopurge, max, or maxSize can ' +
+          'result in unbounded memory consumption.'
+        emitWarning(msg, 'UnboundedCacheWarning', code, LRUCache)
+      }
+    }
+
+    if (stale) {
+      deprecatedOption('stale', 'allowStale')
+    }
+    if (maxAge) {
+      deprecatedOption('maxAge', 'ttl')
+    }
+    if (length) {
+      deprecatedOption('length', 'sizeCalculation')
+    }
+  }
+
+  getRemainingTTL(key) {
+    return this.has(key, { updateAgeOnHas: false }) ? Infinity : 0
+  }
+
+  initializeTTLTracking() {
+    this.ttls = new ZeroArray(this.max)
+    this.starts = new ZeroArray(this.max)
+
+    this.setItemTTL = (index, ttl, start = perf.now()) => {
+      this.starts[index] = ttl !== 0 ? start : 0
+      this.ttls[index] = ttl
+      if (ttl !== 0 && this.ttlAutopurge) {
+        const t = setTimeout(() => {
+          if (this.isStale(index)) {
+            this.delete(this.keyList[index])
+          }
+        }, ttl + 1)
+        /* istanbul ignore else - unref() not supported on all platforms */
+        if (t.unref) {
+          t.unref()
+        }
+      }
+    }
+
+    this.updateItemAge = index => {
+      this.starts[index] = this.ttls[index] !== 0 ? perf.now() : 0
+    }
+
+    this.statusTTL = (status, index) => {
+      if (status) {
+        status.ttl = this.ttls[index]
+        status.start = this.starts[index]
+        status.now = cachedNow || getNow()
+        status.remainingTTL = status.now + status.ttl - status.start
+      }
+    }
+
+    // debounce calls to perf.now() to 1s so we're not hitting
+    // that costly call repeatedly.
+    let cachedNow = 0
+    const getNow = () => {
+      const n = perf.now()
+      if (this.ttlResolution > 0) {
+        cachedNow = n
+        const t = setTimeout(
+          () => (cachedNow = 0),
+          this.ttlResolution
+        )
+        /* istanbul ignore else - not available on all platforms */
+        if (t.unref) {
+          t.unref()
+        }
+      }
+      return n
+    }
+
+    this.getRemainingTTL = key => {
+      const index = this.keyMap.get(key)
+      if (index === undefined) {
+        return 0
+      }
+      return this.ttls[index] === 0 || this.starts[index] === 0
+        ? Infinity
+        : this.starts[index] +
+            this.ttls[index] -
+            (cachedNow || getNow())
+    }
+
+    this.isStale = index => {
+      return (
+        this.ttls[index] !== 0 &&
+        this.starts[index] !== 0 &&
+        (cachedNow || getNow()) - this.starts[index] >
+          this.ttls[index]
+      )
+    }
+  }
+  updateItemAge(_index) {}
+  statusTTL(_status, _index) {}
+  setItemTTL(_index, _ttl, _start) {}
+  isStale(_index) {
+    return false
+  }
+
+  initializeSizeTracking() {
+    this.calculatedSize = 0
+    this.sizes = new ZeroArray(this.max)
+    this.removeItemSize = index => {
+      this.calculatedSize -= this.sizes[index]
+      this.sizes[index] = 0
+    }
+    this.requireSize = (k, v, size, sizeCalculation) => {
+      // provisionally accept background fetches.
+      // actual value size will be checked when they return.
+      if (this.isBackgroundFetch(v)) {
+        return 0
+      }
+      if (!isPosInt(size)) {
+        if (sizeCalculation) {
+          if (typeof sizeCalculation !== 'function') {
+            throw new TypeError('sizeCalculation must be a function')
+          }
+          size = sizeCalculation(v, k)
+          if (!isPosInt(size)) {
+            throw new TypeError(
+              'sizeCalculation return invalid (expect positive integer)'
+            )
+          }
+        } else {
+          throw new TypeError(
+            'invalid size value (must be positive integer). ' +
+              'When maxSize or maxEntrySize is used, sizeCalculation or size ' +
+              'must be set.'
+          )
+        }
+      }
+      return size
+    }
+    this.addItemSize = (index, size, status) => {
+      this.sizes[index] = size
+      if (this.maxSize) {
+        const maxSize = this.maxSize - this.sizes[index]
+        while (this.calculatedSize > maxSize) {
+          this.evict(true)
+        }
+      }
+      this.calculatedSize += this.sizes[index]
+      if (status) {
+        status.entrySize = size
+        status.totalCalculatedSize = this.calculatedSize
+      }
+    }
+  }
+  removeItemSize(_index) {}
+  addItemSize(_index, _size) {}
+  requireSize(_k, _v, size, sizeCalculation) {
+    if (size || sizeCalculation) {
+      throw new TypeError(
+        'cannot set size without setting maxSize or maxEntrySize on cache'
+      )
+    }
+  }
+
+  *indexes({ allowStale = this.allowStale } = {}) {
+    if (this.size) {
+      for (let i = this.tail; true; ) {
+        if (!this.isValidIndex(i)) {
+          break
+        }
+        if (allowStale || !this.isStale(i)) {
+          yield i
+        }
+        if (i === this.head) {
+          break
+        } else {
+          i = this.prev[i]
+        }
+      }
+    }
+  }
+
+  *rindexes({ allowStale = this.allowStale } = {}) {
+    if (this.size) {
+      for (let i = this.head; true; ) {
+        if (!this.isValidIndex(i)) {
+          break
+        }
+        if (allowStale || !this.isStale(i)) {
+          yield i
+        }
+        if (i === this.tail) {
+          break
+        } else {
+          i = this.next[i]
+        }
+      }
+    }
+  }
+
+  isValidIndex(index) {
+    return (
+      index !== undefined &&
+      this.keyMap.get(this.keyList[index]) === index
+    )
+  }
+
+  *entries() {
+    for (const i of this.indexes()) {
+      if (
+        this.valList[i] !== undefined &&
+        this.keyList[i] !== undefined &&
+        !this.isBackgroundFetch(this.valList[i])
+      ) {
+        yield [this.keyList[i], this.valList[i]]
+      }
+    }
+  }
+  *rentries() {
+    for (const i of this.rindexes()) {
+      if (
+        this.valList[i] !== undefined &&
+        this.keyList[i] !== undefined &&
+        !this.isBackgroundFetch(this.valList[i])
+      ) {
+        yield [this.keyList[i], this.valList[i]]
+      }
+    }
+  }
+
+  *keys() {
+    for (const i of this.indexes()) {
+      if (
+        this.keyList[i] !== undefined &&
+        !this.isBackgroundFetch(this.valList[i])
+      ) {
+        yield this.keyList[i]
+      }
+    }
+  }
+  *rkeys() {
+    for (const i of this.rindexes()) {
+      if (
+        this.keyList[i] !== undefined &&
+        !this.isBackgroundFetch(this.valList[i])
+      ) {
+        yield this.keyList[i]
+      }
+    }
+  }
+
+  *values() {
+    for (const i of this.indexes()) {
+      if (
+        this.valList[i] !== undefined &&
+        !this.isBackgroundFetch(this.valList[i])
+      ) {
+        yield this.valList[i]
+      }
+    }
+  }
+  *rvalues() {
+    for (const i of this.rindexes()) {
+      if (
+        this.valList[i] !== undefined &&
+        !this.isBackgroundFetch(this.valList[i])
+      ) {
+        yield this.valList[i]
+      }
+    }
+  }
+
+  [Symbol.iterator]() {
+    return this.entries()
+  }
+
+  find(fn, getOptions) {
+    for (const i of this.indexes()) {
+      const v = this.valList[i]
+      const value = this.isBackgroundFetch(v)
+        ? v.__staleWhileFetching
+        : v
+      if (value === undefined) continue
+      if (fn(value, this.keyList[i], this)) {
+        return this.get(this.keyList[i], getOptions)
+      }
+    }
+  }
+
+  forEach(fn, thisp = this) {
+    for (const i of this.indexes()) {
+      const v = this.valList[i]
+      const value = this.isBackgroundFetch(v)
+        ? v.__staleWhileFetching
+        : v
+      if (value === undefined) continue
+      fn.call(thisp, value, this.keyList[i], this)
+    }
+  }
+
+  rforEach(fn, thisp = this) {
+    for (const i of this.rindexes()) {
+      const v = this.valList[i]
+      const value = this.isBackgroundFetch(v)
+        ? v.__staleWhileFetching
+        : v
+      if (value === undefined) continue
+      fn.call(thisp, value, this.keyList[i], this)
+    }
+  }
+
+  get prune() {
+    deprecatedMethod('prune', 'purgeStale')
+    return this.purgeStale
+  }
+
+  purgeStale() {
+    let deleted = false
+    for (const i of this.rindexes({ allowStale: true })) {
+      if (this.isStale(i)) {
+        this.delete(this.keyList[i])
+        deleted = true
+      }
+    }
+    return deleted
+  }
+
+  dump() {
+    const arr = []
+    for (const i of this.indexes({ allowStale: true })) {
+      const key = this.keyList[i]
+      const v = this.valList[i]
+      const value = this.isBackgroundFetch(v)
+        ? v.__staleWhileFetching
+        : v
+      if (value === undefined) continue
+      const entry = { value }
+      if (this.ttls) {
+        entry.ttl = this.ttls[i]
+        // always dump the start relative to a portable timestamp
+        // it's ok for this to be a bit slow, it's a rare operation.
+        const age = perf.now() - this.starts[i]
+        entry.start = Math.floor(Date.now() - age)
+      }
+      if (this.sizes) {
+        entry.size = this.sizes[i]
+      }
+      arr.unshift([key, entry])
+    }
+    return arr
+  }
+
+  load(arr) {
+    this.clear()
+    for (const [key, entry] of arr) {
+      if (entry.start) {
+        // entry.start is a portable timestamp, but we may be using
+        // node's performance.now(), so calculate the offset.
+        // it's ok for this to be a bit slow, it's a rare operation.
+        const age = Date.now() - entry.start
+        entry.start = perf.now() - age
+      }
+      this.set(key, entry.value, entry)
+    }
+  }
+
+  dispose(_v, _k, _reason) {}
+
+  set(
+    k,
+    v,
+    {
+      ttl = this.ttl,
+      start,
+      noDisposeOnSet = this.noDisposeOnSet,
+      size = 0,
+      sizeCalculation = this.sizeCalculation,
+      noUpdateTTL = this.noUpdateTTL,
+      status,
+    } = {}
+  ) {
+    size = this.requireSize(k, v, size, sizeCalculation)
+    // if the item doesn't fit, don't do anything
+    // NB: maxEntrySize set to maxSize by default
+    if (this.maxEntrySize && size > this.maxEntrySize) {
+      if (status) {
+        status.set = 'miss'
+        status.maxEntrySizeExceeded = true
+      }
+      // have to delete, in case a background fetch is there already.
+      // in non-async cases, this is a no-op
+      this.delete(k)
+      return this
+    }
+    let index = this.size === 0 ? undefined : this.keyMap.get(k)
+    if (index === undefined) {
+      // addition
+      index = this.newIndex()
+      this.keyList[index] = k
+      this.valList[index] = v
+      this.keyMap.set(k, index)
+      this.next[this.tail] = index
+      this.prev[index] = this.tail
+      this.tail = index
+      this.size++
+      this.addItemSize(index, size, status)
+      if (status) {
+        status.set = 'add'
+      }
+      noUpdateTTL = false
+    } else {
+      // update
+      this.moveToTail(index)
+      const oldVal = this.valList[index]
+      if (v !== oldVal) {
+        if (this.isBackgroundFetch(oldVal)) {
+          oldVal.__abortController.abort(new Error('replaced'))
+        } else {
+          if (!noDisposeOnSet) {
+            this.dispose(oldVal, k, 'set')
+            if (this.disposeAfter) {
+              this.disposed.push([oldVal, k, 'set'])
+            }
+          }
+        }
+        this.removeItemSize(index)
+        this.valList[index] = v
+        this.addItemSize(index, size, status)
+        if (status) {
+          status.set = 'replace'
+          const oldValue =
+            oldVal && this.isBackgroundFetch(oldVal)
+              ? oldVal.__staleWhileFetching
+              : oldVal
+          if (oldValue !== undefined) status.oldValue = oldValue
+        }
+      } else if (status) {
+        status.set = 'update'
+      }
+    }
+    if (ttl !== 0 && this.ttl === 0 && !this.ttls) {
+      this.initializeTTLTracking()
+    }
+    if (!noUpdateTTL) {
+      this.setItemTTL(index, ttl, start)
+    }
+    this.statusTTL(status, index)
+    if (this.disposeAfter) {
+      while (this.disposed.length) {
+        this.disposeAfter(...this.disposed.shift())
+      }
+    }
+    return this
+  }
+
+  newIndex() {
+    if (this.size === 0) {
+      return this.tail
+    }
+    if (this.size === this.max && this.max !== 0) {
+      return this.evict(false)
+    }
+    if (this.free.length !== 0) {
+      return this.free.pop()
+    }
+    // initial fill, just keep writing down the list
+    return this.initialFill++
+  }
+
+  pop() {
+    if (this.size) {
+      const val = this.valList[this.head]
+      this.evict(true)
+      return val
+    }
+  }
+
+  evict(free) {
+    const head = this.head
+    const k = this.keyList[head]
+    const v = this.valList[head]
+    if (this.isBackgroundFetch(v)) {
+      v.__abortController.abort(new Error('evicted'))
+    } else {
+      this.dispose(v, k, 'evict')
+      if (this.disposeAfter) {
+        this.disposed.push([v, k, 'evict'])
+      }
+    }
+    this.removeItemSize(head)
+    // if we aren't about to use the index, then null these out
+    if (free) {
+      this.keyList[head] = null
+      this.valList[head] = null
+      this.free.push(head)
+    }
+    this.head = this.next[head]
+    this.keyMap.delete(k)
+    this.size--
+    return head
+  }
+
+  has(k, { updateAgeOnHas = this.updateAgeOnHas, status } = {}) {
+    const index = this.keyMap.get(k)
+    if (index !== undefined) {
+      if (!this.isStale(index)) {
+        if (updateAgeOnHas) {
+          this.updateItemAge(index)
+        }
+        if (status) status.has = 'hit'
+        this.statusTTL(status, index)
+        return true
+      } else if (status) {
+        status.has = 'stale'
+        this.statusTTL(status, index)
+      }
+    } else if (status) {
+      status.has = 'miss'
+    }
+    return false
+  }
+
+  // like get(), but without any LRU updating or TTL expiration
+  peek(k, { allowStale = this.allowStale } = {}) {
+    const index = this.keyMap.get(k)
+    if (index !== undefined && (allowStale || !this.isStale(index))) {
+      const v = this.valList[index]
+      // either stale and allowed, or forcing a refresh of non-stale value
+      return this.isBackgroundFetch(v) ? v.__staleWhileFetching : v
+    }
+  }
+
+  backgroundFetch(k, index, options, context) {
+    const v = index === undefined ? undefined : this.valList[index]
+    if (this.isBackgroundFetch(v)) {
+      return v
+    }
+    const ac = new AC()
+    if (options.signal) {
+      options.signal.addEventListener('abort', () =>
+        ac.abort(options.signal.reason)
+      )
+    }
+    const fetchOpts = {
+      signal: ac.signal,
+      options,
+      context,
+    }
+    const cb = (v, updateCache = false) => {
+      const { aborted } = ac.signal
+      const ignoreAbort = options.ignoreFetchAbort && v !== undefined
+      if (options.status) {
+        if (aborted && !updateCache) {
+          options.status.fetchAborted = true
+          options.status.fetchError = ac.signal.reason
+          if (ignoreAbort) options.status.fetchAbortIgnored = true
+        } else {
+          options.status.fetchResolved = true
+        }
+      }
+      if (aborted && !ignoreAbort && !updateCache) {
+        return fetchFail(ac.signal.reason)
+      }
+      // either we didn't abort, and are still here, or we did, and ignored
+      if (this.valList[index] === p) {
+        if (v === undefined) {
+          if (p.__staleWhileFetching) {
+            this.valList[index] = p.__staleWhileFetching
+          } else {
+            this.delete(k)
+          }
+        } else {
+          if (options.status) options.status.fetchUpdated = true
+          this.set(k, v, fetchOpts.options)
+        }
+      }
+      return v
+    }
+    const eb = er => {
+      if (options.status) {
+        options.status.fetchRejected = true
+        options.status.fetchError = er
+      }
+      return fetchFail(er)
+    }
+    const fetchFail = er => {
+      const { aborted } = ac.signal
+      const allowStaleAborted =
+        aborted && options.allowStaleOnFetchAbort
+      const allowStale =
+        allowStaleAborted || options.allowStaleOnFetchRejection
+      const noDelete = allowStale || options.noDeleteOnFetchRejection
+      if (this.valList[index] === p) {
+        // if we allow stale on fetch rejections, then we need to ensure that
+        // the stale value is not removed from the cache when the fetch fails.
+        const del = !noDelete || p.__staleWhileFetching === undefined
+        if (del) {
+          this.delete(k)
+        } else if (!allowStaleAborted) {
+          // still replace the *promise* with the stale value,
+          // since we are done with the promise at this point.
+          // leave it untouched if we're still waiting for an
+          // aborted background fetch that hasn't yet returned.
+          this.valList[index] = p.__staleWhileFetching
+        }
+      }
+      if (allowStale) {
+        if (options.status && p.__staleWhileFetching !== undefined) {
+          options.status.returnedStale = true
+        }
+        return p.__staleWhileFetching
+      } else if (p.__returned === p) {
+        throw er
+      }
+    }
+    const pcall = (res, rej) => {
+      this.fetchMethod(k, v, fetchOpts).then(v => res(v), rej)
+      // ignored, we go until we finish, regardless.
+      // defer check until we are actually aborting,
+      // so fetchMethod can override.
+      ac.signal.addEventListener('abort', () => {
+        if (
+          !options.ignoreFetchAbort ||
+          options.allowStaleOnFetchAbort
+        ) {
+          res()
+          // when it eventually resolves, update the cache.
+          if (options.allowStaleOnFetchAbort) {
+            res = v => cb(v, true)
+          }
+        }
+      })
+    }
+    if (options.status) options.status.fetchDispatched = true
+    const p = new Promise(pcall).then(cb, eb)
+    p.__abortController = ac
+    p.__staleWhileFetching = v
+    p.__returned = null
+    if (index === undefined) {
+      // internal, don't expose status.
+      this.set(k, p, { ...fetchOpts.options, status: undefined })
+      index = this.keyMap.get(k)
+    } else {
+      this.valList[index] = p
+    }
+    return p
+  }
+
+  isBackgroundFetch(p) {
+    return (
+      p &&
+      typeof p === 'object' &&
+      typeof p.then === 'function' &&
+      Object.prototype.hasOwnProperty.call(
+        p,
+        '__staleWhileFetching'
+      ) &&
+      Object.prototype.hasOwnProperty.call(p, '__returned') &&
+      (p.__returned === p || p.__returned === null)
+    )
+  }
+
+  // this takes the union of get() and set() opts, because it does both
+  async fetch(
+    k,
+    {
+      // get options
+      allowStale = this.allowStale,
+      updateAgeOnGet = this.updateAgeOnGet,
+      noDeleteOnStaleGet = this.noDeleteOnStaleGet,
+      // set options
+      ttl = this.ttl,
+      noDisposeOnSet = this.noDisposeOnSet,
+      size = 0,
+      sizeCalculation = this.sizeCalculation,
+      noUpdateTTL = this.noUpdateTTL,
+      // fetch exclusive options
+      noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
+      allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
+      ignoreFetchAbort = this.ignoreFetchAbort,
+      allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
+      fetchContext = this.fetchContext,
+      forceRefresh = false,
+      status,
+      signal,
+    } = {}
+  ) {
+    if (!this.fetchMethod) {
+      if (status) status.fetch = 'get'
+      return this.get(k, {
+        allowStale,
+        updateAgeOnGet,
+        noDeleteOnStaleGet,
+        status,
+      })
+    }
+
+    const options = {
+      allowStale,
+      updateAgeOnGet,
+      noDeleteOnStaleGet,
+      ttl,
+      noDisposeOnSet,
+      size,
+      sizeCalculation,
+      noUpdateTTL,
+      noDeleteOnFetchRejection,
+      allowStaleOnFetchRejection,
+      allowStaleOnFetchAbort,
+      ignoreFetchAbort,
+      status,
+      signal,
+    }
+
+    let index = this.keyMap.get(k)
+    if (index === undefined) {
+      if (status) status.fetch = 'miss'
+      const p = this.backgroundFetch(k, index, options, fetchContext)
+      return (p.__returned = p)
+    } else {
+      // in cache, maybe already fetching
+      const v = this.valList[index]
+      if (this.isBackgroundFetch(v)) {
+        const stale =
+          allowStale && v.__staleWhileFetching !== undefined
+        if (status) {
+          status.fetch = 'inflight'
+          if (stale) status.returnedStale = true
+        }
+        return stale ? v.__staleWhileFetching : (v.__returned = v)
+      }
+
+      // if we force a refresh, that means do NOT serve the cached value,
+      // unless we are already in the process of refreshing the cache.
+      const isStale = this.isStale(index)
+      if (!forceRefresh && !isStale) {
+        if (status) status.fetch = 'hit'
+        this.moveToTail(index)
+        if (updateAgeOnGet) {
+          this.updateItemAge(index)
+        }
+        this.statusTTL(status, index)
+        return v
+      }
+
+      // ok, it is stale or a forced refresh, and not already fetching.
+      // refresh the cache.
+      const p = this.backgroundFetch(k, index, options, fetchContext)
+      const hasStale = p.__staleWhileFetching !== undefined
+      const staleVal = hasStale && allowStale
+      if (status) {
+        status.fetch = hasStale && isStale ? 'stale' : 'refresh'
+        if (staleVal && isStale) status.returnedStale = true
+      }
+      return staleVal ? p.__staleWhileFetching : (p.__returned = p)
+    }
+  }
+
+  get(
+    k,
+    {
+      allowStale = this.allowStale,
+      updateAgeOnGet = this.updateAgeOnGet,
+      noDeleteOnStaleGet = this.noDeleteOnStaleGet,
+      status,
+    } = {}
+  ) {
+    const index = this.keyMap.get(k)
+    if (index !== undefined) {
+      const value = this.valList[index]
+      const fetching = this.isBackgroundFetch(value)
+      this.statusTTL(status, index)
+      if (this.isStale(index)) {
+        if (status) status.get = 'stale'
+        // delete only if not an in-flight background fetch
+        if (!fetching) {
+          if (!noDeleteOnStaleGet) {
+            this.delete(k)
+          }
+          if (status) status.returnedStale = allowStale
+          return allowStale ? value : undefined
+        } else {
+          if (status) {
+            status.returnedStale =
+              allowStale && value.__staleWhileFetching !== undefined
+          }
+          return allowStale ? value.__staleWhileFetching : undefined
+        }
+      } else {
+        if (status) status.get = 'hit'
+        // if we're currently fetching it, we don't actually have it yet
+        // it's not stale, which means this isn't a staleWhileRefetching.
+        // If it's not stale, and fetching, AND has a __staleWhileFetching
+        // value, then that means the user fetched with {forceRefresh:true},
+        // so it's safe to return that value.
+        if (fetching) {
+          return value.__staleWhileFetching
+        }
+        this.moveToTail(index)
+        if (updateAgeOnGet) {
+          this.updateItemAge(index)
+        }
+        return value
+      }
+    } else if (status) {
+      status.get = 'miss'
+    }
+  }
+
+  connect(p, n) {
+    this.prev[n] = p
+    this.next[p] = n
+  }
+
+  moveToTail(index) {
+    // if tail already, nothing to do
+    // if head, move head to next[index]
+    // else
+    //   move next[prev[index]] to next[index] (head has no prev)
+    //   move prev[next[index]] to prev[index]
+    // prev[index] = tail
+    // next[tail] = index
+    // tail = index
+    if (index !== this.tail) {
+      if (index === this.head) {
+        this.head = this.next[index]
+      } else {
+        this.connect(this.prev[index], this.next[index])
+      }
+      this.connect(this.tail, index)
+      this.tail = index
+    }
+  }
+
+  get del() {
+    deprecatedMethod('del', 'delete')
+    return this.delete
+  }
+
+  delete(k) {
+    let deleted = false
+    if (this.size !== 0) {
+      const index = this.keyMap.get(k)
+      if (index !== undefined) {
+        deleted = true
+        if (this.size === 1) {
+          this.clear()
+        } else {
+          this.removeItemSize(index)
+          const v = this.valList[index]
+          if (this.isBackgroundFetch(v)) {
+            v.__abortController.abort(new Error('deleted'))
+          } else {
+            this.dispose(v, k, 'delete')
+            if (this.disposeAfter) {
+              this.disposed.push([v, k, 'delete'])
+            }
+          }
+          this.keyMap.delete(k)
+          this.keyList[index] = null
+          this.valList[index] = null
+          if (index === this.tail) {
+            this.tail = this.prev[index]
+          } else if (index === this.head) {
+            this.head = this.next[index]
+          } else {
+            this.next[this.prev[index]] = this.next[index]
+            this.prev[this.next[index]] = this.prev[index]
+          }
+          this.size--
+          this.free.push(index)
+        }
+      }
+    }
+    if (this.disposed) {
+      while (this.disposed.length) {
+        this.disposeAfter(...this.disposed.shift())
+      }
+    }
+    return deleted
+  }
+
+  clear() {
+    for (const index of this.rindexes({ allowStale: true })) {
+      const v = this.valList[index]
+      if (this.isBackgroundFetch(v)) {
+        v.__abortController.abort(new Error('deleted'))
+      } else {
+        const k = this.keyList[index]
+        this.dispose(v, k, 'delete')
+        if (this.disposeAfter) {
+          this.disposed.push([v, k, 'delete'])
+        }
+      }
+    }
+
+    this.keyMap.clear()
+    this.valList.fill(null)
+    this.keyList.fill(null)
+    if (this.ttls) {
+      this.ttls.fill(0)
+      this.starts.fill(0)
+    }
+    if (this.sizes) {
+      this.sizes.fill(0)
+    }
+    this.head = 0
+    this.tail = 0
+    this.initialFill = 1
+    this.free.length = 0
+    this.calculatedSize = 0
+    this.size = 0
+    if (this.disposed) {
+      while (this.disposed.length) {
+        this.disposeAfter(...this.disposed.shift())
+      }
+    }
+  }
+
+  get reset() {
+    deprecatedMethod('reset', 'clear')
+    return this.clear
+  }
+
+  get length() {
+    deprecatedProperty('length', 'size')
+    return this.size
+  }
+
+  static get AbortController() {
+    return AC
+  }
+  static get AbortSignal() {
+    return AS
+  }
+}
+
+module.exports = LRUCache
diff --git a/node_modules/proxy-agent/node_modules/lru-cache/index.mjs b/node_modules/proxy-agent/node_modules/lru-cache/index.mjs
new file mode 100644
index 0000000..4a0b481
--- /dev/null
+++ b/node_modules/proxy-agent/node_modules/lru-cache/index.mjs
@@ -0,0 +1,1227 @@
+const perf =
+  typeof performance === 'object' &&
+  performance &&
+  typeof performance.now === 'function'
+    ? performance
+    : Date
+
+const hasAbortController = typeof AbortController === 'function'
+
+// minimal backwards-compatibility polyfill
+// this doesn't have nearly all the checks and whatnot that
+// actual AbortController/Signal has, but it's enough for
+// our purposes, and if used properly, behaves the same.
+const AC = hasAbortController
+  ? AbortController
+  : class AbortController {
+      constructor() {
+        this.signal = new AS()
+      }
+      abort(reason = new Error('This operation was aborted')) {
+        this.signal.reason = this.signal.reason || reason
+        this.signal.aborted = true
+        this.signal.dispatchEvent({
+          type: 'abort',
+          target: this.signal,
+        })
+      }
+    }
+
+const hasAbortSignal = typeof AbortSignal === 'function'
+// Some polyfills put this on the AC class, not global
+const hasACAbortSignal = typeof AC.AbortSignal === 'function'
+const AS = hasAbortSignal
+  ? AbortSignal
+  : hasACAbortSignal
+  ? AC.AbortController
+  : class AbortSignal {
+      constructor() {
+        this.reason = undefined
+        this.aborted = false
+        this._listeners = []
+      }
+      dispatchEvent(e) {
+        if (e.type === 'abort') {
+          this.aborted = true
+          this.onabort(e)
+          this._listeners.forEach(f => f(e), this)
+        }
+      }
+      onabort() {}
+      addEventListener(ev, fn) {
+        if (ev === 'abort') {
+          this._listeners.push(fn)
+        }
+      }
+      removeEventListener(ev, fn) {
+        if (ev === 'abort') {
+          this._listeners = this._listeners.filter(f => f !== fn)
+        }
+      }
+    }
+
+const warned = new Set()
+const deprecatedOption = (opt, instead) => {
+  const code = `LRU_CACHE_OPTION_${opt}`
+  if (shouldWarn(code)) {
+    warn(code, `${opt} option`, `options.${instead}`, LRUCache)
+  }
+}
+const deprecatedMethod = (method, instead) => {
+  const code = `LRU_CACHE_METHOD_${method}`
+  if (shouldWarn(code)) {
+    const { prototype } = LRUCache
+    const { get } = Object.getOwnPropertyDescriptor(prototype, method)
+    warn(code, `${method} method`, `cache.${instead}()`, get)
+  }
+}
+const deprecatedProperty = (field, instead) => {
+  const code = `LRU_CACHE_PROPERTY_${field}`
+  if (shouldWarn(code)) {
+    const { prototype } = LRUCache
+    const { get } = Object.getOwnPropertyDescriptor(prototype, field)
+    warn(code, `${field} property`, `cache.${instead}`, get)
+  }
+}
+
+const emitWarning = (...a) => {
+  typeof process === 'object' &&
+  process &&
+  typeof process.emitWarning === 'function'
+    ? process.emitWarning(...a)
+    : console.error(...a)
+}
+
+const shouldWarn = code => !warned.has(code)
+
+const warn = (code, what, instead, fn) => {
+  warned.add(code)
+  const msg = `The ${what} is deprecated. Please use ${instead} instead.`
+  emitWarning(msg, 'DeprecationWarning', code, fn)
+}
+
+const isPosInt = n => n && n === Math.floor(n) && n > 0 && isFinite(n)
+
+/* istanbul ignore next - This is a little bit ridiculous, tbh.
+ * The maximum array length is 2^32-1 or thereabouts on most JS impls.
+ * And well before that point, you're caching the entire world, I mean,
+ * that's ~32GB of just integers for the next/prev links, plus whatever
+ * else to hold that many keys and values.  Just filling the memory with
+ * zeroes at init time is brutal when you get that big.
+ * But why not be complete?
+ * Maybe in the future, these limits will have expanded. */
+const getUintArray = max =>
+  !isPosInt(max)
+    ? null
+    : max <= Math.pow(2, 8)
+    ? Uint8Array
+    : max <= Math.pow(2, 16)
+    ? Uint16Array
+    : max <= Math.pow(2, 32)
+    ? Uint32Array
+    : max <= Number.MAX_SAFE_INTEGER
+    ? ZeroArray
+    : null
+
+class ZeroArray extends Array {
+  constructor(size) {
+    super(size)
+    this.fill(0)
+  }
+}
+
+class Stack {
+  constructor(max) {
+    if (max === 0) {
+      return []
+    }
+    const UintArray = getUintArray(max)
+    this.heap = new UintArray(max)
+    this.length = 0
+  }
+  push(n) {
+    this.heap[this.length++] = n
+  }
+  pop() {
+    return this.heap[--this.length]
+  }
+}
+
+class LRUCache {
+  constructor(options = {}) {
+    const {
+      max = 0,
+      ttl,
+      ttlResolution = 1,
+      ttlAutopurge,
+      updateAgeOnGet,
+      updateAgeOnHas,
+      allowStale,
+      dispose,
+      disposeAfter,
+      noDisposeOnSet,
+      noUpdateTTL,
+      maxSize = 0,
+      maxEntrySize = 0,
+      sizeCalculation,
+      fetchMethod,
+      fetchContext,
+      noDeleteOnFetchRejection,
+      noDeleteOnStaleGet,
+      allowStaleOnFetchRejection,
+      allowStaleOnFetchAbort,
+      ignoreFetchAbort,
+    } = options
+
+    // deprecated options, don't trigger a warning for getting them if
+    // the thing being passed in is another LRUCache we're copying.
+    const { length, maxAge, stale } =
+      options instanceof LRUCache ? {} : options
+
+    if (max !== 0 && !isPosInt(max)) {
+      throw new TypeError('max option must be a nonnegative integer')
+    }
+
+    const UintArray = max ? getUintArray(max) : Array
+    if (!UintArray) {
+      throw new Error('invalid max value: ' + max)
+    }
+
+    this.max = max
+    this.maxSize = maxSize
+    this.maxEntrySize = maxEntrySize || this.maxSize
+    this.sizeCalculation = sizeCalculation || length
+    if (this.sizeCalculation) {
+      if (!this.maxSize && !this.maxEntrySize) {
+        throw new TypeError(
+          'cannot set sizeCalculation without setting maxSize or maxEntrySize'
+        )
+      }
+      if (typeof this.sizeCalculation !== 'function') {
+        throw new TypeError('sizeCalculation set to non-function')
+      }
+    }
+
+    this.fetchMethod = fetchMethod || null
+    if (this.fetchMethod && typeof this.fetchMethod !== 'function') {
+      throw new TypeError(
+        'fetchMethod must be a function if specified'
+      )
+    }
+
+    this.fetchContext = fetchContext
+    if (!this.fetchMethod && fetchContext !== undefined) {
+      throw new TypeError(
+        'cannot set fetchContext without fetchMethod'
+      )
+    }
+
+    this.keyMap = new Map()
+    this.keyList = new Array(max).fill(null)
+    this.valList = new Array(max).fill(null)
+    this.next = new UintArray(max)
+    this.prev = new UintArray(max)
+    this.head = 0
+    this.tail = 0
+    this.free = new Stack(max)
+    this.initialFill = 1
+    this.size = 0
+
+    if (typeof dispose === 'function') {
+      this.dispose = dispose
+    }
+    if (typeof disposeAfter === 'function') {
+      this.disposeAfter = disposeAfter
+      this.disposed = []
+    } else {
+      this.disposeAfter = null
+      this.disposed = null
+    }
+    this.noDisposeOnSet = !!noDisposeOnSet
+    this.noUpdateTTL = !!noUpdateTTL
+    this.noDeleteOnFetchRejection = !!noDeleteOnFetchRejection
+    this.allowStaleOnFetchRejection = !!allowStaleOnFetchRejection
+    this.allowStaleOnFetchAbort = !!allowStaleOnFetchAbort
+    this.ignoreFetchAbort = !!ignoreFetchAbort
+
+    // NB: maxEntrySize is set to maxSize if it's set
+    if (this.maxEntrySize !== 0) {
+      if (this.maxSize !== 0) {
+        if (!isPosInt(this.maxSize)) {
+          throw new TypeError(
+            'maxSize must be a positive integer if specified'
+          )
+        }
+      }
+      if (!isPosInt(this.maxEntrySize)) {
+        throw new TypeError(
+          'maxEntrySize must be a positive integer if specified'
+        )
+      }
+      this.initializeSizeTracking()
+    }
+
+    this.allowStale = !!allowStale || !!stale
+    this.noDeleteOnStaleGet = !!noDeleteOnStaleGet
+    this.updateAgeOnGet = !!updateAgeOnGet
+    this.updateAgeOnHas = !!updateAgeOnHas
+    this.ttlResolution =
+      isPosInt(ttlResolution) || ttlResolution === 0
+        ? ttlResolution
+        : 1
+    this.ttlAutopurge = !!ttlAutopurge
+    this.ttl = ttl || maxAge || 0
+    if (this.ttl) {
+      if (!isPosInt(this.ttl)) {
+        throw new TypeError(
+          'ttl must be a positive integer if specified'
+        )
+      }
+      this.initializeTTLTracking()
+    }
+
+    // do not allow completely unbounded caches
+    if (this.max === 0 && this.ttl === 0 && this.maxSize === 0) {
+      throw new TypeError(
+        'At least one of max, maxSize, or ttl is required'
+      )
+    }
+    if (!this.ttlAutopurge && !this.max && !this.maxSize) {
+      const code = 'LRU_CACHE_UNBOUNDED'
+      if (shouldWarn(code)) {
+        warned.add(code)
+        const msg =
+          'TTL caching without ttlAutopurge, max, or maxSize can ' +
+          'result in unbounded memory consumption.'
+        emitWarning(msg, 'UnboundedCacheWarning', code, LRUCache)
+      }
+    }
+
+    if (stale) {
+      deprecatedOption('stale', 'allowStale')
+    }
+    if (maxAge) {
+      deprecatedOption('maxAge', 'ttl')
+    }
+    if (length) {
+      deprecatedOption('length', 'sizeCalculation')
+    }
+  }
+
+  getRemainingTTL(key) {
+    return this.has(key, { updateAgeOnHas: false }) ? Infinity : 0
+  }
+
+  initializeTTLTracking() {
+    this.ttls = new ZeroArray(this.max)
+    this.starts = new ZeroArray(this.max)
+
+    this.setItemTTL = (index, ttl, start = perf.now()) => {
+      this.starts[index] = ttl !== 0 ? start : 0
+      this.ttls[index] = ttl
+      if (ttl !== 0 && this.ttlAutopurge) {
+        const t = setTimeout(() => {
+          if (this.isStale(index)) {
+            this.delete(this.keyList[index])
+          }
+        }, ttl + 1)
+        /* istanbul ignore else - unref() not supported on all platforms */
+        if (t.unref) {
+          t.unref()
+        }
+      }
+    }
+
+    this.updateItemAge = index => {
+      this.starts[index] = this.ttls[index] !== 0 ? perf.now() : 0
+    }
+
+    this.statusTTL = (status, index) => {
+      if (status) {
+        status.ttl = this.ttls[index]
+        status.start = this.starts[index]
+        status.now = cachedNow || getNow()
+        status.remainingTTL = status.now + status.ttl - status.start
+      }
+    }
+
+    // debounce calls to perf.now() to 1s so we're not hitting
+    // that costly call repeatedly.
+    let cachedNow = 0
+    const getNow = () => {
+      const n = perf.now()
+      if (this.ttlResolution > 0) {
+        cachedNow = n
+        const t = setTimeout(
+          () => (cachedNow = 0),
+          this.ttlResolution
+        )
+        /* istanbul ignore else - not available on all platforms */
+        if (t.unref) {
+          t.unref()
+        }
+      }
+      return n
+    }
+
+    this.getRemainingTTL = key => {
+      const index = this.keyMap.get(key)
+      if (index === undefined) {
+        return 0
+      }
+      return this.ttls[index] === 0 || this.starts[index] === 0
+        ? Infinity
+        : this.starts[index] +
+            this.ttls[index] -
+            (cachedNow || getNow())
+    }
+
+    this.isStale = index => {
+      return (
+        this.ttls[index] !== 0 &&
+        this.starts[index] !== 0 &&
+        (cachedNow || getNow()) - this.starts[index] >
+          this.ttls[index]
+      )
+    }
+  }
+  updateItemAge(_index) {}
+  statusTTL(_status, _index) {}
+  setItemTTL(_index, _ttl, _start) {}
+  isStale(_index) {
+    return false
+  }
+
+  initializeSizeTracking() {
+    this.calculatedSize = 0
+    this.sizes = new ZeroArray(this.max)
+    this.removeItemSize = index => {
+      this.calculatedSize -= this.sizes[index]
+      this.sizes[index] = 0
+    }
+    this.requireSize = (k, v, size, sizeCalculation) => {
+      // provisionally accept background fetches.
+      // actual value size will be checked when they return.
+      if (this.isBackgroundFetch(v)) {
+        return 0
+      }
+      if (!isPosInt(size)) {
+        if (sizeCalculation) {
+          if (typeof sizeCalculation !== 'function') {
+            throw new TypeError('sizeCalculation must be a function')
+          }
+          size = sizeCalculation(v, k)
+          if (!isPosInt(size)) {
+            throw new TypeError(
+              'sizeCalculation return invalid (expect positive integer)'
+            )
+          }
+        } else {
+          throw new TypeError(
+            'invalid size value (must be positive integer). ' +
+              'When maxSize or maxEntrySize is used, sizeCalculation or size ' +
+              'must be set.'
+          )
+        }
+      }
+      return size
+    }
+    this.addItemSize = (index, size, status) => {
+      this.sizes[index] = size
+      if (this.maxSize) {
+        const maxSize = this.maxSize - this.sizes[index]
+        while (this.calculatedSize > maxSize) {
+          this.evict(true)
+        }
+      }
+      this.calculatedSize += this.sizes[index]
+      if (status) {
+        status.entrySize = size
+        status.totalCalculatedSize = this.calculatedSize
+      }
+    }
+  }
+  removeItemSize(_index) {}
+  addItemSize(_index, _size) {}
+  requireSize(_k, _v, size, sizeCalculation) {
+    if (size || sizeCalculation) {
+      throw new TypeError(
+        'cannot set size without setting maxSize or maxEntrySize on cache'
+      )
+    }
+  }
+
+  *indexes({ allowStale = this.allowStale } = {}) {
+    if (this.size) {
+      for (let i = this.tail; true; ) {
+        if (!this.isValidIndex(i)) {
+          break
+        }
+        if (allowStale || !this.isStale(i)) {
+          yield i
+        }
+        if (i === this.head) {
+          break
+        } else {
+          i = this.prev[i]
+        }
+      }
+    }
+  }
+
+  *rindexes({ allowStale = this.allowStale } = {}) {
+    if (this.size) {
+      for (let i = this.head; true; ) {
+        if (!this.isValidIndex(i)) {
+          break
+        }
+        if (allowStale || !this.isStale(i)) {
+          yield i
+        }
+        if (i === this.tail) {
+          break
+        } else {
+          i = this.next[i]
+        }
+      }
+    }
+  }
+
+  isValidIndex(index) {
+    return (
+      index !== undefined &&
+      this.keyMap.get(this.keyList[index]) === index
+    )
+  }
+
+  *entries() {
+    for (const i of this.indexes()) {
+      if (
+        this.valList[i] !== undefined &&
+        this.keyList[i] !== undefined &&
+        !this.isBackgroundFetch(this.valList[i])
+      ) {
+        yield [this.keyList[i], this.valList[i]]
+      }
+    }
+  }
+  *rentries() {
+    for (const i of this.rindexes()) {
+      if (
+        this.valList[i] !== undefined &&
+        this.keyList[i] !== undefined &&
+        !this.isBackgroundFetch(this.valList[i])
+      ) {
+        yield [this.keyList[i], this.valList[i]]
+      }
+    }
+  }
+
+  *keys() {
+    for (const i of this.indexes()) {
+      if (
+        this.keyList[i] !== undefined &&
+        !this.isBackgroundFetch(this.valList[i])
+      ) {
+        yield this.keyList[i]
+      }
+    }
+  }
+  *rkeys() {
+    for (const i of this.rindexes()) {
+      if (
+        this.keyList[i] !== undefined &&
+        !this.isBackgroundFetch(this.valList[i])
+      ) {
+        yield this.keyList[i]
+      }
+    }
+  }
+
+  *values() {
+    for (const i of this.indexes()) {
+      if (
+        this.valList[i] !== undefined &&
+        !this.isBackgroundFetch(this.valList[i])
+      ) {
+        yield this.valList[i]
+      }
+    }
+  }
+  *rvalues() {
+    for (const i of this.rindexes()) {
+      if (
+        this.valList[i] !== undefined &&
+        !this.isBackgroundFetch(this.valList[i])
+      ) {
+        yield this.valList[i]
+      }
+    }
+  }
+
+  [Symbol.iterator]() {
+    return this.entries()
+  }
+
+  find(fn, getOptions) {
+    for (const i of this.indexes()) {
+      const v = this.valList[i]
+      const value = this.isBackgroundFetch(v)
+        ? v.__staleWhileFetching
+        : v
+      if (value === undefined) continue
+      if (fn(value, this.keyList[i], this)) {
+        return this.get(this.keyList[i], getOptions)
+      }
+    }
+  }
+
+  forEach(fn, thisp = this) {
+    for (const i of this.indexes()) {
+      const v = this.valList[i]
+      const value = this.isBackgroundFetch(v)
+        ? v.__staleWhileFetching
+        : v
+      if (value === undefined) continue
+      fn.call(thisp, value, this.keyList[i], this)
+    }
+  }
+
+  rforEach(fn, thisp = this) {
+    for (const i of this.rindexes()) {
+      const v = this.valList[i]
+      const value = this.isBackgroundFetch(v)
+        ? v.__staleWhileFetching
+        : v
+      if (value === undefined) continue
+      fn.call(thisp, value, this.keyList[i], this)
+    }
+  }
+
+  get prune() {
+    deprecatedMethod('prune', 'purgeStale')
+    return this.purgeStale
+  }
+
+  purgeStale() {
+    let deleted = false
+    for (const i of this.rindexes({ allowStale: true })) {
+      if (this.isStale(i)) {
+        this.delete(this.keyList[i])
+        deleted = true
+      }
+    }
+    return deleted
+  }
+
+  dump() {
+    const arr = []
+    for (const i of this.indexes({ allowStale: true })) {
+      const key = this.keyList[i]
+      const v = this.valList[i]
+      const value = this.isBackgroundFetch(v)
+        ? v.__staleWhileFetching
+        : v
+      if (value === undefined) continue
+      const entry = { value }
+      if (this.ttls) {
+        entry.ttl = this.ttls[i]
+        // always dump the start relative to a portable timestamp
+        // it's ok for this to be a bit slow, it's a rare operation.
+        const age = perf.now() - this.starts[i]
+        entry.start = Math.floor(Date.now() - age)
+      }
+      if (this.sizes) {
+        entry.size = this.sizes[i]
+      }
+      arr.unshift([key, entry])
+    }
+    return arr
+  }
+
+  load(arr) {
+    this.clear()
+    for (const [key, entry] of arr) {
+      if (entry.start) {
+        // entry.start is a portable timestamp, but we may be using
+        // node's performance.now(), so calculate the offset.
+        // it's ok for this to be a bit slow, it's a rare operation.
+        const age = Date.now() - entry.start
+        entry.start = perf.now() - age
+      }
+      this.set(key, entry.value, entry)
+    }
+  }
+
+  dispose(_v, _k, _reason) {}
+
+  set(
+    k,
+    v,
+    {
+      ttl = this.ttl,
+      start,
+      noDisposeOnSet = this.noDisposeOnSet,
+      size = 0,
+      sizeCalculation = this.sizeCalculation,
+      noUpdateTTL = this.noUpdateTTL,
+      status,
+    } = {}
+  ) {
+    size = this.requireSize(k, v, size, sizeCalculation)
+    // if the item doesn't fit, don't do anything
+    // NB: maxEntrySize set to maxSize by default
+    if (this.maxEntrySize && size > this.maxEntrySize) {
+      if (status) {
+        status.set = 'miss'
+        status.maxEntrySizeExceeded = true
+      }
+      // have to delete, in case a background fetch is there already.
+      // in non-async cases, this is a no-op
+      this.delete(k)
+      return this
+    }
+    let index = this.size === 0 ? undefined : this.keyMap.get(k)
+    if (index === undefined) {
+      // addition
+      index = this.newIndex()
+      this.keyList[index] = k
+      this.valList[index] = v
+      this.keyMap.set(k, index)
+      this.next[this.tail] = index
+      this.prev[index] = this.tail
+      this.tail = index
+      this.size++
+      this.addItemSize(index, size, status)
+      if (status) {
+        status.set = 'add'
+      }
+      noUpdateTTL = false
+    } else {
+      // update
+      this.moveToTail(index)
+      const oldVal = this.valList[index]
+      if (v !== oldVal) {
+        if (this.isBackgroundFetch(oldVal)) {
+          oldVal.__abortController.abort(new Error('replaced'))
+        } else {
+          if (!noDisposeOnSet) {
+            this.dispose(oldVal, k, 'set')
+            if (this.disposeAfter) {
+              this.disposed.push([oldVal, k, 'set'])
+            }
+          }
+        }
+        this.removeItemSize(index)
+        this.valList[index] = v
+        this.addItemSize(index, size, status)
+        if (status) {
+          status.set = 'replace'
+          const oldValue =
+            oldVal && this.isBackgroundFetch(oldVal)
+              ? oldVal.__staleWhileFetching
+              : oldVal
+          if (oldValue !== undefined) status.oldValue = oldValue
+        }
+      } else if (status) {
+        status.set = 'update'
+      }
+    }
+    if (ttl !== 0 && this.ttl === 0 && !this.ttls) {
+      this.initializeTTLTracking()
+    }
+    if (!noUpdateTTL) {
+      this.setItemTTL(index, ttl, start)
+    }
+    this.statusTTL(status, index)
+    if (this.disposeAfter) {
+      while (this.disposed.length) {
+        this.disposeAfter(...this.disposed.shift())
+      }
+    }
+    return this
+  }
+
+  newIndex() {
+    if (this.size === 0) {
+      return this.tail
+    }
+    if (this.size === this.max && this.max !== 0) {
+      return this.evict(false)
+    }
+    if (this.free.length !== 0) {
+      return this.free.pop()
+    }
+    // initial fill, just keep writing down the list
+    return this.initialFill++
+  }
+
+  pop() {
+    if (this.size) {
+      const val = this.valList[this.head]
+      this.evict(true)
+      return val
+    }
+  }
+
+  evict(free) {
+    const head = this.head
+    const k = this.keyList[head]
+    const v = this.valList[head]
+    if (this.isBackgroundFetch(v)) {
+      v.__abortController.abort(new Error('evicted'))
+    } else {
+      this.dispose(v, k, 'evict')
+      if (this.disposeAfter) {
+        this.disposed.push([v, k, 'evict'])
+      }
+    }
+    this.removeItemSize(head)
+    // if we aren't about to use the index, then null these out
+    if (free) {
+      this.keyList[head] = null
+      this.valList[head] = null
+      this.free.push(head)
+    }
+    this.head = this.next[head]
+    this.keyMap.delete(k)
+    this.size--
+    return head
+  }
+
+  has(k, { updateAgeOnHas = this.updateAgeOnHas, status } = {}) {
+    const index = this.keyMap.get(k)
+    if (index !== undefined) {
+      if (!this.isStale(index)) {
+        if (updateAgeOnHas) {
+          this.updateItemAge(index)
+        }
+        if (status) status.has = 'hit'
+        this.statusTTL(status, index)
+        return true
+      } else if (status) {
+        status.has = 'stale'
+        this.statusTTL(status, index)
+      }
+    } else if (status) {
+      status.has = 'miss'
+    }
+    return false
+  }
+
+  // like get(), but without any LRU updating or TTL expiration
+  peek(k, { allowStale = this.allowStale } = {}) {
+    const index = this.keyMap.get(k)
+    if (index !== undefined && (allowStale || !this.isStale(index))) {
+      const v = this.valList[index]
+      // either stale and allowed, or forcing a refresh of non-stale value
+      return this.isBackgroundFetch(v) ? v.__staleWhileFetching : v
+    }
+  }
+
+  backgroundFetch(k, index, options, context) {
+    const v = index === undefined ? undefined : this.valList[index]
+    if (this.isBackgroundFetch(v)) {
+      return v
+    }
+    const ac = new AC()
+    if (options.signal) {
+      options.signal.addEventListener('abort', () =>
+        ac.abort(options.signal.reason)
+      )
+    }
+    const fetchOpts = {
+      signal: ac.signal,
+      options,
+      context,
+    }
+    const cb = (v, updateCache = false) => {
+      const { aborted } = ac.signal
+      const ignoreAbort = options.ignoreFetchAbort && v !== undefined
+      if (options.status) {
+        if (aborted && !updateCache) {
+          options.status.fetchAborted = true
+          options.status.fetchError = ac.signal.reason
+          if (ignoreAbort) options.status.fetchAbortIgnored = true
+        } else {
+          options.status.fetchResolved = true
+        }
+      }
+      if (aborted && !ignoreAbort && !updateCache) {
+        return fetchFail(ac.signal.reason)
+      }
+      // either we didn't abort, and are still here, or we did, and ignored
+      if (this.valList[index] === p) {
+        if (v === undefined) {
+          if (p.__staleWhileFetching) {
+            this.valList[index] = p.__staleWhileFetching
+          } else {
+            this.delete(k)
+          }
+        } else {
+          if (options.status) options.status.fetchUpdated = true
+          this.set(k, v, fetchOpts.options)
+        }
+      }
+      return v
+    }
+    const eb = er => {
+      if (options.status) {
+        options.status.fetchRejected = true
+        options.status.fetchError = er
+      }
+      return fetchFail(er)
+    }
+    const fetchFail = er => {
+      const { aborted } = ac.signal
+      const allowStaleAborted =
+        aborted && options.allowStaleOnFetchAbort
+      const allowStale =
+        allowStaleAborted || options.allowStaleOnFetchRejection
+      const noDelete = allowStale || options.noDeleteOnFetchRejection
+      if (this.valList[index] === p) {
+        // if we allow stale on fetch rejections, then we need to ensure that
+        // the stale value is not removed from the cache when the fetch fails.
+        const del = !noDelete || p.__staleWhileFetching === undefined
+        if (del) {
+          this.delete(k)
+        } else if (!allowStaleAborted) {
+          // still replace the *promise* with the stale value,
+          // since we are done with the promise at this point.
+          // leave it untouched if we're still waiting for an
+          // aborted background fetch that hasn't yet returned.
+          this.valList[index] = p.__staleWhileFetching
+        }
+      }
+      if (allowStale) {
+        if (options.status && p.__staleWhileFetching !== undefined) {
+          options.status.returnedStale = true
+        }
+        return p.__staleWhileFetching
+      } else if (p.__returned === p) {
+        throw er
+      }
+    }
+    const pcall = (res, rej) => {
+      this.fetchMethod(k, v, fetchOpts).then(v => res(v), rej)
+      // ignored, we go until we finish, regardless.
+      // defer check until we are actually aborting,
+      // so fetchMethod can override.
+      ac.signal.addEventListener('abort', () => {
+        if (
+          !options.ignoreFetchAbort ||
+          options.allowStaleOnFetchAbort
+        ) {
+          res()
+          // when it eventually resolves, update the cache.
+          if (options.allowStaleOnFetchAbort) {
+            res = v => cb(v, true)
+          }
+        }
+      })
+    }
+    if (options.status) options.status.fetchDispatched = true
+    const p = new Promise(pcall).then(cb, eb)
+    p.__abortController = ac
+    p.__staleWhileFetching = v
+    p.__returned = null
+    if (index === undefined) {
+      // internal, don't expose status.
+      this.set(k, p, { ...fetchOpts.options, status: undefined })
+      index = this.keyMap.get(k)
+    } else {
+      this.valList[index] = p
+    }
+    return p
+  }
+
+  isBackgroundFetch(p) {
+    return (
+      p &&
+      typeof p === 'object' &&
+      typeof p.then === 'function' &&
+      Object.prototype.hasOwnProperty.call(
+        p,
+        '__staleWhileFetching'
+      ) &&
+      Object.prototype.hasOwnProperty.call(p, '__returned') &&
+      (p.__returned === p || p.__returned === null)
+    )
+  }
+
+  // this takes the union of get() and set() opts, because it does both
+  async fetch(
+    k,
+    {
+      // get options
+      allowStale = this.allowStale,
+      updateAgeOnGet = this.updateAgeOnGet,
+      noDeleteOnStaleGet = this.noDeleteOnStaleGet,
+      // set options
+      ttl = this.ttl,
+      noDisposeOnSet = this.noDisposeOnSet,
+      size = 0,
+      sizeCalculation = this.sizeCalculation,
+      noUpdateTTL = this.noUpdateTTL,
+      // fetch exclusive options
+      noDeleteOnFetchRejection = this.noDeleteOnFetchRejection,
+      allowStaleOnFetchRejection = this.allowStaleOnFetchRejection,
+      ignoreFetchAbort = this.ignoreFetchAbort,
+      allowStaleOnFetchAbort = this.allowStaleOnFetchAbort,
+      fetchContext = this.fetchContext,
+      forceRefresh = false,
+      status,
+      signal,
+    } = {}
+  ) {
+    if (!this.fetchMethod) {
+      if (status) status.fetch = 'get'
+      return this.get(k, {
+        allowStale,
+        updateAgeOnGet,
+        noDeleteOnStaleGet,
+        status,
+      })
+    }
+
+    const options = {
+      allowStale,
+      updateAgeOnGet,
+      noDeleteOnStaleGet,
+      ttl,
+      noDisposeOnSet,
+      size,
+      sizeCalculation,
+      noUpdateTTL,
+      noDeleteOnFetchRejection,
+      allowStaleOnFetchRejection,
+      allowStaleOnFetchAbort,
+      ignoreFetchAbort,
+      status,
+      signal,
+    }
+
+    let index = this.keyMap.get(k)
+    if (index === undefined) {
+      if (status) status.fetch = 'miss'
+      const p = this.backgroundFetch(k, index, options, fetchContext)
+      return (p.__returned = p)
+    } else {
+      // in cache, maybe already fetching
+      const v = this.valList[index]
+      if (this.isBackgroundFetch(v)) {
+        const stale =
+          allowStale && v.__staleWhileFetching !== undefined
+        if (status) {
+          status.fetch = 'inflight'
+          if (stale) status.returnedStale = true
+        }
+        return stale ? v.__staleWhileFetching : (v.__returned = v)
+      }
+
+      // if we force a refresh, that means do NOT serve the cached value,
+      // unless we are already in the process of refreshing the cache.
+      const isStale = this.isStale(index)
+      if (!forceRefresh && !isStale) {
+        if (status) status.fetch = 'hit'
+        this.moveToTail(index)
+        if (updateAgeOnGet) {
+          this.updateItemAge(index)
+        }
+        this.statusTTL(status, index)
+        return v
+      }
+
+      // ok, it is stale or a forced refresh, and not already fetching.
+      // refresh the cache.
+      const p = this.backgroundFetch(k, index, options, fetchContext)
+      const hasStale = p.__staleWhileFetching !== undefined
+      const staleVal = hasStale && allowStale
+      if (status) {
+        status.fetch = hasStale && isStale ? 'stale' : 'refresh'
+        if (staleVal && isStale) status.returnedStale = true
+      }
+      return staleVal ? p.__staleWhileFetching : (p.__returned = p)
+    }
+  }
+
+  get(
+    k,
+    {
+      allowStale = this.allowStale,
+      updateAgeOnGet = this.updateAgeOnGet,
+      noDeleteOnStaleGet = this.noDeleteOnStaleGet,
+      status,
+    } = {}
+  ) {
+    const index = this.keyMap.get(k)
+    if (index !== undefined) {
+      const value = this.valList[index]
+      const fetching = this.isBackgroundFetch(value)
+      this.statusTTL(status, index)
+      if (this.isStale(index)) {
+        if (status) status.get = 'stale'
+        // delete only if not an in-flight background fetch
+        if (!fetching) {
+          if (!noDeleteOnStaleGet) {
+            this.delete(k)
+          }
+          if (status) status.returnedStale = allowStale
+          return allowStale ? value : undefined
+        } else {
+          if (status) {
+            status.returnedStale =
+              allowStale && value.__staleWhileFetching !== undefined
+          }
+          return allowStale ? value.__staleWhileFetching : undefined
+        }
+      } else {
+        if (status) status.get = 'hit'
+        // if we're currently fetching it, we don't actually have it yet
+        // it's not stale, which means this isn't a staleWhileRefetching.
+        // If it's not stale, and fetching, AND has a __staleWhileFetching
+        // value, then that means the user fetched with {forceRefresh:true},
+        // so it's safe to return that value.
+        if (fetching) {
+          return value.__staleWhileFetching
+        }
+        this.moveToTail(index)
+        if (updateAgeOnGet) {
+          this.updateItemAge(index)
+        }
+        return value
+      }
+    } else if (status) {
+      status.get = 'miss'
+    }
+  }
+
+  connect(p, n) {
+    this.prev[n] = p
+    this.next[p] = n
+  }
+
+  moveToTail(index) {
+    // if tail already, nothing to do
+    // if head, move head to next[index]
+    // else
+    //   move next[prev[index]] to next[index] (head has no prev)
+    //   move prev[next[index]] to prev[index]
+    // prev[index] = tail
+    // next[tail] = index
+    // tail = index
+    if (index !== this.tail) {
+      if (index === this.head) {
+        this.head = this.next[index]
+      } else {
+        this.connect(this.prev[index], this.next[index])
+      }
+      this.connect(this.tail, index)
+      this.tail = index
+    }
+  }
+
+  get del() {
+    deprecatedMethod('del', 'delete')
+    return this.delete
+  }
+
+  delete(k) {
+    let deleted = false
+    if (this.size !== 0) {
+      const index = this.keyMap.get(k)
+      if (index !== undefined) {
+        deleted = true
+        if (this.size === 1) {
+          this.clear()
+        } else {
+          this.removeItemSize(index)
+          const v = this.valList[index]
+          if (this.isBackgroundFetch(v)) {
+            v.__abortController.abort(new Error('deleted'))
+          } else {
+            this.dispose(v, k, 'delete')
+            if (this.disposeAfter) {
+              this.disposed.push([v, k, 'delete'])
+            }
+          }
+          this.keyMap.delete(k)
+          this.keyList[index] = null
+          this.valList[index] = null
+          if (index === this.tail) {
+            this.tail = this.prev[index]
+          } else if (index === this.head) {
+            this.head = this.next[index]
+          } else {
+            this.next[this.prev[index]] = this.next[index]
+            this.prev[this.next[index]] = this.prev[index]
+          }
+          this.size--
+          this.free.push(index)
+        }
+      }
+    }
+    if (this.disposed) {
+      while (this.disposed.length) {
+        this.disposeAfter(...this.disposed.shift())
+      }
+    }
+    return deleted
+  }
+
+  clear() {
+    for (const index of this.rindexes({ allowStale: true })) {
+      const v = this.valList[index]
+      if (this.isBackgroundFetch(v)) {
+        v.__abortController.abort(new Error('deleted'))
+      } else {
+        const k = this.keyList[index]
+        this.dispose(v, k, 'delete')
+        if (this.disposeAfter) {
+          this.disposed.push([v, k, 'delete'])
+        }
+      }
+    }
+
+    this.keyMap.clear()
+    this.valList.fill(null)
+    this.keyList.fill(null)
+    if (this.ttls) {
+      this.ttls.fill(0)
+      this.starts.fill(0)
+    }
+    if (this.sizes) {
+      this.sizes.fill(0)
+    }
+    this.head = 0
+    this.tail = 0
+    this.initialFill = 1
+    this.free.length = 0
+    this.calculatedSize = 0
+    this.size = 0
+    if (this.disposed) {
+      while (this.disposed.length) {
+        this.disposeAfter(...this.disposed.shift())
+      }
+    }
+  }
+
+  get reset() {
+    deprecatedMethod('reset', 'clear')
+    return this.clear
+  }
+
+  get length() {
+    deprecatedProperty('length', 'size')
+    return this.size
+  }
+
+  static get AbortController() {
+    return AC
+  }
+  static get AbortSignal() {
+    return AS
+  }
+}
+
+export default LRUCache
diff --git a/node_modules/proxy-agent/node_modules/lru-cache/package.json b/node_modules/proxy-agent/node_modules/lru-cache/package.json
new file mode 100644
index 0000000..9684991
--- /dev/null
+++ b/node_modules/proxy-agent/node_modules/lru-cache/package.json
@@ -0,0 +1,96 @@
+{
+  "name": "lru-cache",
+  "description": "A cache object that deletes the least-recently-used items.",
+  "version": "7.18.3",
+  "author": "Isaac Z. Schlueter <[email protected]>",
+  "keywords": [
+    "mru",
+    "lru",
+    "cache"
+  ],
+  "sideEffects": false,
+  "scripts": {
+    "build": "npm run prepare",
+    "pretest": "npm run prepare",
+    "presnap": "npm run prepare",
+    "prepare": "node ./scripts/transpile-to-esm.js",
+    "size": "size-limit",
+    "test": "tap",
+    "snap": "tap",
+    "preversion": "npm test",
+    "postversion": "npm publish",
+    "prepublishOnly": "git push origin --follow-tags",
+    "format": "prettier --write .",
+    "typedoc": "typedoc ./index.d.ts"
+  },
+  "type": "commonjs",
+  "main": "./index.js",
+  "module": "./index.mjs",
+  "types": "./index.d.ts",
+  "exports": {
+    ".": {
+      "import": {
+        "types": "./index.d.ts",
+        "default": "./index.mjs"
+      },
+      "require": {
+        "types": "./index.d.ts",
+        "default": "./index.js"
+      }
+    },
+    "./package.json": "./package.json"
+  },
+  "repository": "git://github.com/isaacs/node-lru-cache.git",
+  "devDependencies": {
+    "@size-limit/preset-small-lib": "^7.0.8",
+    "@types/node": "^17.0.31",
+    "@types/tap": "^15.0.6",
+    "benchmark": "^2.1.4",
+    "c8": "^7.11.2",
+    "clock-mock": "^1.0.6",
+    "eslint-config-prettier": "^8.5.0",
+    "prettier": "^2.6.2",
+    "size-limit": "^7.0.8",
+    "tap": "^16.3.4",
+    "ts-node": "^10.7.0",
+    "tslib": "^2.4.0",
+    "typedoc": "^0.23.24",
+    "typescript": "^4.6.4"
+  },
+  "license": "ISC",
+  "files": [
+    "index.js",
+    "index.mjs",
+    "index.d.ts"
+  ],
+  "engines": {
+    "node": ">=12"
+  },
+  "prettier": {
+    "semi": false,
+    "printWidth": 70,
+    "tabWidth": 2,
+    "useTabs": false,
+    "singleQuote": true,
+    "jsxSingleQuote": false,
+    "bracketSameLine": true,
+    "arrowParens": "avoid",
+    "endOfLine": "lf"
+  },
+  "tap": {
+    "nyc-arg": [
+      "--include=index.js"
+    ],
+    "node-arg": [
+      "--expose-gc",
+      "--require",
+      "ts-node/register"
+    ],
+    "ts": false
+  },
+  "size-limit": [
+    {
+      "path": "./index.js"
+    }
+  ]
+}
diff --git a/node_modules/proxy-agent/package.json b/node_modules/proxy-agent/package.json
new file mode 100644
index 0000000..8e7de45
--- /dev/null
+++ b/node_modules/proxy-agent/package.json
@@ -0,0 +1,60 @@
+{
+  "name": "proxy-agent",
+  "version": "6.3.0",
+  "description": "Maps proxy protocols to `http.Agent` implementations",
+  "main": "./dist/index.js",
+  "types": "./dist/index.d.ts",
+  "files": [
+    "dist"
+  ],
+  "engines": {
+    "node": ">= 14"
+  },
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/TooTallNate/proxy-agents.git",
+    "directory": "packages/proxy-agent"
+  },
+  "keywords": [
+    "http",
+    "https",
+    "socks",
+    "agent",
+    "mapping",
+    "proxy"
+  ],
+  "author": "Nathan Rajlich <[email protected]> (http://n8.io/)",
+  "license": "MIT",
+  "dependencies": {
+    "agent-base": "^7.0.2",
+    "debug": "^4.3.4",
+    "http-proxy-agent": "^7.0.0",
+    "https-proxy-agent": "^7.0.0",
+    "lru-cache": "^7.14.1",
+    "pac-proxy-agent": "^7.0.0",
+    "proxy-from-env": "^1.1.0",
+    "socks-proxy-agent": "^8.0.1"
+  },
+  "devDependencies": {
+    "@types/agent-base": "^4.2.0",
+    "@types/debug": "^4.1.7",
+    "@types/jest": "^29.5.1",
+    "@types/node": "^14.18.45",
+    "@types/proxy-from-env": "^1.0.1",
+    "@types/ws": "^8.5.4",
+    "async-listen": "^3.0.0",
+    "jest": "^29.5.0",
+    "socksv5": "github:TooTallNate/socksv5#fix/dstSock-close-event",
+    "ts-jest": "^29.1.0",
+    "typescript": "^5.0.4",
+    "ws": "^8.13.0",
+    "proxy": "2.1.1",
+    "tsconfig": "0.0.0"
+  },
+  "scripts": {
+    "build": "tsc",
+    "test": "jest --env node --verbose --bail",
+    "lint": "eslint . --ext .ts",
+    "pack": "node ../../scripts/pack.mjs"
+  }
+}
diff --git a/node_modules/puppeteer-core/README.md b/node_modules/puppeteer-core/README.md
index 2767e223..3ae87ad 100644
--- a/node_modules/puppeteer-core/README.md
+++ b/node_modules/puppeteer-core/README.md
@@ -59,6 +59,8 @@
 For a version of Puppeteer without the browser installation, see
 [`puppeteer-core`](#puppeteer-core).
 
+If used with TypeScript, the minimum supported TypeScript version is `4.7.4`.
+
 #### Configuration
 
 Puppeteer uses several defaults that can be customized through configuration
@@ -143,9 +145,11 @@
 import puppeteer from 'puppeteer';
 
 (async () => {
+  // Launch the browser and open a new blank page
   const browser = await puppeteer.launch();
   const page = await browser.newPage();
 
+  // Navigate the page to a URL
   await page.goto('https://developer.chrome.com/');
 
   // Set screen size
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Browser.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Browser.d.ts
index 579aec2..2723d14 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Browser.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Browser.d.ts
@@ -17,9 +17,9 @@
 import { ChildProcess } from 'child_process';
 import { Protocol } from 'devtools-protocol';
 import { EventEmitter } from '../common/EventEmitter.js';
-import type { Target } from '../common/Target.js';
 import type { BrowserContext } from './BrowserContext.js';
 import type { Page } from './Page.js';
+import type { Target } from './Target.js';
 /**
  * BrowserContext options.
  *
@@ -43,11 +43,11 @@
 /**
  * @public
  */
-export type TargetFilterCallback = (target: Protocol.Target.TargetInfo) => boolean;
+export type TargetFilterCallback = (target: Target) => boolean;
 /**
  * @internal
  */
-export type IsPageTargetCallback = (target: Protocol.Target.TargetInfo) => boolean;
+export type IsPageTargetCallback = (target: Target) => boolean;
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Browser.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Browser.d.ts.map
index 2695744..d9d4048 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Browser.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Browser.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Browser.d.ts","sourceRoot":"","sources":["../../../../src/api/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Browser.d.ts","sourceRoot":"","sources":["../../../../src/api/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Browser.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Browser.js
index 33df9a3..61a9392a 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Browser.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Browser.js
@@ -17,6 +17,8 @@
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.Browser = exports.WEB_PERMISSION_TO_PROTOCOL_PERMISSION = void 0;
 const EventEmitter_js_1 = require("../common/EventEmitter.js");
+const util_js_1 = require("../common/util.js");
+const Deferred_js_1 = require("../util/Deferred.js");
 /**
  * @internal
  */
@@ -188,8 +190,44 @@
     target() {
         throw new Error('Not implemented');
     }
-    waitForTarget() {
-        throw new Error('Not implemented');
+    /**
+     * Searches for a target in all browser contexts.
+     *
+     * @param predicate - A function to be run for every target.
+     * @returns The first target found that matches the `predicate` function.
+     *
+     * @example
+     *
+     * An example of finding a target for a page opened via `window.open`:
+     *
+     * ```ts
+     * await page.evaluate(() => window.open('https://www.example.com/'));
+     * const newWindowTarget = await browser.waitForTarget(
+     *   target => target.url() === 'https://www.example.com/'
+     * );
+     * ```
+     */
+    async waitForTarget(predicate, options = {}) {
+        const { timeout = 30000 } = options;
+        const targetDeferred = Deferred_js_1.Deferred.create();
+        this.on("targetcreated" /* BrowserEmittedEvents.TargetCreated */, check);
+        this.on("targetchanged" /* BrowserEmittedEvents.TargetChanged */, check);
+        try {
+            this.targets().forEach(check);
+            if (!timeout) {
+                return await targetDeferred.valueOrThrow();
+            }
+            return await (0, util_js_1.waitWithTimeout)(targetDeferred.valueOrThrow(), 'target', timeout);
+        }
+        finally {
+            this.off("targetcreated" /* BrowserEmittedEvents.TargetCreated */, check);
+            this.off("targetchanged" /* BrowserEmittedEvents.TargetChanged */, check);
+        }
+        async function check(target) {
+            if ((await predicate(target)) && !targetDeferred.resolved()) {
+                targetDeferred.resolve(target);
+            }
+        }
     }
     /**
      * An array of all open pages inside the Browser.
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Browser.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Browser.js.map
index 7d2044d..cbd9bb2 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Browser.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Browser.js.map
@@ -1 +1 @@
-{"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../../src/api/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../../src/api/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/BrowserContext.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/BrowserContext.d.ts
index 93247a7..eefd9ea 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/BrowserContext.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/BrowserContext.d.ts
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 import { EventEmitter } from '../common/EventEmitter.js';
-import { Target } from '../common/Target.js';
 import type { Permission, Browser } from './Browser.js';
 import { Page } from './Page.js';
+import type { Target } from './Target.js';
 /**
  * BrowserContexts provide a way to operate multiple independent browser
  * sessions. When a browser is launched, it has a single BrowserContext used by
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/BrowserContext.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/BrowserContext.d.ts.map
index 3e0c636..5fdc921 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/BrowserContext.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/BrowserContext.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"BrowserContext.d.ts","sourceRoot":"","sources":["../../../../src/api/BrowserContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAE3C,OAAO,KAAK,EAAC,UAAU,EAAE,OAAO,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,qBAAa,cAAe,SAAQ,YAAY;IAC9C;;OAEG;;IAKH;;OAEG;IACH,OAAO,IAAI,MAAM,EAAE;IAInB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,aAAa,CACX,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EACpD,OAAO,CAAC,EAAE;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC,GAC3B,OAAO,CAAC,MAAM,CAAC;IAKlB;;;;;;OAMG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAIxB;;;;;;OAMG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7E;;;;;;;;;;;OAWG;IACH,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzC;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;;;;;OAMG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,EAAE,IAAI,MAAM,GAAG,SAAS,CAE3B;CACF"}
\ No newline at end of file
+{"version":3,"file":"BrowserContext.d.ts","sourceRoot":"","sources":["../../../../src/api/BrowserContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAEvD,OAAO,KAAK,EAAC,UAAU,EAAE,OAAO,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,qBAAa,cAAe,SAAQ,YAAY;IAC9C;;OAEG;;IAKH;;OAEG;IACH,OAAO,IAAI,MAAM,EAAE;IAInB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,aAAa,CACX,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EACpD,OAAO,CAAC,EAAE;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC,GAC3B,OAAO,CAAC,MAAM,CAAC;IAKlB;;;;;;OAMG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAIxB;;;;;;OAMG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7E;;;;;;;;;;;OAWG;IACH,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzC;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;;;;;OAMG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,EAAE,IAAI,MAAM,GAAG,SAAS,CAE3B;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Dialog.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Dialog.d.ts
new file mode 100644
index 0000000..3171556
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Dialog.d.ts
@@ -0,0 +1,80 @@
+/**
+ * Copyright 2017 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Protocol } from 'devtools-protocol';
+/**
+ * Dialog instances are dispatched by the {@link Page} via the `dialog` event.
+ *
+ * @remarks
+ *
+ * @example
+ *
+ * ```ts
+ * import puppeteer from 'puppeteer';
+ *
+ * (async () => {
+ *   const browser = await puppeteer.launch();
+ *   const page = await browser.newPage();
+ *   page.on('dialog', async dialog => {
+ *     console.log(dialog.message());
+ *     await dialog.dismiss();
+ *     await browser.close();
+ *   });
+ *   page.evaluate(() => alert('1'));
+ * })();
+ * ```
+ *
+ * @public
+ */
+export declare class Dialog {
+    #private;
+    /**
+     * @internal
+     */
+    constructor(type: Protocol.Page.DialogType, message: string, defaultValue?: string);
+    /**
+     * The type of the dialog.
+     */
+    type(): Protocol.Page.DialogType;
+    /**
+     * The message displayed in the dialog.
+     */
+    message(): string;
+    /**
+     * The default value of the prompt, or an empty string if the dialog
+     * is not a `prompt`.
+     */
+    defaultValue(): string;
+    /**
+     * @internal
+     */
+    sendCommand(_options: {
+        accept: boolean;
+        text?: string;
+    }): Promise<void>;
+    /**
+     * A promise that resolves when the dialog has been accepted.
+     *
+     * @param promptText - optional text that will be entered in the dialog
+     * prompt. Has no effect if the dialog's type is not `prompt`.
+     *
+     */
+    accept(promptText?: string): Promise<void>;
+    /**
+     * A promise which will resolve once the dialog has been dismissed
+     */
+    dismiss(): Promise<void>;
+}
+//# sourceMappingURL=Dialog.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Dialog.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Dialog.d.ts.map
new file mode 100644
index 0000000..ae6e0b3
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Dialog.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/api/Dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAI3C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,MAAM;;IAMjB;;OAEG;gBAED,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAC9B,OAAO,EAAE,MAAM,EACf,YAAY,SAAK;IAOnB;;OAEG;IACH,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU;IAIhC;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE;;;;;;OAMG;IACG,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAO/B"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Dialog.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Dialog.js
new file mode 100644
index 0000000..78df9f3
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Dialog.js
@@ -0,0 +1,109 @@
+"use strict";
+/**
+ * Copyright 2017 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Dialog = void 0;
+const assert_js_1 = require("../util/assert.js");
+/**
+ * Dialog instances are dispatched by the {@link Page} via the `dialog` event.
+ *
+ * @remarks
+ *
+ * @example
+ *
+ * ```ts
+ * import puppeteer from 'puppeteer';
+ *
+ * (async () => {
+ *   const browser = await puppeteer.launch();
+ *   const page = await browser.newPage();
+ *   page.on('dialog', async dialog => {
+ *     console.log(dialog.message());
+ *     await dialog.dismiss();
+ *     await browser.close();
+ *   });
+ *   page.evaluate(() => alert('1'));
+ * })();
+ * ```
+ *
+ * @public
+ */
+class Dialog {
+    #type;
+    #message;
+    #defaultValue;
+    #handled = false;
+    /**
+     * @internal
+     */
+    constructor(type, message, defaultValue = '') {
+        this.#type = type;
+        this.#message = message;
+        this.#defaultValue = defaultValue;
+    }
+    /**
+     * The type of the dialog.
+     */
+    type() {
+        return this.#type;
+    }
+    /**
+     * The message displayed in the dialog.
+     */
+    message() {
+        return this.#message;
+    }
+    /**
+     * The default value of the prompt, or an empty string if the dialog
+     * is not a `prompt`.
+     */
+    defaultValue() {
+        return this.#defaultValue;
+    }
+    /**
+     * @internal
+     */
+    sendCommand(_options) {
+        throw new Error('Not implemented');
+    }
+    /**
+     * A promise that resolves when the dialog has been accepted.
+     *
+     * @param promptText - optional text that will be entered in the dialog
+     * prompt. Has no effect if the dialog's type is not `prompt`.
+     *
+     */
+    async accept(promptText) {
+        (0, assert_js_1.assert)(!this.#handled, 'Cannot accept dialog which is already handled!');
+        this.#handled = true;
+        await this.sendCommand({
+            accept: true,
+            text: promptText,
+        });
+    }
+    /**
+     * A promise which will resolve once the dialog has been dismissed
+     */
+    async dismiss() {
+        (0, assert_js_1.assert)(!this.#handled, 'Cannot dismiss dialog which is already handled!');
+        this.#handled = true;
+        await this.sendCommand({
+            accept: false,
+        });
+    }
+}
+exports.Dialog = Dialog;
+//# sourceMappingURL=Dialog.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Dialog.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Dialog.js.map
new file mode 100644
index 0000000..365b75d
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Dialog.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../src/api/Dialog.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH,iDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,MAAM;IACjB,KAAK,CAA2B;IAChC,QAAQ,CAAS;IACjB,aAAa,CAAS;IACtB,QAAQ,GAAG,KAAK,CAAC;IAEjB;;OAEG;IACH,YACE,IAA8B,EAC9B,OAAe,EACf,YAAY,GAAG,EAAE;QAEjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAA0C;QACpD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,UAAmB;QAC9B,IAAA,kBAAM,EAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,gDAAgD,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,IAAI,CAAC,WAAW,CAAC;YACrB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAA,kBAAM,EAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,iDAAiD,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,IAAI,CAAC,WAAW,CAAC;YACrB,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC;CACF;AA1ED,wBA0EC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/ElementHandle.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/ElementHandle.d.ts
index 12048f9..7c44655 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/ElementHandle.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/ElementHandle.d.ts
@@ -569,5 +569,43 @@
      * @internal
      */
     assertElementHasWorld(): asserts this;
+    /**
+     * If the element is a form input, you can use {@link ElementHandle.autofill}
+     * to test if the form is compatible with the browser's autofill
+     * implementation. Throws an error if the form cannot be autofilled.
+     *
+     * @remarks
+     *
+     * Currently, Puppeteer supports auto-filling credit card information only and
+     * in Chrome in the new headless and headful modes only.
+     *
+     * ```ts
+     * // Select an input on the credit card form.
+     * const name = await page.waitForSelector('form #name');
+     * // Trigger autofill with the desired data.
+     * await name.autofill({
+     *   creditCard: {
+     *     number: '4444444444444444',
+     *     name: 'John Smith',
+     *     expiryMonth: '01',
+     *     expiryYear: '2030',
+     *     cvc: '123',
+     *   },
+     * });
+     * ```
+     */
+    autofill(data: AutofillData): Promise<void>;
+}
+/**
+ * @public
+ */
+export interface AutofillData {
+    creditCard: {
+        number: string;
+        name: string;
+        expiryMonth: string;
+        expiryYear: string;
+        cvc: string;
+    };
 }
 //# sourceMappingURL=ElementHandle.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/ElementHandle.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/ElementHandle.d.ts.map
index 9e1aa4c..64b5477 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/ElementHandle.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/ElementHandle.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"ElementHandle.d.ts","sourceRoot":"","sources":["../../../../src/api/ElementHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ElementHandle.d.ts","sourceRoot":"","sources":["../../../../src/api/ElementHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/ElementHandle.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/ElementHandle.js
index 5965753..3e8c217 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/ElementHandle.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/ElementHandle.js
@@ -14,12 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _ElementHandle_instances, _ElementHandle_checkVisibility, _ElementHandle_asSVGElementHandle, _ElementHandle_getOwnerSVGElement;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.ElementHandle = void 0;
 const GetQueryHandler_js_1 = require("../common/GetQueryHandler.js");
@@ -65,9 +59,12 @@
     /**
      * @internal
      */
+    handle;
+    /**
+     * @internal
+     */
     constructor(handle) {
         super();
-        _ElementHandle_instances.add(this);
         this.handle = handle;
     }
     /**
@@ -304,19 +301,32 @@
         const { updatedSelector, QueryHandler } = (0, GetQueryHandler_js_1.getQueryHandlerAndSelector)(selector);
         return (await QueryHandler.waitFor(this, updatedSelector, options));
     }
+    async #checkVisibility(visibility) {
+        const element = await this.frame.isolatedRealm().adoptHandle(this);
+        try {
+            return await this.frame.isolatedRealm().evaluate(async (PuppeteerUtil, element, visibility) => {
+                return Boolean(PuppeteerUtil.checkVisibility(element, visibility));
+            }, LazyArg_js_1.LazyArg.create(context => {
+                return context.puppeteerUtil;
+            }), element, visibility);
+        }
+        finally {
+            await element.dispose();
+        }
+    }
     /**
      * Checks if an element is visible using the same mechanism as
      * {@link ElementHandle.waitForSelector}.
      */
     async isVisible() {
-        return __classPrivateFieldGet(this, _ElementHandle_instances, "m", _ElementHandle_checkVisibility).call(this, true);
+        return this.#checkVisibility(true);
     }
     /**
      * Checks if an element is hidden using the same mechanism as
      * {@link ElementHandle.waitForSelector}.
      */
     async isHidden() {
-        return __classPrivateFieldGet(this, _ElementHandle_instances, "m", _ElementHandle_checkVisibility).call(this, false);
+        return this.#checkVisibility(false);
     }
     /**
      * @deprecated Use {@link ElementHandle.waitForSelector} with the `xpath`
@@ -602,9 +612,9 @@
     async isIntersectingViewport(options) {
         await this.assertConnectedElement();
         const { threshold = 0 } = options ?? {};
-        const svgHandle = await __classPrivateFieldGet(this, _ElementHandle_instances, "m", _ElementHandle_asSVGElementHandle).call(this, this);
+        const svgHandle = await this.#asSVGElementHandle(this);
         const intersectionTarget = svgHandle
-            ? await __classPrivateFieldGet(this, _ElementHandle_instances, "m", _ElementHandle_getOwnerSVGElement).call(this, svgHandle)
+            ? await this.#getOwnerSVGElement(svgHandle)
             : this;
         try {
             return await intersectionTarget.evaluate(async (element, threshold) => {
@@ -639,46 +649,37 @@
         });
     }
     /**
+     * Returns true if an element is an SVGElement (included svg, path, rect
+     * etc.).
+     */
+    async #asSVGElementHandle(handle) {
+        if (await handle.evaluate(element => {
+            return element instanceof SVGElement;
+        })) {
+            return handle;
+        }
+        else {
+            return null;
+        }
+    }
+    async #getOwnerSVGElement(handle) {
+        // SVGSVGElement.ownerSVGElement === null.
+        return await handle.evaluateHandle(element => {
+            if (element instanceof SVGSVGElement) {
+                return element;
+            }
+            return element.ownerSVGElement;
+        });
+    }
+    /**
      * @internal
      */
     assertElementHasWorld() {
         (0, assert_js_1.assert)(this.executionContext()._world);
     }
+    autofill() {
+        throw new Error('Not implemented');
+    }
 }
 exports.ElementHandle = ElementHandle;
-_ElementHandle_instances = new WeakSet(), _ElementHandle_checkVisibility = async function _ElementHandle_checkVisibility(visibility) {
-    const element = await this.frame.isolatedRealm().adoptHandle(this);
-    try {
-        return await this.frame.isolatedRealm().evaluate(async (PuppeteerUtil, element, visibility) => {
-            return Boolean(PuppeteerUtil.checkVisibility(element, visibility));
-        }, LazyArg_js_1.LazyArg.create(context => {
-            return context.puppeteerUtil;
-        }), element, visibility);
-    }
-    finally {
-        await element.dispose();
-    }
-}, _ElementHandle_asSVGElementHandle = 
-/**
- * Returns true if an element is an SVGElement (included svg, path, rect
- * etc.).
- */
-async function _ElementHandle_asSVGElementHandle(handle) {
-    if (await handle.evaluate(element => {
-        return element instanceof SVGElement;
-    })) {
-        return handle;
-    }
-    else {
-        return null;
-    }
-}, _ElementHandle_getOwnerSVGElement = async function _ElementHandle_getOwnerSVGElement(handle) {
-    // SVGSVGElement.ownerSVGElement === null.
-    return await handle.evaluateHandle(element => {
-        if (element instanceof SVGSVGElement) {
-            return element;
-        }
-        return element.ownerSVGElement;
-    });
-};
 //# sourceMappingURL=ElementHandle.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/ElementHandle.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/ElementHandle.js.map
index 9c09ef1..e17b6ac 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/ElementHandle.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/ElementHandle.js.map
@@ -1 +1 @@
-{"version":3,"file":"ElementHandle.js","sourceRoot":"","sources":["../../../../src/api/ElementHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ElementHandle.js","sourceRoot":"","sources":["../../../../src/api/ElementHandle.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAOH,qEAAwE;AAExE,qDAA6C;AAS7C,+CAAyE;AACzE,iDAAyC;AACzC,uEAA+D;AAO/D,+CAAuC;AA6DvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,MAAa,aAEX,SAAQ,sBAAqB;IAC7B;;OAEG;IACO,MAAM,CAAC;IAEjB;;OAEG;IACH,YAAY,MAA6B;QACvC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAa,EAAE;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAa,QAAQ;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAYQ,KAAK,CAAC,WAAW,CACxB,YAAyB;QAEzB,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,aAAa;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,QAAQ,CAOrB,YAA2B,EAC3B,GAAG,IAAY;QAEf,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACM,cAAc,CAOrB,YAA2B,EAC3B,GAAG,IAAY;QAEf,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,SAAS;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACM,QAAQ;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,OAAO;QACpB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC;IAEQ,SAAS;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACM,gBAAgB;QACvB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAa,MAAM;QACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,KAAK;QACP,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,CAAC,CACL,QAAkB;QAElB,MAAM,EAAC,eAAe,EAAE,YAAY,EAAC,GACnC,IAAA,+CAA0B,EAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,YAAY,CAAC,QAAQ,CACjC,IAAI,EACJ,eAAe,CAChB,CAA4C,CAAC;IAChD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,CACN,QAAkB;QAElB,MAAM,EAAC,eAAe,EAAE,YAAY,EAAC,GACnC,IAAA,+CAA0B,EAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,wCAAiB,CAAC,OAAO,CAC9B,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CACO,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,KAAK,CAQT,QAAkB,EAClB,YAA2B,EAC3B,GAAG,IAAY;QAEf,YAAY,GAAG,IAAA,sCAA4B,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC3E,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,IAAI,KAAK,CACb,oDAAoD,QAAQ,GAAG,CAChE,CAAC;SACH;QACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;QACnE,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,KAAK,CAAC,MAAM,CAQV,QAAkB,EAClB,YAA2B,EAC3B,GAAG,IAAY;QAEf,YAAY,GAAG,IAAA,sCAA4B,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,EAAE;YACjB,OAAO,QAAQ,CAAC;QAClB,CAAC,EACD,GAAG,OAAO,CACX,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC;YACxC,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACvB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC,CAAC;SACH,CAAC,CAAC;QACH,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,EAAE,CAAC,UAAkB;QACzB,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC/B,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;SAC/B;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,KAAK,CAAC,eAAe,CACnB,QAAkB,EAClB,UAAkC,EAAE;QAEpC,MAAM,EAAC,eAAe,EAAE,YAAY,EAAC,GACnC,IAAA,+CAA0B,EAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,YAAY,CAAC,OAAO,CAChC,IAAI,EACJ,eAAe,EACf,OAAO,CACR,CAA4C,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAmB;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,QAAQ,CAC9C,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;gBAC3C,OAAO,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;YACrE,CAAC,EACD,oBAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBACvB,OAAO,OAAO,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,EACF,OAAO,EACP,UAAU,CACX,CAAC;SACH;gBAAS;YACR,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;SACzB;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DG;IACH,KAAK,CAAC,YAAY,CAChB,KAAa,EACb,UAII,EAAE;QAEN,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC1B,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;SACrB;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,SAAS,CAEb,OAAU;QACV,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YAC9D,OAAO,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC;QACjD,CAAC,EAAE,OAAO,CAAC,CAAC;QACZ,IAAI,CAAC,iBAAiB,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,YAAY,CAAC,CAAC;SAC/D;QACD,OAAO,IAA2C,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAMD,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAWD,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IASD,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IASD,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IASD,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IASD,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAUD,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,MAAM,CAAC,GAAG,MAAgB;QAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,IAAA,kBAAM,EACJ,IAAA,kBAAQ,EAAC,KAAK,CAAC,EACf,uCAAuC;gBACrC,KAAK;gBACL,aAAa;gBACb,OAAO,KAAK;gBACZ,GAAG,CACN,CAAC;SACH;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,IAAI,EAAY,EAAE;YAC/C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,CAAC,OAAO,YAAY,iBAAiB,CAAC,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACvD;YAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACrB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE;oBACpC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;iBACzB;gBACD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE;oBACpC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;wBAC5B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACvB,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACjC,MAAM;qBACP;iBACF;aACF;iBAAM;gBACL,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE;oBACpC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC3C,IAAI,MAAM,CAAC,QAAQ,EAAE;wBACnB,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;qBAClC;iBACF;aACF;YACD,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,CAAC,EAAE,MAAM,CAAC,CAAC;IACb,CAAC;IAiBD,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC5B,IAAI,CAAC,CAAC,OAAO,YAAY,WAAW,CAAC,EAAE;gBACrC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;aACjD;YACD,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IA+BD,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAoBD,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAWD,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,sBAAsB;QACpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC/B,KAAK,EAAE,OAAO,EAA+B,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;gBACxB,OAAO,gCAAgC,CAAC;aACzC;YACD,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;gBAC1C,OAAO,iCAAiC,CAAC;aAC1C;YACD,OAAO;QACT,CAAC,CACF,CAAC;QAEF,IAAI,KAAK,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;SACxB;IACH,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,sBAAsB;QAGpC,IACE,MAAM,IAAI,CAAC,sBAAsB,CAAC;YAChC,SAAS,EAAE,CAAC;SACb,CAAC,EACF;YACA,OAAO;SACR;QACD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,sBAAsB,CAE1B,OAEC;QAED,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEpC,MAAM,EAAC,SAAS,GAAG,CAAC,EAAC,GAAG,OAAO,IAAI,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,kBAAkB,GAA2B,SAAS;YAC1D,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC;QAET,IAAI;YACF,OAAO,MAAM,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;gBACpE,MAAM,YAAY,GAAG,MAAM,IAAI,OAAO,CAAS,OAAO,CAAC,EAAE;oBACvD,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE;wBAClD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,iBAAiB,CAAC,CAAC;wBACvC,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACxB,CAAC,CAAC,CAAC;oBACH,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBACH,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC;YACzE,CAAC,EAAE,SAAS,CAAC,CAAC;SACf;gBAAS;YACR,IAAI,kBAAkB,KAAK,IAAI,EAAE;gBAC/B,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;aACpC;SACF;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAiB,EAAE;YACnD,OAAO,CAAC,cAAc,CAAC;gBACrB,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CACvB,MAA8B;QAE9B,IACE,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC9B,OAAO,OAAO,YAAY,UAAU,CAAC;QACvC,CAAC,CAAC,EACF;YACA,OAAO,MAAmC,CAAC;SAC5C;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,MAAiC;QAEjC,0CAA0C;QAC1C,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YAC3C,IAAI,OAAO,YAAY,aAAa,EAAE;gBACpC,OAAO,OAAO,CAAC;aAChB;YACD,OAAO,OAAO,CAAC,eAAgB,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,IAAA,kBAAM,EAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IA4BD,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CACF;AA16BD,sCA06BC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.d.ts
index 14982dd..2ea1223 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.d.ts
@@ -21,11 +21,11 @@
 import { ExecutionContext } from '../common/ExecutionContext.js';
 import { IsolatedWorldChart, WaitForSelectorOptions } from '../common/IsolatedWorld.js';
 import { PuppeteerLifeCycleEvent } from '../common/LifecycleWatcher.js';
-import { EvaluateFunc, EvaluateFuncWith, HandleFor, InnerLazyParams, NodeFor } from '../common/types.js';
+import { Awaitable, EvaluateFunc, EvaluateFuncWith, HandleFor, InnerLazyParams, NodeFor } from '../common/types.js';
 import { TaskManager } from '../common/WaitTask.js';
 import { KeyboardTypeOptions } from './Input.js';
 import { JSHandle } from './JSHandle.js';
-import { Locator } from './Locator.js';
+import { Locator } from './locators/locators.js';
 /**
  * @internal
  */
@@ -313,14 +313,23 @@
      */
     evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>;
     /**
-     * Creates a locator for the provided `selector`. See {@link Locator} for
+     * Creates a locator for the provided selector. See {@link Locator} for
      * details and supported actions.
      *
      * @remarks
      * Locators API is experimental and we will not follow semver for breaking
      * change in the Locators API.
      */
-    locator(selector: string): Locator;
+    locator<Selector extends string>(selector: Selector): Locator<NodeFor<Selector>>;
+    /**
+     * Creates a locator for the provided function. See {@link Locator} for
+     * details and supported actions.
+     *
+     * @remarks
+     * Locators API is experimental and we will not follow semver for breaking
+     * change in the Locators API.
+     */
+    locator<Ret>(func: () => Awaitable<Ret>): Locator<Ret>;
     /**
      * Queries the frame for an element matching the given selector.
      *
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.d.ts.map
index 3926454..92da9f1 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Frame.d.ts","sourceRoot":"","sources":["../../../../src/api/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Frame.d.ts","sourceRoot":"","sources":["../../../../src/api/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.js
index c106592..fdd3816 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.js
@@ -17,7 +17,9 @@
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.Frame = void 0;
 const GetQueryHandler_js_1 = require("../common/GetQueryHandler.js");
-const Locator_js_1 = require("./Locator.js");
+const LazyArg_js_1 = require("../common/LazyArg.js");
+const util_js_1 = require("../common/util.js");
+const locators_js_1 = require("./locators/locators.js");
 /**
  * Represents a DOM frame.
  *
@@ -75,12 +77,27 @@
     /**
      * @internal
      */
-    constructor() {
-        /**
-         * @internal
-         */
-        this._hasStartedLoading = false;
-    }
+    _id;
+    /**
+     * @internal
+     */
+    _parentId;
+    /**
+     * @internal
+     */
+    worlds;
+    /**
+     * @internal
+     */
+    _name;
+    /**
+     * @internal
+     */
+    _hasStartedLoading = false;
+    /**
+     * @internal
+     */
+    constructor() { }
     /**
      * The page associated with the frame.
      */
@@ -130,16 +147,13 @@
     async evaluate() {
         throw new Error('Not implemented');
     }
-    /**
-     * Creates a locator for the provided `selector`. See {@link Locator} for
-     * details and supported actions.
-     *
-     * @remarks
-     * Locators API is experimental and we will not follow semver for breaking
-     * change in the Locators API.
-     */
-    locator(selector) {
-        return Locator_js_1.Locator.create(this, selector);
+    locator(selectorOrFunc) {
+        if (typeof selectorOrFunc === 'string') {
+            return locators_js_1.NodeLocator.create(this, selectorOrFunc);
+        }
+        else {
+            return locators_js_1.FunctionLocator.create(this, selectorOrFunc);
+        }
     }
     async $() {
         throw new Error('Not implemented');
@@ -305,11 +319,89 @@
     isDetached() {
         throw new Error('Not implemented');
     }
-    async addScriptTag() {
-        throw new Error('Not implemented');
+    /**
+     * Adds a `<script>` tag into the page with the desired url or content.
+     *
+     * @param options - Options for the script.
+     * @returns An {@link ElementHandle | element handle} to the injected
+     * `<script>` element.
+     */
+    async addScriptTag(options) {
+        let { content = '', type } = options;
+        const { path } = options;
+        if (+!!options.url + +!!path + +!!content !== 1) {
+            throw new Error('Exactly one of `url`, `path`, or `content` must be specified.');
+        }
+        if (path) {
+            const fs = await (0, util_js_1.importFSPromises)();
+            content = await fs.readFile(path, 'utf8');
+            content += `//# sourceURL=${path.replace(/\n/g, '')}`;
+        }
+        type = type ?? 'text/javascript';
+        return this.mainRealm().transferHandle(await this.isolatedRealm().evaluateHandle(async ({ Deferred }, { url, id, type, content }) => {
+            const deferred = Deferred.create();
+            const script = document.createElement('script');
+            script.type = type;
+            script.text = content;
+            if (url) {
+                script.src = url;
+                script.addEventListener('load', () => {
+                    return deferred.resolve();
+                }, { once: true });
+                script.addEventListener('error', event => {
+                    deferred.reject(new Error(event.message ?? 'Could not load script'));
+                }, { once: true });
+            }
+            else {
+                deferred.resolve();
+            }
+            if (id) {
+                script.id = id;
+            }
+            document.head.appendChild(script);
+            await deferred.valueOrThrow();
+            return script;
+        }, LazyArg_js_1.LazyArg.create(context => {
+            return context.puppeteerUtil;
+        }), { ...options, type, content }));
     }
-    async addStyleTag() {
-        throw new Error('Not implemented');
+    async addStyleTag(options) {
+        let { content = '' } = options;
+        const { path } = options;
+        if (+!!options.url + +!!path + +!!content !== 1) {
+            throw new Error('Exactly one of `url`, `path`, or `content` must be specified.');
+        }
+        if (path) {
+            const fs = await (0, util_js_1.importFSPromises)();
+            content = await fs.readFile(path, 'utf8');
+            content += '/*# sourceURL=' + path.replace(/\n/g, '') + '*/';
+            options.content = content;
+        }
+        return this.mainRealm().transferHandle(await this.isolatedRealm().evaluateHandle(async ({ Deferred }, { url, content }) => {
+            const deferred = Deferred.create();
+            let element;
+            if (!url) {
+                element = document.createElement('style');
+                element.appendChild(document.createTextNode(content));
+            }
+            else {
+                const link = document.createElement('link');
+                link.rel = 'stylesheet';
+                link.href = url;
+                element = link;
+            }
+            element.addEventListener('load', () => {
+                deferred.resolve();
+            }, { once: true });
+            element.addEventListener('error', event => {
+                deferred.reject(new Error(event.message ?? 'Could not load style'));
+            }, { once: true });
+            document.head.appendChild(element);
+            await deferred.valueOrThrow();
+            return element;
+        }, LazyArg_js_1.LazyArg.create(context => {
+            return context.puppeteerUtil;
+        }), options));
     }
     /**
      * Clicks the first element found that matches `selector`.
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.js.map
index 89dc4ff..0f5f2c2 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Frame.js.map
@@ -1 +1 @@
-{"version":3,"file":"Frame.js","sourceRoot":"","sources":["../../../../src/api/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Frame.js","sourceRoot":"","sources":["../../../../src/api/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/HTTPRequest.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/HTTPRequest.d.ts
index 51abb42..5b06017 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/HTTPRequest.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/HTTPRequest.d.ts
@@ -381,7 +381,5 @@
  * List taken from {@link https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml}
  * with extra 306 and 418 codes.
  */
-export declare const STATUS_TEXTS: {
-    [key: string]: string | undefined;
-};
+export declare const STATUS_TEXTS: Record<string, string | undefined>;
 //# sourceMappingURL=HTTPRequest.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/HTTPRequest.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/HTTPRequest.d.ts.map
index 89963c7..85bcd48 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/HTTPRequest.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/HTTPRequest.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"HTTPRequest.d.ts","sourceRoot":"","sources":["../../../../src/api/HTTPRequest.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"HTTPRequest.d.ts","sourceRoot":"","sources":["../../../../src/api/HTTPRequest.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/HTTPRequest.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/HTTPRequest.js
index e87896b..40fdb25 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/HTTPRequest.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/HTTPRequest.js
@@ -40,6 +40,30 @@
  */
 class HTTPRequest {
     /**
+     * @internal
+     */
+    _requestId = '';
+    /**
+     * @internal
+     */
+    _interceptionId;
+    /**
+     * @internal
+     */
+    _failureText = null;
+    /**
+     * @internal
+     */
+    _response = null;
+    /**
+     * @internal
+     */
+    _fromMemoryCache = false;
+    /**
+     * @internal
+     */
+    _redirectChain = [];
+    /**
      * Warning! Using this client can break Puppeteer. Use with caution.
      *
      * @experimental
@@ -50,28 +74,7 @@
     /**
      * @internal
      */
-    constructor() {
-        /**
-         * @internal
-         */
-        this._requestId = '';
-        /**
-         * @internal
-         */
-        this._failureText = null;
-        /**
-         * @internal
-         */
-        this._response = null;
-        /**
-         * @internal
-         */
-        this._fromMemoryCache = false;
-        /**
-         * @internal
-         */
-        this._redirectChain = [];
-    }
+    constructor() { }
     /**
      * The URL of the request
      */
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/HTTPRequest.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/HTTPRequest.js.map
index c60d0b8..e2f0afb 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/HTTPRequest.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/HTTPRequest.js.map
@@ -1 +1 @@
-{"version":3,"file":"HTTPRequest.js","sourceRoot":"","sources":["../../../../src/api/HTTPRequest.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"HTTPRequest.js","sourceRoot":"","sources":["../../../../src/api/HTTPRequest.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/JSHandle.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/JSHandle.d.ts
index 8d61fd9..1f0fb32 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/JSHandle.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/JSHandle.d.ts
@@ -18,7 +18,6 @@
 import { ExecutionContext } from '../common/ExecutionContext.js';
 import { EvaluateFuncWith, HandleFor, HandleOr } from '../common/types.js';
 import { ElementHandle } from './ElementHandle.js';
-declare const __JSHandleSymbol: unique symbol;
 /**
  * Represents a reference to a JavaScript object. Instances can be created using
  * {@link Page.evaluateHandle}.
@@ -44,7 +43,7 @@
     /**
      * Used for nominally typing {@link JSHandle}.
      */
-    [__JSHandleSymbol]?: T;
+    _?: T;
     /**
      * @internal
      */
@@ -131,5 +130,4 @@
      */
     remoteObject(): Protocol.Runtime.RemoteObject;
 }
-export {};
 //# sourceMappingURL=JSHandle.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/JSHandle.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/JSHandle.d.ts.map
index dd80795..ce1bd0c 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/JSHandle.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/JSHandle.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"JSHandle.d.ts","sourceRoot":"","sources":["../../../../src/api/JSHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAEjD,OAAO,CAAC,MAAM,gBAAgB,EAAE,OAAO,MAAM,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,QAAQ,CAAC,CAAC,GAAG,OAAO;IAC/B;;OAEG;IACH,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;IAEvB;;OAEG;;IAGH;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,gBAAgB,IAAI,gBAAgB;IAIpC;;OAEG;IACH,IAAI,MAAM,IAAI,UAAU,CAEvB;IAED;;OAEG;IACG,QAAQ,CACZ,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAKrC;;;OAGG;IACG,cAAc,CAClB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAKhD;;OAEG;IACG,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EACjC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7D,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EACjC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAK3B;;;;;;;;;;;;;;;;;OAiBG;IACG,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAIrD;;;;;;;OAOG;IACG,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC;IAI7B;;;OAGG;IACH,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI;IAIvC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;;;OAKG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,GAAG,SAAS,CAE3B;IAED;;;;OAIG;IACH,YAAY,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY;CAG9C"}
\ No newline at end of file
+{"version":3,"file":"JSHandle.d.ts","sourceRoot":"","sources":["../../../../src/api/JSHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,QAAQ,CAAC,CAAC,GAAG,OAAO;IAC/B;;OAEG;IACK,CAAC,CAAC,EAAE,CAAC,CAAC;IAEd;;OAEG;;IAGH;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,gBAAgB,IAAI,gBAAgB;IAIpC;;OAEG;IACH,IAAI,MAAM,IAAI,UAAU,CAEvB;IAED;;OAEG;IACG,QAAQ,CACZ,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAKrC;;;OAGG;IACG,cAAc,CAClB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAKhD;;OAEG;IACG,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EACjC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7D,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EACjC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAK3B;;;;;;;;;;;;;;;;;OAiBG;IACG,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAIrD;;;;;;;OAOG;IACG,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC;IAI7B;;;OAGG;IACH,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI;IAIvC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;;;OAKG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,GAAG,SAAS,CAE3B;IAED;;;;OAIG;IACH,YAAY,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY;CAG9C"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/JSHandle.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/JSHandle.js.map
index 06ecdbe..31a42ad 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/JSHandle.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/JSHandle.js.map
@@ -1 +1 @@
-{"version":3,"file":"JSHandle.js","sourceRoot":"","sources":["../../../../src/api/JSHandle.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAYH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,QAAQ;IAMnB;;OAEG;IACH,gBAAe,CAAC;IAEhB;;OAEG;IACH,IAAI,QAAQ;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAYD,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAaD,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAYD,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,EAAE;QACJ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CACF;AArJD,4BAqJC"}
\ No newline at end of file
+{"version":3,"file":"JSHandle.js","sourceRoot":"","sources":["../../../../src/api/JSHandle.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAUH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,QAAQ;IAMnB;;OAEG;IACH,gBAAe,CAAC;IAEhB;;OAEG;IACH,IAAI,QAAQ;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAYD,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAaD,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAYD,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,EAAE;QACJ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CACF;AArJD,4BAqJC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Locator.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Locator.d.ts
deleted file mode 100644
index 09dbe35..0000000
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Locator.d.ts
+++ /dev/null
@@ -1,166 +0,0 @@
-/**
- * Copyright 2023 Google Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import { EventEmitter } from '../common/EventEmitter.js';
-import { ElementHandle, ClickOptions } from './ElementHandle.js';
-import type { Frame } from './Frame.js';
-import type { Page } from './Page.js';
-/**
- * @public
- */
-export type VisibilityOption = 'hidden' | 'visible' | null;
-/**
- * @public
- */
-export interface LocatorOptions {
-    /**
-     * Whether to wait for the element to be `visible` or `hidden`. `null` to
-     * disable visibility checks.
-     */
-    visibility: VisibilityOption;
-    /**
-     * Total timeout for the entire locator operation.
-     *
-     * Pass `0` to disable timeout.
-     *
-     * @defaultValue `Page.getDefaultTimeout()`
-     */
-    timeout: number;
-    /**
-     * Whether to scroll the element into viewport if not in the viewprot already.
-     * @defaultValue `true`
-     */
-    ensureElementIsInTheViewport: boolean;
-    /**
-     * Whether to wait for input elements to become enabled before the action.
-     * Applicable to `click` and `fill` actions.
-     * @defaultValue `true`
-     */
-    waitForEnabled: boolean;
-    /**
-     * Whether to wait for the element's bounding box to be same between two
-     * animation frames.
-     * @defaultValue `true`
-     */
-    waitForStableBoundingBox: boolean;
-}
-/**
- * @public
- */
-export type ActionCondition = (element: ElementHandle, signal: AbortSignal) => Promise<void>;
-/**
- * @public
- */
-export interface ActionOptions {
-    signal?: AbortSignal;
-    conditions: ActionCondition[];
-}
-/**
- * All the events that a locator instance may emit.
- *
- * @public
- */
-export declare enum LocatorEmittedEvents {
-    /**
-     * Emitted every time before the locator performs an action on the located element(s).
-     */
-    Action = "action"
-}
-/**
- * @public
- */
-export interface LocatorEventObject {
-    [LocatorEmittedEvents.Action]: never;
-}
-/**
- * Locators describe a strategy of locating elements and performing an action on
- * them. If the action fails because the element is not ready for the action,
- * the whole operation is retried. Various preconditions for a successful action
- * are checked automatically.
- *
- * @public
- */
-export declare abstract class Locator extends EventEmitter {
-    /**
-     * @internal
-     */
-    static create(pageOrFrame: Page | Frame, selector: string): Locator;
-    /**
-     * Creates a race between multiple locators but ensures that only a single one
-     * acts.
-     */
-    static race(locators: Locator[]): Locator;
-    on<K extends keyof LocatorEventObject>(eventName: K, handler: (event: LocatorEventObject[K]) => void): this;
-    once<K extends keyof LocatorEventObject>(eventName: K, handler: (event: LocatorEventObject[K]) => void): this;
-    off<K extends keyof LocatorEventObject>(eventName: K, handler: (event: LocatorEventObject[K]) => void): this;
-    abstract setVisibility(visibility: VisibilityOption): this;
-    abstract setTimeout(timeout: number): this;
-    abstract setEnsureElementIsInTheViewport(value: boolean): this;
-    abstract setWaitForEnabled(value: boolean): this;
-    abstract setWaitForStableBoundingBox(value: boolean): this;
-    abstract click(clickOptions?: ClickOptions & {
-        signal?: AbortSignal;
-    }): Promise<void>;
-    /**
-     * Fills out the input identified by the locator using the provided value. The
-     * type of the input is determined at runtime and the appropriate fill-out
-     * method is chosen based on the type. contenteditable, selector, inputs are
-     * supported.
-     */
-    abstract fill(value: string, fillOptions?: {
-        signal?: AbortSignal;
-    }): Promise<void>;
-    abstract hover(hoverOptions?: {
-        signal?: AbortSignal;
-    }): Promise<void>;
-    abstract scroll(scrollOptions?: {
-        scrollTop?: number;
-        scrollLeft?: number;
-        signal?: AbortSignal;
-    }): Promise<void>;
-}
-/**
- * @internal
- */
-export declare class LocatorImpl extends Locator {
-    #private;
-    constructor(pageOrFrame: Page | Frame, selector: string);
-    setVisibility(visibility: VisibilityOption): this;
-    setTimeout(timeout: number): this;
-    setEnsureElementIsInTheViewport(value: boolean): this;
-    setWaitForEnabled(value: boolean): this;
-    setWaitForStableBoundingBox(value: boolean): this;
-    click(clickOptions?: ClickOptions & {
-        signal?: AbortSignal;
-    }): Promise<void>;
-    /**
-     * Fills out the input identified by the locator using the provided value. The
-     * type of the input is determined at runtime and the appropriate fill-out
-     * method is chosen based on the type. contenteditable, selector, inputs are
-     * supported.
-     */
-    fill(value: string, fillOptions?: {
-        signal?: AbortSignal;
-    }): Promise<void>;
-    hover(hoverOptions?: {
-        signal?: AbortSignal;
-    }): Promise<void>;
-    scroll(scrollOptions?: {
-        scrollTop?: number;
-        scrollLeft?: number;
-        signal?: AbortSignal;
-    }): Promise<void>;
-}
-//# sourceMappingURL=Locator.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Locator.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Locator.d.ts.map
deleted file mode 100644
index 0bbaaab..0000000
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Locator.d.ts.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Locator.d.ts","sourceRoot":"","sources":["../../../../src/api/Locator.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Locator.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Locator.js
deleted file mode 100644
index 6abfe5e..0000000
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Locator.js
+++ /dev/null
@@ -1,563 +0,0 @@
-"use strict";
-/**
- * Copyright 2023 Google Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _LocatorImpl_instances, _LocatorImpl_pageOrFrame, _LocatorImpl_selector, _LocatorImpl_visibility, _LocatorImpl_timeout, _LocatorImpl_ensureElementIsInTheViewport, _LocatorImpl_waitForEnabled, _LocatorImpl_waitForStableBoundingBox, _LocatorImpl_waitForFunction, _LocatorImpl_ensureElementIsInTheViewportIfNeeded, _LocatorImpl_waitForVisibilityIfNeeded, _LocatorImpl_waitForEnabledIfNeeded, _LocatorImpl_waitForStableBoundingBoxIfNeeded, _LocatorImpl_run, _RaceLocatorImpl_instances, _RaceLocatorImpl_locators, _RaceLocatorImpl_runRace;
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.LocatorImpl = exports.Locator = exports.LocatorEmittedEvents = void 0;
-const Errors_js_1 = require("../common/Errors.js");
-const EventEmitter_js_1 = require("../common/EventEmitter.js");
-const util_js_1 = require("../common/util.js");
-const ErrorLike_js_1 = require("../util/ErrorLike.js");
-/**
- * Timeout for individual operations inside the locator. On errors the
- * operation is retried as long as {@link Locator.setTimeout} is not
- * exceeded. This timeout should be generally much lower as locating an
- * element means multiple asynchronious operations.
- */
-const CONDITION_TIMEOUT = 1000;
-const WAIT_FOR_FUNCTION_DELAY = 100;
-/**
- * All the events that a locator instance may emit.
- *
- * @public
- */
-var LocatorEmittedEvents;
-(function (LocatorEmittedEvents) {
-    /**
-     * Emitted every time before the locator performs an action on the located element(s).
-     */
-    LocatorEmittedEvents["Action"] = "action";
-})(LocatorEmittedEvents || (exports.LocatorEmittedEvents = LocatorEmittedEvents = {}));
-/**
- * Locators describe a strategy of locating elements and performing an action on
- * them. If the action fails because the element is not ready for the action,
- * the whole operation is retried. Various preconditions for a successful action
- * are checked automatically.
- *
- * @public
- */
-class Locator extends EventEmitter_js_1.EventEmitter {
-    /**
-     * @internal
-     */
-    static create(pageOrFrame, selector) {
-        return new LocatorImpl(pageOrFrame, selector).setTimeout('getDefaultTimeout' in pageOrFrame
-            ? pageOrFrame.getDefaultTimeout()
-            : pageOrFrame.page().getDefaultTimeout());
-    }
-    /**
-     * Creates a race between multiple locators but ensures that only a single one
-     * acts.
-     */
-    static race(locators) {
-        return new RaceLocatorImpl(locators);
-    }
-    on(eventName, handler) {
-        return super.on(eventName, handler);
-    }
-    once(eventName, handler) {
-        return super.once(eventName, handler);
-    }
-    off(eventName, handler) {
-        return super.off(eventName, handler);
-    }
-}
-exports.Locator = Locator;
-/**
- * @internal
- */
-class LocatorImpl extends Locator {
-    constructor(pageOrFrame, selector) {
-        super();
-        _LocatorImpl_instances.add(this);
-        _LocatorImpl_pageOrFrame.set(this, void 0);
-        _LocatorImpl_selector.set(this, void 0);
-        _LocatorImpl_visibility.set(this, 'visible');
-        _LocatorImpl_timeout.set(this, 30000);
-        _LocatorImpl_ensureElementIsInTheViewport.set(this, true);
-        _LocatorImpl_waitForEnabled.set(this, true);
-        _LocatorImpl_waitForStableBoundingBox.set(this, true);
-        /**
-         * Checks if the element is in the viewport and auto-scrolls it if it is not.
-         */
-        _LocatorImpl_ensureElementIsInTheViewportIfNeeded.set(this, async (element, signal) => {
-            if (!__classPrivateFieldGet(this, _LocatorImpl_ensureElementIsInTheViewport, "f")) {
-                return;
-            }
-            // Side-effect: this also checks if it is connected.
-            const isIntersectingViewport = await element.isIntersectingViewport({
-                threshold: 0,
-            });
-            signal?.throwIfAborted();
-            if (!isIntersectingViewport) {
-                await element.scrollIntoView();
-                signal?.throwIfAborted();
-                await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_waitForFunction).call(this, async () => {
-                    return await element.isIntersectingViewport({
-                        threshold: 0,
-                    });
-                }, signal);
-                signal?.throwIfAborted();
-            }
-        });
-        /**
-         * Waits for the element to become visible or hidden. visibility === 'visible'
-         * means that the element has a computed style, the visibility property other
-         * than 'hidden' or 'collapse' and non-empty bounding box. visibility ===
-         * 'hidden' means the opposite of that.
-         */
-        _LocatorImpl_waitForVisibilityIfNeeded.set(this, async (element, signal) => {
-            if (__classPrivateFieldGet(this, _LocatorImpl_visibility, "f") === null) {
-                return;
-            }
-            if (__classPrivateFieldGet(this, _LocatorImpl_visibility, "f") === 'hidden') {
-                await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_waitForFunction).call(this, async () => {
-                    return element.isHidden();
-                }, signal);
-            }
-            await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_waitForFunction).call(this, async () => {
-                return element.isVisible();
-            }, signal);
-        });
-        /**
-         * If the element is a button, textarea, input or select, wait till the
-         * element becomes enabled.
-         */
-        _LocatorImpl_waitForEnabledIfNeeded.set(this, async (element, signal) => {
-            if (!__classPrivateFieldGet(this, _LocatorImpl_waitForEnabled, "f")) {
-                return;
-            }
-            await __classPrivateFieldGet(this, _LocatorImpl_pageOrFrame, "f").waitForFunction(el => {
-                if (['button', 'textarea', 'input', 'select'].includes(el.tagName)) {
-                    return !el.disabled;
-                }
-                return true;
-            }, {
-                timeout: CONDITION_TIMEOUT,
-                signal,
-            }, element);
-        });
-        /**
-         * Compares the bounding box of the element for two consecutive animation
-         * frames and waits till they are the same.
-         */
-        _LocatorImpl_waitForStableBoundingBoxIfNeeded.set(this, async (element, signal) => {
-            if (!__classPrivateFieldGet(this, _LocatorImpl_waitForStableBoundingBox, "f")) {
-                return;
-            }
-            function getClientRect() {
-                return element.evaluate(el => {
-                    return new Promise(resolve => {
-                        window.requestAnimationFrame(() => {
-                            const rect1 = el.getBoundingClientRect();
-                            window.requestAnimationFrame(() => {
-                                const rect2 = el.getBoundingClientRect();
-                                resolve([
-                                    {
-                                        x: rect1.x,
-                                        y: rect1.y,
-                                        width: rect1.width,
-                                        height: rect1.height,
-                                    },
-                                    {
-                                        x: rect2.x,
-                                        y: rect2.y,
-                                        width: rect2.width,
-                                        height: rect2.height,
-                                    },
-                                ]);
-                            });
-                        });
-                    });
-                });
-            }
-            await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_waitForFunction).call(this, async () => {
-                const [rect1, rect2] = await getClientRect();
-                return (rect1.x === rect2.x &&
-                    rect1.y === rect2.y &&
-                    rect1.width === rect2.width &&
-                    rect1.height === rect2.height);
-            }, signal);
-        });
-        __classPrivateFieldSet(this, _LocatorImpl_pageOrFrame, pageOrFrame, "f");
-        __classPrivateFieldSet(this, _LocatorImpl_selector, selector, "f");
-    }
-    setVisibility(visibility) {
-        __classPrivateFieldSet(this, _LocatorImpl_visibility, visibility, "f");
-        return this;
-    }
-    setTimeout(timeout) {
-        __classPrivateFieldSet(this, _LocatorImpl_timeout, timeout, "f");
-        return this;
-    }
-    setEnsureElementIsInTheViewport(value) {
-        __classPrivateFieldSet(this, _LocatorImpl_ensureElementIsInTheViewport, value, "f");
-        return this;
-    }
-    setWaitForEnabled(value) {
-        __classPrivateFieldSet(this, _LocatorImpl_waitForEnabled, value, "f");
-        return this;
-    }
-    setWaitForStableBoundingBox(value) {
-        __classPrivateFieldSet(this, _LocatorImpl_waitForStableBoundingBox, value, "f");
-        return this;
-    }
-    async click(clickOptions) {
-        return await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_run).call(this, async (element) => {
-            await element.click(clickOptions);
-        }, {
-            signal: clickOptions?.signal,
-            conditions: [
-                __classPrivateFieldGet(this, _LocatorImpl_ensureElementIsInTheViewportIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForVisibilityIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForEnabledIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForStableBoundingBoxIfNeeded, "f"),
-            ],
-        });
-    }
-    /**
-     * Fills out the input identified by the locator using the provided value. The
-     * type of the input is determined at runtime and the appropriate fill-out
-     * method is chosen based on the type. contenteditable, selector, inputs are
-     * supported.
-     */
-    async fill(value, fillOptions) {
-        return await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_run).call(this, async (element) => {
-            const input = element;
-            const inputType = await input.evaluate(el => {
-                if (el instanceof HTMLSelectElement) {
-                    return 'select';
-                }
-                if (el instanceof HTMLInputElement) {
-                    if (new Set([
-                        'textarea',
-                        'text',
-                        'url',
-                        'tel',
-                        'search',
-                        'password',
-                        'number',
-                        'email',
-                    ]).has(el.type)) {
-                        return 'typeable-input';
-                    }
-                    else {
-                        return 'other-input';
-                    }
-                }
-                if (el.isContentEditable) {
-                    return 'contenteditable';
-                }
-                return 'unknown';
-            });
-            switch (inputType) {
-                case 'select':
-                    await input.select(value);
-                    break;
-                case 'contenteditable':
-                case 'typeable-input':
-                    const textToType = await input.evaluate((input, newValue) => {
-                        const currentValue = input.isContentEditable
-                            ? input.innerText
-                            : input.value;
-                        // Clear the input if the current value does not match the filled
-                        // out value.
-                        if (newValue.length <= currentValue.length ||
-                            !newValue.startsWith(input.value)) {
-                            if (input.isContentEditable) {
-                                input.innerText = '';
-                            }
-                            else {
-                                input.value = '';
-                            }
-                            return newValue;
-                        }
-                        const originalValue = input.isContentEditable
-                            ? input.innerText
-                            : input.value;
-                        // If the value is partially filled out, only type the rest. Move
-                        // cursor to the end of the common prefix.
-                        if (input.isContentEditable) {
-                            input.innerText = '';
-                            input.innerText = originalValue;
-                        }
-                        else {
-                            input.value = '';
-                            input.value = originalValue;
-                        }
-                        return newValue.substring(originalValue.length);
-                    }, value);
-                    await input.type(textToType);
-                    break;
-                case 'other-input':
-                    await input.focus();
-                    await input.evaluate((input, value) => {
-                        input.value = value;
-                        input.dispatchEvent(new Event('input', { bubbles: true }));
-                        input.dispatchEvent(new Event('change', { bubbles: true }));
-                    }, value);
-                    break;
-                case 'unknown':
-                    throw new Error(`Element cannot be filled out.`);
-            }
-        }, {
-            signal: fillOptions?.signal,
-            conditions: [
-                __classPrivateFieldGet(this, _LocatorImpl_ensureElementIsInTheViewportIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForVisibilityIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForEnabledIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForStableBoundingBoxIfNeeded, "f"),
-            ],
-        });
-    }
-    async hover(hoverOptions) {
-        return await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_run).call(this, async (element) => {
-            await element.hover();
-        }, {
-            signal: hoverOptions?.signal,
-            conditions: [
-                __classPrivateFieldGet(this, _LocatorImpl_ensureElementIsInTheViewportIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForVisibilityIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForStableBoundingBoxIfNeeded, "f"),
-            ],
-        });
-    }
-    async scroll(scrollOptions) {
-        return await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_run).call(this, async (element) => {
-            await element.evaluate((el, scrollTop, scrollLeft) => {
-                if (scrollTop !== undefined) {
-                    el.scrollTop = scrollTop;
-                }
-                if (scrollLeft !== undefined) {
-                    el.scrollLeft = scrollLeft;
-                }
-            }, scrollOptions?.scrollTop, scrollOptions?.scrollLeft);
-        }, {
-            signal: scrollOptions?.signal,
-            conditions: [
-                __classPrivateFieldGet(this, _LocatorImpl_ensureElementIsInTheViewportIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForVisibilityIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForStableBoundingBoxIfNeeded, "f"),
-            ],
-        });
-    }
-}
-exports.LocatorImpl = LocatorImpl;
-_LocatorImpl_pageOrFrame = new WeakMap(), _LocatorImpl_selector = new WeakMap(), _LocatorImpl_visibility = new WeakMap(), _LocatorImpl_timeout = new WeakMap(), _LocatorImpl_ensureElementIsInTheViewport = new WeakMap(), _LocatorImpl_waitForEnabled = new WeakMap(), _LocatorImpl_waitForStableBoundingBox = new WeakMap(), _LocatorImpl_ensureElementIsInTheViewportIfNeeded = new WeakMap(), _LocatorImpl_waitForVisibilityIfNeeded = new WeakMap(), _LocatorImpl_waitForEnabledIfNeeded = new WeakMap(), _LocatorImpl_waitForStableBoundingBoxIfNeeded = new WeakMap(), _LocatorImpl_instances = new WeakSet(), _LocatorImpl_waitForFunction = 
-/**
- * Retries the `fn` until a truthy result is returned.
- */
-async function _LocatorImpl_waitForFunction(fn, signal, timeout = CONDITION_TIMEOUT) {
-    let isActive = true;
-    let controller;
-    // If the loop times out, we abort only the last iteration's controller.
-    const timeoutId = timeout
-        ? setTimeout(() => {
-            isActive = false;
-            controller?.abort();
-        }, timeout)
-        : 0;
-    // If the user's signal aborts, we abort the last iteration and the loop.
-    signal?.addEventListener('abort', () => {
-        controller?.abort();
-        isActive = false;
-        clearTimeout(timeoutId);
-    }, { once: true });
-    while (isActive) {
-        controller = new AbortController();
-        try {
-            const result = await fn(controller.signal);
-            if (result) {
-                clearTimeout(timeoutId);
-                return;
-            }
-        }
-        catch (err) {
-            if ((0, ErrorLike_js_1.isErrorLike)(err)) {
-                (0, util_js_1.debugError)(err);
-                // Retry on all timeouts.
-                if (err instanceof Errors_js_1.TimeoutError) {
-                    continue;
-                }
-                // Abort error are ignored as they only affect one iteration.
-                if (err.name === 'AbortError') {
-                    continue;
-                }
-            }
-            throw err;
-        }
-        finally {
-            // We abort any operations that might have been started by `fn`, because
-            // the iteration is now over.
-            controller.abort();
-        }
-        await new Promise(resolve => {
-            return setTimeout(resolve, WAIT_FOR_FUNCTION_DELAY);
-        });
-    }
-    signal?.throwIfAborted();
-    throw new Errors_js_1.TimeoutError(`waitForFunction timed out. The timeout is ${timeout}ms.`);
-}, _LocatorImpl_run = async function _LocatorImpl_run(action, options) {
-    await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_waitForFunction).call(this, async (signal) => {
-        // 1. Select the element without visibility checks.
-        const element = await __classPrivateFieldGet(this, _LocatorImpl_pageOrFrame, "f").waitForSelector(__classPrivateFieldGet(this, _LocatorImpl_selector, "f"), {
-            visible: false,
-            timeout: __classPrivateFieldGet(this, _LocatorImpl_timeout, "f"),
-            signal,
-        });
-        // Retry if no element is found.
-        if (!element) {
-            return false;
-        }
-        try {
-            signal?.throwIfAborted();
-            // 2. Perform action specific checks.
-            await Promise.all(options?.conditions.map(check => {
-                return check(element, signal);
-            }) || []);
-            signal?.throwIfAborted();
-            // 3. Perform the action
-            this.emit(LocatorEmittedEvents.Action);
-            await action(element);
-            return true;
-        }
-        finally {
-            void element.dispose().catch(util_js_1.debugError);
-        }
-    }, options?.signal, __classPrivateFieldGet(this, _LocatorImpl_timeout, "f"));
-};
-/**
- * @internal
- */
-class RaceLocatorImpl extends Locator {
-    constructor(locators) {
-        super();
-        _RaceLocatorImpl_instances.add(this);
-        _RaceLocatorImpl_locators.set(this, void 0);
-        __classPrivateFieldSet(this, _RaceLocatorImpl_locators, locators, "f");
-    }
-    setVisibility(visibility) {
-        for (const locator of __classPrivateFieldGet(this, _RaceLocatorImpl_locators, "f")) {
-            locator.setVisibility(visibility);
-        }
-        return this;
-    }
-    setTimeout(timeout) {
-        for (const locator of __classPrivateFieldGet(this, _RaceLocatorImpl_locators, "f")) {
-            locator.setTimeout(timeout);
-        }
-        return this;
-    }
-    setEnsureElementIsInTheViewport(value) {
-        for (const locator of __classPrivateFieldGet(this, _RaceLocatorImpl_locators, "f")) {
-            locator.setEnsureElementIsInTheViewport(value);
-        }
-        return this;
-    }
-    setWaitForEnabled(value) {
-        for (const locator of __classPrivateFieldGet(this, _RaceLocatorImpl_locators, "f")) {
-            locator.setWaitForEnabled(value);
-        }
-        return this;
-    }
-    setWaitForStableBoundingBox(value) {
-        for (const locator of __classPrivateFieldGet(this, _RaceLocatorImpl_locators, "f")) {
-            locator.setWaitForStableBoundingBox(value);
-        }
-        return this;
-    }
-    async click(clickOptions) {
-        return await __classPrivateFieldGet(this, _RaceLocatorImpl_instances, "m", _RaceLocatorImpl_runRace).call(this, (locator, abortSignal) => {
-            return locator.click({
-                ...clickOptions,
-                signal: abortSignal,
-            });
-        }, {
-            signal: clickOptions?.signal,
-        });
-    }
-    async fill(value, fillOptions) {
-        return await __classPrivateFieldGet(this, _RaceLocatorImpl_instances, "m", _RaceLocatorImpl_runRace).call(this, (locator, abortSignal) => {
-            return locator.fill(value, {
-                ...fillOptions,
-                signal: abortSignal,
-            });
-        }, {
-            signal: fillOptions?.signal,
-        });
-    }
-    async hover(hoverOptions) {
-        return await __classPrivateFieldGet(this, _RaceLocatorImpl_instances, "m", _RaceLocatorImpl_runRace).call(this, (locator, abortSignal) => {
-            return locator.hover({
-                ...hoverOptions,
-                signal: abortSignal,
-            });
-        }, {
-            signal: hoverOptions?.signal,
-        });
-    }
-    async scroll(scrollOptions) {
-        return await __classPrivateFieldGet(this, _RaceLocatorImpl_instances, "m", _RaceLocatorImpl_runRace).call(this, (locator, abortSignal) => {
-            return locator.scroll({
-                ...scrollOptions,
-                signal: abortSignal,
-            });
-        }, {
-            signal: scrollOptions?.signal,
-        });
-    }
-}
-_RaceLocatorImpl_locators = new WeakMap(), _RaceLocatorImpl_instances = new WeakSet(), _RaceLocatorImpl_runRace = async function _RaceLocatorImpl_runRace(action, options) {
-    const abortControllers = new WeakMap();
-    // Abort all locators if the user-provided signal aborts.
-    options.signal?.addEventListener('abort', () => {
-        for (const locator of __classPrivateFieldGet(this, _RaceLocatorImpl_locators, "f")) {
-            abortControllers.get(locator)?.abort();
-        }
-    });
-    const handleLocatorAction = (locator) => {
-        return () => {
-            // When one locator is ready to act, we will abort other locators.
-            for (const other of __classPrivateFieldGet(this, _RaceLocatorImpl_locators, "f")) {
-                if (other !== locator) {
-                    abortControllers.get(other)?.abort();
-                }
-            }
-            this.emit(LocatorEmittedEvents.Action);
-        };
-    };
-    const createAbortController = (locator) => {
-        const abortController = new AbortController();
-        abortControllers.set(locator, abortController);
-        return abortController;
-    };
-    await Promise.allSettled(__classPrivateFieldGet(this, _RaceLocatorImpl_locators, "f").map(locator => {
-        return action(locator.on(LocatorEmittedEvents.Action, handleLocatorAction(locator)), createAbortController(locator).signal);
-    }));
-    options.signal?.throwIfAborted();
-};
-//# sourceMappingURL=Locator.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Locator.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Locator.js.map
deleted file mode 100644
index 0c78da8..0000000
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Locator.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Locator.js","sourceRoot":"","sources":["../../../../src/api/Locator.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.d.ts
index 18c318a..0cf89e4 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.d.ts
@@ -20,11 +20,11 @@
 import type { HTTPRequest } from '../api/HTTPRequest.js';
 import type { HTTPResponse } from '../api/HTTPResponse.js';
 import type { Accessibility } from '../common/Accessibility.js';
+import type { CDPSession } from '../common/Connection.js';
 import type { ConsoleMessage } from '../common/ConsoleMessage.js';
 import type { Coverage } from '../common/Coverage.js';
 import { Device } from '../common/Device.js';
 import { DeviceRequestPrompt } from '../common/DeviceRequestPrompt.js';
-import type { Dialog } from '../common/Dialog.js';
 import { TargetCloseError } from '../common/Errors.js';
 import { EventEmitter } from '../common/EventEmitter.js';
 import type { FileChooser } from '../common/FileChooser.js';
@@ -33,18 +33,19 @@
 import { Credentials, NetworkConditions } from '../common/NetworkManager.js';
 import { ParsedPDFOptions, PDFOptions } from '../common/PDFOptions.js';
 import type { Viewport } from '../common/PuppeteerViewport.js';
-import type { Target } from '../common/Target.js';
 import type { Tracing } from '../common/Tracing.js';
-import type { EvaluateFunc, EvaluateFuncWith, HandleFor, NodeFor } from '../common/types.js';
+import type { Awaitable, EvaluateFunc, EvaluateFuncWith, HandleFor, NodeFor } from '../common/types.js';
 import type { WebWorker } from '../common/WebWorker.js';
 import { Deferred } from '../util/Deferred.js';
 import type { Browser } from './Browser.js';
 import type { BrowserContext } from './BrowserContext.js';
+import type { Dialog } from './Dialog.js';
 import type { ClickOptions, ElementHandle } from './ElementHandle.js';
 import type { Frame, FrameAddScriptTagOptions, FrameAddStyleTagOptions, FrameWaitForFunctionOptions } from './Frame.js';
-import { Keyboard, Mouse, Touchscreen, KeyboardTypeOptions } from './Input.js';
+import { Keyboard, KeyboardTypeOptions, Mouse, Touchscreen } from './Input.js';
 import type { JSHandle } from './JSHandle.js';
-import { Locator } from './Locator.js';
+import { AwaitedLocator, Locator } from './locators/locators.js';
+import type { Target } from './Target.js';
 /**
  * @public
  */
@@ -516,6 +517,10 @@
      */
     mainFrame(): Frame;
     /**
+     * Creates a Chrome Devtools Protocol session attached to the page.
+     */
+    createCDPSession(): Promise<CDPSession>;
+    /**
      * {@inheritDoc Keyboard}
      */
     get keyboard(): Keyboard;
@@ -663,20 +668,29 @@
      */
     getDefaultTimeout(): number;
     /**
-     * Creates a locator for the provided `selector`. See {@link Locator} for
+     * Creates a locator for the provided selector. See {@link Locator} for
      * details and supported actions.
      *
      * @remarks
      * Locators API is experimental and we will not follow semver for breaking
      * change in the Locators API.
      */
-    locator(selector: string): Locator;
+    locator<Selector extends string>(selector: Selector): Locator<NodeFor<Selector>>;
+    /**
+     * Creates a locator for the provided function. See {@link Locator} for
+     * details and supported actions.
+     *
+     * @remarks
+     * Locators API is experimental and we will not follow semver for breaking
+     * change in the Locators API.
+     */
+    locator<Ret>(func: () => Awaitable<Ret>): Locator<Ret>;
     /**
      * A shortcut for {@link Locator.race} that does not require static imports.
      *
      * @internal
      */
-    locatorRace(locators: Locator[]): Locator;
+    locatorRace<Locators extends readonly unknown[] | []>(locators: Locators): Locator<AwaitedLocator<Locators[number]>>;
     /**
      * Runs `document.querySelector` within the page. If no element matches the
      * selector, the return value resolves to `null`.
@@ -951,7 +965,6 @@
      */
     addStyleTag(options: Omit<FrameAddStyleTagOptions, 'url'>): Promise<ElementHandle<HTMLStyleElement>>;
     addStyleTag(options: FrameAddStyleTagOptions): Promise<ElementHandle<HTMLLinkElement>>;
-    addStyleTag(options: FrameAddStyleTagOptions): Promise<ElementHandle<HTMLStyleElement | HTMLLinkElement>>;
     /**
      * The method adds a function called `name` on the page's `window` object.
      * When called, the function executes `puppeteerFunction` in node.js and
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.d.ts.map
index 0fa1dd7..8d11ad4 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../src/api/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../src/api/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js
index 9ada538..80efb67 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js
@@ -14,12 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Page_handlerMap;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.unitToPixels = exports.supportedMetrics = exports.Page = void 0;
 const EventEmitter_js_1 = require("../common/EventEmitter.js");
@@ -28,7 +22,7 @@
 const util_js_1 = require("../common/util.js");
 const assert_js_1 = require("../util/assert.js");
 const Deferred_js_1 = require("../util/Deferred.js");
-const Locator_js_1 = require("./Locator.js");
+const locators_js_1 = require("./locators/locators.js");
 /**
  * Page provides methods to interact with a single tab or
  * {@link https://developer.chrome.com/extensions/background_pages | extension background page}
@@ -79,12 +73,12 @@
  * @public
  */
 class Page extends EventEmitter_js_1.EventEmitter {
+    #handlerMap = new WeakMap();
     /**
      * @internal
      */
     constructor() {
         super();
-        _Page_handlerMap.set(this, new WeakMap());
     }
     /**
      * `true` if the service worker are being bypassed, `false` otherwise.
@@ -117,13 +111,13 @@
      */
     on(eventName, handler) {
         if (eventName === 'request') {
-            const wrap = __classPrivateFieldGet(this, _Page_handlerMap, "f").get(handler) ||
+            const wrap = this.#handlerMap.get(handler) ||
                 ((event) => {
                     event.enqueueInterceptAction(() => {
                         return handler(event);
                     });
                 });
-            __classPrivateFieldGet(this, _Page_handlerMap, "f").set(handler, wrap);
+            this.#handlerMap.set(handler, wrap);
             return super.on(eventName, wrap);
         }
         return super.on(eventName, handler);
@@ -135,7 +129,7 @@
     }
     off(eventName, handler) {
         if (eventName === 'request') {
-            handler = __classPrivateFieldGet(this, _Page_handlerMap, "f").get(handler) || handler;
+            handler = this.#handlerMap.get(handler) || handler;
         }
         return super.off(eventName, handler);
     }
@@ -173,6 +167,12 @@
         throw new Error('Not implemented');
     }
     /**
+     * Creates a Chrome Devtools Protocol session attached to the page.
+     */
+    createCDPSession() {
+        throw new Error('Not implemented');
+    }
+    /**
      * {@inheritDoc Keyboard}
      */
     get keyboard() {
@@ -246,16 +246,13 @@
     getDefaultTimeout() {
         throw new Error('Not implemented');
     }
-    /**
-     * Creates a locator for the provided `selector`. See {@link Locator} for
-     * details and supported actions.
-     *
-     * @remarks
-     * Locators API is experimental and we will not follow semver for breaking
-     * change in the Locators API.
-     */
-    locator(selector) {
-        return Locator_js_1.Locator.create(this, selector);
+    locator(selectorOrFunc) {
+        if (typeof selectorOrFunc === 'string') {
+            return locators_js_1.NodeLocator.create(this, selectorOrFunc);
+        }
+        else {
+            return locators_js_1.FunctionLocator.create(this, selectorOrFunc);
+        }
     }
     /**
      * A shortcut for {@link Locator.race} that does not require static imports.
@@ -263,7 +260,7 @@
      * @internal
      */
     locatorRace(locators) {
-        return Locator_js_1.Locator.race(locators);
+        return locators_js_1.Locator.race(locators);
     }
     /**
      * Runs `document.querySelector` within the page. If no element matches the
@@ -446,11 +443,22 @@
     async setCookie() {
         throw new Error('Not implemented');
     }
-    async addScriptTag() {
-        throw new Error('Not implemented');
+    /**
+     * Adds a `<script>` tag into the page with the desired URL or content.
+     *
+     * @remarks
+     * Shortcut for
+     * {@link Frame.addScriptTag | page.mainFrame().addScriptTag(options)}.
+     *
+     * @param options - Options for the script.
+     * @returns An {@link ElementHandle | element handle} to the injected
+     * `<script>` element.
+     */
+    async addScriptTag(options) {
+        return this.mainFrame().addScriptTag(options);
     }
-    async addStyleTag() {
-        throw new Error('Not implemented');
+    async addStyleTag(options) {
+        return this.mainFrame().addStyleTag(options);
     }
     async exposeFunction() {
         throw new Error('Not implemented');
@@ -1020,8 +1028,59 @@
     async waitForSelector(selector, options = {}) {
         return await this.mainFrame().waitForSelector(selector, options);
     }
-    waitForXPath() {
-        throw new Error('Not implemented');
+    /**
+     * Wait for the `xpath` to appear in page. If at the moment of calling the
+     * method the `xpath` already exists, the method will return immediately. If
+     * the `xpath` doesn't appear after the `timeout` milliseconds of waiting, the
+     * function will throw.
+     *
+     * @example
+     * This method works across navigation
+     *
+     * ```ts
+     * import puppeteer from 'puppeteer';
+     * (async () => {
+     *   const browser = await puppeteer.launch();
+     *   const page = await browser.newPage();
+     *   let currentURL;
+     *   page
+     *     .waitForXPath('//img')
+     *     .then(() => console.log('First URL with image: ' + currentURL));
+     *   for (currentURL of [
+     *     'https://example.com',
+     *     'https://google.com',
+     *     'https://bbc.com',
+     *   ]) {
+     *     await page.goto(currentURL);
+     *   }
+     *   await browser.close();
+     * })();
+     * ```
+     *
+     * @param xpath - A
+     * {@link https://developer.mozilla.org/en-US/docs/Web/XPath | xpath} of an
+     * element to wait for
+     * @param options - Optional waiting parameters
+     * @returns Promise which resolves when element specified by xpath string is
+     * added to DOM. Resolves to `null` if waiting for `hidden: true` and xpath is
+     * not found in DOM, otherwise resolves to `ElementHandle`.
+     * @remarks
+     * The optional Argument `options` have properties:
+     *
+     * - `visible`: A boolean to wait for element to be present in DOM and to be
+     *   visible, i.e. to not have `display: none` or `visibility: hidden` CSS
+     *   properties. Defaults to `false`.
+     *
+     * - `hidden`: A boolean wait for element to not be found in the DOM or to be
+     *   hidden, i.e. have `display: none` or `visibility: hidden` CSS properties.
+     *   Defaults to `false`.
+     *
+     * - `timeout`: A number which is maximum time to wait for in milliseconds.
+     *   Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default
+     *   value can be changed by using the {@link Page.setDefaultTimeout} method.
+     */
+    waitForXPath(xpath, options) {
+        return this.mainFrame().waitForXPath(xpath, options);
     }
     /**
      * Waits for a function to finish evaluating in the page's context.
@@ -1088,7 +1147,6 @@
     }
 }
 exports.Page = Page;
-_Page_handlerMap = new WeakMap();
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js.map
index 8a4e531..5cf11c5 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Page.js.map
@@ -1 +1 @@
-{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../../src/api/Page.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;AAeH,+DAAgE;AAIhE,mEAIqC;AACrC,2DAKiC;AAUjC,+CAM2B;AAE3B,iDAAyC;AACzC,qDAA6C;AAa7C,6CAAqC;AAgVrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,MAAa,IAAK,SAAQ,8BAAY;IAGpC;;OAEG;IACH;QACE,KAAK,EAAE,CAAC;QANV,2BAAc,IAAI,OAAO,EAA8B,EAAC;IAOxD,CAAC;IAED;;OAEG;IACH,uBAAuB;QACrB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,yBAAyB;QACvB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;OAUG;IACM,EAAE,CACT,SAAY,EACZ,OAA4C;QAE5C,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,MAAM,IAAI,GACR,uBAAA,IAAI,wBAAY,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC7B,CAAC,CAAC,KAAkB,EAAE,EAAE;oBACtB,KAAK,CAAC,sBAAsB,CAAC,GAAG,EAAE;wBAChC,OAAO,OAAO,CAAC,KAA2B,CAAC,CAAC;oBAC9C,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YAEL,uBAAA,IAAI,wBAAY,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAEpC,OAAO,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;SAClC;QACD,OAAO,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAEQ,IAAI,CACX,SAAY,EACZ,OAA4C;QAE5C,0EAA0E;QAC1E,mBAAmB;QACnB,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAEQ,GAAG,CACV,SAAY,EACZ,OAA4C;QAE5C,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,OAAO,GAAG,uBAAA,IAAI,wBAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;SACpD;QAED,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IA+BD,kBAAkB;QAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAgBD,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,SAAS;QACP,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;OAOG;IACH,OAAO;QACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAuCD,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAQD,KAAK,CAAC,sBAAsB;QAC1B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAWD,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAUD,cAAc;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAgCD,wBAAwB;QACtB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAoBD,2BAA2B;QACzB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAMD,iBAAiB;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,QAAgB;QACtB,OAAO,oBAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,QAAmB;QAC7B,OAAO,oBAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,CAAC,CACL,QAAkB;QAElB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,CACN,QAAkB;QAElB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAkED,KAAK,CAAC,cAAc;QAIlB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IA4BD,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DG;IACH,KAAK,CAAC,KAAK,CAQT,QAAkB,EAClB,YAA2B,EAC3B,GAAG,IAAY;QAEf,YAAY,GAAG,IAAA,sCAA4B,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DG;IACH,KAAK,CAAC,MAAM,CAQV,QAAkB,EAClB,YAA2B,EAC3B,GAAG,IAAY;QAEf,YAAY,GAAG,IAAA,sCAA4B,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,EAAE,CAAC,UAAkB;QACzB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAOD,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAKD,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAUD,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAgBD,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAqBD,KAAK,CAAC,WAAW;QAGf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IA4ED,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAOD,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IASD,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAuBD,KAAK,CAAC,mBAAmB;QACvB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAYD,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,GAAG;QACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IA6BD,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IA+DD,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IA6BD,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,KAAK,CAAC,iBAAiB,CACrB,UAA0B,EAAE;QAE5B,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IA6BD,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAmCD,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAUD,KAAK,CAAC,kBAAkB;QACtB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,mBAAmB,CACjC,cAEC,EACD,QAAgB,EAChB,OAAe,EACf,cAA0C;QAE1C,MAAM,YAAY,GAAG,sBAAQ,CAAC,MAAM,EAAQ,CAAC;QAC7C,MAAM,aAAa,GAAG,sBAAQ,CAAC,MAAM,EAAS,CAAC;QAE/C,IAAI,SAAqC,CAAC;QAC1C,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,aAAa,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,YAAY,CAAC,SAAS,CAAC,CAAC;YAExB,IAAI,cAAc,CAAC,qBAAqB,EAAE,KAAK,CAAC,EAAE;gBAChD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC1B,OAAO,YAAY,CAAC,OAAO,EAAE,CAAC;gBAChC,CAAC,EAAE,QAAQ,CAAC,CAAC;aACd;QACH,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE;YACtC,OAAO,IAAA,sBAAY,EACjB,cAAc,EACd,KAAK,EACL,GAAG,EAAE;gBACH,QAAQ,EAAE,CAAC;gBACX,OAAO,KAAK,CAAC;YACf,CAAC,EACD,OAAO,EACP,aAAa,CACd,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG;YACpB,aAAa,CAAC,+CAA2B,CAAC,OAAO,CAAC;YAClD,aAAa,CAAC,+CAA2B,CAAC,QAAQ,CAAC;YACnD,aAAa,CAAC,+CAA2B,CAAC,aAAa,CAAC;SACzD,CAAC;QAEF,QAAQ,EAAE,CAAC;QAEX,mDAAmD;QACnD,sDAAsD;QACtD,MAAM,aAAa,GAAG,cAAc,CAAC,YAAY,EAAE,CAAC;QAEpD,MAAM,sBAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,GAAG,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CACvE,CAAC,CAAC,EAAE;YACF,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,CAAC;QACX,CAAC,EACD,KAAK,CAAC,EAAE;YACN,OAAO,EAAE,CAAC;YACV,MAAM,KAAK,CAAC;QACd,CAAC,CACF,CAAC;IACJ,CAAC;IAyBD,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IA6BD,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IA6BD,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC;YACnC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IASD,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAWD,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IA4BD,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAOD,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAgED,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IASD,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAyBD,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAiCD,KAAK,CAAC,uBAAuB;QAC3B,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IA2CD,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAwDD,KAAK,CAAC,QAAQ;QAIZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAyCD,KAAK,CAAC,qBAAqB;QACzB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAQD,KAAK,CAAC,mCAAmC;QACvC,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IASD,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAC3B,IAAwB,EACxB,MAAc;QAEd,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QAED,MAAM,EAAE,GAAG,MAAM,IAAA,0BAAgB,GAAE,CAAC;QAEpC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,CAAC;IA0DD,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,cAAc,CACZ,UAAsB,EAAE,EACxB,aAA0B,IAAI;QAE9B,MAAM,QAAQ,GAAG;YACf,KAAK,EAAE,CAAC;YACR,mBAAmB,EAAE,KAAK;YAC1B,cAAc,EAAE,EAAE;YAClB,cAAc,EAAE,EAAE;YAClB,eAAe,EAAE,KAAK;YACtB,SAAS,EAAE,KAAK;YAChB,UAAU,EAAE,EAAE;YACd,iBAAiB,EAAE,KAAK;YACxB,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE,KAAK;SACf,CAAC;QAEF,IAAI,KAAK,GAAG,GAAG,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,MAAM,GACV,4BAAY,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAA0B,CAAC,CAAC;YACrE,IAAA,kBAAM,EAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC1D,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YACrB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;SACxB;aAAM;YACL,KAAK,GAAG,6BAA6B,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,KAAK,CAAC;YAC1E,MAAM;gBACJ,6BAA6B,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC;SACvE;QAED,MAAM,MAAM,GAAG;YACb,GAAG,EAAE,6BAA6B,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC;YACxE,IAAI,EACF,6BAA6B,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;YACtE,MAAM,EACJ,6BAA6B,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;YACxE,KAAK,EACH,6BAA6B,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC;SACxE,CAAC;QAEF,MAAM,MAAM,GAAG;YACb,GAAG,QAAQ;YACX,GAAG,OAAO;YACV,KAAK;YACL,MAAM;YACN,MAAM;SACP,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAkBD,KAAK,CAAC,eAAe;QACnB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAMD,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAGD,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,CAAC,QAAgB,EAAE,OAAgC;QACtD,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,QAAgB;QACpB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,QAAgB;QACpB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,MAAM,CAAC,QAAgB,EAAE,GAAG,MAAgB;QAC1C,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,GAAG,CAAC,QAAgB;QAClB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,IAAI,CACF,QAAgB,EAChB,IAAY,EACZ,OAAuC;QAEvC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,cAAc,CAAC,YAAoB;QACjC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;IACH,KAAK,CAAC,eAAe,CACnB,QAAkB,EAClB,UAAkC,EAAE;QAEpC,OAAO,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAyDD,YAAY;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACH,eAAe,CAIb,YAA2B,EAC3B,OAAqC,EACrC,GAAG,IAAY;QAEf,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,eAAe,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1E,CAAC;IA4BD,mBAAmB;QACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CACF;AAjzED,oBAizEC;;AAED;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAI,GAAG,CAAS;IAC9C,WAAW;IACX,WAAW;IACX,QAAQ;IACR,kBAAkB;IAClB,OAAO;IACP,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,gBAAgB;IAChB,cAAc;IACd,gBAAgB;IAChB,iBAAiB;CAClB,CAAC,CAAC;AAEH;;GAEG;AACU,QAAA,YAAY,GAAG;IAC1B,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;CACT,CAAC;AAEF,SAAS,6BAA6B,CACpC,SAA2B,EAC3B,aAA0B,IAAI;IAE9B,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE;QACpC,OAAO,SAAS,CAAC;KAClB;IACD,IAAI,MAAM,CAAC;IACX,IAAI,IAAA,kBAAQ,EAAC,SAAS,CAAC,EAAE;QACvB,wEAAwE;QACxE,MAAM,GAAG,SAAS,CAAC;KACpB;SAAM,IAAI,IAAA,kBAAQ,EAAC,SAAS,CAAC,EAAE;QAC9B,MAAM,IAAI,GAAG,SAAS,CAAC;QACvB,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,IAAI,oBAAY,EAAE;YACxB,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SAChD;aAAM;YACL,gFAAgF;YAChF,wDAAwD;YACxD,IAAI,GAAG,IAAI,CAAC;YACZ,SAAS,GAAG,IAAI,CAAC;SAClB;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,IAAA,kBAAM,EAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,mCAAmC,GAAG,IAAI,CAAC,CAAC;QAClE,MAAM,GAAG,KAAK,GAAG,oBAAY,CAAC,IAAiC,CAAC,CAAC;KAClE;SAAM;QACL,MAAM,IAAI,KAAK,CACb,2CAA2C,GAAG,OAAO,SAAS,CAC/D,CAAC;KACH;IACD,OAAO,MAAM,GAAG,oBAAY,CAAC,UAAU,CAAC,CAAC;AAC3C,CAAC"}
\ No newline at end of file
+{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../../src/api/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Target.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Target.d.ts
new file mode 100644
index 0000000..a4422c1
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Target.d.ts
@@ -0,0 +1,80 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import type { Browser } from '../api/Browser.js';
+import type { BrowserContext } from '../api/BrowserContext.js';
+import { Page } from '../api/Page.js';
+import { CDPSession } from '../common/Connection.js';
+import { WebWorker } from '../common/WebWorker.js';
+/**
+ * @public
+ */
+export declare enum TargetType {
+    PAGE = "page",
+    BACKGROUND_PAGE = "background_page",
+    SERVICE_WORKER = "service_worker",
+    SHARED_WORKER = "shared_worker",
+    BROWSER = "browser",
+    WEBVIEW = "webview",
+    OTHER = "other"
+}
+/**
+ * Target represents a
+ * {@link https://chromedevtools.github.io/devtools-protocol/tot/Target/ | CDP target}.
+ * In CDP a target is something that can be debugged such a frame, a page or a
+ * worker.
+ * @public
+ */
+export declare class Target {
+    /**
+     * @internal
+     */
+    protected constructor();
+    /**
+     * If the target is not of type `"service_worker"` or `"shared_worker"`, returns `null`.
+     */
+    worker(): Promise<WebWorker | null>;
+    /**
+     * If the target is not of type `"page"`, `"webview"` or `"background_page"`,
+     * returns `null`.
+     */
+    page(): Promise<Page | null>;
+    url(): string;
+    /**
+     * Creates a Chrome Devtools Protocol session attached to the target.
+     */
+    createCDPSession(): Promise<CDPSession>;
+    /**
+     * Identifies what kind of target this is.
+     *
+     * @remarks
+     *
+     * See {@link https://developer.chrome.com/extensions/background_pages | docs} for more info about background pages.
+     */
+    type(): TargetType;
+    /**
+     * Get the browser the target belongs to.
+     */
+    browser(): Browser;
+    /**
+     * Get the browser context the target belongs to.
+     */
+    browserContext(): BrowserContext;
+    /**
+     * Get the target that opened this target. Top-level targets return `null`.
+     */
+    opener(): Target | undefined;
+}
+//# sourceMappingURL=Target.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Target.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Target.d.ts.map
new file mode 100644
index 0000000..56e18c0
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Target.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"Target.d.ts","sourceRoot":"","sources":["../../../../src/api/Target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAEjD;;GAEG;AACH,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED;;;;;;GAMG;AACH,qBAAa,MAAM;IACjB;;OAEG;IACH,SAAS;IAET;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAIzC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAIlC,GAAG,IAAI,MAAM;IAIb;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC;IAIvC;;;;;;OAMG;IACH,IAAI,IAAI,UAAU;IAIlB;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,cAAc,IAAI,cAAc;IAIhC;;OAEG;IACH,MAAM,IAAI,MAAM,GAAG,SAAS;CAG7B"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Target.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Target.js
new file mode 100644
index 0000000..46ac7f6
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Target.js
@@ -0,0 +1,96 @@
+"use strict";
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Target = exports.TargetType = void 0;
+/**
+ * @public
+ */
+var TargetType;
+(function (TargetType) {
+    TargetType["PAGE"] = "page";
+    TargetType["BACKGROUND_PAGE"] = "background_page";
+    TargetType["SERVICE_WORKER"] = "service_worker";
+    TargetType["SHARED_WORKER"] = "shared_worker";
+    TargetType["BROWSER"] = "browser";
+    TargetType["WEBVIEW"] = "webview";
+    TargetType["OTHER"] = "other";
+})(TargetType || (exports.TargetType = TargetType = {}));
+/**
+ * Target represents a
+ * {@link https://chromedevtools.github.io/devtools-protocol/tot/Target/ | CDP target}.
+ * In CDP a target is something that can be debugged such a frame, a page or a
+ * worker.
+ * @public
+ */
+class Target {
+    /**
+     * @internal
+     */
+    constructor() { }
+    /**
+     * If the target is not of type `"service_worker"` or `"shared_worker"`, returns `null`.
+     */
+    async worker() {
+        return null;
+    }
+    /**
+     * If the target is not of type `"page"`, `"webview"` or `"background_page"`,
+     * returns `null`.
+     */
+    async page() {
+        return null;
+    }
+    url() {
+        throw new Error('not implemented');
+    }
+    /**
+     * Creates a Chrome Devtools Protocol session attached to the target.
+     */
+    createCDPSession() {
+        throw new Error('not implemented');
+    }
+    /**
+     * Identifies what kind of target this is.
+     *
+     * @remarks
+     *
+     * See {@link https://developer.chrome.com/extensions/background_pages | docs} for more info about background pages.
+     */
+    type() {
+        throw new Error('not implemented');
+    }
+    /**
+     * Get the browser the target belongs to.
+     */
+    browser() {
+        throw new Error('not implemented');
+    }
+    /**
+     * Get the browser context the target belongs to.
+     */
+    browserContext() {
+        throw new Error('not implemented');
+    }
+    /**
+     * Get the target that opened this target. Top-level targets return `null`.
+     */
+    opener() {
+        throw new Error('not implemented');
+    }
+}
+exports.Target = Target;
+//# sourceMappingURL=Target.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Target.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Target.js.map
new file mode 100644
index 0000000..3f333ea
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/Target.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"Target.js","sourceRoot":"","sources":["../../../../src/api/Target.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAQH;;GAEG;AACH,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,iDAAmC,CAAA;IACnC,+CAAiC,CAAA;IACjC,6CAA+B,CAAA;IAC/B,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,6BAAe,CAAA;AACjB,CAAC,EARW,UAAU,0BAAV,UAAU,QAQrB;AAED;;;;;;GAMG;AACH,MAAa,MAAM;IACjB;;OAEG;IACH,gBAAyB,CAAC;IAE1B;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG;QACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,IAAI;QACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CACF;AA/DD,wBA+DC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/api.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/api.d.ts
index 091df67..24a7cba 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/api.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/api.d.ts
@@ -15,6 +15,7 @@
  */
 export * from './Browser.js';
 export * from './BrowserContext.js';
+export * from './Dialog.js';
 export * from './Page.js';
 export * from './JSHandle.js';
 export * from './ElementHandle.js';
@@ -22,5 +23,6 @@
 export * from './Frame.js';
 export * from './HTTPResponse.js';
 export * from './HTTPRequest.js';
-export * from './Locator.js';
+export * from './locators/locators.js';
+export * from './Target.js';
 //# sourceMappingURL=api.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/api.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/api.d.ts.map
index 5a7998e..e910acf 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/api.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/api.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/api/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
\ No newline at end of file
+{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/api/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/api.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/api.js
index 34079e9..49031cf 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/api.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/api.js
@@ -31,6 +31,7 @@
 Object.defineProperty(exports, "__esModule", { value: true });
 __exportStar(require("./Browser.js"), exports);
 __exportStar(require("./BrowserContext.js"), exports);
+__exportStar(require("./Dialog.js"), exports);
 __exportStar(require("./Page.js"), exports);
 __exportStar(require("./JSHandle.js"), exports);
 __exportStar(require("./ElementHandle.js"), exports);
@@ -38,5 +39,6 @@
 __exportStar(require("./Frame.js"), exports);
 __exportStar(require("./HTTPResponse.js"), exports);
 __exportStar(require("./HTTPRequest.js"), exports);
-__exportStar(require("./Locator.js"), exports);
+__exportStar(require("./locators/locators.js"), exports);
+__exportStar(require("./Target.js"), exports);
 //# sourceMappingURL=api.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/api.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/api.js.map
index 1b192fc..fe80be8 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/api.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/api.js.map
@@ -1 +1 @@
-{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/api/api.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;AAEH,+CAA6B;AAC7B,sDAAoC;AACpC,4CAA0B;AAC1B,gDAA8B;AAC9B,qDAAmC;AACnC,6CAA2B;AAC3B,6CAA2B;AAC3B,oDAAkC;AAClC,mDAAiC;AACjC,+CAA6B"}
\ No newline at end of file
+{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/api/api.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;AAEH,+CAA6B;AAC7B,sDAAoC;AACpC,8CAA4B;AAC5B,4CAA0B;AAC1B,gDAA8B;AAC9B,qDAAmC;AACnC,6CAA2B;AAC3B,6CAA2B;AAC3B,oDAAkC;AAClC,mDAAiC;AACjC,yDAAuC;AACvC,8CAA4B"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/DelegatedLocator.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/DelegatedLocator.d.ts
new file mode 100644
index 0000000..892e7a2
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/DelegatedLocator.d.ts
@@ -0,0 +1,34 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Observable } from '../../../third_party/rxjs/rxjs.js';
+import { HandleFor } from '../../common/common.js';
+import { Locator, VisibilityOption } from './locators.js';
+/**
+ * @internal
+ */
+export declare abstract class DelegatedLocator<T, U> extends Locator<U> {
+    #private;
+    constructor(delegate: Locator<T>);
+    protected get delegate(): Locator<T>;
+    setTimeout(timeout: number): DelegatedLocator<T, U>;
+    setVisibility<ValueType extends Node, NodeType extends Node>(this: DelegatedLocator<ValueType, NodeType>, visibility: VisibilityOption): DelegatedLocator<ValueType, NodeType>;
+    setWaitForEnabled<ValueType extends Node, NodeType extends Node>(this: DelegatedLocator<ValueType, NodeType>, value: boolean): DelegatedLocator<ValueType, NodeType>;
+    setEnsureElementIsInTheViewport<ValueType extends Element, ElementType extends Element>(this: DelegatedLocator<ValueType, ElementType>, value: boolean): DelegatedLocator<ValueType, ElementType>;
+    setWaitForStableBoundingBox<ValueType extends Element, ElementType extends Element>(this: DelegatedLocator<ValueType, ElementType>, value: boolean): DelegatedLocator<ValueType, ElementType>;
+    abstract _clone(): DelegatedLocator<T, U>;
+    abstract _wait(): Observable<HandleFor<U>>;
+}
+//# sourceMappingURL=DelegatedLocator.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/DelegatedLocator.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/DelegatedLocator.d.ts.map
new file mode 100644
index 0000000..210ab95
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/DelegatedLocator.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"DelegatedLocator.d.ts","sourceRoot":"","sources":["../../../../../src/api/locators/DelegatedLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAC,OAAO,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAExD;;GAEG;AACH,8BAAsB,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;;gBAGjD,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAOhC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,CAEnC;IAEQ,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;IAMnD,aAAa,CAAC,SAAS,SAAS,IAAI,EAAE,QAAQ,SAAS,IAAI,EAClE,IAAI,EAAE,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAC3C,UAAU,EAAE,gBAAgB,GAC3B,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC;IAQ/B,iBAAiB,CAAC,SAAS,SAAS,IAAI,EAAE,QAAQ,SAAS,IAAI,EACtE,IAAI,EAAE,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAC3C,KAAK,EAAE,OAAO,GACb,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC;IAQ/B,+BAA+B,CACtC,SAAS,SAAS,OAAO,EACzB,WAAW,SAAS,OAAO,EAE3B,IAAI,EAAE,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,EAC9C,KAAK,EAAE,OAAO,GACb,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC;IAQlC,2BAA2B,CAClC,SAAS,SAAS,OAAO,EACzB,WAAW,SAAS,OAAO,EAE3B,IAAI,EAAE,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,EAC9C,KAAK,EAAE,OAAO,GACb,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC;aAQzB,MAAM,IAAI,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;aAChC,KAAK,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CACpD"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/DelegatedLocator.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/DelegatedLocator.js
new file mode 100644
index 0000000..6606c83
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/DelegatedLocator.js
@@ -0,0 +1,60 @@
+"use strict";
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.DelegatedLocator = void 0;
+const locators_js_1 = require("./locators.js");
+/**
+ * @internal
+ */
+class DelegatedLocator extends locators_js_1.Locator {
+    #delegate;
+    constructor(delegate) {
+        super();
+        this.#delegate = delegate;
+        this.copyOptions(this.#delegate);
+    }
+    get delegate() {
+        return this.#delegate;
+    }
+    setTimeout(timeout) {
+        const locator = super.setTimeout(timeout);
+        locator.#delegate = this.#delegate.setTimeout(timeout);
+        return locator;
+    }
+    setVisibility(visibility) {
+        const locator = super.setVisibility(visibility);
+        locator.#delegate = locator.#delegate.setVisibility(visibility);
+        return locator;
+    }
+    setWaitForEnabled(value) {
+        const locator = super.setWaitForEnabled(value);
+        locator.#delegate = this.#delegate.setWaitForEnabled(value);
+        return locator;
+    }
+    setEnsureElementIsInTheViewport(value) {
+        const locator = super.setEnsureElementIsInTheViewport(value);
+        locator.#delegate = this.#delegate.setEnsureElementIsInTheViewport(value);
+        return locator;
+    }
+    setWaitForStableBoundingBox(value) {
+        const locator = super.setWaitForStableBoundingBox(value);
+        locator.#delegate = this.#delegate.setWaitForStableBoundingBox(value);
+        return locator;
+    }
+}
+exports.DelegatedLocator = DelegatedLocator;
+//# sourceMappingURL=DelegatedLocator.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/DelegatedLocator.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/DelegatedLocator.js.map
new file mode 100644
index 0000000..5b39b0f
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/DelegatedLocator.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"DelegatedLocator.js","sourceRoot":"","sources":["../../../../../src/api/locators/DelegatedLocator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAKH,+CAAwD;AAExD;;GAEG;AACH,MAAsB,gBAAuB,SAAQ,qBAAU;IAC7D,SAAS,CAAa;IAEtB,YAAY,QAAoB;QAC9B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,IAAc,QAAQ;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEQ,UAAU,CAAC,OAAe;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAA2B,CAAC;QACpE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,aAAa,CAEpB,UAA4B;QAE5B,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CACjC,UAAU,CAC8B,CAAC;QAC3C,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,CAAY,UAAU,CAAC,CAAC;QAC3E,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,iBAAiB,CAExB,KAAc;QAEd,MAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,CACrC,KAAK,CACmC,CAAC;QAC3C,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC5D,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,+BAA+B,CAKtC,KAAc;QAEd,MAAM,OAAO,GAAG,KAAK,CAAC,+BAA+B,CACnD,KAAK,CACsC,CAAC;QAC9C,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;QAC1E,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,2BAA2B,CAKlC,KAAc;QAEd,MAAM,OAAO,GAAG,KAAK,CAAC,2BAA2B,CAC/C,KAAK,CACsC,CAAC;QAC9C,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO,OAAO,CAAC;IACjB,CAAC;CAIF;AAxED,4CAwEC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FilteredLocator.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FilteredLocator.d.ts
new file mode 100644
index 0000000..c390640
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FilteredLocator.d.ts
@@ -0,0 +1,33 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Observable } from '../../../third_party/rxjs/rxjs.js';
+import { Awaitable, HandleFor } from '../../common/common.js';
+import { DelegatedLocator } from './DelegatedLocator.js';
+import { ActionOptions, Locator } from './locators.js';
+/**
+ * @public
+ */
+export type Predicate<From, To extends From = From> = ((value: From) => value is To) | ((value: From) => Awaitable<boolean>);
+/**
+ * @internal
+ */
+export declare class FilteredLocator<From, To extends From> extends DelegatedLocator<From, To> {
+    #private;
+    constructor(base: Locator<From>, predicate: Predicate<From, To>);
+    _clone(): FilteredLocator<From, To>;
+    _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<To>>;
+}
+//# sourceMappingURL=FilteredLocator.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FilteredLocator.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FilteredLocator.d.ts.map
new file mode 100644
index 0000000..9094db0
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FilteredLocator.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"FilteredLocator.d.ts","sourceRoot":"","sources":["../../../../../src/api/locators/FilteredLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,UAAU,EAKX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,SAAS,EAAE,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,aAAa,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,IAAI,IAC9C,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,GAC9B,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AAE1C;;GAEG;AACH,qBAAa,eAAe,CAAC,IAAI,EAAE,EAAE,SAAS,IAAI,CAAE,SAAQ,gBAAgB,CAC1E,IAAI,EACJ,EAAE,CACH;;gBAGa,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;IAKtD,MAAM,IAAI,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;IAOnC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;CAmB7E"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FilteredLocator.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FilteredLocator.js
new file mode 100644
index 0000000..4126751
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FilteredLocator.js
@@ -0,0 +1,43 @@
+"use strict";
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.FilteredLocator = void 0;
+const rxjs_js_1 = require("../../../third_party/rxjs/rxjs.js");
+const DelegatedLocator_js_1 = require("./DelegatedLocator.js");
+/**
+ * @internal
+ */
+class FilteredLocator extends DelegatedLocator_js_1.DelegatedLocator {
+    #predicate;
+    constructor(base, predicate) {
+        super(base);
+        this.#predicate = predicate;
+    }
+    _clone() {
+        return new FilteredLocator(this.delegate.clone(), this.#predicate).copyOptions(this);
+    }
+    _wait(options) {
+        return this.delegate._wait(options).pipe((0, rxjs_js_1.mergeMap)(handle => {
+            return (0, rxjs_js_1.from)(handle.frame.waitForFunction(this.#predicate, { signal: options?.signal, timeout: this._timeout }, handle)).pipe((0, rxjs_js_1.map)(() => {
+                // SAFETY: It passed the predicate, so this is correct.
+                return handle;
+            }));
+        }), (0, rxjs_js_1.throwIfEmpty)());
+    }
+}
+exports.FilteredLocator = FilteredLocator;
+//# sourceMappingURL=FilteredLocator.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FilteredLocator.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FilteredLocator.js.map
new file mode 100644
index 0000000..2644cee
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FilteredLocator.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"FilteredLocator.js","sourceRoot":"","sources":["../../../../../src/api/locators/FilteredLocator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,+DAM2C;AAI3C,+DAAuD;AAUvD;;GAEG;AACH,MAAa,eAAuC,SAAQ,sCAG3D;IACC,UAAU,CAAsB;IAEhC,YAAY,IAAmB,EAAE,SAA8B;QAC7D,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,eAAe,CACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EACrB,IAAI,CAAC,UAAU,CAChB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAEQ,KAAK,CAAC,OAAiC;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CACtC,IAAA,kBAAQ,EAAC,MAAM,CAAC,EAAE;YAChB,OAAO,IAAA,cAAI,EACR,MAA8B,CAAC,KAAK,CAAC,eAAe,CACnD,IAAI,CAAC,UAAU,EACf,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAC,EACjD,MAAM,CACP,CACF,CAAC,IAAI,CACJ,IAAA,aAAG,EAAC,GAAG,EAAE;gBACP,uDAAuD;gBACvD,OAAO,MAAuB,CAAC;YACjC,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,EACF,IAAA,sBAAY,GAAE,CACf,CAAC;IACJ,CAAC;CACF;AArCD,0CAqCC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FunctionLocator.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FunctionLocator.d.ts
new file mode 100644
index 0000000..ed968a8
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FunctionLocator.d.ts
@@ -0,0 +1,31 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Observable } from '../../../third_party/rxjs/rxjs.js';
+import { Awaitable, HandleFor } from '../../common/types.js';
+import { Frame } from '../Frame.js';
+import { Page } from '../Page.js';
+import { ActionOptions, Locator } from './locators.js';
+/**
+ * @internal
+ */
+export declare class FunctionLocator<T> extends Locator<T> {
+    #private;
+    static create<Ret>(pageOrFrame: Page | Frame, func: () => Awaitable<Ret>): Locator<Ret>;
+    private constructor();
+    _clone(): FunctionLocator<T>;
+    _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<T>>;
+}
+//# sourceMappingURL=FunctionLocator.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FunctionLocator.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FunctionLocator.d.ts.map
new file mode 100644
index 0000000..4b5c8b1
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FunctionLocator.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"FunctionLocator.d.ts","sourceRoot":"","sources":["../../../../../src/api/locators/FunctionLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,UAAU,EAIX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,SAAS,EAAE,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAEhC,OAAO,EAAC,aAAa,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAErD;;GAEG;AACH,qBAAa,eAAe,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;;IAChD,MAAM,CAAC,MAAM,CAAC,GAAG,EACf,WAAW,EAAE,IAAI,GAAG,KAAK,EACzB,IAAI,EAAE,MAAM,SAAS,CAAC,GAAG,CAAC,GACzB,OAAO,CAAC,GAAG,CAAC;IAWf,OAAO;IAOE,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC;IAIrC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAWnE"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FunctionLocator.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FunctionLocator.js
new file mode 100644
index 0000000..7684c83
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FunctionLocator.js
@@ -0,0 +1,51 @@
+"use strict";
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.FunctionLocator = void 0;
+const rxjs_js_1 = require("../../../third_party/rxjs/rxjs.js");
+const locators_js_1 = require("./locators.js");
+/**
+ * @internal
+ */
+class FunctionLocator extends locators_js_1.Locator {
+    static create(pageOrFrame, func) {
+        return new FunctionLocator(pageOrFrame, func).setTimeout('getDefaultTimeout' in pageOrFrame
+            ? pageOrFrame.getDefaultTimeout()
+            : pageOrFrame.page().getDefaultTimeout());
+    }
+    #pageOrFrame;
+    #func;
+    constructor(pageOrFrame, func) {
+        super();
+        this.#pageOrFrame = pageOrFrame;
+        this.#func = func;
+    }
+    _clone() {
+        return new FunctionLocator(this.#pageOrFrame, this.#func);
+    }
+    _wait(options) {
+        const signal = options?.signal;
+        return (0, rxjs_js_1.defer)(() => {
+            return (0, rxjs_js_1.from)(this.#pageOrFrame.waitForFunction(this.#func, {
+                timeout: this.timeout,
+                signal,
+            }));
+        }).pipe((0, rxjs_js_1.throwIfEmpty)());
+    }
+}
+exports.FunctionLocator = FunctionLocator;
+//# sourceMappingURL=FunctionLocator.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FunctionLocator.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FunctionLocator.js.map
new file mode 100644
index 0000000..257897c
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/FunctionLocator.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"FunctionLocator.js","sourceRoot":"","sources":["../../../../../src/api/locators/FunctionLocator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,+DAK2C;AAK3C,+CAAqD;AAErD;;GAEG;AACH,MAAa,eAAmB,SAAQ,qBAAU;IAChD,MAAM,CAAC,MAAM,CACX,WAAyB,EACzB,IAA0B;QAE1B,OAAO,IAAI,eAAe,CAAM,WAAW,EAAE,IAAI,CAAC,CAAC,UAAU,CAC3D,mBAAmB,IAAI,WAAW;YAChC,CAAC,CAAC,WAAW,CAAC,iBAAiB,EAAE;YACjC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,YAAY,CAAe;IAC3B,KAAK,CAAqB;IAE1B,YAAoB,WAAyB,EAAE,IAAwB;QACrE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,OAAiC;QACrC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;QAC/B,OAAO,IAAA,eAAK,EAAC,GAAG,EAAE;YAChB,OAAO,IAAA,cAAI,EACT,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM;aACP,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAA,sBAAY,GAAE,CAAC,CAAC;IAC1B,CAAC;CACF;AArCD,0CAqCC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/Locator.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/Locator.d.ts
new file mode 100644
index 0000000..2a52f9e
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/Locator.d.ts
@@ -0,0 +1,204 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Observable, OperatorFunction } from '../../../third_party/rxjs/rxjs.js';
+import { EventEmitter } from '../../common/EventEmitter.js';
+import { HandleFor } from '../../common/types.js';
+import { ClickOptions } from '../ElementHandle.js';
+import { Action, AwaitedLocator, Mapper, Predicate } from './locators.js';
+/**
+ * For observables coming from promises, a delay is needed, otherwise RxJS will
+ * never yield in a permanent failure for a promise.
+ *
+ * We also don't want RxJS to do promise operations to often, so we bump the
+ * delay up to 100ms.
+ *
+ * @internal
+ */
+export declare const RETRY_DELAY = 100;
+/**
+ * @public
+ */
+export type VisibilityOption = 'hidden' | 'visible' | null;
+/**
+ * @public
+ */
+export interface LocatorOptions {
+    /**
+     * Whether to wait for the element to be `visible` or `hidden`. `null` to
+     * disable visibility checks.
+     */
+    visibility: VisibilityOption;
+    /**
+     * Total timeout for the entire locator operation.
+     *
+     * Pass `0` to disable timeout.
+     *
+     * @defaultValue `Page.getDefaultTimeout()`
+     */
+    timeout: number;
+    /**
+     * Whether to scroll the element into viewport if not in the viewprot already.
+     * @defaultValue `true`
+     */
+    ensureElementIsInTheViewport: boolean;
+    /**
+     * Whether to wait for input elements to become enabled before the action.
+     * Applicable to `click` and `fill` actions.
+     * @defaultValue `true`
+     */
+    waitForEnabled: boolean;
+    /**
+     * Whether to wait for the element's bounding box to be same between two
+     * animation frames.
+     * @defaultValue `true`
+     */
+    waitForStableBoundingBox: boolean;
+}
+/**
+ * @public
+ */
+export interface ActionOptions {
+    signal?: AbortSignal;
+}
+/**
+ * @public
+ */
+export type LocatorClickOptions = ClickOptions & ActionOptions;
+/**
+ * @public
+ */
+export interface LocatorScrollOptions extends ActionOptions {
+    scrollTop?: number;
+    scrollLeft?: number;
+}
+/**
+ * All the events that a locator instance may emit.
+ *
+ * @public
+ */
+export declare enum LocatorEmittedEvents {
+    /**
+     * Emitted every time before the locator performs an action on the located element(s).
+     */
+    Action = "action"
+}
+/**
+ * @public
+ */
+export interface LocatorEventObject {
+    [LocatorEmittedEvents.Action]: never;
+}
+/**
+ * Locators describe a strategy of locating objects and performing an action on
+ * them. If the action fails because the object is not ready for the action, the
+ * whole operation is retried. Various preconditions for a successful action are
+ * checked automatically.
+ *
+ * @public
+ */
+export declare abstract class Locator<T> extends EventEmitter {
+    #private;
+    /**
+     * Creates a race between multiple locators but ensures that only a single one
+     * acts.
+     *
+     * @public
+     */
+    static race<Locators extends readonly unknown[] | []>(locators: Locators): Locator<AwaitedLocator<Locators[number]>>;
+    /**
+     * Used for nominally typing {@link Locator}.
+     */
+    _?: T;
+    /**
+     * @internal
+     */
+    protected visibility: VisibilityOption;
+    /**
+     * @internal
+     */
+    protected _timeout: number;
+    /**
+     * @internal
+     */
+    protected operators: {
+        conditions: (conditions: Array<Action<T, never>>, signal?: AbortSignal) => OperatorFunction<HandleFor<T>, HandleFor<T>>;
+        retryAndRaceWithSignalAndTimer: <T_1>(signal?: AbortSignal) => OperatorFunction<T_1, T_1>;
+    };
+    get timeout(): number;
+    on<K extends keyof LocatorEventObject>(eventName: K, handler: (event: LocatorEventObject[K]) => void): this;
+    once<K extends keyof LocatorEventObject>(eventName: K, handler: (event: LocatorEventObject[K]) => void): this;
+    off<K extends keyof LocatorEventObject>(eventName: K, handler: (event: LocatorEventObject[K]) => void): this;
+    setTimeout(timeout: number): Locator<T>;
+    setVisibility<NodeType extends Node>(this: Locator<NodeType>, visibility: VisibilityOption): Locator<NodeType>;
+    setWaitForEnabled<NodeType extends Node>(this: Locator<NodeType>, value: boolean): Locator<NodeType>;
+    setEnsureElementIsInTheViewport<ElementType extends Element>(this: Locator<ElementType>, value: boolean): Locator<ElementType>;
+    setWaitForStableBoundingBox<ElementType extends Element>(this: Locator<ElementType>, value: boolean): Locator<ElementType>;
+    /**
+     * @internal
+     */
+    copyOptions<T>(locator: Locator<T>): this;
+    /**
+     * @internal
+     */
+    abstract _clone(): Locator<T>;
+    /**
+     * @internal
+     */
+    abstract _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<T>>;
+    /**
+     * Clones the locator.
+     */
+    clone(): Locator<T>;
+    /**
+     * Waits for the locator to get a handle from the page.
+     *
+     * @public
+     */
+    waitHandle(options?: Readonly<ActionOptions>): Promise<HandleFor<T>>;
+    /**
+     * Waits for the locator to get the serialized value from the page.
+     *
+     * Note this requires the value to be JSON-serializable.
+     *
+     * @public
+     */
+    wait(options?: Readonly<ActionOptions>): Promise<T>;
+    /**
+     * Maps the locator using the provided mapper.
+     *
+     * @public
+     */
+    map<To>(mapper: Mapper<T, To>): Locator<To>;
+    /**
+     * Creates an expectation that is evaluated against located values.
+     *
+     * If the expectations do not match, then the locator will retry.
+     *
+     * @public
+     */
+    filter<S extends T>(predicate: Predicate<T, S>): Locator<S>;
+    click<ElementType extends Element>(this: Locator<ElementType>, options?: Readonly<LocatorClickOptions>): Promise<void>;
+    /**
+     * Fills out the input identified by the locator using the provided value. The
+     * type of the input is determined at runtime and the appropriate fill-out
+     * method is chosen based on the type. contenteditable, selector, inputs are
+     * supported.
+     */
+    fill<ElementType extends Element>(this: Locator<ElementType>, value: string, options?: Readonly<ActionOptions>): Promise<void>;
+    hover<ElementType extends Element>(this: Locator<ElementType>, options?: Readonly<ActionOptions>): Promise<void>;
+    scroll<ElementType extends Element>(this: Locator<ElementType>, options?: Readonly<LocatorScrollOptions>): Promise<void>;
+}
+//# sourceMappingURL=Locator.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/Locator.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/Locator.d.ts.map
new file mode 100644
index 0000000..793b8cd
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/Locator.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"Locator.d.ts","sourceRoot":"","sources":["../../../../../src/api/locators/Locator.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/Locator.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/Locator.js
new file mode 100644
index 0000000..156b38a
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/Locator.js
@@ -0,0 +1,444 @@
+"use strict";
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Locator = exports.LocatorEmittedEvents = exports.RETRY_DELAY = void 0;
+const rxjs_js_1 = require("../../../third_party/rxjs/rxjs.js");
+const Errors_js_1 = require("../../common/Errors.js");
+const EventEmitter_js_1 = require("../../common/EventEmitter.js");
+const util_js_1 = require("../../common/util.js");
+const locators_js_1 = require("./locators.js");
+/**
+ * For observables coming from promises, a delay is needed, otherwise RxJS will
+ * never yield in a permanent failure for a promise.
+ *
+ * We also don't want RxJS to do promise operations to often, so we bump the
+ * delay up to 100ms.
+ *
+ * @internal
+ */
+exports.RETRY_DELAY = 100;
+/**
+ * All the events that a locator instance may emit.
+ *
+ * @public
+ */
+var LocatorEmittedEvents;
+(function (LocatorEmittedEvents) {
+    /**
+     * Emitted every time before the locator performs an action on the located element(s).
+     */
+    LocatorEmittedEvents["Action"] = "action";
+})(LocatorEmittedEvents || (exports.LocatorEmittedEvents = LocatorEmittedEvents = {}));
+/**
+ * Locators describe a strategy of locating objects and performing an action on
+ * them. If the action fails because the object is not ready for the action, the
+ * whole operation is retried. Various preconditions for a successful action are
+ * checked automatically.
+ *
+ * @public
+ */
+class Locator extends EventEmitter_js_1.EventEmitter {
+    /**
+     * Creates a race between multiple locators but ensures that only a single one
+     * acts.
+     *
+     * @public
+     */
+    static race(locators) {
+        return locators_js_1.RaceLocator.create(locators);
+    }
+    /**
+     * @internal
+     */
+    visibility = null;
+    /**
+     * @internal
+     */
+    _timeout = 30000;
+    #ensureElementIsInTheViewport = true;
+    #waitForEnabled = true;
+    #waitForStableBoundingBox = true;
+    /**
+     * @internal
+     */
+    operators = {
+        conditions: (conditions, signal) => {
+            return (0, rxjs_js_1.mergeMap)((handle) => {
+                return (0, rxjs_js_1.merge)(...conditions.map(condition => {
+                    return condition(handle, signal);
+                })).pipe((0, rxjs_js_1.defaultIfEmpty)(handle));
+            });
+        },
+        retryAndRaceWithSignalAndTimer: (signal) => {
+            const candidates = [];
+            if (signal) {
+                candidates.push((0, rxjs_js_1.fromEvent)(signal, 'abort').pipe((0, rxjs_js_1.map)(() => {
+                    throw signal.reason;
+                })));
+            }
+            if (this._timeout > 0) {
+                candidates.push((0, rxjs_js_1.timer)(this._timeout).pipe((0, rxjs_js_1.map)(() => {
+                    throw new Errors_js_1.TimeoutError(`Timed out after waiting ${this._timeout}ms`);
+                })));
+            }
+            return (0, rxjs_js_1.pipe)((0, rxjs_js_1.retry)({ delay: exports.RETRY_DELAY }), (0, rxjs_js_1.raceWith)(...candidates));
+        },
+    };
+    // Determines when the locator will timeout for actions.
+    get timeout() {
+        return this._timeout;
+    }
+    on(eventName, handler) {
+        return super.on(eventName, handler);
+    }
+    once(eventName, handler) {
+        return super.once(eventName, handler);
+    }
+    off(eventName, handler) {
+        return super.off(eventName, handler);
+    }
+    setTimeout(timeout) {
+        const locator = this._clone();
+        locator._timeout = timeout;
+        return locator;
+    }
+    setVisibility(visibility) {
+        const locator = this._clone();
+        locator.visibility = visibility;
+        return locator;
+    }
+    setWaitForEnabled(value) {
+        const locator = this._clone();
+        locator.#waitForEnabled = value;
+        return locator;
+    }
+    setEnsureElementIsInTheViewport(value) {
+        const locator = this._clone();
+        locator.#ensureElementIsInTheViewport = value;
+        return locator;
+    }
+    setWaitForStableBoundingBox(value) {
+        const locator = this._clone();
+        locator.#waitForStableBoundingBox = value;
+        return locator;
+    }
+    /**
+     * @internal
+     */
+    copyOptions(locator) {
+        this._timeout = locator._timeout;
+        this.visibility = locator.visibility;
+        this.#waitForEnabled = locator.#waitForEnabled;
+        this.#ensureElementIsInTheViewport = locator.#ensureElementIsInTheViewport;
+        this.#waitForStableBoundingBox = locator.#waitForStableBoundingBox;
+        return this;
+    }
+    /**
+     * If the element has a "disabled" property, wait for the element to be
+     * enabled.
+     */
+    #waitForEnabledIfNeeded = (handle, signal) => {
+        if (!this.#waitForEnabled) {
+            return rxjs_js_1.EMPTY;
+        }
+        return (0, rxjs_js_1.from)(handle.frame.waitForFunction(element => {
+            if (!(element instanceof HTMLElement)) {
+                return true;
+            }
+            const isNativeFormControl = [
+                'BUTTON',
+                'INPUT',
+                'SELECT',
+                'TEXTAREA',
+                'OPTION',
+                'OPTGROUP',
+            ].includes(element.nodeName);
+            return !isNativeFormControl || !element.hasAttribute('disabled');
+        }, {
+            timeout: this._timeout,
+            signal,
+        }, handle)).pipe((0, rxjs_js_1.ignoreElements)());
+    };
+    /**
+     * Compares the bounding box of the element for two consecutive animation
+     * frames and waits till they are the same.
+     */
+    #waitForStableBoundingBoxIfNeeded = (handle) => {
+        if (!this.#waitForStableBoundingBox) {
+            return rxjs_js_1.EMPTY;
+        }
+        return (0, rxjs_js_1.defer)(() => {
+            // Note we don't use waitForFunction because that relies on RAF.
+            return (0, rxjs_js_1.from)(handle.evaluate(element => {
+                return new Promise(resolve => {
+                    window.requestAnimationFrame(() => {
+                        const rect1 = element.getBoundingClientRect();
+                        window.requestAnimationFrame(() => {
+                            const rect2 = element.getBoundingClientRect();
+                            resolve([
+                                {
+                                    x: rect1.x,
+                                    y: rect1.y,
+                                    width: rect1.width,
+                                    height: rect1.height,
+                                },
+                                {
+                                    x: rect2.x,
+                                    y: rect2.y,
+                                    width: rect2.width,
+                                    height: rect2.height,
+                                },
+                            ]);
+                        });
+                    });
+                });
+            }));
+        }).pipe((0, rxjs_js_1.first)(([rect1, rect2]) => {
+            return (rect1.x === rect2.x &&
+                rect1.y === rect2.y &&
+                rect1.width === rect2.width &&
+                rect1.height === rect2.height);
+        }), (0, rxjs_js_1.retry)({ delay: exports.RETRY_DELAY }), (0, rxjs_js_1.ignoreElements)());
+    };
+    /**
+     * Checks if the element is in the viewport and auto-scrolls it if it is not.
+     */
+    #ensureElementIsInTheViewportIfNeeded = (handle) => {
+        if (!this.#ensureElementIsInTheViewport) {
+            return rxjs_js_1.EMPTY;
+        }
+        return (0, rxjs_js_1.from)(handle.isIntersectingViewport({ threshold: 0 })).pipe((0, rxjs_js_1.filter)(isIntersectingViewport => {
+            return !isIntersectingViewport;
+        }), (0, rxjs_js_1.mergeMap)(() => {
+            return (0, rxjs_js_1.from)(handle.scrollIntoView());
+        }), (0, rxjs_js_1.mergeMap)(() => {
+            return (0, rxjs_js_1.defer)(() => {
+                return (0, rxjs_js_1.from)(handle.isIntersectingViewport({ threshold: 0 }));
+            }).pipe((0, rxjs_js_1.first)(rxjs_js_1.identity), (0, rxjs_js_1.retry)({ delay: exports.RETRY_DELAY }), (0, rxjs_js_1.ignoreElements)());
+        }));
+    };
+    #click(options) {
+        const signal = options?.signal;
+        return this._wait(options).pipe(this.operators.conditions([
+            this.#ensureElementIsInTheViewportIfNeeded,
+            this.#waitForStableBoundingBoxIfNeeded,
+            this.#waitForEnabledIfNeeded,
+        ], signal), (0, rxjs_js_1.tap)(() => {
+            return this.emit(LocatorEmittedEvents.Action);
+        }), (0, rxjs_js_1.mergeMap)(handle => {
+            return (0, rxjs_js_1.from)(handle.click(options)).pipe((0, rxjs_js_1.catchError)((_, caught) => {
+                void handle.dispose().catch(util_js_1.debugError);
+                return caught;
+            }));
+        }), this.operators.retryAndRaceWithSignalAndTimer(signal));
+    }
+    #fill(value, options) {
+        const signal = options?.signal;
+        return this._wait(options).pipe(this.operators.conditions([
+            this.#ensureElementIsInTheViewportIfNeeded,
+            this.#waitForStableBoundingBoxIfNeeded,
+            this.#waitForEnabledIfNeeded,
+        ], signal), (0, rxjs_js_1.tap)(() => {
+            return this.emit(LocatorEmittedEvents.Action);
+        }), (0, rxjs_js_1.mergeMap)(handle => {
+            return (0, rxjs_js_1.from)(handle.evaluate(el => {
+                if (el instanceof HTMLSelectElement) {
+                    return 'select';
+                }
+                if (el instanceof HTMLInputElement) {
+                    if (new Set([
+                        'textarea',
+                        'text',
+                        'url',
+                        'tel',
+                        'search',
+                        'password',
+                        'number',
+                        'email',
+                    ]).has(el.type)) {
+                        return 'typeable-input';
+                    }
+                    else {
+                        return 'other-input';
+                    }
+                }
+                if (el.isContentEditable) {
+                    return 'contenteditable';
+                }
+                return 'unknown';
+            }))
+                .pipe((0, rxjs_js_1.mergeMap)(inputType => {
+                switch (inputType) {
+                    case 'select':
+                        return (0, rxjs_js_1.from)(handle.select(value).then(rxjs_js_1.noop));
+                    case 'contenteditable':
+                    case 'typeable-input':
+                        return (0, rxjs_js_1.from)(handle.evaluate((input, newValue) => {
+                            const currentValue = input.isContentEditable
+                                ? input.innerText
+                                : input.value;
+                            // Clear the input if the current value does not match the filled
+                            // out value.
+                            if (newValue.length <= currentValue.length ||
+                                !newValue.startsWith(input.value)) {
+                                if (input.isContentEditable) {
+                                    input.innerText = '';
+                                }
+                                else {
+                                    input.value = '';
+                                }
+                                return newValue;
+                            }
+                            const originalValue = input.isContentEditable
+                                ? input.innerText
+                                : input.value;
+                            // If the value is partially filled out, only type the rest. Move
+                            // cursor to the end of the common prefix.
+                            if (input.isContentEditable) {
+                                input.innerText = '';
+                                input.innerText = originalValue;
+                            }
+                            else {
+                                input.value = '';
+                                input.value = originalValue;
+                            }
+                            return newValue.substring(originalValue.length);
+                        }, value)).pipe((0, rxjs_js_1.mergeMap)(textToType => {
+                            return (0, rxjs_js_1.from)(handle.type(textToType));
+                        }));
+                    case 'other-input':
+                        return (0, rxjs_js_1.from)(handle.focus()).pipe((0, rxjs_js_1.mergeMap)(() => {
+                            return (0, rxjs_js_1.from)(handle.evaluate((input, value) => {
+                                input.value = value;
+                                input.dispatchEvent(new Event('input', { bubbles: true }));
+                                input.dispatchEvent(new Event('change', { bubbles: true }));
+                            }, value));
+                        }));
+                    case 'unknown':
+                        throw new Error(`Element cannot be filled out.`);
+                }
+            }))
+                .pipe((0, rxjs_js_1.catchError)((_, caught) => {
+                void handle.dispose().catch(util_js_1.debugError);
+                return caught;
+            }));
+        }), this.operators.retryAndRaceWithSignalAndTimer(signal));
+    }
+    #hover(options) {
+        const signal = options?.signal;
+        return this._wait(options).pipe(this.operators.conditions([
+            this.#ensureElementIsInTheViewportIfNeeded,
+            this.#waitForStableBoundingBoxIfNeeded,
+        ], signal), (0, rxjs_js_1.tap)(() => {
+            return this.emit(LocatorEmittedEvents.Action);
+        }), (0, rxjs_js_1.mergeMap)(handle => {
+            return (0, rxjs_js_1.from)(handle.hover()).pipe((0, rxjs_js_1.catchError)((_, caught) => {
+                void handle.dispose().catch(util_js_1.debugError);
+                return caught;
+            }));
+        }), this.operators.retryAndRaceWithSignalAndTimer(signal));
+    }
+    #scroll(options) {
+        const signal = options?.signal;
+        return this._wait(options).pipe(this.operators.conditions([
+            this.#ensureElementIsInTheViewportIfNeeded,
+            this.#waitForStableBoundingBoxIfNeeded,
+        ], signal), (0, rxjs_js_1.tap)(() => {
+            return this.emit(LocatorEmittedEvents.Action);
+        }), (0, rxjs_js_1.mergeMap)(handle => {
+            return (0, rxjs_js_1.from)(handle.evaluate((el, scrollTop, scrollLeft) => {
+                if (scrollTop !== undefined) {
+                    el.scrollTop = scrollTop;
+                }
+                if (scrollLeft !== undefined) {
+                    el.scrollLeft = scrollLeft;
+                }
+            }, options?.scrollTop, options?.scrollLeft)).pipe((0, rxjs_js_1.catchError)((_, caught) => {
+                void handle.dispose().catch(util_js_1.debugError);
+                return caught;
+            }));
+        }), this.operators.retryAndRaceWithSignalAndTimer(signal));
+    }
+    /**
+     * Clones the locator.
+     */
+    clone() {
+        return this._clone();
+    }
+    /**
+     * Waits for the locator to get a handle from the page.
+     *
+     * @public
+     */
+    async waitHandle(options) {
+        return await (0, rxjs_js_1.firstValueFrom)(this._wait(options).pipe(this.operators.retryAndRaceWithSignalAndTimer(options?.signal)));
+    }
+    /**
+     * Waits for the locator to get the serialized value from the page.
+     *
+     * Note this requires the value to be JSON-serializable.
+     *
+     * @public
+     */
+    async wait(options) {
+        const handle = await this.waitHandle(options);
+        try {
+            return await handle.jsonValue();
+        }
+        finally {
+            void handle.dispose().catch(util_js_1.debugError);
+        }
+    }
+    /**
+     * Maps the locator using the provided mapper.
+     *
+     * @public
+     */
+    map(mapper) {
+        return new locators_js_1.MappedLocator(this._clone(), mapper);
+    }
+    /**
+     * Creates an expectation that is evaluated against located values.
+     *
+     * If the expectations do not match, then the locator will retry.
+     *
+     * @public
+     */
+    filter(predicate) {
+        return new locators_js_1.FilteredLocator(this._clone(), predicate);
+    }
+    click(options) {
+        return (0, rxjs_js_1.firstValueFrom)(this.#click(options));
+    }
+    /**
+     * Fills out the input identified by the locator using the provided value. The
+     * type of the input is determined at runtime and the appropriate fill-out
+     * method is chosen based on the type. contenteditable, selector, inputs are
+     * supported.
+     */
+    fill(value, options) {
+        return (0, rxjs_js_1.firstValueFrom)(this.#fill(value, options));
+    }
+    hover(options) {
+        return (0, rxjs_js_1.firstValueFrom)(this.#hover(options));
+    }
+    scroll(options) {
+        return (0, rxjs_js_1.firstValueFrom)(this.#scroll(options));
+    }
+}
+exports.Locator = Locator;
+//# sourceMappingURL=Locator.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/Locator.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/Locator.js.map
new file mode 100644
index 0000000..ac83c0b
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/Locator.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"Locator.js","sourceRoot":"","sources":["../../../../../src/api/locators/Locator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,+DAuB2C;AAC3C,sDAAoD;AACpD,kEAA0D;AAE1D,kDAAgD;AAGhD,+CAQuB;AAEvB;;;;;;;;GAQG;AACU,QAAA,WAAW,GAAG,GAAG,CAAC;AA+D/B;;;;GAIG;AACH,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B;;OAEG;IACH,yCAAiB,CAAA;AACnB,CAAC,EALW,oBAAoB,oCAApB,oBAAoB,QAK/B;AASD;;;;;;;GAOG;AACH,MAAsB,OAAW,SAAQ,8BAAY;IACnD;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CACT,QAAkB;QAElB,OAAO,yBAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAOD;;OAEG;IACO,UAAU,GAAqB,IAAI,CAAC;IAC9C;;OAEG;IACO,QAAQ,GAAG,KAAM,CAAC;IAC5B,6BAA6B,GAAG,IAAI,CAAC;IACrC,eAAe,GAAG,IAAI,CAAC;IACvB,yBAAyB,GAAG,IAAI,CAAC;IAEjC;;OAEG;IACO,SAAS,GAAG;QACpB,UAAU,EAAE,CACV,UAAmC,EACnC,MAAoB,EAC0B,EAAE;YAChD,OAAO,IAAA,kBAAQ,EAAC,CAAC,MAAoB,EAAE,EAAE;gBACvC,OAAO,IAAA,eAAK,EACV,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBAC5B,OAAO,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBACnC,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,IAAA,wBAAc,EAAC,MAAM,CAAC,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;QACL,CAAC;QACD,8BAA8B,EAAE,CAC9B,MAAoB,EACI,EAAE;YAC1B,MAAM,UAAU,GAAG,EAAE,CAAC;YACtB,IAAI,MAAM,EAAE;gBACV,UAAU,CAAC,IAAI,CACb,IAAA,mBAAS,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAC7B,IAAA,aAAG,EAAC,GAAG,EAAE;oBACP,MAAM,MAAM,CAAC,MAAM,CAAC;gBACtB,CAAC,CAAC,CACH,CACF,CAAC;aACH;YACD,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE;gBACrB,UAAU,CAAC,IAAI,CACb,IAAA,eAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CACvB,IAAA,aAAG,EAAC,GAAG,EAAE;oBACP,MAAM,IAAI,wBAAY,CACpB,2BAA2B,IAAI,CAAC,QAAQ,IAAI,CAC7C,CAAC;gBACJ,CAAC,CAAC,CACH,CACF,CAAC;aACH;YACD,OAAO,IAAA,cAAI,EACT,IAAA,eAAK,EAAC,EAAC,KAAK,EAAE,mBAAW,EAAC,CAAC,EAC3B,IAAA,kBAAQ,EAAa,GAAG,UAAU,CAAC,CACpC,CAAC;QACJ,CAAC;KACF,CAAC;IAEF,wDAAwD;IACxD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEQ,EAAE,CACT,SAAY,EACZ,OAA+C;QAE/C,OAAO,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAEQ,IAAI,CACX,SAAY,EACZ,OAA+C;QAE/C,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAEQ,GAAG,CACV,SAAY,EACZ,OAA+C;QAE/C,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,aAAa,CAEX,UAA4B;QAE5B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,iBAAiB,CAEf,KAAc;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,eAAe,GAAG,KAAK,CAAC;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,+BAA+B,CAE7B,KAAc;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,6BAA6B,GAAG,KAAK,CAAC;QAC9C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,2BAA2B,CAEzB,KAAc;QAEd,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,yBAAyB,GAAG,KAAK,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,WAAW,CAAI,OAAmB;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,6BAA6B,GAAG,OAAO,CAAC,6BAA6B,CAAC;QAC3E,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,uBAAuB,GAAG,CACxB,MAA8B,EAC9B,MAAoB,EACD,EAAE;QACrB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,OAAO,eAAK,CAAC;SACd;QACD,OAAO,IAAA,cAAI,EACT,MAAM,CAAC,KAAK,CAAC,eAAe,CAC1B,OAAO,CAAC,EAAE;YACR,IAAI,CAAC,CAAC,OAAO,YAAY,WAAW,CAAC,EAAE;gBACrC,OAAO,IAAI,CAAC;aACb;YACD,MAAM,mBAAmB,GAAG;gBAC1B,QAAQ;gBACR,OAAO;gBACP,QAAQ;gBACR,UAAU;gBACV,QAAQ;gBACR,UAAU;aACX,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7B,OAAO,CAAC,mBAAmB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACnE,CAAC,EACD;YACE,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,MAAM;SACP,EACD,MAAM,CACP,CACF,CAAC,IAAI,CAAC,IAAA,wBAAc,GAAE,CAAC,CAAC;IAC3B,CAAC,CAAC;IAEF;;;OAGG;IACH,iCAAiC,GAAG,CAClC,MAA8B,EACX,EAAE;QACrB,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACnC,OAAO,eAAK,CAAC;SACd;QACD,OAAO,IAAA,eAAK,EAAC,GAAG,EAAE;YAChB,gEAAgE;YAChE,OAAO,IAAA,cAAI,EACT,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACxB,OAAO,IAAI,OAAO,CAA6B,OAAO,CAAC,EAAE;oBACvD,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;wBAChC,MAAM,KAAK,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;wBAC9C,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;4BAChC,MAAM,KAAK,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;4BAC9C,OAAO,CAAC;gCACN;oCACE,CAAC,EAAE,KAAK,CAAC,CAAC;oCACV,CAAC,EAAE,KAAK,CAAC,CAAC;oCACV,KAAK,EAAE,KAAK,CAAC,KAAK;oCAClB,MAAM,EAAE,KAAK,CAAC,MAAM;iCACrB;gCACD;oCACE,CAAC,EAAE,KAAK,CAAC,CAAC;oCACV,CAAC,EAAE,KAAK,CAAC,CAAC;oCACV,KAAK,EAAE,KAAK,CAAC,KAAK;oCAClB,MAAM,EAAE,KAAK,CAAC,MAAM;iCACrB;6BACF,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC,IAAI,CACL,IAAA,eAAK,EAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE;YACvB,OAAO,CACL,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;gBACnB,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;gBACnB,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;gBAC3B,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAC9B,CAAC;QACJ,CAAC,CAAC,EACF,IAAA,eAAK,EAAC,EAAC,KAAK,EAAE,mBAAW,EAAC,CAAC,EAC3B,IAAA,wBAAc,GAAE,CACjB,CAAC;IACJ,CAAC,CAAC;IAEF;;OAEG;IACH,qCAAqC,GAAG,CACtC,MAA8B,EACX,EAAE;QACrB,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACvC,OAAO,eAAK,CAAC;SACd;QACD,OAAO,IAAA,cAAI,EAAC,MAAM,CAAC,sBAAsB,CAAC,EAAC,SAAS,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC,IAAI,CAC7D,IAAA,gBAAM,EAAC,sBAAsB,CAAC,EAAE;YAC9B,OAAO,CAAC,sBAAsB,CAAC;QACjC,CAAC,CAAC,EACF,IAAA,kBAAQ,EAAC,GAAG,EAAE;YACZ,OAAO,IAAA,cAAI,EAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC;QACvC,CAAC,CAAC,EACF,IAAA,kBAAQ,EAAC,GAAG,EAAE;YACZ,OAAO,IAAA,eAAK,EAAC,GAAG,EAAE;gBAChB,OAAO,IAAA,cAAI,EAAC,MAAM,CAAC,sBAAsB,CAAC,EAAC,SAAS,EAAE,CAAC,EAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC,IAAI,CAAC,IAAA,eAAK,EAAC,kBAAQ,CAAC,EAAE,IAAA,eAAK,EAAC,EAAC,KAAK,EAAE,mBAAW,EAAC,CAAC,EAAE,IAAA,wBAAc,GAAE,CAAC,CAAC;QAC1E,CAAC,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,CAEJ,OAAuC;QAEvC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7B,IAAI,CAAC,SAAS,CAAC,UAAU,CACvB;YACE,IAAI,CAAC,qCAAqC;YAC1C,IAAI,CAAC,iCAAiC;YACtC,IAAI,CAAC,uBAAuB;SAC7B,EACD,MAAM,CACP,EACD,IAAA,aAAG,EAAC,GAAG,EAAE;YACP,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC,EACF,IAAA,kBAAQ,EAAC,MAAM,CAAC,EAAE;YAChB,OAAO,IAAA,cAAI,EAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACrC,IAAA,oBAAU,EAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBACvB,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,oBAAU,CAAC,CAAC;gBACxC,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,EACF,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,MAAM,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,KAAK,CAEH,KAAa,EACb,OAAiC;QAEjC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7B,IAAI,CAAC,SAAS,CAAC,UAAU,CACvB;YACE,IAAI,CAAC,qCAAqC;YAC1C,IAAI,CAAC,iCAAiC;YACtC,IAAI,CAAC,uBAAuB;SAC7B,EACD,MAAM,CACP,EACD,IAAA,aAAG,EAAC,GAAG,EAAE;YACP,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC,EACF,IAAA,kBAAQ,EAAC,MAAM,CAAC,EAAE;YAChB,OAAO,IAAA,cAAI,EACR,MAAgD,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;gBAC9D,IAAI,EAAE,YAAY,iBAAiB,EAAE;oBACnC,OAAO,QAAQ,CAAC;iBACjB;gBACD,IAAI,EAAE,YAAY,gBAAgB,EAAE;oBAClC,IACE,IAAI,GAAG,CAAC;wBACN,UAAU;wBACV,MAAM;wBACN,KAAK;wBACL,KAAK;wBACL,QAAQ;wBACR,UAAU;wBACV,QAAQ;wBACR,OAAO;qBACR,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EACf;wBACA,OAAO,gBAAgB,CAAC;qBACzB;yBAAM;wBACL,OAAO,aAAa,CAAC;qBACtB;iBACF;gBAED,IAAI,EAAE,CAAC,iBAAiB,EAAE;oBACxB,OAAO,iBAAiB,CAAC;iBAC1B;gBAED,OAAO,SAAS,CAAC;YACnB,CAAC,CAAC,CACH;iBACE,IAAI,CACH,IAAA,kBAAQ,EAAC,SAAS,CAAC,EAAE;gBACnB,QAAQ,SAAS,EAAE;oBACjB,KAAK,QAAQ;wBACX,OAAO,IAAA,cAAI,EAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAI,CAAC,CAAC,CAAC;oBAC/C,KAAK,iBAAiB,CAAC;oBACvB,KAAK,gBAAgB;wBACnB,OAAO,IAAA,cAAI,EAEP,MACD,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;4BAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB;gCAC1C,CAAC,CAAC,KAAK,CAAC,SAAS;gCACjB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;4BAEhB,iEAAiE;4BACjE,aAAa;4BACb,IACE,QAAQ,CAAC,MAAM,IAAI,YAAY,CAAC,MAAM;gCACtC,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EACjC;gCACA,IAAI,KAAK,CAAC,iBAAiB,EAAE;oCAC3B,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;iCACtB;qCAAM;oCACL,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;iCAClB;gCACD,OAAO,QAAQ,CAAC;6BACjB;4BACD,MAAM,aAAa,GAAG,KAAK,CAAC,iBAAiB;gCAC3C,CAAC,CAAC,KAAK,CAAC,SAAS;gCACjB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;4BAEhB,iEAAiE;4BACjE,0CAA0C;4BAC1C,IAAI,KAAK,CAAC,iBAAiB,EAAE;gCAC3B,KAAK,CAAC,SAAS,GAAG,EAAE,CAAC;gCACrB,KAAK,CAAC,SAAS,GAAG,aAAa,CAAC;6BACjC;iCAAM;gCACL,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gCACjB,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC;6BAC7B;4BACD,OAAO,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;wBAClD,CAAC,EAAE,KAAK,CAAC,CACV,CAAC,IAAI,CACJ,IAAA,kBAAQ,EAAC,UAAU,CAAC,EAAE;4BACpB,OAAO,IAAA,cAAI,EAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;wBACvC,CAAC,CAAC,CACH,CAAC;oBACJ,KAAK,aAAa;wBAChB,OAAO,IAAA,cAAI,EAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAC9B,IAAA,kBAAQ,EAAC,GAAG,EAAE;4BACZ,OAAO,IAAA,cAAI,EACT,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gCAC9B,KAA0B,CAAC,KAAK,GAAG,KAAK,CAAC;gCAC1C,KAAK,CAAC,aAAa,CACjB,IAAI,KAAK,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CACpC,CAAC;gCACF,KAAK,CAAC,aAAa,CACjB,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CACrC,CAAC;4BACJ,CAAC,EAAE,KAAK,CAAC,CACV,CAAC;wBACJ,CAAC,CAAC,CACH,CAAC;oBACJ,KAAK,SAAS;wBACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;iBACpD;YACH,CAAC,CAAC,CACH;iBACA,IAAI,CACH,IAAA,oBAAU,EAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBACvB,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,oBAAU,CAAC,CAAC;gBACxC,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CACH,CAAC;QACN,CAAC,CAAC,EACF,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,MAAM,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,MAAM,CAEJ,OAAiC;QAEjC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7B,IAAI,CAAC,SAAS,CAAC,UAAU,CACvB;YACE,IAAI,CAAC,qCAAqC;YAC1C,IAAI,CAAC,iCAAiC;SACvC,EACD,MAAM,CACP,EACD,IAAA,aAAG,EAAC,GAAG,EAAE;YACP,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC,EACF,IAAA,kBAAQ,EAAC,MAAM,CAAC,EAAE;YAChB,OAAO,IAAA,cAAI,EAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAC9B,IAAA,oBAAU,EAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBACvB,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,oBAAU,CAAC,CAAC;gBACxC,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,EACF,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,MAAM,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,OAAO,CAEL,OAAwC;QAExC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;QAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAC7B,IAAI,CAAC,SAAS,CAAC,UAAU,CACvB;YACE,IAAI,CAAC,qCAAqC;YAC1C,IAAI,CAAC,iCAAiC;SACvC,EACD,MAAM,CACP,EACD,IAAA,aAAG,EAAC,GAAG,EAAE;YACP,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC,CAAC,EACF,IAAA,kBAAQ,EAAC,MAAM,CAAC,EAAE;YAChB,OAAO,IAAA,cAAI,EACT,MAAM,CAAC,QAAQ,CACb,CAAC,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE;gBAC5B,IAAI,SAAS,KAAK,SAAS,EAAE;oBAC3B,EAAE,CAAC,SAAS,GAAG,SAAS,CAAC;iBAC1B;gBACD,IAAI,UAAU,KAAK,SAAS,EAAE;oBAC5B,EAAE,CAAC,UAAU,GAAG,UAAU,CAAC;iBAC5B;YACH,CAAC,EACD,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,CACpB,CACF,CAAC,IAAI,CACJ,IAAA,oBAAU,EAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;gBACvB,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,oBAAU,CAAC,CAAC;gBACxC,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,EACF,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,MAAM,CAAC,CACtD,CAAC;IACJ,CAAC;IAYD;;OAEG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,OAAiC;QAChD,OAAO,MAAM,IAAA,wBAAc,EACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CACtB,IAAI,CAAC,SAAS,CAAC,8BAA8B,CAAC,OAAO,EAAE,MAAM,CAAC,CAC/D,CACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CAAC,OAAiC;QAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI;YACF,OAAO,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;SACjC;gBAAS;YACR,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,oBAAU,CAAC,CAAC;SACzC;IACH,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAK,MAAqB;QAC3B,OAAO,IAAI,2BAAa,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAc,SAA0B;QAC5C,OAAO,IAAI,6BAAe,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAEH,OAAuC;QAEvC,OAAO,IAAA,wBAAc,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAEF,KAAa,EACb,OAAiC;QAEjC,OAAO,IAAA,wBAAc,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAEH,OAAiC;QAEjC,OAAO,IAAA,wBAAc,EAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAEJ,OAAwC;QAExC,OAAO,IAAA,wBAAc,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,CAAC;CACF;AArlBD,0BAqlBC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/MappedLocator.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/MappedLocator.d.ts
new file mode 100644
index 0000000..10a7655
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/MappedLocator.d.ts
@@ -0,0 +1,32 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Observable } from '../../../third_party/rxjs/rxjs.js';
+import { Awaitable, HandleFor } from '../../common/common.js';
+import { ActionOptions, DelegatedLocator, Locator } from './locators.js';
+/**
+ * @public
+ */
+export type Mapper<From, To> = (value: From) => Awaitable<To>;
+/**
+ * @internal
+ */
+export declare class MappedLocator<From, To> extends DelegatedLocator<From, To> {
+    #private;
+    constructor(base: Locator<From>, mapper: Mapper<From, To>);
+    _clone(): MappedLocator<From, To>;
+    _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<To>>;
+}
+//# sourceMappingURL=MappedLocator.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/MappedLocator.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/MappedLocator.d.ts.map
new file mode 100644
index 0000000..7fbc898
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/MappedLocator.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"MappedLocator.d.ts","sourceRoot":"","sources":["../../../../../src/api/locators/MappedLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,UAAU,EAAiB,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAC,SAAS,EAAE,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAC,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC;AAE9D;;GAEG;AACH,qBAAa,aAAa,CAAC,IAAI,EAAE,EAAE,CAAE,SAAQ,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;;gBAGzD,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IAKhD,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;IAMjC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;CAO7E"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/MappedLocator.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/MappedLocator.js
new file mode 100644
index 0000000..2710ead
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/MappedLocator.js
@@ -0,0 +1,40 @@
+"use strict";
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.MappedLocator = void 0;
+const rxjs_js_1 = require("../../../third_party/rxjs/rxjs.js");
+const locators_js_1 = require("./locators.js");
+/**
+ * @internal
+ */
+class MappedLocator extends locators_js_1.DelegatedLocator {
+    #mapper;
+    constructor(base, mapper) {
+        super(base);
+        this.#mapper = mapper;
+    }
+    _clone() {
+        return new MappedLocator(this.delegate.clone(), this.#mapper).copyOptions(this);
+    }
+    _wait(options) {
+        return this.delegate._wait(options).pipe((0, rxjs_js_1.mergeMap)(handle => {
+            return (0, rxjs_js_1.from)(handle.evaluateHandle(this.#mapper));
+        }));
+    }
+}
+exports.MappedLocator = MappedLocator;
+//# sourceMappingURL=MappedLocator.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/MappedLocator.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/MappedLocator.js.map
new file mode 100644
index 0000000..0e7e48b
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/MappedLocator.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"MappedLocator.js","sourceRoot":"","sources":["../../../../../src/api/locators/MappedLocator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,+DAA6E;AAI7E,+CAAuE;AAOvE;;GAEG;AACH,MAAa,aAAwB,SAAQ,8BAA0B;IACrE,OAAO,CAAmB;IAE1B,YAAY,IAAmB,EAAE,MAAwB;QACvD,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CACvE,IAAI,CACL,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,OAAiC;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CACtC,IAAA,kBAAQ,EAAC,MAAM,CAAC,EAAE;YAChB,OAAO,IAAA,cAAI,EAAE,MAAyB,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AArBD,sCAqBC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/NodeLocator.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/NodeLocator.d.ts
new file mode 100644
index 0000000..a1e8191
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/NodeLocator.d.ts
@@ -0,0 +1,35 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Observable } from '../../../third_party/rxjs/rxjs.js';
+import { HandleFor, NodeFor } from '../../common/types.js';
+import { Frame } from '../Frame.js';
+import { Page } from '../Page.js';
+import { ActionOptions, Locator } from './locators.js';
+/**
+ * @internal
+ */
+export type Action<T, U> = (element: HandleFor<T>, signal?: AbortSignal) => Observable<U>;
+/**
+ * @internal
+ */
+export declare class NodeLocator<T extends Node> extends Locator<T> {
+    #private;
+    static create<Selector extends string>(pageOrFrame: Page | Frame, selector: Selector): Locator<NodeFor<Selector>>;
+    private constructor();
+    _clone(): NodeLocator<T>;
+    _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<T>>;
+}
+//# sourceMappingURL=NodeLocator.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/NodeLocator.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/NodeLocator.d.ts.map
new file mode 100644
index 0000000..7cbe24c
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/NodeLocator.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"NodeLocator.d.ts","sourceRoot":"","sources":["../../../../../src/api/locators/NodeLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,UAAU,EASX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,SAAS,EAAE,OAAO,EAAC,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAEhC,OAAO,EAAC,aAAa,EAAE,OAAO,EAAc,MAAM,eAAe,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CACzB,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EACrB,MAAM,CAAC,EAAE,WAAW,KACjB,UAAU,CAAC,CAAC,CAAC,CAAC;AAEnB;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,IAAI,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;;IACzD,MAAM,CAAC,MAAM,CAAC,QAAQ,SAAS,MAAM,EACnC,WAAW,EAAE,IAAI,GAAG,KAAK,EACzB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAW7B,OAAO;IAgCE,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC;IAMxB,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAkB5E"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/NodeLocator.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/NodeLocator.js
new file mode 100644
index 0000000..32b03ff
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/NodeLocator.js
@@ -0,0 +1,77 @@
+"use strict";
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.NodeLocator = void 0;
+const rxjs_js_1 = require("../../../third_party/rxjs/rxjs.js");
+const locators_js_1 = require("./locators.js");
+/**
+ * @internal
+ */
+class NodeLocator extends locators_js_1.Locator {
+    static create(pageOrFrame, selector) {
+        return new NodeLocator(pageOrFrame, selector).setTimeout('getDefaultTimeout' in pageOrFrame
+            ? pageOrFrame.getDefaultTimeout()
+            : pageOrFrame.page().getDefaultTimeout());
+    }
+    #pageOrFrame;
+    #selector;
+    constructor(pageOrFrame, selector) {
+        super();
+        this.#pageOrFrame = pageOrFrame;
+        this.#selector = selector;
+    }
+    /**
+     * Waits for the element to become visible or hidden. visibility === 'visible'
+     * means that the element has a computed style, the visibility property other
+     * than 'hidden' or 'collapse' and non-empty bounding box. visibility ===
+     * 'hidden' means the opposite of that.
+     */
+    #waitForVisibilityIfNeeded = (handle) => {
+        if (!this.visibility) {
+            return rxjs_js_1.EMPTY;
+        }
+        return (() => {
+            switch (this.visibility) {
+                case 'hidden':
+                    return (0, rxjs_js_1.defer)(() => {
+                        return (0, rxjs_js_1.from)(handle.isHidden());
+                    });
+                case 'visible':
+                    return (0, rxjs_js_1.defer)(() => {
+                        return (0, rxjs_js_1.from)(handle.isVisible());
+                    });
+            }
+        })().pipe((0, rxjs_js_1.first)(rxjs_js_1.identity), (0, rxjs_js_1.retry)({ delay: locators_js_1.RETRY_DELAY }), (0, rxjs_js_1.ignoreElements)());
+    };
+    _clone() {
+        return new NodeLocator(this.#pageOrFrame, this.#selector).copyOptions(this);
+    }
+    _wait(options) {
+        const signal = options?.signal;
+        return (0, rxjs_js_1.defer)(() => {
+            return (0, rxjs_js_1.from)(this.#pageOrFrame.waitForSelector(this.#selector, {
+                visible: false,
+                timeout: this._timeout,
+                signal,
+            }));
+        }).pipe((0, rxjs_js_1.filter)((value) => {
+            return value !== null;
+        }), (0, rxjs_js_1.throwIfEmpty)(), this.operators.conditions([this.#waitForVisibilityIfNeeded], signal));
+    }
+}
+exports.NodeLocator = NodeLocator;
+//# sourceMappingURL=NodeLocator.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/NodeLocator.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/NodeLocator.js.map
new file mode 100644
index 0000000..124a5b1
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/NodeLocator.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"NodeLocator.js","sourceRoot":"","sources":["../../../../../src/api/locators/NodeLocator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,+DAW2C;AAK3C,+CAAkE;AAUlE;;GAEG;AACH,MAAa,WAA4B,SAAQ,qBAAU;IACzD,MAAM,CAAC,MAAM,CACX,WAAyB,EACzB,QAAkB;QAElB,OAAO,IAAI,WAAW,CAAoB,WAAW,EAAE,QAAQ,CAAC,CAAC,UAAU,CACzE,mBAAmB,IAAI,WAAW;YAChC,CAAC,CAAC,WAAW,CAAC,iBAAiB,EAAE;YACjC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,YAAY,CAAe;IAC3B,SAAS,CAAS;IAElB,YAAoB,WAAyB,EAAE,QAAgB;QAC7D,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,0BAA0B,GAAG,CAAC,MAAoB,EAAqB,EAAE;QACvE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO,eAAK,CAAC;SACd;QAED,OAAO,CAAC,GAAG,EAAE;YACX,QAAQ,IAAI,CAAC,UAAU,EAAE;gBACvB,KAAK,QAAQ;oBACX,OAAO,IAAA,eAAK,EAAC,GAAG,EAAE;wBAChB,OAAO,IAAA,cAAI,EAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACjC,CAAC,CAAC,CAAC;gBACL,KAAK,SAAS;oBACZ,OAAO,IAAA,eAAK,EAAC,GAAG,EAAE;wBAChB,OAAO,IAAA,cAAI,EAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;oBAClC,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAA,eAAK,EAAC,kBAAQ,CAAC,EAAE,IAAA,eAAK,EAAC,EAAC,KAAK,EAAE,yBAAW,EAAC,CAAC,EAAE,IAAA,wBAAc,GAAE,CAAC,CAAC;IAC5E,CAAC,CAAC;IAEO,MAAM;QACb,OAAO,IAAI,WAAW,CAAI,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CACtE,IAAI,CACL,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,OAAiC;QAC9C,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;QAC/B,OAAO,IAAA,eAAK,EAAC,GAAG,EAAE;YAChB,OAAO,IAAA,cAAI,EACT,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE;gBAChD,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,MAAM;aACP,CAAiC,CACnC,CAAC;QACJ,CAAC,CAAC,CAAC,IAAI,CACL,IAAA,gBAAM,EAAC,CAAC,KAAK,EAAsC,EAAE;YACnD,OAAO,KAAK,KAAK,IAAI,CAAC;QACxB,CAAC,CAAC,EACF,IAAA,sBAAY,GAAE,EACd,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC,CACrE,CAAC;IACJ,CAAC;CACF;AAvED,kCAuEC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/RaceLocator.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/RaceLocator.d.ts
new file mode 100644
index 0000000..4c81772
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/RaceLocator.d.ts
@@ -0,0 +1,33 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Observable } from '../../../third_party/rxjs/rxjs.js';
+import { HandleFor } from '../../puppeteer-core.js';
+import { ActionOptions, Locator } from './locators.js';
+/**
+ * @public
+ */
+export type AwaitedLocator<T> = T extends Locator<infer S> ? S : never;
+/**
+ * @internal
+ */
+export declare class RaceLocator<T> extends Locator<T> {
+    #private;
+    static create<T extends readonly unknown[]>(locators: T): Locator<AwaitedLocator<T[number]>>;
+    constructor(locators: ReadonlyArray<Locator<T>>);
+    _clone(): RaceLocator<T>;
+    _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<T>>;
+}
+//# sourceMappingURL=RaceLocator.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/RaceLocator.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/RaceLocator.d.ts.map
new file mode 100644
index 0000000..c62e232
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/RaceLocator.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"RaceLocator.d.ts","sourceRoot":"","sources":["../../../../../src/api/locators/RaceLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,UAAU,EAAO,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAElD,OAAO,EAAC,aAAa,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAavE;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;;IAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,EACxC,QAAQ,EAAE,CAAC,GACV,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAOzB,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAKtC,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC;IAQxB,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAO5E"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/RaceLocator.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/RaceLocator.js
new file mode 100644
index 0000000..4069470
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/RaceLocator.js
@@ -0,0 +1,54 @@
+"use strict";
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.RaceLocator = void 0;
+const rxjs_js_1 = require("../../../third_party/rxjs/rxjs.js");
+const locators_js_1 = require("./locators.js");
+function checkLocatorArray(locators) {
+    for (const locator of locators) {
+        if (!(locator instanceof locators_js_1.Locator)) {
+            throw new Error('Unknown locator for race candidate');
+        }
+    }
+    return locators;
+}
+/**
+ * @internal
+ */
+class RaceLocator extends locators_js_1.Locator {
+    static create(locators) {
+        const array = checkLocatorArray(locators);
+        return new RaceLocator(array);
+    }
+    #locators;
+    constructor(locators) {
+        super();
+        this.#locators = locators;
+    }
+    _clone() {
+        return new RaceLocator(this.#locators.map(locator => {
+            return locator.clone();
+        })).copyOptions(this);
+    }
+    _wait(options) {
+        return (0, rxjs_js_1.race)(...this.#locators.map(locator => {
+            return locator._wait(options);
+        }));
+    }
+}
+exports.RaceLocator = RaceLocator;
+//# sourceMappingURL=RaceLocator.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/RaceLocator.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/RaceLocator.js.map
new file mode 100644
index 0000000..2e34074
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/RaceLocator.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"RaceLocator.js","sourceRoot":"","sources":["../../../../../src/api/locators/RaceLocator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,+DAAmE;AAGnE,+CAAqD;AAOrD,SAAS,iBAAiB,CACxB,QAAW;IAEX,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,CAAC,CAAC,OAAO,YAAY,qBAAO,CAAC,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;KACF;IACD,OAAO,QAA6D,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAa,WAAe,SAAQ,qBAAU;IAC5C,MAAM,CAAC,MAAM,CACX,QAAW;QAEX,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,SAAS,CAA4B;IAErC,YAAY,QAAmC;QAC7C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,WAAW,CACpB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC3B,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC,CAAC,CACH,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAEQ,KAAK,CAAC,OAAiC;QAC9C,OAAO,IAAA,cAAI,EACT,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC9B,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF;AA9BD,kCA8BC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/locators.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/locators.d.ts
new file mode 100644
index 0000000..4651d10
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/locators.d.ts
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+export * from './Locator.js';
+export * from './NodeLocator.js';
+export * from './FilteredLocator.js';
+export * from './RaceLocator.js';
+export * from './DelegatedLocator.js';
+export * from './MappedLocator.js';
+export * from './FunctionLocator.js';
+//# sourceMappingURL=locators.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/locators.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/locators.d.ts.map
new file mode 100644
index 0000000..294535b
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/locators.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"locators.d.ts","sourceRoot":"","sources":["../../../../../src/api/locators/locators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/locators.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/locators.js
new file mode 100644
index 0000000..c3718d4
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/locators.js
@@ -0,0 +1,39 @@
+"use strict";
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    var desc = Object.getOwnPropertyDescriptor(m, k);
+    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+      desc = { enumerable: true, get: function() { return m[k]; } };
+    }
+    Object.defineProperty(o, k2, desc);
+}) : (function(o, m, k, k2) {
+    if (k2 === undefined) k2 = k;
+    o[k2] = m[k];
+}));
+var __exportStar = (this && this.__exportStar) || function(m, exports) {
+    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+__exportStar(require("./Locator.js"), exports);
+__exportStar(require("./NodeLocator.js"), exports);
+__exportStar(require("./FilteredLocator.js"), exports);
+__exportStar(require("./RaceLocator.js"), exports);
+__exportStar(require("./DelegatedLocator.js"), exports);
+__exportStar(require("./MappedLocator.js"), exports);
+__exportStar(require("./FunctionLocator.js"), exports);
+//# sourceMappingURL=locators.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/locators.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/locators.js.map
new file mode 100644
index 0000000..e075f7c
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/api/locators/locators.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"locators.js","sourceRoot":"","sources":["../../../../../src/api/locators/locators.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;AAEH,+CAA6B;AAC7B,mDAAiC;AACjC,uDAAqC;AACrC,mDAAiC;AACjC,wDAAsC;AACtC,qDAAmC;AACnC,uDAAqC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js
index 2bf9a3b..e3fd23e 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Accessibility_client, _AXNode_instances, _AXNode_richlyEditable, _AXNode_editable, _AXNode_focusable, _AXNode_hidden, _AXNode_name, _AXNode_role, _AXNode_ignored, _AXNode_cachedHasFocusableChild, _AXNode_isPlainTextField, _AXNode_isTextOnlyObject, _AXNode_hasFocusableChild;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.Accessibility = void 0;
 /**
@@ -51,12 +39,12 @@
  * @public
  */
 class Accessibility {
+    #client;
     /**
      * @internal
      */
     constructor(client) {
-        _Accessibility_client.set(this, void 0);
-        __classPrivateFieldSet(this, _Accessibility_client, client, "f");
+        this.#client = client;
     }
     /**
      * Captures the current state of the accessibility tree.
@@ -99,10 +87,10 @@
      */
     async snapshot(options = {}) {
         const { interestingOnly = true, root = null } = options;
-        const { nodes } = await __classPrivateFieldGet(this, _Accessibility_client, "f").send('Accessibility.getFullAXTree');
+        const { nodes } = await this.#client.send('Accessibility.getFullAXTree');
         let backendNodeId;
         if (root) {
-            const { node } = await __classPrivateFieldGet(this, _Accessibility_client, "f").send('DOM.describeNode', {
+            const { node } = await this.#client.send('DOM.describeNode', {
                 objectId: root.id,
             });
             backendNodeId = node.backendNodeId;
@@ -155,36 +143,60 @@
     }
 }
 exports.Accessibility = Accessibility;
-_Accessibility_client = new WeakMap();
 class AXNode {
+    payload;
+    children = [];
+    #richlyEditable = false;
+    #editable = false;
+    #focusable = false;
+    #hidden = false;
+    #name;
+    #role;
+    #ignored;
+    #cachedHasFocusableChild;
     constructor(payload) {
-        _AXNode_instances.add(this);
-        this.children = [];
-        _AXNode_richlyEditable.set(this, false);
-        _AXNode_editable.set(this, false);
-        _AXNode_focusable.set(this, false);
-        _AXNode_hidden.set(this, false);
-        _AXNode_name.set(this, void 0);
-        _AXNode_role.set(this, void 0);
-        _AXNode_ignored.set(this, void 0);
-        _AXNode_cachedHasFocusableChild.set(this, void 0);
         this.payload = payload;
-        __classPrivateFieldSet(this, _AXNode_name, this.payload.name ? this.payload.name.value : '', "f");
-        __classPrivateFieldSet(this, _AXNode_role, this.payload.role ? this.payload.role.value : 'Unknown', "f");
-        __classPrivateFieldSet(this, _AXNode_ignored, this.payload.ignored, "f");
+        this.#name = this.payload.name ? this.payload.name.value : '';
+        this.#role = this.payload.role ? this.payload.role.value : 'Unknown';
+        this.#ignored = this.payload.ignored;
         for (const property of this.payload.properties || []) {
             if (property.name === 'editable') {
-                __classPrivateFieldSet(this, _AXNode_richlyEditable, property.value.value === 'richtext', "f");
-                __classPrivateFieldSet(this, _AXNode_editable, true, "f");
+                this.#richlyEditable = property.value.value === 'richtext';
+                this.#editable = true;
             }
             if (property.name === 'focusable') {
-                __classPrivateFieldSet(this, _AXNode_focusable, property.value.value, "f");
+                this.#focusable = property.value.value;
             }
             if (property.name === 'hidden') {
-                __classPrivateFieldSet(this, _AXNode_hidden, property.value.value, "f");
+                this.#hidden = property.value.value;
             }
         }
     }
+    #isPlainTextField() {
+        if (this.#richlyEditable) {
+            return false;
+        }
+        if (this.#editable) {
+            return true;
+        }
+        return this.#role === 'textbox' || this.#role === 'searchbox';
+    }
+    #isTextOnlyObject() {
+        const role = this.#role;
+        return role === 'LineBreak' || role === 'text' || role === 'InlineTextBox';
+    }
+    #hasFocusableChild() {
+        if (this.#cachedHasFocusableChild === undefined) {
+            this.#cachedHasFocusableChild = false;
+            for (const child of this.children) {
+                if (child.#focusable || child.#hasFocusableChild()) {
+                    this.#cachedHasFocusableChild = true;
+                    break;
+                }
+            }
+        }
+        return this.#cachedHasFocusableChild;
+    }
     find(predicate) {
         if (predicate(this)) {
             return this;
@@ -205,14 +217,14 @@
         // implementation details, but we want to expose them as leaves to platform
         // accessibility APIs because screen readers might be confused if they find
         // any children.
-        if (__classPrivateFieldGet(this, _AXNode_instances, "m", _AXNode_isPlainTextField).call(this) || __classPrivateFieldGet(this, _AXNode_instances, "m", _AXNode_isTextOnlyObject).call(this)) {
+        if (this.#isPlainTextField() || this.#isTextOnlyObject()) {
             return true;
         }
         // Roles whose children are only presentational according to the ARIA and
         // HTML5 Specs should be hidden from screen readers.
         // (Note that whilst ARIA buttons can have only presentational children, HTML5
         // buttons are allowed to have content.)
-        switch (__classPrivateFieldGet(this, _AXNode_role, "f")) {
+        switch (this.#role) {
             case 'doc-cover':
             case 'graphics-symbol':
             case 'img':
@@ -226,19 +238,19 @@
                 break;
         }
         // Here and below: Android heuristics
-        if (__classPrivateFieldGet(this, _AXNode_instances, "m", _AXNode_hasFocusableChild).call(this)) {
+        if (this.#hasFocusableChild()) {
             return false;
         }
-        if (__classPrivateFieldGet(this, _AXNode_focusable, "f") && __classPrivateFieldGet(this, _AXNode_name, "f")) {
+        if (this.#focusable && this.#name) {
             return true;
         }
-        if (__classPrivateFieldGet(this, _AXNode_role, "f") === 'heading' && __classPrivateFieldGet(this, _AXNode_name, "f")) {
+        if (this.#role === 'heading' && this.#name) {
             return true;
         }
         return false;
     }
     isControl() {
-        switch (__classPrivateFieldGet(this, _AXNode_role, "f")) {
+        switch (this.#role) {
             case 'button':
             case 'checkbox':
             case 'ColorWell':
@@ -266,11 +278,11 @@
         }
     }
     isInteresting(insideControl) {
-        const role = __classPrivateFieldGet(this, _AXNode_role, "f");
-        if (role === 'Ignored' || __classPrivateFieldGet(this, _AXNode_hidden, "f") || __classPrivateFieldGet(this, _AXNode_ignored, "f")) {
+        const role = this.#role;
+        if (role === 'Ignored' || this.#hidden || this.#ignored) {
             return false;
         }
-        if (__classPrivateFieldGet(this, _AXNode_focusable, "f") || __classPrivateFieldGet(this, _AXNode_richlyEditable, "f")) {
+        if (this.#focusable || this.#richlyEditable) {
             return true;
         }
         // If it's not focusable but has a control role, then it's interesting.
@@ -281,7 +293,7 @@
         if (insideControl) {
             return false;
         }
-        return this.isLeafNode() && !!__classPrivateFieldGet(this, _AXNode_name, "f");
+        return this.isLeafNode() && !!this.#name;
     }
     serialize() {
         const properties = new Map();
@@ -298,7 +310,7 @@
             properties.set('description', this.payload.description.value);
         }
         const node = {
-            role: __classPrivateFieldGet(this, _AXNode_role, "f"),
+            role: this.#role,
         };
         const userStringProperties = [
             'name',
@@ -335,7 +347,7 @@
             // RootWebArea's treat focus differently than other nodes. They report whether
             // their frame  has focus, not whether focus is specifically on the root
             // node.
-            if (booleanProperty === 'focused' && __classPrivateFieldGet(this, _AXNode_role, "f") === 'RootWebArea') {
+            if (booleanProperty === 'focused' && this.#role === 'RootWebArea') {
                 continue;
             }
             const value = getBooleanPropertyValue(booleanProperty);
@@ -401,27 +413,4 @@
         return nodeById.values().next().value;
     }
 }
-_AXNode_richlyEditable = new WeakMap(), _AXNode_editable = new WeakMap(), _AXNode_focusable = new WeakMap(), _AXNode_hidden = new WeakMap(), _AXNode_name = new WeakMap(), _AXNode_role = new WeakMap(), _AXNode_ignored = new WeakMap(), _AXNode_cachedHasFocusableChild = new WeakMap(), _AXNode_instances = new WeakSet(), _AXNode_isPlainTextField = function _AXNode_isPlainTextField() {
-    if (__classPrivateFieldGet(this, _AXNode_richlyEditable, "f")) {
-        return false;
-    }
-    if (__classPrivateFieldGet(this, _AXNode_editable, "f")) {
-        return true;
-    }
-    return __classPrivateFieldGet(this, _AXNode_role, "f") === 'textbox' || __classPrivateFieldGet(this, _AXNode_role, "f") === 'searchbox';
-}, _AXNode_isTextOnlyObject = function _AXNode_isTextOnlyObject() {
-    const role = __classPrivateFieldGet(this, _AXNode_role, "f");
-    return role === 'LineBreak' || role === 'text' || role === 'InlineTextBox';
-}, _AXNode_hasFocusableChild = function _AXNode_hasFocusableChild() {
-    if (__classPrivateFieldGet(this, _AXNode_cachedHasFocusableChild, "f") === undefined) {
-        __classPrivateFieldSet(this, _AXNode_cachedHasFocusableChild, false, "f");
-        for (const child of this.children) {
-            if (__classPrivateFieldGet(child, _AXNode_focusable, "f") || __classPrivateFieldGet(child, _AXNode_instances, "m", _AXNode_hasFocusableChild).call(child)) {
-                __classPrivateFieldSet(this, _AXNode_cachedHasFocusableChild, true, "f");
-                break;
-            }
-        }
-    }
-    return __classPrivateFieldGet(this, _AXNode_cachedHasFocusableChild, "f");
-};
 //# sourceMappingURL=Accessibility.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js.map
index 16e5fef..2218e91 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js.map
@@ -1 +1 @@
-{"version":3,"file":"Accessibility.js","sourceRoot":"","sources":["../../../../src/common/Accessibility.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Accessibility.js","sourceRoot":"","sources":["../../../../src/common/Accessibility.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.d.ts.map
index 71d5398..634dde3 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"AriaQueryHandler.d.ts","sourceRoot":"","sources":["../../../../src/common/AriaQueryHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAKtD,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAgE7C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAgB,aAAa,EAAE,aAAa,CAM1C;WAEqB,QAAQ,CAC7B,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,EAC5B,QAAQ,EAAE,MAAM,GACf,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAYzC,OAAgB,QAAQ,YACb,cAAc,IAAI,CAAC,YAClB,MAAM,KACf,QAAQ,cAAc,IAAI,CAAC,GAAG,IAAI,CAAC,CAIpC;CACH"}
\ No newline at end of file
+{"version":3,"file":"AriaQueryHandler.d.ts","sourceRoot":"","sources":["../../../../src/common/AriaQueryHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAKtD,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAmE7C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAgB,aAAa,EAAE,aAAa,CAM1C;WAEqB,QAAQ,CAC7B,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,EAC5B,QAAQ,EAAE,MAAM,GACf,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAYzC,OAAgB,QAAQ,YACb,cAAc,IAAI,CAAC,YAClB,MAAM,KACf,QAAQ,cAAc,IAAI,CAAC,GAAG,IAAI,CAAC,CAIpC;CACH"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js
index da43568..f7f19c6 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var _a;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.ARIAQueryHandler = void 0;
 const assert_js_1 = require("../util/assert.js");
@@ -66,6 +65,9 @@
  * @internal
  */
 class ARIAQueryHandler extends QueryHandler_js_1.QueryHandler {
+    static querySelector = async (node, selector, { ariaQuerySelector }) => {
+        return ariaQuerySelector(node, selector);
+    };
     static async *queryAll(element, selector) {
         const context = element.executionContext();
         const { name, role } = parseARIASelector(selector);
@@ -75,13 +77,9 @@
             return world.adoptBackendNode(node.backendDOMNodeId);
         });
     }
+    static queryOne = async (element, selector) => {
+        return ((await AsyncIterableUtil_js_1.AsyncIterableUtil.first(this.queryAll(element, selector))) ?? null);
+    };
 }
 exports.ARIAQueryHandler = ARIAQueryHandler;
-_a = ARIAQueryHandler;
-ARIAQueryHandler.querySelector = async (node, selector, { ariaQuerySelector }) => {
-    return ariaQuerySelector(node, selector);
-};
-ARIAQueryHandler.queryOne = async (element, selector) => {
-    return ((await AsyncIterableUtil_js_1.AsyncIterableUtil.first(_a.queryAll(element, selector))) ?? null);
-};
 //# sourceMappingURL=AriaQueryHandler.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js.map
index ce17a4e..c616959 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js.map
@@ -1 +1 @@
-{"version":3,"file":"AriaQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/AriaQueryHandler.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"AriaQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/AriaQueryHandler.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Binding.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Binding.js
index 76da6d8..64429c6 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Binding.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Binding.js
@@ -1,16 +1,4 @@
 "use strict";
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Binding_name, _Binding_fn;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.Binding = void 0;
 const JSHandle_js_1 = require("../api/JSHandle.js");
@@ -20,14 +8,14 @@
  * @internal
  */
 class Binding {
+    #name;
+    #fn;
     constructor(name, fn) {
-        _Binding_name.set(this, void 0);
-        _Binding_fn.set(this, void 0);
-        __classPrivateFieldSet(this, _Binding_name, name, "f");
-        __classPrivateFieldSet(this, _Binding_fn, fn, "f");
+        this.#name = name;
+        this.#fn = fn;
     }
     get name() {
-        return __classPrivateFieldGet(this, _Binding_name, "f");
+        return this.#name;
     }
     /**
      * @param context - Context to run the binding in; the context should have
@@ -44,7 +32,7 @@
                 const handles = await context.evaluateHandle((name, seq) => {
                     // @ts-expect-error Code is evaluated in a different context.
                     return globalThis[name].args.get(seq);
-                }, __classPrivateFieldGet(this, _Binding_name, "f"), id);
+                }, this.#name, id);
                 try {
                     const properties = await handles.getProperties();
                     for (const [index, handle] of properties) {
@@ -73,7 +61,7 @@
                 const callbacks = globalThis[name].callbacks;
                 callbacks.get(seq).resolve(result);
                 callbacks.delete(seq);
-            }, __classPrivateFieldGet(this, _Binding_name, "f"), id, await __classPrivateFieldGet(this, _Binding_fn, "f").call(this, ...args));
+            }, this.#name, id, await this.#fn(...args));
             for (const arg of args) {
                 if (arg instanceof JSHandle_js_1.JSHandle) {
                     garbage.push(arg.dispose());
@@ -90,7 +78,7 @@
                     const callbacks = globalThis[name].callbacks;
                     callbacks.get(seq).reject(error);
                     callbacks.delete(seq);
-                }, __classPrivateFieldGet(this, _Binding_name, "f"), id, error.message, error.stack)
+                }, this.#name, id, error.message, error.stack)
                     .catch(util_js_1.debugError);
             }
             else {
@@ -100,7 +88,7 @@
                     const callbacks = globalThis[name].callbacks;
                     callbacks.get(seq).reject(error);
                     callbacks.delete(seq);
-                }, __classPrivateFieldGet(this, _Binding_name, "f"), id, error)
+                }, this.#name, id, error)
                     .catch(util_js_1.debugError);
             }
         }
@@ -110,5 +98,4 @@
     }
 }
 exports.Binding = Binding;
-_Binding_name = new WeakMap(), _Binding_fn = new WeakMap();
 //# sourceMappingURL=Binding.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Binding.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Binding.js.map
index 024c5be..dfb223a 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Binding.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Binding.js.map
@@ -1 +1 @@
-{"version":3,"file":"Binding.js","sourceRoot":"","sources":["../../../../src/common/Binding.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Binding.js","sourceRoot":"","sources":["../../../../src/common/Binding.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.d.ts
index 8139a80..25fe27b 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.d.ts
@@ -15,12 +15,13 @@
  */
 /// <reference types="node" />
 import { ChildProcess } from 'child_process';
-import { Browser as BrowserBase, BrowserCloseCallback, TargetFilterCallback, IsPageTargetCallback, BrowserContextOptions, WaitForTargetOptions, Permission } from '../api/Browser.js';
+import { Browser as BrowserBase, BrowserCloseCallback, TargetFilterCallback, IsPageTargetCallback, BrowserContextOptions, Permission } from '../api/Browser.js';
 import { BrowserContext } from '../api/BrowserContext.js';
 import { Page } from '../api/Page.js';
+import { Target } from '../api/Target.js';
 import { Connection } from './Connection.js';
 import { Viewport } from './PuppeteerViewport.js';
-import { Target } from './Target.js';
+import { CDPTarget } from './Target.js';
 import { TargetManager } from './TargetManager.js';
 /**
  * @internal
@@ -34,7 +35,7 @@
     /**
      * @internal
      */
-    get _targets(): Map<string, Target>;
+    get _targets(): Map<string, CDPTarget>;
     /**
      * @internal
      */
@@ -123,29 +124,11 @@
      * All active targets inside the Browser. In case of multiple browser contexts, returns
      * an array with all the targets in all browser contexts.
      */
-    targets(): Target[];
+    targets(): CDPTarget[];
     /**
      * The target associated with the browser.
      */
-    target(): Target;
-    /**
-     * Searches for a target in all browser contexts.
-     *
-     * @param predicate - A function to be run for every target.
-     * @returns The first target found that matches the `predicate` function.
-     *
-     * @example
-     *
-     * An example of finding a target for a page opened via `window.open`:
-     *
-     * ```ts
-     * await page.evaluate(() => window.open('https://www.example.com/'));
-     * const newWindowTarget = await browser.waitForTarget(
-     *   target => target.url() === 'https://www.example.com/'
-     * );
-     * ```
-     */
-    waitForTarget(predicate: (x: Target) => boolean | Promise<boolean>, options?: WaitForTargetOptions): Promise<Target>;
+    target(): CDPTarget;
     version(): Promise<string>;
     /**
      * The browser's original user agent. Pages can override the browser user agent with
@@ -172,7 +155,7 @@
     /**
      * An array of all active targets inside the browser context.
      */
-    targets(): Target[];
+    targets(): CDPTarget[];
     /**
      * This searches for a target in this specific browser context.
      *
@@ -201,7 +184,7 @@
      *
      * @returns Promise which resolves to an array of all open pages.
      * Non visible pages, such as `"background_page"`, will not be listed here.
-     * You can find them using {@link Target.page | the target page}.
+     * You can find them using {@link CDPTarget.page | the target page}.
      */
     pages(): Promise<Page[]>;
     /**
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.d.ts.map
index 4de3eb5..279b136 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Browser.d.ts","sourceRoot":"","sources":["../../../../src/common/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Browser.d.ts","sourceRoot":"","sources":["../../../../src/common/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js
index 04c2aa4..82d423e 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js
@@ -14,30 +14,16 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _CDPBrowser_instances, _CDPBrowser_ignoreHTTPSErrors, _CDPBrowser_defaultViewport, _CDPBrowser_process, _CDPBrowser_connection, _CDPBrowser_closeCallback, _CDPBrowser_targetFilterCallback, _CDPBrowser_isPageTargetCallback, _CDPBrowser_defaultContext, _CDPBrowser_contexts, _CDPBrowser_screenshotTaskQueue, _CDPBrowser_targetManager, _CDPBrowser_emitDisconnected, _CDPBrowser_setIsPageTargetCallback, _CDPBrowser_createTarget, _CDPBrowser_onAttachedToTarget, _CDPBrowser_onDetachedFromTarget, _CDPBrowser_onTargetChanged, _CDPBrowser_onTargetDiscovered, _CDPBrowser_getVersion, _CDPBrowserContext_connection, _CDPBrowserContext_browser, _CDPBrowserContext_id;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.CDPBrowserContext = exports.CDPBrowser = void 0;
 const Browser_js_1 = require("../api/Browser.js");
 const BrowserContext_js_1 = require("../api/BrowserContext.js");
 const assert_js_1 = require("../util/assert.js");
-const Deferred_js_1 = require("../util/Deferred.js");
 const ChromeTargetManager_js_1 = require("./ChromeTargetManager.js");
 const Connection_js_1 = require("./Connection.js");
 const FirefoxTargetManager_js_1 = require("./FirefoxTargetManager.js");
 const Target_js_1 = require("./Target.js");
 const TaskQueue_js_1 = require("./TaskQueue.js");
-const util_js_1 = require("./util.js");
 /**
  * @internal
  */
@@ -50,143 +36,103 @@
         await browser._attach();
         return browser;
     }
+    #ignoreHTTPSErrors;
+    #defaultViewport;
+    #process;
+    #connection;
+    #closeCallback;
+    #targetFilterCallback;
+    #isPageTargetCallback;
+    #defaultContext;
+    #contexts = new Map();
+    #screenshotTaskQueue;
+    #targetManager;
     /**
      * @internal
      */
     get _targets() {
-        return __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").getAvailableTargets();
+        return this.#targetManager.getAvailableTargets();
     }
     /**
      * @internal
      */
     constructor(product, connection, contextIds, ignoreHTTPSErrors, defaultViewport, process, closeCallback, targetFilterCallback, isPageTargetCallback) {
         super();
-        _CDPBrowser_instances.add(this);
-        _CDPBrowser_ignoreHTTPSErrors.set(this, void 0);
-        _CDPBrowser_defaultViewport.set(this, void 0);
-        _CDPBrowser_process.set(this, void 0);
-        _CDPBrowser_connection.set(this, void 0);
-        _CDPBrowser_closeCallback.set(this, void 0);
-        _CDPBrowser_targetFilterCallback.set(this, void 0);
-        _CDPBrowser_isPageTargetCallback.set(this, void 0);
-        _CDPBrowser_defaultContext.set(this, void 0);
-        _CDPBrowser_contexts.set(this, new Map());
-        _CDPBrowser_screenshotTaskQueue.set(this, void 0);
-        _CDPBrowser_targetManager.set(this, void 0);
-        _CDPBrowser_emitDisconnected.set(this, () => {
-            this.emit("disconnected" /* BrowserEmittedEvents.Disconnected */);
-        });
-        _CDPBrowser_createTarget.set(this, (targetInfo, session) => {
-            const { browserContextId } = targetInfo;
-            const context = browserContextId && __classPrivateFieldGet(this, _CDPBrowser_contexts, "f").has(browserContextId)
-                ? __classPrivateFieldGet(this, _CDPBrowser_contexts, "f").get(browserContextId)
-                : __classPrivateFieldGet(this, _CDPBrowser_defaultContext, "f");
-            if (!context) {
-                throw new Error('Missing browser context');
-            }
-            const createSession = (isAutoAttachEmulated) => {
-                return __classPrivateFieldGet(this, _CDPBrowser_connection, "f")._createSession(targetInfo, isAutoAttachEmulated);
-            };
-            if (__classPrivateFieldGet(this, _CDPBrowser_isPageTargetCallback, "f").call(this, targetInfo)) {
-                return new Target_js_1.PageTarget(targetInfo, session, context, __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f"), createSession, __classPrivateFieldGet(this, _CDPBrowser_ignoreHTTPSErrors, "f"), __classPrivateFieldGet(this, _CDPBrowser_defaultViewport, "f") ?? null, __classPrivateFieldGet(this, _CDPBrowser_screenshotTaskQueue, "f"));
-            }
-            if (targetInfo.type === 'service_worker' ||
-                targetInfo.type === 'shared_worker') {
-                return new Target_js_1.WorkerTarget(targetInfo, session, context, __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f"), createSession);
-            }
-            return new Target_js_1.OtherTarget(targetInfo, session, context, __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f"), createSession);
-        });
-        _CDPBrowser_onAttachedToTarget.set(this, async (target) => {
-            if ((await target._initializedDeferred.valueOrThrow()) ===
-                Target_js_1.InitializationStatus.SUCCESS) {
-                this.emit("targetcreated" /* BrowserEmittedEvents.TargetCreated */, target);
-                target
-                    .browserContext()
-                    .emit("targetcreated" /* BrowserContextEmittedEvents.TargetCreated */, target);
-            }
-        });
-        _CDPBrowser_onDetachedFromTarget.set(this, async (target) => {
-            target._initializedDeferred.resolve(Target_js_1.InitializationStatus.ABORTED);
-            target._isClosedDeferred.resolve();
-            if ((await target._initializedDeferred.valueOrThrow()) ===
-                Target_js_1.InitializationStatus.SUCCESS) {
-                this.emit("targetdestroyed" /* BrowserEmittedEvents.TargetDestroyed */, target);
-                target
-                    .browserContext()
-                    .emit("targetdestroyed" /* BrowserContextEmittedEvents.TargetDestroyed */, target);
-            }
-        });
-        _CDPBrowser_onTargetChanged.set(this, ({ target }) => {
-            this.emit("targetchanged" /* BrowserEmittedEvents.TargetChanged */, target);
-            target
-                .browserContext()
-                .emit("targetchanged" /* BrowserContextEmittedEvents.TargetChanged */, target);
-        });
-        _CDPBrowser_onTargetDiscovered.set(this, (targetInfo) => {
-            this.emit('targetdiscovered', targetInfo);
-        });
         product = product || 'chrome';
-        __classPrivateFieldSet(this, _CDPBrowser_ignoreHTTPSErrors, ignoreHTTPSErrors, "f");
-        __classPrivateFieldSet(this, _CDPBrowser_defaultViewport, defaultViewport, "f");
-        __classPrivateFieldSet(this, _CDPBrowser_process, process, "f");
-        __classPrivateFieldSet(this, _CDPBrowser_screenshotTaskQueue, new TaskQueue_js_1.TaskQueue(), "f");
-        __classPrivateFieldSet(this, _CDPBrowser_connection, connection, "f");
-        __classPrivateFieldSet(this, _CDPBrowser_closeCallback, closeCallback || function () { }, "f");
-        __classPrivateFieldSet(this, _CDPBrowser_targetFilterCallback, targetFilterCallback ||
-            (() => {
-                return true;
-            }), "f");
-        __classPrivateFieldGet(this, _CDPBrowser_instances, "m", _CDPBrowser_setIsPageTargetCallback).call(this, isPageTargetCallback);
+        this.#ignoreHTTPSErrors = ignoreHTTPSErrors;
+        this.#defaultViewport = defaultViewport;
+        this.#process = process;
+        this.#screenshotTaskQueue = new TaskQueue_js_1.TaskQueue();
+        this.#connection = connection;
+        this.#closeCallback = closeCallback || function () { };
+        this.#targetFilterCallback =
+            targetFilterCallback ||
+                (() => {
+                    return true;
+                });
+        this.#setIsPageTargetCallback(isPageTargetCallback);
         if (product === 'firefox') {
-            __classPrivateFieldSet(this, _CDPBrowser_targetManager, new FirefoxTargetManager_js_1.FirefoxTargetManager(connection, __classPrivateFieldGet(this, _CDPBrowser_createTarget, "f"), __classPrivateFieldGet(this, _CDPBrowser_targetFilterCallback, "f")), "f");
+            this.#targetManager = new FirefoxTargetManager_js_1.FirefoxTargetManager(connection, this.#createTarget, this.#targetFilterCallback);
         }
         else {
-            __classPrivateFieldSet(this, _CDPBrowser_targetManager, new ChromeTargetManager_js_1.ChromeTargetManager(connection, __classPrivateFieldGet(this, _CDPBrowser_createTarget, "f"), __classPrivateFieldGet(this, _CDPBrowser_targetFilterCallback, "f")), "f");
+            this.#targetManager = new ChromeTargetManager_js_1.ChromeTargetManager(connection, this.#createTarget, this.#targetFilterCallback);
         }
-        __classPrivateFieldSet(this, _CDPBrowser_defaultContext, new CDPBrowserContext(__classPrivateFieldGet(this, _CDPBrowser_connection, "f"), this), "f");
+        this.#defaultContext = new CDPBrowserContext(this.#connection, this);
         for (const contextId of contextIds) {
-            __classPrivateFieldGet(this, _CDPBrowser_contexts, "f").set(contextId, new CDPBrowserContext(__classPrivateFieldGet(this, _CDPBrowser_connection, "f"), this, contextId));
+            this.#contexts.set(contextId, new CDPBrowserContext(this.#connection, this, contextId));
         }
     }
+    #emitDisconnected = () => {
+        this.emit("disconnected" /* BrowserEmittedEvents.Disconnected */);
+    };
     /**
      * @internal
      */
     async _attach() {
-        __classPrivateFieldGet(this, _CDPBrowser_connection, "f").on(Connection_js_1.ConnectionEmittedEvents.Disconnected, __classPrivateFieldGet(this, _CDPBrowser_emitDisconnected, "f"));
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").on("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, __classPrivateFieldGet(this, _CDPBrowser_onAttachedToTarget, "f"));
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").on("targetGone" /* TargetManagerEmittedEvents.TargetGone */, __classPrivateFieldGet(this, _CDPBrowser_onDetachedFromTarget, "f"));
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").on("targetChanged" /* TargetManagerEmittedEvents.TargetChanged */, __classPrivateFieldGet(this, _CDPBrowser_onTargetChanged, "f"));
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").on("targetDiscovered" /* TargetManagerEmittedEvents.TargetDiscovered */, __classPrivateFieldGet(this, _CDPBrowser_onTargetDiscovered, "f"));
-        await __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").initialize();
+        this.#connection.on(Connection_js_1.ConnectionEmittedEvents.Disconnected, this.#emitDisconnected);
+        this.#targetManager.on("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, this.#onAttachedToTarget);
+        this.#targetManager.on("targetGone" /* TargetManagerEmittedEvents.TargetGone */, this.#onDetachedFromTarget);
+        this.#targetManager.on("targetChanged" /* TargetManagerEmittedEvents.TargetChanged */, this.#onTargetChanged);
+        this.#targetManager.on("targetDiscovered" /* TargetManagerEmittedEvents.TargetDiscovered */, this.#onTargetDiscovered);
+        await this.#targetManager.initialize();
     }
     /**
      * @internal
      */
     _detach() {
-        __classPrivateFieldGet(this, _CDPBrowser_connection, "f").off(Connection_js_1.ConnectionEmittedEvents.Disconnected, __classPrivateFieldGet(this, _CDPBrowser_emitDisconnected, "f"));
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").off("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, __classPrivateFieldGet(this, _CDPBrowser_onAttachedToTarget, "f"));
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").off("targetGone" /* TargetManagerEmittedEvents.TargetGone */, __classPrivateFieldGet(this, _CDPBrowser_onDetachedFromTarget, "f"));
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").off("targetChanged" /* TargetManagerEmittedEvents.TargetChanged */, __classPrivateFieldGet(this, _CDPBrowser_onTargetChanged, "f"));
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").off("targetDiscovered" /* TargetManagerEmittedEvents.TargetDiscovered */, __classPrivateFieldGet(this, _CDPBrowser_onTargetDiscovered, "f"));
+        this.#connection.off(Connection_js_1.ConnectionEmittedEvents.Disconnected, this.#emitDisconnected);
+        this.#targetManager.off("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, this.#onAttachedToTarget);
+        this.#targetManager.off("targetGone" /* TargetManagerEmittedEvents.TargetGone */, this.#onDetachedFromTarget);
+        this.#targetManager.off("targetChanged" /* TargetManagerEmittedEvents.TargetChanged */, this.#onTargetChanged);
+        this.#targetManager.off("targetDiscovered" /* TargetManagerEmittedEvents.TargetDiscovered */, this.#onTargetDiscovered);
     }
     /**
      * The spawned browser process. Returns `null` if the browser instance was created with
      * {@link Puppeteer.connect}.
      */
     process() {
-        return __classPrivateFieldGet(this, _CDPBrowser_process, "f") ?? null;
+        return this.#process ?? null;
     }
     /**
      * @internal
      */
     _targetManager() {
-        return __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f");
+        return this.#targetManager;
+    }
+    #setIsPageTargetCallback(isPageTargetCallback) {
+        this.#isPageTargetCallback =
+            isPageTargetCallback ||
+                ((target) => {
+                    return (target.type() === 'page' ||
+                        target.type() === 'background_page' ||
+                        target.type() === 'webview');
+                });
     }
     /**
      * @internal
      */
     _getIsPageTargetCallback() {
-        return __classPrivateFieldGet(this, _CDPBrowser_isPageTargetCallback, "f");
+        return this.#isPageTargetCallback;
     }
     /**
      * Creates a new incognito browser context. This won't share cookies/cache with other
@@ -208,12 +154,12 @@
      */
     async createIncognitoBrowserContext(options = {}) {
         const { proxyServer, proxyBypassList } = options;
-        const { browserContextId } = await __classPrivateFieldGet(this, _CDPBrowser_connection, "f").send('Target.createBrowserContext', {
+        const { browserContextId } = await this.#connection.send('Target.createBrowserContext', {
             proxyServer,
             proxyBypassList: proxyBypassList && proxyBypassList.join(','),
         });
-        const context = new CDPBrowserContext(__classPrivateFieldGet(this, _CDPBrowser_connection, "f"), this, browserContextId);
-        __classPrivateFieldGet(this, _CDPBrowser_contexts, "f").set(browserContextId, context);
+        const context = new CDPBrowserContext(this.#connection, this, browserContextId);
+        this.#contexts.set(browserContextId, context);
         return context;
     }
     /**
@@ -221,13 +167,13 @@
      * return a single instance of {@link BrowserContext}.
      */
     browserContexts() {
-        return [__classPrivateFieldGet(this, _CDPBrowser_defaultContext, "f"), ...Array.from(__classPrivateFieldGet(this, _CDPBrowser_contexts, "f").values())];
+        return [this.#defaultContext, ...Array.from(this.#contexts.values())];
     }
     /**
      * Returns the default browser context. The default browser context cannot be closed.
      */
     defaultBrowserContext() {
-        return __classPrivateFieldGet(this, _CDPBrowser_defaultContext, "f");
+        return this.#defaultContext;
     }
     /**
      * @internal
@@ -236,11 +182,61 @@
         if (!contextId) {
             return;
         }
-        await __classPrivateFieldGet(this, _CDPBrowser_connection, "f").send('Target.disposeBrowserContext', {
+        await this.#connection.send('Target.disposeBrowserContext', {
             browserContextId: contextId,
         });
-        __classPrivateFieldGet(this, _CDPBrowser_contexts, "f").delete(contextId);
+        this.#contexts.delete(contextId);
     }
+    #createTarget = (targetInfo, session) => {
+        const { browserContextId } = targetInfo;
+        const context = browserContextId && this.#contexts.has(browserContextId)
+            ? this.#contexts.get(browserContextId)
+            : this.#defaultContext;
+        if (!context) {
+            throw new Error('Missing browser context');
+        }
+        const createSession = (isAutoAttachEmulated) => {
+            return this.#connection._createSession(targetInfo, isAutoAttachEmulated);
+        };
+        const targetForFilter = new Target_js_1.OtherTarget(targetInfo, session, context, this.#targetManager, createSession);
+        if (this.#isPageTargetCallback(targetForFilter)) {
+            return new Target_js_1.PageTarget(targetInfo, session, context, this.#targetManager, createSession, this.#ignoreHTTPSErrors, this.#defaultViewport ?? null, this.#screenshotTaskQueue);
+        }
+        if (targetInfo.type === 'service_worker' ||
+            targetInfo.type === 'shared_worker') {
+            return new Target_js_1.WorkerTarget(targetInfo, session, context, this.#targetManager, createSession);
+        }
+        return new Target_js_1.OtherTarget(targetInfo, session, context, this.#targetManager, createSession);
+    };
+    #onAttachedToTarget = async (target) => {
+        if ((await target._initializedDeferred.valueOrThrow()) ===
+            Target_js_1.InitializationStatus.SUCCESS) {
+            this.emit("targetcreated" /* BrowserEmittedEvents.TargetCreated */, target);
+            target
+                .browserContext()
+                .emit("targetcreated" /* BrowserContextEmittedEvents.TargetCreated */, target);
+        }
+    };
+    #onDetachedFromTarget = async (target) => {
+        target._initializedDeferred.resolve(Target_js_1.InitializationStatus.ABORTED);
+        target._isClosedDeferred.resolve();
+        if ((await target._initializedDeferred.valueOrThrow()) ===
+            Target_js_1.InitializationStatus.SUCCESS) {
+            this.emit("targetdestroyed" /* BrowserEmittedEvents.TargetDestroyed */, target);
+            target
+                .browserContext()
+                .emit("targetdestroyed" /* BrowserContextEmittedEvents.TargetDestroyed */, target);
+        }
+    };
+    #onTargetChanged = ({ target }) => {
+        this.emit("targetchanged" /* BrowserEmittedEvents.TargetChanged */, target);
+        target
+            .browserContext()
+            .emit("targetchanged" /* BrowserContextEmittedEvents.TargetChanged */, target);
+    };
+    #onTargetDiscovered = (targetInfo) => {
+        this.emit('targetdiscovered', targetInfo);
+    };
     /**
      * The browser websocket endpoint which can be used as an argument to
      * {@link Puppeteer.connect}.
@@ -259,24 +255,24 @@
      * | browser endpoint}.
      */
     wsEndpoint() {
-        return __classPrivateFieldGet(this, _CDPBrowser_connection, "f").url();
+        return this.#connection.url();
     }
     /**
      * Promise which resolves to a new {@link Page} object. The Page is created in
      * a default browser context.
      */
     async newPage() {
-        return __classPrivateFieldGet(this, _CDPBrowser_defaultContext, "f").newPage();
+        return this.#defaultContext.newPage();
     }
     /**
      * @internal
      */
     async _createPageInContext(contextId) {
-        const { targetId } = await __classPrivateFieldGet(this, _CDPBrowser_connection, "f").send('Target.createTarget', {
+        const { targetId } = await this.#connection.send('Target.createTarget', {
             url: 'about:blank',
             browserContextId: contextId || undefined,
         });
-        const target = __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").getAvailableTargets().get(targetId);
+        const target = this.#targetManager.getAvailableTargets().get(targetId);
         if (!target) {
             throw new Error(`Missing target for page (id = ${targetId})`);
         }
@@ -296,7 +292,7 @@
      * an array with all the targets in all browser contexts.
      */
     targets() {
-        return Array.from(__classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").getAvailableTargets().values()).filter(target => {
+        return Array.from(this.#targetManager.getAvailableTargets().values()).filter(target => {
             return (target._initializedDeferred.value() === Target_js_1.InitializationStatus.SUCCESS);
         });
     }
@@ -312,47 +308,8 @@
         }
         return browserTarget;
     }
-    /**
-     * Searches for a target in all browser contexts.
-     *
-     * @param predicate - A function to be run for every target.
-     * @returns The first target found that matches the `predicate` function.
-     *
-     * @example
-     *
-     * An example of finding a target for a page opened via `window.open`:
-     *
-     * ```ts
-     * await page.evaluate(() => window.open('https://www.example.com/'));
-     * const newWindowTarget = await browser.waitForTarget(
-     *   target => target.url() === 'https://www.example.com/'
-     * );
-     * ```
-     */
-    async waitForTarget(predicate, options = {}) {
-        const { timeout = 30000 } = options;
-        const targetDeferred = Deferred_js_1.Deferred.create();
-        this.on("targetcreated" /* BrowserEmittedEvents.TargetCreated */, check);
-        this.on("targetchanged" /* BrowserEmittedEvents.TargetChanged */, check);
-        try {
-            this.targets().forEach(check);
-            if (!timeout) {
-                return await targetDeferred.valueOrThrow();
-            }
-            return await (0, util_js_1.waitWithTimeout)(targetDeferred.valueOrThrow(), 'target', timeout);
-        }
-        finally {
-            this.off("targetcreated" /* BrowserEmittedEvents.TargetCreated */, check);
-            this.off("targetchanged" /* BrowserEmittedEvents.TargetChanged */, check);
-        }
-        async function check(target) {
-            if ((await predicate(target)) && !targetDeferred.resolved()) {
-                targetDeferred.resolve(target);
-            }
-        }
-    }
     async version() {
-        const version = await __classPrivateFieldGet(this, _CDPBrowser_instances, "m", _CDPBrowser_getVersion).call(this);
+        const version = await this.#getVersion();
         return version.product;
     }
     /**
@@ -360,60 +317,53 @@
      * {@link Page.setUserAgent}.
      */
     async userAgent() {
-        const version = await __classPrivateFieldGet(this, _CDPBrowser_instances, "m", _CDPBrowser_getVersion).call(this);
+        const version = await this.#getVersion();
         return version.userAgent;
     }
     async close() {
-        await __classPrivateFieldGet(this, _CDPBrowser_closeCallback, "f").call(null);
+        await this.#closeCallback.call(null);
         this.disconnect();
     }
     disconnect() {
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").dispose();
-        __classPrivateFieldGet(this, _CDPBrowser_connection, "f").dispose();
+        this.#targetManager.dispose();
+        this.#connection.dispose();
         this._detach();
     }
     /**
      * Indicates that the browser is connected.
      */
     isConnected() {
-        return !__classPrivateFieldGet(this, _CDPBrowser_connection, "f")._closed;
+        return !this.#connection._closed;
+    }
+    #getVersion() {
+        return this.#connection.send('Browser.getVersion');
     }
 }
 exports.CDPBrowser = CDPBrowser;
-_CDPBrowser_ignoreHTTPSErrors = new WeakMap(), _CDPBrowser_defaultViewport = new WeakMap(), _CDPBrowser_process = new WeakMap(), _CDPBrowser_connection = new WeakMap(), _CDPBrowser_closeCallback = new WeakMap(), _CDPBrowser_targetFilterCallback = new WeakMap(), _CDPBrowser_isPageTargetCallback = new WeakMap(), _CDPBrowser_defaultContext = new WeakMap(), _CDPBrowser_contexts = new WeakMap(), _CDPBrowser_screenshotTaskQueue = new WeakMap(), _CDPBrowser_targetManager = new WeakMap(), _CDPBrowser_emitDisconnected = new WeakMap(), _CDPBrowser_createTarget = new WeakMap(), _CDPBrowser_onAttachedToTarget = new WeakMap(), _CDPBrowser_onDetachedFromTarget = new WeakMap(), _CDPBrowser_onTargetChanged = new WeakMap(), _CDPBrowser_onTargetDiscovered = new WeakMap(), _CDPBrowser_instances = new WeakSet(), _CDPBrowser_setIsPageTargetCallback = function _CDPBrowser_setIsPageTargetCallback(isPageTargetCallback) {
-    __classPrivateFieldSet(this, _CDPBrowser_isPageTargetCallback, isPageTargetCallback ||
-        ((target) => {
-            return (target.type === 'page' ||
-                target.type === 'background_page' ||
-                target.type === 'webview');
-        }), "f");
-}, _CDPBrowser_getVersion = function _CDPBrowser_getVersion() {
-    return __classPrivateFieldGet(this, _CDPBrowser_connection, "f").send('Browser.getVersion');
-};
 /**
  * @internal
  */
 class CDPBrowserContext extends BrowserContext_js_1.BrowserContext {
+    #connection;
+    #browser;
+    #id;
     /**
      * @internal
      */
     constructor(connection, browser, contextId) {
         super();
-        _CDPBrowserContext_connection.set(this, void 0);
-        _CDPBrowserContext_browser.set(this, void 0);
-        _CDPBrowserContext_id.set(this, void 0);
-        __classPrivateFieldSet(this, _CDPBrowserContext_connection, connection, "f");
-        __classPrivateFieldSet(this, _CDPBrowserContext_browser, browser, "f");
-        __classPrivateFieldSet(this, _CDPBrowserContext_id, contextId, "f");
+        this.#connection = connection;
+        this.#browser = browser;
+        this.#id = contextId;
     }
     get id() {
-        return __classPrivateFieldGet(this, _CDPBrowserContext_id, "f");
+        return this.#id;
     }
     /**
      * An array of all active targets inside the browser context.
      */
     targets() {
-        return __classPrivateFieldGet(this, _CDPBrowserContext_browser, "f").targets().filter(target => {
+        return this.#browser.targets().filter(target => {
             return target.browserContext() === this;
         });
     }
@@ -438,7 +388,7 @@
      * that matches the `predicate` function.
      */
     waitForTarget(predicate, options = {}) {
-        return __classPrivateFieldGet(this, _CDPBrowserContext_browser, "f").waitForTarget(target => {
+        return this.#browser.waitForTarget(target => {
             return target.browserContext() === this && predicate(target);
         }, options);
     }
@@ -447,14 +397,14 @@
      *
      * @returns Promise which resolves to an array of all open pages.
      * Non visible pages, such as `"background_page"`, will not be listed here.
-     * You can find them using {@link Target.page | the target page}.
+     * You can find them using {@link CDPTarget.page | the target page}.
      */
     async pages() {
         const pages = await Promise.all(this.targets()
             .filter(target => {
             return (target.type() === 'page' ||
                 (target.type() === 'other' &&
-                    __classPrivateFieldGet(this, _CDPBrowserContext_browser, "f")._getIsPageTargetCallback()?.(target._getTargetInfo())));
+                    this.#browser._getIsPageTargetCallback()?.(target)));
         })
             .map(target => {
             return target.page();
@@ -471,7 +421,7 @@
      * The default browser context cannot be closed.
      */
     isIncognito() {
-        return !!__classPrivateFieldGet(this, _CDPBrowserContext_id, "f");
+        return !!this.#id;
     }
     /**
      * @example
@@ -495,9 +445,9 @@
             }
             return protocolPermission;
         });
-        await __classPrivateFieldGet(this, _CDPBrowserContext_connection, "f").send('Browser.grantPermissions', {
+        await this.#connection.send('Browser.grantPermissions', {
             origin,
-            browserContextId: __classPrivateFieldGet(this, _CDPBrowserContext_id, "f") || undefined,
+            browserContextId: this.#id || undefined,
             permissions: protocolPermissions,
         });
     }
@@ -514,21 +464,21 @@
      * ```
      */
     async clearPermissionOverrides() {
-        await __classPrivateFieldGet(this, _CDPBrowserContext_connection, "f").send('Browser.resetPermissions', {
-            browserContextId: __classPrivateFieldGet(this, _CDPBrowserContext_id, "f") || undefined,
+        await this.#connection.send('Browser.resetPermissions', {
+            browserContextId: this.#id || undefined,
         });
     }
     /**
      * Creates a new page in the browser context.
      */
     newPage() {
-        return __classPrivateFieldGet(this, _CDPBrowserContext_browser, "f")._createPageInContext(__classPrivateFieldGet(this, _CDPBrowserContext_id, "f"));
+        return this.#browser._createPageInContext(this.#id);
     }
     /**
      * The browser this browser context belongs to.
      */
     browser() {
-        return __classPrivateFieldGet(this, _CDPBrowserContext_browser, "f");
+        return this.#browser;
     }
     /**
      * Closes the browser context. All the targets that belong to the browser context
@@ -538,10 +488,9 @@
      * Only incognito browser contexts can be closed.
      */
     async close() {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _CDPBrowserContext_id, "f"), 'Non-incognito profiles cannot be closed!');
-        await __classPrivateFieldGet(this, _CDPBrowserContext_browser, "f")._disposeContext(__classPrivateFieldGet(this, _CDPBrowserContext_id, "f"));
+        (0, assert_js_1.assert)(this.#id, 'Non-incognito profiles cannot be closed!');
+        await this.#browser._disposeContext(this.#id);
     }
 }
 exports.CDPBrowserContext = CDPBrowserContext;
-_CDPBrowserContext_connection = new WeakMap(), _CDPBrowserContext_browser = new WeakMap(), _CDPBrowserContext_id = new WeakMap();
 //# sourceMappingURL=Browser.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js.map
index 62c8647..d6cdb47 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js.map
@@ -1 +1 @@
-{"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../../src/common/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../../src/common/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserWebSocketTransport.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserWebSocketTransport.js
index 284e47e..712c6a2 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserWebSocketTransport.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserWebSocketTransport.js
@@ -1,16 +1,4 @@
 "use strict";
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _BrowserWebSocketTransport_ws;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.BrowserWebSocketTransport = void 0;
 /**
@@ -26,29 +14,30 @@
             ws.addEventListener('error', reject);
         });
     }
+    #ws;
+    onmessage;
+    onclose;
     constructor(ws) {
-        _BrowserWebSocketTransport_ws.set(this, void 0);
-        __classPrivateFieldSet(this, _BrowserWebSocketTransport_ws, ws, "f");
-        __classPrivateFieldGet(this, _BrowserWebSocketTransport_ws, "f").addEventListener('message', event => {
+        this.#ws = ws;
+        this.#ws.addEventListener('message', event => {
             if (this.onmessage) {
                 this.onmessage.call(null, event.data);
             }
         });
-        __classPrivateFieldGet(this, _BrowserWebSocketTransport_ws, "f").addEventListener('close', () => {
+        this.#ws.addEventListener('close', () => {
             if (this.onclose) {
                 this.onclose.call(null);
             }
         });
         // Silently ignore all errors - we don't know what to do with them.
-        __classPrivateFieldGet(this, _BrowserWebSocketTransport_ws, "f").addEventListener('error', () => { });
+        this.#ws.addEventListener('error', () => { });
     }
     send(message) {
-        __classPrivateFieldGet(this, _BrowserWebSocketTransport_ws, "f").send(message);
+        this.#ws.send(message);
     }
     close() {
-        __classPrivateFieldGet(this, _BrowserWebSocketTransport_ws, "f").close();
+        this.#ws.close();
     }
 }
 exports.BrowserWebSocketTransport = BrowserWebSocketTransport;
-_BrowserWebSocketTransport_ws = new WeakMap();
 //# sourceMappingURL=BrowserWebSocketTransport.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserWebSocketTransport.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserWebSocketTransport.js.map
index 787e029..da8c572 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserWebSocketTransport.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserWebSocketTransport.js.map
@@ -1 +1 @@
-{"version":3,"file":"BrowserWebSocketTransport.js","sourceRoot":"","sources":["../../../../src/common/BrowserWebSocketTransport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAiBA;;GAEG;AACH,MAAa,yBAAyB;IACpC,MAAM,CAAC,MAAM,CAAC,GAAW;QACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;YAE9B,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC/B,OAAO,OAAO,CAAC,IAAI,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAMD,YAAY,EAAa;QAJzB,gDAAe;QAKb,uBAAA,IAAI,iCAAO,EAAE,MAAA,CAAC;QACd,uBAAA,IAAI,qCAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YAC3C,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;QACH,uBAAA,IAAI,qCAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACtC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,mEAAmE;QACnE,uBAAA,IAAI,qCAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,uBAAA,IAAI,qCAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACH,uBAAA,IAAI,qCAAI,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF;AAvCD,8DAuCC"}
\ No newline at end of file
+{"version":3,"file":"BrowserWebSocketTransport.js","sourceRoot":"","sources":["../../../../src/common/BrowserWebSocketTransport.ts"],"names":[],"mappings":";;;AAiBA;;GAEG;AACH,MAAa,yBAAyB;IACpC,MAAM,CAAC,MAAM,CAAC,GAAW;QACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;YAE9B,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC/B,OAAO,OAAO,CAAC,IAAI,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAY;IACf,SAAS,CAA6B;IACtC,OAAO,CAAc;IAErB,YAAY,EAAa;QACvB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YAC3C,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACtC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,mEAAmE;QACnE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF;AAvCD,8DAuCC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.d.ts
index d60e8d7..7f8b2d2 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.d.ts
@@ -16,7 +16,7 @@
 import { TargetFilterCallback } from '../api/Browser.js';
 import { CDPSession, Connection } from './Connection.js';
 import { EventEmitter } from './EventEmitter.js';
-import { Target } from './Target.js';
+import { CDPTarget } from './Target.js';
 import { TargetInterceptor, TargetFactory, TargetManager } from './TargetManager.js';
 /**
  * ChromeTargetManager uses the CDP's auto-attach mechanism to intercept
@@ -30,7 +30,7 @@
     constructor(connection: Connection, targetFactory: TargetFactory, targetFilterCallback?: TargetFilterCallback);
     initialize(): Promise<void>;
     dispose(): void;
-    getAvailableTargets(): Map<string, Target>;
+    getAvailableTargets(): Map<string, CDPTarget>;
     addTargetInterceptor(session: CDPSession | Connection, interceptor: TargetInterceptor): void;
     removeTargetInterceptor(client: CDPSession | Connection, interceptor: TargetInterceptor): void;
 }
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.d.ts.map
index f98d252..e30311a 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"ChromeTargetManager.d.ts","sourceRoot":"","sources":["../../../../src/common/ChromeTargetManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAIvD,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAuB,MAAM,EAAC,MAAM,aAAa,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAG5B;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,YAAa,YAAW,aAAa;;gBA+C1E,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,oBAAoB,CAAC,EAAE,oBAAoB;IAqCvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC,OAAO,IAAI,IAAI;IASf,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI1C,oBAAoB,CAClB,OAAO,EAAE,UAAU,GAAG,UAAU,EAChC,WAAW,EAAE,iBAAiB,GAC7B,IAAI;IAMP,uBAAuB,CACrB,MAAM,EAAE,UAAU,GAAG,UAAU,EAC/B,WAAW,EAAE,iBAAiB,GAC7B,IAAI;CA2PR"}
\ No newline at end of file
+{"version":3,"file":"ChromeTargetManager.d.ts","sourceRoot":"","sources":["../../../../src/common/ChromeTargetManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAIvD,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAuB,SAAS,EAAC,MAAM,aAAa,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAG5B;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,YAAa,YAAW,aAAa;;gBAgD1E,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,oBAAoB,CAAC,EAAE,oBAAoB;IA4CvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC,OAAO,IAAI,IAAI;IASf,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;IAI7C,oBAAoB,CAClB,OAAO,EAAE,UAAU,GAAG,UAAU,EAChC,WAAW,EAAE,iBAAiB,GAC7B,IAAI;IAMP,uBAAuB,CACrB,MAAM,EAAE,UAAU,GAAG,UAAU,EAC/B,WAAW,EAAE,iBAAiB,GAC7B,IAAI;CAiQR"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.js
index 7435766..ee68d53 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _ChromeTargetManager_instances, _ChromeTargetManager_connection, _ChromeTargetManager_discoveredTargetsByTargetId, _ChromeTargetManager_attachedTargetsByTargetId, _ChromeTargetManager_attachedTargetsBySessionId, _ChromeTargetManager_ignoredTargets, _ChromeTargetManager_targetFilterCallback, _ChromeTargetManager_targetFactory, _ChromeTargetManager_targetInterceptors, _ChromeTargetManager_attachedToTargetListenersBySession, _ChromeTargetManager_detachedFromTargetListenersBySession, _ChromeTargetManager_initializeDeferred, _ChromeTargetManager_targetsIdsForInit, _ChromeTargetManager_storeExistingTargetsForInit, _ChromeTargetManager_setupAttachmentListeners, _ChromeTargetManager_removeAttachmentListeners, _ChromeTargetManager_onSessionDetached, _ChromeTargetManager_onTargetCreated, _ChromeTargetManager_onTargetDestroyed, _ChromeTargetManager_onTargetInfoChanged, _ChromeTargetManager_onAttachedToTarget, _ChromeTargetManager_finishInitializationIfReady, _ChromeTargetManager_onDetachedFromTarget;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.ChromeTargetManager = void 0;
 const assert_js_1 = require("../util/assert.js");
@@ -42,270 +30,277 @@
  * @internal
  */
 class ChromeTargetManager extends EventEmitter_js_1.EventEmitter {
+    #connection;
+    /**
+     * Keeps track of the following events: 'Target.targetCreated',
+     * 'Target.targetDestroyed', 'Target.targetInfoChanged'.
+     *
+     * A target becomes discovered when 'Target.targetCreated' is received.
+     * A target is removed from this map once 'Target.targetDestroyed' is
+     * received.
+     *
+     * `targetFilterCallback` has no effect on this map.
+     */
+    #discoveredTargetsByTargetId = new Map();
+    /**
+     * A target is added to this map once ChromeTargetManager has created
+     * a Target and attached at least once to it.
+     */
+    #attachedTargetsByTargetId = new Map();
+    /**
+     * Tracks which sessions attach to which target.
+     */
+    #attachedTargetsBySessionId = new Map();
+    /**
+     * If a target was filtered out by `targetFilterCallback`, we still receive
+     * events about it from CDP, but we don't forward them to the rest of Puppeteer.
+     */
+    #ignoredTargets = new Set();
+    #targetFilterCallback;
+    #targetFactory;
+    #targetInterceptors = new WeakMap();
+    #attachedToTargetListenersBySession = new WeakMap();
+    #detachedFromTargetListenersBySession = new WeakMap();
+    #initializeDeferred = Deferred_js_1.Deferred.create();
+    #targetsIdsForInit = new Set();
     constructor(connection, targetFactory, targetFilterCallback) {
         super();
-        _ChromeTargetManager_instances.add(this);
-        _ChromeTargetManager_connection.set(this, void 0);
-        /**
-         * Keeps track of the following events: 'Target.targetCreated',
-         * 'Target.targetDestroyed', 'Target.targetInfoChanged'.
-         *
-         * A target becomes discovered when 'Target.targetCreated' is received.
-         * A target is removed from this map once 'Target.targetDestroyed' is
-         * received.
-         *
-         * `targetFilterCallback` has no effect on this map.
-         */
-        _ChromeTargetManager_discoveredTargetsByTargetId.set(this, new Map());
-        /**
-         * A target is added to this map once ChromeTargetManager has created
-         * a Target and attached at least once to it.
-         */
-        _ChromeTargetManager_attachedTargetsByTargetId.set(this, new Map());
-        /**
-         * Tracks which sessions attach to which target.
-         */
-        _ChromeTargetManager_attachedTargetsBySessionId.set(this, new Map());
-        /**
-         * If a target was filtered out by `targetFilterCallback`, we still receive
-         * events about it from CDP, but we don't forward them to the rest of Puppeteer.
-         */
-        _ChromeTargetManager_ignoredTargets.set(this, new Set());
-        _ChromeTargetManager_targetFilterCallback.set(this, void 0);
-        _ChromeTargetManager_targetFactory.set(this, void 0);
-        _ChromeTargetManager_targetInterceptors.set(this, new WeakMap());
-        _ChromeTargetManager_attachedToTargetListenersBySession.set(this, new WeakMap());
-        _ChromeTargetManager_detachedFromTargetListenersBySession.set(this, new WeakMap());
-        _ChromeTargetManager_initializeDeferred.set(this, Deferred_js_1.Deferred.create());
-        _ChromeTargetManager_targetsIdsForInit.set(this, new Set());
-        _ChromeTargetManager_storeExistingTargetsForInit.set(this, () => {
-            for (const [targetId, targetInfo,] of __classPrivateFieldGet(this, _ChromeTargetManager_discoveredTargetsByTargetId, "f").entries()) {
-                if ((!__classPrivateFieldGet(this, _ChromeTargetManager_targetFilterCallback, "f") ||
-                    __classPrivateFieldGet(this, _ChromeTargetManager_targetFilterCallback, "f").call(this, targetInfo)) &&
-                    targetInfo.type !== 'browser') {
-                    __classPrivateFieldGet(this, _ChromeTargetManager_targetsIdsForInit, "f").add(targetId);
-                }
-            }
-        });
-        _ChromeTargetManager_onSessionDetached.set(this, (session) => {
-            __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_removeAttachmentListeners).call(this, session);
-            __classPrivateFieldGet(this, _ChromeTargetManager_targetInterceptors, "f").delete(session);
-        });
-        _ChromeTargetManager_onTargetCreated.set(this, async (event) => {
-            __classPrivateFieldGet(this, _ChromeTargetManager_discoveredTargetsByTargetId, "f").set(event.targetInfo.targetId, event.targetInfo);
-            this.emit("targetDiscovered" /* TargetManagerEmittedEvents.TargetDiscovered */, event.targetInfo);
-            // The connection is already attached to the browser target implicitly,
-            // therefore, no new CDPSession is created and we have special handling
-            // here.
-            if (event.targetInfo.type === 'browser' && event.targetInfo.attached) {
-                if (__classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").has(event.targetInfo.targetId)) {
-                    return;
-                }
-                const target = __classPrivateFieldGet(this, _ChromeTargetManager_targetFactory, "f").call(this, event.targetInfo, undefined);
-                __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").set(event.targetInfo.targetId, target);
-            }
-        });
-        _ChromeTargetManager_onTargetDestroyed.set(this, (event) => {
-            const targetInfo = __classPrivateFieldGet(this, _ChromeTargetManager_discoveredTargetsByTargetId, "f").get(event.targetId);
-            __classPrivateFieldGet(this, _ChromeTargetManager_discoveredTargetsByTargetId, "f").delete(event.targetId);
-            __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_finishInitializationIfReady).call(this, event.targetId);
-            if (targetInfo?.type === 'service_worker' &&
-                __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").has(event.targetId)) {
-                // Special case for service workers: report TargetGone event when
-                // the worker is destroyed.
-                const target = __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").get(event.targetId);
-                this.emit("targetGone" /* TargetManagerEmittedEvents.TargetGone */, target);
-                __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").delete(event.targetId);
-            }
-        });
-        _ChromeTargetManager_onTargetInfoChanged.set(this, (event) => {
-            __classPrivateFieldGet(this, _ChromeTargetManager_discoveredTargetsByTargetId, "f").set(event.targetInfo.targetId, event.targetInfo);
-            if (__classPrivateFieldGet(this, _ChromeTargetManager_ignoredTargets, "f").has(event.targetInfo.targetId) ||
-                !__classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").has(event.targetInfo.targetId) ||
-                !event.targetInfo.attached) {
-                return;
-            }
-            const target = __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").get(event.targetInfo.targetId);
-            if (!target) {
-                return;
-            }
-            const previousURL = target.url();
-            const wasInitialized = target._initializedDeferred.value() === Target_js_1.InitializationStatus.SUCCESS;
-            target._targetInfoChanged(event.targetInfo);
-            if (wasInitialized && previousURL !== target.url()) {
-                this.emit("targetChanged" /* TargetManagerEmittedEvents.TargetChanged */, {
-                    target: target,
-                    wasInitialized,
-                    previousURL,
-                });
-            }
-        });
-        _ChromeTargetManager_onAttachedToTarget.set(this, async (parentSession, event) => {
-            const targetInfo = event.targetInfo;
-            const session = __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").session(event.sessionId);
-            if (!session) {
-                throw new Error(`Session ${event.sessionId} was not created.`);
-            }
-            const silentDetach = async () => {
-                await session.send('Runtime.runIfWaitingForDebugger').catch(util_js_1.debugError);
-                // We don't use `session.detach()` because that dispatches all commands on
-                // the connection instead of the parent session.
-                await parentSession
-                    .send('Target.detachFromTarget', {
-                    sessionId: session.id(),
-                })
-                    .catch(util_js_1.debugError);
-            };
-            if (!__classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").isAutoAttached(targetInfo.targetId)) {
-                return;
-            }
-            // Special case for service workers: being attached to service workers will
-            // prevent them from ever being destroyed. Therefore, we silently detach
-            // from service workers unless the connection was manually created via
-            // `page.worker()`. To determine this, we use
-            // `this.#connection.isAutoAttached(targetInfo.targetId)`. In the future, we
-            // should determine if a target is auto-attached or not with the help of
-            // CDP.
-            if (targetInfo.type === 'service_worker' &&
-                __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").isAutoAttached(targetInfo.targetId)) {
-                __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_finishInitializationIfReady).call(this, targetInfo.targetId);
-                await silentDetach();
-                if (__classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").has(targetInfo.targetId)) {
-                    return;
-                }
-                const target = __classPrivateFieldGet(this, _ChromeTargetManager_targetFactory, "f").call(this, targetInfo);
-                __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").set(targetInfo.targetId, target);
-                this.emit("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, target);
-                return;
-            }
-            if (__classPrivateFieldGet(this, _ChromeTargetManager_targetFilterCallback, "f") && !__classPrivateFieldGet(this, _ChromeTargetManager_targetFilterCallback, "f").call(this, targetInfo)) {
-                __classPrivateFieldGet(this, _ChromeTargetManager_ignoredTargets, "f").add(targetInfo.targetId);
-                __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_finishInitializationIfReady).call(this, targetInfo.targetId);
-                await silentDetach();
-                return;
-            }
-            const existingTarget = __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").has(targetInfo.targetId);
-            const target = existingTarget
-                ? __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").get(targetInfo.targetId)
-                : __classPrivateFieldGet(this, _ChromeTargetManager_targetFactory, "f").call(this, targetInfo, session);
-            __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_setupAttachmentListeners).call(this, session);
-            if (existingTarget) {
-                __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsBySessionId, "f").set(session.id(), __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").get(targetInfo.targetId));
-            }
-            else {
-                __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").set(targetInfo.targetId, target);
-                __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsBySessionId, "f").set(session.id(), target);
-            }
-            for (const interceptor of __classPrivateFieldGet(this, _ChromeTargetManager_targetInterceptors, "f").get(parentSession) ||
-                []) {
-                if (!(parentSession instanceof Connection_js_1.Connection)) {
-                    // Sanity check: if parent session is not a connection, it should be
-                    // present in #attachedTargetsBySessionId.
-                    (0, assert_js_1.assert)(__classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsBySessionId, "f").has(parentSession.id()));
-                }
-                interceptor(target, parentSession instanceof Connection_js_1.Connection
-                    ? null
-                    : __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsBySessionId, "f").get(parentSession.id()));
-            }
-            __classPrivateFieldGet(this, _ChromeTargetManager_targetsIdsForInit, "f").delete(target._targetId);
-            if (!existingTarget) {
-                this.emit("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, target);
-            }
-            __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_finishInitializationIfReady).call(this);
-            // TODO: the browser might be shutting down here. What do we do with the
-            // error?
-            await Promise.all([
-                session.send('Target.setAutoAttach', {
-                    waitForDebuggerOnStart: true,
-                    flatten: true,
-                    autoAttach: true,
-                }),
-                session.send('Runtime.runIfWaitingForDebugger'),
-            ]).catch(util_js_1.debugError);
-        });
-        _ChromeTargetManager_onDetachedFromTarget.set(this, (_parentSession, event) => {
-            const target = __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsBySessionId, "f").get(event.sessionId);
-            __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsBySessionId, "f").delete(event.sessionId);
-            if (!target) {
-                return;
-            }
-            __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").delete(target._targetId);
-            this.emit("targetGone" /* TargetManagerEmittedEvents.TargetGone */, target);
-        });
-        __classPrivateFieldSet(this, _ChromeTargetManager_connection, connection, "f");
-        __classPrivateFieldSet(this, _ChromeTargetManager_targetFilterCallback, targetFilterCallback, "f");
-        __classPrivateFieldSet(this, _ChromeTargetManager_targetFactory, targetFactory, "f");
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").on('Target.targetCreated', __classPrivateFieldGet(this, _ChromeTargetManager_onTargetCreated, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").on('Target.targetDestroyed', __classPrivateFieldGet(this, _ChromeTargetManager_onTargetDestroyed, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").on('Target.targetInfoChanged', __classPrivateFieldGet(this, _ChromeTargetManager_onTargetInfoChanged, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").on('sessiondetached', __classPrivateFieldGet(this, _ChromeTargetManager_onSessionDetached, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_setupAttachmentListeners).call(this, __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f")
+        this.#connection = connection;
+        this.#targetFilterCallback = targetFilterCallback;
+        this.#targetFactory = targetFactory;
+        this.#connection.on('Target.targetCreated', this.#onTargetCreated);
+        this.#connection.on('Target.targetDestroyed', this.#onTargetDestroyed);
+        this.#connection.on('Target.targetInfoChanged', this.#onTargetInfoChanged);
+        this.#connection.on('sessiondetached', this.#onSessionDetached);
+        this.#setupAttachmentListeners(this.#connection);
+        this.#connection
             .send('Target.setDiscoverTargets', {
             discover: true,
             filter: [{ type: 'tab', exclude: true }, {}],
         })
-            .then(__classPrivateFieldGet(this, _ChromeTargetManager_storeExistingTargetsForInit, "f"))
+            .then(this.#storeExistingTargetsForInit)
             .catch(util_js_1.debugError);
     }
+    #storeExistingTargetsForInit = () => {
+        for (const [targetId, targetInfo,] of this.#discoveredTargetsByTargetId.entries()) {
+            const targetForFilter = new Target_js_1.CDPTarget(targetInfo, undefined, undefined, this, undefined);
+            if ((!this.#targetFilterCallback ||
+                this.#targetFilterCallback(targetForFilter)) &&
+                targetInfo.type !== 'browser') {
+                this.#targetsIdsForInit.add(targetId);
+            }
+        }
+    };
     async initialize() {
-        await __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").send('Target.setAutoAttach', {
+        await this.#connection.send('Target.setAutoAttach', {
             waitForDebuggerOnStart: true,
             flatten: true,
             autoAttach: true,
         });
-        __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_finishInitializationIfReady).call(this);
-        await __classPrivateFieldGet(this, _ChromeTargetManager_initializeDeferred, "f").valueOrThrow();
+        this.#finishInitializationIfReady();
+        await this.#initializeDeferred.valueOrThrow();
     }
     dispose() {
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").off('Target.targetCreated', __classPrivateFieldGet(this, _ChromeTargetManager_onTargetCreated, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").off('Target.targetDestroyed', __classPrivateFieldGet(this, _ChromeTargetManager_onTargetDestroyed, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").off('Target.targetInfoChanged', __classPrivateFieldGet(this, _ChromeTargetManager_onTargetInfoChanged, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").off('sessiondetached', __classPrivateFieldGet(this, _ChromeTargetManager_onSessionDetached, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_removeAttachmentListeners).call(this, __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f"));
+        this.#connection.off('Target.targetCreated', this.#onTargetCreated);
+        this.#connection.off('Target.targetDestroyed', this.#onTargetDestroyed);
+        this.#connection.off('Target.targetInfoChanged', this.#onTargetInfoChanged);
+        this.#connection.off('sessiondetached', this.#onSessionDetached);
+        this.#removeAttachmentListeners(this.#connection);
     }
     getAvailableTargets() {
-        return __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f");
+        return this.#attachedTargetsByTargetId;
     }
     addTargetInterceptor(session, interceptor) {
-        const interceptors = __classPrivateFieldGet(this, _ChromeTargetManager_targetInterceptors, "f").get(session) || [];
+        const interceptors = this.#targetInterceptors.get(session) || [];
         interceptors.push(interceptor);
-        __classPrivateFieldGet(this, _ChromeTargetManager_targetInterceptors, "f").set(session, interceptors);
+        this.#targetInterceptors.set(session, interceptors);
     }
     removeTargetInterceptor(client, interceptor) {
-        const interceptors = __classPrivateFieldGet(this, _ChromeTargetManager_targetInterceptors, "f").get(client) || [];
-        __classPrivateFieldGet(this, _ChromeTargetManager_targetInterceptors, "f").set(client, interceptors.filter(currentInterceptor => {
+        const interceptors = this.#targetInterceptors.get(client) || [];
+        this.#targetInterceptors.set(client, interceptors.filter(currentInterceptor => {
             return currentInterceptor !== interceptor;
         }));
     }
+    #setupAttachmentListeners(session) {
+        const listener = (event) => {
+            return this.#onAttachedToTarget(session, event);
+        };
+        (0, assert_js_1.assert)(!this.#attachedToTargetListenersBySession.has(session));
+        this.#attachedToTargetListenersBySession.set(session, listener);
+        session.on('Target.attachedToTarget', listener);
+        const detachedListener = (event) => {
+            return this.#onDetachedFromTarget(session, event);
+        };
+        (0, assert_js_1.assert)(!this.#detachedFromTargetListenersBySession.has(session));
+        this.#detachedFromTargetListenersBySession.set(session, detachedListener);
+        session.on('Target.detachedFromTarget', detachedListener);
+    }
+    #removeAttachmentListeners(session) {
+        if (this.#attachedToTargetListenersBySession.has(session)) {
+            session.off('Target.attachedToTarget', this.#attachedToTargetListenersBySession.get(session));
+            this.#attachedToTargetListenersBySession.delete(session);
+        }
+        if (this.#detachedFromTargetListenersBySession.has(session)) {
+            session.off('Target.detachedFromTarget', this.#detachedFromTargetListenersBySession.get(session));
+            this.#detachedFromTargetListenersBySession.delete(session);
+        }
+    }
+    #onSessionDetached = (session) => {
+        this.#removeAttachmentListeners(session);
+        this.#targetInterceptors.delete(session);
+    };
+    #onTargetCreated = async (event) => {
+        this.#discoveredTargetsByTargetId.set(event.targetInfo.targetId, event.targetInfo);
+        this.emit("targetDiscovered" /* TargetManagerEmittedEvents.TargetDiscovered */, event.targetInfo);
+        // The connection is already attached to the browser target implicitly,
+        // therefore, no new CDPSession is created and we have special handling
+        // here.
+        if (event.targetInfo.type === 'browser' && event.targetInfo.attached) {
+            if (this.#attachedTargetsByTargetId.has(event.targetInfo.targetId)) {
+                return;
+            }
+            const target = this.#targetFactory(event.targetInfo, undefined);
+            target._initialize();
+            this.#attachedTargetsByTargetId.set(event.targetInfo.targetId, target);
+        }
+    };
+    #onTargetDestroyed = (event) => {
+        const targetInfo = this.#discoveredTargetsByTargetId.get(event.targetId);
+        this.#discoveredTargetsByTargetId.delete(event.targetId);
+        this.#finishInitializationIfReady(event.targetId);
+        if (targetInfo?.type === 'service_worker' &&
+            this.#attachedTargetsByTargetId.has(event.targetId)) {
+            // Special case for service workers: report TargetGone event when
+            // the worker is destroyed.
+            const target = this.#attachedTargetsByTargetId.get(event.targetId);
+            this.emit("targetGone" /* TargetManagerEmittedEvents.TargetGone */, target);
+            this.#attachedTargetsByTargetId.delete(event.targetId);
+        }
+    };
+    #onTargetInfoChanged = (event) => {
+        this.#discoveredTargetsByTargetId.set(event.targetInfo.targetId, event.targetInfo);
+        if (this.#ignoredTargets.has(event.targetInfo.targetId) ||
+            !this.#attachedTargetsByTargetId.has(event.targetInfo.targetId) ||
+            !event.targetInfo.attached) {
+            return;
+        }
+        const target = this.#attachedTargetsByTargetId.get(event.targetInfo.targetId);
+        if (!target) {
+            return;
+        }
+        const previousURL = target.url();
+        const wasInitialized = target._initializedDeferred.value() === Target_js_1.InitializationStatus.SUCCESS;
+        target._targetInfoChanged(event.targetInfo);
+        if (wasInitialized && previousURL !== target.url()) {
+            this.emit("targetChanged" /* TargetManagerEmittedEvents.TargetChanged */, {
+                target: target,
+                wasInitialized,
+                previousURL,
+            });
+        }
+    };
+    #onAttachedToTarget = async (parentSession, event) => {
+        const targetInfo = event.targetInfo;
+        const session = this.#connection.session(event.sessionId);
+        if (!session) {
+            throw new Error(`Session ${event.sessionId} was not created.`);
+        }
+        const silentDetach = async () => {
+            await session.send('Runtime.runIfWaitingForDebugger').catch(util_js_1.debugError);
+            // We don't use `session.detach()` because that dispatches all commands on
+            // the connection instead of the parent session.
+            await parentSession
+                .send('Target.detachFromTarget', {
+                sessionId: session.id(),
+            })
+                .catch(util_js_1.debugError);
+        };
+        if (!this.#connection.isAutoAttached(targetInfo.targetId)) {
+            return;
+        }
+        // Special case for service workers: being attached to service workers will
+        // prevent them from ever being destroyed. Therefore, we silently detach
+        // from service workers unless the connection was manually created via
+        // `page.worker()`. To determine this, we use
+        // `this.#connection.isAutoAttached(targetInfo.targetId)`. In the future, we
+        // should determine if a target is auto-attached or not with the help of
+        // CDP.
+        if (targetInfo.type === 'service_worker' &&
+            this.#connection.isAutoAttached(targetInfo.targetId)) {
+            this.#finishInitializationIfReady(targetInfo.targetId);
+            await silentDetach();
+            if (this.#attachedTargetsByTargetId.has(targetInfo.targetId)) {
+                return;
+            }
+            const target = this.#targetFactory(targetInfo);
+            target._initialize();
+            this.#attachedTargetsByTargetId.set(targetInfo.targetId, target);
+            this.emit("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, target);
+            return;
+        }
+        const existingTarget = this.#attachedTargetsByTargetId.has(targetInfo.targetId);
+        const target = existingTarget
+            ? this.#attachedTargetsByTargetId.get(targetInfo.targetId)
+            : this.#targetFactory(targetInfo, session);
+        if (this.#targetFilterCallback && !this.#targetFilterCallback(target)) {
+            this.#ignoredTargets.add(targetInfo.targetId);
+            this.#finishInitializationIfReady(targetInfo.targetId);
+            await silentDetach();
+            return;
+        }
+        if (!existingTarget) {
+            target._initialize();
+        }
+        this.#setupAttachmentListeners(session);
+        if (existingTarget) {
+            this.#attachedTargetsBySessionId.set(session.id(), this.#attachedTargetsByTargetId.get(targetInfo.targetId));
+        }
+        else {
+            this.#attachedTargetsByTargetId.set(targetInfo.targetId, target);
+            this.#attachedTargetsBySessionId.set(session.id(), target);
+        }
+        for (const interceptor of this.#targetInterceptors.get(parentSession) ||
+            []) {
+            if (!(parentSession instanceof Connection_js_1.Connection)) {
+                // Sanity check: if parent session is not a connection, it should be
+                // present in #attachedTargetsBySessionId.
+                (0, assert_js_1.assert)(this.#attachedTargetsBySessionId.has(parentSession.id()));
+            }
+            interceptor(target, parentSession instanceof Connection_js_1.Connection
+                ? null
+                : this.#attachedTargetsBySessionId.get(parentSession.id()));
+        }
+        this.#targetsIdsForInit.delete(target._targetId);
+        if (!existingTarget) {
+            this.emit("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, target);
+        }
+        this.#finishInitializationIfReady();
+        // TODO: the browser might be shutting down here. What do we do with the
+        // error?
+        await Promise.all([
+            session.send('Target.setAutoAttach', {
+                waitForDebuggerOnStart: true,
+                flatten: true,
+                autoAttach: true,
+            }),
+            session.send('Runtime.runIfWaitingForDebugger'),
+        ]).catch(util_js_1.debugError);
+    };
+    #finishInitializationIfReady(targetId) {
+        targetId !== undefined && this.#targetsIdsForInit.delete(targetId);
+        if (this.#targetsIdsForInit.size === 0) {
+            this.#initializeDeferred.resolve();
+        }
+    }
+    #onDetachedFromTarget = (_parentSession, event) => {
+        const target = this.#attachedTargetsBySessionId.get(event.sessionId);
+        this.#attachedTargetsBySessionId.delete(event.sessionId);
+        if (!target) {
+            return;
+        }
+        this.#attachedTargetsByTargetId.delete(target._targetId);
+        this.emit("targetGone" /* TargetManagerEmittedEvents.TargetGone */, target);
+    };
 }
 exports.ChromeTargetManager = ChromeTargetManager;
-_ChromeTargetManager_connection = new WeakMap(), _ChromeTargetManager_discoveredTargetsByTargetId = new WeakMap(), _ChromeTargetManager_attachedTargetsByTargetId = new WeakMap(), _ChromeTargetManager_attachedTargetsBySessionId = new WeakMap(), _ChromeTargetManager_ignoredTargets = new WeakMap(), _ChromeTargetManager_targetFilterCallback = new WeakMap(), _ChromeTargetManager_targetFactory = new WeakMap(), _ChromeTargetManager_targetInterceptors = new WeakMap(), _ChromeTargetManager_attachedToTargetListenersBySession = new WeakMap(), _ChromeTargetManager_detachedFromTargetListenersBySession = new WeakMap(), _ChromeTargetManager_initializeDeferred = new WeakMap(), _ChromeTargetManager_targetsIdsForInit = new WeakMap(), _ChromeTargetManager_storeExistingTargetsForInit = new WeakMap(), _ChromeTargetManager_onSessionDetached = new WeakMap(), _ChromeTargetManager_onTargetCreated = new WeakMap(), _ChromeTargetManager_onTargetDestroyed = new WeakMap(), _ChromeTargetManager_onTargetInfoChanged = new WeakMap(), _ChromeTargetManager_onAttachedToTarget = new WeakMap(), _ChromeTargetManager_onDetachedFromTarget = new WeakMap(), _ChromeTargetManager_instances = new WeakSet(), _ChromeTargetManager_setupAttachmentListeners = function _ChromeTargetManager_setupAttachmentListeners(session) {
-    const listener = (event) => {
-        return __classPrivateFieldGet(this, _ChromeTargetManager_onAttachedToTarget, "f").call(this, session, event);
-    };
-    (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _ChromeTargetManager_attachedToTargetListenersBySession, "f").has(session));
-    __classPrivateFieldGet(this, _ChromeTargetManager_attachedToTargetListenersBySession, "f").set(session, listener);
-    session.on('Target.attachedToTarget', listener);
-    const detachedListener = (event) => {
-        return __classPrivateFieldGet(this, _ChromeTargetManager_onDetachedFromTarget, "f").call(this, session, event);
-    };
-    (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _ChromeTargetManager_detachedFromTargetListenersBySession, "f").has(session));
-    __classPrivateFieldGet(this, _ChromeTargetManager_detachedFromTargetListenersBySession, "f").set(session, detachedListener);
-    session.on('Target.detachedFromTarget', detachedListener);
-}, _ChromeTargetManager_removeAttachmentListeners = function _ChromeTargetManager_removeAttachmentListeners(session) {
-    if (__classPrivateFieldGet(this, _ChromeTargetManager_attachedToTargetListenersBySession, "f").has(session)) {
-        session.off('Target.attachedToTarget', __classPrivateFieldGet(this, _ChromeTargetManager_attachedToTargetListenersBySession, "f").get(session));
-        __classPrivateFieldGet(this, _ChromeTargetManager_attachedToTargetListenersBySession, "f").delete(session);
-    }
-    if (__classPrivateFieldGet(this, _ChromeTargetManager_detachedFromTargetListenersBySession, "f").has(session)) {
-        session.off('Target.detachedFromTarget', __classPrivateFieldGet(this, _ChromeTargetManager_detachedFromTargetListenersBySession, "f").get(session));
-        __classPrivateFieldGet(this, _ChromeTargetManager_detachedFromTargetListenersBySession, "f").delete(session);
-    }
-}, _ChromeTargetManager_finishInitializationIfReady = function _ChromeTargetManager_finishInitializationIfReady(targetId) {
-    targetId !== undefined && __classPrivateFieldGet(this, _ChromeTargetManager_targetsIdsForInit, "f").delete(targetId);
-    if (__classPrivateFieldGet(this, _ChromeTargetManager_targetsIdsForInit, "f").size === 0) {
-        __classPrivateFieldGet(this, _ChromeTargetManager_initializeDeferred, "f").resolve();
-    }
-};
 //# sourceMappingURL=ChromeTargetManager.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.js.map
index 71eb412..a6a18ac 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ChromeTargetManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"ChromeTargetManager.js","sourceRoot":"","sources":["../../../../src/common/ChromeTargetManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ChromeTargetManager.js","sourceRoot":"","sources":["../../../../src/common/ChromeTargetManager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAKH,iDAAyC;AACzC,qDAA6C;AAE7C,mDAAuD;AACvD,uDAA+C;AAC/C,2CAA4D;AAO5D,uCAAqC;AAErC;;;;;;GAMG;AACH,MAAa,mBAAoB,SAAQ,8BAAY;IACnD,WAAW,CAAa;IACxB;;;;;;;;;OASG;IACH,4BAA4B,GAAG,IAAI,GAAG,EAAsC,CAAC;IAC7E;;;OAGG;IACH,0BAA0B,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC1D;;OAEG;IACH,2BAA2B,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC3D;;;OAGG;IACH,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,qBAAqB,CAAmC;IACxD,cAAc,CAAgB;IAE9B,mBAAmB,GAAG,IAAI,OAAO,EAG9B,CAAC;IAEJ,mCAAmC,GAAG,IAAI,OAAO,EAG9C,CAAC;IACJ,qCAAqC,GAAG,IAAI,OAAO,EAGhD,CAAC;IAEJ,mBAAmB,GAAG,sBAAQ,CAAC,MAAM,EAAQ,CAAC;IAC9C,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,YACE,UAAsB,EACtB,aAA4B,EAC5B,oBAA2C;QAE3C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QAEpC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACnE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,wBAAwB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,0BAA0B,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC3E,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAI,CAAC,WAAW;aACb,IAAI,CAAC,2BAA2B,EAAE;YACjC,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAC,EAAE,EAAE,CAAC;SAC3C,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC;aACvC,KAAK,CAAC,oBAAU,CAAC,CAAC;IACvB,CAAC;IAED,4BAA4B,GAAG,GAAG,EAAE;QAClC,KAAK,MAAM,CACT,QAAQ,EACR,UAAU,EACX,IAAI,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,EAAE;YAChD,MAAM,eAAe,GAAG,IAAI,qBAAS,CACnC,UAAU,EACV,SAAS,EACT,SAAS,EACT,IAAI,EACJ,SAAS,CACV,CAAC;YACF,IACE,CAAC,CAAC,IAAI,CAAC,qBAAqB;gBAC1B,IAAI,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;gBAC9C,UAAU,CAAC,IAAI,KAAK,SAAS,EAC7B;gBACA,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aACvC;SACF;IACH,CAAC,CAAC;IAEF,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,sBAAsB,EAAE;YAClD,sBAAsB,EAAE,IAAI;YAC5B,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,CAAC;IAChD,CAAC;IAED,OAAO;QACL,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACxE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5E,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEjE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACzC,CAAC;IAED,oBAAoB,CAClB,OAAgC,EAChC,WAA8B;QAE9B,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACjE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACtD,CAAC;IAED,uBAAuB,CACrB,MAA+B,EAC/B,WAA8B;QAE9B,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAChE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,MAAM,EACN,YAAY,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE;YACvC,OAAO,kBAAkB,KAAK,WAAW,CAAC;QAC5C,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,yBAAyB,CAAC,OAAgC;QACxD,MAAM,QAAQ,GAAG,CAAC,KAA4C,EAAE,EAAE;YAChE,OAAO,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC;QACF,IAAA,kBAAM,EAAC,CAAC,IAAI,CAAC,mCAAmC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,mCAAmC,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChE,OAAO,CAAC,EAAE,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;QAEhD,MAAM,gBAAgB,GAAG,CACvB,KAA8C,EAC9C,EAAE;YACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC,CAAC;QACF,IAAA,kBAAM,EAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,qCAAqC,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC1E,OAAO,CAAC,EAAE,CAAC,2BAA2B,EAAE,gBAAgB,CAAC,CAAC;IAC5D,CAAC;IAED,0BAA0B,CAAC,OAAgC;QACzD,IAAI,IAAI,CAAC,mCAAmC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACzD,OAAO,CAAC,GAAG,CACT,yBAAyB,EACzB,IAAI,CAAC,mCAAmC,CAAC,GAAG,CAAC,OAAO,CAAE,CACvD,CAAC;YACF,IAAI,CAAC,mCAAmC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC1D;QAED,IAAI,IAAI,CAAC,qCAAqC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC3D,OAAO,CAAC,GAAG,CACT,2BAA2B,EAC3B,IAAI,CAAC,qCAAqC,CAAC,GAAG,CAAC,OAAO,CAAE,CACzD,CAAC;YACF,IAAI,CAAC,qCAAqC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC5D;IACH,CAAC;IAED,kBAAkB,GAAG,CAAC,OAAmB,EAAE,EAAE;QAC3C,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,gBAAgB,GAAG,KAAK,EAAE,KAAyC,EAAE,EAAE;QACrE,IAAI,CAAC,4BAA4B,CAAC,GAAG,CACnC,KAAK,CAAC,UAAU,CAAC,QAAQ,EACzB,KAAK,CAAC,UAAU,CACjB,CAAC;QAEF,IAAI,CAAC,IAAI,uEAA8C,KAAK,CAAC,UAAU,CAAC,CAAC;QAEzE,uEAAuE;QACvE,uEAAuE;QACvE,QAAQ;QACR,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE;YACpE,IAAI,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAClE,OAAO;aACR;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAChE,MAAM,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SACxE;IACH,CAAC,CAAC;IAEF,kBAAkB,GAAG,CAAC,KAA2C,EAAE,EAAE;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzE,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClD,IACE,UAAU,EAAE,IAAI,KAAK,gBAAgB;YACrC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,EACnD;YACA,iEAAiE;YACjE,2BAA2B;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnE,IAAI,CAAC,IAAI,2DAAwC,MAAM,CAAC,CAAC;YACzD,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACxD;IACH,CAAC,CAAC;IAEF,oBAAoB,GAAG,CAAC,KAA6C,EAAE,EAAE;QACvE,IAAI,CAAC,4BAA4B,CAAC,GAAG,CACnC,KAAK,CAAC,UAAU,CAAC,QAAQ,EACzB,KAAK,CAAC,UAAU,CACjB,CAAC;QAEF,IACE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;YACnD,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC/D,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAC1B;YACA,OAAO;SACR;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAChD,KAAK,CAAC,UAAU,CAAC,QAAQ,CAC1B,CAAC;QACF,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QACD,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,cAAc,GAClB,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,gCAAoB,CAAC,OAAO,CAAC;QAEvE,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE5C,IAAI,cAAc,IAAI,WAAW,KAAK,MAAM,CAAC,GAAG,EAAE,EAAE;YAClD,IAAI,CAAC,IAAI,iEAA2C;gBAClD,MAAM,EAAE,MAAM;gBACd,cAAc;gBACd,WAAW;aACZ,CAAC,CAAC;SACJ;IACH,CAAC,CAAC;IAEF,mBAAmB,GAAG,KAAK,EACzB,aAAsC,EACtC,KAA4C,EAC5C,EAAE;QACF,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,SAAS,mBAAmB,CAAC,CAAC;SAChE;QAED,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;YAC9B,MAAM,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,KAAK,CAAC,oBAAU,CAAC,CAAC;YACxE,0EAA0E;YAC1E,gDAAgD;YAChD,MAAM,aAAa;iBAChB,IAAI,CAAC,yBAAyB,EAAE;gBAC/B,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;aACxB,CAAC;iBACD,KAAK,CAAC,oBAAU,CAAC,CAAC;QACvB,CAAC,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;YACzD,OAAO;SACR;QAED,2EAA2E;QAC3E,wEAAwE;QACxE,sEAAsE;QACtE,6CAA6C;QAC7C,4EAA4E;QAC5E,wEAAwE;QACxE,OAAO;QACP,IACE,UAAU,CAAC,IAAI,KAAK,gBAAgB;YACpC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,CAAC,EACpD;YACA,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACvD,MAAM,YAAY,EAAE,CAAC;YACrB,IAAI,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC5D,OAAO;aACR;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjE,IAAI,CAAC,IAAI,qEAA6C,MAAM,CAAC,CAAC;YAC9D,OAAO;SACR;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CACxD,UAAU,CAAC,QAAQ,CACpB,CAAC;QAEF,MAAM,MAAM,GAAG,cAAc;YAC3B,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAE;YAC3D,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE;YACrE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,4BAA4B,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACvD,MAAM,YAAY,EAAE,CAAC;YACrB,OAAO;SACR;QAED,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,CAAC,WAAW,EAAE,CAAC;SACtB;QAED,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAExC,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAClC,OAAO,CAAC,EAAE,EAAE,EACZ,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAE,CAC1D,CAAC;SACH;aAAM;YACL,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjE,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;SAC5D;QAED,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC;YACnE,EAAE,EAAE;YACJ,IAAI,CAAC,CAAC,aAAa,YAAY,0BAAU,CAAC,EAAE;gBAC1C,oEAAoE;gBACpE,0CAA0C;gBAC1C,IAAA,kBAAM,EAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAClE;YACD,WAAW,CACT,MAAM,EACN,aAAa,YAAY,0BAAU;gBACjC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,CAAE,CAC9D,CAAC;SACH;QAED,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,EAAE;YACnB,IAAI,CAAC,IAAI,qEAA6C,MAAM,CAAC,CAAC;SAC/D;QACD,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAEpC,wEAAwE;QACxE,SAAS;QACT,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE;gBACnC,sBAAsB,EAAE,IAAI;gBAC5B,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,IAAI;aACjB,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC;SAChD,CAAC,CAAC,KAAK,CAAC,oBAAU,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,4BAA4B,CAAC,QAAiB;QAC5C,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,KAAK,CAAC,EAAE;YACtC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;SACpC;IACH,CAAC;IAED,qBAAqB,GAAG,CACtB,cAAuC,EACvC,KAA8C,EAC9C,EAAE;QACF,MAAM,MAAM,GAAG,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAErE,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEzD,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QAED,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,2DAAwC,MAAM,CAAC,CAAC;IAC3D,CAAC,CAAC;CACH;AAlYD,kDAkYC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js
index 6223f89..76c1734 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Callback_id, _Callback_error, _Callback_deferred, _Callback_timer, _Callback_label, _CallbackRegistry_callbacks, _CallbackRegistry_idGenerator, _Connection_instances, _Connection_url, _Connection_transport, _Connection_delay, _Connection_timeout, _Connection_sessions, _Connection_closed, _Connection_manuallyAttached, _Connection_callbacks, _Connection_onClose, _CDPSessionImpl_sessionId, _CDPSessionImpl_targetType, _CDPSessionImpl_callbacks, _CDPSessionImpl_connection;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.isTargetClosedError = exports.CDPSessionImpl = exports.CDPSession = exports.CDPSessionEmittedEvents = exports.Connection = exports.CallbackRegistry = exports.Callback = exports.ConnectionEmittedEvents = void 0;
 const assert_js_1 = require("../util/assert.js");
@@ -57,56 +45,53 @@
  * @internal
  */
 class Callback {
+    #id;
+    #error = new Errors_js_1.ProtocolError();
+    #deferred = Deferred_js_1.Deferred.create();
+    #timer;
+    #label;
     constructor(id, label, timeout) {
-        _Callback_id.set(this, void 0);
-        _Callback_error.set(this, new Errors_js_1.ProtocolError());
-        _Callback_deferred.set(this, Deferred_js_1.Deferred.create());
-        _Callback_timer.set(this, void 0);
-        _Callback_label.set(this, void 0);
-        __classPrivateFieldSet(this, _Callback_id, id, "f");
-        __classPrivateFieldSet(this, _Callback_label, label, "f");
+        this.#id = id;
+        this.#label = label;
         if (timeout) {
-            __classPrivateFieldSet(this, _Callback_timer, setTimeout(() => {
-                __classPrivateFieldGet(this, _Callback_deferred, "f").reject(rewriteError(__classPrivateFieldGet(this, _Callback_error, "f"), `${label} timed out. Increase the 'protocolTimeout' setting in launch/connect calls for a higher timeout if needed.`));
-            }, timeout), "f");
+            this.#timer = setTimeout(() => {
+                this.#deferred.reject(rewriteError(this.#error, `${label} timed out. Increase the 'protocolTimeout' setting in launch/connect calls for a higher timeout if needed.`));
+            }, timeout);
         }
     }
     resolve(value) {
-        clearTimeout(__classPrivateFieldGet(this, _Callback_timer, "f"));
-        __classPrivateFieldGet(this, _Callback_deferred, "f").resolve(value);
+        clearTimeout(this.#timer);
+        this.#deferred.resolve(value);
     }
     reject(error) {
-        clearTimeout(__classPrivateFieldGet(this, _Callback_timer, "f"));
-        __classPrivateFieldGet(this, _Callback_deferred, "f").reject(error);
+        clearTimeout(this.#timer);
+        this.#deferred.reject(error);
     }
     get id() {
-        return __classPrivateFieldGet(this, _Callback_id, "f");
+        return this.#id;
     }
     get promise() {
-        return __classPrivateFieldGet(this, _Callback_deferred, "f");
+        return this.#deferred;
     }
     get error() {
-        return __classPrivateFieldGet(this, _Callback_error, "f");
+        return this.#error;
     }
     get label() {
-        return __classPrivateFieldGet(this, _Callback_label, "f");
+        return this.#label;
     }
 }
 exports.Callback = Callback;
-_Callback_id = new WeakMap(), _Callback_error = new WeakMap(), _Callback_deferred = new WeakMap(), _Callback_timer = new WeakMap(), _Callback_label = new WeakMap();
 /**
  * Manages callbacks and their IDs for the protocol request/response communication.
  *
  * @internal
  */
 class CallbackRegistry {
-    constructor() {
-        _CallbackRegistry_callbacks.set(this, new Map());
-        _CallbackRegistry_idGenerator.set(this, createIncrementalIdGenerator());
-    }
+    #callbacks = new Map();
+    #idGenerator = createIncrementalIdGenerator();
     create(label, timeout, request) {
-        const callback = new Callback(__classPrivateFieldGet(this, _CallbackRegistry_idGenerator, "f").call(this), label, timeout);
-        __classPrivateFieldGet(this, _CallbackRegistry_callbacks, "f").set(callback.id, callback);
+        const callback = new Callback(this.#idGenerator(), label, timeout);
+        this.#callbacks.set(callback.id, callback);
         try {
             request(callback.id);
         }
@@ -117,18 +102,18 @@
                 .valueOrThrow()
                 .catch(util_js_1.debugError)
                 .finally(() => {
-                __classPrivateFieldGet(this, _CallbackRegistry_callbacks, "f").delete(callback.id);
+                this.#callbacks.delete(callback.id);
             });
             callback.reject(error);
             throw error;
         }
         // Must only have sync code up until here.
         return callback.promise.valueOrThrow().finally(() => {
-            __classPrivateFieldGet(this, _CallbackRegistry_callbacks, "f").delete(callback.id);
+            this.#callbacks.delete(callback.id);
         });
     }
     reject(id, message, originalMessage) {
-        const callback = __classPrivateFieldGet(this, _CallbackRegistry_callbacks, "f").get(id);
+        const callback = this.#callbacks.get(id);
         if (!callback) {
             return;
         }
@@ -141,71 +126,69 @@
         callback.reject(rewriteError(error, `Protocol error (${callback.label}): ${message}`, originalMessage));
     }
     resolve(id, value) {
-        const callback = __classPrivateFieldGet(this, _CallbackRegistry_callbacks, "f").get(id);
+        const callback = this.#callbacks.get(id);
         if (!callback) {
             return;
         }
         callback.resolve(value);
     }
     clear() {
-        for (const callback of __classPrivateFieldGet(this, _CallbackRegistry_callbacks, "f").values()) {
+        for (const callback of this.#callbacks.values()) {
             // TODO: probably we can accept error messages as params.
             this._reject(callback, new Errors_js_1.TargetCloseError('Target closed'));
         }
-        __classPrivateFieldGet(this, _CallbackRegistry_callbacks, "f").clear();
+        this.#callbacks.clear();
     }
 }
 exports.CallbackRegistry = CallbackRegistry;
-_CallbackRegistry_callbacks = new WeakMap(), _CallbackRegistry_idGenerator = new WeakMap();
 /**
  * @public
  */
 class Connection extends EventEmitter_js_1.EventEmitter {
+    #url;
+    #transport;
+    #delay;
+    #timeout;
+    #sessions = new Map();
+    #closed = false;
+    #manuallyAttached = new Set();
+    #callbacks = new CallbackRegistry();
     constructor(url, transport, delay = 0, timeout) {
         super();
-        _Connection_instances.add(this);
-        _Connection_url.set(this, void 0);
-        _Connection_transport.set(this, void 0);
-        _Connection_delay.set(this, void 0);
-        _Connection_timeout.set(this, void 0);
-        _Connection_sessions.set(this, new Map());
-        _Connection_closed.set(this, false);
-        _Connection_manuallyAttached.set(this, new Set());
-        _Connection_callbacks.set(this, new CallbackRegistry());
-        __classPrivateFieldSet(this, _Connection_url, url, "f");
-        __classPrivateFieldSet(this, _Connection_delay, delay, "f");
-        __classPrivateFieldSet(this, _Connection_timeout, timeout ?? 180000, "f");
-        __classPrivateFieldSet(this, _Connection_transport, transport, "f");
-        __classPrivateFieldGet(this, _Connection_transport, "f").onmessage = this.onMessage.bind(this);
-        __classPrivateFieldGet(this, _Connection_transport, "f").onclose = __classPrivateFieldGet(this, _Connection_instances, "m", _Connection_onClose).bind(this);
+        this.#url = url;
+        this.#delay = delay;
+        this.#timeout = timeout ?? 180000;
+        this.#transport = transport;
+        this.#transport.onmessage = this.onMessage.bind(this);
+        this.#transport.onclose = this.#onClose.bind(this);
     }
     static fromSession(session) {
         return session.connection();
     }
     get timeout() {
-        return __classPrivateFieldGet(this, _Connection_timeout, "f");
+        return this.#timeout;
     }
     /**
      * @internal
      */
     get _closed() {
-        return __classPrivateFieldGet(this, _Connection_closed, "f");
+        return this.#closed;
     }
     /**
      * @internal
      */
     get _sessions() {
-        return __classPrivateFieldGet(this, _Connection_sessions, "f");
+        return this.#sessions;
     }
     /**
      * @param sessionId - The session id
      * @returns The current CDP session if it exists
      */
     session(sessionId) {
-        return __classPrivateFieldGet(this, _Connection_sessions, "f").get(sessionId) || null;
+        return this.#sessions.get(sessionId) || null;
     }
     url() {
-        return __classPrivateFieldGet(this, _Connection_url, "f");
+        return this.#url;
     }
     send(method, ...paramArgs) {
         // There is only ever 1 param arg passed, but the Protocol defines it as an
@@ -215,13 +198,13 @@
         // type-inference.
         // So now we check if there are any params or not and deal with them accordingly.
         const params = paramArgs.length ? paramArgs[0] : undefined;
-        return this._rawSend(__classPrivateFieldGet(this, _Connection_callbacks, "f"), method, params);
+        return this._rawSend(this.#callbacks, method, params);
     }
     /**
      * @internal
      */
     _rawSend(callbacks, method, params, sessionId) {
-        return callbacks.create(method, __classPrivateFieldGet(this, _Connection_timeout, "f"), id => {
+        return callbacks.create(method, this.#timeout, id => {
             const stringifiedMessage = JSON.stringify({
                 method,
                 params,
@@ -229,7 +212,7 @@
                 sessionId,
             });
             debugProtocolSend(stringifiedMessage);
-            __classPrivateFieldGet(this, _Connection_transport, "f").send(stringifiedMessage);
+            this.#transport.send(stringifiedMessage);
         });
     }
     /**
@@ -242,9 +225,9 @@
      * @internal
      */
     async onMessage(message) {
-        if (__classPrivateFieldGet(this, _Connection_delay, "f")) {
+        if (this.#delay) {
             await new Promise(f => {
-                return setTimeout(f, __classPrivateFieldGet(this, _Connection_delay, "f"));
+                return setTimeout(f, this.#delay);
             });
         }
         debugProtocolReceive(message);
@@ -252,66 +235,80 @@
         if (object.method === 'Target.attachedToTarget') {
             const sessionId = object.params.sessionId;
             const session = new CDPSessionImpl(this, object.params.targetInfo.type, sessionId);
-            __classPrivateFieldGet(this, _Connection_sessions, "f").set(sessionId, session);
+            this.#sessions.set(sessionId, session);
             this.emit('sessionattached', session);
-            const parentSession = __classPrivateFieldGet(this, _Connection_sessions, "f").get(object.sessionId);
+            const parentSession = this.#sessions.get(object.sessionId);
             if (parentSession) {
                 parentSession.emit('sessionattached', session);
             }
         }
         else if (object.method === 'Target.detachedFromTarget') {
-            const session = __classPrivateFieldGet(this, _Connection_sessions, "f").get(object.params.sessionId);
+            const session = this.#sessions.get(object.params.sessionId);
             if (session) {
                 session._onClosed();
-                __classPrivateFieldGet(this, _Connection_sessions, "f").delete(object.params.sessionId);
+                this.#sessions.delete(object.params.sessionId);
                 this.emit('sessiondetached', session);
-                const parentSession = __classPrivateFieldGet(this, _Connection_sessions, "f").get(object.sessionId);
+                const parentSession = this.#sessions.get(object.sessionId);
                 if (parentSession) {
                     parentSession.emit('sessiondetached', session);
                 }
             }
         }
         if (object.sessionId) {
-            const session = __classPrivateFieldGet(this, _Connection_sessions, "f").get(object.sessionId);
+            const session = this.#sessions.get(object.sessionId);
             if (session) {
                 session._onMessage(object);
             }
         }
         else if (object.id) {
             if (object.error) {
-                __classPrivateFieldGet(this, _Connection_callbacks, "f").reject(object.id, createProtocolErrorMessage(object), object.error.message);
+                this.#callbacks.reject(object.id, createProtocolErrorMessage(object), object.error.message);
             }
             else {
-                __classPrivateFieldGet(this, _Connection_callbacks, "f").resolve(object.id, object.result);
+                this.#callbacks.resolve(object.id, object.result);
             }
         }
         else {
             this.emit(object.method, object.params);
         }
     }
+    #onClose() {
+        if (this.#closed) {
+            return;
+        }
+        this.#closed = true;
+        this.#transport.onmessage = undefined;
+        this.#transport.onclose = undefined;
+        this.#callbacks.clear();
+        for (const session of this.#sessions.values()) {
+            session._onClosed();
+        }
+        this.#sessions.clear();
+        this.emit(exports.ConnectionEmittedEvents.Disconnected);
+    }
     dispose() {
-        __classPrivateFieldGet(this, _Connection_instances, "m", _Connection_onClose).call(this);
-        __classPrivateFieldGet(this, _Connection_transport, "f").close();
+        this.#onClose();
+        this.#transport.close();
     }
     /**
      * @internal
      */
     isAutoAttached(targetId) {
-        return !__classPrivateFieldGet(this, _Connection_manuallyAttached, "f").has(targetId);
+        return !this.#manuallyAttached.has(targetId);
     }
     /**
      * @internal
      */
     async _createSession(targetInfo, isAutoAttachEmulated = true) {
         if (!isAutoAttachEmulated) {
-            __classPrivateFieldGet(this, _Connection_manuallyAttached, "f").add(targetInfo.targetId);
+            this.#manuallyAttached.add(targetInfo.targetId);
         }
         const { sessionId } = await this.send('Target.attachToTarget', {
             targetId: targetInfo.targetId,
             flatten: true,
         });
-        __classPrivateFieldGet(this, _Connection_manuallyAttached, "f").delete(targetInfo.targetId);
-        const session = __classPrivateFieldGet(this, _Connection_sessions, "f").get(sessionId);
+        this.#manuallyAttached.delete(targetInfo.targetId);
+        const session = this.#sessions.get(sessionId);
         if (!session) {
             throw new Error('CDPSession creation failed.');
         }
@@ -326,20 +323,6 @@
     }
 }
 exports.Connection = Connection;
-_Connection_url = new WeakMap(), _Connection_transport = new WeakMap(), _Connection_delay = new WeakMap(), _Connection_timeout = new WeakMap(), _Connection_sessions = new WeakMap(), _Connection_closed = new WeakMap(), _Connection_manuallyAttached = new WeakMap(), _Connection_callbacks = new WeakMap(), _Connection_instances = new WeakSet(), _Connection_onClose = function _Connection_onClose() {
-    if (__classPrivateFieldGet(this, _Connection_closed, "f")) {
-        return;
-    }
-    __classPrivateFieldSet(this, _Connection_closed, true, "f");
-    __classPrivateFieldGet(this, _Connection_transport, "f").onmessage = undefined;
-    __classPrivateFieldGet(this, _Connection_transport, "f").onclose = undefined;
-    __classPrivateFieldGet(this, _Connection_callbacks, "f").clear();
-    for (const session of __classPrivateFieldGet(this, _Connection_sessions, "f").values()) {
-        session._onClosed();
-    }
-    __classPrivateFieldGet(this, _Connection_sessions, "f").clear();
-    this.emit(exports.ConnectionEmittedEvents.Disconnected);
-};
 /**
  * Internal events that the CDPSession class emits.
  *
@@ -408,29 +391,29 @@
  * @internal
  */
 class CDPSessionImpl extends CDPSession {
+    #sessionId;
+    #targetType;
+    #callbacks = new CallbackRegistry();
+    #connection;
     /**
      * @internal
      */
     constructor(connection, targetType, sessionId) {
         super();
-        _CDPSessionImpl_sessionId.set(this, void 0);
-        _CDPSessionImpl_targetType.set(this, void 0);
-        _CDPSessionImpl_callbacks.set(this, new CallbackRegistry());
-        _CDPSessionImpl_connection.set(this, void 0);
-        __classPrivateFieldSet(this, _CDPSessionImpl_connection, connection, "f");
-        __classPrivateFieldSet(this, _CDPSessionImpl_targetType, targetType, "f");
-        __classPrivateFieldSet(this, _CDPSessionImpl_sessionId, sessionId, "f");
+        this.#connection = connection;
+        this.#targetType = targetType;
+        this.#sessionId = sessionId;
     }
     connection() {
-        return __classPrivateFieldGet(this, _CDPSessionImpl_connection, "f");
+        return this.#connection;
     }
     send(method, ...paramArgs) {
-        if (!__classPrivateFieldGet(this, _CDPSessionImpl_connection, "f")) {
-            return Promise.reject(new Errors_js_1.TargetCloseError(`Protocol error (${method}): Session closed. Most likely the ${__classPrivateFieldGet(this, _CDPSessionImpl_targetType, "f")} has been closed.`));
+        if (!this.#connection) {
+            return Promise.reject(new Errors_js_1.TargetCloseError(`Protocol error (${method}): Session closed. Most likely the ${this.#targetType} has been closed.`));
         }
         // See the comment in Connection#send explaining why we do this.
         const params = paramArgs.length ? paramArgs[0] : undefined;
-        return __classPrivateFieldGet(this, _CDPSessionImpl_connection, "f")._rawSend(__classPrivateFieldGet(this, _CDPSessionImpl_callbacks, "f"), method, params, __classPrivateFieldGet(this, _CDPSessionImpl_sessionId, "f"));
+        return this.#connection._rawSend(this.#callbacks, method, params, this.#sessionId);
     }
     /**
      * @internal
@@ -438,10 +421,10 @@
     _onMessage(object) {
         if (object.id) {
             if (object.error) {
-                __classPrivateFieldGet(this, _CDPSessionImpl_callbacks, "f").reject(object.id, createProtocolErrorMessage(object), object.error.message);
+                this.#callbacks.reject(object.id, createProtocolErrorMessage(object), object.error.message);
             }
             else {
-                __classPrivateFieldGet(this, _CDPSessionImpl_callbacks, "f").resolve(object.id, object.result);
+                this.#callbacks.resolve(object.id, object.result);
             }
         }
         else {
@@ -454,30 +437,29 @@
      * won't emit any events and can't be used to send messages.
      */
     async detach() {
-        if (!__classPrivateFieldGet(this, _CDPSessionImpl_connection, "f")) {
-            throw new Error(`Session already detached. Most likely the ${__classPrivateFieldGet(this, _CDPSessionImpl_targetType, "f")} has been closed.`);
+        if (!this.#connection) {
+            throw new Error(`Session already detached. Most likely the ${this.#targetType} has been closed.`);
         }
-        await __classPrivateFieldGet(this, _CDPSessionImpl_connection, "f").send('Target.detachFromTarget', {
-            sessionId: __classPrivateFieldGet(this, _CDPSessionImpl_sessionId, "f"),
+        await this.#connection.send('Target.detachFromTarget', {
+            sessionId: this.#sessionId,
         });
     }
     /**
      * @internal
      */
     _onClosed() {
-        __classPrivateFieldGet(this, _CDPSessionImpl_callbacks, "f").clear();
-        __classPrivateFieldSet(this, _CDPSessionImpl_connection, undefined, "f");
+        this.#callbacks.clear();
+        this.#connection = undefined;
         this.emit(exports.CDPSessionEmittedEvents.Disconnected);
     }
     /**
      * Returns the session's id.
      */
     id() {
-        return __classPrivateFieldGet(this, _CDPSessionImpl_sessionId, "f");
+        return this.#sessionId;
     }
 }
 exports.CDPSessionImpl = CDPSessionImpl;
-_CDPSessionImpl_sessionId = new WeakMap(), _CDPSessionImpl_targetType = new WeakMap(), _CDPSessionImpl_callbacks = new WeakMap(), _CDPSessionImpl_connection = new WeakMap();
 function createProtocolErrorMessage(object) {
     let message = `${object.error.message}`;
     // TODO: remove the type checks when we stop connecting to BiDi with a CDP
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js.map
index c1999f0..4fc2cff 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js.map
@@ -1 +1 @@
-{"version":3,"file":"Connection.js","sourceRoot":"","sources":["../../../../src/common/Connection.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Connection.js","sourceRoot":"","sources":["../../../../src/common/Connection.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConsoleMessage.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConsoleMessage.js
index e84126e..c49d94f 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConsoleMessage.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConsoleMessage.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _ConsoleMessage_type, _ConsoleMessage_text, _ConsoleMessage_args, _ConsoleMessage_stackTraceLocations;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.ConsoleMessage = void 0;
 /**
@@ -33,50 +21,49 @@
  * @public
  */
 class ConsoleMessage {
+    #type;
+    #text;
+    #args;
+    #stackTraceLocations;
     /**
      * @public
      */
     constructor(type, text, args, stackTraceLocations) {
-        _ConsoleMessage_type.set(this, void 0);
-        _ConsoleMessage_text.set(this, void 0);
-        _ConsoleMessage_args.set(this, void 0);
-        _ConsoleMessage_stackTraceLocations.set(this, void 0);
-        __classPrivateFieldSet(this, _ConsoleMessage_type, type, "f");
-        __classPrivateFieldSet(this, _ConsoleMessage_text, text, "f");
-        __classPrivateFieldSet(this, _ConsoleMessage_args, args, "f");
-        __classPrivateFieldSet(this, _ConsoleMessage_stackTraceLocations, stackTraceLocations, "f");
+        this.#type = type;
+        this.#text = text;
+        this.#args = args;
+        this.#stackTraceLocations = stackTraceLocations;
     }
     /**
      * The type of the console message.
      */
     type() {
-        return __classPrivateFieldGet(this, _ConsoleMessage_type, "f");
+        return this.#type;
     }
     /**
      * The text of the console message.
      */
     text() {
-        return __classPrivateFieldGet(this, _ConsoleMessage_text, "f");
+        return this.#text;
     }
     /**
      * An array of arguments passed to the console.
      */
     args() {
-        return __classPrivateFieldGet(this, _ConsoleMessage_args, "f");
+        return this.#args;
     }
     /**
      * The location of the console message.
      */
     location() {
-        return __classPrivateFieldGet(this, _ConsoleMessage_stackTraceLocations, "f")[0] ?? {};
+        return this.#stackTraceLocations[0] ?? {};
     }
     /**
      * The array of locations on the stack of the console message.
      */
     stackTrace() {
-        return __classPrivateFieldGet(this, _ConsoleMessage_stackTraceLocations, "f");
+        return this.#stackTraceLocations;
     }
 }
 exports.ConsoleMessage = ConsoleMessage;
-_ConsoleMessage_type = new WeakMap(), _ConsoleMessage_text = new WeakMap(), _ConsoleMessage_args = new WeakMap(), _ConsoleMessage_stackTraceLocations = new WeakMap();
 //# sourceMappingURL=ConsoleMessage.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConsoleMessage.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConsoleMessage.js.map
index e4bcfa8..c37b429 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConsoleMessage.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConsoleMessage.js.map
@@ -1 +1 @@
-{"version":3,"file":"ConsoleMessage.js","sourceRoot":"","sources":["../../../../src/common/ConsoleMessage.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;AAiDH;;;GAGG;AACH,MAAa,cAAc;IAMzB;;OAEG;IACH,YACE,IAAwB,EACxB,IAAY,EACZ,IAAgB,EAChB,mBAA6C;QAZ/C,uCAA0B;QAC1B,uCAAc;QACd,uCAAkB;QAClB,sDAA+C;QAW7C,uBAAA,IAAI,wBAAS,IAAI,MAAA,CAAC;QAClB,uBAAA,IAAI,wBAAS,IAAI,MAAA,CAAC;QAClB,uBAAA,IAAI,wBAAS,IAAI,MAAA,CAAC;QAClB,uBAAA,IAAI,uCAAwB,mBAAmB,MAAA,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,uBAAA,IAAI,4BAAM,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,uBAAA,IAAI,4BAAM,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,uBAAA,IAAI,4BAAM,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,uBAAA,IAAI,2CAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,uBAAA,IAAI,2CAAqB,CAAC;IACnC,CAAC;CACF;AAvDD,wCAuDC"}
\ No newline at end of file
+{"version":3,"file":"ConsoleMessage.js","sourceRoot":"","sources":["../../../../src/common/ConsoleMessage.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAiDH;;;GAGG;AACH,MAAa,cAAc;IACzB,KAAK,CAAqB;IAC1B,KAAK,CAAS;IACd,KAAK,CAAa;IAClB,oBAAoB,CAA2B;IAE/C;;OAEG;IACH,YACE,IAAwB,EACxB,IAAY,EACZ,IAAgB,EAChB,mBAA6C;QAE7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;CACF;AAvDD,wCAuDC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.js
index 9e50840..0b90890 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Coverage_jsCoverage, _Coverage_cssCoverage, _JSCoverage_instances, _JSCoverage_client, _JSCoverage_enabled, _JSCoverage_scriptURLs, _JSCoverage_scriptSources, _JSCoverage_eventListeners, _JSCoverage_resetOnNavigation, _JSCoverage_reportAnonymousScripts, _JSCoverage_includeRawScriptCoverage, _JSCoverage_onExecutionContextsCleared, _JSCoverage_onScriptParsed, _CSSCoverage_instances, _CSSCoverage_client, _CSSCoverage_enabled, _CSSCoverage_stylesheetURLs, _CSSCoverage_stylesheetSources, _CSSCoverage_eventListeners, _CSSCoverage_resetOnNavigation, _CSSCoverage_onExecutionContextsCleared, _CSSCoverage_onStyleSheet;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.CSSCoverage = exports.JSCoverage = exports.Coverage = void 0;
 const assert_js_1 = require("../util/assert.js");
@@ -68,11 +56,11 @@
  * @public
  */
 class Coverage {
+    #jsCoverage;
+    #cssCoverage;
     constructor(client) {
-        _Coverage_jsCoverage.set(this, void 0);
-        _Coverage_cssCoverage.set(this, void 0);
-        __classPrivateFieldSet(this, _Coverage_jsCoverage, new JSCoverage(client), "f");
-        __classPrivateFieldSet(this, _Coverage_cssCoverage, new CSSCoverage(client), "f");
+        this.#jsCoverage = new JSCoverage(client);
+        this.#cssCoverage = new CSSCoverage(client);
     }
     /**
      * @param options - Set of configurable options for coverage defaults to
@@ -88,7 +76,7 @@
      * comment is present, in which case that will the be URL).
      */
     async startJSCoverage(options = {}) {
-        return await __classPrivateFieldGet(this, _Coverage_jsCoverage, "f").start(options);
+        return await this.#jsCoverage.start(options);
     }
     /**
      * Promise that resolves to the array of coverage reports for
@@ -99,7 +87,7 @@
      * However, scripts with sourceURLs are reported.
      */
     async stopJSCoverage() {
-        return await __classPrivateFieldGet(this, _Coverage_jsCoverage, "f").stop();
+        return await this.#jsCoverage.stop();
     }
     /**
      * @param options - Set of configurable options for coverage, defaults to
@@ -107,7 +95,7 @@
      * @returns Promise that resolves when coverage is started.
      */
     async startCSSCoverage(options = {}) {
-        return await __classPrivateFieldGet(this, _Coverage_cssCoverage, "f").start(options);
+        return await this.#cssCoverage.start(options);
     }
     /**
      * Promise that resolves to the array of coverage reports
@@ -118,68 +106,94 @@
      * without sourceURLs.
      */
     async stopCSSCoverage() {
-        return await __classPrivateFieldGet(this, _Coverage_cssCoverage, "f").stop();
+        return await this.#cssCoverage.stop();
     }
 }
 exports.Coverage = Coverage;
-_Coverage_jsCoverage = new WeakMap(), _Coverage_cssCoverage = new WeakMap();
 /**
  * @public
  */
 class JSCoverage {
+    #client;
+    #enabled = false;
+    #scriptURLs = new Map();
+    #scriptSources = new Map();
+    #eventListeners = [];
+    #resetOnNavigation = false;
+    #reportAnonymousScripts = false;
+    #includeRawScriptCoverage = false;
     constructor(client) {
-        _JSCoverage_instances.add(this);
-        _JSCoverage_client.set(this, void 0);
-        _JSCoverage_enabled.set(this, false);
-        _JSCoverage_scriptURLs.set(this, new Map());
-        _JSCoverage_scriptSources.set(this, new Map());
-        _JSCoverage_eventListeners.set(this, []);
-        _JSCoverage_resetOnNavigation.set(this, false);
-        _JSCoverage_reportAnonymousScripts.set(this, false);
-        _JSCoverage_includeRawScriptCoverage.set(this, false);
-        __classPrivateFieldSet(this, _JSCoverage_client, client, "f");
+        this.#client = client;
     }
     async start(options = {}) {
-        (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _JSCoverage_enabled, "f"), 'JSCoverage is already enabled');
+        (0, assert_js_1.assert)(!this.#enabled, 'JSCoverage is already enabled');
         const { resetOnNavigation = true, reportAnonymousScripts = false, includeRawScriptCoverage = false, useBlockCoverage = true, } = options;
-        __classPrivateFieldSet(this, _JSCoverage_resetOnNavigation, resetOnNavigation, "f");
-        __classPrivateFieldSet(this, _JSCoverage_reportAnonymousScripts, reportAnonymousScripts, "f");
-        __classPrivateFieldSet(this, _JSCoverage_includeRawScriptCoverage, includeRawScriptCoverage, "f");
-        __classPrivateFieldSet(this, _JSCoverage_enabled, true, "f");
-        __classPrivateFieldGet(this, _JSCoverage_scriptURLs, "f").clear();
-        __classPrivateFieldGet(this, _JSCoverage_scriptSources, "f").clear();
-        __classPrivateFieldSet(this, _JSCoverage_eventListeners, [
-            (0, util_js_1.addEventListener)(__classPrivateFieldGet(this, _JSCoverage_client, "f"), 'Debugger.scriptParsed', __classPrivateFieldGet(this, _JSCoverage_instances, "m", _JSCoverage_onScriptParsed).bind(this)),
-            (0, util_js_1.addEventListener)(__classPrivateFieldGet(this, _JSCoverage_client, "f"), 'Runtime.executionContextsCleared', __classPrivateFieldGet(this, _JSCoverage_instances, "m", _JSCoverage_onExecutionContextsCleared).bind(this)),
-        ], "f");
+        this.#resetOnNavigation = resetOnNavigation;
+        this.#reportAnonymousScripts = reportAnonymousScripts;
+        this.#includeRawScriptCoverage = includeRawScriptCoverage;
+        this.#enabled = true;
+        this.#scriptURLs.clear();
+        this.#scriptSources.clear();
+        this.#eventListeners = [
+            (0, util_js_1.addEventListener)(this.#client, 'Debugger.scriptParsed', this.#onScriptParsed.bind(this)),
+            (0, util_js_1.addEventListener)(this.#client, 'Runtime.executionContextsCleared', this.#onExecutionContextsCleared.bind(this)),
+        ];
         await Promise.all([
-            __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Profiler.enable'),
-            __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Profiler.startPreciseCoverage', {
-                callCount: __classPrivateFieldGet(this, _JSCoverage_includeRawScriptCoverage, "f"),
+            this.#client.send('Profiler.enable'),
+            this.#client.send('Profiler.startPreciseCoverage', {
+                callCount: this.#includeRawScriptCoverage,
                 detailed: useBlockCoverage,
             }),
-            __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Debugger.enable'),
-            __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Debugger.setSkipAllPauses', { skip: true }),
+            this.#client.send('Debugger.enable'),
+            this.#client.send('Debugger.setSkipAllPauses', { skip: true }),
         ]);
     }
+    #onExecutionContextsCleared() {
+        if (!this.#resetOnNavigation) {
+            return;
+        }
+        this.#scriptURLs.clear();
+        this.#scriptSources.clear();
+    }
+    async #onScriptParsed(event) {
+        // Ignore puppeteer-injected scripts
+        if (util_js_1.PuppeteerURL.isPuppeteerURL(event.url)) {
+            return;
+        }
+        // Ignore other anonymous scripts unless the reportAnonymousScripts option is true.
+        if (!event.url && !this.#reportAnonymousScripts) {
+            return;
+        }
+        try {
+            const response = await this.#client.send('Debugger.getScriptSource', {
+                scriptId: event.scriptId,
+            });
+            this.#scriptURLs.set(event.scriptId, event.url);
+            this.#scriptSources.set(event.scriptId, response.scriptSource);
+        }
+        catch (error) {
+            // This might happen if the page has already navigated away.
+            (0, util_js_1.debugError)(error);
+        }
+    }
     async stop() {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _JSCoverage_enabled, "f"), 'JSCoverage is not enabled');
-        __classPrivateFieldSet(this, _JSCoverage_enabled, false, "f");
+        (0, assert_js_1.assert)(this.#enabled, 'JSCoverage is not enabled');
+        this.#enabled = false;
         const result = await Promise.all([
-            __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Profiler.takePreciseCoverage'),
-            __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Profiler.stopPreciseCoverage'),
-            __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Profiler.disable'),
-            __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Debugger.disable'),
+            this.#client.send('Profiler.takePreciseCoverage'),
+            this.#client.send('Profiler.stopPreciseCoverage'),
+            this.#client.send('Profiler.disable'),
+            this.#client.send('Debugger.disable'),
         ]);
-        (0, util_js_1.removeEventListeners)(__classPrivateFieldGet(this, _JSCoverage_eventListeners, "f"));
+        (0, util_js_1.removeEventListeners)(this.#eventListeners);
         const coverage = [];
         const profileResponse = result[0];
         for (const entry of profileResponse.result) {
-            let url = __classPrivateFieldGet(this, _JSCoverage_scriptURLs, "f").get(entry.scriptId);
-            if (!url && __classPrivateFieldGet(this, _JSCoverage_reportAnonymousScripts, "f")) {
+            let url = this.#scriptURLs.get(entry.scriptId);
+            if (!url && this.#reportAnonymousScripts) {
                 url = 'debugger://VM' + entry.scriptId;
             }
-            const text = __classPrivateFieldGet(this, _JSCoverage_scriptSources, "f").get(entry.scriptId);
+            const text = this.#scriptSources.get(entry.scriptId);
             if (text === undefined || url === undefined) {
                 continue;
             }
@@ -188,7 +202,7 @@
                 flattenRanges.push(...func.ranges);
             }
             const ranges = convertToDisjointRanges(flattenRanges);
-            if (!__classPrivateFieldGet(this, _JSCoverage_includeRawScriptCoverage, "f")) {
+            if (!this.#includeRawScriptCoverage) {
                 coverage.push({ url, ranges, text });
             }
             else {
@@ -199,73 +213,70 @@
     }
 }
 exports.JSCoverage = JSCoverage;
-_JSCoverage_client = new WeakMap(), _JSCoverage_enabled = new WeakMap(), _JSCoverage_scriptURLs = new WeakMap(), _JSCoverage_scriptSources = new WeakMap(), _JSCoverage_eventListeners = new WeakMap(), _JSCoverage_resetOnNavigation = new WeakMap(), _JSCoverage_reportAnonymousScripts = new WeakMap(), _JSCoverage_includeRawScriptCoverage = new WeakMap(), _JSCoverage_instances = new WeakSet(), _JSCoverage_onExecutionContextsCleared = function _JSCoverage_onExecutionContextsCleared() {
-    if (!__classPrivateFieldGet(this, _JSCoverage_resetOnNavigation, "f")) {
-        return;
-    }
-    __classPrivateFieldGet(this, _JSCoverage_scriptURLs, "f").clear();
-    __classPrivateFieldGet(this, _JSCoverage_scriptSources, "f").clear();
-}, _JSCoverage_onScriptParsed = async function _JSCoverage_onScriptParsed(event) {
-    // Ignore puppeteer-injected scripts
-    if (util_js_1.PuppeteerURL.isPuppeteerURL(event.url)) {
-        return;
-    }
-    // Ignore other anonymous scripts unless the reportAnonymousScripts option is true.
-    if (!event.url && !__classPrivateFieldGet(this, _JSCoverage_reportAnonymousScripts, "f")) {
-        return;
-    }
-    try {
-        const response = await __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Debugger.getScriptSource', {
-            scriptId: event.scriptId,
-        });
-        __classPrivateFieldGet(this, _JSCoverage_scriptURLs, "f").set(event.scriptId, event.url);
-        __classPrivateFieldGet(this, _JSCoverage_scriptSources, "f").set(event.scriptId, response.scriptSource);
-    }
-    catch (error) {
-        // This might happen if the page has already navigated away.
-        (0, util_js_1.debugError)(error);
-    }
-};
 /**
  * @public
  */
 class CSSCoverage {
+    #client;
+    #enabled = false;
+    #stylesheetURLs = new Map();
+    #stylesheetSources = new Map();
+    #eventListeners = [];
+    #resetOnNavigation = false;
     constructor(client) {
-        _CSSCoverage_instances.add(this);
-        _CSSCoverage_client.set(this, void 0);
-        _CSSCoverage_enabled.set(this, false);
-        _CSSCoverage_stylesheetURLs.set(this, new Map());
-        _CSSCoverage_stylesheetSources.set(this, new Map());
-        _CSSCoverage_eventListeners.set(this, []);
-        _CSSCoverage_resetOnNavigation.set(this, false);
-        __classPrivateFieldSet(this, _CSSCoverage_client, client, "f");
+        this.#client = client;
     }
     async start(options = {}) {
-        (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _CSSCoverage_enabled, "f"), 'CSSCoverage is already enabled');
+        (0, assert_js_1.assert)(!this.#enabled, 'CSSCoverage is already enabled');
         const { resetOnNavigation = true } = options;
-        __classPrivateFieldSet(this, _CSSCoverage_resetOnNavigation, resetOnNavigation, "f");
-        __classPrivateFieldSet(this, _CSSCoverage_enabled, true, "f");
-        __classPrivateFieldGet(this, _CSSCoverage_stylesheetURLs, "f").clear();
-        __classPrivateFieldGet(this, _CSSCoverage_stylesheetSources, "f").clear();
-        __classPrivateFieldSet(this, _CSSCoverage_eventListeners, [
-            (0, util_js_1.addEventListener)(__classPrivateFieldGet(this, _CSSCoverage_client, "f"), 'CSS.styleSheetAdded', __classPrivateFieldGet(this, _CSSCoverage_instances, "m", _CSSCoverage_onStyleSheet).bind(this)),
-            (0, util_js_1.addEventListener)(__classPrivateFieldGet(this, _CSSCoverage_client, "f"), 'Runtime.executionContextsCleared', __classPrivateFieldGet(this, _CSSCoverage_instances, "m", _CSSCoverage_onExecutionContextsCleared).bind(this)),
-        ], "f");
+        this.#resetOnNavigation = resetOnNavigation;
+        this.#enabled = true;
+        this.#stylesheetURLs.clear();
+        this.#stylesheetSources.clear();
+        this.#eventListeners = [
+            (0, util_js_1.addEventListener)(this.#client, 'CSS.styleSheetAdded', this.#onStyleSheet.bind(this)),
+            (0, util_js_1.addEventListener)(this.#client, 'Runtime.executionContextsCleared', this.#onExecutionContextsCleared.bind(this)),
+        ];
         await Promise.all([
-            __classPrivateFieldGet(this, _CSSCoverage_client, "f").send('DOM.enable'),
-            __classPrivateFieldGet(this, _CSSCoverage_client, "f").send('CSS.enable'),
-            __classPrivateFieldGet(this, _CSSCoverage_client, "f").send('CSS.startRuleUsageTracking'),
+            this.#client.send('DOM.enable'),
+            this.#client.send('CSS.enable'),
+            this.#client.send('CSS.startRuleUsageTracking'),
         ]);
     }
+    #onExecutionContextsCleared() {
+        if (!this.#resetOnNavigation) {
+            return;
+        }
+        this.#stylesheetURLs.clear();
+        this.#stylesheetSources.clear();
+    }
+    async #onStyleSheet(event) {
+        const header = event.header;
+        // Ignore anonymous scripts
+        if (!header.sourceURL) {
+            return;
+        }
+        try {
+            const response = await this.#client.send('CSS.getStyleSheetText', {
+                styleSheetId: header.styleSheetId,
+            });
+            this.#stylesheetURLs.set(header.styleSheetId, header.sourceURL);
+            this.#stylesheetSources.set(header.styleSheetId, response.text);
+        }
+        catch (error) {
+            // This might happen if the page has already navigated away.
+            (0, util_js_1.debugError)(error);
+        }
+    }
     async stop() {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _CSSCoverage_enabled, "f"), 'CSSCoverage is not enabled');
-        __classPrivateFieldSet(this, _CSSCoverage_enabled, false, "f");
-        const ruleTrackingResponse = await __classPrivateFieldGet(this, _CSSCoverage_client, "f").send('CSS.stopRuleUsageTracking');
+        (0, assert_js_1.assert)(this.#enabled, 'CSSCoverage is not enabled');
+        this.#enabled = false;
+        const ruleTrackingResponse = await this.#client.send('CSS.stopRuleUsageTracking');
         await Promise.all([
-            __classPrivateFieldGet(this, _CSSCoverage_client, "f").send('CSS.disable'),
-            __classPrivateFieldGet(this, _CSSCoverage_client, "f").send('DOM.disable'),
+            this.#client.send('CSS.disable'),
+            this.#client.send('DOM.disable'),
         ]);
-        (0, util_js_1.removeEventListeners)(__classPrivateFieldGet(this, _CSSCoverage_eventListeners, "f"));
+        (0, util_js_1.removeEventListeners)(this.#eventListeners);
         // aggregate by styleSheetId
         const styleSheetIdToCoverage = new Map();
         for (const entry of ruleTrackingResponse.ruleUsage) {
@@ -281,10 +292,10 @@
             });
         }
         const coverage = [];
-        for (const styleSheetId of __classPrivateFieldGet(this, _CSSCoverage_stylesheetURLs, "f").keys()) {
-            const url = __classPrivateFieldGet(this, _CSSCoverage_stylesheetURLs, "f").get(styleSheetId);
+        for (const styleSheetId of this.#stylesheetURLs.keys()) {
+            const url = this.#stylesheetURLs.get(styleSheetId);
             (0, assert_js_1.assert)(typeof url !== 'undefined', `Stylesheet URL is undefined (styleSheetId=${styleSheetId})`);
-            const text = __classPrivateFieldGet(this, _CSSCoverage_stylesheetSources, "f").get(styleSheetId);
+            const text = this.#stylesheetSources.get(styleSheetId);
             (0, assert_js_1.assert)(typeof text !== 'undefined', `Stylesheet text is undefined (styleSheetId=${styleSheetId})`);
             const ranges = convertToDisjointRanges(styleSheetIdToCoverage.get(styleSheetId) || []);
             coverage.push({ url, ranges, text });
@@ -293,30 +304,6 @@
     }
 }
 exports.CSSCoverage = CSSCoverage;
-_CSSCoverage_client = new WeakMap(), _CSSCoverage_enabled = new WeakMap(), _CSSCoverage_stylesheetURLs = new WeakMap(), _CSSCoverage_stylesheetSources = new WeakMap(), _CSSCoverage_eventListeners = new WeakMap(), _CSSCoverage_resetOnNavigation = new WeakMap(), _CSSCoverage_instances = new WeakSet(), _CSSCoverage_onExecutionContextsCleared = function _CSSCoverage_onExecutionContextsCleared() {
-    if (!__classPrivateFieldGet(this, _CSSCoverage_resetOnNavigation, "f")) {
-        return;
-    }
-    __classPrivateFieldGet(this, _CSSCoverage_stylesheetURLs, "f").clear();
-    __classPrivateFieldGet(this, _CSSCoverage_stylesheetSources, "f").clear();
-}, _CSSCoverage_onStyleSheet = async function _CSSCoverage_onStyleSheet(event) {
-    const header = event.header;
-    // Ignore anonymous scripts
-    if (!header.sourceURL) {
-        return;
-    }
-    try {
-        const response = await __classPrivateFieldGet(this, _CSSCoverage_client, "f").send('CSS.getStyleSheetText', {
-            styleSheetId: header.styleSheetId,
-        });
-        __classPrivateFieldGet(this, _CSSCoverage_stylesheetURLs, "f").set(header.styleSheetId, header.sourceURL);
-        __classPrivateFieldGet(this, _CSSCoverage_stylesheetSources, "f").set(header.styleSheetId, response.text);
-    }
-    catch (error) {
-        // This might happen if the page has already navigated away.
-        (0, util_js_1.debugError)(error);
-    }
-};
 function convertToDisjointRanges(nestedRanges) {
     const points = [];
     for (const range of nestedRanges) {
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.js.map
index 3ee1c9e..bf567e2 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.js.map
@@ -1 +1 @@
-{"version":3,"file":"Coverage.js","sourceRoot":"","sources":["../../../../src/common/Coverage.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Coverage.js","sourceRoot":"","sources":["../../../../src/common/Coverage.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/CustomQueryHandler.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/CustomQueryHandler.js
index 9dd709c..415d93d 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/CustomQueryHandler.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/CustomQueryHandler.js
@@ -14,16 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
-    if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
-    return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
-};
-var _CustomQueryHandlerRegistry_handlers;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.clearCustomQueryHandlers = exports.customQueryHandlerNames = exports.unregisterCustomQueryHandler = exports.registerCustomQueryHandler = exports.customQueryHandlers = exports.CustomQueryHandlerRegistry = void 0;
 const assert_js_1 = require("../util/assert.js");
@@ -43,14 +33,12 @@
  * @internal
  */
 class CustomQueryHandlerRegistry {
-    constructor() {
-        _CustomQueryHandlerRegistry_handlers.set(this, new Map());
-    }
+    #handlers = new Map();
     /**
      * @internal
      */
     get(name) {
-        const handler = __classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f").get(name);
+        const handler = this.#handlers.get(name);
         return handler ? handler[1] : undefined;
     }
     /**
@@ -75,27 +63,24 @@
      * @internal
      */
     register(name, handler) {
-        var _a;
-        if (__classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f").has(name)) {
+        if (this.#handlers.has(name)) {
             throw new Error(`Cannot register over existing handler: ${name}`);
         }
-        (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f").has(name), `Cannot register over existing handler: ${name}`);
+        (0, assert_js_1.assert)(!this.#handlers.has(name), `Cannot register over existing handler: ${name}`);
         (0, assert_js_1.assert)(/^[a-zA-Z]+$/.test(name), `Custom query handler names may only contain [a-zA-Z]`);
         (0, assert_js_1.assert)(handler.queryAll || handler.queryOne, `At least one query method must be implemented.`);
-        const Handler = (_a = class extends QueryHandler_js_1.QueryHandler {
-            },
-            __setFunctionName(_a, "Handler"),
-            _a.querySelectorAll = (0, Function_js_1.interpolateFunction)((node, selector, PuppeteerUtil) => {
+        const Handler = class extends QueryHandler_js_1.QueryHandler {
+            static querySelectorAll = (0, Function_js_1.interpolateFunction)((node, selector, PuppeteerUtil) => {
                 return PuppeteerUtil.customQuerySelectors
                     .get(PLACEHOLDER('name'))
                     .querySelectorAll(node, selector);
-            }, { name: JSON.stringify(name) }),
-            _a.querySelector = (0, Function_js_1.interpolateFunction)((node, selector, PuppeteerUtil) => {
+            }, { name: JSON.stringify(name) });
+            static querySelector = (0, Function_js_1.interpolateFunction)((node, selector, PuppeteerUtil) => {
                 return PuppeteerUtil.customQuerySelectors
                     .get(PLACEHOLDER('name'))
                     .querySelector(node, selector);
-            }, { name: JSON.stringify(name) }),
-            _a);
+            }, { name: JSON.stringify(name) });
+        };
         const registerScript = (0, Function_js_1.interpolateFunction)((PuppeteerUtil) => {
             PuppeteerUtil.customQuerySelectors.register(PLACEHOLDER('name'), {
                 queryAll: PLACEHOLDER('queryAll'),
@@ -110,7 +95,7 @@
                 ? (0, Function_js_1.stringifyFunction)(handler.queryOne)
                 : String(undefined),
         }).toString();
-        __classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f").set(name, [registerScript, Handler]);
+        this.#handlers.set(name, [registerScript, Handler]);
         ScriptInjector_js_1.scriptInjector.append(registerScript);
     }
     /**
@@ -122,12 +107,12 @@
      * @internal
      */
     unregister(name) {
-        const handler = __classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f").get(name);
+        const handler = this.#handlers.get(name);
         if (!handler) {
             throw new Error(`Cannot unregister unknown handler: ${name}`);
         }
         ScriptInjector_js_1.scriptInjector.pop(handler[0]);
-        __classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f").delete(name);
+        this.#handlers.delete(name);
     }
     /**
      * Gets the names of all {@link CustomQueryHandler | custom query handlers}.
@@ -135,7 +120,7 @@
      * @internal
      */
     names() {
-        return [...__classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f").keys()];
+        return [...this.#handlers.keys()];
     }
     /**
      * Unregisters all custom query handlers.
@@ -143,14 +128,13 @@
      * @internal
      */
     clear() {
-        for (const [registerScript] of __classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f")) {
+        for (const [registerScript] of this.#handlers) {
             ScriptInjector_js_1.scriptInjector.pop(registerScript);
         }
-        __classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f").clear();
+        this.#handlers.clear();
     }
 }
 exports.CustomQueryHandlerRegistry = CustomQueryHandlerRegistry;
-_CustomQueryHandlerRegistry_handlers = new WeakMap();
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/CustomQueryHandler.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/CustomQueryHandler.js.map
index 417e187..091b8a0 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/CustomQueryHandler.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/CustomQueryHandler.js.map
@@ -1 +1 @@
-{"version":3,"file":"CustomQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/CustomQueryHandler.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"CustomQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/CustomQueryHandler.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceRequestPrompt.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceRequestPrompt.js
index b987b56..b2b1863 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceRequestPrompt.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceRequestPrompt.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _DeviceRequestPrompt_instances, _DeviceRequestPrompt_client, _DeviceRequestPrompt_timeoutSettings, _DeviceRequestPrompt_id, _DeviceRequestPrompt_handled, _DeviceRequestPrompt_updateDevicesHandle, _DeviceRequestPrompt_waitForDevicePromises, _DeviceRequestPrompt_updateDevices, _DeviceRequestPromptManager_instances, _DeviceRequestPromptManager_client, _DeviceRequestPromptManager_timeoutSettings, _DeviceRequestPromptManager_deviceRequestPrompDeferreds, _DeviceRequestPromptManager_onDeviceRequestPrompted;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.DeviceRequestPromptManager = exports.DeviceRequestPrompt = exports.DeviceRequestPromptDevice = void 0;
 const assert_js_1 = require("../util/assert.js");
@@ -37,6 +25,14 @@
  */
 class DeviceRequestPromptDevice {
     /**
+     * Device id during a prompt.
+     */
+    id;
+    /**
+     * Device name as it appears in a prompt.
+     */
+    name;
+    /**
      * @internal
      */
     constructor(id, name) {
@@ -68,29 +64,47 @@
  * @public
  */
 class DeviceRequestPrompt {
+    #client;
+    #timeoutSettings;
+    #id;
+    #handled = false;
+    #updateDevicesHandle = this.#updateDevices.bind(this);
+    #waitForDevicePromises = new Set();
+    /**
+     * Current list of selectable devices.
+     */
+    devices = [];
     /**
      * @internal
      */
     constructor(client, timeoutSettings, firstEvent) {
-        _DeviceRequestPrompt_instances.add(this);
-        _DeviceRequestPrompt_client.set(this, void 0);
-        _DeviceRequestPrompt_timeoutSettings.set(this, void 0);
-        _DeviceRequestPrompt_id.set(this, void 0);
-        _DeviceRequestPrompt_handled.set(this, false);
-        _DeviceRequestPrompt_updateDevicesHandle.set(this, __classPrivateFieldGet(this, _DeviceRequestPrompt_instances, "m", _DeviceRequestPrompt_updateDevices).bind(this));
-        _DeviceRequestPrompt_waitForDevicePromises.set(this, new Set());
-        /**
-         * Current list of selectable devices.
-         */
-        this.devices = [];
-        __classPrivateFieldSet(this, _DeviceRequestPrompt_client, client, "f");
-        __classPrivateFieldSet(this, _DeviceRequestPrompt_timeoutSettings, timeoutSettings, "f");
-        __classPrivateFieldSet(this, _DeviceRequestPrompt_id, firstEvent.id, "f");
-        __classPrivateFieldGet(this, _DeviceRequestPrompt_client, "f").on('DeviceAccess.deviceRequestPrompted', __classPrivateFieldGet(this, _DeviceRequestPrompt_updateDevicesHandle, "f"));
-        __classPrivateFieldGet(this, _DeviceRequestPrompt_client, "f").on('Target.detachedFromTarget', () => {
-            __classPrivateFieldSet(this, _DeviceRequestPrompt_client, null, "f");
+        this.#client = client;
+        this.#timeoutSettings = timeoutSettings;
+        this.#id = firstEvent.id;
+        this.#client.on('DeviceAccess.deviceRequestPrompted', this.#updateDevicesHandle);
+        this.#client.on('Target.detachedFromTarget', () => {
+            this.#client = null;
         });
-        __classPrivateFieldGet(this, _DeviceRequestPrompt_instances, "m", _DeviceRequestPrompt_updateDevices).call(this, firstEvent);
+        this.#updateDevices(firstEvent);
+    }
+    #updateDevices(event) {
+        if (event.id !== this.#id) {
+            return;
+        }
+        for (const rawDevice of event.devices) {
+            if (this.devices.some(device => {
+                return device.id === rawDevice.id;
+            })) {
+                continue;
+            }
+            const newDevice = new DeviceRequestPromptDevice(rawDevice.id, rawDevice.name);
+            this.devices.push(newDevice);
+            for (const waitForDevicePromise of this.#waitForDevicePromises) {
+                if (waitForDevicePromise.filter(newDevice)) {
+                    waitForDevicePromise.promise.resolve(newDevice);
+                }
+            }
+        }
     }
     /**
      * Resolve to the first device in the prompt matching a filter.
@@ -101,31 +115,31 @@
                 return device;
             }
         }
-        const { timeout = __classPrivateFieldGet(this, _DeviceRequestPrompt_timeoutSettings, "f").timeout() } = options;
+        const { timeout = this.#timeoutSettings.timeout() } = options;
         const deferred = Deferred_js_1.Deferred.create({
             message: `Waiting for \`DeviceRequestPromptDevice\` failed: ${timeout}ms exceeded`,
             timeout,
         });
         const handle = { filter, promise: deferred };
-        __classPrivateFieldGet(this, _DeviceRequestPrompt_waitForDevicePromises, "f").add(handle);
+        this.#waitForDevicePromises.add(handle);
         try {
             return await deferred.valueOrThrow();
         }
         finally {
-            __classPrivateFieldGet(this, _DeviceRequestPrompt_waitForDevicePromises, "f").delete(handle);
+            this.#waitForDevicePromises.delete(handle);
         }
     }
     /**
      * Select a device in the prompt's list.
      */
     async select(device) {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _DeviceRequestPrompt_client, "f") !== null, 'Cannot select device through detached session!');
+        (0, assert_js_1.assert)(this.#client !== null, 'Cannot select device through detached session!');
         (0, assert_js_1.assert)(this.devices.includes(device), 'Cannot select unknown device!');
-        (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _DeviceRequestPrompt_handled, "f"), 'Cannot select DeviceRequestPrompt which is already handled!');
-        __classPrivateFieldGet(this, _DeviceRequestPrompt_client, "f").off('DeviceAccess.deviceRequestPrompted', __classPrivateFieldGet(this, _DeviceRequestPrompt_updateDevicesHandle, "f"));
-        __classPrivateFieldSet(this, _DeviceRequestPrompt_handled, true, "f");
-        return __classPrivateFieldGet(this, _DeviceRequestPrompt_client, "f").send('DeviceAccess.selectPrompt', {
-            id: __classPrivateFieldGet(this, _DeviceRequestPrompt_id, "f"),
+        (0, assert_js_1.assert)(!this.#handled, 'Cannot select DeviceRequestPrompt which is already handled!');
+        this.#client.off('DeviceAccess.deviceRequestPrompted', this.#updateDevicesHandle);
+        this.#handled = true;
+        return this.#client.send('DeviceAccess.selectPrompt', {
+            id: this.#id,
             deviceId: device.id,
         });
     }
@@ -133,52 +147,32 @@
      * Cancel the prompt.
      */
     async cancel() {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _DeviceRequestPrompt_client, "f") !== null, 'Cannot cancel prompt through detached session!');
-        (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _DeviceRequestPrompt_handled, "f"), 'Cannot cancel DeviceRequestPrompt which is already handled!');
-        __classPrivateFieldGet(this, _DeviceRequestPrompt_client, "f").off('DeviceAccess.deviceRequestPrompted', __classPrivateFieldGet(this, _DeviceRequestPrompt_updateDevicesHandle, "f"));
-        __classPrivateFieldSet(this, _DeviceRequestPrompt_handled, true, "f");
-        return __classPrivateFieldGet(this, _DeviceRequestPrompt_client, "f").send('DeviceAccess.cancelPrompt', { id: __classPrivateFieldGet(this, _DeviceRequestPrompt_id, "f") });
+        (0, assert_js_1.assert)(this.#client !== null, 'Cannot cancel prompt through detached session!');
+        (0, assert_js_1.assert)(!this.#handled, 'Cannot cancel DeviceRequestPrompt which is already handled!');
+        this.#client.off('DeviceAccess.deviceRequestPrompted', this.#updateDevicesHandle);
+        this.#handled = true;
+        return this.#client.send('DeviceAccess.cancelPrompt', { id: this.#id });
     }
 }
 exports.DeviceRequestPrompt = DeviceRequestPrompt;
-_DeviceRequestPrompt_client = new WeakMap(), _DeviceRequestPrompt_timeoutSettings = new WeakMap(), _DeviceRequestPrompt_id = new WeakMap(), _DeviceRequestPrompt_handled = new WeakMap(), _DeviceRequestPrompt_updateDevicesHandle = new WeakMap(), _DeviceRequestPrompt_waitForDevicePromises = new WeakMap(), _DeviceRequestPrompt_instances = new WeakSet(), _DeviceRequestPrompt_updateDevices = function _DeviceRequestPrompt_updateDevices(event) {
-    if (event.id !== __classPrivateFieldGet(this, _DeviceRequestPrompt_id, "f")) {
-        return;
-    }
-    for (const rawDevice of event.devices) {
-        if (this.devices.some(device => {
-            return device.id === rawDevice.id;
-        })) {
-            continue;
-        }
-        const newDevice = new DeviceRequestPromptDevice(rawDevice.id, rawDevice.name);
-        this.devices.push(newDevice);
-        for (const waitForDevicePromise of __classPrivateFieldGet(this, _DeviceRequestPrompt_waitForDevicePromises, "f")) {
-            if (waitForDevicePromise.filter(newDevice)) {
-                waitForDevicePromise.promise.resolve(newDevice);
-            }
-        }
-    }
-};
 /**
  * @internal
  */
 class DeviceRequestPromptManager {
+    #client;
+    #timeoutSettings;
+    #deviceRequestPrompDeferreds = new Set();
     /**
      * @internal
      */
     constructor(client, timeoutSettings) {
-        _DeviceRequestPromptManager_instances.add(this);
-        _DeviceRequestPromptManager_client.set(this, void 0);
-        _DeviceRequestPromptManager_timeoutSettings.set(this, void 0);
-        _DeviceRequestPromptManager_deviceRequestPrompDeferreds.set(this, new Set());
-        __classPrivateFieldSet(this, _DeviceRequestPromptManager_client, client, "f");
-        __classPrivateFieldSet(this, _DeviceRequestPromptManager_timeoutSettings, timeoutSettings, "f");
-        __classPrivateFieldGet(this, _DeviceRequestPromptManager_client, "f").on('DeviceAccess.deviceRequestPrompted', event => {
-            __classPrivateFieldGet(this, _DeviceRequestPromptManager_instances, "m", _DeviceRequestPromptManager_onDeviceRequestPrompted).call(this, event);
+        this.#client = client;
+        this.#timeoutSettings = timeoutSettings;
+        this.#client.on('DeviceAccess.deviceRequestPrompted', event => {
+            this.#onDeviceRequestPrompted(event);
         });
-        __classPrivateFieldGet(this, _DeviceRequestPromptManager_client, "f").on('Target.detachedFromTarget', () => {
-            __classPrivateFieldSet(this, _DeviceRequestPromptManager_client, null, "f");
+        this.#client.on('Target.detachedFromTarget', () => {
+            this.#client = null;
         });
     }
     /**
@@ -186,18 +180,18 @@
      * requestDevice.
      */
     async waitForDevicePrompt(options = {}) {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _DeviceRequestPromptManager_client, "f") !== null, 'Cannot wait for device prompt through detached session!');
-        const needsEnable = __classPrivateFieldGet(this, _DeviceRequestPromptManager_deviceRequestPrompDeferreds, "f").size === 0;
+        (0, assert_js_1.assert)(this.#client !== null, 'Cannot wait for device prompt through detached session!');
+        const needsEnable = this.#deviceRequestPrompDeferreds.size === 0;
         let enablePromise;
         if (needsEnable) {
-            enablePromise = __classPrivateFieldGet(this, _DeviceRequestPromptManager_client, "f").send('DeviceAccess.enable');
+            enablePromise = this.#client.send('DeviceAccess.enable');
         }
-        const { timeout = __classPrivateFieldGet(this, _DeviceRequestPromptManager_timeoutSettings, "f").timeout() } = options;
+        const { timeout = this.#timeoutSettings.timeout() } = options;
         const deferred = Deferred_js_1.Deferred.create({
             message: `Waiting for \`DeviceRequestPrompt\` failed: ${timeout}ms exceeded`,
             timeout,
         });
-        __classPrivateFieldGet(this, _DeviceRequestPromptManager_deviceRequestPrompDeferreds, "f").add(deferred);
+        this.#deviceRequestPrompDeferreds.add(deferred);
         try {
             const [result] = await Promise.all([
                 deferred.valueOrThrow(),
@@ -206,20 +200,23 @@
             return result;
         }
         finally {
-            __classPrivateFieldGet(this, _DeviceRequestPromptManager_deviceRequestPrompDeferreds, "f").delete(deferred);
+            this.#deviceRequestPrompDeferreds.delete(deferred);
         }
     }
+    /**
+     * @internal
+     */
+    #onDeviceRequestPrompted(event) {
+        if (!this.#deviceRequestPrompDeferreds.size) {
+            return;
+        }
+        (0, assert_js_1.assert)(this.#client !== null);
+        const devicePrompt = new DeviceRequestPrompt(this.#client, this.#timeoutSettings, event);
+        for (const promise of this.#deviceRequestPrompDeferreds) {
+            promise.resolve(devicePrompt);
+        }
+        this.#deviceRequestPrompDeferreds.clear();
+    }
 }
 exports.DeviceRequestPromptManager = DeviceRequestPromptManager;
-_DeviceRequestPromptManager_client = new WeakMap(), _DeviceRequestPromptManager_timeoutSettings = new WeakMap(), _DeviceRequestPromptManager_deviceRequestPrompDeferreds = new WeakMap(), _DeviceRequestPromptManager_instances = new WeakSet(), _DeviceRequestPromptManager_onDeviceRequestPrompted = function _DeviceRequestPromptManager_onDeviceRequestPrompted(event) {
-    if (!__classPrivateFieldGet(this, _DeviceRequestPromptManager_deviceRequestPrompDeferreds, "f").size) {
-        return;
-    }
-    (0, assert_js_1.assert)(__classPrivateFieldGet(this, _DeviceRequestPromptManager_client, "f") !== null);
-    const devicePrompt = new DeviceRequestPrompt(__classPrivateFieldGet(this, _DeviceRequestPromptManager_client, "f"), __classPrivateFieldGet(this, _DeviceRequestPromptManager_timeoutSettings, "f"), event);
-    for (const promise of __classPrivateFieldGet(this, _DeviceRequestPromptManager_deviceRequestPrompDeferreds, "f")) {
-        promise.resolve(devicePrompt);
-    }
-    __classPrivateFieldGet(this, _DeviceRequestPromptManager_deviceRequestPrompDeferreds, "f").clear();
-};
 //# sourceMappingURL=DeviceRequestPrompt.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceRequestPrompt.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceRequestPrompt.js.map
index 2462105..7cc60b5 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceRequestPrompt.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceRequestPrompt.js.map
@@ -1 +1 @@
-{"version":3,"file":"DeviceRequestPrompt.js","sourceRoot":"","sources":["../../../../src/common/DeviceRequestPrompt.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;AAKH,iDAAyC;AACzC,qDAA6C;AAK7C;;;;GAIG;AACH,MAAa,yBAAyB;IAWpC;;OAEG;IACH,YAAY,EAAU,EAAE,IAAY;QAClC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAlBD,8DAkBC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,mBAAmB;IAgB9B;;OAEG;IACH,YACE,MAAkB,EAClB,eAAgC,EAChC,UAA4D;;QArB9D,8CAA2B;QAC3B,uDAAkC;QAClC,0CAAY;QACZ,uCAAW,KAAK,EAAC;QACjB,mDAAuB,uBAAA,IAAI,0EAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAC;QACtD,qDAAyB,IAAI,GAAG,EAG5B,EAAC;QAEL;;WAEG;QACH,YAAO,GAAgC,EAAE,CAAC;QAUxC,uBAAA,IAAI,+BAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,wCAAoB,eAAe,MAAA,CAAC;QACxC,uBAAA,IAAI,2BAAO,UAAU,CAAC,EAAE,MAAA,CAAC;QAEzB,uBAAA,IAAI,mCAAQ,CAAC,EAAE,CACb,oCAAoC,EACpC,uBAAA,IAAI,gDAAqB,CAC1B,CAAC;QACF,uBAAA,IAAI,mCAAQ,CAAC,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YAChD,uBAAA,IAAI,+BAAW,IAAI,MAAA,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,uBAAA,IAAI,0EAAe,MAAnB,IAAI,EAAgB,UAAU,CAAC,CAAC;IAClC,CAAC;IA8BD;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,MAAsD,EACtD,UAA8B,EAAE;QAEhC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACjC,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE;gBAClB,OAAO,MAAM,CAAC;aACf;SACF;QAED,MAAM,EAAC,OAAO,GAAG,uBAAA,IAAI,4CAAiB,CAAC,OAAO,EAAE,EAAC,GAAG,OAAO,CAAC;QAC5D,MAAM,QAAQ,GAAG,sBAAQ,CAAC,MAAM,CAA4B;YAC1D,OAAO,EAAE,qDAAqD,OAAO,aAAa;YAClF,OAAO;SACR,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,EAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAC,CAAC;QAC3C,uBAAA,IAAI,kDAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI;YACF,OAAO,MAAM,QAAQ,CAAC,YAAY,EAAE,CAAC;SACtC;gBAAS;YACR,uBAAA,IAAI,kDAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC5C;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAAiC;QAC5C,IAAA,kBAAM,EACJ,uBAAA,IAAI,mCAAQ,KAAK,IAAI,EACrB,gDAAgD,CACjD,CAAC;QACF,IAAA,kBAAM,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,+BAA+B,CAAC,CAAC;QACvE,IAAA,kBAAM,EACJ,CAAC,uBAAA,IAAI,oCAAS,EACd,6DAA6D,CAC9D,CAAC;QACF,uBAAA,IAAI,mCAAQ,CAAC,GAAG,CACd,oCAAoC,EACpC,uBAAA,IAAI,gDAAqB,CAC1B,CAAC;QACF,uBAAA,IAAI,gCAAY,IAAI,MAAA,CAAC;QACrB,OAAO,uBAAA,IAAI,mCAAQ,CAAC,IAAI,CAAC,2BAA2B,EAAE;YACpD,EAAE,EAAE,uBAAA,IAAI,+BAAI;YACZ,QAAQ,EAAE,MAAM,CAAC,EAAE;SACpB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,IAAA,kBAAM,EACJ,uBAAA,IAAI,mCAAQ,KAAK,IAAI,EACrB,gDAAgD,CACjD,CAAC;QACF,IAAA,kBAAM,EACJ,CAAC,uBAAA,IAAI,oCAAS,EACd,6DAA6D,CAC9D,CAAC;QACF,uBAAA,IAAI,mCAAQ,CAAC,GAAG,CACd,oCAAoC,EACpC,uBAAA,IAAI,gDAAqB,CAC1B,CAAC;QACF,uBAAA,IAAI,gCAAY,IAAI,MAAA,CAAC;QACrB,OAAO,uBAAA,IAAI,mCAAQ,CAAC,IAAI,CAAC,2BAA2B,EAAE,EAAC,EAAE,EAAE,uBAAA,IAAI,+BAAI,EAAC,CAAC,CAAC;IACxE,CAAC;CACF;AAzID,kDAyIC;ibAlGgB,KAAuD;IACpE,IAAI,KAAK,CAAC,EAAE,KAAK,uBAAA,IAAI,+BAAI,EAAE;QACzB,OAAO;KACR;IAED,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE;QACrC,IACE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACzB,OAAO,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,EAAE,CAAC;QACpC,CAAC,CAAC,EACF;YACA,SAAS;SACV;QAED,MAAM,SAAS,GAAG,IAAI,yBAAyB,CAC7C,SAAS,CAAC,EAAE,EACZ,SAAS,CAAC,IAAI,CACf,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE7B,KAAK,MAAM,oBAAoB,IAAI,uBAAA,IAAI,kDAAuB,EAAE;YAC9D,IAAI,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;gBAC1C,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;aACjD;SACF;KACF;AACH,CAAC;AA0EH;;GAEG;AACH,MAAa,0BAA0B;IAKrC;;OAEG;IACH,YAAY,MAAkB,EAAE,eAAgC;;QAPhE,qDAA2B;QAC3B,8DAAkC;QAClC,kEAA+B,IAAI,GAAG,EAAiC,EAAC;QAMtE,uBAAA,IAAI,sCAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,+CAAoB,eAAe,MAAA,CAAC;QAExC,uBAAA,IAAI,0CAAQ,CAAC,EAAE,CAAC,oCAAoC,EAAE,KAAK,CAAC,EAAE;YAC5D,uBAAA,IAAI,kGAAyB,MAA7B,IAAI,EAA0B,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,uBAAA,IAAI,0CAAQ,CAAC,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YAChD,uBAAA,IAAI,sCAAW,IAAI,MAAA,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CACvB,UAA8B,EAAE;QAEhC,IAAA,kBAAM,EACJ,uBAAA,IAAI,0CAAQ,KAAK,IAAI,EACrB,yDAAyD,CAC1D,CAAC;QACF,MAAM,WAAW,GAAG,uBAAA,IAAI,+DAA6B,CAAC,IAAI,KAAK,CAAC,CAAC;QACjE,IAAI,aAAwC,CAAC;QAC7C,IAAI,WAAW,EAAE;YACf,aAAa,GAAG,uBAAA,IAAI,0CAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;SAC1D;QAED,MAAM,EAAC,OAAO,GAAG,uBAAA,IAAI,mDAAiB,CAAC,OAAO,EAAE,EAAC,GAAG,OAAO,CAAC;QAC5D,MAAM,QAAQ,GAAG,sBAAQ,CAAC,MAAM,CAAsB;YACpD,OAAO,EAAE,+CAA+C,OAAO,aAAa;YAC5E,OAAO;SACR,CAAC,CAAC;QACH,uBAAA,IAAI,+DAA6B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEhD,IAAI;YACF,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACjC,QAAQ,CAAC,YAAY,EAAE;gBACvB,aAAa;aACd,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;SACf;gBAAS;YACR,uBAAA,IAAI,+DAA6B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SACpD;IACH,CAAC;CAuBF;AA5ED,gEA4EC;oWAjBG,KAAuD;IAEvD,IAAI,CAAC,uBAAA,IAAI,+DAA6B,CAAC,IAAI,EAAE;QAC3C,OAAO;KACR;IAED,IAAA,kBAAM,EAAC,uBAAA,IAAI,0CAAQ,KAAK,IAAI,CAAC,CAAC;IAC9B,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAC1C,uBAAA,IAAI,0CAAQ,EACZ,uBAAA,IAAI,mDAAiB,EACrB,KAAK,CACN,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,uBAAA,IAAI,+DAA6B,EAAE;QACvD,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;KAC/B;IACD,uBAAA,IAAI,+DAA6B,CAAC,KAAK,EAAE,CAAC;AAC5C,CAAC"}
\ No newline at end of file
+{"version":3,"file":"DeviceRequestPrompt.js","sourceRoot":"","sources":["../../../../src/common/DeviceRequestPrompt.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.d.ts
index 99c6418..d1e8533 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.d.ts
@@ -14,61 +14,23 @@
  * limitations under the License.
  */
 import { Protocol } from 'devtools-protocol';
+import { Dialog as BaseDialog } from '../api/Dialog.js';
 import { CDPSession } from './Connection.js';
 /**
- * Dialog instances are dispatched by the {@link Page} via the `dialog` event.
- *
- * @remarks
- *
- * @example
- *
- * ```ts
- * import puppeteer from 'puppeteer';
- *
- * (async () => {
- *   const browser = await puppeteer.launch();
- *   const page = await browser.newPage();
- *   page.on('dialog', async dialog => {
- *     console.log(dialog.message());
- *     await dialog.dismiss();
- *     await browser.close();
- *   });
- *   page.evaluate(() => alert('1'));
- * })();
- * ```
- *
- * @public
+ * @internal
  */
-export declare class Dialog {
+export declare class CDPDialog extends BaseDialog {
     #private;
     /**
      * @internal
      */
     constructor(client: CDPSession, type: Protocol.Page.DialogType, message: string, defaultValue?: string);
     /**
-     * The type of the dialog.
+     * @internal
      */
-    type(): Protocol.Page.DialogType;
-    /**
-     * The message displayed in the dialog.
-     */
-    message(): string;
-    /**
-     * The default value of the prompt, or an empty string if the dialog
-     * is not a `prompt`.
-     */
-    defaultValue(): string;
-    /**
-     * A promise that resolves when the dialog has been accepted.
-     *
-     * @param promptText - optional text that will be entered in the dialog
-     * prompt. Has no effect if the dialog's type is not `prompt`.
-     *
-     */
-    accept(promptText?: string): Promise<void>;
-    /**
-     * A promise which will resolve once the dialog has been dismissed
-     */
-    dismiss(): Promise<void>;
+    sendCommand(options: {
+        accept: boolean;
+        text?: string;
+    }): Promise<void>;
 }
 //# sourceMappingURL=Dialog.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.d.ts.map
index 5f3b1c5..08bbb54 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/common/Dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAI3C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,MAAM;;IAOjB;;OAEG;gBAED,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAC9B,OAAO,EAAE,MAAM,EACf,YAAY,SAAK;IAQnB;;OAEG;IACH,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU;IAIhC;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,YAAY,IAAI,MAAM;IAItB;;;;;;OAMG;IACG,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAO/B"}
\ No newline at end of file
+{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/common/Dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,MAAM,IAAI,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C;;GAEG;AACH,qBAAa,SAAU,SAAQ,UAAU;;IAGvC;;OAEG;gBAED,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAC9B,OAAO,EAAE,MAAM,EACf,YAAY,SAAK;IAMnB;;OAEG;IACY,WAAW,CAAC,OAAO,EAAE;QAClC,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,IAAI,CAAC;CAMlB"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.js
index 28cc34d..8737246 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.js
@@ -14,105 +14,30 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Dialog_client, _Dialog_type, _Dialog_message, _Dialog_defaultValue, _Dialog_handled;
 Object.defineProperty(exports, "__esModule", { value: true });
-exports.Dialog = void 0;
-const assert_js_1 = require("../util/assert.js");
+exports.CDPDialog = void 0;
+const Dialog_js_1 = require("../api/Dialog.js");
 /**
- * Dialog instances are dispatched by the {@link Page} via the `dialog` event.
- *
- * @remarks
- *
- * @example
- *
- * ```ts
- * import puppeteer from 'puppeteer';
- *
- * (async () => {
- *   const browser = await puppeteer.launch();
- *   const page = await browser.newPage();
- *   page.on('dialog', async dialog => {
- *     console.log(dialog.message());
- *     await dialog.dismiss();
- *     await browser.close();
- *   });
- *   page.evaluate(() => alert('1'));
- * })();
- * ```
- *
- * @public
+ * @internal
  */
-class Dialog {
+class CDPDialog extends Dialog_js_1.Dialog {
+    #client;
     /**
      * @internal
      */
     constructor(client, type, message, defaultValue = '') {
-        _Dialog_client.set(this, void 0);
-        _Dialog_type.set(this, void 0);
-        _Dialog_message.set(this, void 0);
-        _Dialog_defaultValue.set(this, void 0);
-        _Dialog_handled.set(this, false);
-        __classPrivateFieldSet(this, _Dialog_client, client, "f");
-        __classPrivateFieldSet(this, _Dialog_type, type, "f");
-        __classPrivateFieldSet(this, _Dialog_message, message, "f");
-        __classPrivateFieldSet(this, _Dialog_defaultValue, defaultValue, "f");
+        super(type, message, defaultValue);
+        this.#client = client;
     }
     /**
-     * The type of the dialog.
+     * @internal
      */
-    type() {
-        return __classPrivateFieldGet(this, _Dialog_type, "f");
-    }
-    /**
-     * The message displayed in the dialog.
-     */
-    message() {
-        return __classPrivateFieldGet(this, _Dialog_message, "f");
-    }
-    /**
-     * The default value of the prompt, or an empty string if the dialog
-     * is not a `prompt`.
-     */
-    defaultValue() {
-        return __classPrivateFieldGet(this, _Dialog_defaultValue, "f");
-    }
-    /**
-     * A promise that resolves when the dialog has been accepted.
-     *
-     * @param promptText - optional text that will be entered in the dialog
-     * prompt. Has no effect if the dialog's type is not `prompt`.
-     *
-     */
-    async accept(promptText) {
-        (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _Dialog_handled, "f"), 'Cannot accept dialog which is already handled!');
-        __classPrivateFieldSet(this, _Dialog_handled, true, "f");
-        await __classPrivateFieldGet(this, _Dialog_client, "f").send('Page.handleJavaScriptDialog', {
-            accept: true,
-            promptText: promptText,
-        });
-    }
-    /**
-     * A promise which will resolve once the dialog has been dismissed
-     */
-    async dismiss() {
-        (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _Dialog_handled, "f"), 'Cannot dismiss dialog which is already handled!');
-        __classPrivateFieldSet(this, _Dialog_handled, true, "f");
-        await __classPrivateFieldGet(this, _Dialog_client, "f").send('Page.handleJavaScriptDialog', {
-            accept: false,
+    async sendCommand(options) {
+        await this.#client.send('Page.handleJavaScriptDialog', {
+            accept: options.accept,
+            promptText: options.text,
         });
     }
 }
-exports.Dialog = Dialog;
-_Dialog_client = new WeakMap(), _Dialog_type = new WeakMap(), _Dialog_message = new WeakMap(), _Dialog_defaultValue = new WeakMap(), _Dialog_handled = new WeakMap();
+exports.CDPDialog = CDPDialog;
 //# sourceMappingURL=Dialog.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.js.map
index 682127c..ea03eb5 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.js.map
@@ -1 +1 @@
-{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../src/common/Dialog.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;AAIH,iDAAyC;AAIzC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,MAAM;IAOjB;;OAEG;IACH,YACE,MAAkB,EAClB,IAA8B,EAC9B,OAAe,EACf,YAAY,GAAG,EAAE;QAbnB,iCAAoB;QACpB,+BAAgC;QAChC,kCAAiB;QACjB,uCAAsB;QACtB,0BAAW,KAAK,EAAC;QAWf,uBAAA,IAAI,kBAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,gBAAS,IAAI,MAAA,CAAC;QAClB,uBAAA,IAAI,mBAAY,OAAO,MAAA,CAAC;QACxB,uBAAA,IAAI,wBAAiB,YAAY,MAAA,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,uBAAA,IAAI,oBAAM,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,uBAAA,IAAI,uBAAS,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,OAAO,uBAAA,IAAI,4BAAc,CAAC;IAC5B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,UAAmB;QAC9B,IAAA,kBAAM,EAAC,CAAC,uBAAA,IAAI,uBAAS,EAAE,gDAAgD,CAAC,CAAC;QACzE,uBAAA,IAAI,mBAAY,IAAI,MAAA,CAAC;QACrB,MAAM,uBAAA,IAAI,sBAAQ,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACrD,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,UAAU;SACvB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAA,kBAAM,EAAC,CAAC,uBAAA,IAAI,uBAAS,EAAE,iDAAiD,CAAC,CAAC;QAC1E,uBAAA,IAAI,mBAAY,IAAI,MAAA,CAAC;QACrB,MAAM,uBAAA,IAAI,sBAAQ,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACrD,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC;CACF;AAtED,wBAsEC"}
\ No newline at end of file
+{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../src/common/Dialog.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH,gDAAsD;AAItD;;GAEG;AACH,MAAa,SAAU,SAAQ,kBAAU;IACvC,OAAO,CAAa;IAEpB;;OAEG;IACH,YACE,MAAkB,EAClB,IAA8B,EAC9B,OAAe,EACf,YAAY,GAAG,EAAE;QAEjB,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,WAAW,CAAC,OAG1B;QACC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACrD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,IAAI;SACzB,CAAC,CAAC;IACL,CAAC;CACF;AA5BD,8BA4BC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ElementHandle.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ElementHandle.d.ts
index c732dfc..60265c4 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ElementHandle.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ElementHandle.d.ts
@@ -15,7 +15,7 @@
  */
 /// <reference types="node" />
 import { Protocol } from 'devtools-protocol';
-import { BoundingBox, BoxModel, ClickOptions, ElementHandle, Offset, Point } from '../api/ElementHandle.js';
+import { AutofillData, BoundingBox, BoxModel, ClickOptions, ElementHandle, Offset, Point } from '../api/ElementHandle.js';
 import { KeyPressOptions, KeyboardTypeOptions } from '../api/Input.js';
 import { ScreenshotOptions } from '../api/Page.js';
 import { CDPSession } from './Connection.js';
@@ -84,5 +84,6 @@
     boundingBox(): Promise<BoundingBox | null>;
     boxModel(): Promise<BoxModel | null>;
     screenshot(this: CDPElementHandle<Element>, options?: ScreenshotOptions): Promise<string | Buffer>;
+    autofill(data: AutofillData): Promise<void>;
 }
 //# sourceMappingURL=ElementHandle.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ElementHandle.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ElementHandle.d.ts.map
index 134b5b8..6399652 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ElementHandle.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ElementHandle.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"ElementHandle.d.ts","sourceRoot":"","sources":["../../../../src/common/ElementHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ElementHandle.d.ts","sourceRoot":"","sources":["../../../../src/common/ElementHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ElementHandle.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ElementHandle.js
index 8da9fd2..92b8c45 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ElementHandle.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ElementHandle.js
@@ -37,18 +37,6 @@
     __setModuleDefault(result, mod);
     return result;
 };
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _CDPElementHandle_instances, _CDPElementHandle_frame, _CDPElementHandle_frameManager_get, _CDPElementHandle_page_get, _CDPElementHandle_getOOPIFOffsets, _CDPElementHandle_getBoxModel, _CDPElementHandle_fromProtocolQuad, _CDPElementHandle_intersectQuadWithViewport;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.CDPElementHandle = void 0;
 const ElementHandle_js_1 = require("../api/ElementHandle.js");
@@ -68,11 +56,10 @@
  * @internal
  */
 class CDPElementHandle extends ElementHandle_js_1.ElementHandle {
+    #frame;
     constructor(context, remoteObject, frame) {
         super(new JSHandle_js_1.CDPJSHandle(context, remoteObject));
-        _CDPElementHandle_instances.add(this);
-        _CDPElementHandle_frame.set(this, void 0);
-        __classPrivateFieldSet(this, _CDPElementHandle_frame, frame, "f");
+        this.#frame = frame;
     }
     /**
      * @internal
@@ -89,8 +76,14 @@
     remoteObject() {
         return this.handle.remoteObject();
     }
+    get #frameManager() {
+        return this.#frame._frameManager;
+    }
+    get #page() {
+        return this.#frame.page();
+    }
     get frame() {
-        return __classPrivateFieldGet(this, _CDPElementHandle_frame, "f");
+        return this.#frame;
     }
     async $(selector) {
         return super.$(selector);
@@ -108,7 +101,7 @@
         if (typeof nodeInfo.node.frameId !== 'string') {
             return null;
         }
-        return __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_frameManager_get).frame(nodeInfo.node.frameId);
+        return this.#frameManager.frame(nodeInfo.node.frameId);
     }
     async scrollIntoView() {
         await this.assertConnectedElement();
@@ -123,6 +116,33 @@
             await super.scrollIntoView();
         }
     }
+    async #getOOPIFOffsets(frame) {
+        let offsetX = 0;
+        let offsetY = 0;
+        let currentFrame = frame;
+        while (currentFrame && currentFrame.parentFrame()) {
+            const parent = currentFrame.parentFrame();
+            if (!currentFrame.isOOPFrame() || !parent) {
+                currentFrame = parent;
+                continue;
+            }
+            const { backendNodeId } = await parent._client().send('DOM.getFrameOwner', {
+                frameId: currentFrame._id,
+            });
+            const result = await parent._client().send('DOM.getBoxModel', {
+                backendNodeId: backendNodeId,
+            });
+            if (!result) {
+                break;
+            }
+            const contentBoxQuad = result.model.content;
+            const topLeftCorner = this.#fromProtocolQuad(contentBoxQuad)[0];
+            offsetX += topLeftCorner.x;
+            offsetY += topLeftCorner.y;
+            currentFrame = parent;
+        }
+        return { offsetX, offsetY };
+    }
     async clickablePoint(offset) {
         const [result, layoutMetrics] = await Promise.all([
             this.client
@@ -130,7 +150,7 @@
                 objectId: this.id,
             })
                 .catch(util_js_1.debugError),
-            __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get)._client().send('Page.getLayoutMetrics'),
+            this.#page._client().send('Page.getLayoutMetrics'),
         ]);
         if (!result || !result.quads.length) {
             throw new Error('Node is either not clickable or not an HTMLElement');
@@ -138,16 +158,16 @@
         // Filter out quads that have too small area to click into.
         // Fallback to `layoutViewport` in case of using Firefox.
         const { clientWidth, clientHeight } = layoutMetrics.cssLayoutViewport || layoutMetrics.layoutViewport;
-        const { offsetX, offsetY } = await __classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_getOOPIFOffsets).call(this, __classPrivateFieldGet(this, _CDPElementHandle_frame, "f"));
+        const { offsetX, offsetY } = await this.#getOOPIFOffsets(this.#frame);
         const quads = result.quads
             .map(quad => {
-            return __classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_fromProtocolQuad).call(this, quad);
+            return this.#fromProtocolQuad(quad);
         })
             .map(quad => {
             return applyOffsetsToQuad(quad, offsetX, offsetY);
         })
             .map(quad => {
-            return __classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_intersectQuadWithViewport).call(this, quad, clientWidth, clientHeight);
+            return this.#intersectQuadWithViewport(quad, clientWidth, clientHeight);
         })
             .filter(quad => {
             return computeQuadArea(quad) > 1;
@@ -188,6 +208,30 @@
             y: y / 4,
         };
     }
+    #getBoxModel() {
+        const params = {
+            objectId: this.id,
+        };
+        return this.client.send('DOM.getBoxModel', params).catch(error => {
+            return (0, util_js_1.debugError)(error);
+        });
+    }
+    #fromProtocolQuad(quad) {
+        return [
+            { x: quad[0], y: quad[1] },
+            { x: quad[2], y: quad[3] },
+            { x: quad[4], y: quad[5] },
+            { x: quad[6], y: quad[7] },
+        ];
+    }
+    #intersectQuadWithViewport(quad, width, height) {
+        return quad.map(point => {
+            return {
+                x: Math.min(Math.max(point.x, 0), width),
+                y: Math.min(Math.max(point.y, 0), height),
+            };
+        });
+    }
     /**
      * This method scrolls element into view if needed, and then
      * uses {@link Page.mouse} to hover over the center of the element.
@@ -196,7 +240,7 @@
     async hover() {
         await this.scrollIntoViewIfNeeded();
         const { x, y } = await this.clickablePoint();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).mouse.move(x, y);
+        await this.#page.mouse.move(x, y);
     }
     /**
      * This method scrolls element into view if needed, and then
@@ -206,38 +250,38 @@
     async click(options = {}) {
         await this.scrollIntoViewIfNeeded();
         const { x, y } = await this.clickablePoint(options.offset);
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).mouse.click(x, y, options);
+        await this.#page.mouse.click(x, y, options);
     }
     /**
      * This method creates and captures a dragevent from the element.
      */
     async drag(target) {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).isDragInterceptionEnabled(), 'Drag Interception is not enabled!');
+        (0, assert_js_1.assert)(this.#page.isDragInterceptionEnabled(), 'Drag Interception is not enabled!');
         await this.scrollIntoViewIfNeeded();
         const start = await this.clickablePoint();
-        return await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).mouse.drag(start, target);
+        return await this.#page.mouse.drag(start, target);
     }
     async dragEnter(data = { items: [], dragOperationsMask: 1 }) {
         await this.scrollIntoViewIfNeeded();
         const target = await this.clickablePoint();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).mouse.dragEnter(target, data);
+        await this.#page.mouse.dragEnter(target, data);
     }
     async dragOver(data = { items: [], dragOperationsMask: 1 }) {
         await this.scrollIntoViewIfNeeded();
         const target = await this.clickablePoint();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).mouse.dragOver(target, data);
+        await this.#page.mouse.dragOver(target, data);
     }
     async drop(data = { items: [], dragOperationsMask: 1 }) {
         await this.scrollIntoViewIfNeeded();
         const destination = await this.clickablePoint();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).mouse.drop(destination, data);
+        await this.#page.mouse.drop(destination, data);
     }
     async dragAndDrop(target, options) {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).isDragInterceptionEnabled(), 'Drag Interception is not enabled!');
+        (0, assert_js_1.assert)(this.#page.isDragInterceptionEnabled(), 'Drag Interception is not enabled!');
         await this.scrollIntoViewIfNeeded();
         const startPoint = await this.clickablePoint();
         const targetPoint = await target.clickablePoint();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).mouse.dragAndDrop(startPoint, targetPoint, options);
+        await this.#page.mouse.dragAndDrop(startPoint, targetPoint, options);
     }
     async uploadFile(...filePaths) {
         const isMultiple = await this.evaluate(element => {
@@ -290,37 +334,37 @@
     async tap() {
         await this.scrollIntoViewIfNeeded();
         const { x, y } = await this.clickablePoint();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).touchscreen.touchStart(x, y);
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).touchscreen.touchEnd();
+        await this.#page.touchscreen.touchStart(x, y);
+        await this.#page.touchscreen.touchEnd();
     }
     async touchStart() {
         await this.scrollIntoViewIfNeeded();
         const { x, y } = await this.clickablePoint();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).touchscreen.touchStart(x, y);
+        await this.#page.touchscreen.touchStart(x, y);
     }
     async touchMove() {
         await this.scrollIntoViewIfNeeded();
         const { x, y } = await this.clickablePoint();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).touchscreen.touchMove(x, y);
+        await this.#page.touchscreen.touchMove(x, y);
     }
     async touchEnd() {
         await this.scrollIntoViewIfNeeded();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).touchscreen.touchEnd();
+        await this.#page.touchscreen.touchEnd();
     }
     async type(text, options) {
         await this.focus();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).keyboard.type(text, options);
+        await this.#page.keyboard.type(text, options);
     }
     async press(key, options) {
         await this.focus();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).keyboard.press(key, options);
+        await this.#page.keyboard.press(key, options);
     }
     async boundingBox() {
-        const result = await __classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_getBoxModel).call(this);
+        const result = await this.#getBoxModel();
         if (!result) {
             return null;
         }
-        const { offsetX, offsetY } = await __classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_getOOPIFOffsets).call(this, __classPrivateFieldGet(this, _CDPElementHandle_frame, "f"));
+        const { offsetX, offsetY } = await this.#getOOPIFOffsets(this.#frame);
         const quad = result.model.border;
         const x = Math.min(quad[0], quad[2], quad[4], quad[6]);
         const y = Math.min(quad[1], quad[3], quad[5], quad[7]);
@@ -329,17 +373,17 @@
         return { x: x + offsetX, y: y + offsetY, width, height };
     }
     async boxModel() {
-        const result = await __classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_getBoxModel).call(this);
+        const result = await this.#getBoxModel();
         if (!result) {
             return null;
         }
-        const { offsetX, offsetY } = await __classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_getOOPIFOffsets).call(this, __classPrivateFieldGet(this, _CDPElementHandle_frame, "f"));
+        const { offsetX, offsetY } = await this.#getOOPIFOffsets(this.#frame);
         const { content, padding, border, margin, width, height } = result.model;
         return {
-            content: applyOffsetsToQuad(__classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_fromProtocolQuad).call(this, content), offsetX, offsetY),
-            padding: applyOffsetsToQuad(__classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_fromProtocolQuad).call(this, padding), offsetX, offsetY),
-            border: applyOffsetsToQuad(__classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_fromProtocolQuad).call(this, border), offsetX, offsetY),
-            margin: applyOffsetsToQuad(__classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_fromProtocolQuad).call(this, margin), offsetX, offsetY),
+            content: applyOffsetsToQuad(this.#fromProtocolQuad(content), offsetX, offsetY),
+            padding: applyOffsetsToQuad(this.#fromProtocolQuad(padding), offsetX, offsetY),
+            border: applyOffsetsToQuad(this.#fromProtocolQuad(border), offsetX, offsetY),
+            margin: applyOffsetsToQuad(this.#fromProtocolQuad(margin), offsetX, offsetY),
             width,
             height,
         };
@@ -348,7 +392,7 @@
         let needsViewportReset = false;
         let boundingBox = await this.boundingBox();
         (0, assert_js_1.assert)(boundingBox, 'Node is either not visible or not an HTMLElement');
-        const viewport = __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).viewport();
+        const viewport = this.#page.viewport();
         if (viewport &&
             (boundingBox.width > viewport.width ||
                 boundingBox.height > viewport.height)) {
@@ -356,7 +400,7 @@
                 width: Math.max(viewport.width, Math.ceil(boundingBox.width)),
                 height: Math.max(viewport.height, Math.ceil(boundingBox.height)),
             };
-            await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).setViewport(Object.assign({}, viewport, newViewport));
+            await this.#page.setViewport(Object.assign({}, viewport, newViewport));
             needsViewportReset = true;
         }
         await this.scrollIntoViewIfNeeded();
@@ -370,68 +414,28 @@
         const clip = Object.assign({}, boundingBox);
         clip.x += pageX;
         clip.y += pageY;
-        const imageData = await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).screenshot(Object.assign({}, {
+        const imageData = await this.#page.screenshot(Object.assign({}, {
             clip,
         }, options));
         if (needsViewportReset && viewport) {
-            await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).setViewport(viewport);
+            await this.#page.setViewport(viewport);
         }
         return imageData;
     }
+    async autofill(data) {
+        const nodeInfo = await this.client.send('DOM.describeNode', {
+            objectId: this.handle.id,
+        });
+        const fieldId = nodeInfo.node.backendNodeId;
+        const frameId = this.#frame._id;
+        await this.client.send('Autofill.trigger', {
+            fieldId,
+            frameId,
+            card: data.creditCard,
+        });
+    }
 }
 exports.CDPElementHandle = CDPElementHandle;
-_CDPElementHandle_frame = new WeakMap(), _CDPElementHandle_instances = new WeakSet(), _CDPElementHandle_frameManager_get = function _CDPElementHandle_frameManager_get() {
-    return __classPrivateFieldGet(this, _CDPElementHandle_frame, "f")._frameManager;
-}, _CDPElementHandle_page_get = function _CDPElementHandle_page_get() {
-    return __classPrivateFieldGet(this, _CDPElementHandle_frame, "f").page();
-}, _CDPElementHandle_getOOPIFOffsets = async function _CDPElementHandle_getOOPIFOffsets(frame) {
-    let offsetX = 0;
-    let offsetY = 0;
-    let currentFrame = frame;
-    while (currentFrame && currentFrame.parentFrame()) {
-        const parent = currentFrame.parentFrame();
-        if (!currentFrame.isOOPFrame() || !parent) {
-            currentFrame = parent;
-            continue;
-        }
-        const { backendNodeId } = await parent._client().send('DOM.getFrameOwner', {
-            frameId: currentFrame._id,
-        });
-        const result = await parent._client().send('DOM.getBoxModel', {
-            backendNodeId: backendNodeId,
-        });
-        if (!result) {
-            break;
-        }
-        const contentBoxQuad = result.model.content;
-        const topLeftCorner = __classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_fromProtocolQuad).call(this, contentBoxQuad)[0];
-        offsetX += topLeftCorner.x;
-        offsetY += topLeftCorner.y;
-        currentFrame = parent;
-    }
-    return { offsetX, offsetY };
-}, _CDPElementHandle_getBoxModel = function _CDPElementHandle_getBoxModel() {
-    const params = {
-        objectId: this.id,
-    };
-    return this.client.send('DOM.getBoxModel', params).catch(error => {
-        return (0, util_js_1.debugError)(error);
-    });
-}, _CDPElementHandle_fromProtocolQuad = function _CDPElementHandle_fromProtocolQuad(quad) {
-    return [
-        { x: quad[0], y: quad[1] },
-        { x: quad[2], y: quad[3] },
-        { x: quad[4], y: quad[5] },
-        { x: quad[6], y: quad[7] },
-    ];
-}, _CDPElementHandle_intersectQuadWithViewport = function _CDPElementHandle_intersectQuadWithViewport(quad, width, height) {
-    return quad.map(point => {
-        return {
-            x: Math.min(Math.max(point.x, 0), width),
-            y: Math.min(Math.max(point.y, 0), height),
-        };
-    });
-};
 function computeQuadArea(quad) {
     /* Compute sum of all directed areas of adjacent triangles
        https://en.wikipedia.org/wiki/Polygon#Simple_polygons
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ElementHandle.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ElementHandle.js.map
index 14a0653..ab74a64 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ElementHandle.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ElementHandle.js.map
@@ -1 +1 @@
-{"version":3,"file":"ElementHandle.js","sourceRoot":"","sources":["../../../../src/common/ElementHandle.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIH,8DAOiC;AAGjC,iDAAyC;AAOzC,+CAA0C;AAI1C,uCAAqC;AAErC,MAAM,kBAAkB,GAAG,CACzB,IAAa,EACb,OAAe,EACf,OAAe,EACf,EAAE;IACF,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QACrB,OAAO,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,OAAO,EAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAa,gBAEX,SAAQ,gCAA0B;IAIlC,YACE,OAAyB,EACzB,YAA2C,EAC3C,KAAY;QAEZ,KAAK,CAAC,IAAI,yBAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;;QARhD,0CAAc;QASZ,uBAAA,IAAI,2BAAU,KAAK,MAAA,CAAC;IACtB,CAAC;IAED;;OAEG;IACM,gBAAgB;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAa,MAAM;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAEQ,YAAY;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAUD,IAAa,KAAK;QAChB,OAAO,uBAAA,IAAI,+BAAO,CAAC;IACrB,CAAC;IAEQ,KAAK,CAAC,CAAC,CACd,QAAkB;QAElB,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAEd,CAAC;IACZ,CAAC;IAEQ,KAAK,CAAC,EAAE,CACf,QAAkB;QAElB,OAAO,KAAK,CAAC,EAAE,CAAC,QAAQ,CAEvB,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,eAAe,CAC5B,QAAkB,EAClB,OAAgC;QAEhC,OAAO,CAAC,MAAM,KAAK,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAE9C,CAAC;IACX,CAAC;IAEQ,KAAK,CAAC,YAAY;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1D,QAAQ,EAAE,IAAI,CAAC,EAAE;SAClB,CAAC,CAAC;QACH,IAAI,OAAO,QAAQ,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE;YAC7C,OAAO,IAAI,CAAC;SACb;QACD,OAAO,uBAAA,IAAI,uEAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAEQ,KAAK,CAAC,cAAc;QAG3B,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,IAAI;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE;gBACnD,QAAQ,EAAE,IAAI,CAAC,EAAE;aAClB,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,IAAA,oBAAU,EAAC,KAAK,CAAC,CAAC;YAClB,oFAAoF;YACpF,MAAM,KAAK,CAAC,cAAc,EAAE,CAAC;SAC9B;IACH,CAAC;IAgCQ,KAAK,CAAC,cAAc,CAAC,MAAe;QAC3C,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAChD,IAAI,CAAC,MAAM;iBACR,IAAI,CAAC,qBAAqB,EAAE;gBAC3B,QAAQ,EAAE,IAAI,CAAC,EAAE;aAClB,CAAC;iBACD,KAAK,CAAC,oBAAU,CAAC;YACnB,uBAAA,IAAI,+DAAkB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC;SAChE,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;SACvE;QACD,2DAA2D;QAC3D,yDAAyD;QACzD,MAAM,EAAC,WAAW,EAAE,YAAY,EAAC,GAC/B,aAAa,CAAC,iBAAiB,IAAI,aAAa,CAAC,cAAc,CAAC;QAClE,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,MAAM,uBAAA,IAAI,sEAAiB,MAArB,IAAI,EAAkB,uBAAA,IAAI,+BAAO,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;aACvB,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,OAAO,uBAAA,IAAI,uEAAkB,MAAtB,IAAI,EAAmB,IAAI,CAAC,CAAC;QACtC,CAAC,CAAC;aACD,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,OAAO,kBAAkB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC;aACD,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,OAAO,uBAAA,IAAI,gFAA2B,MAA/B,IAAI,EAA4B,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;QAC1E,CAAC,CAAC;aACD,MAAM,CAAC,IAAI,CAAC,EAAE;YACb,OAAO,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;SACvE;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACvB,IAAI,MAAM,EAAE;YACV,2DAA2D;YAC3D,IAAI,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC;YACnC,IAAI,IAAI,GAAG,MAAM,CAAC,gBAAgB,CAAC;YACnC,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE;gBACxB,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE;oBAClB,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;iBAChB;gBACD,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,EAAE;oBAClB,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;iBAChB;aACF;YACD,IACE,IAAI,KAAK,MAAM,CAAC,gBAAgB;gBAChC,IAAI,KAAK,MAAM,CAAC,gBAAgB,EAChC;gBACA,OAAO;oBACL,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;oBAClB,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;iBACnB,CAAC;aACH;SACF;QACD,6CAA6C;QAC7C,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE;YACxB,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YACb,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;SACd;QACD,OAAO;YACL,CAAC,EAAE,CAAC,GAAG,CAAC;YACR,CAAC,EAAE,CAAC,GAAG,CAAC;SACT,CAAC;IACJ,CAAC;IAiCD;;;;OAIG;IACM,KAAK,CAAC,KAAK;QAClB,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,EAAC,CAAC,EAAE,CAAC,EAAC,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,MAAM,uBAAA,IAAI,+DAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACM,KAAK,CAAC,KAAK,CAElB,UAAkC,EAAE;QAEpC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,EAAC,CAAC,EAAE,CAAC,EAAC,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,uBAAA,IAAI,+DAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,IAAI,CAEjB,MAAa;QAEb,IAAA,kBAAM,EACJ,uBAAA,IAAI,+DAAM,CAAC,yBAAyB,EAAE,EACtC,mCAAmC,CACpC,CAAC;QACF,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,OAAO,MAAM,uBAAA,IAAI,+DAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAEQ,KAAK,CAAC,SAAS,CAEtB,OAAgC,EAAC,KAAK,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAC;QAElE,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,MAAM,uBAAA,IAAI,+DAAM,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAEQ,KAAK,CAAC,QAAQ,CAErB,OAAgC,EAAC,KAAK,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAC;QAElE,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,MAAM,uBAAA,IAAI,+DAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAEQ,KAAK,CAAC,IAAI,CAEjB,OAAgC,EAAC,KAAK,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAAC;QAElE,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAChD,MAAM,uBAAA,IAAI,+DAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAEQ,KAAK,CAAC,WAAW,CAExB,MAA8B,EAC9B,OAAyB;QAEzB,IAAA,kBAAM,EACJ,uBAAA,IAAI,+DAAM,CAAC,yBAAyB,EAAE,EACtC,mCAAmC,CACpC,CAAC;QACF,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC/C,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,cAAc,EAAE,CAAC;QAClD,MAAM,uBAAA,IAAI,+DAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IACvE,CAAC;IAEQ,KAAK,CAAC,UAAU,CAEvB,GAAG,SAAmB;QAEtB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC/C,OAAO,OAAO,CAAC,QAAQ,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,IAAA,kBAAM,EACJ,SAAS,CAAC,MAAM,IAAI,CAAC,IAAI,UAAU,EACnC,iEAAiE,CAClE,CAAC;QAEF,gDAAgD;QAChD,IAAI,IAA2B,CAAC;QAChC,IAAI;YACF,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAC;SAC7B;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,KAAK,YAAY,SAAS,EAAE;gBAC9B,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;aACH;YACD,MAAM,KAAK,CAAC;SACb;QACD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACrC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBACtE,OAAO,QAAQ,CAAC;aACjB;iBAAM;gBACL,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;aAC/B;QACH,CAAC,CAAC,CAAC;QACH,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACxD,QAAQ,EAAE,IAAI,CAAC,EAAE;SAClB,CAAC,CAAC;QACH,MAAM,EAAC,aAAa,EAAC,GAAG,IAAI,CAAC;QAE7B;;;WAGG;QACH,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAC5B,OAAO,CAAC,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC,KAAK,CAAC;gBAEzC,gFAAgF;gBAChF,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;gBAC3D,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBAC9C,QAAQ,EAAE,IAAI,CAAC,EAAE;gBACjB,KAAK;gBACL,aAAa;aACd,CAAC,CAAC;SACJ;IACH,CAAC;IAEQ,KAAK,CAAC,GAAG;QAChB,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,EAAC,CAAC,EAAE,CAAC,EAAC,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,MAAM,uBAAA,IAAI,+DAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,MAAM,uBAAA,IAAI,+DAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC;IAEQ,KAAK,CAAC,UAAU;QACvB,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,EAAC,CAAC,EAAE,CAAC,EAAC,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,MAAM,uBAAA,IAAI,+DAAM,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChD,CAAC;IAEQ,KAAK,CAAC,SAAS;QACtB,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,EAAC,CAAC,EAAE,CAAC,EAAC,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAC3C,MAAM,uBAAA,IAAI,+DAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAEQ,KAAK,CAAC,QAAQ;QACrB,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,uBAAA,IAAI,+DAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC1C,CAAC;IAEQ,KAAK,CAAC,IAAI,CACjB,IAAY,EACZ,OAAuC;QAEvC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,uBAAA,IAAI,+DAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAEQ,KAAK,CAAC,KAAK,CAClB,GAAa,EACb,OAAmC;QAEnC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,uBAAA,IAAI,+DAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAEQ,KAAK,CAAC,WAAW;QACxB,MAAM,MAAM,GAAG,MAAM,uBAAA,IAAI,kEAAa,MAAjB,IAAI,CAAe,CAAC;QAEzC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,IAAI,CAAC;SACb;QAED,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,MAAM,uBAAA,IAAI,sEAAiB,MAArB,IAAI,EAAkB,uBAAA,IAAI,+BAAO,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QACjC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC;QAEpE,OAAO,EAAC,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAC,CAAC;IACzD,CAAC;IAEQ,KAAK,CAAC,QAAQ;QACrB,MAAM,MAAM,GAAG,MAAM,uBAAA,IAAI,kEAAa,MAAjB,IAAI,CAAe,CAAC;QAEzC,IAAI,CAAC,MAAM,EAAE;YACX,OAAO,IAAI,CAAC;SACb;QAED,MAAM,EAAC,OAAO,EAAE,OAAO,EAAC,GAAG,MAAM,uBAAA,IAAI,sEAAiB,MAArB,IAAI,EAAkB,uBAAA,IAAI,+BAAO,CAAC,CAAC;QAEpE,MAAM,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACvE,OAAO;YACL,OAAO,EAAE,kBAAkB,CACzB,uBAAA,IAAI,uEAAkB,MAAtB,IAAI,EAAmB,OAAO,CAAC,EAC/B,OAAO,EACP,OAAO,CACR;YACD,OAAO,EAAE,kBAAkB,CACzB,uBAAA,IAAI,uEAAkB,MAAtB,IAAI,EAAmB,OAAO,CAAC,EAC/B,OAAO,EACP,OAAO,CACR;YACD,MAAM,EAAE,kBAAkB,CACxB,uBAAA,IAAI,uEAAkB,MAAtB,IAAI,EAAmB,MAAM,CAAC,EAC9B,OAAO,EACP,OAAO,CACR;YACD,MAAM,EAAE,kBAAkB,CACxB,uBAAA,IAAI,uEAAkB,MAAtB,IAAI,EAAmB,MAAM,CAAC,EAC9B,OAAO,EACP,OAAO,CACR;YACD,KAAK;YACL,MAAM;SACP,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,UAAU,CAEvB,UAA6B,EAAE;QAE/B,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAE/B,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAA,kBAAM,EAAC,WAAW,EAAE,kDAAkD,CAAC,CAAC;QAExE,MAAM,QAAQ,GAAG,uBAAA,IAAI,+DAAM,CAAC,QAAQ,EAAE,CAAC;QAEvC,IACE,QAAQ;YACR,CAAC,WAAW,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK;gBACjC,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,EACvC;YACA,MAAM,WAAW,GAAG;gBAClB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAC7D,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;aACjE,CAAC;YACF,MAAM,uBAAA,IAAI,+DAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;YAEvE,kBAAkB,GAAG,IAAI,CAAC;SAC3B;QAED,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEpC,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,IAAA,kBAAM,EAAC,WAAW,EAAE,kDAAkD,CAAC,CAAC;QACxE,IAAA,kBAAM,EAAC,WAAW,CAAC,KAAK,KAAK,CAAC,EAAE,mBAAmB,CAAC,CAAC;QACrD,IAAA,kBAAM,EAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC;QAEvD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACtE,yDAAyD;QACzD,MAAM,EAAC,KAAK,EAAE,KAAK,EAAC,GAClB,aAAa,CAAC,iBAAiB,IAAI,aAAa,CAAC,cAAc,CAAC;QAElE,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;QAChB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;QAEhB,MAAM,SAAS,GAAG,MAAM,uBAAA,IAAI,+DAAM,CAAC,UAAU,CAC3C,MAAM,CAAC,MAAM,CACX,EAAE,EACF;YACE,IAAI;SACL,EACD,OAAO,CACR,CACF,CAAC;QAEF,IAAI,kBAAkB,IAAI,QAAQ,EAAE;YAClC,MAAM,uBAAA,IAAI,+DAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SACxC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAngBD,4CAmgBC;;IAjeG,OAAO,uBAAA,IAAI,+BAAO,CAAC,aAAa,CAAC;AACnC,CAAC;IAGC,OAAO,uBAAA,IAAI,+BAAO,CAAC,IAAI,EAAE,CAAC;AAC5B,CAAC,sCAwDD,KAAK,4CACH,KAAY;IAEZ,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,YAAY,GAAiB,KAAK,CAAC;IACvC,OAAO,YAAY,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE;QACjD,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,EAAE;YACzC,YAAY,GAAG,MAAM,CAAC;YACtB,SAAS;SACV;QACD,MAAM,EAAC,aAAa,EAAC,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACvE,OAAO,EAAE,YAAY,CAAC,GAAG;SAC1B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC5D,aAAa,EAAE,aAAa;SAC7B,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE;YACX,MAAM;SACP;QACD,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5C,MAAM,aAAa,GAAG,uBAAA,IAAI,uEAAkB,MAAtB,IAAI,EAAmB,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,IAAI,aAAc,CAAC,CAAC,CAAC;QAC5B,OAAO,IAAI,aAAc,CAAC,CAAC,CAAC;QAC5B,YAAY,GAAG,MAAM,CAAC;KACvB;IACD,OAAO,EAAC,OAAO,EAAE,OAAO,EAAC,CAAC;AAC5B,CAAC;IAwEC,MAAM,MAAM,GAAoC;QAC9C,QAAQ,EAAE,IAAI,CAAC,EAAE;KAClB,CAAC;IACF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QAC/D,OAAO,IAAA,oBAAU,EAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC,mFAEiB,IAAc;IAC9B,OAAO;QACL,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,EAAC;QAC1B,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,EAAC;QAC1B,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,EAAC;QAC1B,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,EAAC;KAC3B,CAAC;AACJ,CAAC,qGAGC,IAAa,EACb,KAAa,EACb,MAAc;IAEd,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;QACtB,OAAO;YACL,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;YACxC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC;SAC1C,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAsSH,SAAS,eAAe,CAAC,IAAa;IACpC;;OAEG;IACH,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;QACpC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACpB,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAE,CAAC;QACxC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;KACzC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC"}
\ No newline at end of file
+{"version":3,"file":"ElementHandle.js","sourceRoot":"","sources":["../../../../src/common/ElementHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EmulationManager.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EmulationManager.js
index 5bb1e7d..18bc8a3 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EmulationManager.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EmulationManager.js
@@ -1,16 +1,4 @@
 "use strict";
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _EmulationManager_client, _EmulationManager_emulatingMobile, _EmulationManager_hasTouch, _EmulationManager_javascriptEnabled;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.EmulationManager = void 0;
 const assert_js_1 = require("../util/assert.js");
@@ -19,15 +7,15 @@
  * @internal
  */
 class EmulationManager {
+    #client;
+    #emulatingMobile = false;
+    #hasTouch = false;
+    #javascriptEnabled = true;
     constructor(client) {
-        _EmulationManager_client.set(this, void 0);
-        _EmulationManager_emulatingMobile.set(this, false);
-        _EmulationManager_hasTouch.set(this, false);
-        _EmulationManager_javascriptEnabled.set(this, true);
-        __classPrivateFieldSet(this, _EmulationManager_client, client, "f");
+        this.#client = client;
     }
     get javascriptEnabled() {
-        return __classPrivateFieldGet(this, _EmulationManager_javascriptEnabled, "f");
+        return this.#javascriptEnabled;
     }
     async emulateViewport(viewport) {
         const mobile = viewport.isMobile || false;
@@ -39,36 +27,36 @@
             : { angle: 0, type: 'portraitPrimary' };
         const hasTouch = viewport.hasTouch || false;
         await Promise.all([
-            __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setDeviceMetricsOverride', {
+            this.#client.send('Emulation.setDeviceMetricsOverride', {
                 mobile,
                 width,
                 height,
                 deviceScaleFactor,
                 screenOrientation,
             }),
-            __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setTouchEmulationEnabled', {
+            this.#client.send('Emulation.setTouchEmulationEnabled', {
                 enabled: hasTouch,
             }),
         ]);
-        const reloadNeeded = __classPrivateFieldGet(this, _EmulationManager_emulatingMobile, "f") !== mobile || __classPrivateFieldGet(this, _EmulationManager_hasTouch, "f") !== hasTouch;
-        __classPrivateFieldSet(this, _EmulationManager_emulatingMobile, mobile, "f");
-        __classPrivateFieldSet(this, _EmulationManager_hasTouch, hasTouch, "f");
+        const reloadNeeded = this.#emulatingMobile !== mobile || this.#hasTouch !== hasTouch;
+        this.#emulatingMobile = mobile;
+        this.#hasTouch = hasTouch;
         return reloadNeeded;
     }
     async emulateIdleState(overrides) {
         if (overrides) {
-            await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setIdleOverride', {
+            await this.#client.send('Emulation.setIdleOverride', {
                 isUserActive: overrides.isUserActive,
                 isScreenUnlocked: overrides.isScreenUnlocked,
             });
         }
         else {
-            await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.clearIdleOverride');
+            await this.#client.send('Emulation.clearIdleOverride');
         }
     }
     async emulateTimezone(timezoneId) {
         try {
-            await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setTimezoneOverride', {
+            await this.#client.send('Emulation.setTimezoneOverride', {
                 timezoneId: timezoneId || '',
             });
         }
@@ -90,7 +78,7 @@
         ]);
         try {
             (0, assert_js_1.assert)(!type || visionDeficiencies.has(type), `Unsupported vision deficiency: ${type}`);
-            await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setEmulatedVisionDeficiency', {
+            await this.#client.send('Emulation.setEmulatedVisionDeficiency', {
                 type: type || 'none',
             });
         }
@@ -100,20 +88,20 @@
     }
     async emulateCPUThrottling(factor) {
         (0, assert_js_1.assert)(factor === null || factor >= 1, 'Throttling rate should be greater or equal to 1');
-        await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setCPUThrottlingRate', {
+        await this.#client.send('Emulation.setCPUThrottlingRate', {
             rate: factor ?? 1,
         });
     }
     async emulateMediaFeatures(features) {
         if (!features) {
-            await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setEmulatedMedia', {});
+            await this.#client.send('Emulation.setEmulatedMedia', {});
         }
         if (Array.isArray(features)) {
             for (const mediaFeature of features) {
                 const name = mediaFeature.name;
                 (0, assert_js_1.assert)(/^(?:prefers-(?:color-scheme|reduced-motion)|color-gamut)$/.test(name), 'Unsupported media feature: ' + name);
             }
-            await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setEmulatedMedia', {
+            await this.#client.send('Emulation.setEmulatedMedia', {
                 features: features,
             });
         }
@@ -122,7 +110,7 @@
         (0, assert_js_1.assert)(type === 'screen' ||
             type === 'print' ||
             (type ?? undefined) === undefined, 'Unsupported media type: ' + type);
-        await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setEmulatedMedia', {
+        await this.#client.send('Emulation.setEmulatedMedia', {
             media: type || '',
         });
     }
@@ -137,7 +125,7 @@
         if (accuracy < 0) {
             throw new Error(`Invalid accuracy "${accuracy}": precondition 0 <= ACCURACY failed.`);
         }
-        await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setGeolocationOverride', {
+        await this.#client.send('Emulation.setGeolocationOverride', {
             longitude,
             latitude,
             accuracy,
@@ -147,26 +135,25 @@
      * Resets default white background
      */
     async resetDefaultBackgroundColor() {
-        await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setDefaultBackgroundColorOverride');
+        await this.#client.send('Emulation.setDefaultBackgroundColorOverride');
     }
     /**
      * Hides default white background
      */
     async setTransparentBackgroundColor() {
-        await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setDefaultBackgroundColorOverride', {
+        await this.#client.send('Emulation.setDefaultBackgroundColorOverride', {
             color: { r: 0, g: 0, b: 0, a: 0 },
         });
     }
     async setJavaScriptEnabled(enabled) {
-        if (__classPrivateFieldGet(this, _EmulationManager_javascriptEnabled, "f") === enabled) {
+        if (this.#javascriptEnabled === enabled) {
             return;
         }
-        __classPrivateFieldSet(this, _EmulationManager_javascriptEnabled, enabled, "f");
-        await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setScriptExecutionDisabled', {
+        this.#javascriptEnabled = enabled;
+        await this.#client.send('Emulation.setScriptExecutionDisabled', {
             value: !enabled,
         });
     }
 }
 exports.EmulationManager = EmulationManager;
-_EmulationManager_client = new WeakMap(), _EmulationManager_emulatingMobile = new WeakMap(), _EmulationManager_hasTouch = new WeakMap(), _EmulationManager_javascriptEnabled = new WeakMap();
 //# sourceMappingURL=EmulationManager.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EmulationManager.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EmulationManager.js.map
index b506257..dd8293c 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EmulationManager.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EmulationManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"EmulationManager.js","sourceRoot":"","sources":["../../../../src/common/EmulationManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"EmulationManager.js","sourceRoot":"","sources":["../../../../src/common/EmulationManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.js
index b609adc..c914d72 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _ProtocolError_code, _ProtocolError_originalMessage;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.errors = exports.TargetCloseError = exports.ProtocolError = exports.TimeoutError = exports.CustomError = void 0;
 /**
@@ -63,34 +51,30 @@
  * @public
  */
 class ProtocolError extends CustomError {
-    constructor() {
-        super(...arguments);
-        _ProtocolError_code.set(this, void 0);
-        _ProtocolError_originalMessage.set(this, '');
-    }
+    #code;
+    #originalMessage = '';
     set code(code) {
-        __classPrivateFieldSet(this, _ProtocolError_code, code, "f");
+        this.#code = code;
     }
     /**
      * @readonly
      * @public
      */
     get code() {
-        return __classPrivateFieldGet(this, _ProtocolError_code, "f");
+        return this.#code;
     }
     set originalMessage(originalMessage) {
-        __classPrivateFieldSet(this, _ProtocolError_originalMessage, originalMessage, "f");
+        this.#originalMessage = originalMessage;
     }
     /**
      * @readonly
      * @public
      */
     get originalMessage() {
-        return __classPrivateFieldGet(this, _ProtocolError_originalMessage, "f");
+        return this.#originalMessage;
     }
 }
 exports.ProtocolError = ProtocolError;
-_ProtocolError_code = new WeakMap(), _ProtocolError_originalMessage = new WeakMap();
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.js.map
index b72c80b..51c70ee 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.js.map
@@ -1 +1 @@
-{"version":3,"file":"Errors.js","sourceRoot":"","sources":["../../../../src/common/Errors.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;AAEH;;;;GAIG;AACH,MAAa,WAAY,SAAQ,KAAK;IACpC;;OAEG;IACH,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AATD,kCASC;AAED;;;;;;;;;GASG;AACH,MAAa,YAAa,SAAQ,WAAW;CAAG;AAAhD,oCAAgD;AAEhD;;;;GAIG;AACH,MAAa,aAAc,SAAQ,WAAW;IAA9C;;QACE,sCAAe;QACf,yCAAmB,EAAE,EAAC;IAuBxB,CAAC;IArBC,IAAI,IAAI,CAAC,IAAwB;QAC/B,uBAAA,IAAI,uBAAS,IAAI,MAAA,CAAC;IACpB,CAAC;IACD;;;OAGG;IACH,IAAI,IAAI;QACN,OAAO,uBAAA,IAAI,2BAAM,CAAC;IACpB,CAAC;IAED,IAAI,eAAe,CAAC,eAAuB;QACzC,uBAAA,IAAI,kCAAoB,eAAe,MAAA,CAAC;IAC1C,CAAC;IACD;;;OAGG;IACH,IAAI,eAAe;QACjB,OAAO,uBAAA,IAAI,sCAAiB,CAAC;IAC/B,CAAC;CACF;AAzBD,sCAyBC;;AAED;;GAEG;AACH,MAAa,gBAAiB,SAAQ,aAAa;CAAG;AAAtD,4CAAsD;AAYtD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACU,QAAA,MAAM,GAAoB,MAAM,CAAC,MAAM,CAAC;IACnD,YAAY;IACZ,aAAa;CACd,CAAC,CAAC"}
\ No newline at end of file
+{"version":3,"file":"Errors.js","sourceRoot":"","sources":["../../../../src/common/Errors.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH;;;;GAIG;AACH,MAAa,WAAY,SAAQ,KAAK;IACpC;;OAEG;IACH,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AATD,kCASC;AAED;;;;;;;;;GASG;AACH,MAAa,YAAa,SAAQ,WAAW;CAAG;AAAhD,oCAAgD;AAEhD;;;;GAIG;AACH,MAAa,aAAc,SAAQ,WAAW;IAC5C,KAAK,CAAU;IACf,gBAAgB,GAAG,EAAE,CAAC;IAEtB,IAAI,IAAI,CAAC,IAAwB;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IACD;;;OAGG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,eAAe,CAAC,eAAuB;QACzC,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC1C,CAAC;IACD;;;OAGG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAzBD,sCAyBC;AAED;;GAEG;AACH,MAAa,gBAAiB,SAAQ,aAAa;CAAG;AAAtD,4CAAsD;AAYtD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACU,QAAA,MAAM,GAAoB,MAAM,CAAC,MAAM,CAAC;IACnD,YAAY;IACZ,aAAa;CACd,CAAC,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js
index b057ecb..f04ab66 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js
@@ -33,11 +33,12 @@
  * @public
  */
 class EventEmitter {
+    emitter;
+    eventsMap = new Map();
     /**
      * @internal
      */
     constructor() {
-        this.eventsMap = new Map();
         this.emitter = (0, index_js_1.default)(this.eventsMap);
     }
     /**
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js.map
index 661f5b3..609aff0 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js.map
@@ -1 +1 @@
-{"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../../../../src/common/EventEmitter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,+EAA+E;AA8B/E;;;;;;;;;;;GAWG;AACH,MAAa,YAAY;IAIvB;;OAEG;IACH;QALQ,cAAS,GAAkD,IAAI,GAAG,EAAE,CAAC;QAM3E,IAAI,CAAC,OAAO,GAAG,IAAA,kBAAI,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,EAAE,CAAC,KAAgB,EAAE,OAAqB;QACxC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,KAAgB,EAAE,OAAqB;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,KAAgB,EAAE,OAAqB;QACpD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,KAAgB,EAAE,OAAqB;QACjD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,KAAgB,EAAE,SAAmB;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,KAAgB,EAAE,OAAqB;QAC1C,MAAM,WAAW,GAAiB,SAAS,CAAC,EAAE;YAC5C,OAAO,CAAC,SAAS,CAAC,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,KAAgB;QAC5B,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,KAAiB;QAClC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SACxB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,mBAAmB,CAAC,KAAgB;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IAChD,CAAC;CACF;AA1GD,oCA0GC"}
\ No newline at end of file
+{"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../../../../src/common/EventEmitter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;AAEH,+EAA+E;AA8B/E;;;;;;;;;;;GAWG;AACH,MAAa,YAAY;IACf,OAAO,CAAwC;IAC/C,SAAS,GAAkD,IAAI,GAAG,EAAE,CAAC;IAE7E;;OAEG;IACH;QACE,IAAI,CAAC,OAAO,GAAG,IAAA,kBAAI,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,EAAE,CAAC,KAAgB,EAAE,OAAqB;QACxC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,KAAgB,EAAE,OAAqB;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,KAAgB,EAAE,OAAqB;QACpD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,KAAgB,EAAE,OAAqB;QACjD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,KAAgB,EAAE,SAAmB;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,KAAgB,EAAE,OAAqB;QAC1C,MAAM,WAAW,GAAiB,SAAS,CAAC,EAAE;YAC5C,OAAO,CAAC,SAAS,CAAC,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,KAAgB;QAC5B,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,KAAiB;QAClC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SACxB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,mBAAmB,CAAC,KAAgB;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IAChD,CAAC;CACF;AA1GD,oCA0GC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.d.ts.map
index 76160cb..f874aab 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"ExecutionContext.d.ts","sourceRoot":"","sources":["../../../../src/common/ExecutionContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AAMzD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAIjD,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,YAAY,CAAC;AAgBnD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,gBAAgB;;IAC3B,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;gBAGpB,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,2BAA2B,EAC5D,KAAK,CAAC,EAAE,aAAa;IAYvB,IAAI,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAmCpD;IAeD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACG,QAAQ,CACZ,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAIrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACG,cAAc,CAClB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CA+IjD"}
\ No newline at end of file
+{"version":3,"file":"ExecutionContext.d.ts","sourceRoot":"","sources":["../../../../src/common/ExecutionContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AAMzD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAIjD,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,YAAY,CAAC;AAgBnD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,gBAAgB;;IAC3B,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;gBAGpB,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,2BAA2B,EAC5D,KAAK,CAAC,EAAE,aAAa;IAYvB,IAAI,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAsCpD;IAeD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACG,QAAQ,CACZ,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAIrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACG,cAAc,CAClB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CA+IjD"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.js
index 8edd27e..427e012 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _ExecutionContext_instances, _ExecutionContext_bindingsInstalled, _ExecutionContext_puppeteerUtil, _ExecutionContext_installGlobalBinding, _ExecutionContext_evaluate;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.ExecutionContext = void 0;
 const AsyncIterableUtil_js_1 = require("../util/AsyncIterableUtil.js");
@@ -64,10 +52,11 @@
  * @internal
  */
 class ExecutionContext {
+    _client;
+    _world;
+    _contextId;
+    _contextName;
     constructor(client, contextPayload, world) {
-        _ExecutionContext_instances.add(this);
-        _ExecutionContext_bindingsInstalled.set(this, false);
-        _ExecutionContext_puppeteerUtil.set(this, void 0);
         this._client = client;
         this._world = world;
         this._contextId = contextPayload.id;
@@ -75,31 +64,46 @@
             this._contextName = contextPayload.name;
         }
     }
+    #bindingsInstalled = false;
+    #puppeteerUtil;
     get puppeteerUtil() {
         let promise = Promise.resolve();
-        if (!__classPrivateFieldGet(this, _ExecutionContext_bindingsInstalled, "f")) {
+        if (!this.#bindingsInstalled) {
             promise = Promise.all([
-                __classPrivateFieldGet(this, _ExecutionContext_instances, "m", _ExecutionContext_installGlobalBinding).call(this, new Binding_js_1.Binding('__ariaQuerySelector', AriaQueryHandler_js_1.ARIAQueryHandler.queryOne)),
-                __classPrivateFieldGet(this, _ExecutionContext_instances, "m", _ExecutionContext_installGlobalBinding).call(this, new Binding_js_1.Binding('__ariaQuerySelectorAll', (async (element, selector) => {
+                this.#installGlobalBinding(new Binding_js_1.Binding('__ariaQuerySelector', AriaQueryHandler_js_1.ARIAQueryHandler.queryOne)),
+                this.#installGlobalBinding(new Binding_js_1.Binding('__ariaQuerySelectorAll', (async (element, selector) => {
                     const results = AriaQueryHandler_js_1.ARIAQueryHandler.queryAll(element, selector);
                     return element.executionContext().evaluateHandle((...elements) => {
                         return elements;
                     }, ...(await AsyncIterableUtil_js_1.AsyncIterableUtil.collect(results)));
                 }))),
             ]);
-            __classPrivateFieldSet(this, _ExecutionContext_bindingsInstalled, true, "f");
+            this.#bindingsInstalled = true;
         }
         ScriptInjector_js_1.scriptInjector.inject(script => {
-            if (__classPrivateFieldGet(this, _ExecutionContext_puppeteerUtil, "f")) {
-                void __classPrivateFieldGet(this, _ExecutionContext_puppeteerUtil, "f").then(handle => {
+            if (this.#puppeteerUtil) {
+                void this.#puppeteerUtil.then(handle => {
                     void handle.dispose();
                 });
             }
-            __classPrivateFieldSet(this, _ExecutionContext_puppeteerUtil, promise.then(() => {
+            this.#puppeteerUtil = promise.then(() => {
                 return this.evaluateHandle(script);
-            }), "f");
-        }, !__classPrivateFieldGet(this, _ExecutionContext_puppeteerUtil, "f"));
-        return __classPrivateFieldGet(this, _ExecutionContext_puppeteerUtil, "f");
+            });
+        }, !this.#puppeteerUtil);
+        return this.#puppeteerUtil;
+    }
+    async #installGlobalBinding(binding) {
+        try {
+            if (this._world) {
+                this._world._bindings.set(binding.name, binding);
+                await this._world._addBindingToContext(this, binding.name);
+            }
+        }
+        catch {
+            // If the binding cannot be added, then either the browser doesn't support
+            // bindings (e.g. Firefox) or the context is broken. Either breakage is
+            // okay, so we ignore the error.
+        }
     }
     /**
      * Evaluates the given function.
@@ -142,7 +146,7 @@
      * returned.
      */
     async evaluate(pageFunction, ...args) {
-        return await __classPrivateFieldGet(this, _ExecutionContext_instances, "m", _ExecutionContext_evaluate).call(this, true, pageFunction, ...args);
+        return await this.#evaluate(true, pageFunction, ...args);
     }
     /**
      * Evaluates the given function.
@@ -194,119 +198,107 @@
      * {@link ElementHandle | element handle}.
      */
     async evaluateHandle(pageFunction, ...args) {
-        return __classPrivateFieldGet(this, _ExecutionContext_instances, "m", _ExecutionContext_evaluate).call(this, false, pageFunction, ...args);
+        return this.#evaluate(false, pageFunction, ...args);
     }
-}
-exports.ExecutionContext = ExecutionContext;
-_ExecutionContext_bindingsInstalled = new WeakMap(), _ExecutionContext_puppeteerUtil = new WeakMap(), _ExecutionContext_instances = new WeakSet(), _ExecutionContext_installGlobalBinding = async function _ExecutionContext_installGlobalBinding(binding) {
-    try {
-        if (this._world) {
-            this._world._bindings.set(binding.name, binding);
-            await this._world._addBindingToContext(this, binding.name);
+    async #evaluate(returnByValue, pageFunction, ...args) {
+        const sourceUrlComment = getSourceUrlComment((0, util_js_1.getSourcePuppeteerURLIfAvailable)(pageFunction)?.toString() ??
+            util_js_1.PuppeteerURL.INTERNAL_URL);
+        if ((0, util_js_1.isString)(pageFunction)) {
+            const contextId = this._contextId;
+            const expression = pageFunction;
+            const expressionWithSourceUrl = SOURCE_URL_REGEX.test(expression)
+                ? expression
+                : `${expression}\n${sourceUrlComment}\n`;
+            const { exceptionDetails, result: remoteObject } = await this._client
+                .send('Runtime.evaluate', {
+                expression: expressionWithSourceUrl,
+                contextId,
+                returnByValue,
+                awaitPromise: true,
+                userGesture: true,
+            })
+                .catch(rewriteError);
+            if (exceptionDetails) {
+                throw (0, util_js_1.createEvaluationError)(exceptionDetails);
+            }
+            return returnByValue
+                ? (0, util_js_1.valueFromRemoteObject)(remoteObject)
+                : (0, util_js_1.createJSHandle)(this, remoteObject);
         }
-    }
-    catch {
-        // If the binding cannot be added, then either the browser doesn't support
-        // bindings (e.g. Firefox) or the context is broken. Either breakage is
-        // okay, so we ignore the error.
-    }
-}, _ExecutionContext_evaluate = async function _ExecutionContext_evaluate(returnByValue, pageFunction, ...args) {
-    const sourceUrlComment = getSourceUrlComment((0, util_js_1.getSourcePuppeteerURLIfAvailable)(pageFunction)?.toString() ??
-        util_js_1.PuppeteerURL.INTERNAL_URL);
-    if ((0, util_js_1.isString)(pageFunction)) {
-        const contextId = this._contextId;
-        const expression = pageFunction;
-        const expressionWithSourceUrl = SOURCE_URL_REGEX.test(expression)
-            ? expression
-            : `${expression}\n${sourceUrlComment}\n`;
-        const { exceptionDetails, result: remoteObject } = await this._client
-            .send('Runtime.evaluate', {
-            expression: expressionWithSourceUrl,
-            contextId,
-            returnByValue,
-            awaitPromise: true,
-            userGesture: true,
-        })
-            .catch(rewriteError);
+        const functionDeclaration = (0, Function_js_1.stringifyFunction)(pageFunction);
+        const functionDeclarationWithSourceUrl = SOURCE_URL_REGEX.test(functionDeclaration)
+            ? functionDeclaration
+            : `${functionDeclaration}\n${sourceUrlComment}\n`;
+        let callFunctionOnPromise;
+        try {
+            callFunctionOnPromise = this._client.send('Runtime.callFunctionOn', {
+                functionDeclaration: functionDeclarationWithSourceUrl,
+                executionContextId: this._contextId,
+                arguments: await Promise.all(args.map(convertArgument.bind(this))),
+                returnByValue,
+                awaitPromise: true,
+                userGesture: true,
+            });
+        }
+        catch (error) {
+            if (error instanceof TypeError &&
+                error.message.startsWith('Converting circular structure to JSON')) {
+                error.message += ' Recursive objects are not allowed.';
+            }
+            throw error;
+        }
+        const { exceptionDetails, result: remoteObject } = await callFunctionOnPromise.catch(rewriteError);
         if (exceptionDetails) {
             throw (0, util_js_1.createEvaluationError)(exceptionDetails);
         }
         return returnByValue
             ? (0, util_js_1.valueFromRemoteObject)(remoteObject)
             : (0, util_js_1.createJSHandle)(this, remoteObject);
-    }
-    const functionDeclaration = (0, Function_js_1.stringifyFunction)(pageFunction);
-    const functionDeclarationWithSourceUrl = SOURCE_URL_REGEX.test(functionDeclaration)
-        ? functionDeclaration
-        : `${functionDeclaration}\n${sourceUrlComment}\n`;
-    let callFunctionOnPromise;
-    try {
-        callFunctionOnPromise = this._client.send('Runtime.callFunctionOn', {
-            functionDeclaration: functionDeclarationWithSourceUrl,
-            executionContextId: this._contextId,
-            arguments: await Promise.all(args.map(convertArgument.bind(this))),
-            returnByValue,
-            awaitPromise: true,
-            userGesture: true,
-        });
-    }
-    catch (error) {
-        if (error instanceof TypeError &&
-            error.message.startsWith('Converting circular structure to JSON')) {
-            error.message += ' Recursive objects are not allowed.';
-        }
-        throw error;
-    }
-    const { exceptionDetails, result: remoteObject } = await callFunctionOnPromise.catch(rewriteError);
-    if (exceptionDetails) {
-        throw (0, util_js_1.createEvaluationError)(exceptionDetails);
-    }
-    return returnByValue
-        ? (0, util_js_1.valueFromRemoteObject)(remoteObject)
-        : (0, util_js_1.createJSHandle)(this, remoteObject);
-    async function convertArgument(arg) {
-        if (arg instanceof LazyArg_js_1.LazyArg) {
-            arg = await arg.get(this);
-        }
-        if (typeof arg === 'bigint') {
-            // eslint-disable-line valid-typeof
-            return { unserializableValue: `${arg.toString()}n` };
-        }
-        if (Object.is(arg, -0)) {
-            return { unserializableValue: '-0' };
-        }
-        if (Object.is(arg, Infinity)) {
-            return { unserializableValue: 'Infinity' };
-        }
-        if (Object.is(arg, -Infinity)) {
-            return { unserializableValue: '-Infinity' };
-        }
-        if (Object.is(arg, NaN)) {
-            return { unserializableValue: 'NaN' };
-        }
-        const objectHandle = arg && (arg instanceof JSHandle_js_1.CDPJSHandle || arg instanceof ElementHandle_js_1.CDPElementHandle)
-            ? arg
-            : null;
-        if (objectHandle) {
-            if (objectHandle.executionContext() !== this) {
-                throw new Error('JSHandles can be evaluated only in the context they were created!');
+        async function convertArgument(arg) {
+            if (arg instanceof LazyArg_js_1.LazyArg) {
+                arg = await arg.get(this);
             }
-            if (objectHandle.disposed) {
-                throw new Error('JSHandle is disposed!');
+            if (typeof arg === 'bigint') {
+                // eslint-disable-line valid-typeof
+                return { unserializableValue: `${arg.toString()}n` };
             }
-            if (objectHandle.remoteObject().unserializableValue) {
-                return {
-                    unserializableValue: objectHandle.remoteObject().unserializableValue,
-                };
+            if (Object.is(arg, -0)) {
+                return { unserializableValue: '-0' };
             }
-            if (!objectHandle.remoteObject().objectId) {
-                return { value: objectHandle.remoteObject().value };
+            if (Object.is(arg, Infinity)) {
+                return { unserializableValue: 'Infinity' };
             }
-            return { objectId: objectHandle.remoteObject().objectId };
+            if (Object.is(arg, -Infinity)) {
+                return { unserializableValue: '-Infinity' };
+            }
+            if (Object.is(arg, NaN)) {
+                return { unserializableValue: 'NaN' };
+            }
+            const objectHandle = arg && (arg instanceof JSHandle_js_1.CDPJSHandle || arg instanceof ElementHandle_js_1.CDPElementHandle)
+                ? arg
+                : null;
+            if (objectHandle) {
+                if (objectHandle.executionContext() !== this) {
+                    throw new Error('JSHandles can be evaluated only in the context they were created!');
+                }
+                if (objectHandle.disposed) {
+                    throw new Error('JSHandle is disposed!');
+                }
+                if (objectHandle.remoteObject().unserializableValue) {
+                    return {
+                        unserializableValue: objectHandle.remoteObject().unserializableValue,
+                    };
+                }
+                if (!objectHandle.remoteObject().objectId) {
+                    return { value: objectHandle.remoteObject().value };
+                }
+                return { objectId: objectHandle.remoteObject().objectId };
+            }
+            return { value: arg };
         }
-        return { value: arg };
     }
-};
+}
+exports.ExecutionContext = ExecutionContext;
 const rewriteError = (error) => {
     if (error.message.includes('Object reference chain is too long')) {
         return { result: { type: 'undefined' } };
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.js.map
index 9a40f4c..55116ad 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.js.map
@@ -1 +1 @@
-{"version":3,"file":"ExecutionContext.js","sourceRoot":"","sources":["../../../../src/common/ExecutionContext.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;AAOH,uEAA+D;AAC/D,qDAAsD;AAEtD,+DAAuD;AACvD,6CAAqC;AAErC,yDAAoD;AAEpD,+CAA0C;AAC1C,6CAAqC;AACrC,2DAAmD;AAEnD,uCAOmB;AAEnB,MAAM,gBAAgB,GAAG,6CAA6C,CAAC;AAEvE,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAE,EAAE;IAC1C,OAAO,iBAAiB,GAAG,EAAE,CAAC;AAChC,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,gBAAgB;IAM3B,YACE,MAAkB,EAClB,cAA4D,EAC5D,KAAqB;;QAUvB,8CAAqB,KAAK,EAAC;QAC3B,kDAAkD;QAThD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,EAAE,CAAC;QACpC,IAAI,cAAc,CAAC,IAAI,EAAE;YACvB,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC;SACzC;IACH,CAAC;IAID,IAAI,aAAa;QACf,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,EAAsB,CAAC;QACpD,IAAI,CAAC,uBAAA,IAAI,2CAAmB,EAAE;YAC5B,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;gBACpB,uBAAA,IAAI,2EAAsB,MAA1B,IAAI,EACF,IAAI,oBAAO,CACT,qBAAqB,EACrB,sCAAgB,CAAC,QAA2C,CAC7D,CACF;gBACD,uBAAA,IAAI,2EAAsB,MAA1B,IAAI,EACF,IAAI,oBAAO,CAAC,wBAAwB,EAAE,CAAC,KAAK,EAC1C,OAA4B,EAC5B,QAAgB,EACW,EAAE;oBAC7B,MAAM,OAAO,GAAG,sCAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;oBAC7D,OAAO,OAAO,CAAC,gBAAgB,EAAE,CAAC,cAAc,CAAC,CAAC,GAAG,QAAQ,EAAE,EAAE;wBAC/D,OAAO,QAAQ,CAAC;oBAClB,CAAC,EAAE,GAAG,CAAC,MAAM,wCAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACpD,CAAC,CAAoC,CAAC,CACvC;aACF,CAAC,CAAC;YACH,uBAAA,IAAI,uCAAsB,IAAI,MAAA,CAAC;SAChC;QACD,kCAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAC7B,IAAI,uBAAA,IAAI,uCAAe,EAAE;gBACvB,KAAK,uBAAA,IAAI,uCAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBACrC,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;gBACxB,CAAC,CAAC,CAAC;aACJ;YACD,uBAAA,IAAI,mCAAkB,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;gBACtC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAqC,CAAC;YACzE,CAAC,CAAC,MAAA,CAAC;QACL,CAAC,EAAE,CAAC,uBAAA,IAAI,uCAAe,CAAC,CAAC;QACzB,OAAO,uBAAA,IAAI,uCAAmD,CAAC;IACjE,CAAC;IAeD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,KAAK,CAAC,QAAQ,CAIZ,YAA2B,EAC3B,GAAG,IAAY;QAEf,OAAO,MAAM,uBAAA,IAAI,+DAAU,MAAd,IAAI,EAAW,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACH,KAAK,CAAC,cAAc,CAIlB,YAA2B,EAC3B,GAAG,IAAY;QAEf,OAAO,uBAAA,IAAI,+DAAU,MAAd,IAAI,EAAW,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IACtD,CAAC;CA6IF;AA/TD,4CA+TC;4LArQC,KAAK,iDAAuB,OAAgB;IAC1C,IAAI;QACF,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;SAC5D;KACF;IAAC,MAAM;QACN,0EAA0E;QAC1E,uEAAuE;QACvE,gCAAgC;KACjC;AACH,CAAC,+BA+HD,KAAK,qCAIH,aAAsB,EACtB,YAA2B,EAC3B,GAAG,IAAY;IAEf,MAAM,gBAAgB,GAAG,mBAAmB,CAC1C,IAAA,0CAAgC,EAAC,YAAY,CAAC,EAAE,QAAQ,EAAE;QACxD,sBAAY,CAAC,YAAY,CAC5B,CAAC;IAEF,IAAI,IAAA,kBAAQ,EAAC,YAAY,CAAC,EAAE;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,MAAM,UAAU,GAAG,YAAY,CAAC;QAChC,MAAM,uBAAuB,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC;YAC/D,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,GAAG,UAAU,KAAK,gBAAgB,IAAI,CAAC;QAE3C,MAAM,EAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAC,GAAG,MAAM,IAAI,CAAC,OAAO;aAChE,IAAI,CAAC,kBAAkB,EAAE;YACxB,UAAU,EAAE,uBAAuB;YACnC,SAAS;YACT,aAAa;YACb,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,IAAI;SAClB,CAAC;aACD,KAAK,CAAC,YAAY,CAAC,CAAC;QAEvB,IAAI,gBAAgB,EAAE;YACpB,MAAM,IAAA,+BAAqB,EAAC,gBAAgB,CAAC,CAAC;SAC/C;QAED,OAAO,aAAa;YAClB,CAAC,CAAC,IAAA,+BAAqB,EAAC,YAAY,CAAC;YACrC,CAAC,CAAC,IAAA,wBAAc,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;KACxC;IAED,MAAM,mBAAmB,GAAG,IAAA,+BAAiB,EAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,gCAAgC,GAAG,gBAAgB,CAAC,IAAI,CAC5D,mBAAmB,CACpB;QACC,CAAC,CAAC,mBAAmB;QACrB,CAAC,CAAC,GAAG,mBAAmB,KAAK,gBAAgB,IAAI,CAAC;IACpD,IAAI,qBAAqB,CAAC;IAC1B,IAAI;QACF,qBAAqB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE;YAClE,mBAAmB,EAAE,gCAAgC;YACrD,kBAAkB,EAAE,IAAI,CAAC,UAAU;YACnC,SAAS,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAClE,aAAa;YACb,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;KACJ;IAAC,OAAO,KAAK,EAAE;QACd,IACE,KAAK,YAAY,SAAS;YAC1B,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,uCAAuC,CAAC,EACjE;YACA,KAAK,CAAC,OAAO,IAAI,qCAAqC,CAAC;SACxD;QACD,MAAM,KAAK,CAAC;KACb;IACD,MAAM,EAAC,gBAAgB,EAAE,MAAM,EAAE,YAAY,EAAC,GAC5C,MAAM,qBAAqB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClD,IAAI,gBAAgB,EAAE;QACpB,MAAM,IAAA,+BAAqB,EAAC,gBAAgB,CAAC,CAAC;KAC/C;IACD,OAAO,aAAa;QAClB,CAAC,CAAC,IAAA,+BAAqB,EAAC,YAAY,CAAC;QACrC,CAAC,CAAC,IAAA,wBAAc,EAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAEvC,KAAK,UAAU,eAAe,CAE5B,GAAY;QAEZ,IAAI,GAAG,YAAY,oBAAO,EAAE;YAC1B,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC3B;QACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,mCAAmC;YACnC,OAAO,EAAC,mBAAmB,EAAE,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAC,CAAC;SACpD;QACD,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;YACtB,OAAO,EAAC,mBAAmB,EAAE,IAAI,EAAC,CAAC;SACpC;QACD,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE;YAC5B,OAAO,EAAC,mBAAmB,EAAE,UAAU,EAAC,CAAC;SAC1C;QACD,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE;YAC7B,OAAO,EAAC,mBAAmB,EAAE,WAAW,EAAC,CAAC;SAC3C;QACD,IAAI,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;YACvB,OAAO,EAAC,mBAAmB,EAAE,KAAK,EAAC,CAAC;SACrC;QACD,MAAM,YAAY,GAChB,GAAG,IAAI,CAAC,GAAG,YAAY,yBAAW,IAAI,GAAG,YAAY,mCAAgB,CAAC;YACpE,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,YAAY,EAAE;YAChB,IAAI,YAAY,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;gBAC5C,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;aACH;YACD,IAAI,YAAY,CAAC,QAAQ,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;aAC1C;YACD,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC,mBAAmB,EAAE;gBACnD,OAAO;oBACL,mBAAmB,EACjB,YAAY,CAAC,YAAY,EAAE,CAAC,mBAAmB;iBAClD,CAAC;aACH;YACD,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAE;gBACzC,OAAO,EAAC,KAAK,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC,KAAK,EAAC,CAAC;aACnD;YACD,OAAO,EAAC,QAAQ,EAAE,YAAY,CAAC,YAAY,EAAE,CAAC,QAAQ,EAAC,CAAC;SACzD;QACD,OAAO,EAAC,KAAK,EAAE,GAAG,EAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAGH,MAAM,YAAY,GAAG,CAAC,KAAY,EAAqC,EAAE;IACvE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,oCAAoC,CAAC,EAAE;QAChE,OAAO,EAAC,MAAM,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,EAAC,CAAC;KACtC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,sCAAsC,CAAC,EAAE;QAClE,OAAO,EAAC,MAAM,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,EAAC,CAAC;KACtC;IAED,IACE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAC/D,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,sCAAsC,CAAC,EAC9D;QACA,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;KACH;IACD,MAAM,KAAK,CAAC;AACd,CAAC,CAAC"}
\ No newline at end of file
+{"version":3,"file":"ExecutionContext.js","sourceRoot":"","sources":["../../../../src/common/ExecutionContext.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.js
index 1519655..234e8dc 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _FileChooser_element, _FileChooser_multiple, _FileChooser_handled;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.FileChooser = void 0;
 const assert_js_1 = require("../util/assert.js");
@@ -52,15 +40,15 @@
  * @public
  */
 class FileChooser {
+    #element;
+    #multiple;
+    #handled = false;
     /**
      * @internal
      */
     constructor(element, event) {
-        _FileChooser_element.set(this, void 0);
-        _FileChooser_multiple.set(this, void 0);
-        _FileChooser_handled.set(this, false);
-        __classPrivateFieldSet(this, _FileChooser_element, element, "f");
-        __classPrivateFieldSet(this, _FileChooser_multiple, event.mode !== 'selectSingle', "f");
+        this.#element = element;
+        this.#multiple = event.mode !== 'selectSingle';
     }
     /**
      * Whether file chooser allow for
@@ -68,7 +56,7 @@
      * file selection.
      */
     isMultiple() {
-        return __classPrivateFieldGet(this, _FileChooser_multiple, "f");
+        return this.#multiple;
     }
     /**
      * Accept the file chooser request with the given file paths.
@@ -80,18 +68,17 @@
      * absolute.
      */
     async accept(paths) {
-        (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _FileChooser_handled, "f"), 'Cannot accept FileChooser which is already handled!');
-        __classPrivateFieldSet(this, _FileChooser_handled, true, "f");
-        await __classPrivateFieldGet(this, _FileChooser_element, "f").uploadFile(...paths);
+        (0, assert_js_1.assert)(!this.#handled, 'Cannot accept FileChooser which is already handled!');
+        this.#handled = true;
+        await this.#element.uploadFile(...paths);
     }
     /**
      * Closes the file chooser without selecting any files.
      */
     cancel() {
-        (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _FileChooser_handled, "f"), 'Cannot cancel FileChooser which is already handled!');
-        __classPrivateFieldSet(this, _FileChooser_handled, true, "f");
+        (0, assert_js_1.assert)(!this.#handled, 'Cannot cancel FileChooser which is already handled!');
+        this.#handled = true;
     }
 }
 exports.FileChooser = FileChooser;
-_FileChooser_element = new WeakMap(), _FileChooser_multiple = new WeakMap(), _FileChooser_handled = new WeakMap();
 //# sourceMappingURL=FileChooser.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.js.map
index 7ab3b03..792789a 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.js.map
@@ -1 +1 @@
-{"version":3,"file":"FileChooser.js","sourceRoot":"","sources":["../../../../src/common/FileChooser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;AAKH,iDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,WAAW;IAKtB;;OAEG;IACH,YACE,OAAwC,EACxC,KAA2C;QAT7C,uCAA0C;QAC1C,wCAAmB;QACnB,+BAAW,KAAK,EAAC;QASf,uBAAA,IAAI,wBAAY,OAAO,MAAA,CAAC;QACxB,uBAAA,IAAI,yBAAa,KAAK,CAAC,IAAI,KAAK,cAAc,MAAA,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,OAAO,uBAAA,IAAI,6BAAU,CAAC;IACxB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CAAC,KAAe;QAC1B,IAAA,kBAAM,EACJ,CAAC,uBAAA,IAAI,4BAAS,EACd,qDAAqD,CACtD,CAAC;QACF,uBAAA,IAAI,wBAAY,IAAI,MAAA,CAAC;QACrB,MAAM,uBAAA,IAAI,4BAAS,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAA,kBAAM,EACJ,CAAC,uBAAA,IAAI,4BAAS,EACd,qDAAqD,CACtD,CAAC;QACF,uBAAA,IAAI,wBAAY,IAAI,MAAA,CAAC;IACvB,CAAC;CACF;AArDD,kCAqDC"}
\ No newline at end of file
+{"version":3,"file":"FileChooser.js","sourceRoot":"","sources":["../../../../src/common/FileChooser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAKH,iDAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,WAAW;IACtB,QAAQ,CAAkC;IAC1C,SAAS,CAAU;IACnB,QAAQ,GAAG,KAAK,CAAC;IAEjB;;OAEG;IACH,YACE,OAAwC,EACxC,KAA2C;QAE3C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CAAC,KAAe;QAC1B,IAAA,kBAAM,EACJ,CAAC,IAAI,CAAC,QAAQ,EACd,qDAAqD,CACtD,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAA,kBAAM,EACJ,CAAC,IAAI,CAAC,QAAQ,EACd,qDAAqD,CACtD,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CACF;AArDD,kCAqDC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FirefoxTargetManager.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FirefoxTargetManager.d.ts
index 1077905..2bb36ae 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FirefoxTargetManager.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FirefoxTargetManager.d.ts
@@ -16,7 +16,7 @@
 import { TargetFilterCallback } from '../api/Browser.js';
 import { CDPSession, Connection } from './Connection.js';
 import { EventEmitter } from './EventEmitter.js';
-import { Target } from './Target.js';
+import { CDPTarget } from './Target.js';
 import { TargetFactory, TargetInterceptor, TargetManager } from './TargetManager.js';
 /**
  * FirefoxTargetManager implements target management using
@@ -39,7 +39,7 @@
     removeTargetInterceptor(client: CDPSession | Connection, interceptor: TargetInterceptor): void;
     setupAttachmentListeners(session: CDPSession | Connection): void;
     removeSessionListeners(session: CDPSession): void;
-    getAvailableTargets(): Map<string, Target>;
+    getAvailableTargets(): Map<string, CDPTarget>;
     dispose(): void;
     initialize(): Promise<void>;
 }
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FirefoxTargetManager.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FirefoxTargetManager.d.ts.map
index 8c5fa7b..7487c7f 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FirefoxTargetManager.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FirefoxTargetManager.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"FirefoxTargetManager.d.ts","sourceRoot":"","sources":["../../../../src/common/FirefoxTargetManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAIvD,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EACL,aAAa,EACb,iBAAiB,EAEjB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;GAaG;AACH,qBAAa,oBACX,SAAQ,YACR,YAAW,aAAa;;gBA8CtB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,oBAAoB,CAAC,EAAE,oBAAoB;IAa7C,oBAAoB,CAClB,MAAM,EAAE,UAAU,GAAG,UAAU,EAC/B,WAAW,EAAE,iBAAiB,GAC7B,IAAI;IAMP,uBAAuB,CACrB,MAAM,EAAE,UAAU,GAAG,UAAU,EAC/B,WAAW,EAAE,iBAAiB,GAC7B,IAAI;IAUP,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI;IAehE,sBAAsB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAUjD,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI1C,OAAO,IAAI,IAAI;IAKT,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CA6FlC"}
\ No newline at end of file
+{"version":3,"file":"FirefoxTargetManager.d.ts","sourceRoot":"","sources":["../../../../src/common/FirefoxTargetManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAIvD,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EACL,aAAa,EACb,iBAAiB,EAEjB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;GAaG;AACH,qBAAa,oBACX,SAAQ,YACR,YAAW,aAAa;;gBA+CtB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,oBAAoB,CAAC,EAAE,oBAAoB;IAa7C,oBAAoB,CAClB,MAAM,EAAE,UAAU,GAAG,UAAU,EAC/B,WAAW,EAAE,iBAAiB,GAC7B,IAAI;IAMP,uBAAuB,CACrB,MAAM,EAAE,UAAU,GAAG,UAAU,EAC/B,WAAW,EAAE,iBAAiB,GAC7B,IAAI;IAUP,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI;IAehE,sBAAsB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAUjD,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;IAI7C,OAAO,IAAI,IAAI;IAKT,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CA2FlC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FirefoxTargetManager.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FirefoxTargetManager.js
index 033a886..d42594b 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FirefoxTargetManager.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FirefoxTargetManager.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _FirefoxTargetManager_instances, _FirefoxTargetManager_connection, _FirefoxTargetManager_discoveredTargetsByTargetId, _FirefoxTargetManager_availableTargetsByTargetId, _FirefoxTargetManager_availableTargetsBySessionId, _FirefoxTargetManager_ignoredTargets, _FirefoxTargetManager_targetFilterCallback, _FirefoxTargetManager_targetFactory, _FirefoxTargetManager_targetInterceptors, _FirefoxTargetManager_attachedToTargetListenersBySession, _FirefoxTargetManager_initializeDeferred, _FirefoxTargetManager_targetsIdsForInit, _FirefoxTargetManager_onSessionDetached, _FirefoxTargetManager_onTargetCreated, _FirefoxTargetManager_onTargetDestroyed, _FirefoxTargetManager_onAttachedToTarget, _FirefoxTargetManager_finishInitializationIfReady;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.FirefoxTargetManager = void 0;
 const assert_js_1 = require("../util/assert.js");
@@ -47,152 +35,152 @@
  *   @internal
  */
 class FirefoxTargetManager extends EventEmitter_js_1.EventEmitter {
+    #connection;
+    /**
+     * Keeps track of the following events: 'Target.targetCreated',
+     * 'Target.targetDestroyed'.
+     *
+     * A target becomes discovered when 'Target.targetCreated' is received.
+     * A target is removed from this map once 'Target.targetDestroyed' is
+     * received.
+     *
+     * `targetFilterCallback` has no effect on this map.
+     */
+    #discoveredTargetsByTargetId = new Map();
+    /**
+     * Keeps track of targets that were created via 'Target.targetCreated'
+     * and which one are not filtered out by `targetFilterCallback`.
+     *
+     * The target is removed from here once it's been destroyed.
+     */
+    #availableTargetsByTargetId = new Map();
+    /**
+     * Tracks which sessions attach to which target.
+     */
+    #availableTargetsBySessionId = new Map();
+    /**
+     * If a target was filtered out by `targetFilterCallback`, we still receive
+     * events about it from CDP, but we don't forward them to the rest of Puppeteer.
+     */
+    #ignoredTargets = new Set();
+    #targetFilterCallback;
+    #targetFactory;
+    #targetInterceptors = new WeakMap();
+    #attachedToTargetListenersBySession = new WeakMap();
+    #initializeDeferred = Deferred_js_1.Deferred.create();
+    #targetsIdsForInit = new Set();
     constructor(connection, targetFactory, targetFilterCallback) {
         super();
-        _FirefoxTargetManager_instances.add(this);
-        _FirefoxTargetManager_connection.set(this, void 0);
-        /**
-         * Keeps track of the following events: 'Target.targetCreated',
-         * 'Target.targetDestroyed'.
-         *
-         * A target becomes discovered when 'Target.targetCreated' is received.
-         * A target is removed from this map once 'Target.targetDestroyed' is
-         * received.
-         *
-         * `targetFilterCallback` has no effect on this map.
-         */
-        _FirefoxTargetManager_discoveredTargetsByTargetId.set(this, new Map());
-        /**
-         * Keeps track of targets that were created via 'Target.targetCreated'
-         * and which one are not filtered out by `targetFilterCallback`.
-         *
-         * The target is removed from here once it's been destroyed.
-         */
-        _FirefoxTargetManager_availableTargetsByTargetId.set(this, new Map());
-        /**
-         * Tracks which sessions attach to which target.
-         */
-        _FirefoxTargetManager_availableTargetsBySessionId.set(this, new Map());
-        /**
-         * If a target was filtered out by `targetFilterCallback`, we still receive
-         * events about it from CDP, but we don't forward them to the rest of Puppeteer.
-         */
-        _FirefoxTargetManager_ignoredTargets.set(this, new Set());
-        _FirefoxTargetManager_targetFilterCallback.set(this, void 0);
-        _FirefoxTargetManager_targetFactory.set(this, void 0);
-        _FirefoxTargetManager_targetInterceptors.set(this, new WeakMap());
-        _FirefoxTargetManager_attachedToTargetListenersBySession.set(this, new WeakMap());
-        _FirefoxTargetManager_initializeDeferred.set(this, Deferred_js_1.Deferred.create());
-        _FirefoxTargetManager_targetsIdsForInit.set(this, new Set());
-        _FirefoxTargetManager_onSessionDetached.set(this, (session) => {
-            this.removeSessionListeners(session);
-            __classPrivateFieldGet(this, _FirefoxTargetManager_targetInterceptors, "f").delete(session);
-            __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsBySessionId, "f").delete(session.id());
-        });
-        _FirefoxTargetManager_onTargetCreated.set(this, async (event) => {
-            if (__classPrivateFieldGet(this, _FirefoxTargetManager_discoveredTargetsByTargetId, "f").has(event.targetInfo.targetId)) {
-                return;
-            }
-            __classPrivateFieldGet(this, _FirefoxTargetManager_discoveredTargetsByTargetId, "f").set(event.targetInfo.targetId, event.targetInfo);
-            if (event.targetInfo.type === 'browser' && event.targetInfo.attached) {
-                const target = __classPrivateFieldGet(this, _FirefoxTargetManager_targetFactory, "f").call(this, event.targetInfo, undefined);
-                __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsByTargetId, "f").set(event.targetInfo.targetId, target);
-                __classPrivateFieldGet(this, _FirefoxTargetManager_instances, "m", _FirefoxTargetManager_finishInitializationIfReady).call(this, target._targetId);
-                return;
-            }
-            if (__classPrivateFieldGet(this, _FirefoxTargetManager_targetFilterCallback, "f") &&
-                !__classPrivateFieldGet(this, _FirefoxTargetManager_targetFilterCallback, "f").call(this, event.targetInfo)) {
-                __classPrivateFieldGet(this, _FirefoxTargetManager_ignoredTargets, "f").add(event.targetInfo.targetId);
-                __classPrivateFieldGet(this, _FirefoxTargetManager_instances, "m", _FirefoxTargetManager_finishInitializationIfReady).call(this, event.targetInfo.targetId);
-                return;
-            }
-            const target = __classPrivateFieldGet(this, _FirefoxTargetManager_targetFactory, "f").call(this, event.targetInfo, undefined);
-            __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsByTargetId, "f").set(event.targetInfo.targetId, target);
-            this.emit("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, target);
-            __classPrivateFieldGet(this, _FirefoxTargetManager_instances, "m", _FirefoxTargetManager_finishInitializationIfReady).call(this, target._targetId);
-        });
-        _FirefoxTargetManager_onTargetDestroyed.set(this, (event) => {
-            __classPrivateFieldGet(this, _FirefoxTargetManager_discoveredTargetsByTargetId, "f").delete(event.targetId);
-            __classPrivateFieldGet(this, _FirefoxTargetManager_instances, "m", _FirefoxTargetManager_finishInitializationIfReady).call(this, event.targetId);
-            const target = __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsByTargetId, "f").get(event.targetId);
-            if (target) {
-                this.emit("targetGone" /* TargetManagerEmittedEvents.TargetGone */, target);
-                __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsByTargetId, "f").delete(event.targetId);
-            }
-        });
-        _FirefoxTargetManager_onAttachedToTarget.set(this, async (parentSession, event) => {
-            const targetInfo = event.targetInfo;
-            const session = __classPrivateFieldGet(this, _FirefoxTargetManager_connection, "f").session(event.sessionId);
-            if (!session) {
-                throw new Error(`Session ${event.sessionId} was not created.`);
-            }
-            const target = __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsByTargetId, "f").get(targetInfo.targetId);
-            (0, assert_js_1.assert)(target, `Target ${targetInfo.targetId} is missing`);
-            this.setupAttachmentListeners(session);
-            __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsBySessionId, "f").set(session.id(), __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsByTargetId, "f").get(targetInfo.targetId));
-            for (const hook of __classPrivateFieldGet(this, _FirefoxTargetManager_targetInterceptors, "f").get(parentSession) || []) {
-                if (!(parentSession instanceof Connection_js_1.Connection)) {
-                    (0, assert_js_1.assert)(__classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsBySessionId, "f").has(parentSession.id()));
-                }
-                await hook(target, parentSession instanceof Connection_js_1.Connection
-                    ? null
-                    : __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsBySessionId, "f").get(parentSession.id()));
-            }
-        });
-        __classPrivateFieldSet(this, _FirefoxTargetManager_connection, connection, "f");
-        __classPrivateFieldSet(this, _FirefoxTargetManager_targetFilterCallback, targetFilterCallback, "f");
-        __classPrivateFieldSet(this, _FirefoxTargetManager_targetFactory, targetFactory, "f");
-        __classPrivateFieldGet(this, _FirefoxTargetManager_connection, "f").on('Target.targetCreated', __classPrivateFieldGet(this, _FirefoxTargetManager_onTargetCreated, "f"));
-        __classPrivateFieldGet(this, _FirefoxTargetManager_connection, "f").on('Target.targetDestroyed', __classPrivateFieldGet(this, _FirefoxTargetManager_onTargetDestroyed, "f"));
-        __classPrivateFieldGet(this, _FirefoxTargetManager_connection, "f").on('sessiondetached', __classPrivateFieldGet(this, _FirefoxTargetManager_onSessionDetached, "f"));
-        this.setupAttachmentListeners(__classPrivateFieldGet(this, _FirefoxTargetManager_connection, "f"));
+        this.#connection = connection;
+        this.#targetFilterCallback = targetFilterCallback;
+        this.#targetFactory = targetFactory;
+        this.#connection.on('Target.targetCreated', this.#onTargetCreated);
+        this.#connection.on('Target.targetDestroyed', this.#onTargetDestroyed);
+        this.#connection.on('sessiondetached', this.#onSessionDetached);
+        this.setupAttachmentListeners(this.#connection);
     }
     addTargetInterceptor(client, interceptor) {
-        const interceptors = __classPrivateFieldGet(this, _FirefoxTargetManager_targetInterceptors, "f").get(client) || [];
+        const interceptors = this.#targetInterceptors.get(client) || [];
         interceptors.push(interceptor);
-        __classPrivateFieldGet(this, _FirefoxTargetManager_targetInterceptors, "f").set(client, interceptors);
+        this.#targetInterceptors.set(client, interceptors);
     }
     removeTargetInterceptor(client, interceptor) {
-        const interceptors = __classPrivateFieldGet(this, _FirefoxTargetManager_targetInterceptors, "f").get(client) || [];
-        __classPrivateFieldGet(this, _FirefoxTargetManager_targetInterceptors, "f").set(client, interceptors.filter(currentInterceptor => {
+        const interceptors = this.#targetInterceptors.get(client) || [];
+        this.#targetInterceptors.set(client, interceptors.filter(currentInterceptor => {
             return currentInterceptor !== interceptor;
         }));
     }
     setupAttachmentListeners(session) {
         const listener = (event) => {
-            return __classPrivateFieldGet(this, _FirefoxTargetManager_onAttachedToTarget, "f").call(this, session, event);
+            return this.#onAttachedToTarget(session, event);
         };
-        (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _FirefoxTargetManager_attachedToTargetListenersBySession, "f").has(session));
-        __classPrivateFieldGet(this, _FirefoxTargetManager_attachedToTargetListenersBySession, "f").set(session, listener);
+        (0, assert_js_1.assert)(!this.#attachedToTargetListenersBySession.has(session));
+        this.#attachedToTargetListenersBySession.set(session, listener);
         session.on('Target.attachedToTarget', listener);
     }
+    #onSessionDetached = (session) => {
+        this.removeSessionListeners(session);
+        this.#targetInterceptors.delete(session);
+        this.#availableTargetsBySessionId.delete(session.id());
+    };
     removeSessionListeners(session) {
-        if (__classPrivateFieldGet(this, _FirefoxTargetManager_attachedToTargetListenersBySession, "f").has(session)) {
-            session.off('Target.attachedToTarget', __classPrivateFieldGet(this, _FirefoxTargetManager_attachedToTargetListenersBySession, "f").get(session));
-            __classPrivateFieldGet(this, _FirefoxTargetManager_attachedToTargetListenersBySession, "f").delete(session);
+        if (this.#attachedToTargetListenersBySession.has(session)) {
+            session.off('Target.attachedToTarget', this.#attachedToTargetListenersBySession.get(session));
+            this.#attachedToTargetListenersBySession.delete(session);
         }
     }
     getAvailableTargets() {
-        return __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsByTargetId, "f");
+        return this.#availableTargetsByTargetId;
     }
     dispose() {
-        __classPrivateFieldGet(this, _FirefoxTargetManager_connection, "f").off('Target.targetCreated', __classPrivateFieldGet(this, _FirefoxTargetManager_onTargetCreated, "f"));
-        __classPrivateFieldGet(this, _FirefoxTargetManager_connection, "f").off('Target.targetDestroyed', __classPrivateFieldGet(this, _FirefoxTargetManager_onTargetDestroyed, "f"));
+        this.#connection.off('Target.targetCreated', this.#onTargetCreated);
+        this.#connection.off('Target.targetDestroyed', this.#onTargetDestroyed);
     }
     async initialize() {
-        await __classPrivateFieldGet(this, _FirefoxTargetManager_connection, "f").send('Target.setDiscoverTargets', {
+        await this.#connection.send('Target.setDiscoverTargets', {
             discover: true,
             filter: [{}],
         });
-        __classPrivateFieldSet(this, _FirefoxTargetManager_targetsIdsForInit, new Set(__classPrivateFieldGet(this, _FirefoxTargetManager_discoveredTargetsByTargetId, "f").keys()), "f");
-        await __classPrivateFieldGet(this, _FirefoxTargetManager_initializeDeferred, "f").valueOrThrow();
+        this.#targetsIdsForInit = new Set(this.#discoveredTargetsByTargetId.keys());
+        await this.#initializeDeferred.valueOrThrow();
+    }
+    #onTargetCreated = async (event) => {
+        if (this.#discoveredTargetsByTargetId.has(event.targetInfo.targetId)) {
+            return;
+        }
+        this.#discoveredTargetsByTargetId.set(event.targetInfo.targetId, event.targetInfo);
+        if (event.targetInfo.type === 'browser' && event.targetInfo.attached) {
+            const target = this.#targetFactory(event.targetInfo, undefined);
+            target._initialize();
+            this.#availableTargetsByTargetId.set(event.targetInfo.targetId, target);
+            this.#finishInitializationIfReady(target._targetId);
+            return;
+        }
+        const target = this.#targetFactory(event.targetInfo, undefined);
+        if (this.#targetFilterCallback && !this.#targetFilterCallback(target)) {
+            this.#ignoredTargets.add(event.targetInfo.targetId);
+            this.#finishInitializationIfReady(event.targetInfo.targetId);
+            return;
+        }
+        target._initialize();
+        this.#availableTargetsByTargetId.set(event.targetInfo.targetId, target);
+        this.emit("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, target);
+        this.#finishInitializationIfReady(target._targetId);
+    };
+    #onTargetDestroyed = (event) => {
+        this.#discoveredTargetsByTargetId.delete(event.targetId);
+        this.#finishInitializationIfReady(event.targetId);
+        const target = this.#availableTargetsByTargetId.get(event.targetId);
+        if (target) {
+            this.emit("targetGone" /* TargetManagerEmittedEvents.TargetGone */, target);
+            this.#availableTargetsByTargetId.delete(event.targetId);
+        }
+    };
+    #onAttachedToTarget = async (parentSession, event) => {
+        const targetInfo = event.targetInfo;
+        const session = this.#connection.session(event.sessionId);
+        if (!session) {
+            throw new Error(`Session ${event.sessionId} was not created.`);
+        }
+        const target = this.#availableTargetsByTargetId.get(targetInfo.targetId);
+        (0, assert_js_1.assert)(target, `Target ${targetInfo.targetId} is missing`);
+        this.setupAttachmentListeners(session);
+        this.#availableTargetsBySessionId.set(session.id(), this.#availableTargetsByTargetId.get(targetInfo.targetId));
+        for (const hook of this.#targetInterceptors.get(parentSession) || []) {
+            if (!(parentSession instanceof Connection_js_1.Connection)) {
+                (0, assert_js_1.assert)(this.#availableTargetsBySessionId.has(parentSession.id()));
+            }
+            await hook(target, parentSession instanceof Connection_js_1.Connection
+                ? null
+                : this.#availableTargetsBySessionId.get(parentSession.id()));
+        }
+    };
+    #finishInitializationIfReady(targetId) {
+        this.#targetsIdsForInit.delete(targetId);
+        if (this.#targetsIdsForInit.size === 0) {
+            this.#initializeDeferred.resolve();
+        }
     }
 }
 exports.FirefoxTargetManager = FirefoxTargetManager;
-_FirefoxTargetManager_connection = new WeakMap(), _FirefoxTargetManager_discoveredTargetsByTargetId = new WeakMap(), _FirefoxTargetManager_availableTargetsByTargetId = new WeakMap(), _FirefoxTargetManager_availableTargetsBySessionId = new WeakMap(), _FirefoxTargetManager_ignoredTargets = new WeakMap(), _FirefoxTargetManager_targetFilterCallback = new WeakMap(), _FirefoxTargetManager_targetFactory = new WeakMap(), _FirefoxTargetManager_targetInterceptors = new WeakMap(), _FirefoxTargetManager_attachedToTargetListenersBySession = new WeakMap(), _FirefoxTargetManager_initializeDeferred = new WeakMap(), _FirefoxTargetManager_targetsIdsForInit = new WeakMap(), _FirefoxTargetManager_onSessionDetached = new WeakMap(), _FirefoxTargetManager_onTargetCreated = new WeakMap(), _FirefoxTargetManager_onTargetDestroyed = new WeakMap(), _FirefoxTargetManager_onAttachedToTarget = new WeakMap(), _FirefoxTargetManager_instances = new WeakSet(), _FirefoxTargetManager_finishInitializationIfReady = function _FirefoxTargetManager_finishInitializationIfReady(targetId) {
-    __classPrivateFieldGet(this, _FirefoxTargetManager_targetsIdsForInit, "f").delete(targetId);
-    if (__classPrivateFieldGet(this, _FirefoxTargetManager_targetsIdsForInit, "f").size === 0) {
-        __classPrivateFieldGet(this, _FirefoxTargetManager_initializeDeferred, "f").resolve();
-    }
-};
 //# sourceMappingURL=FirefoxTargetManager.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FirefoxTargetManager.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FirefoxTargetManager.js.map
index 0514d0a..65fb7f2 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FirefoxTargetManager.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FirefoxTargetManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"FirefoxTargetManager.js","sourceRoot":"","sources":["../../../../src/common/FirefoxTargetManager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;AAKH,iDAAyC;AACzC,qDAA6C;AAE7C,mDAAuD;AACvD,uDAA+C;AAS/C;;;;;;;;;;;;;GAaG;AACH,MAAa,oBACX,SAAQ,8BAAY;IA8CpB,YACE,UAAsB,EACtB,aAA4B,EAC5B,oBAA2C;QAE3C,KAAK,EAAE,CAAC;;QAhDV,mDAAwB;QACxB;;;;;;;;;WASG;QACH,4DACE,IAAI,GAAG,EAAE,EAAC;QACZ;;;;;WAKG;QACH,2DAAmD,IAAI,GAAG,EAAE,EAAC;QAC7D;;WAEG;QACH,4DAAoD,IAAI,GAAG,EAAE,EAAC;QAC9D;;;WAGG;QACH,+CAAkB,IAAI,GAAG,EAAU,EAAC;QACpC,6DAAwD;QACxD,sDAA8B;QAE9B,mDACE,IAAI,OAAO,EAAE,EAAC;QAEhB,mEAGI,IAAI,OAAO,EAAE,EAAC;QAElB,mDAAsB,sBAAQ,CAAC,MAAM,EAAQ,EAAC;QAC9C,kDAAkC,IAAI,GAAG,EAAE,EAAC;QAiD5C,kDAAqB,CAAC,OAAmB,EAAE,EAAE;YAC3C,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACrC,uBAAA,IAAI,gDAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzC,uBAAA,IAAI,yDAA6B,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACzD,CAAC,EAAC;QA8BF,gDAAmB,KAAK,EACtB,KAAyC,EAC1B,EAAE;YACjB,IAAI,uBAAA,IAAI,yDAA6B,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBACpE,OAAO;aACR;YAED,uBAAA,IAAI,yDAA6B,CAAC,GAAG,CACnC,KAAK,CAAC,UAAU,CAAC,QAAQ,EACzB,KAAK,CAAC,UAAU,CACjB,CAAC;YAEF,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE;gBACpE,MAAM,MAAM,GAAG,uBAAA,IAAI,2CAAe,MAAnB,IAAI,EAAgB,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBAChE,uBAAA,IAAI,wDAA4B,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACxE,uBAAA,IAAI,0FAA6B,MAAjC,IAAI,EAA8B,MAAM,CAAC,SAAS,CAAC,CAAC;gBACpD,OAAO;aACR;YAED,IACE,uBAAA,IAAI,kDAAsB;gBAC1B,CAAC,uBAAA,IAAI,kDAAsB,MAA1B,IAAI,EAAuB,KAAK,CAAC,UAAU,CAAC,EAC7C;gBACA,uBAAA,IAAI,4CAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACpD,uBAAA,IAAI,0FAA6B,MAAjC,IAAI,EAA8B,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBAC7D,OAAO;aACR;YAED,MAAM,MAAM,GAAG,uBAAA,IAAI,2CAAe,MAAnB,IAAI,EAAgB,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAChE,uBAAA,IAAI,wDAA4B,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACxE,IAAI,CAAC,IAAI,qEAA6C,MAAM,CAAC,CAAC;YAC9D,uBAAA,IAAI,0FAA6B,MAAjC,IAAI,EAA8B,MAAM,CAAC,SAAS,CAAC,CAAC;QACtD,CAAC,EAAC;QAEF,kDAAqB,CAAC,KAA2C,EAAQ,EAAE;YACzE,uBAAA,IAAI,yDAA6B,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACzD,uBAAA,IAAI,0FAA6B,MAAjC,IAAI,EAA8B,KAAK,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,uBAAA,IAAI,wDAA4B,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,IAAI,2DAAwC,MAAM,CAAC,CAAC;gBACzD,uBAAA,IAAI,wDAA4B,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aACzD;QACH,CAAC,EAAC;QAEF,mDAAsB,KAAK,EACzB,aAAsC,EACtC,KAA4C,EAC5C,EAAE;YACF,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YACpC,MAAM,OAAO,GAAG,uBAAA,IAAI,wCAAY,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,CAAC,SAAS,mBAAmB,CAAC,CAAC;aAChE;YAED,MAAM,MAAM,GAAG,uBAAA,IAAI,wDAA4B,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEzE,IAAA,kBAAM,EAAC,MAAM,EAAE,UAAU,UAAU,CAAC,QAAQ,aAAa,CAAC,CAAC;YAE3D,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;YAEvC,uBAAA,IAAI,yDAA6B,CAAC,GAAG,CACnC,OAAO,CAAC,EAAE,EAAE,EACZ,uBAAA,IAAI,wDAA4B,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAE,CAC3D,CAAC;YAEF,KAAK,MAAM,IAAI,IAAI,uBAAA,IAAI,gDAAoB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE;gBACpE,IAAI,CAAC,CAAC,aAAa,YAAY,0BAAU,CAAC,EAAE;oBAC1C,IAAA,kBAAM,EAAC,uBAAA,IAAI,yDAA6B,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;iBACnE;gBACD,MAAM,IAAI,CACR,MAAM,EACN,aAAa,YAAY,0BAAU;oBACjC,CAAC,CAAC,IAAI;oBACN,CAAC,CAAC,uBAAA,IAAI,yDAA6B,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,CAAE,CAC/D,CAAC;aACH;QACH,CAAC,EAAC;QAvJA,uBAAA,IAAI,oCAAe,UAAU,MAAA,CAAC;QAC9B,uBAAA,IAAI,8CAAyB,oBAAoB,MAAA,CAAC;QAClD,uBAAA,IAAI,uCAAkB,aAAa,MAAA,CAAC;QAEpC,uBAAA,IAAI,wCAAY,CAAC,EAAE,CAAC,sBAAsB,EAAE,uBAAA,IAAI,6CAAiB,CAAC,CAAC;QACnE,uBAAA,IAAI,wCAAY,CAAC,EAAE,CAAC,wBAAwB,EAAE,uBAAA,IAAI,+CAAmB,CAAC,CAAC;QACvE,uBAAA,IAAI,wCAAY,CAAC,EAAE,CAAC,iBAAiB,EAAE,uBAAA,IAAI,+CAAmB,CAAC,CAAC;QAChE,IAAI,CAAC,wBAAwB,CAAC,uBAAA,IAAI,wCAAY,CAAC,CAAC;IAClD,CAAC;IAED,oBAAoB,CAClB,MAA+B,EAC/B,WAA8B;QAE9B,MAAM,YAAY,GAAG,uBAAA,IAAI,gDAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAChE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,uBAAA,IAAI,gDAAoB,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACrD,CAAC;IAED,uBAAuB,CACrB,MAA+B,EAC/B,WAA8B;QAE9B,MAAM,YAAY,GAAG,uBAAA,IAAI,gDAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAChE,uBAAA,IAAI,gDAAoB,CAAC,GAAG,CAC1B,MAAM,EACN,YAAY,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE;YACvC,OAAO,kBAAkB,KAAK,WAAW,CAAC;QAC5C,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,wBAAwB,CAAC,OAAgC;QACvD,MAAM,QAAQ,GAAG,CAAC,KAA4C,EAAE,EAAE;YAChE,OAAO,uBAAA,IAAI,gDAAoB,MAAxB,IAAI,EAAqB,OAAO,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC,CAAC;QACF,IAAA,kBAAM,EAAC,CAAC,uBAAA,IAAI,gEAAoC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/D,uBAAA,IAAI,gEAAoC,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChE,OAAO,CAAC,EAAE,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAQD,sBAAsB,CAAC,OAAmB;QACxC,IAAI,uBAAA,IAAI,gEAAoC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACzD,OAAO,CAAC,GAAG,CACT,yBAAyB,EACzB,uBAAA,IAAI,gEAAoC,CAAC,GAAG,CAAC,OAAO,CAAE,CACvD,CAAC;YACF,uBAAA,IAAI,gEAAoC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC1D;IACH,CAAC;IAED,mBAAmB;QACjB,OAAO,uBAAA,IAAI,wDAA4B,CAAC;IAC1C,CAAC;IAED,OAAO;QACL,uBAAA,IAAI,wCAAY,CAAC,GAAG,CAAC,sBAAsB,EAAE,uBAAA,IAAI,6CAAiB,CAAC,CAAC;QACpE,uBAAA,IAAI,wCAAY,CAAC,GAAG,CAAC,wBAAwB,EAAE,uBAAA,IAAI,+CAAmB,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,uBAAA,IAAI,wCAAY,CAAC,IAAI,CAAC,2BAA2B,EAAE;YACvD,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,CAAC,EAAE,CAAC;SACb,CAAC,CAAC;QACH,uBAAA,IAAI,2CAAsB,IAAI,GAAG,CAAC,uBAAA,IAAI,yDAA6B,CAAC,IAAI,EAAE,CAAC,MAAA,CAAC;QAC5E,MAAM,uBAAA,IAAI,gDAAoB,CAAC,YAAY,EAAE,CAAC;IAChD,CAAC;CAsFF;AApND,oDAoNC;2hCAN8B,QAAgB;IAC3C,uBAAA,IAAI,+CAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzC,IAAI,uBAAA,IAAI,+CAAmB,CAAC,IAAI,KAAK,CAAC,EAAE;QACtC,uBAAA,IAAI,gDAAoB,CAAC,OAAO,EAAE,CAAC;KACpC;AACH,CAAC"}
\ No newline at end of file
+{"version":3,"file":"FirefoxTargetManager.js","sourceRoot":"","sources":["../../../../src/common/FirefoxTargetManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.d.ts
index eb9a426..7e26718 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.d.ts
@@ -15,14 +15,14 @@
  */
 import { Protocol } from 'devtools-protocol';
 import { ElementHandle } from '../api/ElementHandle.js';
-import { Frame as BaseFrame, FrameAddScriptTagOptions, FrameAddStyleTagOptions } from '../api/Frame.js';
+import { Frame as BaseFrame } from '../api/Frame.js';
 import { HTTPResponse } from '../api/HTTPResponse.js';
 import { Page, WaitTimeoutOptions } from '../api/Page.js';
 import { CDPSession } from './Connection.js';
 import { DeviceRequestPrompt, DeviceRequestPromptManager } from './DeviceRequestPrompt.js';
 import { ExecutionContext } from './ExecutionContext.js';
 import { FrameManager } from './FrameManager.js';
-import { IsolatedWorld, IsolatedWorldChart } from './IsolatedWorld.js';
+import { IsolatedWorld } from './IsolatedWorld.js';
 import { PuppeteerLifeCycleEvent } from './LifecycleWatcher.js';
 import { EvaluateFunc, EvaluateFuncWith, HandleFor, NodeFor } from './types.js';
 /**
@@ -30,11 +30,9 @@
  */
 export declare class Frame extends BaseFrame {
     #private;
-    worlds: IsolatedWorldChart;
     _frameManager: FrameManager;
     _id: string;
     _loaderId: string;
-    _name?: string;
     _hasStartedLoading: boolean;
     _lifecycleEvents: Set<string>;
     _parentId?: string;
@@ -79,9 +77,6 @@
     parentFrame(): Frame | null;
     childFrames(): Frame[];
     isDetached(): boolean;
-    addScriptTag(options: FrameAddScriptTagOptions): Promise<ElementHandle<HTMLScriptElement>>;
-    addStyleTag(options: Omit<FrameAddStyleTagOptions, 'url'>): Promise<ElementHandle<HTMLStyleElement>>;
-    addStyleTag(options: FrameAddStyleTagOptions): Promise<ElementHandle<HTMLLinkElement>>;
     title(): Promise<string>;
     _deviceRequestPromptManager(): DeviceRequestPromptManager;
     waitForDevicePrompt(options?: WaitTimeoutOptions): Promise<DeviceRequestPrompt>;
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.d.ts.map
index 0fd5edc..588cbe2 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Frame.d.ts","sourceRoot":"","sources":["../../../../src/common/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Frame.d.ts","sourceRoot":"","sources":["../../../../src/common/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.js
index 5214f45..18f8dee 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Frame_url, _Frame_detached, _Frame_client;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.Frame = void 0;
 const Frame_js_1 = require("../api/Frame.js");
@@ -34,31 +22,33 @@
 const ErrorLike_js_1 = require("../util/ErrorLike.js");
 const IsolatedWorld_js_1 = require("./IsolatedWorld.js");
 const IsolatedWorlds_js_1 = require("./IsolatedWorlds.js");
-const LazyArg_js_1 = require("./LazyArg.js");
 const LifecycleWatcher_js_1 = require("./LifecycleWatcher.js");
 const util_js_1 = require("./util.js");
 /**
  * @internal
  */
 class Frame extends Frame_js_1.Frame {
+    #url = '';
+    #detached = false;
+    #client;
+    _frameManager;
+    _id;
+    _loaderId = '';
+    _hasStartedLoading = false;
+    _lifecycleEvents = new Set();
+    _parentId;
     constructor(frameManager, frameId, parentFrameId, client) {
         super();
-        _Frame_url.set(this, '');
-        _Frame_detached.set(this, false);
-        _Frame_client.set(this, void 0);
-        this._loaderId = '';
-        this._hasStartedLoading = false;
-        this._lifecycleEvents = new Set();
         this._frameManager = frameManager;
-        __classPrivateFieldSet(this, _Frame_url, '', "f");
+        this.#url = '';
         this._id = frameId;
         this._parentId = parentFrameId;
-        __classPrivateFieldSet(this, _Frame_detached, false, "f");
+        this.#detached = false;
         this._loaderId = '';
         this.updateClient(client);
     }
     updateClient(client) {
-        __classPrivateFieldSet(this, _Frame_client, client, "f");
+        this.#client = client;
         this.worlds = {
             [IsolatedWorlds_js_1.MAIN_WORLD]: new IsolatedWorld_js_1.IsolatedWorld(this),
             [IsolatedWorlds_js_1.PUPPETEER_WORLD]: new IsolatedWorld_js_1.IsolatedWorld(this),
@@ -68,14 +58,14 @@
         return this._frameManager.page();
     }
     isOOPFrame() {
-        return __classPrivateFieldGet(this, _Frame_client, "f") !== this._frameManager.client;
+        return this.#client !== this._frameManager.client;
     }
     async goto(url, options = {}) {
         const { referer = this._frameManager.networkManager.extraHTTPHeaders()['referer'], referrerPolicy = this._frameManager.networkManager.extraHTTPHeaders()['referer-policy'], waitUntil = ['load'], timeout = this._frameManager.timeoutSettings.navigationTimeout(), } = options;
         let ensureNewDocumentNavigation = false;
         const watcher = new LifecycleWatcher_js_1.LifecycleWatcher(this._frameManager, this, waitUntil, timeout);
         let error = await Deferred_js_1.Deferred.race([
-            navigate(__classPrivateFieldGet(this, _Frame_client, "f"), url, referer, referrerPolicy, this._id),
+            navigate(this.#client, url, referer, referrerPolicy, this._id),
             watcher.terminationPromise(),
         ]);
         if (!error) {
@@ -138,7 +128,7 @@
         }
     }
     _client() {
-        return __classPrivateFieldGet(this, _Frame_client, "f");
+        return this.#client;
     }
     executionContext() {
         return this.worlds[IsolatedWorlds_js_1.MAIN_WORLD].executionContext();
@@ -190,7 +180,7 @@
         return this._name || '';
     }
     url() {
-        return __classPrivateFieldGet(this, _Frame_url, "f");
+        return this.#url;
     }
     parentFrame() {
         return this._frameManager._frameTree.parentFrame(this._id) || null;
@@ -199,91 +189,14 @@
         return this._frameManager._frameTree.childFrames(this._id);
     }
     isDetached() {
-        return __classPrivateFieldGet(this, _Frame_detached, "f");
-    }
-    async addScriptTag(options) {
-        let { content = '', type } = options;
-        const { path } = options;
-        if (+!!options.url + +!!path + +!!content !== 1) {
-            throw new Error('Exactly one of `url`, `path`, or `content` must be specified.');
-        }
-        if (path) {
-            const fs = await (0, util_js_1.importFSPromises)();
-            content = await fs.readFile(path, 'utf8');
-            content += `//# sourceURL=${path.replace(/\n/g, '')}`;
-        }
-        type = type ?? 'text/javascript';
-        return this.mainRealm().transferHandle(await this.isolatedRealm().evaluateHandle(async ({ Deferred }, { url, id, type, content }) => {
-            const deferred = Deferred.create();
-            const script = document.createElement('script');
-            script.type = type;
-            script.text = content;
-            if (url) {
-                script.src = url;
-                script.addEventListener('load', () => {
-                    return deferred.resolve();
-                }, { once: true });
-                script.addEventListener('error', event => {
-                    deferred.reject(new Error(event.message ?? 'Could not load script'));
-                }, { once: true });
-            }
-            else {
-                deferred.resolve();
-            }
-            if (id) {
-                script.id = id;
-            }
-            document.head.appendChild(script);
-            await deferred.valueOrThrow();
-            return script;
-        }, LazyArg_js_1.LazyArg.create(context => {
-            return context.puppeteerUtil;
-        }), { ...options, type, content }));
-    }
-    async addStyleTag(options) {
-        let { content = '' } = options;
-        const { path } = options;
-        if (+!!options.url + +!!path + +!!content !== 1) {
-            throw new Error('Exactly one of `url`, `path`, or `content` must be specified.');
-        }
-        if (path) {
-            const fs = await (0, util_js_1.importFSPromises)();
-            content = await fs.readFile(path, 'utf8');
-            content += '/*# sourceURL=' + path.replace(/\n/g, '') + '*/';
-            options.content = content;
-        }
-        return this.mainRealm().transferHandle(await this.isolatedRealm().evaluateHandle(async ({ Deferred }, { url, content }) => {
-            const deferred = Deferred.create();
-            let element;
-            if (!url) {
-                element = document.createElement('style');
-                element.appendChild(document.createTextNode(content));
-            }
-            else {
-                const link = document.createElement('link');
-                link.rel = 'stylesheet';
-                link.href = url;
-                element = link;
-            }
-            element.addEventListener('load', () => {
-                deferred.resolve();
-            }, { once: true });
-            element.addEventListener('error', event => {
-                deferred.reject(new Error(event.message ?? 'Could not load style'));
-            }, { once: true });
-            document.head.appendChild(element);
-            await deferred.valueOrThrow();
-            return element;
-        }, LazyArg_js_1.LazyArg.create(context => {
-            return context.puppeteerUtil;
-        }), options));
+        return this.#detached;
     }
     async title() {
         return this.isolatedRealm().title();
     }
     _deviceRequestPromptManager() {
         if (this.isOOPFrame()) {
-            return this._frameManager._deviceRequestPromptManager(__classPrivateFieldGet(this, _Frame_client, "f"));
+            return this._frameManager._deviceRequestPromptManager(this.#client);
         }
         const parentFrame = this.parentFrame();
         (0, assert_js_1.assert)(parentFrame !== null);
@@ -294,10 +207,10 @@
     }
     _navigated(framePayload) {
         this._name = framePayload.name;
-        __classPrivateFieldSet(this, _Frame_url, `${framePayload.url}${framePayload.urlFragment || ''}`, "f");
+        this.#url = `${framePayload.url}${framePayload.urlFragment || ''}`;
     }
     _navigatedWithinDocument(url) {
-        __classPrivateFieldSet(this, _Frame_url, url, "f");
+        this.#url = url;
     }
     _onLifecycleEvent(loaderId, name) {
         if (name === 'init') {
@@ -314,11 +227,10 @@
         this._hasStartedLoading = true;
     }
     _detach() {
-        __classPrivateFieldSet(this, _Frame_detached, true, "f");
+        this.#detached = true;
         this.worlds[IsolatedWorlds_js_1.MAIN_WORLD]._detach();
         this.worlds[IsolatedWorlds_js_1.PUPPETEER_WORLD]._detach();
     }
 }
 exports.Frame = Frame;
-_Frame_url = new WeakMap(), _Frame_detached = new WeakMap(), _Frame_client = new WeakMap();
 //# sourceMappingURL=Frame.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.js.map
index d94cfb6..fbcb32b 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Frame.js.map
@@ -1 +1 @@
-{"version":3,"file":"Frame.js","sourceRoot":"","sources":["../../../../src/common/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Frame.js","sourceRoot":"","sources":["../../../../src/common/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.d.ts
index ffd384b..8c33eb4 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.d.ts
@@ -21,7 +21,7 @@
 import { Frame } from './Frame.js';
 import { FrameTree } from './FrameTree.js';
 import { NetworkManager } from './NetworkManager.js';
-import { Target } from './Target.js';
+import { CDPTarget } from './Target.js';
 import { TimeoutSettings } from './TimeoutSettings.js';
 /**
  * @internal
@@ -66,7 +66,7 @@
     mainFrame(): Frame;
     frames(): Frame[];
     frame(frameId: string): Frame | null;
-    onAttachedToTarget(target: Target): void;
+    onAttachedToTarget(target: CDPTarget): void;
     /**
      * @internal
      */
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.d.ts.map
index 68395fd..21ef68e 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"FrameManager.d.ts","sourceRoot":"","sources":["../../../../src/common/FrameManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAIpC,OAAO,EAAC,UAAU,EAAsB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAC,0BAA0B,EAAC,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAGzC,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAGrD;;GAEG;AACH,eAAO,MAAM,kBAAkB,gCAAgC,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;CAWrC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,YAAY;;IAO5C;;OAEG;IACH,UAAU,mBAA0B;IAcpC,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,IAAI,MAAM,IAAI,UAAU,CAEvB;gBAGC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,IAAI,EACV,iBAAiB,EAAE,OAAO,EAC1B,eAAe,EAAE,eAAe;IAUlC,OAAO,CAAC,mBAAmB;IAwCrB,UAAU,CAAC,MAAM,GAAE,UAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BlE,oBAAoB,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,UAAyB,GACjC,gBAAgB;IAMnB,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,UAAyB,GACjC,gBAAgB,GAAG,SAAS;IAI/B,IAAI,IAAI,IAAI;IAIZ,SAAS,IAAI,KAAK;IAMlB,MAAM,IAAI,KAAK,EAAE;IAIjB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAIpC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAaxC;;OAEG;IACH,2BAA2B,CAAC,MAAM,EAAE,UAAU,GAAG,0BAA0B;CAuP5E"}
\ No newline at end of file
+{"version":3,"file":"FrameManager.d.ts","sourceRoot":"","sources":["../../../../src/common/FrameManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAIpC,OAAO,EAAC,UAAU,EAAsB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAC,0BAA0B,EAAC,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAGzC,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAGrD;;GAEG;AACH,eAAO,MAAM,kBAAkB,gCAAgC,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;CAWrC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,YAAY;;IAO5C;;OAEG;IACH,UAAU,mBAA0B;IAcpC,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,IAAI,MAAM,IAAI,UAAU,CAEvB;gBAGC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,IAAI,EACV,iBAAiB,EAAE,OAAO,EAC1B,eAAe,EAAE,eAAe;IAUlC,OAAO,CAAC,mBAAmB;IAwCrB,UAAU,CAAC,MAAM,GAAE,UAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BlE,oBAAoB,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,UAAyB,GACjC,gBAAgB;IAMnB,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,UAAyB,GACjC,gBAAgB,GAAG,SAAS;IAI/B,IAAI,IAAI,IAAI;IAIZ,SAAS,IAAI,KAAK;IAMlB,MAAM,IAAI,KAAK,EAAE;IAIjB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAIpC,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAa3C;;OAEG;IACH,2BAA2B,CAAC,MAAM,EAAE,UAAU,GAAG,0BAA0B;CAuP5E"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js
index 3ffe612..4dc2405 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _FrameManager_instances, _FrameManager_page, _FrameManager_networkManager, _FrameManager_timeoutSettings, _FrameManager_contextIdToContext, _FrameManager_isolatedWorlds, _FrameManager_client, _FrameManager_frameNavigatedReceived, _FrameManager_deviceRequestPromptManagerMap, _FrameManager_onLifecycleEvent, _FrameManager_onFrameStartedLoading, _FrameManager_onFrameStoppedLoading, _FrameManager_handleFrameTree, _FrameManager_onFrameAttached, _FrameManager_onFrameNavigated, _FrameManager_createIsolatedWorld, _FrameManager_onFrameNavigatedWithinDocument, _FrameManager_onFrameDetached, _FrameManager_onExecutionContextCreated, _FrameManager_onExecutionContextDestroyed, _FrameManager_onExecutionContextsCleared, _FrameManager_removeFramesRecursively;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.FrameManager = exports.FrameManagerEmittedEvents = exports.UTILITY_WORLD_NAME = void 0;
 const assert_js_1 = require("../util/assert.js");
@@ -65,90 +53,89 @@
  * @internal
  */
 class FrameManager extends EventEmitter_js_1.EventEmitter {
+    #page;
+    #networkManager;
+    #timeoutSettings;
+    #contextIdToContext = new Map();
+    #isolatedWorlds = new Set();
+    #client;
+    /**
+     * @internal
+     */
+    _frameTree = new FrameTree_js_1.FrameTree();
+    /**
+     * Set of frame IDs stored to indicate if a frame has received a
+     * frameNavigated event so that frame tree responses could be ignored as the
+     * frameNavigated event usually contains the latest information.
+     */
+    #frameNavigatedReceived = new Set();
+    #deviceRequestPromptManagerMap = new WeakMap();
     get timeoutSettings() {
-        return __classPrivateFieldGet(this, _FrameManager_timeoutSettings, "f");
+        return this.#timeoutSettings;
     }
     get networkManager() {
-        return __classPrivateFieldGet(this, _FrameManager_networkManager, "f");
+        return this.#networkManager;
     }
     get client() {
-        return __classPrivateFieldGet(this, _FrameManager_client, "f");
+        return this.#client;
     }
     constructor(client, page, ignoreHTTPSErrors, timeoutSettings) {
         super();
-        _FrameManager_instances.add(this);
-        _FrameManager_page.set(this, void 0);
-        _FrameManager_networkManager.set(this, void 0);
-        _FrameManager_timeoutSettings.set(this, void 0);
-        _FrameManager_contextIdToContext.set(this, new Map());
-        _FrameManager_isolatedWorlds.set(this, new Set());
-        _FrameManager_client.set(this, void 0);
-        /**
-         * @internal
-         */
-        this._frameTree = new FrameTree_js_1.FrameTree();
-        /**
-         * Set of frame IDs stored to indicate if a frame has received a
-         * frameNavigated event so that frame tree responses could be ignored as the
-         * frameNavigated event usually contains the latest information.
-         */
-        _FrameManager_frameNavigatedReceived.set(this, new Set());
-        _FrameManager_deviceRequestPromptManagerMap.set(this, new WeakMap());
-        __classPrivateFieldSet(this, _FrameManager_client, client, "f");
-        __classPrivateFieldSet(this, _FrameManager_page, page, "f");
-        __classPrivateFieldSet(this, _FrameManager_networkManager, new NetworkManager_js_1.NetworkManager(client, ignoreHTTPSErrors, this), "f");
-        __classPrivateFieldSet(this, _FrameManager_timeoutSettings, timeoutSettings, "f");
-        this.setupEventListeners(__classPrivateFieldGet(this, _FrameManager_client, "f"));
+        this.#client = client;
+        this.#page = page;
+        this.#networkManager = new NetworkManager_js_1.NetworkManager(client, ignoreHTTPSErrors, this);
+        this.#timeoutSettings = timeoutSettings;
+        this.setupEventListeners(this.#client);
     }
     setupEventListeners(session) {
         session.on('Page.frameAttached', event => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onFrameAttached).call(this, session, event.frameId, event.parentFrameId);
+            this.#onFrameAttached(session, event.frameId, event.parentFrameId);
         });
         session.on('Page.frameNavigated', event => {
-            __classPrivateFieldGet(this, _FrameManager_frameNavigatedReceived, "f").add(event.frame.id);
-            void __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onFrameNavigated).call(this, event.frame);
+            this.#frameNavigatedReceived.add(event.frame.id);
+            void this.#onFrameNavigated(event.frame);
         });
         session.on('Page.navigatedWithinDocument', event => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onFrameNavigatedWithinDocument).call(this, event.frameId, event.url);
+            this.#onFrameNavigatedWithinDocument(event.frameId, event.url);
         });
         session.on('Page.frameDetached', (event) => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onFrameDetached).call(this, event.frameId, event.reason);
+            this.#onFrameDetached(event.frameId, event.reason);
         });
         session.on('Page.frameStartedLoading', event => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onFrameStartedLoading).call(this, event.frameId);
+            this.#onFrameStartedLoading(event.frameId);
         });
         session.on('Page.frameStoppedLoading', event => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onFrameStoppedLoading).call(this, event.frameId);
+            this.#onFrameStoppedLoading(event.frameId);
         });
         session.on('Runtime.executionContextCreated', event => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onExecutionContextCreated).call(this, event.context, session);
+            this.#onExecutionContextCreated(event.context, session);
         });
         session.on('Runtime.executionContextDestroyed', event => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onExecutionContextDestroyed).call(this, event.executionContextId, session);
+            this.#onExecutionContextDestroyed(event.executionContextId, session);
         });
         session.on('Runtime.executionContextsCleared', () => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onExecutionContextsCleared).call(this, session);
+            this.#onExecutionContextsCleared(session);
         });
         session.on('Page.lifecycleEvent', event => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onLifecycleEvent).call(this, event);
+            this.#onLifecycleEvent(event);
         });
     }
-    async initialize(client = __classPrivateFieldGet(this, _FrameManager_client, "f")) {
+    async initialize(client = this.#client) {
         try {
             const result = await Promise.all([
                 client.send('Page.enable'),
                 client.send('Page.getFrameTree'),
             ]);
             const { frameTree } = result[1];
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_handleFrameTree).call(this, client, frameTree);
+            this.#handleFrameTree(client, frameTree);
             await Promise.all([
                 client.send('Page.setLifecycleEventsEnabled', { enabled: true }),
                 client.send('Runtime.enable').then(() => {
-                    return __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_createIsolatedWorld).call(this, client, exports.UTILITY_WORLD_NAME);
+                    return this.#createIsolatedWorld(client, exports.UTILITY_WORLD_NAME);
                 }),
                 // TODO: Network manager is not aware of OOP iframes yet.
-                client === __classPrivateFieldGet(this, _FrameManager_client, "f")
-                    ? __classPrivateFieldGet(this, _FrameManager_networkManager, "f").initialize()
+                client === this.#client
+                    ? this.#networkManager.initialize()
                     : Promise.resolve(),
             ]);
         }
@@ -160,16 +147,16 @@
             throw error;
         }
     }
-    executionContextById(contextId, session = __classPrivateFieldGet(this, _FrameManager_client, "f")) {
+    executionContextById(contextId, session = this.#client) {
         const context = this.getExecutionContextById(contextId, session);
         (0, assert_js_1.assert)(context, 'INTERNAL ERROR: missing context with id = ' + contextId);
         return context;
     }
-    getExecutionContextById(contextId, session = __classPrivateFieldGet(this, _FrameManager_client, "f")) {
-        return __classPrivateFieldGet(this, _FrameManager_contextIdToContext, "f").get(`${session.id()}:${contextId}`);
+    getExecutionContextById(contextId, session = this.#client) {
+        return this.#contextIdToContext.get(`${session.id()}:${contextId}`);
     }
     page() {
-        return __classPrivateFieldGet(this, _FrameManager_page, "f");
+        return this.#page;
     }
     mainFrame() {
         const mainFrame = this._frameTree.getMainFrame();
@@ -197,192 +184,204 @@
      * @internal
      */
     _deviceRequestPromptManager(client) {
-        let manager = __classPrivateFieldGet(this, _FrameManager_deviceRequestPromptManagerMap, "f").get(client);
+        let manager = this.#deviceRequestPromptManagerMap.get(client);
         if (manager === undefined) {
-            manager = new DeviceRequestPrompt_js_1.DeviceRequestPromptManager(client, __classPrivateFieldGet(this, _FrameManager_timeoutSettings, "f"));
-            __classPrivateFieldGet(this, _FrameManager_deviceRequestPromptManagerMap, "f").set(client, manager);
+            manager = new DeviceRequestPrompt_js_1.DeviceRequestPromptManager(client, this.#timeoutSettings);
+            this.#deviceRequestPromptManagerMap.set(client, manager);
         }
         return manager;
     }
-}
-exports.FrameManager = FrameManager;
-_FrameManager_page = new WeakMap(), _FrameManager_networkManager = new WeakMap(), _FrameManager_timeoutSettings = new WeakMap(), _FrameManager_contextIdToContext = new WeakMap(), _FrameManager_isolatedWorlds = new WeakMap(), _FrameManager_client = new WeakMap(), _FrameManager_frameNavigatedReceived = new WeakMap(), _FrameManager_deviceRequestPromptManagerMap = new WeakMap(), _FrameManager_instances = new WeakSet(), _FrameManager_onLifecycleEvent = function _FrameManager_onLifecycleEvent(event) {
-    const frame = this.frame(event.frameId);
-    if (!frame) {
-        return;
-    }
-    frame._onLifecycleEvent(event.loaderId, event.name);
-    this.emit(exports.FrameManagerEmittedEvents.LifecycleEvent, frame);
-}, _FrameManager_onFrameStartedLoading = function _FrameManager_onFrameStartedLoading(frameId) {
-    const frame = this.frame(frameId);
-    if (!frame) {
-        return;
-    }
-    frame._onLoadingStarted();
-}, _FrameManager_onFrameStoppedLoading = function _FrameManager_onFrameStoppedLoading(frameId) {
-    const frame = this.frame(frameId);
-    if (!frame) {
-        return;
-    }
-    frame._onLoadingStopped();
-    this.emit(exports.FrameManagerEmittedEvents.LifecycleEvent, frame);
-}, _FrameManager_handleFrameTree = function _FrameManager_handleFrameTree(session, frameTree) {
-    if (frameTree.frame.parentId) {
-        __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onFrameAttached).call(this, session, frameTree.frame.id, frameTree.frame.parentId);
-    }
-    if (!__classPrivateFieldGet(this, _FrameManager_frameNavigatedReceived, "f").has(frameTree.frame.id)) {
-        void __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onFrameNavigated).call(this, frameTree.frame);
-    }
-    else {
-        __classPrivateFieldGet(this, _FrameManager_frameNavigatedReceived, "f").delete(frameTree.frame.id);
-    }
-    if (!frameTree.childFrames) {
-        return;
-    }
-    for (const child of frameTree.childFrames) {
-        __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_handleFrameTree).call(this, session, child);
-    }
-}, _FrameManager_onFrameAttached = function _FrameManager_onFrameAttached(session, frameId, parentFrameId) {
-    let frame = this.frame(frameId);
-    if (frame) {
-        if (session && frame.isOOPFrame()) {
-            // If an OOP iframes becomes a normal iframe again
-            // it is first attached to the parent page before
-            // the target is removed.
-            frame.updateClient(session);
-        }
-        return;
-    }
-    frame = new Frame_js_1.Frame(this, frameId, parentFrameId, session);
-    this._frameTree.addFrame(frame);
-    this.emit(exports.FrameManagerEmittedEvents.FrameAttached, frame);
-}, _FrameManager_onFrameNavigated = async function _FrameManager_onFrameNavigated(framePayload) {
-    const frameId = framePayload.id;
-    const isMainFrame = !framePayload.parentId;
-    let frame = this._frameTree.getById(frameId);
-    // Detach all child frames first.
-    if (frame) {
-        for (const child of frame.childFrames()) {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_removeFramesRecursively).call(this, child);
-        }
-    }
-    // Update or create main frame.
-    if (isMainFrame) {
-        if (frame) {
-            // Update frame id to retain frame identity on cross-process navigation.
-            this._frameTree.removeFrame(frame);
-            frame._id = frameId;
-        }
-        else {
-            // Initial main frame navigation.
-            frame = new Frame_js_1.Frame(this, frameId, undefined, __classPrivateFieldGet(this, _FrameManager_client, "f"));
-        }
-        this._frameTree.addFrame(frame);
-    }
-    frame = await this._frameTree.waitForFrame(frameId);
-    frame._navigated(framePayload);
-    this.emit(exports.FrameManagerEmittedEvents.FrameNavigated, frame);
-}, _FrameManager_createIsolatedWorld = async function _FrameManager_createIsolatedWorld(session, name) {
-    const key = `${session.id()}:${name}`;
-    if (__classPrivateFieldGet(this, _FrameManager_isolatedWorlds, "f").has(key)) {
-        return;
-    }
-    await session.send('Page.addScriptToEvaluateOnNewDocument', {
-        source: `//# sourceURL=${util_js_1.PuppeteerURL.INTERNAL_URL}`,
-        worldName: name,
-    });
-    await Promise.all(this.frames()
-        .filter(frame => {
-        return frame._client() === session;
-    })
-        .map(frame => {
-        // Frames might be removed before we send this, so we don't want to
-        // throw an error.
-        return session
-            .send('Page.createIsolatedWorld', {
-            frameId: frame._id,
-            worldName: name,
-            grantUniveralAccess: true,
-        })
-            .catch(util_js_1.debugError);
-    }));
-    __classPrivateFieldGet(this, _FrameManager_isolatedWorlds, "f").add(key);
-}, _FrameManager_onFrameNavigatedWithinDocument = function _FrameManager_onFrameNavigatedWithinDocument(frameId, url) {
-    const frame = this.frame(frameId);
-    if (!frame) {
-        return;
-    }
-    frame._navigatedWithinDocument(url);
-    this.emit(exports.FrameManagerEmittedEvents.FrameNavigatedWithinDocument, frame);
-    this.emit(exports.FrameManagerEmittedEvents.FrameNavigated, frame);
-}, _FrameManager_onFrameDetached = function _FrameManager_onFrameDetached(frameId, reason) {
-    const frame = this.frame(frameId);
-    if (reason === 'remove') {
-        // Only remove the frame if the reason for the detached event is
-        // an actual removement of the frame.
-        // For frames that become OOP iframes, the reason would be 'swap'.
-        if (frame) {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_removeFramesRecursively).call(this, frame);
-        }
-    }
-    else if (reason === 'swap') {
-        this.emit(exports.FrameManagerEmittedEvents.FrameSwapped, frame);
-    }
-}, _FrameManager_onExecutionContextCreated = function _FrameManager_onExecutionContextCreated(contextPayload, session) {
-    const auxData = contextPayload.auxData;
-    const frameId = auxData && auxData.frameId;
-    const frame = typeof frameId === 'string' ? this.frame(frameId) : undefined;
-    let world;
-    if (frame) {
-        // Only care about execution contexts created for the current session.
-        if (frame._client() !== session) {
+    #onLifecycleEvent(event) {
+        const frame = this.frame(event.frameId);
+        if (!frame) {
             return;
         }
-        if (contextPayload.auxData && contextPayload.auxData['isDefault']) {
-            world = frame.worlds[IsolatedWorlds_js_1.MAIN_WORLD];
+        frame._onLifecycleEvent(event.loaderId, event.name);
+        this.emit(exports.FrameManagerEmittedEvents.LifecycleEvent, frame);
+    }
+    #onFrameStartedLoading(frameId) {
+        const frame = this.frame(frameId);
+        if (!frame) {
+            return;
         }
-        else if (contextPayload.name === exports.UTILITY_WORLD_NAME &&
-            !frame.worlds[IsolatedWorlds_js_1.PUPPETEER_WORLD].hasContext()) {
-            // In case of multiple sessions to the same target, there's a race between
-            // connections so we might end up creating multiple isolated worlds.
-            // We can use either.
-            world = frame.worlds[IsolatedWorlds_js_1.PUPPETEER_WORLD];
+        frame._onLoadingStarted();
+    }
+    #onFrameStoppedLoading(frameId) {
+        const frame = this.frame(frameId);
+        if (!frame) {
+            return;
+        }
+        frame._onLoadingStopped();
+        this.emit(exports.FrameManagerEmittedEvents.LifecycleEvent, frame);
+    }
+    #handleFrameTree(session, frameTree) {
+        if (frameTree.frame.parentId) {
+            this.#onFrameAttached(session, frameTree.frame.id, frameTree.frame.parentId);
+        }
+        if (!this.#frameNavigatedReceived.has(frameTree.frame.id)) {
+            void this.#onFrameNavigated(frameTree.frame);
+        }
+        else {
+            this.#frameNavigatedReceived.delete(frameTree.frame.id);
+        }
+        if (!frameTree.childFrames) {
+            return;
+        }
+        for (const child of frameTree.childFrames) {
+            this.#handleFrameTree(session, child);
         }
     }
-    const context = new ExecutionContext_js_1.ExecutionContext(frame?._client() || __classPrivateFieldGet(this, _FrameManager_client, "f"), contextPayload, world);
-    if (world) {
-        world.setContext(context);
-    }
-    const key = `${session.id()}:${contextPayload.id}`;
-    __classPrivateFieldGet(this, _FrameManager_contextIdToContext, "f").set(key, context);
-}, _FrameManager_onExecutionContextDestroyed = function _FrameManager_onExecutionContextDestroyed(executionContextId, session) {
-    const key = `${session.id()}:${executionContextId}`;
-    const context = __classPrivateFieldGet(this, _FrameManager_contextIdToContext, "f").get(key);
-    if (!context) {
-        return;
-    }
-    __classPrivateFieldGet(this, _FrameManager_contextIdToContext, "f").delete(key);
-    if (context._world) {
-        context._world.clearContext();
-    }
-}, _FrameManager_onExecutionContextsCleared = function _FrameManager_onExecutionContextsCleared(session) {
-    for (const [key, context] of __classPrivateFieldGet(this, _FrameManager_contextIdToContext, "f").entries()) {
-        // Make sure to only clear execution contexts that belong
-        // to the current session.
-        if (context._client !== session) {
-            continue;
+    #onFrameAttached(session, frameId, parentFrameId) {
+        let frame = this.frame(frameId);
+        if (frame) {
+            if (session && frame.isOOPFrame()) {
+                // If an OOP iframes becomes a normal iframe again
+                // it is first attached to the parent page before
+                // the target is removed.
+                frame.updateClient(session);
+            }
+            return;
         }
+        frame = new Frame_js_1.Frame(this, frameId, parentFrameId, session);
+        this._frameTree.addFrame(frame);
+        this.emit(exports.FrameManagerEmittedEvents.FrameAttached, frame);
+    }
+    async #onFrameNavigated(framePayload) {
+        const frameId = framePayload.id;
+        const isMainFrame = !framePayload.parentId;
+        let frame = this._frameTree.getById(frameId);
+        // Detach all child frames first.
+        if (frame) {
+            for (const child of frame.childFrames()) {
+                this.#removeFramesRecursively(child);
+            }
+        }
+        // Update or create main frame.
+        if (isMainFrame) {
+            if (frame) {
+                // Update frame id to retain frame identity on cross-process navigation.
+                this._frameTree.removeFrame(frame);
+                frame._id = frameId;
+            }
+            else {
+                // Initial main frame navigation.
+                frame = new Frame_js_1.Frame(this, frameId, undefined, this.#client);
+            }
+            this._frameTree.addFrame(frame);
+        }
+        frame = await this._frameTree.waitForFrame(frameId);
+        frame._navigated(framePayload);
+        this.emit(exports.FrameManagerEmittedEvents.FrameNavigated, frame);
+    }
+    async #createIsolatedWorld(session, name) {
+        const key = `${session.id()}:${name}`;
+        if (this.#isolatedWorlds.has(key)) {
+            return;
+        }
+        await session.send('Page.addScriptToEvaluateOnNewDocument', {
+            source: `//# sourceURL=${util_js_1.PuppeteerURL.INTERNAL_URL}`,
+            worldName: name,
+        });
+        await Promise.all(this.frames()
+            .filter(frame => {
+            return frame._client() === session;
+        })
+            .map(frame => {
+            // Frames might be removed before we send this, so we don't want to
+            // throw an error.
+            return session
+                .send('Page.createIsolatedWorld', {
+                frameId: frame._id,
+                worldName: name,
+                grantUniveralAccess: true,
+            })
+                .catch(util_js_1.debugError);
+        }));
+        this.#isolatedWorlds.add(key);
+    }
+    #onFrameNavigatedWithinDocument(frameId, url) {
+        const frame = this.frame(frameId);
+        if (!frame) {
+            return;
+        }
+        frame._navigatedWithinDocument(url);
+        this.emit(exports.FrameManagerEmittedEvents.FrameNavigatedWithinDocument, frame);
+        this.emit(exports.FrameManagerEmittedEvents.FrameNavigated, frame);
+    }
+    #onFrameDetached(frameId, reason) {
+        const frame = this.frame(frameId);
+        if (reason === 'remove') {
+            // Only remove the frame if the reason for the detached event is
+            // an actual removement of the frame.
+            // For frames that become OOP iframes, the reason would be 'swap'.
+            if (frame) {
+                this.#removeFramesRecursively(frame);
+            }
+        }
+        else if (reason === 'swap') {
+            this.emit(exports.FrameManagerEmittedEvents.FrameSwapped, frame);
+        }
+    }
+    #onExecutionContextCreated(contextPayload, session) {
+        const auxData = contextPayload.auxData;
+        const frameId = auxData && auxData.frameId;
+        const frame = typeof frameId === 'string' ? this.frame(frameId) : undefined;
+        let world;
+        if (frame) {
+            // Only care about execution contexts created for the current session.
+            if (frame._client() !== session) {
+                return;
+            }
+            if (contextPayload.auxData && contextPayload.auxData['isDefault']) {
+                world = frame.worlds[IsolatedWorlds_js_1.MAIN_WORLD];
+            }
+            else if (contextPayload.name === exports.UTILITY_WORLD_NAME &&
+                !frame.worlds[IsolatedWorlds_js_1.PUPPETEER_WORLD].hasContext()) {
+                // In case of multiple sessions to the same target, there's a race between
+                // connections so we might end up creating multiple isolated worlds.
+                // We can use either.
+                world = frame.worlds[IsolatedWorlds_js_1.PUPPETEER_WORLD];
+            }
+        }
+        const context = new ExecutionContext_js_1.ExecutionContext(frame?._client() || this.#client, contextPayload, world);
+        if (world) {
+            world.setContext(context);
+        }
+        const key = `${session.id()}:${contextPayload.id}`;
+        this.#contextIdToContext.set(key, context);
+    }
+    #onExecutionContextDestroyed(executionContextId, session) {
+        const key = `${session.id()}:${executionContextId}`;
+        const context = this.#contextIdToContext.get(key);
+        if (!context) {
+            return;
+        }
+        this.#contextIdToContext.delete(key);
         if (context._world) {
             context._world.clearContext();
         }
-        __classPrivateFieldGet(this, _FrameManager_contextIdToContext, "f").delete(key);
     }
-}, _FrameManager_removeFramesRecursively = function _FrameManager_removeFramesRecursively(frame) {
-    for (const child of frame.childFrames()) {
-        __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_removeFramesRecursively).call(this, child);
+    #onExecutionContextsCleared(session) {
+        for (const [key, context] of this.#contextIdToContext.entries()) {
+            // Make sure to only clear execution contexts that belong
+            // to the current session.
+            if (context._client !== session) {
+                continue;
+            }
+            if (context._world) {
+                context._world.clearContext();
+            }
+            this.#contextIdToContext.delete(key);
+        }
     }
-    frame._detach();
-    this._frameTree.removeFrame(frame);
-    this.emit(exports.FrameManagerEmittedEvents.FrameDetached, frame);
-};
+    #removeFramesRecursively(frame) {
+        for (const child of frame.childFrames()) {
+            this.#removeFramesRecursively(child);
+        }
+        frame._detach();
+        this._frameTree.removeFrame(frame);
+        this.emit(exports.FrameManagerEmittedEvents.FrameDetached, frame);
+    }
+}
+exports.FrameManager = FrameManager;
 //# sourceMappingURL=FrameManager.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js.map
index 830ea06..c0130ee 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"FrameManager.js","sourceRoot":"","sources":["../../../../src/common/FrameManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"FrameManager.js","sourceRoot":"","sources":["../../../../src/common/FrameManager.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAKH,iDAAyC;AACzC,uDAAiD;AAEjD,mDAAgE;AAChE,qEAAoE;AACpE,uDAA+C;AAC/C,+DAAuD;AAEvD,yCAA6C;AAC7C,iDAAyC;AAEzC,2DAAgE;AAChE,2DAAmD;AAGnD,uCAAmD;AAEnD;;GAEG;AACU,QAAA,kBAAkB,GAAG,6BAA6B,CAAC;AAEhE;;;;;GAKG;AACU,QAAA,yBAAyB,GAAG;IACvC,aAAa,EAAE,MAAM,CAAC,4BAA4B,CAAC;IACnD,cAAc,EAAE,MAAM,CAAC,6BAA6B,CAAC;IACrD,aAAa,EAAE,MAAM,CAAC,4BAA4B,CAAC;IACnD,YAAY,EAAE,MAAM,CAAC,2BAA2B,CAAC;IACjD,cAAc,EAAE,MAAM,CAAC,6BAA6B,CAAC;IACrD,4BAA4B,EAAE,MAAM,CAClC,2CAA2C,CAC5C;IACD,uBAAuB,EAAE,MAAM,CAAC,sCAAsC,CAAC;IACvE,yBAAyB,EAAE,MAAM,CAAC,wCAAwC,CAAC;CAC5E,CAAC;AAEF;;;;GAIG;AACH,MAAa,YAAa,SAAQ,8BAAY;IAC5C,KAAK,CAAO;IACZ,eAAe,CAAiB;IAChC,gBAAgB,CAAkB;IAClC,mBAAmB,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC1D,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,OAAO,CAAa;IACpB;;OAEG;IACH,UAAU,GAAG,IAAI,wBAAS,EAAS,CAAC;IAEpC;;;;OAIG;IACH,uBAAuB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE5C,8BAA8B,GAAG,IAAI,OAAO,EAGzC,CAAC;IAEJ,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,YACE,MAAkB,EAClB,IAAU,EACV,iBAA0B,EAC1B,eAAgC;QAEhC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,eAAe,GAAG,IAAI,kCAAc,CAAC,MAAM,EAAE,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAEO,mBAAmB,CAAC,OAAmB;QAC7C,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,CAAC,EAAE;YACvC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,qBAAqB,EAAE,KAAK,CAAC,EAAE;YACxC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,KAAK,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,8BAA8B,EAAE,KAAK,CAAC,EAAE;YACjD,IAAI,CAAC,+BAA+B,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CACR,oBAAoB,EACpB,CAAC,KAAuC,EAAE,EAAE;YAC1C,IAAI,CAAC,gBAAgB,CACnB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,MAAgD,CACvD,CAAC;QACJ,CAAC,CACF,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,0BAA0B,EAAE,KAAK,CAAC,EAAE;YAC7C,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,0BAA0B,EAAE,KAAK,CAAC,EAAE;YAC7C,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,iCAAiC,EAAE,KAAK,CAAC,EAAE;YACpD,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,mCAAmC,EAAE,KAAK,CAAC,EAAE;YACtD,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAClD,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,EAAE,CAAC,qBAAqB,EAAE,KAAK,CAAC,EAAE;YACxC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAqB,IAAI,CAAC,OAAO;QAChD,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC;aACjC,CAAC,CAAC;YAEH,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACzC,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;gBAC9D,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;oBACtC,OAAO,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,0BAAkB,CAAC,CAAC;gBAC/D,CAAC,CAAC;gBACF,yDAAyD;gBACzD,MAAM,KAAK,IAAI,CAAC,OAAO;oBACrB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;oBACnC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;aACtB,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,wEAAwE;YACxE,IAAI,IAAA,0BAAW,EAAC,KAAK,CAAC,IAAI,IAAA,mCAAmB,EAAC,KAAK,CAAC,EAAE;gBACpD,OAAO;aACR;YAED,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAED,oBAAoB,CAClB,SAAiB,EACjB,UAAsB,IAAI,CAAC,OAAO;QAElC,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjE,IAAA,kBAAM,EAAC,OAAO,EAAE,4CAA4C,GAAG,SAAS,CAAC,CAAC;QAC1E,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,uBAAuB,CACrB,SAAiB,EACjB,UAAsB,IAAI,CAAC,OAAO;QAElC,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,EAAE,EAAE,IAAI,SAAS,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,SAAS;QACP,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QACjD,IAAA,kBAAM,EAAC,SAAS,EAAE,kCAAkC,CAAC,CAAC;QACtD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;IAClD,CAAC;IAED,kBAAkB,CAAC,MAAiB;QAClC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC7C,OAAO;SACR;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAG,CAAC,CAAC;SACxC;QACD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAG,CAAC,CAAC;QAC7C,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,2BAA2B,CAAC,MAAkB;QAC5C,IAAI,OAAO,GAAG,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,OAAO,GAAG,IAAI,mDAA0B,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACxE,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SAC1D;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,iBAAiB,CAAC,KAAwC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,iCAAyB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,sBAAsB,CAAC,OAAe;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,KAAK,CAAC,iBAAiB,EAAE,CAAC;IAC5B,CAAC;IAED,sBAAsB,CAAC,OAAe;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,iCAAyB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,gBAAgB,CACd,OAAmB,EACnB,SAAkC;QAElC,IAAI,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC5B,IAAI,CAAC,gBAAgB,CACnB,OAAO,EACP,SAAS,CAAC,KAAK,CAAC,EAAE,EAClB,SAAS,CAAC,KAAK,CAAC,QAAQ,CACzB,CAAC;SACH;QACD,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;YACzD,KAAK,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC9C;aAAM;YACL,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SACzD;QAED,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YAC1B,OAAO;SACR;QAED,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,WAAW,EAAE;YACzC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACvC;IACH,CAAC;IAED,gBAAgB,CACd,OAAmB,EACnB,OAAe,EACf,aAAqB;QAErB,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,KAAK,EAAE;YACT,IAAI,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,EAAE;gBACjC,kDAAkD;gBAClD,iDAAiD;gBACjD,yBAAyB;gBACzB,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;aAC7B;YACD,OAAO;SACR;QAED,KAAK,GAAG,IAAI,gBAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;QAC5D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,iCAAyB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,YAAiC;QACvD,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;QAE3C,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE7C,iCAAiC;QACjC,IAAI,KAAK,EAAE;YACT,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;gBACvC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;aACtC;SACF;QAED,+BAA+B;QAC/B,IAAI,WAAW,EAAE;YACf,IAAI,KAAK,EAAE;gBACT,wEAAwE;gBACxE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnC,KAAK,CAAC,GAAG,GAAG,OAAO,CAAC;aACrB;iBAAM;gBACL,iCAAiC;gBACjC,KAAK,GAAG,IAAI,gBAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aAC9D;YACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACjC;QAED,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACpD,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,iCAAyB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAAmB,EAAE,IAAY;QAC1D,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;QAEtC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACjC,OAAO;SACR;QAED,MAAM,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE;YAC1D,MAAM,EAAE,iBAAiB,sBAAY,CAAC,YAAY,EAAE;YACpD,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,MAAM,EAAE;aACV,MAAM,CAAC,KAAK,CAAC,EAAE;YACd,OAAO,KAAK,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC;QACrC,CAAC,CAAC;aACD,GAAG,CAAC,KAAK,CAAC,EAAE;YACX,mEAAmE;YACnE,kBAAkB;YAClB,OAAO,OAAO;iBACX,IAAI,CAAC,0BAA0B,EAAE;gBAChC,OAAO,EAAE,KAAK,CAAC,GAAG;gBAClB,SAAS,EAAE,IAAI;gBACf,mBAAmB,EAAE,IAAI;aAC1B,CAAC;iBACD,KAAK,CAAC,oBAAU,CAAC,CAAC;QACvB,CAAC,CAAC,CACL,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,+BAA+B,CAAC,OAAe,EAAE,GAAW;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,EAAE;YACV,OAAO;SACR;QACD,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,iCAAyB,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;QACzE,IAAI,CAAC,IAAI,CAAC,iCAAyB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED,gBAAgB,CACd,OAAe,EACf,MAA8C;QAE9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,MAAM,KAAK,QAAQ,EAAE;YACvB,gEAAgE;YAChE,qCAAqC;YACrC,kEAAkE;YAClE,IAAI,KAAK,EAAE;gBACT,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;aACtC;SACF;aAAM,IAAI,MAAM,KAAK,MAAM,EAAE;YAC5B,IAAI,CAAC,IAAI,CAAC,iCAAyB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;SAC1D;IACH,CAAC;IAED,0BAA0B,CACxB,cAA4D,EAC5D,OAAmB;QAEnB,MAAM,OAAO,GAAG,cAAc,CAAC,OAAyC,CAAC;QACzE,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;QAC3C,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5E,IAAI,KAAgC,CAAC;QACrC,IAAI,KAAK,EAAE;YACT,sEAAsE;YACtE,IAAI,KAAK,CAAC,OAAO,EAAE,KAAK,OAAO,EAAE;gBAC/B,OAAO;aACR;YACD,IAAI,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACjE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,8BAAU,CAAC,CAAC;aAClC;iBAAM,IACL,cAAc,CAAC,IAAI,KAAK,0BAAkB;gBAC1C,CAAC,KAAK,CAAC,MAAM,CAAC,mCAAe,CAAC,CAAC,UAAU,EAAE,EAC3C;gBACA,0EAA0E;gBAC1E,oEAAoE;gBACpE,qBAAqB;gBACrB,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,mCAAe,CAAC,CAAC;aACvC;SACF;QACD,MAAM,OAAO,GAAG,IAAI,sCAAgB,CAClC,KAAK,EAAE,OAAO,EAAE,IAAI,IAAI,CAAC,OAAO,EAChC,cAAc,EACd,KAAK,CACN,CAAC;QACF,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;SAC3B;QACD,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,EAAE,EAAE,IAAI,cAAc,CAAC,EAAE,EAAE,CAAC;QACnD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,4BAA4B,CAC1B,kBAA0B,EAC1B,OAAmB;QAEnB,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,EAAE,EAAE,IAAI,kBAAkB,EAAE,CAAC;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QACD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;SAC/B;IACH,CAAC;IAED,2BAA2B,CAAC,OAAmB;QAC7C,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,EAAE;YAC/D,yDAAyD;YACzD,0BAA0B;YAC1B,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE;gBAC/B,SAAS;aACV;YACD,IAAI,OAAO,CAAC,MAAM,EAAE;gBAClB,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;aAC/B;YACD,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACtC;IACH,CAAC;IAED,wBAAwB,CAAC,KAAY;QACnC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;YACvC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;SACtC;QACD,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,iCAAyB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;CACF;AAhaD,oCAgaC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameTree.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameTree.js
index 213698c..b375e77 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameTree.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameTree.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _FrameTree_frames, _FrameTree_parentIds, _FrameTree_childIds, _FrameTree_mainFrame, _FrameTree_waitRequests;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.FrameTree = void 0;
 const Deferred_js_1 = require("../util/Deferred.js");
@@ -37,20 +25,18 @@
  * @internal
  */
 class FrameTree {
-    constructor() {
-        _FrameTree_frames.set(this, new Map());
-        // frameID -> parentFrameID
-        _FrameTree_parentIds.set(this, new Map());
-        // frameID -> childFrameIDs
-        _FrameTree_childIds.set(this, new Map());
-        _FrameTree_mainFrame.set(this, void 0);
-        _FrameTree_waitRequests.set(this, new Map());
-    }
+    #frames = new Map();
+    // frameID -> parentFrameID
+    #parentIds = new Map();
+    // frameID -> childFrameIDs
+    #childIds = new Map();
+    #mainFrame;
+    #waitRequests = new Map();
     getMainFrame() {
-        return __classPrivateFieldGet(this, _FrameTree_mainFrame, "f");
+        return this.#mainFrame;
     }
     getById(frameId) {
-        return __classPrivateFieldGet(this, _FrameTree_frames, "f").get(frameId);
+        return this.#frames.get(frameId);
     }
     /**
      * Returns a promise that is resolved once the frame with
@@ -62,41 +48,41 @@
             return Promise.resolve(frame);
         }
         const deferred = Deferred_js_1.Deferred.create();
-        const callbacks = __classPrivateFieldGet(this, _FrameTree_waitRequests, "f").get(frameId) || new Set();
+        const callbacks = this.#waitRequests.get(frameId) || new Set();
         callbacks.add(deferred);
         return deferred.valueOrThrow();
     }
     frames() {
-        return Array.from(__classPrivateFieldGet(this, _FrameTree_frames, "f").values());
+        return Array.from(this.#frames.values());
     }
     addFrame(frame) {
-        __classPrivateFieldGet(this, _FrameTree_frames, "f").set(frame._id, frame);
+        this.#frames.set(frame._id, frame);
         if (frame._parentId) {
-            __classPrivateFieldGet(this, _FrameTree_parentIds, "f").set(frame._id, frame._parentId);
-            if (!__classPrivateFieldGet(this, _FrameTree_childIds, "f").has(frame._parentId)) {
-                __classPrivateFieldGet(this, _FrameTree_childIds, "f").set(frame._parentId, new Set());
+            this.#parentIds.set(frame._id, frame._parentId);
+            if (!this.#childIds.has(frame._parentId)) {
+                this.#childIds.set(frame._parentId, new Set());
             }
-            __classPrivateFieldGet(this, _FrameTree_childIds, "f").get(frame._parentId).add(frame._id);
+            this.#childIds.get(frame._parentId).add(frame._id);
         }
-        else {
-            __classPrivateFieldSet(this, _FrameTree_mainFrame, frame, "f");
+        else if (!this.#mainFrame) {
+            this.#mainFrame = frame;
         }
-        __classPrivateFieldGet(this, _FrameTree_waitRequests, "f").get(frame._id)?.forEach(request => {
+        this.#waitRequests.get(frame._id)?.forEach(request => {
             return request.resolve(frame);
         });
     }
     removeFrame(frame) {
-        __classPrivateFieldGet(this, _FrameTree_frames, "f").delete(frame._id);
-        __classPrivateFieldGet(this, _FrameTree_parentIds, "f").delete(frame._id);
+        this.#frames.delete(frame._id);
+        this.#parentIds.delete(frame._id);
         if (frame._parentId) {
-            __classPrivateFieldGet(this, _FrameTree_childIds, "f").get(frame._parentId)?.delete(frame._id);
+            this.#childIds.get(frame._parentId)?.delete(frame._id);
         }
         else {
-            __classPrivateFieldSet(this, _FrameTree_mainFrame, undefined, "f");
+            this.#mainFrame = undefined;
         }
     }
     childFrames(frameId) {
-        const childIds = __classPrivateFieldGet(this, _FrameTree_childIds, "f").get(frameId);
+        const childIds = this.#childIds.get(frameId);
         if (!childIds) {
             return [];
         }
@@ -109,10 +95,9 @@
         });
     }
     parentFrame(frameId) {
-        const parentId = __classPrivateFieldGet(this, _FrameTree_parentIds, "f").get(frameId);
+        const parentId = this.#parentIds.get(frameId);
         return parentId ? this.getById(parentId) : undefined;
     }
 }
 exports.FrameTree = FrameTree;
-_FrameTree_frames = new WeakMap(), _FrameTree_parentIds = new WeakMap(), _FrameTree_childIds = new WeakMap(), _FrameTree_mainFrame = new WeakMap(), _FrameTree_waitRequests = new WeakMap();
 //# sourceMappingURL=FrameTree.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameTree.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameTree.js.map
index ca35018..6529bea 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameTree.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameTree.js.map
@@ -1 +1 @@
-{"version":3,"file":"FrameTree.js","sourceRoot":"","sources":["../../../../src/common/FrameTree.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"FrameTree.js","sourceRoot":"","sources":["../../../../src/common/FrameTree.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js
index 1090965..dc1e11b 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js
@@ -1,16 +1,4 @@
 "use strict";
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _HTTPRequest_instances, _HTTPRequest_client, _HTTPRequest_isNavigationRequest, _HTTPRequest_allowInterception, _HTTPRequest_interceptionHandled, _HTTPRequest_url, _HTTPRequest_resourceType, _HTTPRequest_method, _HTTPRequest_postData, _HTTPRequest_headers, _HTTPRequest_frame, _HTTPRequest_continueRequestOverrides, _HTTPRequest_responseForRequest, _HTTPRequest_abortErrorReason, _HTTPRequest_interceptResolutionState, _HTTPRequest_interceptHandlers, _HTTPRequest_initiator, _HTTPRequest_continue, _HTTPRequest_respond, _HTTPRequest_abort;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.HTTPRequest = void 0;
 const HTTPRequest_js_1 = require("../api/HTTPRequest.js");
@@ -20,121 +8,124 @@
  * @internal
  */
 class HTTPRequest extends HTTPRequest_js_1.HTTPRequest {
+    _requestId;
+    _interceptionId;
+    _failureText = null;
+    _response = null;
+    _fromMemoryCache = false;
+    _redirectChain;
+    #client;
+    #isNavigationRequest;
+    #allowInterception;
+    #interceptionHandled = false;
+    #url;
+    #resourceType;
+    #method;
+    #postData;
+    #headers = {};
+    #frame;
+    #continueRequestOverrides;
+    #responseForRequest = null;
+    #abortErrorReason = null;
+    #interceptResolutionState = {
+        action: HTTPRequest_js_1.InterceptResolutionAction.None,
+    };
+    #interceptHandlers;
+    #initiator;
     get client() {
-        return __classPrivateFieldGet(this, _HTTPRequest_client, "f");
+        return this.#client;
     }
     constructor(client, frame, interceptionId, allowInterception, data, redirectChain) {
         super();
-        _HTTPRequest_instances.add(this);
-        this._failureText = null;
-        this._response = null;
-        this._fromMemoryCache = false;
-        _HTTPRequest_client.set(this, void 0);
-        _HTTPRequest_isNavigationRequest.set(this, void 0);
-        _HTTPRequest_allowInterception.set(this, void 0);
-        _HTTPRequest_interceptionHandled.set(this, false);
-        _HTTPRequest_url.set(this, void 0);
-        _HTTPRequest_resourceType.set(this, void 0);
-        _HTTPRequest_method.set(this, void 0);
-        _HTTPRequest_postData.set(this, void 0);
-        _HTTPRequest_headers.set(this, {});
-        _HTTPRequest_frame.set(this, void 0);
-        _HTTPRequest_continueRequestOverrides.set(this, void 0);
-        _HTTPRequest_responseForRequest.set(this, null);
-        _HTTPRequest_abortErrorReason.set(this, null);
-        _HTTPRequest_interceptResolutionState.set(this, {
-            action: HTTPRequest_js_1.InterceptResolutionAction.None,
-        });
-        _HTTPRequest_interceptHandlers.set(this, void 0);
-        _HTTPRequest_initiator.set(this, void 0);
-        __classPrivateFieldSet(this, _HTTPRequest_client, client, "f");
+        this.#client = client;
         this._requestId = data.requestId;
-        __classPrivateFieldSet(this, _HTTPRequest_isNavigationRequest, data.requestId === data.loaderId && data.type === 'Document', "f");
+        this.#isNavigationRequest =
+            data.requestId === data.loaderId && data.type === 'Document';
         this._interceptionId = interceptionId;
-        __classPrivateFieldSet(this, _HTTPRequest_allowInterception, allowInterception, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_url, data.request.url, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_resourceType, (data.type || 'other').toLowerCase(), "f");
-        __classPrivateFieldSet(this, _HTTPRequest_method, data.request.method, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_postData, data.request.postData, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_frame, frame, "f");
+        this.#allowInterception = allowInterception;
+        this.#url = data.request.url;
+        this.#resourceType = (data.type || 'other').toLowerCase();
+        this.#method = data.request.method;
+        this.#postData = data.request.postData;
+        this.#frame = frame;
         this._redirectChain = redirectChain;
-        __classPrivateFieldSet(this, _HTTPRequest_continueRequestOverrides, {}, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_interceptHandlers, [], "f");
-        __classPrivateFieldSet(this, _HTTPRequest_initiator, data.initiator, "f");
+        this.#continueRequestOverrides = {};
+        this.#interceptHandlers = [];
+        this.#initiator = data.initiator;
         for (const [key, value] of Object.entries(data.request.headers)) {
-            __classPrivateFieldGet(this, _HTTPRequest_headers, "f")[key.toLowerCase()] = value;
+            this.#headers[key.toLowerCase()] = value;
         }
     }
     url() {
-        return __classPrivateFieldGet(this, _HTTPRequest_url, "f");
+        return this.#url;
     }
     continueRequestOverrides() {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _HTTPRequest_allowInterception, "f"), 'Request Interception is not enabled!');
-        return __classPrivateFieldGet(this, _HTTPRequest_continueRequestOverrides, "f");
+        (0, assert_js_1.assert)(this.#allowInterception, 'Request Interception is not enabled!');
+        return this.#continueRequestOverrides;
     }
     responseForRequest() {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _HTTPRequest_allowInterception, "f"), 'Request Interception is not enabled!');
-        return __classPrivateFieldGet(this, _HTTPRequest_responseForRequest, "f");
+        (0, assert_js_1.assert)(this.#allowInterception, 'Request Interception is not enabled!');
+        return this.#responseForRequest;
     }
     abortErrorReason() {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _HTTPRequest_allowInterception, "f"), 'Request Interception is not enabled!');
-        return __classPrivateFieldGet(this, _HTTPRequest_abortErrorReason, "f");
+        (0, assert_js_1.assert)(this.#allowInterception, 'Request Interception is not enabled!');
+        return this.#abortErrorReason;
     }
     interceptResolutionState() {
-        if (!__classPrivateFieldGet(this, _HTTPRequest_allowInterception, "f")) {
+        if (!this.#allowInterception) {
             return { action: HTTPRequest_js_1.InterceptResolutionAction.Disabled };
         }
-        if (__classPrivateFieldGet(this, _HTTPRequest_interceptionHandled, "f")) {
+        if (this.#interceptionHandled) {
             return { action: HTTPRequest_js_1.InterceptResolutionAction.AlreadyHandled };
         }
-        return { ...__classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f") };
+        return { ...this.#interceptResolutionState };
     }
     isInterceptResolutionHandled() {
-        return __classPrivateFieldGet(this, _HTTPRequest_interceptionHandled, "f");
+        return this.#interceptionHandled;
     }
     enqueueInterceptAction(pendingHandler) {
-        __classPrivateFieldGet(this, _HTTPRequest_interceptHandlers, "f").push(pendingHandler);
+        this.#interceptHandlers.push(pendingHandler);
     }
     async finalizeInterceptions() {
-        await __classPrivateFieldGet(this, _HTTPRequest_interceptHandlers, "f").reduce((promiseChain, interceptAction) => {
+        await this.#interceptHandlers.reduce((promiseChain, interceptAction) => {
             return promiseChain.then(interceptAction);
         }, Promise.resolve());
         const { action } = this.interceptResolutionState();
         switch (action) {
             case 'abort':
-                return __classPrivateFieldGet(this, _HTTPRequest_instances, "m", _HTTPRequest_abort).call(this, __classPrivateFieldGet(this, _HTTPRequest_abortErrorReason, "f"));
+                return this.#abort(this.#abortErrorReason);
             case 'respond':
-                if (__classPrivateFieldGet(this, _HTTPRequest_responseForRequest, "f") === null) {
+                if (this.#responseForRequest === null) {
                     throw new Error('Response is missing for the interception');
                 }
-                return __classPrivateFieldGet(this, _HTTPRequest_instances, "m", _HTTPRequest_respond).call(this, __classPrivateFieldGet(this, _HTTPRequest_responseForRequest, "f"));
+                return this.#respond(this.#responseForRequest);
             case 'continue':
-                return __classPrivateFieldGet(this, _HTTPRequest_instances, "m", _HTTPRequest_continue).call(this, __classPrivateFieldGet(this, _HTTPRequest_continueRequestOverrides, "f"));
+                return this.#continue(this.#continueRequestOverrides);
         }
     }
     resourceType() {
-        return __classPrivateFieldGet(this, _HTTPRequest_resourceType, "f");
+        return this.#resourceType;
     }
     method() {
-        return __classPrivateFieldGet(this, _HTTPRequest_method, "f");
+        return this.#method;
     }
     postData() {
-        return __classPrivateFieldGet(this, _HTTPRequest_postData, "f");
+        return this.#postData;
     }
     headers() {
-        return __classPrivateFieldGet(this, _HTTPRequest_headers, "f");
+        return this.#headers;
     }
     response() {
         return this._response;
     }
     frame() {
-        return __classPrivateFieldGet(this, _HTTPRequest_frame, "f");
+        return this.#frame;
     }
     isNavigationRequest() {
-        return __classPrivateFieldGet(this, _HTTPRequest_isNavigationRequest, "f");
+        return this.#isNavigationRequest;
     }
     initiator() {
-        return __classPrivateFieldGet(this, _HTTPRequest_initiator, "f");
+        return this.#initiator;
     }
     redirectChain() {
         return this._redirectChain.slice();
@@ -149,154 +140,156 @@
     }
     async continue(overrides = {}, priority) {
         // Request interception is not supported for data: urls.
-        if (__classPrivateFieldGet(this, _HTTPRequest_url, "f").startsWith('data:')) {
+        if (this.#url.startsWith('data:')) {
             return;
         }
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _HTTPRequest_allowInterception, "f"), 'Request Interception is not enabled!');
-        (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _HTTPRequest_interceptionHandled, "f"), 'Request is already handled!');
+        (0, assert_js_1.assert)(this.#allowInterception, 'Request Interception is not enabled!');
+        (0, assert_js_1.assert)(!this.#interceptionHandled, 'Request is already handled!');
         if (priority === undefined) {
-            return __classPrivateFieldGet(this, _HTTPRequest_instances, "m", _HTTPRequest_continue).call(this, overrides);
+            return this.#continue(overrides);
         }
-        __classPrivateFieldSet(this, _HTTPRequest_continueRequestOverrides, overrides, "f");
-        if (__classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").priority === undefined ||
-            priority > __classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").priority) {
-            __classPrivateFieldSet(this, _HTTPRequest_interceptResolutionState, {
+        this.#continueRequestOverrides = overrides;
+        if (this.#interceptResolutionState.priority === undefined ||
+            priority > this.#interceptResolutionState.priority) {
+            this.#interceptResolutionState = {
                 action: HTTPRequest_js_1.InterceptResolutionAction.Continue,
                 priority,
-            }, "f");
+            };
             return;
         }
-        if (priority === __classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").priority) {
-            if (__classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").action === 'abort' ||
-                __classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").action === 'respond') {
+        if (priority === this.#interceptResolutionState.priority) {
+            if (this.#interceptResolutionState.action === 'abort' ||
+                this.#interceptResolutionState.action === 'respond') {
                 return;
             }
-            __classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").action =
+            this.#interceptResolutionState.action =
                 HTTPRequest_js_1.InterceptResolutionAction.Continue;
         }
         return;
     }
+    async #continue(overrides = {}) {
+        const { url, method, postData, headers } = overrides;
+        this.#interceptionHandled = true;
+        const postDataBinaryBase64 = postData
+            ? Buffer.from(postData).toString('base64')
+            : undefined;
+        if (this._interceptionId === undefined) {
+            throw new Error('HTTPRequest is missing _interceptionId needed for Fetch.continueRequest');
+        }
+        await this.#client
+            .send('Fetch.continueRequest', {
+            requestId: this._interceptionId,
+            url,
+            method,
+            postData: postDataBinaryBase64,
+            headers: headers ? (0, HTTPRequest_js_1.headersArray)(headers) : undefined,
+        })
+            .catch(error => {
+            this.#interceptionHandled = false;
+            return handleError(error);
+        });
+    }
     async respond(response, priority) {
         // Mocking responses for dataURL requests is not currently supported.
-        if (__classPrivateFieldGet(this, _HTTPRequest_url, "f").startsWith('data:')) {
+        if (this.#url.startsWith('data:')) {
             return;
         }
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _HTTPRequest_allowInterception, "f"), 'Request Interception is not enabled!');
-        (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _HTTPRequest_interceptionHandled, "f"), 'Request is already handled!');
+        (0, assert_js_1.assert)(this.#allowInterception, 'Request Interception is not enabled!');
+        (0, assert_js_1.assert)(!this.#interceptionHandled, 'Request is already handled!');
         if (priority === undefined) {
-            return __classPrivateFieldGet(this, _HTTPRequest_instances, "m", _HTTPRequest_respond).call(this, response);
+            return this.#respond(response);
         }
-        __classPrivateFieldSet(this, _HTTPRequest_responseForRequest, response, "f");
-        if (__classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").priority === undefined ||
-            priority > __classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").priority) {
-            __classPrivateFieldSet(this, _HTTPRequest_interceptResolutionState, {
+        this.#responseForRequest = response;
+        if (this.#interceptResolutionState.priority === undefined ||
+            priority > this.#interceptResolutionState.priority) {
+            this.#interceptResolutionState = {
                 action: HTTPRequest_js_1.InterceptResolutionAction.Respond,
                 priority,
-            }, "f");
+            };
             return;
         }
-        if (priority === __classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").priority) {
-            if (__classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").action === 'abort') {
+        if (priority === this.#interceptResolutionState.priority) {
+            if (this.#interceptResolutionState.action === 'abort') {
                 return;
             }
-            __classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").action = HTTPRequest_js_1.InterceptResolutionAction.Respond;
+            this.#interceptResolutionState.action = HTTPRequest_js_1.InterceptResolutionAction.Respond;
         }
     }
+    async #respond(response) {
+        this.#interceptionHandled = true;
+        const responseBody = response.body && (0, util_js_1.isString)(response.body)
+            ? Buffer.from(response.body)
+            : response.body || null;
+        const responseHeaders = {};
+        if (response.headers) {
+            for (const header of Object.keys(response.headers)) {
+                const value = response.headers[header];
+                responseHeaders[header.toLowerCase()] = Array.isArray(value)
+                    ? value.map(item => {
+                        return String(item);
+                    })
+                    : String(value);
+            }
+        }
+        if (response.contentType) {
+            responseHeaders['content-type'] = response.contentType;
+        }
+        if (responseBody && !('content-length' in responseHeaders)) {
+            responseHeaders['content-length'] = String(Buffer.byteLength(responseBody));
+        }
+        const status = response.status || 200;
+        if (this._interceptionId === undefined) {
+            throw new Error('HTTPRequest is missing _interceptionId needed for Fetch.fulfillRequest');
+        }
+        await this.#client
+            .send('Fetch.fulfillRequest', {
+            requestId: this._interceptionId,
+            responseCode: status,
+            responsePhrase: HTTPRequest_js_1.STATUS_TEXTS[status],
+            responseHeaders: (0, HTTPRequest_js_1.headersArray)(responseHeaders),
+            body: responseBody ? responseBody.toString('base64') : undefined,
+        })
+            .catch(error => {
+            this.#interceptionHandled = false;
+            return handleError(error);
+        });
+    }
     async abort(errorCode = 'failed', priority) {
         // Request interception is not supported for data: urls.
-        if (__classPrivateFieldGet(this, _HTTPRequest_url, "f").startsWith('data:')) {
+        if (this.#url.startsWith('data:')) {
             return;
         }
         const errorReason = errorReasons[errorCode];
         (0, assert_js_1.assert)(errorReason, 'Unknown error code: ' + errorCode);
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _HTTPRequest_allowInterception, "f"), 'Request Interception is not enabled!');
-        (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _HTTPRequest_interceptionHandled, "f"), 'Request is already handled!');
+        (0, assert_js_1.assert)(this.#allowInterception, 'Request Interception is not enabled!');
+        (0, assert_js_1.assert)(!this.#interceptionHandled, 'Request is already handled!');
         if (priority === undefined) {
-            return __classPrivateFieldGet(this, _HTTPRequest_instances, "m", _HTTPRequest_abort).call(this, errorReason);
+            return this.#abort(errorReason);
         }
-        __classPrivateFieldSet(this, _HTTPRequest_abortErrorReason, errorReason, "f");
-        if (__classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").priority === undefined ||
-            priority >= __classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").priority) {
-            __classPrivateFieldSet(this, _HTTPRequest_interceptResolutionState, {
+        this.#abortErrorReason = errorReason;
+        if (this.#interceptResolutionState.priority === undefined ||
+            priority >= this.#interceptResolutionState.priority) {
+            this.#interceptResolutionState = {
                 action: HTTPRequest_js_1.InterceptResolutionAction.Abort,
                 priority,
-            }, "f");
+            };
             return;
         }
     }
+    async #abort(errorReason) {
+        this.#interceptionHandled = true;
+        if (this._interceptionId === undefined) {
+            throw new Error('HTTPRequest is missing _interceptionId needed for Fetch.failRequest');
+        }
+        await this.#client
+            .send('Fetch.failRequest', {
+            requestId: this._interceptionId,
+            errorReason: errorReason || 'Failed',
+        })
+            .catch(handleError);
+    }
 }
 exports.HTTPRequest = HTTPRequest;
-_HTTPRequest_client = new WeakMap(), _HTTPRequest_isNavigationRequest = new WeakMap(), _HTTPRequest_allowInterception = new WeakMap(), _HTTPRequest_interceptionHandled = new WeakMap(), _HTTPRequest_url = new WeakMap(), _HTTPRequest_resourceType = new WeakMap(), _HTTPRequest_method = new WeakMap(), _HTTPRequest_postData = new WeakMap(), _HTTPRequest_headers = new WeakMap(), _HTTPRequest_frame = new WeakMap(), _HTTPRequest_continueRequestOverrides = new WeakMap(), _HTTPRequest_responseForRequest = new WeakMap(), _HTTPRequest_abortErrorReason = new WeakMap(), _HTTPRequest_interceptResolutionState = new WeakMap(), _HTTPRequest_interceptHandlers = new WeakMap(), _HTTPRequest_initiator = new WeakMap(), _HTTPRequest_instances = new WeakSet(), _HTTPRequest_continue = async function _HTTPRequest_continue(overrides = {}) {
-    const { url, method, postData, headers } = overrides;
-    __classPrivateFieldSet(this, _HTTPRequest_interceptionHandled, true, "f");
-    const postDataBinaryBase64 = postData
-        ? Buffer.from(postData).toString('base64')
-        : undefined;
-    if (this._interceptionId === undefined) {
-        throw new Error('HTTPRequest is missing _interceptionId needed for Fetch.continueRequest');
-    }
-    await __classPrivateFieldGet(this, _HTTPRequest_client, "f")
-        .send('Fetch.continueRequest', {
-        requestId: this._interceptionId,
-        url,
-        method,
-        postData: postDataBinaryBase64,
-        headers: headers ? (0, HTTPRequest_js_1.headersArray)(headers) : undefined,
-    })
-        .catch(error => {
-        __classPrivateFieldSet(this, _HTTPRequest_interceptionHandled, false, "f");
-        return handleError(error);
-    });
-}, _HTTPRequest_respond = async function _HTTPRequest_respond(response) {
-    __classPrivateFieldSet(this, _HTTPRequest_interceptionHandled, true, "f");
-    const responseBody = response.body && (0, util_js_1.isString)(response.body)
-        ? Buffer.from(response.body)
-        : response.body || null;
-    const responseHeaders = {};
-    if (response.headers) {
-        for (const header of Object.keys(response.headers)) {
-            const value = response.headers[header];
-            responseHeaders[header.toLowerCase()] = Array.isArray(value)
-                ? value.map(item => {
-                    return String(item);
-                })
-                : String(value);
-        }
-    }
-    if (response.contentType) {
-        responseHeaders['content-type'] = response.contentType;
-    }
-    if (responseBody && !('content-length' in responseHeaders)) {
-        responseHeaders['content-length'] = String(Buffer.byteLength(responseBody));
-    }
-    const status = response.status || 200;
-    if (this._interceptionId === undefined) {
-        throw new Error('HTTPRequest is missing _interceptionId needed for Fetch.fulfillRequest');
-    }
-    await __classPrivateFieldGet(this, _HTTPRequest_client, "f")
-        .send('Fetch.fulfillRequest', {
-        requestId: this._interceptionId,
-        responseCode: status,
-        responsePhrase: HTTPRequest_js_1.STATUS_TEXTS[status],
-        responseHeaders: (0, HTTPRequest_js_1.headersArray)(responseHeaders),
-        body: responseBody ? responseBody.toString('base64') : undefined,
-    })
-        .catch(error => {
-        __classPrivateFieldSet(this, _HTTPRequest_interceptionHandled, false, "f");
-        return handleError(error);
-    });
-}, _HTTPRequest_abort = async function _HTTPRequest_abort(errorReason) {
-    __classPrivateFieldSet(this, _HTTPRequest_interceptionHandled, true, "f");
-    if (this._interceptionId === undefined) {
-        throw new Error('HTTPRequest is missing _interceptionId needed for Fetch.failRequest');
-    }
-    await __classPrivateFieldGet(this, _HTTPRequest_client, "f")
-        .send('Fetch.failRequest', {
-        requestId: this._interceptionId,
-        errorReason: errorReason || 'Failed',
-    })
-        .catch(handleError);
-};
 const errorReasons = {
     aborted: 'Aborted',
     accessdenied: 'AccessDenied',
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js.map
index be0feb0..d9fd0e8 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js.map
@@ -1 +1 @@
-{"version":3,"file":"HTTPRequest.js","sourceRoot":"","sources":["../../../../src/common/HTTPRequest.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"HTTPRequest.js","sourceRoot":"","sources":["../../../../src/common/HTTPRequest.ts"],"names":[],"mappings":";;;AAkBA,0DAU+B;AAE/B,iDAAyC;AAIzC,uCAA+C;AAE/C;;GAEG;AACH,MAAa,WAAY,SAAQ,4BAAe;IACrC,UAAU,CAAS;IACnB,eAAe,CAAqB;IACpC,YAAY,GAAkB,IAAI,CAAC;IACnC,SAAS,GAAwB,IAAI,CAAC;IACtC,gBAAgB,GAAG,KAAK,CAAC;IACzB,cAAc,CAAgB;IAEvC,OAAO,CAAa;IACpB,oBAAoB,CAAU;IAC9B,kBAAkB,CAAU;IAC5B,oBAAoB,GAAG,KAAK,CAAC;IAC7B,IAAI,CAAS;IACb,aAAa,CAAe;IAE5B,OAAO,CAAS;IAChB,SAAS,CAAU;IACnB,QAAQ,GAA2B,EAAE,CAAC;IACtC,MAAM,CAAe;IACrB,yBAAyB,CAA2B;IACpD,mBAAmB,GAAuC,IAAI,CAAC;IAC/D,iBAAiB,GAAwC,IAAI,CAAC;IAC9D,yBAAyB,GAA6B;QACpD,MAAM,EAAE,0CAAyB,CAAC,IAAI;KACvC,CAAC;IACF,kBAAkB,CAAuC;IACzD,UAAU,CAA8B;IAExC,IAAa,MAAM;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,YACE,MAAkB,EAClB,KAAmB,EACnB,cAAkC,EAClC,iBAA0B,EAC1B,IAyBC,EACD,aAA4B;QAE5B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,oBAAoB;YACvB,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC;QAC/D,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,iBAAiB,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,WAAW,EAAkB,CAAC;QAC1E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAC/D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;SAC1C;IACH,CAAC;IAEQ,GAAG;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEQ,wBAAwB;QAC/B,IAAA,kBAAM,EAAC,IAAI,CAAC,kBAAkB,EAAE,sCAAsC,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,yBAAyB,CAAC;IACxC,CAAC;IAEQ,kBAAkB;QACzB,IAAA,kBAAM,EAAC,IAAI,CAAC,kBAAkB,EAAE,sCAAsC,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAEQ,gBAAgB;QACvB,IAAA,kBAAM,EAAC,IAAI,CAAC,kBAAkB,EAAE,sCAAsC,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAEQ,wBAAwB;QAC/B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC5B,OAAO,EAAC,MAAM,EAAE,0CAAyB,CAAC,QAAQ,EAAC,CAAC;SACrD;QACD,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,OAAO,EAAC,MAAM,EAAE,0CAAyB,CAAC,cAAc,EAAC,CAAC;SAC3D;QACD,OAAO,EAAC,GAAG,IAAI,CAAC,yBAAyB,EAAC,CAAC;IAC7C,CAAC;IAEQ,4BAA4B;QACnC,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAEQ,sBAAsB,CAC7B,cAAiD;QAEjD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC;IAEQ,KAAK,CAAC,qBAAqB;QAClC,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,eAAe,EAAE,EAAE;YACrE,OAAO,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5C,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACtB,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACjD,QAAQ,MAAM,EAAE;YACd,KAAK,OAAO;gBACV,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC7C,KAAK,SAAS;gBACZ,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,EAAE;oBACrC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;iBAC7D;gBACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACjD,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;SACzD;IACH,CAAC;IAEQ,YAAY;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEQ,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEQ,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEQ,KAAK;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAEQ,mBAAmB;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAEQ,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEQ,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAEQ,OAAO;QACd,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO,IAAI,CAAC;SACb;QACD,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,YAAY;SAC7B,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,QAAQ,CACrB,YAAsC,EAAE,EACxC,QAAiB;QAEjB,wDAAwD;QACxD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YACjC,OAAO;SACR;QACD,IAAA,kBAAM,EAAC,IAAI,CAAC,kBAAkB,EAAE,sCAAsC,CAAC,CAAC;QACxE,IAAA,kBAAM,EAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,6BAA6B,CAAC,CAAC;QAClE,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;SAClC;QACD,IAAI,CAAC,yBAAyB,GAAG,SAAS,CAAC;QAC3C,IACE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,KAAK,SAAS;YACrD,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAClD;YACA,IAAI,CAAC,yBAAyB,GAAG;gBAC/B,MAAM,EAAE,0CAAyB,CAAC,QAAQ;gBAC1C,QAAQ;aACT,CAAC;YACF,OAAO;SACR;QACD,IAAI,QAAQ,KAAK,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE;YACxD,IACE,IAAI,CAAC,yBAAyB,CAAC,MAAM,KAAK,OAAO;gBACjD,IAAI,CAAC,yBAAyB,CAAC,MAAM,KAAK,SAAS,EACnD;gBACA,OAAO;aACR;YACD,IAAI,CAAC,yBAAyB,CAAC,MAAM;gBACnC,0CAAyB,CAAC,QAAQ,CAAC;SACtC;QACD,OAAO;IACT,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,YAAsC,EAAE;QACtD,MAAM,EAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAC,GAAG,SAAS,CAAC;QACnD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAEjC,MAAM,oBAAoB,GAAG,QAAQ;YACnC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC1C,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE;YACtC,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;SACH;QACD,MAAM,IAAI,CAAC,OAAO;aACf,IAAI,CAAC,uBAAuB,EAAE;YAC7B,SAAS,EAAE,IAAI,CAAC,eAAe;YAC/B,GAAG;YACH,MAAM;YACN,QAAQ,EAAE,oBAAoB;YAC9B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAA,6BAAY,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;SACrD,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,EAAE;YACb,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAEQ,KAAK,CAAC,OAAO,CACpB,QAAqC,EACrC,QAAiB;QAEjB,qEAAqE;QACrE,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YACjC,OAAO;SACR;QACD,IAAA,kBAAM,EAAC,IAAI,CAAC,kBAAkB,EAAE,sCAAsC,CAAC,CAAC;QACxE,IAAA,kBAAM,EAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,6BAA6B,CAAC,CAAC;QAClE,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAChC;QACD,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;QACpC,IACE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,KAAK,SAAS;YACrD,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAClD;YACA,IAAI,CAAC,yBAAyB,GAAG;gBAC/B,MAAM,EAAE,0CAAyB,CAAC,OAAO;gBACzC,QAAQ;aACT,CAAC;YACF,OAAO;SACR;QACD,IAAI,QAAQ,KAAK,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE;YACxD,IAAI,IAAI,CAAC,yBAAyB,CAAC,MAAM,KAAK,OAAO,EAAE;gBACrD,OAAO;aACR;YACD,IAAI,CAAC,yBAAyB,CAAC,MAAM,GAAG,0CAAyB,CAAC,OAAO,CAAC;SAC3E;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAqC;QAClD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QAEjC,MAAM,YAAY,GAChB,QAAQ,CAAC,IAAI,IAAI,IAAA,kBAAQ,EAAC,QAAQ,CAAC,IAAI,CAAC;YACtC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC5B,CAAC,CAAE,QAAQ,CAAC,IAAe,IAAI,IAAI,CAAC;QAExC,MAAM,eAAe,GAAsC,EAAE,CAAC;QAC9D,IAAI,QAAQ,CAAC,OAAO,EAAE;YACpB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAEvC,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBAC1D,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;wBACf,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtB,CAAC,CAAC;oBACJ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;aACnB;SACF;QACD,IAAI,QAAQ,CAAC,WAAW,EAAE;YACxB,eAAe,CAAC,cAAc,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;SACxD;QACD,IAAI,YAAY,IAAI,CAAC,CAAC,gBAAgB,IAAI,eAAe,CAAC,EAAE;YAC1D,eAAe,CAAC,gBAAgB,CAAC,GAAG,MAAM,CACxC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAChC,CAAC;SACH;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC;QACtC,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE;YACtC,MAAM,IAAI,KAAK,CACb,wEAAwE,CACzE,CAAC;SACH;QACD,MAAM,IAAI,CAAC,OAAO;aACf,IAAI,CAAC,sBAAsB,EAAE;YAC5B,SAAS,EAAE,IAAI,CAAC,eAAe;YAC/B,YAAY,EAAE,MAAM;YACpB,cAAc,EAAE,6BAAY,CAAC,MAAM,CAAC;YACpC,eAAe,EAAE,IAAA,6BAAY,EAAC,eAAe,CAAC;YAC9C,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;SACjE,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,EAAE;YACb,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAClC,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAEQ,KAAK,CAAC,KAAK,CAClB,YAAuB,QAAQ,EAC/B,QAAiB;QAEjB,wDAAwD;QACxD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YACjC,OAAO;SACR;QACD,MAAM,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAA,kBAAM,EAAC,WAAW,EAAE,sBAAsB,GAAG,SAAS,CAAC,CAAC;QACxD,IAAA,kBAAM,EAAC,IAAI,CAAC,kBAAkB,EAAE,sCAAsC,CAAC,CAAC;QACxE,IAAA,kBAAM,EAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,6BAA6B,CAAC,CAAC;QAClE,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SACjC;QACD,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;QACrC,IACE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,KAAK,SAAS;YACrD,QAAQ,IAAI,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EACnD;YACA,IAAI,CAAC,yBAAyB,GAAG;gBAC/B,MAAM,EAAE,0CAAyB,CAAC,KAAK;gBACvC,QAAQ;aACT,CAAC;YACF,OAAO;SACR;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,WAAgD;QAEhD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE;YACtC,MAAM,IAAI,KAAK,CACb,qEAAqE,CACtE,CAAC;SACH;QACD,MAAM,IAAI,CAAC,OAAO;aACf,IAAI,CAAC,mBAAmB,EAAE;YACzB,SAAS,EAAE,IAAI,CAAC,eAAe;YAC/B,WAAW,EAAE,WAAW,IAAI,QAAQ;SACrC,CAAC;aACD,KAAK,CAAC,WAAW,CAAC,CAAC;IACxB,CAAC;CACF;AA1XD,kCA0XC;AAED,MAAM,YAAY,GAAoD;IACpE,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,kBAAkB,EAAE,oBAAoB;IACxC,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,mBAAmB;IACtC,iBAAiB,EAAE,mBAAmB;IACtC,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,iBAAiB,EAAE,mBAAmB;IACtC,eAAe,EAAE,iBAAiB;IAClC,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE,iBAAiB;IAClC,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;CACR,CAAC;AAEX,KAAK,UAAU,WAAW,CAAC,KAAoB;IAC7C,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE;QACtD,MAAM,KAAK,CAAC;KACb;IACD,kEAAkE;IAClE,oEAAoE;IACpE,UAAU;IACV,IAAA,oBAAU,EAAC,KAAK,CAAC,CAAC;AACpB,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js
index 10be226..efe51d5 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js
@@ -1,16 +1,4 @@
 "use strict";
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _HTTPResponse_instances, _HTTPResponse_client, _HTTPResponse_request, _HTTPResponse_contentPromise, _HTTPResponse_bodyLoadedDeferred, _HTTPResponse_remoteAddress, _HTTPResponse_status, _HTTPResponse_statusText, _HTTPResponse_url, _HTTPResponse_fromDiskCache, _HTTPResponse_fromServiceWorker, _HTTPResponse_headers, _HTTPResponse_securityDetails, _HTTPResponse_timing, _HTTPResponse_parseStatusTextFromExtrInfo;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.HTTPResponse = void 0;
 const HTTPResponse_js_1 = require("../api/HTTPResponse.js");
@@ -21,81 +9,99 @@
  * @internal
  */
 class HTTPResponse extends HTTPResponse_js_1.HTTPResponse {
+    #client;
+    #request;
+    #contentPromise = null;
+    #bodyLoadedDeferred = Deferred_js_1.Deferred.create();
+    #remoteAddress;
+    #status;
+    #statusText;
+    #url;
+    #fromDiskCache;
+    #fromServiceWorker;
+    #headers = {};
+    #securityDetails;
+    #timing;
     constructor(client, request, responsePayload, extraInfo) {
         super();
-        _HTTPResponse_instances.add(this);
-        _HTTPResponse_client.set(this, void 0);
-        _HTTPResponse_request.set(this, void 0);
-        _HTTPResponse_contentPromise.set(this, null);
-        _HTTPResponse_bodyLoadedDeferred.set(this, Deferred_js_1.Deferred.create());
-        _HTTPResponse_remoteAddress.set(this, void 0);
-        _HTTPResponse_status.set(this, void 0);
-        _HTTPResponse_statusText.set(this, void 0);
-        _HTTPResponse_url.set(this, void 0);
-        _HTTPResponse_fromDiskCache.set(this, void 0);
-        _HTTPResponse_fromServiceWorker.set(this, void 0);
-        _HTTPResponse_headers.set(this, {});
-        _HTTPResponse_securityDetails.set(this, void 0);
-        _HTTPResponse_timing.set(this, void 0);
-        __classPrivateFieldSet(this, _HTTPResponse_client, client, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_request, request, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_remoteAddress, {
+        this.#client = client;
+        this.#request = request;
+        this.#remoteAddress = {
             ip: responsePayload.remoteIPAddress,
             port: responsePayload.remotePort,
-        }, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_statusText, __classPrivateFieldGet(this, _HTTPResponse_instances, "m", _HTTPResponse_parseStatusTextFromExtrInfo).call(this, extraInfo) ||
-            responsePayload.statusText, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_url, request.url(), "f");
-        __classPrivateFieldSet(this, _HTTPResponse_fromDiskCache, !!responsePayload.fromDiskCache, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_fromServiceWorker, !!responsePayload.fromServiceWorker, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_status, extraInfo ? extraInfo.statusCode : responsePayload.status, "f");
+        };
+        this.#statusText =
+            this.#parseStatusTextFromExtrInfo(extraInfo) ||
+                responsePayload.statusText;
+        this.#url = request.url();
+        this.#fromDiskCache = !!responsePayload.fromDiskCache;
+        this.#fromServiceWorker = !!responsePayload.fromServiceWorker;
+        this.#status = extraInfo ? extraInfo.statusCode : responsePayload.status;
         const headers = extraInfo ? extraInfo.headers : responsePayload.headers;
         for (const [key, value] of Object.entries(headers)) {
-            __classPrivateFieldGet(this, _HTTPResponse_headers, "f")[key.toLowerCase()] = value;
+            this.#headers[key.toLowerCase()] = value;
         }
-        __classPrivateFieldSet(this, _HTTPResponse_securityDetails, responsePayload.securityDetails
+        this.#securityDetails = responsePayload.securityDetails
             ? new SecurityDetails_js_1.SecurityDetails(responsePayload.securityDetails)
-            : null, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_timing, responsePayload.timing || null, "f");
+            : null;
+        this.#timing = responsePayload.timing || null;
+    }
+    #parseStatusTextFromExtrInfo(extraInfo) {
+        if (!extraInfo || !extraInfo.headersText) {
+            return;
+        }
+        const firstLine = extraInfo.headersText.split('\r', 1)[0];
+        if (!firstLine) {
+            return;
+        }
+        const match = firstLine.match(/[^ ]* [^ ]* (.*)/);
+        if (!match) {
+            return;
+        }
+        const statusText = match[1];
+        if (!statusText) {
+            return;
+        }
+        return statusText;
     }
     _resolveBody(err) {
         if (err) {
-            return __classPrivateFieldGet(this, _HTTPResponse_bodyLoadedDeferred, "f").resolve(err);
+            return this.#bodyLoadedDeferred.resolve(err);
         }
-        return __classPrivateFieldGet(this, _HTTPResponse_bodyLoadedDeferred, "f").resolve();
+        return this.#bodyLoadedDeferred.resolve();
     }
     remoteAddress() {
-        return __classPrivateFieldGet(this, _HTTPResponse_remoteAddress, "f");
+        return this.#remoteAddress;
     }
     url() {
-        return __classPrivateFieldGet(this, _HTTPResponse_url, "f");
+        return this.#url;
     }
     status() {
-        return __classPrivateFieldGet(this, _HTTPResponse_status, "f");
+        return this.#status;
     }
     statusText() {
-        return __classPrivateFieldGet(this, _HTTPResponse_statusText, "f");
+        return this.#statusText;
     }
     headers() {
-        return __classPrivateFieldGet(this, _HTTPResponse_headers, "f");
+        return this.#headers;
     }
     securityDetails() {
-        return __classPrivateFieldGet(this, _HTTPResponse_securityDetails, "f");
+        return this.#securityDetails;
     }
     timing() {
-        return __classPrivateFieldGet(this, _HTTPResponse_timing, "f");
+        return this.#timing;
     }
     buffer() {
-        if (!__classPrivateFieldGet(this, _HTTPResponse_contentPromise, "f")) {
-            __classPrivateFieldSet(this, _HTTPResponse_contentPromise, __classPrivateFieldGet(this, _HTTPResponse_bodyLoadedDeferred, "f")
+        if (!this.#contentPromise) {
+            this.#contentPromise = this.#bodyLoadedDeferred
                 .valueOrThrow()
                 .then(async (error) => {
                 if (error) {
                     throw error;
                 }
                 try {
-                    const response = await __classPrivateFieldGet(this, _HTTPResponse_client, "f").send('Network.getResponseBody', {
-                        requestId: __classPrivateFieldGet(this, _HTTPResponse_request, "f")._requestId,
+                    const response = await this.#client.send('Network.getResponseBody', {
+                        requestId: this.#request._requestId,
                     });
                     return Buffer.from(response.body, response.base64Encoded ? 'base64' : 'utf8');
                 }
@@ -107,40 +113,22 @@
                     }
                     throw error;
                 }
-            }), "f");
+            });
         }
-        return __classPrivateFieldGet(this, _HTTPResponse_contentPromise, "f");
+        return this.#contentPromise;
     }
     request() {
-        return __classPrivateFieldGet(this, _HTTPResponse_request, "f");
+        return this.#request;
     }
     fromCache() {
-        return __classPrivateFieldGet(this, _HTTPResponse_fromDiskCache, "f") || __classPrivateFieldGet(this, _HTTPResponse_request, "f")._fromMemoryCache;
+        return this.#fromDiskCache || this.#request._fromMemoryCache;
     }
     fromServiceWorker() {
-        return __classPrivateFieldGet(this, _HTTPResponse_fromServiceWorker, "f");
+        return this.#fromServiceWorker;
     }
     frame() {
-        return __classPrivateFieldGet(this, _HTTPResponse_request, "f").frame();
+        return this.#request.frame();
     }
 }
 exports.HTTPResponse = HTTPResponse;
-_HTTPResponse_client = new WeakMap(), _HTTPResponse_request = new WeakMap(), _HTTPResponse_contentPromise = new WeakMap(), _HTTPResponse_bodyLoadedDeferred = new WeakMap(), _HTTPResponse_remoteAddress = new WeakMap(), _HTTPResponse_status = new WeakMap(), _HTTPResponse_statusText = new WeakMap(), _HTTPResponse_url = new WeakMap(), _HTTPResponse_fromDiskCache = new WeakMap(), _HTTPResponse_fromServiceWorker = new WeakMap(), _HTTPResponse_headers = new WeakMap(), _HTTPResponse_securityDetails = new WeakMap(), _HTTPResponse_timing = new WeakMap(), _HTTPResponse_instances = new WeakSet(), _HTTPResponse_parseStatusTextFromExtrInfo = function _HTTPResponse_parseStatusTextFromExtrInfo(extraInfo) {
-    if (!extraInfo || !extraInfo.headersText) {
-        return;
-    }
-    const firstLine = extraInfo.headersText.split('\r', 1)[0];
-    if (!firstLine) {
-        return;
-    }
-    const match = firstLine.match(/[^ ]* [^ ]* (.*)/);
-    if (!match) {
-        return;
-    }
-    const statusText = match[1];
-    if (!statusText) {
-        return;
-    }
-    return statusText;
-};
 //# sourceMappingURL=HTTPResponse.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js.map
index f6d539f..ccd21e2 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js.map
@@ -1 +1 @@
-{"version":3,"file":"HTTPResponse.js","sourceRoot":"","sources":["../../../../src/common/HTTPResponse.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"HTTPResponse.js","sourceRoot":"","sources":["../../../../src/common/HTTPResponse.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.js
index f4d2511..2669850 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _CDPKeyboard_instances, _CDPKeyboard_client, _CDPKeyboard_pressedKeys, _CDPKeyboard_modifierBit, _CDPKeyboard_keyDescriptionForString, _CDPMouse_instances, _CDPMouse_client, _CDPMouse_keyboard, _CDPMouse__state, _CDPMouse_state_get, _CDPMouse_transactions, _CDPMouse_createTransaction, _CDPMouse_withTransaction, _CDPTouchscreen_client, _CDPTouchscreen_keyboard;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.CDPTouchscreen = exports.CDPMouse = exports.CDPKeyboard = void 0;
 const Input_js_1 = require("../api/Input.js");
@@ -35,30 +23,29 @@
  * @internal
  */
 class CDPKeyboard extends Input_js_1.Keyboard {
+    #client;
+    #pressedKeys = new Set();
+    /**
+     * @internal
+     */
+    _modifiers = 0;
     /**
      * @internal
      */
     constructor(client) {
         super();
-        _CDPKeyboard_instances.add(this);
-        _CDPKeyboard_client.set(this, void 0);
-        _CDPKeyboard_pressedKeys.set(this, new Set());
-        /**
-         * @internal
-         */
-        this._modifiers = 0;
-        __classPrivateFieldSet(this, _CDPKeyboard_client, client, "f");
+        this.#client = client;
     }
     async down(key, options = {
         text: undefined,
         commands: [],
     }) {
-        const description = __classPrivateFieldGet(this, _CDPKeyboard_instances, "m", _CDPKeyboard_keyDescriptionForString).call(this, key);
-        const autoRepeat = __classPrivateFieldGet(this, _CDPKeyboard_pressedKeys, "f").has(description.code);
-        __classPrivateFieldGet(this, _CDPKeyboard_pressedKeys, "f").add(description.code);
-        this._modifiers |= __classPrivateFieldGet(this, _CDPKeyboard_instances, "m", _CDPKeyboard_modifierBit).call(this, description.key);
+        const description = this.#keyDescriptionForString(key);
+        const autoRepeat = this.#pressedKeys.has(description.code);
+        this.#pressedKeys.add(description.code);
+        this._modifiers |= this.#modifierBit(description.key);
         const text = options.text === undefined ? description.text : options.text;
-        await __classPrivateFieldGet(this, _CDPKeyboard_client, "f").send('Input.dispatchKeyEvent', {
+        await this.#client.send('Input.dispatchKeyEvent', {
             type: text ? 'keyDown' : 'rawKeyDown',
             modifiers: this._modifiers,
             windowsVirtualKeyCode: description.keyCode,
@@ -72,11 +59,70 @@
             commands: options.commands,
         });
     }
+    #modifierBit(key) {
+        if (key === 'Alt') {
+            return 1;
+        }
+        if (key === 'Control') {
+            return 2;
+        }
+        if (key === 'Meta') {
+            return 4;
+        }
+        if (key === 'Shift') {
+            return 8;
+        }
+        return 0;
+    }
+    #keyDescriptionForString(keyString) {
+        const shift = this._modifiers & 8;
+        const description = {
+            key: '',
+            keyCode: 0,
+            code: '',
+            text: '',
+            location: 0,
+        };
+        const definition = USKeyboardLayout_js_1._keyDefinitions[keyString];
+        (0, assert_js_1.assert)(definition, `Unknown key: "${keyString}"`);
+        if (definition.key) {
+            description.key = definition.key;
+        }
+        if (shift && definition.shiftKey) {
+            description.key = definition.shiftKey;
+        }
+        if (definition.keyCode) {
+            description.keyCode = definition.keyCode;
+        }
+        if (shift && definition.shiftKeyCode) {
+            description.keyCode = definition.shiftKeyCode;
+        }
+        if (definition.code) {
+            description.code = definition.code;
+        }
+        if (definition.location) {
+            description.location = definition.location;
+        }
+        if (description.key.length === 1) {
+            description.text = description.key;
+        }
+        if (definition.text) {
+            description.text = definition.text;
+        }
+        if (shift && definition.shiftText) {
+            description.text = definition.shiftText;
+        }
+        // if any modifiers besides shift are pressed, no text should be sent
+        if (this._modifiers & ~8) {
+            description.text = '';
+        }
+        return description;
+    }
     async up(key) {
-        const description = __classPrivateFieldGet(this, _CDPKeyboard_instances, "m", _CDPKeyboard_keyDescriptionForString).call(this, key);
-        this._modifiers &= ~__classPrivateFieldGet(this, _CDPKeyboard_instances, "m", _CDPKeyboard_modifierBit).call(this, description.key);
-        __classPrivateFieldGet(this, _CDPKeyboard_pressedKeys, "f").delete(description.code);
-        await __classPrivateFieldGet(this, _CDPKeyboard_client, "f").send('Input.dispatchKeyEvent', {
+        const description = this.#keyDescriptionForString(key);
+        this._modifiers &= ~this.#modifierBit(description.key);
+        this.#pressedKeys.delete(description.code);
+        await this.#client.send('Input.dispatchKeyEvent', {
             type: 'keyUp',
             modifiers: this._modifiers,
             key: description.key,
@@ -86,7 +132,7 @@
         });
     }
     async sendCharacter(char) {
-        await __classPrivateFieldGet(this, _CDPKeyboard_client, "f").send('Input.insertText', { text: char });
+        await this.#client.send('Input.insertText', { text: char });
     }
     charIsKey(char) {
         return !!USKeyboardLayout_js_1._keyDefinitions[char];
@@ -119,64 +165,6 @@
     }
 }
 exports.CDPKeyboard = CDPKeyboard;
-_CDPKeyboard_client = new WeakMap(), _CDPKeyboard_pressedKeys = new WeakMap(), _CDPKeyboard_instances = new WeakSet(), _CDPKeyboard_modifierBit = function _CDPKeyboard_modifierBit(key) {
-    if (key === 'Alt') {
-        return 1;
-    }
-    if (key === 'Control') {
-        return 2;
-    }
-    if (key === 'Meta') {
-        return 4;
-    }
-    if (key === 'Shift') {
-        return 8;
-    }
-    return 0;
-}, _CDPKeyboard_keyDescriptionForString = function _CDPKeyboard_keyDescriptionForString(keyString) {
-    const shift = this._modifiers & 8;
-    const description = {
-        key: '',
-        keyCode: 0,
-        code: '',
-        text: '',
-        location: 0,
-    };
-    const definition = USKeyboardLayout_js_1._keyDefinitions[keyString];
-    (0, assert_js_1.assert)(definition, `Unknown key: "${keyString}"`);
-    if (definition.key) {
-        description.key = definition.key;
-    }
-    if (shift && definition.shiftKey) {
-        description.key = definition.shiftKey;
-    }
-    if (definition.keyCode) {
-        description.keyCode = definition.keyCode;
-    }
-    if (shift && definition.shiftKeyCode) {
-        description.keyCode = definition.shiftKeyCode;
-    }
-    if (definition.code) {
-        description.code = definition.code;
-    }
-    if (definition.location) {
-        description.location = definition.location;
-    }
-    if (description.key.length === 1) {
-        description.text = description.key;
-    }
-    if (definition.text) {
-        description.text = definition.text;
-    }
-    if (shift && definition.shiftText) {
-        description.text = definition.shiftText;
-    }
-    // if any modifiers besides shift are pressed, no text should be sent
-    if (this._modifiers & ~8) {
-        description.text = '';
-    }
-    return description;
-};
 const getFlag = (button) => {
     switch (button) {
         case Input_js_1.MouseButton.Left:
@@ -217,22 +205,56 @@
  * @internal
  */
 class CDPMouse extends Input_js_1.Mouse {
+    #client;
+    #keyboard;
     /**
      * @internal
      */
     constructor(client, keyboard) {
         super();
-        _CDPMouse_instances.add(this);
-        _CDPMouse_client.set(this, void 0);
-        _CDPMouse_keyboard.set(this, void 0);
-        _CDPMouse__state.set(this, {
-            position: { x: 0, y: 0 },
-            buttons: 0 /* MouseButtonFlag.None */,
-        });
-        // Transactions can run in parallel, so we store each of thme in this array.
-        _CDPMouse_transactions.set(this, []);
-        __classPrivateFieldSet(this, _CDPMouse_client, client, "f");
-        __classPrivateFieldSet(this, _CDPMouse_keyboard, keyboard, "f");
+        this.#client = client;
+        this.#keyboard = keyboard;
+    }
+    #_state = {
+        position: { x: 0, y: 0 },
+        buttons: 0 /* MouseButtonFlag.None */,
+    };
+    get #state() {
+        return Object.assign({ ...this.#_state }, ...this.#transactions);
+    }
+    // Transactions can run in parallel, so we store each of thme in this array.
+    #transactions = [];
+    #createTransaction() {
+        const transaction = {};
+        this.#transactions.push(transaction);
+        const popTransaction = () => {
+            this.#transactions.splice(this.#transactions.indexOf(transaction), 1);
+        };
+        return {
+            update: (updates) => {
+                Object.assign(transaction, updates);
+            },
+            commit: () => {
+                this.#_state = { ...this.#_state, ...transaction };
+                popTransaction();
+            },
+            rollback: popTransaction,
+        };
+    }
+    /**
+     * This is a shortcut for a typical update, commit/rollback lifecycle based on
+     * the error of the action.
+     */
+    async #withTransaction(action) {
+        const { update, commit, rollback } = this.#createTransaction();
+        try {
+            await action(update);
+            commit();
+        }
+        catch (error) {
+            rollback();
+            throw error;
+        }
     }
     async reset() {
         const actions = [];
@@ -243,31 +265,31 @@
             [16 /* MouseButtonFlag.Forward */, Input_js_1.MouseButton.Forward],
             [8 /* MouseButtonFlag.Back */, Input_js_1.MouseButton.Back],
         ]) {
-            if (__classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get).buttons & flag) {
+            if (this.#state.buttons & flag) {
                 actions.push(this.up({ button: button }));
             }
         }
-        if (__classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get).position.x !== 0 || __classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get).position.y !== 0) {
+        if (this.#state.position.x !== 0 || this.#state.position.y !== 0) {
             actions.push(this.move(0, 0));
         }
         await Promise.all(actions);
     }
     async move(x, y, options = {}) {
         const { steps = 1 } = options;
-        const from = __classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get).position;
+        const from = this.#state.position;
         const to = { x, y };
         for (let i = 1; i <= steps; i++) {
-            await __classPrivateFieldGet(this, _CDPMouse_instances, "m", _CDPMouse_withTransaction).call(this, updateState => {
+            await this.#withTransaction(updateState => {
                 updateState({
                     position: {
                         x: from.x + (to.x - from.x) * (i / steps),
                         y: from.y + (to.y - from.y) * (i / steps),
                     },
                 });
-                const { buttons, position } = __classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get);
-                return __classPrivateFieldGet(this, _CDPMouse_client, "f").send('Input.dispatchMouseEvent', {
+                const { buttons, position } = this.#state;
+                return this.#client.send('Input.dispatchMouseEvent', {
                     type: 'mouseMoved',
-                    modifiers: __classPrivateFieldGet(this, _CDPMouse_keyboard, "f")._modifiers,
+                    modifiers: this.#keyboard._modifiers,
                     buttons,
                     button: getButtonFromPressedButtons(buttons),
                     ...position,
@@ -281,17 +303,17 @@
         if (!flag) {
             throw new Error(`Unsupported mouse button: ${button}`);
         }
-        if (__classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get).buttons & flag) {
+        if (this.#state.buttons & flag) {
             throw new Error(`'${button}' is already pressed.`);
         }
-        await __classPrivateFieldGet(this, _CDPMouse_instances, "m", _CDPMouse_withTransaction).call(this, updateState => {
+        await this.#withTransaction(updateState => {
             updateState({
-                buttons: __classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get).buttons | flag,
+                buttons: this.#state.buttons | flag,
             });
-            const { buttons, position } = __classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get);
-            return __classPrivateFieldGet(this, _CDPMouse_client, "f").send('Input.dispatchMouseEvent', {
+            const { buttons, position } = this.#state;
+            return this.#client.send('Input.dispatchMouseEvent', {
                 type: 'mousePressed',
-                modifiers: __classPrivateFieldGet(this, _CDPMouse_keyboard, "f")._modifiers,
+                modifiers: this.#keyboard._modifiers,
                 clickCount,
                 buttons,
                 button,
@@ -305,17 +327,17 @@
         if (!flag) {
             throw new Error(`Unsupported mouse button: ${button}`);
         }
-        if (!(__classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get).buttons & flag)) {
+        if (!(this.#state.buttons & flag)) {
             throw new Error(`'${button}' is not pressed.`);
         }
-        await __classPrivateFieldGet(this, _CDPMouse_instances, "m", _CDPMouse_withTransaction).call(this, updateState => {
+        await this.#withTransaction(updateState => {
             updateState({
-                buttons: __classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get).buttons & ~flag,
+                buttons: this.#state.buttons & ~flag,
             });
-            const { buttons, position } = __classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get);
-            return __classPrivateFieldGet(this, _CDPMouse_client, "f").send('Input.dispatchMouseEvent', {
+            const { buttons, position } = this.#state;
+            return this.#client.send('Input.dispatchMouseEvent', {
                 type: 'mouseReleased',
-                modifiers: __classPrivateFieldGet(this, _CDPMouse_keyboard, "f")._modifiers,
+                modifiers: this.#keyboard._modifiers,
                 clickCount,
                 buttons,
                 button,
@@ -347,11 +369,11 @@
     }
     async wheel(options = {}) {
         const { deltaX = 0, deltaY = 0 } = options;
-        const { position, buttons } = __classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get);
-        await __classPrivateFieldGet(this, _CDPMouse_client, "f").send('Input.dispatchMouseEvent', {
+        const { position, buttons } = this.#state;
+        await this.#client.send('Input.dispatchMouseEvent', {
             type: 'mouseWheel',
             pointerType: 'mouse',
-            modifiers: __classPrivateFieldGet(this, _CDPMouse_keyboard, "f")._modifiers,
+            modifiers: this.#keyboard._modifiers,
             deltaY,
             deltaX,
             buttons,
@@ -360,7 +382,7 @@
     }
     async drag(start, target) {
         const promise = new Promise(resolve => {
-            __classPrivateFieldGet(this, _CDPMouse_client, "f").once('Input.dragIntercepted', event => {
+            this.#client.once('Input.dragIntercepted', event => {
                 return resolve(event.data);
             });
         });
@@ -370,29 +392,29 @@
         return promise;
     }
     async dragEnter(target, data) {
-        await __classPrivateFieldGet(this, _CDPMouse_client, "f").send('Input.dispatchDragEvent', {
+        await this.#client.send('Input.dispatchDragEvent', {
             type: 'dragEnter',
             x: target.x,
             y: target.y,
-            modifiers: __classPrivateFieldGet(this, _CDPMouse_keyboard, "f")._modifiers,
+            modifiers: this.#keyboard._modifiers,
             data,
         });
     }
     async dragOver(target, data) {
-        await __classPrivateFieldGet(this, _CDPMouse_client, "f").send('Input.dispatchDragEvent', {
+        await this.#client.send('Input.dispatchDragEvent', {
             type: 'dragOver',
             x: target.x,
             y: target.y,
-            modifiers: __classPrivateFieldGet(this, _CDPMouse_keyboard, "f")._modifiers,
+            modifiers: this.#keyboard._modifiers,
             data,
         });
     }
     async drop(target, data) {
-        await __classPrivateFieldGet(this, _CDPMouse_client, "f").send('Input.dispatchDragEvent', {
+        await this.#client.send('Input.dispatchDragEvent', {
             type: 'drop',
             x: target.x,
             y: target.y,
-            modifiers: __classPrivateFieldGet(this, _CDPMouse_keyboard, "f")._modifiers,
+            modifiers: this.#keyboard._modifiers,
             data,
         });
     }
@@ -411,53 +433,19 @@
     }
 }
 exports.CDPMouse = CDPMouse;
-_CDPMouse_client = new WeakMap(), _CDPMouse_keyboard = new WeakMap(), _CDPMouse__state = new WeakMap(), _CDPMouse_transactions = new WeakMap(), _CDPMouse_instances = new WeakSet(), _CDPMouse_state_get = function _CDPMouse_state_get() {
-    return Object.assign({ ...__classPrivateFieldGet(this, _CDPMouse__state, "f") }, ...__classPrivateFieldGet(this, _CDPMouse_transactions, "f"));
-}, _CDPMouse_createTransaction = function _CDPMouse_createTransaction() {
-    const transaction = {};
-    __classPrivateFieldGet(this, _CDPMouse_transactions, "f").push(transaction);
-    const popTransaction = () => {
-        __classPrivateFieldGet(this, _CDPMouse_transactions, "f").splice(__classPrivateFieldGet(this, _CDPMouse_transactions, "f").indexOf(transaction), 1);
-    };
-    return {
-        update: (updates) => {
-            Object.assign(transaction, updates);
-        },
-        commit: () => {
-            __classPrivateFieldSet(this, _CDPMouse__state, { ...__classPrivateFieldGet(this, _CDPMouse__state, "f"), ...transaction }, "f");
-            popTransaction();
-        },
-        rollback: popTransaction,
-    };
-}, _CDPMouse_withTransaction = 
-/**
- * This is a shortcut for a typical update, commit/rollback lifecycle based on
- * the error of the action.
- */
-async function _CDPMouse_withTransaction(action) {
-    const { update, commit, rollback } = __classPrivateFieldGet(this, _CDPMouse_instances, "m", _CDPMouse_createTransaction).call(this);
-    try {
-        await action(update);
-        commit();
-    }
-    catch (error) {
-        rollback();
-        throw error;
-    }
-};
 /**
  * @internal
  */
 class CDPTouchscreen extends Input_js_1.Touchscreen {
+    #client;
+    #keyboard;
     /**
      * @internal
      */
     constructor(client, keyboard) {
         super();
-        _CDPTouchscreen_client.set(this, void 0);
-        _CDPTouchscreen_keyboard.set(this, void 0);
-        __classPrivateFieldSet(this, _CDPTouchscreen_client, client, "f");
-        __classPrivateFieldSet(this, _CDPTouchscreen_keyboard, keyboard, "f");
+        this.#client = client;
+        this.#keyboard = keyboard;
     }
     async tap(x, y) {
         await this.touchStart(x, y);
@@ -465,28 +453,27 @@
     }
     async touchStart(x, y) {
         const touchPoints = [{ x: Math.round(x), y: Math.round(y) }];
-        await __classPrivateFieldGet(this, _CDPTouchscreen_client, "f").send('Input.dispatchTouchEvent', {
+        await this.#client.send('Input.dispatchTouchEvent', {
             type: 'touchStart',
             touchPoints,
-            modifiers: __classPrivateFieldGet(this, _CDPTouchscreen_keyboard, "f")._modifiers,
+            modifiers: this.#keyboard._modifiers,
         });
     }
     async touchMove(x, y) {
         const movePoints = [{ x: Math.round(x), y: Math.round(y) }];
-        await __classPrivateFieldGet(this, _CDPTouchscreen_client, "f").send('Input.dispatchTouchEvent', {
+        await this.#client.send('Input.dispatchTouchEvent', {
             type: 'touchMove',
             touchPoints: movePoints,
-            modifiers: __classPrivateFieldGet(this, _CDPTouchscreen_keyboard, "f")._modifiers,
+            modifiers: this.#keyboard._modifiers,
         });
     }
     async touchEnd() {
-        await __classPrivateFieldGet(this, _CDPTouchscreen_client, "f").send('Input.dispatchTouchEvent', {
+        await this.#client.send('Input.dispatchTouchEvent', {
             type: 'touchEnd',
             touchPoints: [],
-            modifiers: __classPrivateFieldGet(this, _CDPTouchscreen_keyboard, "f")._modifiers,
+            modifiers: this.#keyboard._modifiers,
         });
     }
 }
 exports.CDPTouchscreen = CDPTouchscreen;
-_CDPTouchscreen_client = new WeakMap(), _CDPTouchscreen_keyboard = new WeakMap();
 //# sourceMappingURL=Input.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.js.map
index e7e99f8..93040a8 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.js.map
@@ -1 +1 @@
-{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/common/Input.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/common/Input.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/IsolatedWorld.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/IsolatedWorld.js
index 3369fe2..fdba506 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/IsolatedWorld.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/IsolatedWorld.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _IsolatedWorld_instances, _IsolatedWorld_frame, _IsolatedWorld_document, _IsolatedWorld_context, _IsolatedWorld_detached, _IsolatedWorld_contextBindings, _IsolatedWorld_bindings, _IsolatedWorld_taskManager, _IsolatedWorld_client_get, _IsolatedWorld_frameManager_get, _IsolatedWorld_timeoutSettings_get, _IsolatedWorld_mutex, _IsolatedWorld_onBindingCalled, _Mutex_locked, _Mutex_acquirers;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.IsolatedWorld = void 0;
 const assert_js_1 = require("../util/assert.js");
@@ -38,88 +26,64 @@
  * @internal
  */
 class IsolatedWorld {
+    #frame;
+    #document;
+    #context = Deferred_js_1.Deferred.create();
+    #detached = false;
+    // Set of bindings that have been registered in the current context.
+    #contextBindings = new Set();
+    // Contains mapping from functions that should be bound to Puppeteer functions.
+    #bindings = new Map();
+    #taskManager = new WaitTask_js_1.TaskManager();
     get taskManager() {
-        return __classPrivateFieldGet(this, _IsolatedWorld_taskManager, "f");
+        return this.#taskManager;
     }
     get _bindings() {
-        return __classPrivateFieldGet(this, _IsolatedWorld_bindings, "f");
+        return this.#bindings;
     }
     constructor(frame) {
-        _IsolatedWorld_instances.add(this);
-        _IsolatedWorld_frame.set(this, void 0);
-        _IsolatedWorld_document.set(this, void 0);
-        _IsolatedWorld_context.set(this, Deferred_js_1.Deferred.create());
-        _IsolatedWorld_detached.set(this, false);
-        // Set of bindings that have been registered in the current context.
-        _IsolatedWorld_contextBindings.set(this, new Set());
-        // Contains mapping from functions that should be bound to Puppeteer functions.
-        _IsolatedWorld_bindings.set(this, new Map());
-        _IsolatedWorld_taskManager.set(this, new WaitTask_js_1.TaskManager());
-        // If multiple waitFor are set up asynchronously, we need to wait for the
-        // first one to set up the binding in the page before running the others.
-        _IsolatedWorld_mutex.set(this, new Mutex());
-        _IsolatedWorld_onBindingCalled.set(this, async (event) => {
-            let payload;
-            try {
-                payload = JSON.parse(event.payload);
-            }
-            catch {
-                // The binding was either called by something in the page or it was
-                // called before our wrapper was initialized.
-                return;
-            }
-            const { type, name, seq, args, isTrivial } = payload;
-            if (type !== 'internal') {
-                return;
-            }
-            if (!__classPrivateFieldGet(this, _IsolatedWorld_contextBindings, "f").has(name)) {
-                return;
-            }
-            try {
-                const context = await __classPrivateFieldGet(this, _IsolatedWorld_context, "f").valueOrThrow();
-                if (event.executionContextId !== context._contextId) {
-                    return;
-                }
-                const binding = this._bindings.get(name);
-                await binding?.run(context, seq, args, isTrivial);
-            }
-            catch (err) {
-                (0, util_js_1.debugError)(err);
-            }
-        });
         // Keep own reference to client because it might differ from the FrameManager's
         // client for OOP iframes.
-        __classPrivateFieldSet(this, _IsolatedWorld_frame, frame, "f");
-        __classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_client_get).on('Runtime.bindingCalled', __classPrivateFieldGet(this, _IsolatedWorld_onBindingCalled, "f"));
+        this.#frame = frame;
+        this.#client.on('Runtime.bindingCalled', this.#onBindingCalled);
+    }
+    get #client() {
+        return this.#frame._client();
+    }
+    get #frameManager() {
+        return this.#frame._frameManager;
+    }
+    get #timeoutSettings() {
+        return this.#frameManager.timeoutSettings;
     }
     frame() {
-        return __classPrivateFieldGet(this, _IsolatedWorld_frame, "f");
+        return this.#frame;
     }
     clearContext() {
-        __classPrivateFieldSet(this, _IsolatedWorld_document, undefined, "f");
-        __classPrivateFieldSet(this, _IsolatedWorld_context, Deferred_js_1.Deferred.create(), "f");
+        this.#document = undefined;
+        this.#context = Deferred_js_1.Deferred.create();
     }
     setContext(context) {
-        __classPrivateFieldGet(this, _IsolatedWorld_contextBindings, "f").clear();
-        __classPrivateFieldGet(this, _IsolatedWorld_context, "f").resolve(context);
-        void __classPrivateFieldGet(this, _IsolatedWorld_taskManager, "f").rerunAll();
+        this.#contextBindings.clear();
+        this.#context.resolve(context);
+        void this.#taskManager.rerunAll();
     }
     hasContext() {
-        return __classPrivateFieldGet(this, _IsolatedWorld_context, "f").resolved();
+        return this.#context.resolved();
     }
     _detach() {
-        __classPrivateFieldSet(this, _IsolatedWorld_detached, true, "f");
-        __classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_client_get).off('Runtime.bindingCalled', __classPrivateFieldGet(this, _IsolatedWorld_onBindingCalled, "f"));
-        __classPrivateFieldGet(this, _IsolatedWorld_taskManager, "f").terminateAll(new Error('waitForFunction failed: frame got detached.'));
+        this.#detached = true;
+        this.#client.off('Runtime.bindingCalled', this.#onBindingCalled);
+        this.#taskManager.terminateAll(new Error('waitForFunction failed: frame got detached.'));
     }
     executionContext() {
-        if (__classPrivateFieldGet(this, _IsolatedWorld_detached, "f")) {
-            throw new Error(`Execution context is not available in detached frame "${__classPrivateFieldGet(this, _IsolatedWorld_frame, "f").url()}" (are you trying to evaluate?)`);
+        if (this.#detached) {
+            throw new Error(`Execution context is not available in detached frame "${this.#frame.url()}" (are you trying to evaluate?)`);
         }
-        if (__classPrivateFieldGet(this, _IsolatedWorld_context, "f") === null) {
+        if (this.#context === null) {
             throw new Error(`Execution content promise is missing`);
         }
-        return __classPrivateFieldGet(this, _IsolatedWorld_context, "f").valueOrThrow();
+        return this.#context.valueOrThrow();
     }
     async evaluateHandle(pageFunction, ...args) {
         pageFunction = (0, util_js_1.withSourcePuppeteerURLIfNone)(this.evaluateHandle.name, pageFunction);
@@ -140,14 +104,14 @@
         return document.$$(selector);
     }
     async document() {
-        if (__classPrivateFieldGet(this, _IsolatedWorld_document, "f")) {
-            return __classPrivateFieldGet(this, _IsolatedWorld_document, "f");
+        if (this.#document) {
+            return this.#document;
         }
         const context = await this.executionContext();
-        __classPrivateFieldSet(this, _IsolatedWorld_document, await context.evaluateHandle(() => {
+        this.#document = await context.evaluateHandle(() => {
             return document;
-        }), "f");
-        return __classPrivateFieldGet(this, _IsolatedWorld_document, "f");
+        });
+        return this.#document;
     }
     async $x(expression) {
         const document = await this.document();
@@ -167,9 +131,9 @@
         return await this.evaluate(util_js_1.getPageContent);
     }
     async setContent(html, options = {}) {
-        const { waitUntil = ['load'], timeout = __classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_timeoutSettings_get).navigationTimeout(), } = options;
+        const { waitUntil = ['load'], timeout = this.#timeoutSettings.navigationTimeout(), } = options;
         await (0, util_js_1.setPageContent)(this, html);
-        const watcher = new LifecycleWatcher_js_1.LifecycleWatcher(__classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_frameManager_get), __classPrivateFieldGet(this, _IsolatedWorld_frame, "f"), waitUntil, timeout);
+        const watcher = new LifecycleWatcher_js_1.LifecycleWatcher(this.#frameManager, this.#frame, waitUntil, timeout);
         const error = await Deferred_js_1.Deferred.race([
             watcher.terminationPromise(),
             watcher.lifecyclePromise(),
@@ -216,11 +180,14 @@
         await handle.type(text, options);
         await handle.dispose();
     }
+    // If multiple waitFor are set up asynchronously, we need to wait for the
+    // first one to set up the binding in the page before running the others.
+    #mutex = new Mutex();
     async _addBindingToContext(context, name) {
-        if (__classPrivateFieldGet(this, _IsolatedWorld_contextBindings, "f").has(name)) {
+        if (this.#contextBindings.has(name)) {
             return;
         }
-        await __classPrivateFieldGet(this, _IsolatedWorld_mutex, "f").acquire();
+        await this.#mutex.acquire();
         try {
             await context._client.send('Runtime.addBinding', context._contextName
                 ? {
@@ -232,7 +199,7 @@
                     executionContextId: context._contextId,
                 });
             await context.evaluate(util_js_1.addPageBinding, 'internal', name);
-            __classPrivateFieldGet(this, _IsolatedWorld_contextBindings, "f").add(name);
+            this.#contextBindings.add(name);
         }
         catch (error) {
             // We could have tried to evaluate in a context which was already
@@ -251,11 +218,40 @@
             (0, util_js_1.debugError)(error);
         }
         finally {
-            __classPrivateFieldGet(this, _IsolatedWorld_mutex, "f").release();
+            this.#mutex.release();
         }
     }
+    #onBindingCalled = async (event) => {
+        let payload;
+        try {
+            payload = JSON.parse(event.payload);
+        }
+        catch {
+            // The binding was either called by something in the page or it was
+            // called before our wrapper was initialized.
+            return;
+        }
+        const { type, name, seq, args, isTrivial } = payload;
+        if (type !== 'internal') {
+            return;
+        }
+        if (!this.#contextBindings.has(name)) {
+            return;
+        }
+        try {
+            const context = await this.#context.valueOrThrow();
+            if (event.executionContextId !== context._contextId) {
+                return;
+            }
+            const binding = this._bindings.get(name);
+            await binding?.run(context, seq, args, isTrivial);
+        }
+        catch (err) {
+            (0, util_js_1.debugError)(err);
+        }
+    };
     waitForFunction(pageFunction, options = {}, ...args) {
-        const { polling = 'raf', timeout = __classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_timeoutSettings_get).timeout(), root, signal, } = options;
+        const { polling = 'raf', timeout = this.#timeoutSettings.timeout(), root, signal, } = options;
         if (typeof polling === 'number' && polling < 0) {
             throw new Error('Cannot poll with non-positive interval');
         }
@@ -274,7 +270,7 @@
     }
     async adoptBackendNode(backendNodeId) {
         const executionContext = await this.executionContext();
-        const { object } = await __classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_client_get).send('DOM.resolveNode', {
+        const { object } = await this.#client.send('DOM.resolveNode', {
             backendNodeId: backendNodeId,
             executionContextId: executionContext._contextId,
         });
@@ -283,7 +279,7 @@
     async adoptHandle(handle) {
         const context = await this.executionContext();
         (0, assert_js_1.assert)(handle.executionContext() !== context, 'Cannot adopt handle that already belongs to this execution context');
-        const nodeInfo = await __classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_client_get).send('DOM.describeNode', {
+        const nodeInfo = await this.#client.send('DOM.describeNode', {
             objectId: handle.id,
         });
         return (await this.adoptBackendNode(nodeInfo.node.backendNodeId));
@@ -293,7 +289,7 @@
         if (handle.executionContext() === context) {
             return handle;
         }
-        const info = await __classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_client_get).send('DOM.describeNode', {
+        const info = await this.#client.send('DOM.describeNode', {
             objectId: handle.remoteObject().objectId,
         });
         const newHandle = (await this.adoptBackendNode(info.node.backendNodeId));
@@ -302,36 +298,26 @@
     }
 }
 exports.IsolatedWorld = IsolatedWorld;
-_IsolatedWorld_frame = new WeakMap(), _IsolatedWorld_document = new WeakMap(), _IsolatedWorld_context = new WeakMap(), _IsolatedWorld_detached = new WeakMap(), _IsolatedWorld_contextBindings = new WeakMap(), _IsolatedWorld_bindings = new WeakMap(), _IsolatedWorld_taskManager = new WeakMap(), _IsolatedWorld_mutex = new WeakMap(), _IsolatedWorld_onBindingCalled = new WeakMap(), _IsolatedWorld_instances = new WeakSet(), _IsolatedWorld_client_get = function _IsolatedWorld_client_get() {
-    return __classPrivateFieldGet(this, _IsolatedWorld_frame, "f")._client();
-}, _IsolatedWorld_frameManager_get = function _IsolatedWorld_frameManager_get() {
-    return __classPrivateFieldGet(this, _IsolatedWorld_frame, "f")._frameManager;
-}, _IsolatedWorld_timeoutSettings_get = function _IsolatedWorld_timeoutSettings_get() {
-    return __classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_frameManager_get).timeoutSettings;
-};
 class Mutex {
-    constructor() {
-        _Mutex_locked.set(this, false);
-        _Mutex_acquirers.set(this, []);
-    }
+    #locked = false;
+    #acquirers = [];
     // This is FIFO.
     acquire() {
-        if (!__classPrivateFieldGet(this, _Mutex_locked, "f")) {
-            __classPrivateFieldSet(this, _Mutex_locked, true, "f");
+        if (!this.#locked) {
+            this.#locked = true;
             return Promise.resolve();
         }
         const deferred = Deferred_js_1.Deferred.create();
-        __classPrivateFieldGet(this, _Mutex_acquirers, "f").push(deferred.resolve.bind(deferred));
+        this.#acquirers.push(deferred.resolve.bind(deferred));
         return deferred.valueOrThrow();
     }
     release() {
-        const resolve = __classPrivateFieldGet(this, _Mutex_acquirers, "f").shift();
+        const resolve = this.#acquirers.shift();
         if (!resolve) {
-            __classPrivateFieldSet(this, _Mutex_locked, false, "f");
+            this.#locked = false;
             return;
         }
         resolve();
     }
 }
-_Mutex_locked = new WeakMap(), _Mutex_acquirers = new WeakMap();
 //# sourceMappingURL=IsolatedWorld.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/IsolatedWorld.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/IsolatedWorld.js.map
index 56e4a24..3e56b74 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/IsolatedWorld.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/IsolatedWorld.js.map
@@ -1 +1 @@
-{"version":3,"file":"IsolatedWorld.js","sourceRoot":"","sources":["../../../../src/common/IsolatedWorld.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"IsolatedWorld.js","sourceRoot":"","sources":["../../../../src/common/IsolatedWorld.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.d.ts
index 9c8ede3..8c8b20f 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.d.ts
@@ -19,16 +19,11 @@
 import type { CDPElementHandle } from './ElementHandle.js';
 import { ExecutionContext } from './ExecutionContext.js';
 import { EvaluateFuncWith, HandleFor, HandleOr } from './types.js';
-declare const __JSHandleSymbol: unique symbol;
 /**
  * @internal
  */
 export declare class CDPJSHandle<T = unknown> extends JSHandle<T> {
     #private;
-    /**
-     * Used for nominally typing {@link JSHandle}.
-     */
-    [__JSHandleSymbol]?: T;
     get disposed(): boolean;
     constructor(context: ExecutionContext, remoteObject: Protocol.Runtime.RemoteObject);
     executionContext(): ExecutionContext;
@@ -55,5 +50,4 @@
     get id(): string | undefined;
     remoteObject(): Protocol.Runtime.RemoteObject;
 }
-export {};
 //# sourceMappingURL=JSHandle.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.d.ts.map
index b8c2b5a..a433149 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"JSHandle.d.ts","sourceRoot":"","sources":["../../../../src/common/JSHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,YAAY,CAAC;AAQjE,OAAO,CAAC,MAAM,gBAAgB,EAAE,OAAO,MAAM,CAAC;AAE9C;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;;IACvD;;OAEG;IACH,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;IAMvB,IAAa,QAAQ,IAAI,OAAO,CAE/B;gBAGC,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY;IAOpC,gBAAgB,IAAI,gBAAgB;IAI7C,IAAa,MAAM,IAAI,UAAU,CAEhC;IAED;;OAEG;IACY,QAAQ,CACrB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAQrC;;OAEG;IACY,cAAc,CAC3B,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAYjC,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EAC1C,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACZ,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAS7D,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAkB/C,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC;IAatC;;;OAGG;IACM,SAAS,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IAIpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B,QAAQ,IAAI,MAAM;IAQ3B,IAAa,EAAE,IAAI,MAAM,GAAG,SAAS,CAEpC;IAEQ,YAAY,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY;CAGvD"}
\ No newline at end of file
+{"version":3,"file":"JSHandle.d.ts","sourceRoot":"","sources":["../../../../src/common/JSHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,YAAY,CAAC;AAQjE;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;;IAKvD,IAAa,QAAQ,IAAI,OAAO,CAE/B;gBAGC,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY;IAOpC,gBAAgB,IAAI,gBAAgB;IAI7C,IAAa,MAAM,IAAI,UAAU,CAEhC;IAED;;OAEG;IACY,QAAQ,CACrB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAQrC;;OAEG;IACY,cAAc,CAC3B,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAYjC,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EAC1C,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACZ,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAS7D,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAkB/C,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC;IAatC;;;OAGG;IACM,SAAS,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IAIpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B,QAAQ,IAAI,MAAM;IAQ3B,IAAa,EAAE,IAAI,MAAM,GAAG,SAAS,CAEpC;IAEQ,YAAY,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY;CAGvD"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.js
index cca24b4..ded6f06 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _CDPJSHandle_disposed, _CDPJSHandle_context, _CDPJSHandle_remoteObject;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.CDPJSHandle = void 0;
 const JSHandle_js_1 = require("../api/JSHandle.js");
@@ -35,22 +23,22 @@
  * @internal
  */
 class CDPJSHandle extends JSHandle_js_1.JSHandle {
+    #disposed = false;
+    #context;
+    #remoteObject;
     get disposed() {
-        return __classPrivateFieldGet(this, _CDPJSHandle_disposed, "f");
+        return this.#disposed;
     }
     constructor(context, remoteObject) {
         super();
-        _CDPJSHandle_disposed.set(this, false);
-        _CDPJSHandle_context.set(this, void 0);
-        _CDPJSHandle_remoteObject.set(this, void 0);
-        __classPrivateFieldSet(this, _CDPJSHandle_context, context, "f");
-        __classPrivateFieldSet(this, _CDPJSHandle_remoteObject, remoteObject, "f");
+        this.#context = context;
+        this.#remoteObject = remoteObject;
     }
     executionContext() {
-        return __classPrivateFieldGet(this, _CDPJSHandle_context, "f");
+        return this.#context;
     }
     get client() {
-        return __classPrivateFieldGet(this, _CDPJSHandle_context, "f")._client;
+        return this.#context._client;
     }
     /**
      * @see {@link ExecutionContext.evaluate} for more details.
@@ -72,11 +60,11 @@
         }, propertyName);
     }
     async getProperties() {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f").objectId);
+        (0, assert_js_1.assert)(this.#remoteObject.objectId);
         // We use Runtime.getProperties rather than iterative building because the
         // iterative approach might create a distorted snapshot.
         const response = await this.client.send('Runtime.getProperties', {
-            objectId: __classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f").objectId,
+            objectId: this.#remoteObject.objectId,
             ownProperties: true,
         });
         const result = new Map();
@@ -84,13 +72,13 @@
             if (!property.enumerable || !property.value) {
                 continue;
             }
-            result.set(property.name, (0, util_js_1.createJSHandle)(__classPrivateFieldGet(this, _CDPJSHandle_context, "f"), property.value));
+            result.set(property.name, (0, util_js_1.createJSHandle)(this.#context, property.value));
         }
         return result;
     }
     async jsonValue() {
-        if (!__classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f").objectId) {
-            return (0, util_js_1.valueFromRemoteObject)(__classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f"));
+        if (!this.#remoteObject.objectId) {
+            return (0, util_js_1.valueFromRemoteObject)(this.#remoteObject);
         }
         const value = await this.evaluate(object => {
             return object;
@@ -108,26 +96,25 @@
         return null;
     }
     async dispose() {
-        if (__classPrivateFieldGet(this, _CDPJSHandle_disposed, "f")) {
+        if (this.#disposed) {
             return;
         }
-        __classPrivateFieldSet(this, _CDPJSHandle_disposed, true, "f");
-        await (0, util_js_1.releaseObject)(this.client, __classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f"));
+        this.#disposed = true;
+        await (0, util_js_1.releaseObject)(this.client, this.#remoteObject);
     }
     toString() {
-        if (!__classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f").objectId) {
-            return 'JSHandle:' + (0, util_js_1.valueFromRemoteObject)(__classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f"));
+        if (!this.#remoteObject.objectId) {
+            return 'JSHandle:' + (0, util_js_1.valueFromRemoteObject)(this.#remoteObject);
         }
-        const type = __classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f").subtype || __classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f").type;
+        const type = this.#remoteObject.subtype || this.#remoteObject.type;
         return 'JSHandle@' + type;
     }
     get id() {
-        return __classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f").objectId;
+        return this.#remoteObject.objectId;
     }
     remoteObject() {
-        return __classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f");
+        return this.#remoteObject;
     }
 }
 exports.CDPJSHandle = CDPJSHandle;
-_CDPJSHandle_disposed = new WeakMap(), _CDPJSHandle_context = new WeakMap(), _CDPJSHandle_remoteObject = new WeakMap();
 //# sourceMappingURL=JSHandle.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.js.map
index d8fa51c..d5a337c 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.js.map
@@ -1 +1 @@
-{"version":3,"file":"JSHandle.js","sourceRoot":"","sources":["../../../../src/common/JSHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"JSHandle.js","sourceRoot":"","sources":["../../../../src/common/JSHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LazyArg.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LazyArg.js
index 59d166a..7c656e2 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LazyArg.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LazyArg.js
@@ -14,37 +14,24 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _LazyArg_get;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.LazyArg = void 0;
 /**
  * @internal
  */
 class LazyArg {
+    static create = (get) => {
+        // We don't want to introduce LazyArg to the type system, otherwise we would
+        // have to make it public.
+        return new LazyArg(get);
+    };
+    #get;
     constructor(get) {
-        _LazyArg_get.set(this, void 0);
-        __classPrivateFieldSet(this, _LazyArg_get, get, "f");
+        this.#get = get;
     }
     async get(context) {
-        return __classPrivateFieldGet(this, _LazyArg_get, "f").call(this, context);
+        return this.#get(context);
     }
 }
 exports.LazyArg = LazyArg;
-_LazyArg_get = new WeakMap();
-LazyArg.create = (get) => {
-    // We don't want to introduce LazyArg to the type system, otherwise we would
-    // have to make it public.
-    return new LazyArg(get);
-};
 //# sourceMappingURL=LazyArg.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LazyArg.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LazyArg.js.map
index 9a74a80..c06d9e4 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LazyArg.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LazyArg.js.map
@@ -1 +1 @@
-{"version":3,"file":"LazyArg.js","sourceRoot":"","sources":["../../../../src/common/LazyArg.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;AAYH;;GAEG;AACH,MAAa,OAAO;IAUlB,YAAoB,GAAyC;QAD7D,+BAA2C;QAEzC,uBAAA,IAAI,gBAAQ,GAAG,MAAA,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAgB;QACxB,OAAO,uBAAA,IAAI,oBAAK,MAAT,IAAI,EAAM,OAAO,CAAC,CAAC;IAC5B,CAAC;;AAhBH,0BAiBC;;AAhBQ,cAAM,GAAG,CACd,GAAsD,EACnD,EAAE;IACL,4EAA4E;IAC5E,0BAA0B;IAC1B,OAAO,IAAI,OAAO,CAAC,GAAG,CAAiB,CAAC;AAC1C,CAAC,AANY,CAMX"}
\ No newline at end of file
+{"version":3,"file":"LazyArg.js","sourceRoot":"","sources":["../../../../src/common/LazyArg.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAYH;;GAEG;AACH,MAAa,OAAO;IAClB,MAAM,CAAC,MAAM,GAAG,CACd,GAAsD,EACnD,EAAE;QACL,4EAA4E;QAC5E,0BAA0B;QAC1B,OAAO,IAAI,OAAO,CAAC,GAAG,CAAiB,CAAC;IAC1C,CAAC,CAAC;IAEF,IAAI,CAAuC;IAC3C,YAAoB,GAAyC;QAC3D,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAgB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;;AAhBH,0BAiBC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js
index 9fe13f6..77942c5 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _LifecycleWatcher_instances, _LifecycleWatcher_expectedLifecycle, _LifecycleWatcher_frameManager, _LifecycleWatcher_frame, _LifecycleWatcher_timeout, _LifecycleWatcher_navigationRequest, _LifecycleWatcher_eventListeners, _LifecycleWatcher_initialLoaderId, _LifecycleWatcher_terminationDeferred, _LifecycleWatcher_sameDocumentNavigationDeferred, _LifecycleWatcher_lifecycleDeferred, _LifecycleWatcher_newDocumentNavigationDeferred, _LifecycleWatcher_hasSameDocumentNavigation, _LifecycleWatcher_swapped, _LifecycleWatcher_navigationResponseReceived, _LifecycleWatcher_onRequest, _LifecycleWatcher_onRequestFailed, _LifecycleWatcher_onResponse, _LifecycleWatcher_onFrameDetached, _LifecycleWatcher_terminate, _LifecycleWatcher_navigatedWithinDocument, _LifecycleWatcher_navigated, _LifecycleWatcher_frameSwapped, _LifecycleWatcher_checkLifecycleComplete;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.LifecycleWatcher = void 0;
 const assert_js_1 = require("../util/assert.js");
@@ -44,150 +32,157 @@
  * @internal
  */
 class LifecycleWatcher {
+    #expectedLifecycle;
+    #frameManager;
+    #frame;
+    #timeout;
+    #navigationRequest = null;
+    #eventListeners;
+    #initialLoaderId;
+    #terminationDeferred;
+    #sameDocumentNavigationDeferred = Deferred_js_1.Deferred.create();
+    #lifecycleDeferred = Deferred_js_1.Deferred.create();
+    #newDocumentNavigationDeferred = Deferred_js_1.Deferred.create();
+    #hasSameDocumentNavigation;
+    #swapped;
+    #navigationResponseReceived;
     constructor(frameManager, frame, waitUntil, timeout) {
-        _LifecycleWatcher_instances.add(this);
-        _LifecycleWatcher_expectedLifecycle.set(this, void 0);
-        _LifecycleWatcher_frameManager.set(this, void 0);
-        _LifecycleWatcher_frame.set(this, void 0);
-        _LifecycleWatcher_timeout.set(this, void 0);
-        _LifecycleWatcher_navigationRequest.set(this, null);
-        _LifecycleWatcher_eventListeners.set(this, void 0);
-        _LifecycleWatcher_initialLoaderId.set(this, void 0);
-        _LifecycleWatcher_terminationDeferred.set(this, void 0);
-        _LifecycleWatcher_sameDocumentNavigationDeferred.set(this, Deferred_js_1.Deferred.create());
-        _LifecycleWatcher_lifecycleDeferred.set(this, Deferred_js_1.Deferred.create());
-        _LifecycleWatcher_newDocumentNavigationDeferred.set(this, Deferred_js_1.Deferred.create());
-        _LifecycleWatcher_hasSameDocumentNavigation.set(this, void 0);
-        _LifecycleWatcher_swapped.set(this, void 0);
-        _LifecycleWatcher_navigationResponseReceived.set(this, void 0);
         if (Array.isArray(waitUntil)) {
             waitUntil = waitUntil.slice();
         }
         else if (typeof waitUntil === 'string') {
             waitUntil = [waitUntil];
         }
-        __classPrivateFieldSet(this, _LifecycleWatcher_initialLoaderId, frame._loaderId, "f");
-        __classPrivateFieldSet(this, _LifecycleWatcher_expectedLifecycle, waitUntil.map(value => {
+        this.#initialLoaderId = frame._loaderId;
+        this.#expectedLifecycle = waitUntil.map(value => {
             const protocolEvent = puppeteerToProtocolLifecycle.get(value);
             (0, assert_js_1.assert)(protocolEvent, 'Unknown value for options.waitUntil: ' + value);
             return protocolEvent;
-        }), "f");
-        __classPrivateFieldSet(this, _LifecycleWatcher_frameManager, frameManager, "f");
-        __classPrivateFieldSet(this, _LifecycleWatcher_frame, frame, "f");
-        __classPrivateFieldSet(this, _LifecycleWatcher_timeout, timeout, "f");
-        __classPrivateFieldSet(this, _LifecycleWatcher_eventListeners, [
-            (0, util_js_1.addEventListener)(frameManager.client, Connection_js_1.CDPSessionEmittedEvents.Disconnected, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_terminate).bind(this, new Error('Navigation failed because browser has disconnected!'))),
-            (0, util_js_1.addEventListener)(__classPrivateFieldGet(this, _LifecycleWatcher_frameManager, "f"), FrameManager_js_1.FrameManagerEmittedEvents.LifecycleEvent, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_checkLifecycleComplete).bind(this)),
-            (0, util_js_1.addEventListener)(__classPrivateFieldGet(this, _LifecycleWatcher_frameManager, "f"), FrameManager_js_1.FrameManagerEmittedEvents.FrameNavigatedWithinDocument, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_navigatedWithinDocument).bind(this)),
-            (0, util_js_1.addEventListener)(__classPrivateFieldGet(this, _LifecycleWatcher_frameManager, "f"), FrameManager_js_1.FrameManagerEmittedEvents.FrameNavigated, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_navigated).bind(this)),
-            (0, util_js_1.addEventListener)(__classPrivateFieldGet(this, _LifecycleWatcher_frameManager, "f"), FrameManager_js_1.FrameManagerEmittedEvents.FrameSwapped, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_frameSwapped).bind(this)),
-            (0, util_js_1.addEventListener)(__classPrivateFieldGet(this, _LifecycleWatcher_frameManager, "f"), FrameManager_js_1.FrameManagerEmittedEvents.FrameDetached, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_onFrameDetached).bind(this)),
-            (0, util_js_1.addEventListener)(__classPrivateFieldGet(this, _LifecycleWatcher_frameManager, "f").networkManager, NetworkManager_js_1.NetworkManagerEmittedEvents.Request, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_onRequest).bind(this)),
-            (0, util_js_1.addEventListener)(__classPrivateFieldGet(this, _LifecycleWatcher_frameManager, "f").networkManager, NetworkManager_js_1.NetworkManagerEmittedEvents.Response, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_onResponse).bind(this)),
-            (0, util_js_1.addEventListener)(__classPrivateFieldGet(this, _LifecycleWatcher_frameManager, "f").networkManager, NetworkManager_js_1.NetworkManagerEmittedEvents.RequestFailed, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_onRequestFailed).bind(this)),
-        ], "f");
-        __classPrivateFieldSet(this, _LifecycleWatcher_terminationDeferred, Deferred_js_1.Deferred.create({
-            timeout: __classPrivateFieldGet(this, _LifecycleWatcher_timeout, "f"),
-            message: `Navigation timeout of ${__classPrivateFieldGet(this, _LifecycleWatcher_timeout, "f")} ms exceeded`,
-        }), "f");
-        __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_checkLifecycleComplete).call(this);
+        });
+        this.#frameManager = frameManager;
+        this.#frame = frame;
+        this.#timeout = timeout;
+        this.#eventListeners = [
+            (0, util_js_1.addEventListener)(frameManager.client, Connection_js_1.CDPSessionEmittedEvents.Disconnected, this.#terminate.bind(this, new Error('Navigation failed because browser has disconnected!'))),
+            (0, util_js_1.addEventListener)(this.#frameManager, FrameManager_js_1.FrameManagerEmittedEvents.LifecycleEvent, this.#checkLifecycleComplete.bind(this)),
+            (0, util_js_1.addEventListener)(this.#frameManager, FrameManager_js_1.FrameManagerEmittedEvents.FrameNavigatedWithinDocument, this.#navigatedWithinDocument.bind(this)),
+            (0, util_js_1.addEventListener)(this.#frameManager, FrameManager_js_1.FrameManagerEmittedEvents.FrameNavigated, this.#navigated.bind(this)),
+            (0, util_js_1.addEventListener)(this.#frameManager, FrameManager_js_1.FrameManagerEmittedEvents.FrameSwapped, this.#frameSwapped.bind(this)),
+            (0, util_js_1.addEventListener)(this.#frameManager, FrameManager_js_1.FrameManagerEmittedEvents.FrameDetached, this.#onFrameDetached.bind(this)),
+            (0, util_js_1.addEventListener)(this.#frameManager.networkManager, NetworkManager_js_1.NetworkManagerEmittedEvents.Request, this.#onRequest.bind(this)),
+            (0, util_js_1.addEventListener)(this.#frameManager.networkManager, NetworkManager_js_1.NetworkManagerEmittedEvents.Response, this.#onResponse.bind(this)),
+            (0, util_js_1.addEventListener)(this.#frameManager.networkManager, NetworkManager_js_1.NetworkManagerEmittedEvents.RequestFailed, this.#onRequestFailed.bind(this)),
+        ];
+        this.#terminationDeferred = Deferred_js_1.Deferred.create({
+            timeout: this.#timeout,
+            message: `Navigation timeout of ${this.#timeout} ms exceeded`,
+        });
+        this.#checkLifecycleComplete();
+    }
+    #onRequest(request) {
+        if (request.frame() !== this.#frame || !request.isNavigationRequest()) {
+            return;
+        }
+        this.#navigationRequest = request;
+        // Resolve previous navigation response in case there are multiple
+        // navigation requests reported by the backend. This generally should not
+        // happen by it looks like it's possible.
+        this.#navigationResponseReceived?.resolve();
+        this.#navigationResponseReceived = Deferred_js_1.Deferred.create();
+        if (request.response() !== null) {
+            this.#navigationResponseReceived?.resolve();
+        }
+    }
+    #onRequestFailed(request) {
+        if (this.#navigationRequest?._requestId !== request._requestId) {
+            return;
+        }
+        this.#navigationResponseReceived?.resolve();
+    }
+    #onResponse(response) {
+        if (this.#navigationRequest?._requestId !== response.request()._requestId) {
+            return;
+        }
+        this.#navigationResponseReceived?.resolve();
+    }
+    #onFrameDetached(frame) {
+        if (this.#frame === frame) {
+            this.#terminationDeferred.resolve(new Error('Navigating frame was detached'));
+            return;
+        }
+        this.#checkLifecycleComplete();
     }
     async navigationResponse() {
         // Continue with a possibly null response.
-        await __classPrivateFieldGet(this, _LifecycleWatcher_navigationResponseReceived, "f")?.valueOrThrow();
-        return __classPrivateFieldGet(this, _LifecycleWatcher_navigationRequest, "f") ? __classPrivateFieldGet(this, _LifecycleWatcher_navigationRequest, "f").response() : null;
+        await this.#navigationResponseReceived?.valueOrThrow();
+        return this.#navigationRequest ? this.#navigationRequest.response() : null;
+    }
+    #terminate(error) {
+        this.#terminationDeferred.resolve(error);
     }
     sameDocumentNavigationPromise() {
-        return __classPrivateFieldGet(this, _LifecycleWatcher_sameDocumentNavigationDeferred, "f").valueOrThrow();
+        return this.#sameDocumentNavigationDeferred.valueOrThrow();
     }
     newDocumentNavigationPromise() {
-        return __classPrivateFieldGet(this, _LifecycleWatcher_newDocumentNavigationDeferred, "f").valueOrThrow();
+        return this.#newDocumentNavigationDeferred.valueOrThrow();
     }
     lifecyclePromise() {
-        return __classPrivateFieldGet(this, _LifecycleWatcher_lifecycleDeferred, "f").valueOrThrow();
+        return this.#lifecycleDeferred.valueOrThrow();
     }
     terminationPromise() {
-        return __classPrivateFieldGet(this, _LifecycleWatcher_terminationDeferred, "f").valueOrThrow();
+        return this.#terminationDeferred.valueOrThrow();
+    }
+    #navigatedWithinDocument(frame) {
+        if (frame !== this.#frame) {
+            return;
+        }
+        this.#hasSameDocumentNavigation = true;
+        this.#checkLifecycleComplete();
+    }
+    #navigated(frame) {
+        if (frame !== this.#frame) {
+            return;
+        }
+        this.#checkLifecycleComplete();
+    }
+    #frameSwapped(frame) {
+        if (frame !== this.#frame) {
+            return;
+        }
+        this.#swapped = true;
+        this.#checkLifecycleComplete();
+    }
+    #checkLifecycleComplete() {
+        // We expect navigation to commit.
+        if (!checkLifecycle(this.#frame, this.#expectedLifecycle)) {
+            return;
+        }
+        this.#lifecycleDeferred.resolve();
+        if (this.#hasSameDocumentNavigation) {
+            this.#sameDocumentNavigationDeferred.resolve(undefined);
+        }
+        if (this.#swapped || this.#frame._loaderId !== this.#initialLoaderId) {
+            this.#newDocumentNavigationDeferred.resolve(undefined);
+        }
+        function checkLifecycle(frame, expectedLifecycle) {
+            for (const event of expectedLifecycle) {
+                if (!frame._lifecycleEvents.has(event)) {
+                    return false;
+                }
+            }
+            for (const child of frame.childFrames()) {
+                if (child._hasStartedLoading &&
+                    !checkLifecycle(child, expectedLifecycle)) {
+                    return false;
+                }
+            }
+            return true;
+        }
     }
     dispose() {
-        (0, util_js_1.removeEventListeners)(__classPrivateFieldGet(this, _LifecycleWatcher_eventListeners, "f"));
-        __classPrivateFieldGet(this, _LifecycleWatcher_terminationDeferred, "f").resolve(new Error('LifecycleWatcher disposed'));
+        (0, util_js_1.removeEventListeners)(this.#eventListeners);
+        this.#terminationDeferred.resolve(new Error('LifecycleWatcher disposed'));
     }
 }
 exports.LifecycleWatcher = LifecycleWatcher;
-_LifecycleWatcher_expectedLifecycle = new WeakMap(), _LifecycleWatcher_frameManager = new WeakMap(), _LifecycleWatcher_frame = new WeakMap(), _LifecycleWatcher_timeout = new WeakMap(), _LifecycleWatcher_navigationRequest = new WeakMap(), _LifecycleWatcher_eventListeners = new WeakMap(), _LifecycleWatcher_initialLoaderId = new WeakMap(), _LifecycleWatcher_terminationDeferred = new WeakMap(), _LifecycleWatcher_sameDocumentNavigationDeferred = new WeakMap(), _LifecycleWatcher_lifecycleDeferred = new WeakMap(), _LifecycleWatcher_newDocumentNavigationDeferred = new WeakMap(), _LifecycleWatcher_hasSameDocumentNavigation = new WeakMap(), _LifecycleWatcher_swapped = new WeakMap(), _LifecycleWatcher_navigationResponseReceived = new WeakMap(), _LifecycleWatcher_instances = new WeakSet(), _LifecycleWatcher_onRequest = function _LifecycleWatcher_onRequest(request) {
-    if (request.frame() !== __classPrivateFieldGet(this, _LifecycleWatcher_frame, "f") || !request.isNavigationRequest()) {
-        return;
-    }
-    __classPrivateFieldSet(this, _LifecycleWatcher_navigationRequest, request, "f");
-    // Resolve previous navigation response in case there are multiple
-    // navigation requests reported by the backend. This generally should not
-    // happen by it looks like it's possible.
-    __classPrivateFieldGet(this, _LifecycleWatcher_navigationResponseReceived, "f")?.resolve();
-    __classPrivateFieldSet(this, _LifecycleWatcher_navigationResponseReceived, Deferred_js_1.Deferred.create(), "f");
-    if (request.response() !== null) {
-        __classPrivateFieldGet(this, _LifecycleWatcher_navigationResponseReceived, "f")?.resolve();
-    }
-}, _LifecycleWatcher_onRequestFailed = function _LifecycleWatcher_onRequestFailed(request) {
-    if (__classPrivateFieldGet(this, _LifecycleWatcher_navigationRequest, "f")?._requestId !== request._requestId) {
-        return;
-    }
-    __classPrivateFieldGet(this, _LifecycleWatcher_navigationResponseReceived, "f")?.resolve();
-}, _LifecycleWatcher_onResponse = function _LifecycleWatcher_onResponse(response) {
-    if (__classPrivateFieldGet(this, _LifecycleWatcher_navigationRequest, "f")?._requestId !== response.request()._requestId) {
-        return;
-    }
-    __classPrivateFieldGet(this, _LifecycleWatcher_navigationResponseReceived, "f")?.resolve();
-}, _LifecycleWatcher_onFrameDetached = function _LifecycleWatcher_onFrameDetached(frame) {
-    if (__classPrivateFieldGet(this, _LifecycleWatcher_frame, "f") === frame) {
-        __classPrivateFieldGet(this, _LifecycleWatcher_terminationDeferred, "f").resolve(new Error('Navigating frame was detached'));
-        return;
-    }
-    __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_checkLifecycleComplete).call(this);
-}, _LifecycleWatcher_terminate = function _LifecycleWatcher_terminate(error) {
-    __classPrivateFieldGet(this, _LifecycleWatcher_terminationDeferred, "f").resolve(error);
-}, _LifecycleWatcher_navigatedWithinDocument = function _LifecycleWatcher_navigatedWithinDocument(frame) {
-    if (frame !== __classPrivateFieldGet(this, _LifecycleWatcher_frame, "f")) {
-        return;
-    }
-    __classPrivateFieldSet(this, _LifecycleWatcher_hasSameDocumentNavigation, true, "f");
-    __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_checkLifecycleComplete).call(this);
-}, _LifecycleWatcher_navigated = function _LifecycleWatcher_navigated(frame) {
-    if (frame !== __classPrivateFieldGet(this, _LifecycleWatcher_frame, "f")) {
-        return;
-    }
-    __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_checkLifecycleComplete).call(this);
-}, _LifecycleWatcher_frameSwapped = function _LifecycleWatcher_frameSwapped(frame) {
-    if (frame !== __classPrivateFieldGet(this, _LifecycleWatcher_frame, "f")) {
-        return;
-    }
-    __classPrivateFieldSet(this, _LifecycleWatcher_swapped, true, "f");
-    __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_checkLifecycleComplete).call(this);
-}, _LifecycleWatcher_checkLifecycleComplete = function _LifecycleWatcher_checkLifecycleComplete() {
-    // We expect navigation to commit.
-    if (!checkLifecycle(__classPrivateFieldGet(this, _LifecycleWatcher_frame, "f"), __classPrivateFieldGet(this, _LifecycleWatcher_expectedLifecycle, "f"))) {
-        return;
-    }
-    __classPrivateFieldGet(this, _LifecycleWatcher_lifecycleDeferred, "f").resolve();
-    if (__classPrivateFieldGet(this, _LifecycleWatcher_hasSameDocumentNavigation, "f")) {
-        __classPrivateFieldGet(this, _LifecycleWatcher_sameDocumentNavigationDeferred, "f").resolve(undefined);
-    }
-    if (__classPrivateFieldGet(this, _LifecycleWatcher_swapped, "f") || __classPrivateFieldGet(this, _LifecycleWatcher_frame, "f")._loaderId !== __classPrivateFieldGet(this, _LifecycleWatcher_initialLoaderId, "f")) {
-        __classPrivateFieldGet(this, _LifecycleWatcher_newDocumentNavigationDeferred, "f").resolve(undefined);
-    }
-    function checkLifecycle(frame, expectedLifecycle) {
-        for (const event of expectedLifecycle) {
-            if (!frame._lifecycleEvents.has(event)) {
-                return false;
-            }
-        }
-        for (const child of frame.childFrames()) {
-            if (child._hasStartedLoading &&
-                !checkLifecycle(child, expectedLifecycle)) {
-                return false;
-            }
-        }
-        return true;
-    }
-};
 //# sourceMappingURL=LifecycleWatcher.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js.map
index 111102f..24cbc2a 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js.map
@@ -1 +1 @@
-{"version":3,"file":"LifecycleWatcher.js","sourceRoot":"","sources":["../../../../src/common/LifecycleWatcher.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;AAGH,iDAAyC;AACzC,qDAA6C;AAE7C,mDAAwD;AAGxD,uDAA0E;AAE1E,2DAAgE;AAChE,uCAImB;AAmBnB,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAG1C;IACA,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACxC,CAAC,cAAc,EAAE,aAAa,CAAC;IAC/B,CAAC,cAAc,EAAE,mBAAmB,CAAC;CACtC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAa,gBAAgB;IAmB3B,YACE,YAA0B,EAC1B,KAAY,EACZ,SAA8D,EAC9D,OAAe;;QAtBjB,sDAA6C;QAC7C,iDAA4B;QAC5B,0CAAc;QACd,4CAAiB;QACjB,8CAAyC,IAAI,EAAC;QAC9C,mDAA0C;QAC1C,oDAAyB;QAEzB,wDAAsC;QACtC,2DAAkC,sBAAQ,CAAC,MAAM,EAAa,EAAC;QAC/D,8CAAqB,sBAAQ,CAAC,MAAM,EAAQ,EAAC;QAC7C,0DAAiC,sBAAQ,CAAC,MAAM,EAAa,EAAC;QAE9D,8DAAqC;QACrC,4CAAmB;QAEnB,+DAA6C;QAQ3C,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC5B,SAAS,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;SAC/B;aAAM,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;YACxC,SAAS,GAAG,CAAC,SAAS,CAAC,CAAC;SACzB;QACD,uBAAA,IAAI,qCAAoB,KAAK,CAAC,SAAS,MAAA,CAAC;QACxC,uBAAA,IAAI,uCAAsB,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9C,MAAM,aAAa,GAAG,4BAA4B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAA,kBAAM,EAAC,aAAa,EAAE,uCAAuC,GAAG,KAAK,CAAC,CAAC;YACvE,OAAO,aAAuC,CAAC;QACjD,CAAC,CAAC,MAAA,CAAC;QAEH,uBAAA,IAAI,kCAAiB,YAAY,MAAA,CAAC;QAClC,uBAAA,IAAI,2BAAU,KAAK,MAAA,CAAC;QACpB,uBAAA,IAAI,6BAAY,OAAO,MAAA,CAAC;QACxB,uBAAA,IAAI,oCAAmB;YACrB,IAAA,0BAAgB,EACd,YAAY,CAAC,MAAM,EACnB,uCAAuB,CAAC,YAAY,EACpC,uBAAA,IAAI,gEAAW,CAAC,IAAI,CAClB,IAAI,EACJ,IAAI,KAAK,CAAC,qDAAqD,CAAC,CACjE,CACF;YACD,IAAA,0BAAgB,EACd,uBAAA,IAAI,sCAAc,EAClB,2CAAyB,CAAC,cAAc,EACxC,uBAAA,IAAI,6EAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CACxC;YACD,IAAA,0BAAgB,EACd,uBAAA,IAAI,sCAAc,EAClB,2CAAyB,CAAC,4BAA4B,EACtD,uBAAA,IAAI,8EAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CACzC;YACD,IAAA,0BAAgB,EACd,uBAAA,IAAI,sCAAc,EAClB,2CAAyB,CAAC,cAAc,EACxC,uBAAA,IAAI,gEAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAC3B;YACD,IAAA,0BAAgB,EACd,uBAAA,IAAI,sCAAc,EAClB,2CAAyB,CAAC,YAAY,EACtC,uBAAA,IAAI,mEAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9B;YACD,IAAA,0BAAgB,EACd,uBAAA,IAAI,sCAAc,EAClB,2CAAyB,CAAC,aAAa,EACvC,uBAAA,IAAI,sEAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CACjC;YACD,IAAA,0BAAgB,EACd,uBAAA,IAAI,sCAAc,CAAC,cAAc,EACjC,+CAA2B,CAAC,OAAO,EACnC,uBAAA,IAAI,gEAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAC3B;YACD,IAAA,0BAAgB,EACd,uBAAA,IAAI,sCAAc,CAAC,cAAc,EACjC,+CAA2B,CAAC,QAAQ,EACpC,uBAAA,IAAI,iEAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5B;YACD,IAAA,0BAAgB,EACd,uBAAA,IAAI,sCAAc,CAAC,cAAc,EACjC,+CAA2B,CAAC,aAAa,EACzC,uBAAA,IAAI,sEAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CACjC;SACF,MAAA,CAAC;QAEF,uBAAA,IAAI,yCAAwB,sBAAQ,CAAC,MAAM,CAAQ;YACjD,OAAO,EAAE,uBAAA,IAAI,iCAAS;YACtB,OAAO,EAAE,yBAAyB,uBAAA,IAAI,iCAAS,cAAc;SAC9D,CAAC,MAAA,CAAC;QAEH,uBAAA,IAAI,6EAAwB,MAA5B,IAAI,CAA0B,CAAC;IACjC,CAAC;IAyCD,KAAK,CAAC,kBAAkB;QACtB,0CAA0C;QAC1C,MAAM,uBAAA,IAAI,oDAA4B,EAAE,YAAY,EAAE,CAAC;QACvD,OAAO,uBAAA,IAAI,2CAAmB,CAAC,CAAC,CAAC,uBAAA,IAAI,2CAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7E,CAAC;IAMD,6BAA6B;QAC3B,OAAO,uBAAA,IAAI,wDAAgC,CAAC,YAAY,EAAE,CAAC;IAC7D,CAAC;IAED,4BAA4B;QAC1B,OAAO,uBAAA,IAAI,uDAA+B,CAAC,YAAY,EAAE,CAAC;IAC5D,CAAC;IAED,gBAAgB;QACd,OAAO,uBAAA,IAAI,2CAAmB,CAAC,YAAY,EAAE,CAAC;IAChD,CAAC;IAED,kBAAkB;QAChB,OAAO,uBAAA,IAAI,6CAAqB,CAAC,YAAY,EAAE,CAAC;IAClD,CAAC;IA2DD,OAAO;QACL,IAAA,8BAAoB,EAAC,uBAAA,IAAI,wCAAgB,CAAC,CAAC;QAC3C,uBAAA,IAAI,6CAAqB,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAC5E,CAAC;CACF;AAjOD,4CAiOC;w1BA9HY,OAAoB;IAC7B,IAAI,OAAO,CAAC,KAAK,EAAE,KAAK,uBAAA,IAAI,+BAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE;QACrE,OAAO;KACR;IACD,uBAAA,IAAI,uCAAsB,OAAO,MAAA,CAAC;IAClC,kEAAkE;IAClE,yEAAyE;IACzE,yCAAyC;IACzC,uBAAA,IAAI,oDAA4B,EAAE,OAAO,EAAE,CAAC;IAC5C,uBAAA,IAAI,gDAA+B,sBAAQ,CAAC,MAAM,EAAE,MAAA,CAAC;IACrD,IAAI,OAAO,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC/B,uBAAA,IAAI,oDAA4B,EAAE,OAAO,EAAE,CAAC;KAC7C;AACH,CAAC,iFAEgB,OAAoB;IACnC,IAAI,uBAAA,IAAI,2CAAmB,EAAE,UAAU,KAAK,OAAO,CAAC,UAAU,EAAE;QAC9D,OAAO;KACR;IACD,uBAAA,IAAI,oDAA4B,EAAE,OAAO,EAAE,CAAC;AAC9C,CAAC,uEAEW,QAAsB;IAChC,IAAI,uBAAA,IAAI,2CAAmB,EAAE,UAAU,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;QACzE,OAAO;KACR;IACD,uBAAA,IAAI,oDAA4B,EAAE,OAAO,EAAE,CAAC;AAC9C,CAAC,iFAEgB,KAAY;IAC3B,IAAI,uBAAA,IAAI,+BAAO,KAAK,KAAK,EAAE;QACzB,uBAAA,IAAI,6CAAqB,CAAC,OAAO,CAC/B,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAC3C,CAAC;QACF,OAAO;KACR;IACD,uBAAA,IAAI,6EAAwB,MAA5B,IAAI,CAA0B,CAAC;AACjC,CAAC,qEAQU,KAAY;IACrB,uBAAA,IAAI,6CAAqB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC,iGAkBwB,KAAY;IACnC,IAAI,KAAK,KAAK,uBAAA,IAAI,+BAAO,EAAE;QACzB,OAAO;KACR;IACD,uBAAA,IAAI,+CAA8B,IAAI,MAAA,CAAC;IACvC,uBAAA,IAAI,6EAAwB,MAA5B,IAAI,CAA0B,CAAC;AACjC,CAAC,qEAEU,KAAY;IACrB,IAAI,KAAK,KAAK,uBAAA,IAAI,+BAAO,EAAE;QACzB,OAAO;KACR;IACD,uBAAA,IAAI,6EAAwB,MAA5B,IAAI,CAA0B,CAAC;AACjC,CAAC,2EAEa,KAAY;IACxB,IAAI,KAAK,KAAK,uBAAA,IAAI,+BAAO,EAAE;QACzB,OAAO;KACR;IACD,uBAAA,IAAI,6BAAY,IAAI,MAAA,CAAC;IACrB,uBAAA,IAAI,6EAAwB,MAA5B,IAAI,CAA0B,CAAC;AACjC,CAAC;IAGC,kCAAkC;IAClC,IAAI,CAAC,cAAc,CAAC,uBAAA,IAAI,+BAAO,EAAE,uBAAA,IAAI,2CAAmB,CAAC,EAAE;QACzD,OAAO;KACR;IACD,uBAAA,IAAI,2CAAmB,CAAC,OAAO,EAAE,CAAC;IAClC,IAAI,uBAAA,IAAI,mDAA2B,EAAE;QACnC,uBAAA,IAAI,wDAAgC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACzD;IACD,IAAI,uBAAA,IAAI,iCAAS,IAAI,uBAAA,IAAI,+BAAO,CAAC,SAAS,KAAK,uBAAA,IAAI,yCAAiB,EAAE;QACpE,uBAAA,IAAI,uDAA+B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACxD;IAED,SAAS,cAAc,CACrB,KAAY,EACZ,iBAA2C;QAE3C,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE;YACrC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;gBACtC,OAAO,KAAK,CAAC;aACd;SACF;QACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;YACvC,IACE,KAAK,CAAC,kBAAkB;gBACxB,CAAC,cAAc,CAAC,KAAK,EAAE,iBAAiB,CAAC,EACzC;gBACA,OAAO,KAAK,CAAC;aACd;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
\ No newline at end of file
+{"version":3,"file":"LifecycleWatcher.js","sourceRoot":"","sources":["../../../../src/common/LifecycleWatcher.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkEventManager.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkEventManager.d.ts
index 818e1f8..fe91961 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkEventManager.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkEventManager.d.ts
@@ -18,11 +18,11 @@
 /**
  * @internal
  */
-export type QueuedEventGroup = {
+export interface QueuedEventGroup {
     responseReceivedEvent: Protocol.Network.ResponseReceivedEvent;
     loadingFinishedEvent?: Protocol.Network.LoadingFinishedEvent;
     loadingFailedEvent?: Protocol.Network.LoadingFailedEvent;
-};
+}
 /**
  * @internal
  */
@@ -30,10 +30,10 @@
 /**
  * @internal
  */
-export type RedirectInfo = {
+export interface RedirectInfo {
     event: Protocol.Network.RequestWillBeSentEvent;
     fetchRequestId?: FetchRequestId;
-};
+}
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkEventManager.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkEventManager.d.ts.map
index 6a6f518..558d325 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkEventManager.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkEventManager.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"NetworkEventManager.d.ts","sourceRoot":"","sources":["../../../../src/common/NetworkEventManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qBAAqB,EAAE,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC;IAC9D,oBAAoB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC;IAC7D,kBAAkB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC;CAC1D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC;IAC/C,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAGF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC;;;;GAIG;AACH,qBAAa,mBAAmB;;IA2D9B,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAQhD,iBAAiB,CACf,gBAAgB,EAAE,gBAAgB,GACjC,QAAQ,CAAC,OAAO,CAAC,8BAA8B,EAAE;IASpD,OAAO,CAAC,kBAAkB;IAO1B,iBAAiB,CACf,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,GACzB,IAAI;IAIP,sBAAsB,CACpB,cAAc,EAAE,cAAc,GAC7B,YAAY,GAAG,SAAS;IAI3B,qBAAqB,IAAI,MAAM;IAU/B,sBAAsB,CACpB,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,sBAAsB,GAC7C,IAAI;IAIP,oBAAoB,CAClB,gBAAgB,EAAE,gBAAgB,GACjC,QAAQ,CAAC,OAAO,CAAC,sBAAsB,GAAG,SAAS;IAItD,uBAAuB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAIjE,gBAAgB,CACd,gBAAgB,EAAE,gBAAgB,GACjC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,GAAG,SAAS;IAIhD,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAI7D,kBAAkB,CAChB,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,GACvC,IAAI;IAIP,UAAU,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,WAAW,GAAG,SAAS;IAIvE,YAAY,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAI5E,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAIvD,mBAAmB,CACjB,gBAAgB,EAAE,gBAAgB,GACjC,gBAAgB,GAAG,SAAS;IAI/B,eAAe,CACb,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,gBAAgB,GACtB,IAAI;IAIP,sBAAsB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;CAGjE"}
\ No newline at end of file
+{"version":3,"file":"NetworkEventManager.d.ts","sourceRoot":"","sources":["../../../../src/common/NetworkEventManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB,EAAE,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC;IAC9D,oBAAoB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC;IAC7D,kBAAkB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC;IAC/C,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAGD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC;;;;GAIG;AACH,qBAAa,mBAAmB;;IA2D9B,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAQhD,iBAAiB,CACf,gBAAgB,EAAE,gBAAgB,GACjC,QAAQ,CAAC,OAAO,CAAC,8BAA8B,EAAE;IASpD,OAAO,CAAC,kBAAkB;IAO1B,iBAAiB,CACf,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,GACzB,IAAI;IAIP,sBAAsB,CACpB,cAAc,EAAE,cAAc,GAC7B,YAAY,GAAG,SAAS;IAI3B,qBAAqB,IAAI,MAAM;IAU/B,sBAAsB,CACpB,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,sBAAsB,GAC7C,IAAI;IAIP,oBAAoB,CAClB,gBAAgB,EAAE,gBAAgB,GACjC,QAAQ,CAAC,OAAO,CAAC,sBAAsB,GAAG,SAAS;IAItD,uBAAuB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAIjE,gBAAgB,CACd,gBAAgB,EAAE,gBAAgB,GACjC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,GAAG,SAAS;IAIhD,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAI7D,kBAAkB,CAChB,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,GACvC,IAAI;IAIP,UAAU,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,WAAW,GAAG,SAAS;IAIvE,YAAY,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAI5E,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAIvD,mBAAmB,CACjB,gBAAgB,EAAE,gBAAgB,GACjC,gBAAgB,GAAG,SAAS;IAI/B,eAAe,CACb,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,gBAAgB,GACtB,IAAI;IAIP,sBAAsB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;CAGjE"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkEventManager.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkEventManager.js
index 3a052d1..7a49057 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkEventManager.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkEventManager.js
@@ -14,12 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _NetworkEventManager_requestWillBeSentMap, _NetworkEventManager_requestPausedMap, _NetworkEventManager_httpRequestsMap, _NetworkEventManager_responseReceivedExtraInfoMap, _NetworkEventManager_queuedRedirectInfoMap, _NetworkEventManager_queuedEventGroupMap;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.NetworkEventManager = void 0;
 /**
@@ -28,73 +22,71 @@
  * @internal
  */
 class NetworkEventManager {
-    constructor() {
-        /**
-         * There are four possible orders of events:
-         * A. `_onRequestWillBeSent`
-         * B. `_onRequestWillBeSent`, `_onRequestPaused`
-         * C. `_onRequestPaused`, `_onRequestWillBeSent`
-         * D. `_onRequestPaused`, `_onRequestWillBeSent`, `_onRequestPaused`,
-         * `_onRequestWillBeSent`, `_onRequestPaused`, `_onRequestPaused`
-         * (see crbug.com/1196004)
-         *
-         * For `_onRequest` we need the event from `_onRequestWillBeSent` and
-         * optionally the `interceptionId` from `_onRequestPaused`.
-         *
-         * If request interception is disabled, call `_onRequest` once per call to
-         * `_onRequestWillBeSent`.
-         * If request interception is enabled, call `_onRequest` once per call to
-         * `_onRequestPaused` (once per `interceptionId`).
-         *
-         * Events are stored to allow for subsequent events to call `_onRequest`.
-         *
-         * Note that (chains of) redirect requests have the same `requestId` (!) as
-         * the original request. We have to anticipate series of events like these:
-         * A. `_onRequestWillBeSent`,
-         * `_onRequestWillBeSent`, ...
-         * B. `_onRequestWillBeSent`, `_onRequestPaused`,
-         * `_onRequestWillBeSent`, `_onRequestPaused`, ...
-         * C. `_onRequestWillBeSent`, `_onRequestPaused`,
-         * `_onRequestPaused`, `_onRequestWillBeSent`, ...
-         * D. `_onRequestPaused`, `_onRequestWillBeSent`,
-         * `_onRequestPaused`, `_onRequestWillBeSent`, `_onRequestPaused`,
-         * `_onRequestWillBeSent`, `_onRequestPaused`, `_onRequestPaused`, ...
-         * (see crbug.com/1196004)
-         */
-        _NetworkEventManager_requestWillBeSentMap.set(this, new Map());
-        _NetworkEventManager_requestPausedMap.set(this, new Map());
-        _NetworkEventManager_httpRequestsMap.set(this, new Map());
-        /*
-         * The below maps are used to reconcile Network.responseReceivedExtraInfo
-         * events with their corresponding request. Each response and redirect
-         * response gets an ExtraInfo event, and we don't know which will come first.
-         * This means that we have to store a Response or an ExtraInfo for each
-         * response, and emit the event when we get both of them. In addition, to
-         * handle redirects, we have to make them Arrays to represent the chain of
-         * events.
-         */
-        _NetworkEventManager_responseReceivedExtraInfoMap.set(this, new Map());
-        _NetworkEventManager_queuedRedirectInfoMap.set(this, new Map());
-        _NetworkEventManager_queuedEventGroupMap.set(this, new Map());
-    }
+    /**
+     * There are four possible orders of events:
+     * A. `_onRequestWillBeSent`
+     * B. `_onRequestWillBeSent`, `_onRequestPaused`
+     * C. `_onRequestPaused`, `_onRequestWillBeSent`
+     * D. `_onRequestPaused`, `_onRequestWillBeSent`, `_onRequestPaused`,
+     * `_onRequestWillBeSent`, `_onRequestPaused`, `_onRequestPaused`
+     * (see crbug.com/1196004)
+     *
+     * For `_onRequest` we need the event from `_onRequestWillBeSent` and
+     * optionally the `interceptionId` from `_onRequestPaused`.
+     *
+     * If request interception is disabled, call `_onRequest` once per call to
+     * `_onRequestWillBeSent`.
+     * If request interception is enabled, call `_onRequest` once per call to
+     * `_onRequestPaused` (once per `interceptionId`).
+     *
+     * Events are stored to allow for subsequent events to call `_onRequest`.
+     *
+     * Note that (chains of) redirect requests have the same `requestId` (!) as
+     * the original request. We have to anticipate series of events like these:
+     * A. `_onRequestWillBeSent`,
+     * `_onRequestWillBeSent`, ...
+     * B. `_onRequestWillBeSent`, `_onRequestPaused`,
+     * `_onRequestWillBeSent`, `_onRequestPaused`, ...
+     * C. `_onRequestWillBeSent`, `_onRequestPaused`,
+     * `_onRequestPaused`, `_onRequestWillBeSent`, ...
+     * D. `_onRequestPaused`, `_onRequestWillBeSent`,
+     * `_onRequestPaused`, `_onRequestWillBeSent`, `_onRequestPaused`,
+     * `_onRequestWillBeSent`, `_onRequestPaused`, `_onRequestPaused`, ...
+     * (see crbug.com/1196004)
+     */
+    #requestWillBeSentMap = new Map();
+    #requestPausedMap = new Map();
+    #httpRequestsMap = new Map();
+    /*
+     * The below maps are used to reconcile Network.responseReceivedExtraInfo
+     * events with their corresponding request. Each response and redirect
+     * response gets an ExtraInfo event, and we don't know which will come first.
+     * This means that we have to store a Response or an ExtraInfo for each
+     * response, and emit the event when we get both of them. In addition, to
+     * handle redirects, we have to make them Arrays to represent the chain of
+     * events.
+     */
+    #responseReceivedExtraInfoMap = new Map();
+    #queuedRedirectInfoMap = new Map();
+    #queuedEventGroupMap = new Map();
     forget(networkRequestId) {
-        __classPrivateFieldGet(this, _NetworkEventManager_requestWillBeSentMap, "f").delete(networkRequestId);
-        __classPrivateFieldGet(this, _NetworkEventManager_requestPausedMap, "f").delete(networkRequestId);
-        __classPrivateFieldGet(this, _NetworkEventManager_queuedEventGroupMap, "f").delete(networkRequestId);
-        __classPrivateFieldGet(this, _NetworkEventManager_queuedRedirectInfoMap, "f").delete(networkRequestId);
-        __classPrivateFieldGet(this, _NetworkEventManager_responseReceivedExtraInfoMap, "f").delete(networkRequestId);
+        this.#requestWillBeSentMap.delete(networkRequestId);
+        this.#requestPausedMap.delete(networkRequestId);
+        this.#queuedEventGroupMap.delete(networkRequestId);
+        this.#queuedRedirectInfoMap.delete(networkRequestId);
+        this.#responseReceivedExtraInfoMap.delete(networkRequestId);
     }
     responseExtraInfo(networkRequestId) {
-        if (!__classPrivateFieldGet(this, _NetworkEventManager_responseReceivedExtraInfoMap, "f").has(networkRequestId)) {
-            __classPrivateFieldGet(this, _NetworkEventManager_responseReceivedExtraInfoMap, "f").set(networkRequestId, []);
+        if (!this.#responseReceivedExtraInfoMap.has(networkRequestId)) {
+            this.#responseReceivedExtraInfoMap.set(networkRequestId, []);
         }
-        return __classPrivateFieldGet(this, _NetworkEventManager_responseReceivedExtraInfoMap, "f").get(networkRequestId);
+        return this.#responseReceivedExtraInfoMap.get(networkRequestId);
     }
     queuedRedirectInfo(fetchRequestId) {
-        if (!__classPrivateFieldGet(this, _NetworkEventManager_queuedRedirectInfoMap, "f").has(fetchRequestId)) {
-            __classPrivateFieldGet(this, _NetworkEventManager_queuedRedirectInfoMap, "f").set(fetchRequestId, []);
+        if (!this.#queuedRedirectInfoMap.has(fetchRequestId)) {
+            this.#queuedRedirectInfoMap.set(fetchRequestId, []);
         }
-        return __classPrivateFieldGet(this, _NetworkEventManager_queuedRedirectInfoMap, "f").get(fetchRequestId);
+        return this.#queuedRedirectInfoMap.get(fetchRequestId);
     }
     queueRedirectInfo(fetchRequestId, redirectInfo) {
         this.queuedRedirectInfo(fetchRequestId).push(redirectInfo);
@@ -104,7 +96,7 @@
     }
     inFlightRequestsCount() {
         let inFlightRequestCounter = 0;
-        for (const request of __classPrivateFieldGet(this, _NetworkEventManager_httpRequestsMap, "f").values()) {
+        for (const request of this.#httpRequestsMap.values()) {
             if (!request.response()) {
                 inFlightRequestCounter++;
             }
@@ -112,42 +104,41 @@
         return inFlightRequestCounter;
     }
     storeRequestWillBeSent(networkRequestId, event) {
-        __classPrivateFieldGet(this, _NetworkEventManager_requestWillBeSentMap, "f").set(networkRequestId, event);
+        this.#requestWillBeSentMap.set(networkRequestId, event);
     }
     getRequestWillBeSent(networkRequestId) {
-        return __classPrivateFieldGet(this, _NetworkEventManager_requestWillBeSentMap, "f").get(networkRequestId);
+        return this.#requestWillBeSentMap.get(networkRequestId);
     }
     forgetRequestWillBeSent(networkRequestId) {
-        __classPrivateFieldGet(this, _NetworkEventManager_requestWillBeSentMap, "f").delete(networkRequestId);
+        this.#requestWillBeSentMap.delete(networkRequestId);
     }
     getRequestPaused(networkRequestId) {
-        return __classPrivateFieldGet(this, _NetworkEventManager_requestPausedMap, "f").get(networkRequestId);
+        return this.#requestPausedMap.get(networkRequestId);
     }
     forgetRequestPaused(networkRequestId) {
-        __classPrivateFieldGet(this, _NetworkEventManager_requestPausedMap, "f").delete(networkRequestId);
+        this.#requestPausedMap.delete(networkRequestId);
     }
     storeRequestPaused(networkRequestId, event) {
-        __classPrivateFieldGet(this, _NetworkEventManager_requestPausedMap, "f").set(networkRequestId, event);
+        this.#requestPausedMap.set(networkRequestId, event);
     }
     getRequest(networkRequestId) {
-        return __classPrivateFieldGet(this, _NetworkEventManager_httpRequestsMap, "f").get(networkRequestId);
+        return this.#httpRequestsMap.get(networkRequestId);
     }
     storeRequest(networkRequestId, request) {
-        __classPrivateFieldGet(this, _NetworkEventManager_httpRequestsMap, "f").set(networkRequestId, request);
+        this.#httpRequestsMap.set(networkRequestId, request);
     }
     forgetRequest(networkRequestId) {
-        __classPrivateFieldGet(this, _NetworkEventManager_httpRequestsMap, "f").delete(networkRequestId);
+        this.#httpRequestsMap.delete(networkRequestId);
     }
     getQueuedEventGroup(networkRequestId) {
-        return __classPrivateFieldGet(this, _NetworkEventManager_queuedEventGroupMap, "f").get(networkRequestId);
+        return this.#queuedEventGroupMap.get(networkRequestId);
     }
     queueEventGroup(networkRequestId, event) {
-        __classPrivateFieldGet(this, _NetworkEventManager_queuedEventGroupMap, "f").set(networkRequestId, event);
+        this.#queuedEventGroupMap.set(networkRequestId, event);
     }
     forgetQueuedEventGroup(networkRequestId) {
-        __classPrivateFieldGet(this, _NetworkEventManager_queuedEventGroupMap, "f").delete(networkRequestId);
+        this.#queuedEventGroupMap.delete(networkRequestId);
     }
 }
 exports.NetworkEventManager = NetworkEventManager;
-_NetworkEventManager_requestWillBeSentMap = new WeakMap(), _NetworkEventManager_requestPausedMap = new WeakMap(), _NetworkEventManager_httpRequestsMap = new WeakMap(), _NetworkEventManager_responseReceivedExtraInfoMap = new WeakMap(), _NetworkEventManager_queuedRedirectInfoMap = new WeakMap(), _NetworkEventManager_queuedEventGroupMap = new WeakMap();
 //# sourceMappingURL=NetworkEventManager.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkEventManager.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkEventManager.js.map
index a6ff8fc..7347faf 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkEventManager.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkEventManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"NetworkEventManager.js","sourceRoot":"","sources":["../../../../src/common/NetworkEventManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"NetworkEventManager.js","sourceRoot":"","sources":["../../../../src/common/NetworkEventManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js
index 5a996d5..ac810de 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _NetworkManager_instances, _NetworkManager_client, _NetworkManager_ignoreHTTPSErrors, _NetworkManager_frameManager, _NetworkManager_networkEventManager, _NetworkManager_extraHTTPHeaders, _NetworkManager_credentials, _NetworkManager_attemptedAuthentications, _NetworkManager_userRequestInterceptionEnabled, _NetworkManager_protocolRequestInterceptionEnabled, _NetworkManager_userCacheDisabled, _NetworkManager_emulatedNetworkConditions, _NetworkManager_deferredInit, _NetworkManager_updateNetworkConditions, _NetworkManager_updateProtocolRequestInterception, _NetworkManager_cacheDisabled, _NetworkManager_updateProtocolCacheDisabled, _NetworkManager_onRequestWillBeSent, _NetworkManager_onAuthRequired, _NetworkManager_onRequestPaused, _NetworkManager_patchRequestEventHeaders, _NetworkManager_onRequestWithoutNetworkInstrumentation, _NetworkManager_onRequest, _NetworkManager_onRequestServedFromCache, _NetworkManager_handleRequestRedirect, _NetworkManager_emitResponseEvent, _NetworkManager_onResponseReceived, _NetworkManager_onResponseReceivedExtraInfo, _NetworkManager_forgetRequest, _NetworkManager_onLoadingFinished, _NetworkManager_emitLoadingFinished, _NetworkManager_onLoadingFailed, _NetworkManager_emitLoadingFailed;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.NetworkManager = exports.NetworkManagerEmittedEvents = void 0;
 const assert_js_1 = require("../util/assert.js");
@@ -52,56 +40,55 @@
  * @internal
  */
 class NetworkManager extends EventEmitter_js_1.EventEmitter {
+    #client;
+    #ignoreHTTPSErrors;
+    #frameManager;
+    #networkEventManager = new NetworkEventManager_js_1.NetworkEventManager();
+    #extraHTTPHeaders = {};
+    #credentials;
+    #attemptedAuthentications = new Set();
+    #userRequestInterceptionEnabled = false;
+    #protocolRequestInterceptionEnabled = false;
+    #userCacheDisabled = false;
+    #emulatedNetworkConditions = {
+        offline: false,
+        upload: -1,
+        download: -1,
+        latency: 0,
+    };
+    #deferredInit;
     constructor(client, ignoreHTTPSErrors, frameManager) {
         super();
-        _NetworkManager_instances.add(this);
-        _NetworkManager_client.set(this, void 0);
-        _NetworkManager_ignoreHTTPSErrors.set(this, void 0);
-        _NetworkManager_frameManager.set(this, void 0);
-        _NetworkManager_networkEventManager.set(this, new NetworkEventManager_js_1.NetworkEventManager());
-        _NetworkManager_extraHTTPHeaders.set(this, {});
-        _NetworkManager_credentials.set(this, void 0);
-        _NetworkManager_attemptedAuthentications.set(this, new Set());
-        _NetworkManager_userRequestInterceptionEnabled.set(this, false);
-        _NetworkManager_protocolRequestInterceptionEnabled.set(this, false);
-        _NetworkManager_userCacheDisabled.set(this, false);
-        _NetworkManager_emulatedNetworkConditions.set(this, {
-            offline: false,
-            upload: -1,
-            download: -1,
-            latency: 0,
-        });
-        _NetworkManager_deferredInit.set(this, void 0);
-        __classPrivateFieldSet(this, _NetworkManager_client, client, "f");
-        __classPrivateFieldSet(this, _NetworkManager_ignoreHTTPSErrors, ignoreHTTPSErrors, "f");
-        __classPrivateFieldSet(this, _NetworkManager_frameManager, frameManager, "f");
-        __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Fetch.requestPaused', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestPaused).bind(this));
-        __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Fetch.authRequired', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onAuthRequired).bind(this));
-        __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.requestWillBeSent', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestWillBeSent).bind(this));
-        __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.requestServedFromCache', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestServedFromCache).bind(this));
-        __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.responseReceived', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onResponseReceived).bind(this));
-        __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.loadingFinished', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onLoadingFinished).bind(this));
-        __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.loadingFailed', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onLoadingFailed).bind(this));
-        __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.responseReceivedExtraInfo', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onResponseReceivedExtraInfo).bind(this));
+        this.#client = client;
+        this.#ignoreHTTPSErrors = ignoreHTTPSErrors;
+        this.#frameManager = frameManager;
+        this.#client.on('Fetch.requestPaused', this.#onRequestPaused.bind(this));
+        this.#client.on('Fetch.authRequired', this.#onAuthRequired.bind(this));
+        this.#client.on('Network.requestWillBeSent', this.#onRequestWillBeSent.bind(this));
+        this.#client.on('Network.requestServedFromCache', this.#onRequestServedFromCache.bind(this));
+        this.#client.on('Network.responseReceived', this.#onResponseReceived.bind(this));
+        this.#client.on('Network.loadingFinished', this.#onLoadingFinished.bind(this));
+        this.#client.on('Network.loadingFailed', this.#onLoadingFailed.bind(this));
+        this.#client.on('Network.responseReceivedExtraInfo', this.#onResponseReceivedExtraInfo.bind(this));
     }
     /**
      * Initialize calls should avoid async dependencies between CDP calls as those
      * might not resolve until after the target is resumed causing a deadlock.
      */
     initialize() {
-        if (__classPrivateFieldGet(this, _NetworkManager_deferredInit, "f")) {
-            return __classPrivateFieldGet(this, _NetworkManager_deferredInit, "f").valueOrThrow();
+        if (this.#deferredInit) {
+            return this.#deferredInit.valueOrThrow();
         }
-        __classPrivateFieldSet(this, _NetworkManager_deferredInit, (0, DebuggableDeferred_js_1.createDebuggableDeferred)('NetworkManager initialization timed out'), "f");
+        this.#deferredInit = (0, DebuggableDeferred_js_1.createDebuggableDeferred)('NetworkManager initialization timed out');
         const init = Promise.all([
-            __classPrivateFieldGet(this, _NetworkManager_ignoreHTTPSErrors, "f")
-                ? __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Security.setIgnoreCertificateErrors', {
+            this.#ignoreHTTPSErrors
+                ? this.#client.send('Security.setIgnoreCertificateErrors', {
                     ignore: true,
                 })
                 : null,
-            __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.enable'),
+            this.#client.send('Network.enable'),
         ]);
-        const deferredInitPromise = __classPrivateFieldGet(this, _NetworkManager_deferredInit, "f");
+        const deferredInitPromise = this.#deferredInit;
         init
             .then(() => {
             deferredInitPromise.resolve();
@@ -109,350 +96,376 @@
             .catch(err => {
             deferredInitPromise.reject(err);
         });
-        return __classPrivateFieldGet(this, _NetworkManager_deferredInit, "f").valueOrThrow();
+        return this.#deferredInit.valueOrThrow();
     }
     async authenticate(credentials) {
-        __classPrivateFieldSet(this, _NetworkManager_credentials, credentials, "f");
-        await __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_updateProtocolRequestInterception).call(this);
+        this.#credentials = credentials;
+        await this.#updateProtocolRequestInterception();
     }
     async setExtraHTTPHeaders(extraHTTPHeaders) {
-        __classPrivateFieldSet(this, _NetworkManager_extraHTTPHeaders, {}, "f");
+        this.#extraHTTPHeaders = {};
         for (const key of Object.keys(extraHTTPHeaders)) {
             const value = extraHTTPHeaders[key];
             (0, assert_js_1.assert)((0, util_js_1.isString)(value), `Expected value of header "${key}" to be String, but "${typeof value}" is found.`);
-            __classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f")[key.toLowerCase()] = value;
+            this.#extraHTTPHeaders[key.toLowerCase()] = value;
         }
-        await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.setExtraHTTPHeaders', {
-            headers: __classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f"),
+        await this.#client.send('Network.setExtraHTTPHeaders', {
+            headers: this.#extraHTTPHeaders,
         });
     }
     extraHTTPHeaders() {
-        return Object.assign({}, __classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f"));
+        return Object.assign({}, this.#extraHTTPHeaders);
     }
     inFlightRequestsCount() {
-        return __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").inFlightRequestsCount();
+        return this.#networkEventManager.inFlightRequestsCount();
     }
     async setOfflineMode(value) {
-        __classPrivateFieldGet(this, _NetworkManager_emulatedNetworkConditions, "f").offline = value;
-        await __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_updateNetworkConditions).call(this);
+        this.#emulatedNetworkConditions.offline = value;
+        await this.#updateNetworkConditions();
     }
     async emulateNetworkConditions(networkConditions) {
-        __classPrivateFieldGet(this, _NetworkManager_emulatedNetworkConditions, "f").upload = networkConditions
+        this.#emulatedNetworkConditions.upload = networkConditions
             ? networkConditions.upload
             : -1;
-        __classPrivateFieldGet(this, _NetworkManager_emulatedNetworkConditions, "f").download = networkConditions
+        this.#emulatedNetworkConditions.download = networkConditions
             ? networkConditions.download
             : -1;
-        __classPrivateFieldGet(this, _NetworkManager_emulatedNetworkConditions, "f").latency = networkConditions
+        this.#emulatedNetworkConditions.latency = networkConditions
             ? networkConditions.latency
             : 0;
-        await __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_updateNetworkConditions).call(this);
+        await this.#updateNetworkConditions();
+    }
+    async #updateNetworkConditions() {
+        await this.#client.send('Network.emulateNetworkConditions', {
+            offline: this.#emulatedNetworkConditions.offline,
+            latency: this.#emulatedNetworkConditions.latency,
+            uploadThroughput: this.#emulatedNetworkConditions.upload,
+            downloadThroughput: this.#emulatedNetworkConditions.download,
+        });
     }
     async setUserAgent(userAgent, userAgentMetadata) {
-        await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.setUserAgentOverride', {
+        await this.#client.send('Network.setUserAgentOverride', {
             userAgent: userAgent,
             userAgentMetadata: userAgentMetadata,
         });
     }
     async setCacheEnabled(enabled) {
-        __classPrivateFieldSet(this, _NetworkManager_userCacheDisabled, !enabled, "f");
-        await __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_updateProtocolCacheDisabled).call(this);
+        this.#userCacheDisabled = !enabled;
+        await this.#updateProtocolCacheDisabled();
     }
     async setRequestInterception(value) {
-        __classPrivateFieldSet(this, _NetworkManager_userRequestInterceptionEnabled, value, "f");
-        await __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_updateProtocolRequestInterception).call(this);
+        this.#userRequestInterceptionEnabled = value;
+        await this.#updateProtocolRequestInterception();
     }
-}
-exports.NetworkManager = NetworkManager;
-_NetworkManager_client = new WeakMap(), _NetworkManager_ignoreHTTPSErrors = new WeakMap(), _NetworkManager_frameManager = new WeakMap(), _NetworkManager_networkEventManager = new WeakMap(), _NetworkManager_extraHTTPHeaders = new WeakMap(), _NetworkManager_credentials = new WeakMap(), _NetworkManager_attemptedAuthentications = new WeakMap(), _NetworkManager_userRequestInterceptionEnabled = new WeakMap(), _NetworkManager_protocolRequestInterceptionEnabled = new WeakMap(), _NetworkManager_userCacheDisabled = new WeakMap(), _NetworkManager_emulatedNetworkConditions = new WeakMap(), _NetworkManager_deferredInit = new WeakMap(), _NetworkManager_instances = new WeakSet(), _NetworkManager_updateNetworkConditions = async function _NetworkManager_updateNetworkConditions() {
-    await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.emulateNetworkConditions', {
-        offline: __classPrivateFieldGet(this, _NetworkManager_emulatedNetworkConditions, "f").offline,
-        latency: __classPrivateFieldGet(this, _NetworkManager_emulatedNetworkConditions, "f").latency,
-        uploadThroughput: __classPrivateFieldGet(this, _NetworkManager_emulatedNetworkConditions, "f").upload,
-        downloadThroughput: __classPrivateFieldGet(this, _NetworkManager_emulatedNetworkConditions, "f").download,
-    });
-}, _NetworkManager_updateProtocolRequestInterception = async function _NetworkManager_updateProtocolRequestInterception() {
-    const enabled = __classPrivateFieldGet(this, _NetworkManager_userRequestInterceptionEnabled, "f") || !!__classPrivateFieldGet(this, _NetworkManager_credentials, "f");
-    if (enabled === __classPrivateFieldGet(this, _NetworkManager_protocolRequestInterceptionEnabled, "f")) {
-        return;
-    }
-    __classPrivateFieldSet(this, _NetworkManager_protocolRequestInterceptionEnabled, enabled, "f");
-    if (enabled) {
-        await Promise.all([
-            __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_updateProtocolCacheDisabled).call(this),
-            __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Fetch.enable', {
-                handleAuthRequests: true,
-                patterns: [{ urlPattern: '*' }],
-            }),
-        ]);
-    }
-    else {
-        await Promise.all([
-            __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_updateProtocolCacheDisabled).call(this),
-            __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Fetch.disable'),
-        ]);
-    }
-}, _NetworkManager_cacheDisabled = function _NetworkManager_cacheDisabled() {
-    return __classPrivateFieldGet(this, _NetworkManager_userCacheDisabled, "f");
-}, _NetworkManager_updateProtocolCacheDisabled = async function _NetworkManager_updateProtocolCacheDisabled() {
-    await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.setCacheDisabled', {
-        cacheDisabled: __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_cacheDisabled).call(this),
-    });
-}, _NetworkManager_onRequestWillBeSent = function _NetworkManager_onRequestWillBeSent(event) {
-    // Request interception doesn't happen for data URLs with Network Service.
-    if (__classPrivateFieldGet(this, _NetworkManager_userRequestInterceptionEnabled, "f") &&
-        !event.request.url.startsWith('data:')) {
-        const { requestId: networkRequestId } = event;
-        __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").storeRequestWillBeSent(networkRequestId, event);
-        /**
-         * CDP may have sent a Fetch.requestPaused event already. Check for it.
-         */
-        const requestPausedEvent = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequestPaused(networkRequestId);
-        if (requestPausedEvent) {
-            const { requestId: fetchRequestId } = requestPausedEvent;
-            __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_patchRequestEventHeaders).call(this, event, requestPausedEvent);
-            __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, event, fetchRequestId);
-            __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetRequestPaused(networkRequestId);
+    async #updateProtocolRequestInterception() {
+        const enabled = this.#userRequestInterceptionEnabled || !!this.#credentials;
+        if (enabled === this.#protocolRequestInterceptionEnabled) {
+            return;
         }
-        return;
+        this.#protocolRequestInterceptionEnabled = enabled;
+        if (enabled) {
+            await Promise.all([
+                this.#updateProtocolCacheDisabled(),
+                this.#client.send('Fetch.enable', {
+                    handleAuthRequests: true,
+                    patterns: [{ urlPattern: '*' }],
+                }),
+            ]);
+        }
+        else {
+            await Promise.all([
+                this.#updateProtocolCacheDisabled(),
+                this.#client.send('Fetch.disable'),
+            ]);
+        }
     }
-    __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, event, undefined);
-}, _NetworkManager_onAuthRequired = function _NetworkManager_onAuthRequired(event) {
-    let response = 'Default';
-    if (__classPrivateFieldGet(this, _NetworkManager_attemptedAuthentications, "f").has(event.requestId)) {
-        response = 'CancelAuth';
+    #cacheDisabled() {
+        return this.#userCacheDisabled;
     }
-    else if (__classPrivateFieldGet(this, _NetworkManager_credentials, "f")) {
-        response = 'ProvideCredentials';
-        __classPrivateFieldGet(this, _NetworkManager_attemptedAuthentications, "f").add(event.requestId);
+    async #updateProtocolCacheDisabled() {
+        await this.#client.send('Network.setCacheDisabled', {
+            cacheDisabled: this.#cacheDisabled(),
+        });
     }
-    const { username, password } = __classPrivateFieldGet(this, _NetworkManager_credentials, "f") || {
-        username: undefined,
-        password: undefined,
-    };
-    __classPrivateFieldGet(this, _NetworkManager_client, "f")
-        .send('Fetch.continueWithAuth', {
-        requestId: event.requestId,
-        authChallengeResponse: { response, username, password },
-    })
-        .catch(util_js_1.debugError);
-}, _NetworkManager_onRequestPaused = function _NetworkManager_onRequestPaused(event) {
-    if (!__classPrivateFieldGet(this, _NetworkManager_userRequestInterceptionEnabled, "f") &&
-        __classPrivateFieldGet(this, _NetworkManager_protocolRequestInterceptionEnabled, "f")) {
-        __classPrivateFieldGet(this, _NetworkManager_client, "f")
-            .send('Fetch.continueRequest', {
+    #onRequestWillBeSent(event) {
+        // Request interception doesn't happen for data URLs with Network Service.
+        if (this.#userRequestInterceptionEnabled &&
+            !event.request.url.startsWith('data:')) {
+            const { requestId: networkRequestId } = event;
+            this.#networkEventManager.storeRequestWillBeSent(networkRequestId, event);
+            /**
+             * CDP may have sent a Fetch.requestPaused event already. Check for it.
+             */
+            const requestPausedEvent = this.#networkEventManager.getRequestPaused(networkRequestId);
+            if (requestPausedEvent) {
+                const { requestId: fetchRequestId } = requestPausedEvent;
+                this.#patchRequestEventHeaders(event, requestPausedEvent);
+                this.#onRequest(event, fetchRequestId);
+                this.#networkEventManager.forgetRequestPaused(networkRequestId);
+            }
+            return;
+        }
+        this.#onRequest(event, undefined);
+    }
+    #onAuthRequired(event) {
+        let response = 'Default';
+        if (this.#attemptedAuthentications.has(event.requestId)) {
+            response = 'CancelAuth';
+        }
+        else if (this.#credentials) {
+            response = 'ProvideCredentials';
+            this.#attemptedAuthentications.add(event.requestId);
+        }
+        const { username, password } = this.#credentials || {
+            username: undefined,
+            password: undefined,
+        };
+        this.#client
+            .send('Fetch.continueWithAuth', {
             requestId: event.requestId,
+            authChallengeResponse: { response, username, password },
         })
             .catch(util_js_1.debugError);
     }
-    const { networkId: networkRequestId, requestId: fetchRequestId } = event;
-    if (!networkRequestId) {
-        __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestWithoutNetworkInstrumentation).call(this, event);
-        return;
-    }
-    const requestWillBeSentEvent = (() => {
-        const requestWillBeSentEvent = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequestWillBeSent(networkRequestId);
-        // redirect requests have the same `requestId`,
-        if (requestWillBeSentEvent &&
-            (requestWillBeSentEvent.request.url !== event.request.url ||
-                requestWillBeSentEvent.request.method !== event.request.method)) {
-            __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetRequestWillBeSent(networkRequestId);
+    /**
+     * CDP may send a Fetch.requestPaused without or before a
+     * Network.requestWillBeSent
+     *
+     * CDP may send multiple Fetch.requestPaused
+     * for the same Network.requestWillBeSent.
+     */
+    #onRequestPaused(event) {
+        if (!this.#userRequestInterceptionEnabled &&
+            this.#protocolRequestInterceptionEnabled) {
+            this.#client
+                .send('Fetch.continueRequest', {
+                requestId: event.requestId,
+            })
+                .catch(util_js_1.debugError);
+        }
+        const { networkId: networkRequestId, requestId: fetchRequestId } = event;
+        if (!networkRequestId) {
+            this.#onRequestWithoutNetworkInstrumentation(event);
             return;
         }
-        return requestWillBeSentEvent;
-    })();
-    if (requestWillBeSentEvent) {
-        __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_patchRequestEventHeaders).call(this, requestWillBeSentEvent, event);
-        __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, requestWillBeSentEvent, fetchRequestId);
+        const requestWillBeSentEvent = (() => {
+            const requestWillBeSentEvent = this.#networkEventManager.getRequestWillBeSent(networkRequestId);
+            // redirect requests have the same `requestId`,
+            if (requestWillBeSentEvent &&
+                (requestWillBeSentEvent.request.url !== event.request.url ||
+                    requestWillBeSentEvent.request.method !== event.request.method)) {
+                this.#networkEventManager.forgetRequestWillBeSent(networkRequestId);
+                return;
+            }
+            return requestWillBeSentEvent;
+        })();
+        if (requestWillBeSentEvent) {
+            this.#patchRequestEventHeaders(requestWillBeSentEvent, event);
+            this.#onRequest(requestWillBeSentEvent, fetchRequestId);
+        }
+        else {
+            this.#networkEventManager.storeRequestPaused(networkRequestId, event);
+        }
     }
-    else {
-        __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").storeRequestPaused(networkRequestId, event);
+    #patchRequestEventHeaders(requestWillBeSentEvent, requestPausedEvent) {
+        requestWillBeSentEvent.request.headers = {
+            ...requestWillBeSentEvent.request.headers,
+            // includes extra headers, like: Accept, Origin
+            ...requestPausedEvent.request.headers,
+        };
     }
-}, _NetworkManager_patchRequestEventHeaders = function _NetworkManager_patchRequestEventHeaders(requestWillBeSentEvent, requestPausedEvent) {
-    requestWillBeSentEvent.request.headers = {
-        ...requestWillBeSentEvent.request.headers,
-        // includes extra headers, like: Accept, Origin
-        ...requestPausedEvent.request.headers,
-    };
-}, _NetworkManager_onRequestWithoutNetworkInstrumentation = function _NetworkManager_onRequestWithoutNetworkInstrumentation(event) {
-    // If an event has no networkId it should not have any network events. We
-    // still want to dispatch it for the interception by the user.
-    const frame = event.frameId
-        ? __classPrivateFieldGet(this, _NetworkManager_frameManager, "f").frame(event.frameId)
-        : null;
-    const request = new HTTPRequest_js_1.HTTPRequest(__classPrivateFieldGet(this, _NetworkManager_client, "f"), frame, event.requestId, __classPrivateFieldGet(this, _NetworkManager_userRequestInterceptionEnabled, "f"), event, []);
-    this.emit(exports.NetworkManagerEmittedEvents.Request, request);
-    void request.finalizeInterceptions();
-}, _NetworkManager_onRequest = function _NetworkManager_onRequest(event, fetchRequestId) {
-    let redirectChain = [];
-    if (event.redirectResponse) {
-        // We want to emit a response and requestfinished for the
-        // redirectResponse, but we can't do so unless we have a
-        // responseExtraInfo ready to pair it up with. If we don't have any
-        // responseExtraInfos saved in our queue, they we have to wait until
-        // the next one to emit response and requestfinished, *and* we should
-        // also wait to emit this Request too because it should come after the
-        // response/requestfinished.
-        let redirectResponseExtraInfo = null;
-        if (event.redirectHasExtraInfo) {
-            redirectResponseExtraInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f")
+    #onRequestWithoutNetworkInstrumentation(event) {
+        // If an event has no networkId it should not have any network events. We
+        // still want to dispatch it for the interception by the user.
+        const frame = event.frameId
+            ? this.#frameManager.frame(event.frameId)
+            : null;
+        const request = new HTTPRequest_js_1.HTTPRequest(this.#client, frame, event.requestId, this.#userRequestInterceptionEnabled, event, []);
+        this.emit(exports.NetworkManagerEmittedEvents.Request, request);
+        void request.finalizeInterceptions();
+    }
+    #onRequest(event, fetchRequestId) {
+        let redirectChain = [];
+        if (event.redirectResponse) {
+            // We want to emit a response and requestfinished for the
+            // redirectResponse, but we can't do so unless we have a
+            // responseExtraInfo ready to pair it up with. If we don't have any
+            // responseExtraInfos saved in our queue, they we have to wait until
+            // the next one to emit response and requestfinished, *and* we should
+            // also wait to emit this Request too because it should come after the
+            // response/requestfinished.
+            let redirectResponseExtraInfo = null;
+            if (event.redirectHasExtraInfo) {
+                redirectResponseExtraInfo = this.#networkEventManager
+                    .responseExtraInfo(event.requestId)
+                    .shift();
+                if (!redirectResponseExtraInfo) {
+                    this.#networkEventManager.queueRedirectInfo(event.requestId, {
+                        event,
+                        fetchRequestId,
+                    });
+                    return;
+                }
+            }
+            const request = this.#networkEventManager.getRequest(event.requestId);
+            // If we connect late to the target, we could have missed the
+            // requestWillBeSent event.
+            if (request) {
+                this.#handleRequestRedirect(request, event.redirectResponse, redirectResponseExtraInfo);
+                redirectChain = request._redirectChain;
+            }
+        }
+        const frame = event.frameId
+            ? this.#frameManager.frame(event.frameId)
+            : null;
+        const request = new HTTPRequest_js_1.HTTPRequest(this.#client, frame, fetchRequestId, this.#userRequestInterceptionEnabled, event, redirectChain);
+        this.#networkEventManager.storeRequest(event.requestId, request);
+        this.emit(exports.NetworkManagerEmittedEvents.Request, request);
+        void request.finalizeInterceptions();
+    }
+    #onRequestServedFromCache(event) {
+        const request = this.#networkEventManager.getRequest(event.requestId);
+        if (request) {
+            request._fromMemoryCache = true;
+        }
+        this.emit(exports.NetworkManagerEmittedEvents.RequestServedFromCache, request);
+    }
+    #handleRequestRedirect(request, responsePayload, extraInfo) {
+        const response = new HTTPResponse_js_1.HTTPResponse(this.#client, request, responsePayload, extraInfo);
+        request._response = response;
+        request._redirectChain.push(request);
+        response._resolveBody(new Error('Response body is unavailable for redirect responses'));
+        this.#forgetRequest(request, false);
+        this.emit(exports.NetworkManagerEmittedEvents.Response, response);
+        this.emit(exports.NetworkManagerEmittedEvents.RequestFinished, request);
+    }
+    #emitResponseEvent(responseReceived, extraInfo) {
+        const request = this.#networkEventManager.getRequest(responseReceived.requestId);
+        // FileUpload sends a response without a matching request.
+        if (!request) {
+            return;
+        }
+        const extraInfos = this.#networkEventManager.responseExtraInfo(responseReceived.requestId);
+        if (extraInfos.length) {
+            (0, util_js_1.debugError)(new Error('Unexpected extraInfo events for request ' +
+                responseReceived.requestId));
+        }
+        // Chromium sends wrong extraInfo events for responses served from cache.
+        // See https://github.com/puppeteer/puppeteer/issues/9965 and
+        // https://crbug.com/1340398.
+        if (responseReceived.response.fromDiskCache) {
+            extraInfo = null;
+        }
+        const response = new HTTPResponse_js_1.HTTPResponse(this.#client, request, responseReceived.response, extraInfo);
+        request._response = response;
+        this.emit(exports.NetworkManagerEmittedEvents.Response, response);
+    }
+    #onResponseReceived(event) {
+        const request = this.#networkEventManager.getRequest(event.requestId);
+        let extraInfo = null;
+        if (request && !request._fromMemoryCache && event.hasExtraInfo) {
+            extraInfo = this.#networkEventManager
                 .responseExtraInfo(event.requestId)
                 .shift();
-            if (!redirectResponseExtraInfo) {
-                __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").queueRedirectInfo(event.requestId, {
-                    event,
-                    fetchRequestId,
+            if (!extraInfo) {
+                // Wait until we get the corresponding ExtraInfo event.
+                this.#networkEventManager.queueEventGroup(event.requestId, {
+                    responseReceivedEvent: event,
                 });
                 return;
             }
         }
-        const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
-        // If we connect late to the target, we could have missed the
-        // requestWillBeSent event.
-        if (request) {
-            __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_handleRequestRedirect).call(this, request, event.redirectResponse, redirectResponseExtraInfo);
-            redirectChain = request._redirectChain;
-        }
+        this.#emitResponseEvent(event, extraInfo);
     }
-    const frame = event.frameId
-        ? __classPrivateFieldGet(this, _NetworkManager_frameManager, "f").frame(event.frameId)
-        : null;
-    const request = new HTTPRequest_js_1.HTTPRequest(__classPrivateFieldGet(this, _NetworkManager_client, "f"), frame, fetchRequestId, __classPrivateFieldGet(this, _NetworkManager_userRequestInterceptionEnabled, "f"), event, redirectChain);
-    __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").storeRequest(event.requestId, request);
-    this.emit(exports.NetworkManagerEmittedEvents.Request, request);
-    void request.finalizeInterceptions();
-}, _NetworkManager_onRequestServedFromCache = function _NetworkManager_onRequestServedFromCache(event) {
-    const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
-    if (request) {
-        request._fromMemoryCache = true;
-    }
-    this.emit(exports.NetworkManagerEmittedEvents.RequestServedFromCache, request);
-}, _NetworkManager_handleRequestRedirect = function _NetworkManager_handleRequestRedirect(request, responsePayload, extraInfo) {
-    const response = new HTTPResponse_js_1.HTTPResponse(__classPrivateFieldGet(this, _NetworkManager_client, "f"), request, responsePayload, extraInfo);
-    request._response = response;
-    request._redirectChain.push(request);
-    response._resolveBody(new Error('Response body is unavailable for redirect responses'));
-    __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, false);
-    this.emit(exports.NetworkManagerEmittedEvents.Response, response);
-    this.emit(exports.NetworkManagerEmittedEvents.RequestFinished, request);
-}, _NetworkManager_emitResponseEvent = function _NetworkManager_emitResponseEvent(responseReceived, extraInfo) {
-    const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(responseReceived.requestId);
-    // FileUpload sends a response without a matching request.
-    if (!request) {
-        return;
-    }
-    const extraInfos = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").responseExtraInfo(responseReceived.requestId);
-    if (extraInfos.length) {
-        (0, util_js_1.debugError)(new Error('Unexpected extraInfo events for request ' +
-            responseReceived.requestId));
-    }
-    // Chromium sends wrong extraInfo events for responses served from cache.
-    // See https://github.com/puppeteer/puppeteer/issues/9965 and
-    // https://crbug.com/1340398.
-    if (responseReceived.response.fromDiskCache) {
-        extraInfo = null;
-    }
-    const response = new HTTPResponse_js_1.HTTPResponse(__classPrivateFieldGet(this, _NetworkManager_client, "f"), request, responseReceived.response, extraInfo);
-    request._response = response;
-    this.emit(exports.NetworkManagerEmittedEvents.Response, response);
-}, _NetworkManager_onResponseReceived = function _NetworkManager_onResponseReceived(event) {
-    const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
-    let extraInfo = null;
-    if (request && !request._fromMemoryCache && event.hasExtraInfo) {
-        extraInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f")
-            .responseExtraInfo(event.requestId)
-            .shift();
-        if (!extraInfo) {
-            // Wait until we get the corresponding ExtraInfo event.
-            __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").queueEventGroup(event.requestId, {
-                responseReceivedEvent: event,
-            });
+    #onResponseReceivedExtraInfo(event) {
+        // We may have skipped a redirect response/request pair due to waiting for
+        // this ExtraInfo event. If so, continue that work now that we have the
+        // request.
+        const redirectInfo = this.#networkEventManager.takeQueuedRedirectInfo(event.requestId);
+        if (redirectInfo) {
+            this.#networkEventManager.responseExtraInfo(event.requestId).push(event);
+            this.#onRequest(redirectInfo.event, redirectInfo.fetchRequestId);
             return;
         }
-    }
-    __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitResponseEvent).call(this, event, extraInfo);
-}, _NetworkManager_onResponseReceivedExtraInfo = function _NetworkManager_onResponseReceivedExtraInfo(event) {
-    // We may have skipped a redirect response/request pair due to waiting for
-    // this ExtraInfo event. If so, continue that work now that we have the
-    // request.
-    const redirectInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").takeQueuedRedirectInfo(event.requestId);
-    if (redirectInfo) {
-        __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").responseExtraInfo(event.requestId).push(event);
-        __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, redirectInfo.event, redirectInfo.fetchRequestId);
-        return;
-    }
-    // We may have skipped response and loading events because we didn't have
-    // this ExtraInfo event yet. If so, emit those events now.
-    const queuedEvents = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getQueuedEventGroup(event.requestId);
-    if (queuedEvents) {
-        __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetQueuedEventGroup(event.requestId);
-        __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitResponseEvent).call(this, queuedEvents.responseReceivedEvent, event);
-        if (queuedEvents.loadingFinishedEvent) {
-            __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFinished).call(this, queuedEvents.loadingFinishedEvent);
+        // We may have skipped response and loading events because we didn't have
+        // this ExtraInfo event yet. If so, emit those events now.
+        const queuedEvents = this.#networkEventManager.getQueuedEventGroup(event.requestId);
+        if (queuedEvents) {
+            this.#networkEventManager.forgetQueuedEventGroup(event.requestId);
+            this.#emitResponseEvent(queuedEvents.responseReceivedEvent, event);
+            if (queuedEvents.loadingFinishedEvent) {
+                this.#emitLoadingFinished(queuedEvents.loadingFinishedEvent);
+            }
+            if (queuedEvents.loadingFailedEvent) {
+                this.#emitLoadingFailed(queuedEvents.loadingFailedEvent);
+            }
+            return;
         }
-        if (queuedEvents.loadingFailedEvent) {
-            __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFailed).call(this, queuedEvents.loadingFailedEvent);
+        // Wait until we get another event that can use this ExtraInfo event.
+        this.#networkEventManager.responseExtraInfo(event.requestId).push(event);
+    }
+    #forgetRequest(request, events) {
+        const requestId = request._requestId;
+        const interceptionId = request._interceptionId;
+        this.#networkEventManager.forgetRequest(requestId);
+        interceptionId !== undefined &&
+            this.#attemptedAuthentications.delete(interceptionId);
+        if (events) {
+            this.#networkEventManager.forget(requestId);
         }
-        return;
     }
-    // Wait until we get another event that can use this ExtraInfo event.
-    __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").responseExtraInfo(event.requestId).push(event);
-}, _NetworkManager_forgetRequest = function _NetworkManager_forgetRequest(request, events) {
-    const requestId = request._requestId;
-    const interceptionId = request._interceptionId;
-    __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetRequest(requestId);
-    interceptionId !== undefined &&
-        __classPrivateFieldGet(this, _NetworkManager_attemptedAuthentications, "f").delete(interceptionId);
-    if (events) {
-        __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forget(requestId);
+    #onLoadingFinished(event) {
+        // If the response event for this request is still waiting on a
+        // corresponding ExtraInfo event, then wait to emit this event too.
+        const queuedEvents = this.#networkEventManager.getQueuedEventGroup(event.requestId);
+        if (queuedEvents) {
+            queuedEvents.loadingFinishedEvent = event;
+        }
+        else {
+            this.#emitLoadingFinished(event);
+        }
     }
-}, _NetworkManager_onLoadingFinished = function _NetworkManager_onLoadingFinished(event) {
-    // If the response event for this request is still waiting on a
-    // corresponding ExtraInfo event, then wait to emit this event too.
-    const queuedEvents = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getQueuedEventGroup(event.requestId);
-    if (queuedEvents) {
-        queuedEvents.loadingFinishedEvent = event;
+    #emitLoadingFinished(event) {
+        const request = this.#networkEventManager.getRequest(event.requestId);
+        // For certain requestIds we never receive requestWillBeSent event.
+        // @see https://crbug.com/750469
+        if (!request) {
+            return;
+        }
+        // Under certain conditions we never get the Network.responseReceived
+        // event from protocol. @see https://crbug.com/883475
+        if (request.response()) {
+            request.response()?._resolveBody(null);
+        }
+        this.#forgetRequest(request, true);
+        this.emit(exports.NetworkManagerEmittedEvents.RequestFinished, request);
     }
-    else {
-        __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFinished).call(this, event);
+    #onLoadingFailed(event) {
+        // If the response event for this request is still waiting on a
+        // corresponding ExtraInfo event, then wait to emit this event too.
+        const queuedEvents = this.#networkEventManager.getQueuedEventGroup(event.requestId);
+        if (queuedEvents) {
+            queuedEvents.loadingFailedEvent = event;
+        }
+        else {
+            this.#emitLoadingFailed(event);
+        }
     }
-}, _NetworkManager_emitLoadingFinished = function _NetworkManager_emitLoadingFinished(event) {
-    const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
-    // For certain requestIds we never receive requestWillBeSent event.
-    // @see https://crbug.com/750469
-    if (!request) {
-        return;
+    #emitLoadingFailed(event) {
+        const request = this.#networkEventManager.getRequest(event.requestId);
+        // For certain requestIds we never receive requestWillBeSent event.
+        // @see https://crbug.com/750469
+        if (!request) {
+            return;
+        }
+        request._failureText = event.errorText;
+        const response = request.response();
+        if (response) {
+            response._resolveBody(null);
+        }
+        this.#forgetRequest(request, true);
+        this.emit(exports.NetworkManagerEmittedEvents.RequestFailed, request);
     }
-    // Under certain conditions we never get the Network.responseReceived
-    // event from protocol. @see https://crbug.com/883475
-    if (request.response()) {
-        request.response()?._resolveBody(null);
-    }
-    __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
-    this.emit(exports.NetworkManagerEmittedEvents.RequestFinished, request);
-}, _NetworkManager_onLoadingFailed = function _NetworkManager_onLoadingFailed(event) {
-    // If the response event for this request is still waiting on a
-    // corresponding ExtraInfo event, then wait to emit this event too.
-    const queuedEvents = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getQueuedEventGroup(event.requestId);
-    if (queuedEvents) {
-        queuedEvents.loadingFailedEvent = event;
-    }
-    else {
-        __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFailed).call(this, event);
-    }
-}, _NetworkManager_emitLoadingFailed = function _NetworkManager_emitLoadingFailed(event) {
-    const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
-    // For certain requestIds we never receive requestWillBeSent event.
-    // @see https://crbug.com/750469
-    if (!request) {
-        return;
-    }
-    request._failureText = event.errorText;
-    const response = request.response();
-    if (response) {
-        response._resolveBody(null);
-    }
-    __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
-    this.emit(exports.NetworkManagerEmittedEvents.RequestFailed, request);
-};
+}
+exports.NetworkManager = NetworkManager;
 //# sourceMappingURL=NetworkManager.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js.map
index 3f667aa..803a430 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"NetworkManager.js","sourceRoot":"","sources":["../../../../src/common/NetworkManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"NetworkManager.js","sourceRoot":"","sources":["../../../../src/common/NetworkManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NodeWebSocketTransport.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NodeWebSocketTransport.js
index 50c1595..68913a6 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NodeWebSocketTransport.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NodeWebSocketTransport.js
@@ -1,19 +1,7 @@
 "use strict";
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
 var __importDefault = (this && this.__importDefault) || function (mod) {
     return (mod && mod.__esModule) ? mod : { "default": mod };
 };
-var _NodeWebSocketTransport_ws;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.NodeWebSocketTransport = void 0;
 /**
@@ -54,29 +42,30 @@
             ws.addEventListener('error', reject);
         });
     }
+    #ws;
+    onmessage;
+    onclose;
     constructor(ws) {
-        _NodeWebSocketTransport_ws.set(this, void 0);
-        __classPrivateFieldSet(this, _NodeWebSocketTransport_ws, ws, "f");
-        __classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").addEventListener('message', event => {
+        this.#ws = ws;
+        this.#ws.addEventListener('message', event => {
             if (this.onmessage) {
                 this.onmessage.call(null, event.data);
             }
         });
-        __classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").addEventListener('close', () => {
+        this.#ws.addEventListener('close', () => {
             if (this.onclose) {
                 this.onclose.call(null);
             }
         });
         // Silently ignore all errors - we don't know what to do with them.
-        __classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").addEventListener('error', () => { });
+        this.#ws.addEventListener('error', () => { });
     }
     send(message) {
-        __classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").send(message);
+        this.#ws.send(message);
     }
     close() {
-        __classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").close();
+        this.#ws.close();
     }
 }
 exports.NodeWebSocketTransport = NodeWebSocketTransport;
-_NodeWebSocketTransport_ws = new WeakMap();
 //# sourceMappingURL=NodeWebSocketTransport.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NodeWebSocketTransport.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NodeWebSocketTransport.js.map
index 1fa7a68..b3aa8b9 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NodeWebSocketTransport.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NodeWebSocketTransport.js.map
@@ -1 +1 @@
-{"version":3,"file":"NodeWebSocketTransport.js","sourceRoot":"","sources":["../../../../src/common/NodeWebSocketTransport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,4CAA+B;AAG/B,wDAAuD;AAEvD;;GAEG;AACH,MAAa,sBAAsB;IACjC,MAAM,CAAC,MAAM,CACX,GAAW,EACX,OAAgC;QAEhC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,EAAE,GAAG,IAAI,YAAa,CAAC,GAAG,EAAE,EAAE,EAAE;gBACpC,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,KAAK;gBACxB,UAAU,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;gBAC7B,OAAO,EAAE;oBACP,YAAY,EAAE,aAAa,2BAAc,EAAE;oBAC3C,GAAG,OAAO;iBACX;aACF,CAAC,CAAC;YAEH,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC/B,OAAO,OAAO,CAAC,IAAI,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAMD,YAAY,EAAiB;QAJ7B,6CAAmB;QAKjB,uBAAA,IAAI,8BAAO,EAAE,MAAA,CAAC;QACd,uBAAA,IAAI,kCAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YAC3C,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;QACH,uBAAA,IAAI,kCAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACtC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,mEAAmE;QACnE,uBAAA,IAAI,kCAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,uBAAA,IAAI,kCAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACH,uBAAA,IAAI,kCAAI,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF;AAlDD,wDAkDC"}
\ No newline at end of file
+{"version":3,"file":"NodeWebSocketTransport.js","sourceRoot":"","sources":["../../../../src/common/NodeWebSocketTransport.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,4CAA+B;AAG/B,wDAAuD;AAEvD;;GAEG;AACH,MAAa,sBAAsB;IACjC,MAAM,CAAC,MAAM,CACX,GAAW,EACX,OAAgC;QAEhC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,EAAE,GAAG,IAAI,YAAa,CAAC,GAAG,EAAE,EAAE,EAAE;gBACpC,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,KAAK;gBACxB,UAAU,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;gBAC7B,OAAO,EAAE;oBACP,YAAY,EAAE,aAAa,2BAAc,EAAE;oBAC3C,GAAG,OAAO;iBACX;aACF,CAAC,CAAC;YAEH,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC/B,OAAO,OAAO,CAAC,IAAI,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAgB;IACnB,SAAS,CAAyC;IAClD,OAAO,CAAc;IAErB,YAAY,EAAiB;QAC3B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YAC3C,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACtC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,mEAAmE;QACnE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF;AAlDD,wDAkDC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PQueryHandler.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PQueryHandler.js
index ee8515a..9f3df1f 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PQueryHandler.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PQueryHandler.js
@@ -21,12 +21,12 @@
  * @internal
  */
 class PQueryHandler extends QueryHandler_js_1.QueryHandler {
+    static querySelectorAll = (element, selector, { pQuerySelectorAll }) => {
+        return pQuerySelectorAll(element, selector);
+    };
+    static querySelector = (element, selector, { pQuerySelector }) => {
+        return pQuerySelector(element, selector);
+    };
 }
 exports.PQueryHandler = PQueryHandler;
-PQueryHandler.querySelectorAll = (element, selector, { pQuerySelectorAll }) => {
-    return pQuerySelectorAll(element, selector);
-};
-PQueryHandler.querySelector = (element, selector, { pQuerySelector }) => {
-    return pQuerySelector(element, selector);
-};
 //# sourceMappingURL=PQueryHandler.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PQueryHandler.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PQueryHandler.js.map
index 6bde83c..2edf541 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PQueryHandler.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PQueryHandler.js.map
@@ -1 +1 @@
-{"version":3,"file":"PQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/PQueryHandler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,uDAAgF;AAEhF;;GAEG;AACH,MAAa,aAAc,SAAQ,8BAAY;;AAA/C,sCAeC;AAdiB,8BAAgB,GAAqB,CACnD,OAAO,EACP,QAAQ,EACR,EAAC,iBAAiB,EAAC,EACnB,EAAE;IACF,OAAO,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC,CAAC;AACc,2BAAa,GAAkB,CAC7C,OAAO,EACP,QAAQ,EACR,EAAC,cAAc,EAAC,EAChB,EAAE;IACF,OAAO,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC,CAAC"}
\ No newline at end of file
+{"version":3,"file":"PQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/PQueryHandler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,uDAAgF;AAEhF;;GAEG;AACH,MAAa,aAAc,SAAQ,8BAAY;IAC7C,MAAM,CAAU,gBAAgB,GAAqB,CACnD,OAAO,EACP,QAAQ,EACR,EAAC,iBAAiB,EAAC,EACnB,EAAE;QACF,OAAO,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC;IACF,MAAM,CAAU,aAAa,GAAkB,CAC7C,OAAO,EACP,QAAQ,EACR,EAAC,cAAc,EAAC,EAChB,EAAE;QACF,OAAO,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC,CAAC;;AAdJ,sCAeC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.d.ts
index c678317..ce6aee4 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.d.ts
@@ -19,8 +19,7 @@
 import { Protocol } from 'devtools-protocol';
 import type { Browser } from '../api/Browser.js';
 import type { BrowserContext } from '../api/BrowserContext.js';
-import { ElementHandle } from '../api/ElementHandle.js';
-import { Frame, FrameAddScriptTagOptions, FrameAddStyleTagOptions } from '../api/Frame.js';
+import { Frame } from '../api/Frame.js';
 import { HTTPRequest } from '../api/HTTPRequest.js';
 import { HTTPResponse } from '../api/HTTPResponse.js';
 import { JSHandle } from '../api/JSHandle.js';
@@ -31,11 +30,10 @@
 import { DeviceRequestPrompt } from './DeviceRequestPrompt.js';
 import { FileChooser } from './FileChooser.js';
 import { CDPKeyboard, CDPMouse, CDPTouchscreen } from './Input.js';
-import { WaitForSelectorOptions } from './IsolatedWorld.js';
 import { Credentials, NetworkConditions } from './NetworkManager.js';
 import { PDFOptions } from './PDFOptions.js';
 import { Viewport } from './PuppeteerViewport.js';
-import { Target } from './Target.js';
+import { CDPTarget } from './Target.js';
 import { TaskQueue } from './TaskQueue.js';
 import { Tracing } from './Tracing.js';
 import { EvaluateFunc, HandleFor } from './types.js';
@@ -48,11 +46,11 @@
     /**
      * @internal
      */
-    static _create(client: CDPSession, target: Target, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue): Promise<CDPPage>;
+    static _create(client: CDPSession, target: CDPTarget, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue): Promise<CDPPage>;
     /**
      * @internal
      */
-    constructor(client: CDPSession, target: Target, ignoreHTTPSErrors: boolean, screenshotTaskQueue: TaskQueue);
+    constructor(client: CDPSession, target: CDPTarget, ignoreHTTPSErrors: boolean, screenshotTaskQueue: TaskQueue);
     /**
      * @internal
      */
@@ -62,7 +60,7 @@
     isJavaScriptEnabled(): boolean;
     waitForFileChooser(options?: WaitTimeoutOptions): Promise<FileChooser>;
     setGeolocation(options: GeolocationOptions): Promise<void>;
-    target(): Target;
+    target(): CDPTarget;
     browser(): Browser;
     browserContext(): BrowserContext;
     mainFrame(): Frame;
@@ -86,9 +84,6 @@
     cookies(...urls: string[]): Promise<Protocol.Network.Cookie[]>;
     deleteCookie(...cookies: Protocol.Network.DeleteCookiesRequest[]): Promise<void>;
     setCookie(...cookies: Protocol.Network.CookieParam[]): Promise<void>;
-    addScriptTag(options: FrameAddScriptTagOptions): Promise<ElementHandle<HTMLScriptElement>>;
-    addStyleTag(options: Omit<FrameAddStyleTagOptions, 'url'>): Promise<ElementHandle<HTMLStyleElement>>;
-    addStyleTag(options: FrameAddStyleTagOptions): Promise<ElementHandle<HTMLLinkElement>>;
     exposeFunction(name: string, pptrFunction: Function | {
         default: Function;
     }): Promise<void>;
@@ -105,6 +100,7 @@
         referrerPolicy?: string;
     }): Promise<HTTPResponse | null>;
     reload(options?: WaitForOptions): Promise<HTTPResponse | null>;
+    createCDPSession(): Promise<CDPSession>;
     waitForRequest(urlOrPredicate: string | ((req: HTTPRequest) => boolean | Promise<boolean>), options?: {
         timeout?: number;
     }): Promise<HTTPRequest>;
@@ -152,7 +148,6 @@
     }): Promise<void>;
     isClosed(): boolean;
     get mouse(): CDPMouse;
-    waitForXPath(xpath: string, options?: WaitForSelectorOptions): Promise<ElementHandle<Node> | null>;
     /**
      * This method is typically coupled with an action that triggers a device
      * request from an api such as WebBluetooth.
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.d.ts.map
index 03f06cb..45cc490 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../src/common/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../src/common/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js
index 91838ce..a475167 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _CDPPage_instances, _CDPPage_closed, _CDPPage_client, _CDPPage_target, _CDPPage_keyboard, _CDPPage_mouse, _CDPPage_timeoutSettings, _CDPPage_touchscreen, _CDPPage_accessibility, _CDPPage_frameManager, _CDPPage_emulationManager, _CDPPage_tracing, _CDPPage_bindings, _CDPPage_exposedFunctions, _CDPPage_coverage, _CDPPage_viewport, _CDPPage_screenshotTaskQueue, _CDPPage_workers, _CDPPage_fileChooserDeferreds, _CDPPage_sessionCloseDeferred, _CDPPage_serviceWorkerBypassed, _CDPPage_userDragInterceptionEnabled, _CDPPage_onDetachedFromTarget, _CDPPage_onAttachedToTarget, _CDPPage_initialize, _CDPPage_onFileChooser, _CDPPage_onTargetCrashed, _CDPPage_onLogEntryAdded, _CDPPage_emitMetrics, _CDPPage_buildMetricsObject, _CDPPage_handleException, _CDPPage_onConsoleAPI, _CDPPage_onBindingCalled, _CDPPage_addConsoleMessage, _CDPPage_onDialog, _CDPPage_go, _CDPPage_screenshotTask;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.CDPPage = void 0;
 const Page_js_1 = require("../api/Page.js");
@@ -58,7 +46,7 @@
      */
     static async _create(client, target, ignoreHTTPSErrors, defaultViewport, screenshotTaskQueue) {
         const page = new CDPPage(client, target, ignoreHTTPSErrors, screenshotTaskQueue);
-        await __classPrivateFieldGet(page, _CDPPage_instances, "m", _CDPPage_initialize).call(page);
+        await page.#initialize();
         if (defaultViewport) {
             try {
                 await page.setViewport(defaultViewport);
@@ -74,85 +62,60 @@
         }
         return page;
     }
+    #closed = false;
+    #client;
+    #target;
+    #keyboard;
+    #mouse;
+    #timeoutSettings = new TimeoutSettings_js_1.TimeoutSettings();
+    #touchscreen;
+    #accessibility;
+    #frameManager;
+    #emulationManager;
+    #tracing;
+    #bindings = new Map();
+    #exposedFunctions = new Map();
+    #coverage;
+    #viewport;
+    #screenshotTaskQueue;
+    #workers = new Map();
+    #fileChooserDeferreds = new Set();
+    #sessionCloseDeferred = Deferred_js_1.Deferred.create();
+    #serviceWorkerBypassed = false;
+    #userDragInterceptionEnabled = false;
     /**
      * @internal
      */
     constructor(client, target, ignoreHTTPSErrors, screenshotTaskQueue) {
         super();
-        _CDPPage_instances.add(this);
-        _CDPPage_closed.set(this, false);
-        _CDPPage_client.set(this, void 0);
-        _CDPPage_target.set(this, void 0);
-        _CDPPage_keyboard.set(this, void 0);
-        _CDPPage_mouse.set(this, void 0);
-        _CDPPage_timeoutSettings.set(this, new TimeoutSettings_js_1.TimeoutSettings());
-        _CDPPage_touchscreen.set(this, void 0);
-        _CDPPage_accessibility.set(this, void 0);
-        _CDPPage_frameManager.set(this, void 0);
-        _CDPPage_emulationManager.set(this, void 0);
-        _CDPPage_tracing.set(this, void 0);
-        _CDPPage_bindings.set(this, new Map());
-        _CDPPage_exposedFunctions.set(this, new Map());
-        _CDPPage_coverage.set(this, void 0);
-        _CDPPage_viewport.set(this, void 0);
-        _CDPPage_screenshotTaskQueue.set(this, void 0);
-        _CDPPage_workers.set(this, new Map());
-        _CDPPage_fileChooserDeferreds.set(this, new Set());
-        _CDPPage_sessionCloseDeferred.set(this, Deferred_js_1.Deferred.create());
-        _CDPPage_serviceWorkerBypassed.set(this, false);
-        _CDPPage_userDragInterceptionEnabled.set(this, false);
-        _CDPPage_onDetachedFromTarget.set(this, (target) => {
-            const sessionId = target._session()?.id();
-            const worker = __classPrivateFieldGet(this, _CDPPage_workers, "f").get(sessionId);
-            if (!worker) {
-                return;
-            }
-            __classPrivateFieldGet(this, _CDPPage_workers, "f").delete(sessionId);
-            this.emit("workerdestroyed" /* PageEmittedEvents.WorkerDestroyed */, worker);
-        });
-        _CDPPage_onAttachedToTarget.set(this, (createdTarget) => {
-            __classPrivateFieldGet(this, _CDPPage_frameManager, "f").onAttachedToTarget(createdTarget);
-            if (createdTarget._getTargetInfo().type === 'worker') {
-                const session = createdTarget._session();
-                (0, assert_js_1.assert)(session);
-                const worker = new WebWorker_js_1.WebWorker(session, createdTarget.url(), __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_addConsoleMessage).bind(this), __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_handleException).bind(this));
-                __classPrivateFieldGet(this, _CDPPage_workers, "f").set(session.id(), worker);
-                this.emit("workercreated" /* PageEmittedEvents.WorkerCreated */, worker);
-            }
-            if (createdTarget._session()) {
-                __classPrivateFieldGet(this, _CDPPage_target, "f")
-                    ._targetManager()
-                    .addTargetInterceptor(createdTarget._session(), __classPrivateFieldGet(this, _CDPPage_onAttachedToTarget, "f"));
-            }
-        });
-        __classPrivateFieldSet(this, _CDPPage_client, client, "f");
-        __classPrivateFieldSet(this, _CDPPage_target, target, "f");
-        __classPrivateFieldSet(this, _CDPPage_keyboard, new Input_js_1.CDPKeyboard(client), "f");
-        __classPrivateFieldSet(this, _CDPPage_mouse, new Input_js_1.CDPMouse(client, __classPrivateFieldGet(this, _CDPPage_keyboard, "f")), "f");
-        __classPrivateFieldSet(this, _CDPPage_touchscreen, new Input_js_1.CDPTouchscreen(client, __classPrivateFieldGet(this, _CDPPage_keyboard, "f")), "f");
-        __classPrivateFieldSet(this, _CDPPage_accessibility, new Accessibility_js_1.Accessibility(client), "f");
-        __classPrivateFieldSet(this, _CDPPage_frameManager, new FrameManager_js_1.FrameManager(client, this, ignoreHTTPSErrors, __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f")), "f");
-        __classPrivateFieldSet(this, _CDPPage_emulationManager, new EmulationManager_js_1.EmulationManager(client), "f");
-        __classPrivateFieldSet(this, _CDPPage_tracing, new Tracing_js_1.Tracing(client), "f");
-        __classPrivateFieldSet(this, _CDPPage_coverage, new Coverage_js_1.Coverage(client), "f");
-        __classPrivateFieldSet(this, _CDPPage_screenshotTaskQueue, screenshotTaskQueue, "f");
-        __classPrivateFieldSet(this, _CDPPage_viewport, null, "f");
-        __classPrivateFieldGet(this, _CDPPage_target, "f")
+        this.#client = client;
+        this.#target = target;
+        this.#keyboard = new Input_js_1.CDPKeyboard(client);
+        this.#mouse = new Input_js_1.CDPMouse(client, this.#keyboard);
+        this.#touchscreen = new Input_js_1.CDPTouchscreen(client, this.#keyboard);
+        this.#accessibility = new Accessibility_js_1.Accessibility(client);
+        this.#frameManager = new FrameManager_js_1.FrameManager(client, this, ignoreHTTPSErrors, this.#timeoutSettings);
+        this.#emulationManager = new EmulationManager_js_1.EmulationManager(client);
+        this.#tracing = new Tracing_js_1.Tracing(client);
+        this.#coverage = new Coverage_js_1.Coverage(client);
+        this.#screenshotTaskQueue = screenshotTaskQueue;
+        this.#viewport = null;
+        this.#target
             ._targetManager()
-            .addTargetInterceptor(__classPrivateFieldGet(this, _CDPPage_client, "f"), __classPrivateFieldGet(this, _CDPPage_onAttachedToTarget, "f"));
-        __classPrivateFieldGet(this, _CDPPage_target, "f")
+            .addTargetInterceptor(this.#client, this.#onAttachedToTarget);
+        this.#target
             ._targetManager()
-            .on("targetGone" /* TargetManagerEmittedEvents.TargetGone */, __classPrivateFieldGet(this, _CDPPage_onDetachedFromTarget, "f"));
-        __classPrivateFieldGet(this, _CDPPage_frameManager, "f").on(FrameManager_js_1.FrameManagerEmittedEvents.FrameAttached, event => {
+            .on("targetGone" /* TargetManagerEmittedEvents.TargetGone */, this.#onDetachedFromTarget);
+        this.#frameManager.on(FrameManager_js_1.FrameManagerEmittedEvents.FrameAttached, event => {
             return this.emit("frameattached" /* PageEmittedEvents.FrameAttached */, event);
         });
-        __classPrivateFieldGet(this, _CDPPage_frameManager, "f").on(FrameManager_js_1.FrameManagerEmittedEvents.FrameDetached, event => {
+        this.#frameManager.on(FrameManager_js_1.FrameManagerEmittedEvents.FrameDetached, event => {
             return this.emit("framedetached" /* PageEmittedEvents.FrameDetached */, event);
         });
-        __classPrivateFieldGet(this, _CDPPage_frameManager, "f").on(FrameManager_js_1.FrameManagerEmittedEvents.FrameNavigated, event => {
+        this.#frameManager.on(FrameManager_js_1.FrameManagerEmittedEvents.FrameNavigated, event => {
             return this.emit("framenavigated" /* PageEmittedEvents.FrameNavigated */, event);
         });
-        const networkManager = __classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager;
+        const networkManager = this.#frameManager.networkManager;
         networkManager.on(NetworkManager_js_1.NetworkManagerEmittedEvents.Request, event => {
             return this.emit("request" /* PageEmittedEvents.Request */, event);
         });
@@ -169,7 +132,7 @@
             return this.emit("requestfinished" /* PageEmittedEvents.RequestFinished */, event);
         });
         client.once(Connection_js_1.CDPSessionEmittedEvents.Disconnected, () => {
-            return __classPrivateFieldGet(this, _CDPPage_sessionCloseDeferred, "f").resolve(new Errors_js_1.TargetCloseError('Target closed'));
+            return this.#sessionCloseDeferred.resolve(new Errors_js_1.TargetCloseError('Target closed'));
         });
         client.on('Page.domContentEventFired', () => {
             return this.emit("domcontentloaded" /* PageEmittedEvents.DOMContentLoaded */);
@@ -178,69 +141,124 @@
             return this.emit("load" /* PageEmittedEvents.Load */);
         });
         client.on('Runtime.consoleAPICalled', event => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_onConsoleAPI).call(this, event);
+            return this.#onConsoleAPI(event);
         });
         client.on('Runtime.bindingCalled', event => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_onBindingCalled).call(this, event);
+            return this.#onBindingCalled(event);
         });
         client.on('Page.javascriptDialogOpening', event => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_onDialog).call(this, event);
+            return this.#onDialog(event);
         });
         client.on('Runtime.exceptionThrown', exception => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_handleException).call(this, exception.exceptionDetails);
+            return this.#handleException(exception.exceptionDetails);
         });
         client.on('Inspector.targetCrashed', () => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_onTargetCrashed).call(this);
+            return this.#onTargetCrashed();
         });
         client.on('Performance.metrics', event => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_emitMetrics).call(this, event);
+            return this.#emitMetrics(event);
         });
         client.on('Log.entryAdded', event => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_onLogEntryAdded).call(this, event);
+            return this.#onLogEntryAdded(event);
         });
         client.on('Page.fileChooserOpened', event => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_onFileChooser).call(this, event);
+            return this.#onFileChooser(event);
         });
-        __classPrivateFieldGet(this, _CDPPage_target, "f")._isClosedDeferred
+        this.#target._isClosedDeferred
             .valueOrThrow()
             .then(() => {
-            __classPrivateFieldGet(this, _CDPPage_target, "f")
+            this.#target
                 ._targetManager()
-                .removeTargetInterceptor(__classPrivateFieldGet(this, _CDPPage_client, "f"), __classPrivateFieldGet(this, _CDPPage_onAttachedToTarget, "f"));
-            __classPrivateFieldGet(this, _CDPPage_target, "f")
+                .removeTargetInterceptor(this.#client, this.#onAttachedToTarget);
+            this.#target
                 ._targetManager()
-                .off("targetGone" /* TargetManagerEmittedEvents.TargetGone */, __classPrivateFieldGet(this, _CDPPage_onDetachedFromTarget, "f"));
+                .off("targetGone" /* TargetManagerEmittedEvents.TargetGone */, this.#onDetachedFromTarget);
             this.emit("close" /* PageEmittedEvents.Close */);
-            __classPrivateFieldSet(this, _CDPPage_closed, true, "f");
+            this.#closed = true;
         })
             .catch(util_js_1.debugError);
     }
+    #onDetachedFromTarget = (target) => {
+        const sessionId = target._session()?.id();
+        const worker = this.#workers.get(sessionId);
+        if (!worker) {
+            return;
+        }
+        this.#workers.delete(sessionId);
+        this.emit("workerdestroyed" /* PageEmittedEvents.WorkerDestroyed */, worker);
+    };
+    #onAttachedToTarget = (createdTarget) => {
+        this.#frameManager.onAttachedToTarget(createdTarget);
+        if (createdTarget._getTargetInfo().type === 'worker') {
+            const session = createdTarget._session();
+            (0, assert_js_1.assert)(session);
+            const worker = new WebWorker_js_1.WebWorker(session, createdTarget.url(), this.#addConsoleMessage.bind(this), this.#handleException.bind(this));
+            this.#workers.set(session.id(), worker);
+            this.emit("workercreated" /* PageEmittedEvents.WorkerCreated */, worker);
+        }
+        if (createdTarget._session()) {
+            this.#target
+                ._targetManager()
+                .addTargetInterceptor(createdTarget._session(), this.#onAttachedToTarget);
+        }
+    };
+    async #initialize() {
+        try {
+            await Promise.all([
+                this.#frameManager.initialize(),
+                this.#client.send('Performance.enable'),
+                this.#client.send('Log.enable'),
+            ]);
+        }
+        catch (err) {
+            if ((0, ErrorLike_js_1.isErrorLike)(err) && (0, Connection_js_1.isTargetClosedError)(err)) {
+                (0, util_js_1.debugError)(err);
+            }
+            else {
+                throw err;
+            }
+        }
+    }
+    async #onFileChooser(event) {
+        if (!this.#fileChooserDeferreds.size) {
+            return;
+        }
+        const frame = this.#frameManager.frame(event.frameId);
+        (0, assert_js_1.assert)(frame, 'This should never happen.');
+        // This is guaranteed to be an HTMLInputElement handle by the event.
+        const handle = (await frame.worlds[IsolatedWorlds_js_1.MAIN_WORLD].adoptBackendNode(event.backendNodeId));
+        const fileChooser = new FileChooser_js_1.FileChooser(handle, event);
+        for (const promise of this.#fileChooserDeferreds) {
+            promise.resolve(fileChooser);
+        }
+        this.#fileChooserDeferreds.clear();
+    }
     /**
      * @internal
      */
     _client() {
-        return __classPrivateFieldGet(this, _CDPPage_client, "f");
+        return this.#client;
     }
     isServiceWorkerBypassed() {
-        return __classPrivateFieldGet(this, _CDPPage_serviceWorkerBypassed, "f");
+        return this.#serviceWorkerBypassed;
     }
     isDragInterceptionEnabled() {
-        return __classPrivateFieldGet(this, _CDPPage_userDragInterceptionEnabled, "f");
+        return this.#userDragInterceptionEnabled;
     }
     isJavaScriptEnabled() {
-        return __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").javascriptEnabled;
+        return this.#emulationManager.javascriptEnabled;
     }
     waitForFileChooser(options = {}) {
-        const needsEnable = __classPrivateFieldGet(this, _CDPPage_fileChooserDeferreds, "f").size === 0;
-        const { timeout = __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f").timeout() } = options;
+        const needsEnable = this.#fileChooserDeferreds.size === 0;
+        const { timeout = this.#timeoutSettings.timeout() } = options;
         const deferred = Deferred_js_1.Deferred.create({
             message: `Waiting for \`FileChooser\` failed: ${timeout}ms exceeded`,
             timeout,
         });
-        __classPrivateFieldGet(this, _CDPPage_fileChooserDeferreds, "f").add(deferred);
+        this.#fileChooserDeferreds.add(deferred);
         let enablePromise;
         if (needsEnable) {
-            enablePromise = __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.setInterceptFileChooserDialog', {
+            enablePromise = this.#client.send('Page.setInterceptFileChooserDialog', {
                 enabled: true,
             });
         }
@@ -249,71 +267,85 @@
             return result;
         })
             .catch(error => {
-            __classPrivateFieldGet(this, _CDPPage_fileChooserDeferreds, "f").delete(deferred);
+            this.#fileChooserDeferreds.delete(deferred);
             throw error;
         });
     }
     async setGeolocation(options) {
-        return await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").setGeolocation(options);
+        return await this.#emulationManager.setGeolocation(options);
     }
     target() {
-        return __classPrivateFieldGet(this, _CDPPage_target, "f");
+        return this.#target;
     }
     browser() {
-        return __classPrivateFieldGet(this, _CDPPage_target, "f").browser();
+        return this.#target.browser();
     }
     browserContext() {
-        return __classPrivateFieldGet(this, _CDPPage_target, "f").browserContext();
+        return this.#target.browserContext();
+    }
+    #onTargetCrashed() {
+        this.emit('error', new Error('Page crashed!'));
+    }
+    #onLogEntryAdded(event) {
+        const { level, text, args, source, url, lineNumber } = event.entry;
+        if (args) {
+            args.map(arg => {
+                return (0, util_js_1.releaseObject)(this.#client, arg);
+            });
+        }
+        if (source !== 'worker') {
+            this.emit("console" /* PageEmittedEvents.Console */, new ConsoleMessage_js_1.ConsoleMessage(level, text, [], [{ url, lineNumber }]));
+        }
     }
     mainFrame() {
-        return __classPrivateFieldGet(this, _CDPPage_frameManager, "f").mainFrame();
+        return this.#frameManager.mainFrame();
     }
     get keyboard() {
-        return __classPrivateFieldGet(this, _CDPPage_keyboard, "f");
+        return this.#keyboard;
     }
     get touchscreen() {
-        return __classPrivateFieldGet(this, _CDPPage_touchscreen, "f");
+        return this.#touchscreen;
     }
     get coverage() {
-        return __classPrivateFieldGet(this, _CDPPage_coverage, "f");
+        return this.#coverage;
     }
     get tracing() {
-        return __classPrivateFieldGet(this, _CDPPage_tracing, "f");
+        return this.#tracing;
     }
     get accessibility() {
-        return __classPrivateFieldGet(this, _CDPPage_accessibility, "f");
+        return this.#accessibility;
     }
     frames() {
-        return __classPrivateFieldGet(this, _CDPPage_frameManager, "f").frames();
+        return this.#frameManager.frames();
     }
     workers() {
-        return Array.from(__classPrivateFieldGet(this, _CDPPage_workers, "f").values());
+        return Array.from(this.#workers.values());
     }
     async setRequestInterception(value) {
-        return __classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager.setRequestInterception(value);
+        return this.#frameManager.networkManager.setRequestInterception(value);
     }
     async setBypassServiceWorker(bypass) {
-        __classPrivateFieldSet(this, _CDPPage_serviceWorkerBypassed, bypass, "f");
-        return __classPrivateFieldGet(this, _CDPPage_client, "f").send('Network.setBypassServiceWorker', { bypass });
+        this.#serviceWorkerBypassed = bypass;
+        return this.#client.send('Network.setBypassServiceWorker', { bypass });
     }
     async setDragInterception(enabled) {
-        __classPrivateFieldSet(this, _CDPPage_userDragInterceptionEnabled, enabled, "f");
-        return __classPrivateFieldGet(this, _CDPPage_client, "f").send('Input.setInterceptDrags', { enabled });
+        this.#userDragInterceptionEnabled = enabled;
+        return this.#client.send('Input.setInterceptDrags', { enabled });
     }
     setOfflineMode(enabled) {
-        return __classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager.setOfflineMode(enabled);
+        return this.#frameManager.networkManager.setOfflineMode(enabled);
     }
     emulateNetworkConditions(networkConditions) {
-        return __classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager.emulateNetworkConditions(networkConditions);
+        return this.#frameManager.networkManager.emulateNetworkConditions(networkConditions);
     }
     setDefaultNavigationTimeout(timeout) {
-        __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f").setDefaultNavigationTimeout(timeout);
+        this.#timeoutSettings.setDefaultNavigationTimeout(timeout);
     }
     setDefaultTimeout(timeout) {
-        __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f").setDefaultTimeout(timeout);
+        this.#timeoutSettings.setDefaultTimeout(timeout);
     }
     getDefaultTimeout() {
-        return __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f").timeout();
+        return this.#timeoutSettings.timeout();
     }
     async evaluateHandle(pageFunction, ...args) {
         pageFunction = (0, util_js_1.withSourcePuppeteerURLIfNone)(this.evaluateHandle.name, pageFunction);
@@ -330,7 +362,7 @@
         return (0, util_js_1.createJSHandle)(context, response.objects);
     }
     async cookies(...urls) {
-        const originalCookies = (await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Network.getCookies', {
+        const originalCookies = (await this.#client.send('Network.getCookies', {
             urls: urls.length ? urls : [this.url()],
         })).cookies;
         const unsupportedCookieAttributes = ['priority'];
@@ -349,7 +381,7 @@
             if (!cookie.url && pageURL.startsWith('http')) {
                 item.url = pageURL;
             }
-            await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Network.deleteCookies', item);
+            await this.#client.send('Network.deleteCookies', item);
         }
     }
     async setCookie(...cookies) {
@@ -366,17 +398,11 @@
         });
         await this.deleteCookie(...items);
         if (items.length) {
-            await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Network.setCookies', { cookies: items });
+            await this.#client.send('Network.setCookies', { cookies: items });
         }
     }
-    async addScriptTag(options) {
-        return this.mainFrame().addScriptTag(options);
-    }
-    async addStyleTag(options) {
-        return this.mainFrame().addStyleTag(options);
-    }
     async exposeFunction(name, pptrFunction) {
-        if (__classPrivateFieldGet(this, _CDPPage_bindings, "f").has(name)) {
+        if (this.#bindings.has(name)) {
             throw new Error(`Failed to add page binding with name ${name}: window['${name}'] already exists!`);
         }
         let binding;
@@ -388,23 +414,23 @@
                 binding = new Binding_js_1.Binding(name, pptrFunction.default);
                 break;
         }
-        __classPrivateFieldGet(this, _CDPPage_bindings, "f").set(name, binding);
+        this.#bindings.set(name, binding);
         const expression = (0, util_js_1.pageBindingInitString)('exposedFun', name);
-        await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Runtime.addBinding', { name });
-        const { identifier } = await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.addScriptToEvaluateOnNewDocument', {
+        await this.#client.send('Runtime.addBinding', { name });
+        const { identifier } = await this.#client.send('Page.addScriptToEvaluateOnNewDocument', {
             source: expression,
         });
-        __classPrivateFieldGet(this, _CDPPage_exposedFunctions, "f").set(name, identifier);
+        this.#exposedFunctions.set(name, identifier);
         await Promise.all(this.frames().map(frame => {
             return frame.evaluate(expression).catch(util_js_1.debugError);
         }));
     }
     async removeExposedFunction(name) {
-        const exposedFun = __classPrivateFieldGet(this, _CDPPage_exposedFunctions, "f").get(name);
+        const exposedFun = this.#exposedFunctions.get(name);
         if (!exposedFun) {
             throw new Error(`Failed to remove page binding with name ${name}: window['${name}'] does not exists!`);
         }
-        await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Runtime.removeBinding', { name });
+        await this.#client.send('Runtime.removeBinding', { name });
         await this.removeScriptToEvaluateOnNewDocument(exposedFun);
         await Promise.all(this.frames().map(frame => {
             return frame
@@ -415,21 +441,122 @@
             }, name)
                 .catch(util_js_1.debugError);
         }));
-        __classPrivateFieldGet(this, _CDPPage_exposedFunctions, "f").delete(name);
-        __classPrivateFieldGet(this, _CDPPage_bindings, "f").delete(name);
+        this.#exposedFunctions.delete(name);
+        this.#bindings.delete(name);
     }
     async authenticate(credentials) {
-        return __classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager.authenticate(credentials);
+        return this.#frameManager.networkManager.authenticate(credentials);
     }
     async setExtraHTTPHeaders(headers) {
-        return __classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager.setExtraHTTPHeaders(headers);
+        return this.#frameManager.networkManager.setExtraHTTPHeaders(headers);
     }
     async setUserAgent(userAgent, userAgentMetadata) {
-        return __classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager.setUserAgent(userAgent, userAgentMetadata);
+        return this.#frameManager.networkManager.setUserAgent(userAgent, userAgentMetadata);
     }
     async metrics() {
-        const response = await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Performance.getMetrics');
-        return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_buildMetricsObject).call(this, response.metrics);
+        const response = await this.#client.send('Performance.getMetrics');
+        return this.#buildMetricsObject(response.metrics);
+    }
+    #emitMetrics(event) {
+        this.emit("metrics" /* PageEmittedEvents.Metrics */, {
+            title: event.title,
+            metrics: this.#buildMetricsObject(event.metrics),
+        });
+    }
+    #buildMetricsObject(metrics) {
+        const result = {};
+        for (const metric of metrics || []) {
+            if (supportedMetrics.has(metric.name)) {
+                result[metric.name] = metric.value;
+            }
+        }
+        return result;
+    }
+    #handleException(exceptionDetails) {
+        this.emit("pageerror" /* PageEmittedEvents.PageError */, (0, util_js_1.createClientError)(exceptionDetails));
+    }
+    async #onConsoleAPI(event) {
+        if (event.executionContextId === 0) {
+            // DevTools protocol stores the last 1000 console messages. These
+            // messages are always reported even for removed execution contexts. In
+            // this case, they are marked with executionContextId = 0 and are
+            // reported upon enabling Runtime agent.
+            //
+            // Ignore these messages since:
+            // - there's no execution context we can use to operate with message
+            //   arguments
+            // - these messages are reported before Puppeteer clients can subscribe
+            //   to the 'console'
+            //   page event.
+            //
+            // @see https://github.com/puppeteer/puppeteer/issues/3865
+            return;
+        }
+        const context = this.#frameManager.getExecutionContextById(event.executionContextId, this.#client);
+        if (!context) {
+            (0, util_js_1.debugError)(new Error(`ExecutionContext not found for a console message: ${JSON.stringify(event)}`));
+            return;
+        }
+        const values = event.args.map(arg => {
+            return (0, util_js_1.createJSHandle)(context, arg);
+        });
+        this.#addConsoleMessage(event.type, values, event.stackTrace);
+    }
+    async #onBindingCalled(event) {
+        let payload;
+        try {
+            payload = JSON.parse(event.payload);
+        }
+        catch {
+            // The binding was either called by something in the page or it was
+            // called before our wrapper was initialized.
+            return;
+        }
+        const { type, name, seq, args, isTrivial } = payload;
+        if (type !== 'exposedFun') {
+            return;
+        }
+        const context = this.#frameManager.executionContextById(event.executionContextId, this.#client);
+        if (!context) {
+            return;
+        }
+        const binding = this.#bindings.get(name);
+        await binding?.run(context, seq, args, isTrivial);
+    }
+    #addConsoleMessage(eventType, args, stackTrace) {
+        if (!this.listenerCount("console" /* PageEmittedEvents.Console */)) {
+            args.forEach(arg => {
+                return arg.dispose();
+            });
+            return;
+        }
+        const textTokens = [];
+        for (const arg of args) {
+            const remoteObject = arg.remoteObject();
+            if (remoteObject.objectId) {
+                textTokens.push(arg.toString());
+            }
+            else {
+                textTokens.push((0, util_js_1.valueFromRemoteObject)(remoteObject));
+            }
+        }
+        const stackTraceLocations = [];
+        if (stackTrace) {
+            for (const callFrame of stackTrace.callFrames) {
+                stackTraceLocations.push({
+                    url: callFrame.url,
+                    lineNumber: callFrame.lineNumber,
+                    columnNumber: callFrame.columnNumber,
+                });
+            }
+        }
+        const message = new ConsoleMessage_js_1.ConsoleMessage(eventType, textTokens.join(' '), args, stackTraceLocations);
+        this.emit("console" /* PageEmittedEvents.Console */, message);
+    }
+    #onDialog(event) {
+        const type = (0, util_js_1.validateDialogType)(event.type);
+        const dialog = new Dialog_js_1.CDPDialog(this.#client, type, event.message, event.defaultPrompt);
+        this.emit("dialog" /* PageEmittedEvents.Dialog */, dialog);
     }
     url() {
         return this.mainFrame().url();
@@ -446,13 +573,16 @@
     async reload(options) {
         const result = await Promise.all([
             this.waitForNavigation(options),
-            __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.reload'),
+            this.#client.send('Page.reload'),
         ]);
         return result[0];
     }
+    async createCDPSession() {
+        return await this.target().createCDPSession();
+    }
     async waitForRequest(urlOrPredicate, options = {}) {
-        const { timeout = __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f").timeout() } = options;
-        return (0, util_js_1.waitForEvent)(__classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager, NetworkManager_js_1.NetworkManagerEmittedEvents.Request, async (request) => {
+        const { timeout = this.#timeoutSettings.timeout() } = options;
+        return (0, util_js_1.waitForEvent)(this.#frameManager.networkManager, NetworkManager_js_1.NetworkManagerEmittedEvents.Request, async (request) => {
             if ((0, util_js_1.isString)(urlOrPredicate)) {
                 return urlOrPredicate === request.url();
             }
@@ -460,11 +590,11 @@
                 return !!(await urlOrPredicate(request));
             }
             return false;
-        }, timeout, __classPrivateFieldGet(this, _CDPPage_sessionCloseDeferred, "f").valueOrThrow());
+        }, timeout, this.#sessionCloseDeferred.valueOrThrow());
     }
     async waitForResponse(urlOrPredicate, options = {}) {
-        const { timeout = __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f").timeout() } = options;
-        return (0, util_js_1.waitForEvent)(__classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager, NetworkManager_js_1.NetworkManagerEmittedEvents.Response, async (response) => {
+        const { timeout = this.#timeoutSettings.timeout() } = options;
+        return (0, util_js_1.waitForEvent)(this.#frameManager.networkManager, NetworkManager_js_1.NetworkManagerEmittedEvents.Response, async (response) => {
             if ((0, util_js_1.isString)(urlOrPredicate)) {
                 return urlOrPredicate === response.url();
             }
@@ -472,14 +602,14 @@
                 return !!(await urlOrPredicate(response));
             }
             return false;
-        }, timeout, __classPrivateFieldGet(this, _CDPPage_sessionCloseDeferred, "f").valueOrThrow());
+        }, timeout, this.#sessionCloseDeferred.valueOrThrow());
     }
     async waitForNetworkIdle(options = {}) {
-        const { idleTime = 500, timeout = __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f").timeout() } = options;
-        await this._waitForNetworkIdle(__classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager, idleTime, timeout, __classPrivateFieldGet(this, _CDPPage_sessionCloseDeferred, "f"));
+        const { idleTime = 500, timeout = this.#timeoutSettings.timeout() } = options;
+        await this._waitForNetworkIdle(this.#frameManager.networkManager, idleTime, timeout, this.#sessionCloseDeferred);
     }
     async waitForFrame(urlOrPredicate, options = {}) {
-        const { timeout = __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f").timeout() } = options;
+        const { timeout = this.#timeoutSettings.timeout() } = options;
         let predicate;
         if ((0, util_js_1.isString)(urlOrPredicate)) {
             predicate = (frame) => {
@@ -496,8 +626,8 @@
             };
         }
         const eventRace = Deferred_js_1.Deferred.race([
-            (0, util_js_1.waitForEvent)(__classPrivateFieldGet(this, _CDPPage_frameManager, "f"), FrameManager_js_1.FrameManagerEmittedEvents.FrameAttached, predicate, timeout, __classPrivateFieldGet(this, _CDPPage_sessionCloseDeferred, "f").valueOrThrow()),
-            (0, util_js_1.waitForEvent)(__classPrivateFieldGet(this, _CDPPage_frameManager, "f"), FrameManager_js_1.FrameManagerEmittedEvents.FrameNavigated, predicate, timeout, __classPrivateFieldGet(this, _CDPPage_sessionCloseDeferred, "f").valueOrThrow()),
+            (0, util_js_1.waitForEvent)(this.#frameManager, FrameManager_js_1.FrameManagerEmittedEvents.FrameAttached, predicate, timeout, this.#sessionCloseDeferred.valueOrThrow()),
+            (0, util_js_1.waitForEvent)(this.#frameManager, FrameManager_js_1.FrameManagerEmittedEvents.FrameNavigated, predicate, timeout, this.#sessionCloseDeferred.valueOrThrow()),
             ...this.frames().map(async (frame) => {
                 if (await predicate(frame)) {
                     return frame;
@@ -508,47 +638,59 @@
         return eventRace;
     }
     async goBack(options = {}) {
-        return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_go).call(this, -1, options);
+        return this.#go(-1, options);
     }
     async goForward(options = {}) {
-        return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_go).call(this, +1, options);
+        return this.#go(+1, options);
+    }
+    async #go(delta, options) {
+        const history = await this.#client.send('Page.getNavigationHistory');
+        const entry = history.entries[history.currentIndex + delta];
+        if (!entry) {
+            return null;
+        }
+        const result = await Promise.all([
+            this.waitForNavigation(options),
+            this.#client.send('Page.navigateToHistoryEntry', { entryId: entry.id }),
+        ]);
+        return result[0];
     }
     async bringToFront() {
-        await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.bringToFront');
+        await this.#client.send('Page.bringToFront');
     }
     async setJavaScriptEnabled(enabled) {
-        return await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").setJavaScriptEnabled(enabled);
+        return await this.#emulationManager.setJavaScriptEnabled(enabled);
     }
     async setBypassCSP(enabled) {
-        await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.setBypassCSP', { enabled });
+        await this.#client.send('Page.setBypassCSP', { enabled });
     }
     async emulateMediaType(type) {
-        return await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").emulateMediaType(type);
+        return await this.#emulationManager.emulateMediaType(type);
     }
     async emulateCPUThrottling(factor) {
-        return await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").emulateCPUThrottling(factor);
+        return await this.#emulationManager.emulateCPUThrottling(factor);
     }
     async emulateMediaFeatures(features) {
-        return await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").emulateMediaFeatures(features);
+        return await this.#emulationManager.emulateMediaFeatures(features);
     }
     async emulateTimezone(timezoneId) {
-        return await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").emulateTimezone(timezoneId);
+        return await this.#emulationManager.emulateTimezone(timezoneId);
     }
     async emulateIdleState(overrides) {
-        return await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").emulateIdleState(overrides);
+        return await this.#emulationManager.emulateIdleState(overrides);
     }
     async emulateVisionDeficiency(type) {
-        return await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").emulateVisionDeficiency(type);
+        return await this.#emulationManager.emulateVisionDeficiency(type);
     }
     async setViewport(viewport) {
-        const needsReload = await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").emulateViewport(viewport);
-        __classPrivateFieldSet(this, _CDPPage_viewport, viewport, "f");
+        const needsReload = await this.#emulationManager.emulateViewport(viewport);
+        this.#viewport = viewport;
         if (needsReload) {
             await this.reload();
         }
     }
     viewport() {
-        return __classPrivateFieldGet(this, _CDPPage_viewport, "f");
+        return this.#viewport;
     }
     async evaluate(pageFunction, ...args) {
         pageFunction = (0, util_js_1.withSourcePuppeteerURLIfNone)(this.evaluate.name, pageFunction);
@@ -556,18 +698,18 @@
     }
     async evaluateOnNewDocument(pageFunction, ...args) {
         const source = (0, util_js_1.evaluationString)(pageFunction, ...args);
-        const { identifier } = await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.addScriptToEvaluateOnNewDocument', {
+        const { identifier } = await this.#client.send('Page.addScriptToEvaluateOnNewDocument', {
             source,
         });
         return { identifier };
     }
     async removeScriptToEvaluateOnNewDocument(identifier) {
-        await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.removeScriptToEvaluateOnNewDocument', {
+        await this.#client.send('Page.removeScriptToEvaluateOnNewDocument', {
             identifier,
         });
     }
     async setCacheEnabled(enabled = true) {
-        await __classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager.setCacheEnabled(enabled);
+        await this.#frameManager.networkManager.setCacheEnabled(enabled);
     }
     async screenshot(options = {}) {
         let screenshotType = "png" /* Protocol.Page.CaptureScreenshotRequestFormat.Png */;
@@ -622,16 +764,81 @@
             (0, assert_js_1.assert)(options.clip.width !== 0, 'Expected options.clip.width not to be 0.');
             (0, assert_js_1.assert)(options.clip.height !== 0, 'Expected options.clip.height not to be 0.');
         }
-        return __classPrivateFieldGet(this, _CDPPage_screenshotTaskQueue, "f").postTask(() => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_screenshotTask).call(this, screenshotType, options);
+        return this.#screenshotTaskQueue.postTask(() => {
+            return this.#screenshotTask(screenshotType, options);
         });
     }
+    async #screenshotTask(format, options = {}) {
+        await this.#client.send('Target.activateTarget', {
+            targetId: this.#target._targetId,
+        });
+        let clip = options.clip ? processClip(options.clip) : undefined;
+        let captureBeyondViewport = options.captureBeyondViewport ?? true;
+        const fromSurface = options.fromSurface;
+        if (options.fullPage) {
+            // Overwrite clip for full page.
+            clip = undefined;
+            if (!captureBeyondViewport) {
+                const metrics = await this.#client.send('Page.getLayoutMetrics');
+                // Fallback to `contentSize` in case of using Firefox.
+                const { width, height } = metrics.cssContentSize || metrics.contentSize;
+                const { isMobile = false, deviceScaleFactor = 1, isLandscape = false, } = this.#viewport || {};
+                const screenOrientation = isLandscape
+                    ? { angle: 90, type: 'landscapePrimary' }
+                    : { angle: 0, type: 'portraitPrimary' };
+                await this.#client.send('Emulation.setDeviceMetricsOverride', {
+                    mobile: isMobile,
+                    width,
+                    height,
+                    deviceScaleFactor,
+                    screenOrientation,
+                });
+            }
+        }
+        else if (!clip) {
+            captureBeyondViewport = false;
+        }
+        const shouldSetDefaultBackground = options.omitBackground && (format === 'png' || format === 'webp');
+        if (shouldSetDefaultBackground) {
+            await this.#emulationManager.setTransparentBackgroundColor();
+        }
+        const result = await this.#client.send('Page.captureScreenshot', {
+            format,
+            optimizeForSpeed: options.optimizeForSpeed,
+            quality: options.quality,
+            clip: clip && {
+                ...clip,
+                scale: clip.scale ?? 1,
+            },
+            captureBeyondViewport,
+            fromSurface,
+        });
+        if (shouldSetDefaultBackground) {
+            await this.#emulationManager.resetDefaultBackgroundColor();
+        }
+        if (options.fullPage && this.#viewport) {
+            await this.setViewport(this.#viewport);
+        }
+        if (options.encoding === 'base64') {
+            return result.data;
+        }
+        const buffer = Buffer.from(result.data, 'base64');
+        await this._maybeWriteBufferToFile(options.path, buffer);
+        return buffer;
+        function processClip(clip) {
+            const x = Math.round(clip.x);
+            const y = Math.round(clip.y);
+            const width = Math.round(clip.width + clip.x - x);
+            const height = Math.round(clip.height + clip.y - y);
+            return { x, y, width, height, scale: clip.scale };
+        }
+    }
     async createPDFStream(options = {}) {
         const { landscape, displayHeaderFooter, headerTemplate, footerTemplate, printBackground, scale, width: paperWidth, height: paperHeight, margin, pageRanges, preferCSSPageSize, omitBackground, timeout, } = this._getPDFOptions(options);
         if (omitBackground) {
-            await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").setTransparentBackgroundColor();
+            await this.#emulationManager.setTransparentBackgroundColor();
         }
-        const printCommandPromise = __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.printToPDF', {
+        const printCommandPromise = this.#client.send('Page.printToPDF', {
             transferMode: 'ReturnAsStream',
             landscape,
             displayHeaderFooter,
@@ -650,10 +857,10 @@
         });
         const result = await (0, util_js_1.waitWithTimeout)(printCommandPromise, 'Page.printToPDF', timeout);
         if (omitBackground) {
-            await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").resetDefaultBackgroundColor();
+            await this.#emulationManager.resetDefaultBackgroundColor();
         }
         (0, assert_js_1.assert)(result.stream, '`stream` is missing from `Page.printToPDF');
-        return (0, util_js_1.getReadableFromProtocolStream)(__classPrivateFieldGet(this, _CDPPage_client, "f"), result.stream);
+        return (0, util_js_1.getReadableFromProtocolStream)(this.#client, result.stream);
     }
     async pdf(options = {}) {
         const { path = undefined } = options;
@@ -666,27 +873,24 @@
         return this.mainFrame().title();
     }
     async close(options = { runBeforeUnload: undefined }) {
-        const connection = __classPrivateFieldGet(this, _CDPPage_client, "f").connection();
+        const connection = this.#client.connection();
         (0, assert_js_1.assert)(connection, 'Protocol error: Connection closed. Most likely the page has been closed.');
         const runBeforeUnload = !!options.runBeforeUnload;
         if (runBeforeUnload) {
-            await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.close');
+            await this.#client.send('Page.close');
         }
         else {
             await connection.send('Target.closeTarget', {
-                targetId: __classPrivateFieldGet(this, _CDPPage_target, "f")._targetId,
+                targetId: this.#target._targetId,
             });
-            await __classPrivateFieldGet(this, _CDPPage_target, "f")._isClosedDeferred.valueOrThrow();
+            await this.#target._isClosedDeferred.valueOrThrow();
         }
     }
     isClosed() {
-        return __classPrivateFieldGet(this, _CDPPage_closed, "f");
+        return this.#closed;
     }
     get mouse() {
-        return __classPrivateFieldGet(this, _CDPPage_mouse, "f");
-    }
-    waitForXPath(xpath, options = {}) {
-        return this.mainFrame().waitForXPath(xpath, options);
+        return this.#mouse;
     }
     /**
      * This method is typically coupled with an action that triggers a device
@@ -716,227 +920,6 @@
     }
 }
 exports.CDPPage = CDPPage;
-_CDPPage_closed = new WeakMap(), _CDPPage_client = new WeakMap(), _CDPPage_target = new WeakMap(), _CDPPage_keyboard = new WeakMap(), _CDPPage_mouse = new WeakMap(), _CDPPage_timeoutSettings = new WeakMap(), _CDPPage_touchscreen = new WeakMap(), _CDPPage_accessibility = new WeakMap(), _CDPPage_frameManager = new WeakMap(), _CDPPage_emulationManager = new WeakMap(), _CDPPage_tracing = new WeakMap(), _CDPPage_bindings = new WeakMap(), _CDPPage_exposedFunctions = new WeakMap(), _CDPPage_coverage = new WeakMap(), _CDPPage_viewport = new WeakMap(), _CDPPage_screenshotTaskQueue = new WeakMap(), _CDPPage_workers = new WeakMap(), _CDPPage_fileChooserDeferreds = new WeakMap(), _CDPPage_sessionCloseDeferred = new WeakMap(), _CDPPage_serviceWorkerBypassed = new WeakMap(), _CDPPage_userDragInterceptionEnabled = new WeakMap(), _CDPPage_onDetachedFromTarget = new WeakMap(), _CDPPage_onAttachedToTarget = new WeakMap(), _CDPPage_instances = new WeakSet(), _CDPPage_initialize = async function _CDPPage_initialize() {
-    try {
-        await Promise.all([
-            __classPrivateFieldGet(this, _CDPPage_frameManager, "f").initialize(),
-            __classPrivateFieldGet(this, _CDPPage_client, "f").send('Performance.enable'),
-            __classPrivateFieldGet(this, _CDPPage_client, "f").send('Log.enable'),
-        ]);
-    }
-    catch (err) {
-        if ((0, ErrorLike_js_1.isErrorLike)(err) && (0, Connection_js_1.isTargetClosedError)(err)) {
-            (0, util_js_1.debugError)(err);
-        }
-        else {
-            throw err;
-        }
-    }
-}, _CDPPage_onFileChooser = async function _CDPPage_onFileChooser(event) {
-    if (!__classPrivateFieldGet(this, _CDPPage_fileChooserDeferreds, "f").size) {
-        return;
-    }
-    const frame = __classPrivateFieldGet(this, _CDPPage_frameManager, "f").frame(event.frameId);
-    (0, assert_js_1.assert)(frame, 'This should never happen.');
-    // This is guaranteed to be an HTMLInputElement handle by the event.
-    const handle = (await frame.worlds[IsolatedWorlds_js_1.MAIN_WORLD].adoptBackendNode(event.backendNodeId));
-    const fileChooser = new FileChooser_js_1.FileChooser(handle, event);
-    for (const promise of __classPrivateFieldGet(this, _CDPPage_fileChooserDeferreds, "f")) {
-        promise.resolve(fileChooser);
-    }
-    __classPrivateFieldGet(this, _CDPPage_fileChooserDeferreds, "f").clear();
-}, _CDPPage_onTargetCrashed = function _CDPPage_onTargetCrashed() {
-    this.emit('error', new Error('Page crashed!'));
-}, _CDPPage_onLogEntryAdded = function _CDPPage_onLogEntryAdded(event) {
-    const { level, text, args, source, url, lineNumber } = event.entry;
-    if (args) {
-        args.map(arg => {
-            return (0, util_js_1.releaseObject)(__classPrivateFieldGet(this, _CDPPage_client, "f"), arg);
-        });
-    }
-    if (source !== 'worker') {
-        this.emit("console" /* PageEmittedEvents.Console */, new ConsoleMessage_js_1.ConsoleMessage(level, text, [], [{ url, lineNumber }]));
-    }
-}, _CDPPage_emitMetrics = function _CDPPage_emitMetrics(event) {
-    this.emit("metrics" /* PageEmittedEvents.Metrics */, {
-        title: event.title,
-        metrics: __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_buildMetricsObject).call(this, event.metrics),
-    });
-}, _CDPPage_buildMetricsObject = function _CDPPage_buildMetricsObject(metrics) {
-    const result = {};
-    for (const metric of metrics || []) {
-        if (supportedMetrics.has(metric.name)) {
-            result[metric.name] = metric.value;
-        }
-    }
-    return result;
-}, _CDPPage_handleException = function _CDPPage_handleException(exceptionDetails) {
-    this.emit("pageerror" /* PageEmittedEvents.PageError */, (0, util_js_1.createClientError)(exceptionDetails));
-}, _CDPPage_onConsoleAPI = async function _CDPPage_onConsoleAPI(event) {
-    if (event.executionContextId === 0) {
-        // DevTools protocol stores the last 1000 console messages. These
-        // messages are always reported even for removed execution contexts. In
-        // this case, they are marked with executionContextId = 0 and are
-        // reported upon enabling Runtime agent.
-        //
-        // Ignore these messages since:
-        // - there's no execution context we can use to operate with message
-        //   arguments
-        // - these messages are reported before Puppeteer clients can subscribe
-        //   to the 'console'
-        //   page event.
-        //
-        // @see https://github.com/puppeteer/puppeteer/issues/3865
-        return;
-    }
-    const context = __classPrivateFieldGet(this, _CDPPage_frameManager, "f").getExecutionContextById(event.executionContextId, __classPrivateFieldGet(this, _CDPPage_client, "f"));
-    if (!context) {
-        (0, util_js_1.debugError)(new Error(`ExecutionContext not found for a console message: ${JSON.stringify(event)}`));
-        return;
-    }
-    const values = event.args.map(arg => {
-        return (0, util_js_1.createJSHandle)(context, arg);
-    });
-    __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_addConsoleMessage).call(this, event.type, values, event.stackTrace);
-}, _CDPPage_onBindingCalled = async function _CDPPage_onBindingCalled(event) {
-    let payload;
-    try {
-        payload = JSON.parse(event.payload);
-    }
-    catch {
-        // The binding was either called by something in the page or it was
-        // called before our wrapper was initialized.
-        return;
-    }
-    const { type, name, seq, args, isTrivial } = payload;
-    if (type !== 'exposedFun') {
-        return;
-    }
-    const context = __classPrivateFieldGet(this, _CDPPage_frameManager, "f").executionContextById(event.executionContextId, __classPrivateFieldGet(this, _CDPPage_client, "f"));
-    if (!context) {
-        return;
-    }
-    const binding = __classPrivateFieldGet(this, _CDPPage_bindings, "f").get(name);
-    await binding?.run(context, seq, args, isTrivial);
-}, _CDPPage_addConsoleMessage = function _CDPPage_addConsoleMessage(eventType, args, stackTrace) {
-    if (!this.listenerCount("console" /* PageEmittedEvents.Console */)) {
-        args.forEach(arg => {
-            return arg.dispose();
-        });
-        return;
-    }
-    const textTokens = [];
-    for (const arg of args) {
-        const remoteObject = arg.remoteObject();
-        if (remoteObject.objectId) {
-            textTokens.push(arg.toString());
-        }
-        else {
-            textTokens.push((0, util_js_1.valueFromRemoteObject)(remoteObject));
-        }
-    }
-    const stackTraceLocations = [];
-    if (stackTrace) {
-        for (const callFrame of stackTrace.callFrames) {
-            stackTraceLocations.push({
-                url: callFrame.url,
-                lineNumber: callFrame.lineNumber,
-                columnNumber: callFrame.columnNumber,
-            });
-        }
-    }
-    const message = new ConsoleMessage_js_1.ConsoleMessage(eventType, textTokens.join(' '), args, stackTraceLocations);
-    this.emit("console" /* PageEmittedEvents.Console */, message);
-}, _CDPPage_onDialog = function _CDPPage_onDialog(event) {
-    let dialogType = null;
-    const validDialogTypes = new Set([
-        'alert',
-        'confirm',
-        'prompt',
-        'beforeunload',
-    ]);
-    if (validDialogTypes.has(event.type)) {
-        dialogType = event.type;
-    }
-    (0, assert_js_1.assert)(dialogType, 'Unknown javascript dialog type: ' + event.type);
-    const dialog = new Dialog_js_1.Dialog(__classPrivateFieldGet(this, _CDPPage_client, "f"), dialogType, event.message, event.defaultPrompt);
-    this.emit("dialog" /* PageEmittedEvents.Dialog */, dialog);
-}, _CDPPage_go = async function _CDPPage_go(delta, options) {
-    const history = await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.getNavigationHistory');
-    const entry = history.entries[history.currentIndex + delta];
-    if (!entry) {
-        return null;
-    }
-    const result = await Promise.all([
-        this.waitForNavigation(options),
-        __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.navigateToHistoryEntry', { entryId: entry.id }),
-    ]);
-    return result[0];
-}, _CDPPage_screenshotTask = async function _CDPPage_screenshotTask(format, options = {}) {
-    await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Target.activateTarget', {
-        targetId: __classPrivateFieldGet(this, _CDPPage_target, "f")._targetId,
-    });
-    let clip = options.clip ? processClip(options.clip) : undefined;
-    let captureBeyondViewport = options.captureBeyondViewport ?? true;
-    const fromSurface = options.fromSurface;
-    if (options.fullPage) {
-        // Overwrite clip for full page.
-        clip = undefined;
-        if (!captureBeyondViewport) {
-            const metrics = await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.getLayoutMetrics');
-            // Fallback to `contentSize` in case of using Firefox.
-            const { width, height } = metrics.cssContentSize || metrics.contentSize;
-            const { isMobile = false, deviceScaleFactor = 1, isLandscape = false, } = __classPrivateFieldGet(this, _CDPPage_viewport, "f") || {};
-            const screenOrientation = isLandscape
-                ? { angle: 90, type: 'landscapePrimary' }
-                : { angle: 0, type: 'portraitPrimary' };
-            await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Emulation.setDeviceMetricsOverride', {
-                mobile: isMobile,
-                width,
-                height,
-                deviceScaleFactor,
-                screenOrientation,
-            });
-        }
-    }
-    else if (!clip) {
-        captureBeyondViewport = false;
-    }
-    const shouldSetDefaultBackground = options.omitBackground && (format === 'png' || format === 'webp');
-    if (shouldSetDefaultBackground) {
-        await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").setTransparentBackgroundColor();
-    }
-    const result = await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.captureScreenshot', {
-        format,
-        optimizeForSpeed: options.optimizeForSpeed,
-        quality: options.quality,
-        clip: clip && {
-            ...clip,
-            scale: clip.scale ?? 1,
-        },
-        captureBeyondViewport,
-        fromSurface,
-    });
-    if (shouldSetDefaultBackground) {
-        await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").resetDefaultBackgroundColor();
-    }
-    if (options.fullPage && __classPrivateFieldGet(this, _CDPPage_viewport, "f")) {
-        await this.setViewport(__classPrivateFieldGet(this, _CDPPage_viewport, "f"));
-    }
-    if (options.encoding === 'base64') {
-        return result.data;
-    }
-    const buffer = Buffer.from(result.data, 'base64');
-    await this._maybeWriteBufferToFile(options.path, buffer);
-    return buffer;
-    function processClip(clip) {
-        const x = Math.round(clip.x);
-        const y = Math.round(clip.y);
-        const width = Math.round(clip.width + clip.x - x);
-        const height = Math.round(clip.height + clip.y - y);
-        return { x, y, width, height, scale: clip.scale };
-    }
-};
 const supportedMetrics = new Set([
     'Timestamp',
     'Documents',
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js.map
index ed9f034..53638be 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js.map
@@ -1 +1 @@
-{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../../src/common/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../../src/common/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PierceQueryHandler.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PierceQueryHandler.js
index 41e7f8a..2f50858 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PierceQueryHandler.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PierceQueryHandler.js
@@ -21,12 +21,12 @@
  * @internal
  */
 class PierceQueryHandler extends QueryHandler_js_1.QueryHandler {
+    static querySelector = (element, selector, { pierceQuerySelector }) => {
+        return pierceQuerySelector(element, selector);
+    };
+    static querySelectorAll = (element, selector, { pierceQuerySelectorAll }) => {
+        return pierceQuerySelectorAll(element, selector);
+    };
 }
 exports.PierceQueryHandler = PierceQueryHandler;
-PierceQueryHandler.querySelector = (element, selector, { pierceQuerySelector }) => {
-    return pierceQuerySelector(element, selector);
-};
-PierceQueryHandler.querySelectorAll = (element, selector, { pierceQuerySelectorAll }) => {
-    return pierceQuerySelectorAll(element, selector);
-};
 //# sourceMappingURL=PierceQueryHandler.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PierceQueryHandler.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PierceQueryHandler.js.map
index 4e16218..426764a 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PierceQueryHandler.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PierceQueryHandler.js.map
@@ -1 +1 @@
-{"version":3,"file":"PierceQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/PierceQueryHandler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH,uDAA+C;AAE/C;;GAEG;AACH,MAAa,kBAAmB,SAAQ,8BAAY;;AAApD,gDAeC;AAdiB,gCAAa,GAAG,CAC9B,OAAa,EACb,QAAgB,EAChB,EAAC,mBAAmB,EAAgB,EACvB,EAAE;IACf,OAAO,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC;AACc,mCAAgB,GAAG,CACjC,OAAa,EACb,QAAgB,EAChB,EAAC,sBAAsB,EAAgB,EACvB,EAAE;IAClB,OAAO,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC,CAAC"}
\ No newline at end of file
+{"version":3,"file":"PierceQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/PierceQueryHandler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH,uDAA+C;AAE/C;;GAEG;AACH,MAAa,kBAAmB,SAAQ,8BAAY;IAClD,MAAM,CAAU,aAAa,GAAG,CAC9B,OAAa,EACb,QAAgB,EAChB,EAAC,mBAAmB,EAAgB,EACvB,EAAE;QACf,OAAO,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC;IACF,MAAM,CAAU,gBAAgB,GAAG,CACjC,OAAa,EACb,QAAgB,EAChB,EAAC,sBAAsB,EAAgB,EACvB,EAAE;QAClB,OAAO,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC;;AAdJ,gDAeC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.js
index e9ab1cf..11056bc 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.js
@@ -30,6 +30,13 @@
  */
 class Puppeteer {
     /**
+     * Operations for {@link CustomQueryHandler | custom query handlers}. See
+     * {@link CustomQueryHandlerRegistry}.
+     *
+     * @internal
+     */
+    static customQueryHandlers = CustomQueryHandler_js_1.customQueryHandlers;
+    /**
      * Registers a {@link CustomQueryHandler | custom query handler}.
      *
      * @remarks
@@ -75,11 +82,15 @@
     /**
      * @internal
      */
+    _isPuppeteerCore;
+    /**
+     * @internal
+     */
+    _changedProduct = false;
+    /**
+     * @internal
+     */
     constructor(settings) {
-        /**
-         * @internal
-         */
-        this._changedProduct = false;
         this._isPuppeteerCore = settings.isPuppeteerCore;
         this.connect = this.connect.bind(this);
     }
@@ -96,11 +107,4 @@
     }
 }
 exports.Puppeteer = Puppeteer;
-/**
- * Operations for {@link CustomQueryHandler | custom query handlers}. See
- * {@link CustomQueryHandlerRegistry}.
- *
- * @internal
- */
-Puppeteer.customQueryHandlers = CustomQueryHandler_js_1.customQueryHandlers;
 //# sourceMappingURL=Puppeteer.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.js.map
index 302b40e..ea55eef 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.js.map
@@ -1 +1 @@
-{"version":3,"file":"Puppeteer.js","sourceRoot":"","sources":["../../../../src/common/Puppeteer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH,+DAG+B;AAE/B,mEAAgF;AAyBhF;;;;;;;;;GASG;AACH,MAAa,SAAS;IASpB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,0BAA0B,CAC/B,IAAY,EACZ,YAAgC;QAEhC,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,4BAA4B,CAAC,IAAY;QAC9C,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,uBAAuB;QAC5B,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,wBAAwB;QAC7B,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAWD;;OAEG;IACH,YAAY,QAAiC;QAR7C;;WAEG;QACO,oBAAe,GAAG,KAAK,CAAC;QAMhC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,eAAe,CAAC;QAEjD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,OAAuB;QAC7B,OAAO,IAAA,0CAAoB,EAAC,OAAO,CAAC,CAAC;IACvC,CAAC;;AAvFH,8BAwFC;AAvFC;;;;;GAKG;AACI,6BAAmB,GAAG,2CAAmB,AAAtB,CAAuB"}
\ No newline at end of file
+{"version":3,"file":"Puppeteer.js","sourceRoot":"","sources":["../../../../src/common/Puppeteer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH,+DAG+B;AAE/B,mEAAgF;AAyBhF;;;;;;;;;GASG;AACH,MAAa,SAAS;IACpB;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,GAAG,2CAAmB,CAAC;IAEjD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,0BAA0B,CAC/B,IAAY,EACZ,YAAgC;QAEhC,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,4BAA4B,CAAC,IAAY;QAC9C,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,uBAAuB;QAC5B,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,wBAAwB;QAC7B,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAU;IAC1B;;OAEG;IACO,eAAe,GAAG,KAAK,CAAC;IAElC;;OAEG;IACH,YAAY,QAAiC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,eAAe,CAAC;QAEjD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,OAAuB;QAC7B,OAAO,IAAA,0CAAoB,EAAC,OAAO,CAAC,CAAC;IACvC,CAAC;;AAvFH,8BAwFC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/QueryHandler.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/QueryHandler.js
index 4d3eb79..cff681e 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/QueryHandler.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/QueryHandler.js
@@ -25,6 +25,9 @@
  * @internal
  */
 class QueryHandler {
+    // Either one of these may be implemented, but at least one must be.
+    static querySelectorAll;
+    static querySelector;
     static get _querySelector() {
         if (this.querySelector) {
             return this.querySelector;
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/QueryHandler.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/QueryHandler.js.map
index 137e861..46305cc 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/QueryHandler.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/QueryHandler.js.map
@@ -1 +1 @@
-{"version":3,"file":"QueryHandler.js","sourceRoot":"","sources":["../../../../src/common/QueryHandler.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"QueryHandler.js","sourceRoot":"","sources":["../../../../src/common/QueryHandler.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ScriptInjector.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ScriptInjector.js
index 6b1c45f..8636557 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ScriptInjector.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ScriptInjector.js
@@ -1,58 +1,44 @@
 "use strict";
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _ScriptInjector_instances, _ScriptInjector_updated, _ScriptInjector_amendments, _ScriptInjector_update, _ScriptInjector_get;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.scriptInjector = void 0;
 const injected_js_1 = require("../generated/injected.js");
 class ScriptInjector {
-    constructor() {
-        _ScriptInjector_instances.add(this);
-        _ScriptInjector_updated.set(this, false);
-        _ScriptInjector_amendments.set(this, new Set());
-    }
+    #updated = false;
+    #amendments = new Set();
     // Appends a statement of the form `(PuppeteerUtil) => {...}`.
     append(statement) {
-        __classPrivateFieldGet(this, _ScriptInjector_instances, "m", _ScriptInjector_update).call(this, () => {
-            __classPrivateFieldGet(this, _ScriptInjector_amendments, "f").add(statement);
+        this.#update(() => {
+            this.#amendments.add(statement);
         });
     }
     pop(statement) {
-        __classPrivateFieldGet(this, _ScriptInjector_instances, "m", _ScriptInjector_update).call(this, () => {
-            __classPrivateFieldGet(this, _ScriptInjector_amendments, "f").delete(statement);
+        this.#update(() => {
+            this.#amendments.delete(statement);
         });
     }
     inject(inject, force = false) {
-        if (__classPrivateFieldGet(this, _ScriptInjector_updated, "f") || force) {
-            inject(__classPrivateFieldGet(this, _ScriptInjector_instances, "m", _ScriptInjector_get).call(this));
+        if (this.#updated || force) {
+            inject(this.#get());
         }
-        __classPrivateFieldSet(this, _ScriptInjector_updated, false, "f");
+        this.#updated = false;
     }
-}
-_ScriptInjector_updated = new WeakMap(), _ScriptInjector_amendments = new WeakMap(), _ScriptInjector_instances = new WeakSet(), _ScriptInjector_update = function _ScriptInjector_update(callback) {
-    callback();
-    __classPrivateFieldSet(this, _ScriptInjector_updated, true, "f");
-}, _ScriptInjector_get = function _ScriptInjector_get() {
-    return `(() => {
+    #update(callback) {
+        callback();
+        this.#updated = true;
+    }
+    #get() {
+        return `(() => {
       const module = {};
       ${injected_js_1.source}
-      ${[...__classPrivateFieldGet(this, _ScriptInjector_amendments, "f")]
-        .map(statement => {
-        return `(${statement})(module.exports.default);`;
-    })
-        .join('')}
+      ${[...this.#amendments]
+            .map(statement => {
+            return `(${statement})(module.exports.default);`;
+        })
+            .join('')}
       return module.exports.default;
     })()`;
-};
+    }
+}
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ScriptInjector.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ScriptInjector.js.map
index a88163f..82f0950 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ScriptInjector.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ScriptInjector.js.map
@@ -1 +1 @@
-{"version":3,"file":"ScriptInjector.js","sourceRoot":"","sources":["../../../../src/common/ScriptInjector.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,0DAAkE;AAElE,MAAM,cAAc;IAApB;;QACE,kCAAW,KAAK,EAAC;QACjB,qCAAc,IAAI,GAAG,EAAU,EAAC;IAuClC,CAAC;IArCC,8DAA8D;IAC9D,MAAM,CAAC,SAAiB;QACtB,uBAAA,IAAI,yDAAQ,MAAZ,IAAI,EAAS,GAAG,EAAE;YAChB,uBAAA,IAAI,kCAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,SAAiB;QACnB,uBAAA,IAAI,yDAAQ,MAAZ,IAAI,EAAS,GAAG,EAAE;YAChB,uBAAA,IAAI,kCAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAgC,EAAE,KAAK,GAAG,KAAK;QACpD,IAAI,uBAAA,IAAI,+BAAS,IAAI,KAAK,EAAE;YAC1B,MAAM,CAAC,uBAAA,IAAI,sDAAK,MAAT,IAAI,CAAO,CAAC,CAAC;SACrB;QACD,uBAAA,IAAI,2BAAY,KAAK,MAAA,CAAC;IACxB,CAAC;CAmBF;yLAjBS,QAAoB;IAC1B,QAAQ,EAAE,CAAC;IACX,uBAAA,IAAI,2BAAY,IAAI,MAAA,CAAC;AACvB,CAAC;IAGC,OAAO;;QAEH,oBAAc;QACd,CAAC,GAAG,uBAAA,IAAI,kCAAY,CAAC;SACpB,GAAG,CAAC,SAAS,CAAC,EAAE;QACf,OAAO,IAAI,SAAS,4BAA4B,CAAC;IACnD,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC;;SAER,CAAC;AACR,CAAC;AAGH;;GAEG;AACU,QAAA,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC"}
\ No newline at end of file
+{"version":3,"file":"ScriptInjector.js","sourceRoot":"","sources":["../../../../src/common/ScriptInjector.ts"],"names":[],"mappings":";;;AAAA,0DAAkE;AAElE,MAAM,cAAc;IAClB,QAAQ,GAAG,KAAK,CAAC;IACjB,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhC,8DAA8D;IAC9D,MAAM,CAAC,SAAiB;QACtB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,SAAiB;QACnB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAgC,EAAE,KAAK,GAAG,KAAK;QACpD,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SACrB;QACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,OAAO,CAAC,QAAoB;QAC1B,QAAQ,EAAE,CAAC;QACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,IAAI;QACF,OAAO;;QAEH,oBAAc;QACd,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aACpB,GAAG,CAAC,SAAS,CAAC,EAAE;YACf,OAAO,IAAI,SAAS,4BAA4B,CAAC;QACnD,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC;;SAER,CAAC;IACR,CAAC;CACF;AAED;;GAEG;AACU,QAAA,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/SecurityDetails.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/SecurityDetails.js
index c659eb9..e394fc9 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/SecurityDetails.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/SecurityDetails.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _SecurityDetails_subjectName, _SecurityDetails_issuer, _SecurityDetails_validFrom, _SecurityDetails_validTo, _SecurityDetails_protocol, _SecurityDetails_sanList;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.SecurityDetails = void 0;
 /**
@@ -35,62 +23,61 @@
  * @public
  */
 class SecurityDetails {
+    #subjectName;
+    #issuer;
+    #validFrom;
+    #validTo;
+    #protocol;
+    #sanList;
     /**
      * @internal
      */
     constructor(securityPayload) {
-        _SecurityDetails_subjectName.set(this, void 0);
-        _SecurityDetails_issuer.set(this, void 0);
-        _SecurityDetails_validFrom.set(this, void 0);
-        _SecurityDetails_validTo.set(this, void 0);
-        _SecurityDetails_protocol.set(this, void 0);
-        _SecurityDetails_sanList.set(this, void 0);
-        __classPrivateFieldSet(this, _SecurityDetails_subjectName, securityPayload.subjectName, "f");
-        __classPrivateFieldSet(this, _SecurityDetails_issuer, securityPayload.issuer, "f");
-        __classPrivateFieldSet(this, _SecurityDetails_validFrom, securityPayload.validFrom, "f");
-        __classPrivateFieldSet(this, _SecurityDetails_validTo, securityPayload.validTo, "f");
-        __classPrivateFieldSet(this, _SecurityDetails_protocol, securityPayload.protocol, "f");
-        __classPrivateFieldSet(this, _SecurityDetails_sanList, securityPayload.sanList, "f");
+        this.#subjectName = securityPayload.subjectName;
+        this.#issuer = securityPayload.issuer;
+        this.#validFrom = securityPayload.validFrom;
+        this.#validTo = securityPayload.validTo;
+        this.#protocol = securityPayload.protocol;
+        this.#sanList = securityPayload.sanList;
     }
     /**
      * The name of the issuer of the certificate.
      */
     issuer() {
-        return __classPrivateFieldGet(this, _SecurityDetails_issuer, "f");
+        return this.#issuer;
     }
     /**
      * {@link https://en.wikipedia.org/wiki/Unix_time | Unix timestamp}
      * marking the start of the certificate's validity.
      */
     validFrom() {
-        return __classPrivateFieldGet(this, _SecurityDetails_validFrom, "f");
+        return this.#validFrom;
     }
     /**
      * {@link https://en.wikipedia.org/wiki/Unix_time | Unix timestamp}
      * marking the end of the certificate's validity.
      */
     validTo() {
-        return __classPrivateFieldGet(this, _SecurityDetails_validTo, "f");
+        return this.#validTo;
     }
     /**
      * The security protocol being used, e.g. "TLS 1.2".
      */
     protocol() {
-        return __classPrivateFieldGet(this, _SecurityDetails_protocol, "f");
+        return this.#protocol;
     }
     /**
      * The name of the subject to which the certificate was issued.
      */
     subjectName() {
-        return __classPrivateFieldGet(this, _SecurityDetails_subjectName, "f");
+        return this.#subjectName;
     }
     /**
      * The list of {@link https://en.wikipedia.org/wiki/Subject_Alternative_Name | subject alternative names (SANs)} of the certificate.
      */
     subjectAlternativeNames() {
-        return __classPrivateFieldGet(this, _SecurityDetails_sanList, "f");
+        return this.#sanList;
     }
 }
 exports.SecurityDetails = SecurityDetails;
-_SecurityDetails_subjectName = new WeakMap(), _SecurityDetails_issuer = new WeakMap(), _SecurityDetails_validFrom = new WeakMap(), _SecurityDetails_validTo = new WeakMap(), _SecurityDetails_protocol = new WeakMap(), _SecurityDetails_sanList = new WeakMap();
 //# sourceMappingURL=SecurityDetails.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/SecurityDetails.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/SecurityDetails.js.map
index c202cee..822ca77 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/SecurityDetails.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/SecurityDetails.js.map
@@ -1 +1 @@
-{"version":3,"file":"SecurityDetails.js","sourceRoot":"","sources":["../../../../src/common/SecurityDetails.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;AAIH;;;;;GAKG;AACH,MAAa,eAAe;IAQ1B;;OAEG;IACH,YAAY,eAAiD;QAV7D,+CAAqB;QACrB,0CAAgB;QAChB,6CAAmB;QACnB,2CAAiB;QACjB,4CAAkB;QAClB,2CAAmB;QAMjB,uBAAA,IAAI,gCAAgB,eAAe,CAAC,WAAW,MAAA,CAAC;QAChD,uBAAA,IAAI,2BAAW,eAAe,CAAC,MAAM,MAAA,CAAC;QACtC,uBAAA,IAAI,8BAAc,eAAe,CAAC,SAAS,MAAA,CAAC;QAC5C,uBAAA,IAAI,4BAAY,eAAe,CAAC,OAAO,MAAA,CAAC;QACxC,uBAAA,IAAI,6BAAa,eAAe,CAAC,QAAQ,MAAA,CAAC;QAC1C,uBAAA,IAAI,4BAAY,eAAe,CAAC,OAAO,MAAA,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,uBAAA,IAAI,+BAAQ,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,OAAO,uBAAA,IAAI,kCAAW,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,uBAAA,IAAI,gCAAS,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,uBAAA,IAAI,iCAAU,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,uBAAA,IAAI,oCAAa,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,uBAAuB;QACrB,OAAO,uBAAA,IAAI,gCAAS,CAAC;IACvB,CAAC;CACF;AA/DD,0CA+DC"}
\ No newline at end of file
+{"version":3,"file":"SecurityDetails.js","sourceRoot":"","sources":["../../../../src/common/SecurityDetails.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH;;;;;GAKG;AACH,MAAa,eAAe;IAC1B,YAAY,CAAS;IACrB,OAAO,CAAS;IAChB,UAAU,CAAS;IACnB,QAAQ,CAAS;IACjB,SAAS,CAAS;IAClB,QAAQ,CAAW;IAEnB;;OAEG;IACH,YAAY,eAAiD;QAC3D,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,uBAAuB;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AA/DD,0CA+DC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.d.ts
index 33437a7..f6ca571 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.d.ts
@@ -17,6 +17,7 @@
 import type { Browser } from '../api/Browser.js';
 import type { BrowserContext } from '../api/BrowserContext.js';
 import { Page } from '../api/Page.js';
+import { Target, TargetType } from '../api/Target.js';
 import { Deferred } from '../util/Deferred.js';
 import { CDPSession } from './Connection.js';
 import { Viewport } from './PuppeteerViewport.js';
@@ -31,14 +32,9 @@
     ABORTED = "aborted"
 }
 /**
- * Target represents a
- * {@link https://chromedevtools.github.io/devtools-protocol/tot/Target/ | CDP target}.
- * In CDP a target is something that can be debugged such a frame, a page or a
- * worker.
- *
- * @public
+ * @internal
  */
-export declare class Target {
+export declare class CDPTarget extends Target {
     #private;
     /**
      * @internal
@@ -53,9 +49,11 @@
      */
     _targetId: string;
     /**
+     * To initialize the target for use, call initialize.
+     *
      * @internal
      */
-    constructor(targetInfo: Protocol.Target.TargetInfo, session: CDPSession | undefined, browserContext: BrowserContext, targetManager: TargetManager, sessionFactory: (isAutoAttachEmulated: boolean) => Promise<CDPSession>);
+    constructor(targetInfo: Protocol.Target.TargetInfo, session: CDPSession | undefined, browserContext: BrowserContext | undefined, targetManager: TargetManager | undefined, sessionFactory: ((isAutoAttachEmulated: boolean) => Promise<CDPSession>) | undefined);
     /**
      * @internal
      */
@@ -64,10 +62,9 @@
      * @internal
      */
     protected _sessionFactory(): (isAutoAttachEmulated: boolean) => Promise<CDPSession>;
-    /**
-     * Creates a Chrome Devtools Protocol session attached to the target.
-     */
     createCDPSession(): Promise<CDPSession>;
+    url(): string;
+    type(): TargetType;
     /**
      * @internal
      */
@@ -76,30 +73,8 @@
      * @internal
      */
     _getTargetInfo(): Protocol.Target.TargetInfo;
-    /**
-     * If the target is not of type `"service_worker"` or `"shared_worker"`, returns `null`.
-     */
-    worker(): Promise<WebWorker | null>;
-    url(): string;
-    /**
-     * Identifies what kind of target this is.
-     *
-     * @remarks
-     *
-     * See {@link https://developer.chrome.com/extensions/background_pages | docs} for more info about background pages.
-     */
-    type(): 'page' | 'background_page' | 'service_worker' | 'shared_worker' | 'other' | 'browser' | 'webview';
-    /**
-     * Get the browser the target belongs to.
-     */
     browser(): Browser;
-    /**
-     * Get the browser context the target belongs to.
-     */
     browserContext(): BrowserContext;
-    /**
-     * Get the target that opened this target. Top-level targets return `null`.
-     */
     opener(): Target | undefined;
     /**
      * @internal
@@ -108,41 +83,36 @@
     /**
      * @internal
      */
-    protected _initialize(): void;
+    _initialize(): void;
     /**
      * @internal
      */
     protected _checkIfInitialized(): void;
-    /**
-     * If the target is not of type `"page"`, `"webview"` or `"background_page"`,
-     * returns `null`.
-     */
-    page(): Promise<Page | null>;
 }
 /**
  * @internal
  */
-export declare class PageTarget extends Target {
+export declare class PageTarget extends CDPTarget {
     #private;
     protected pagePromise?: Promise<Page>;
     /**
      * @internal
      */
     constructor(targetInfo: Protocol.Target.TargetInfo, session: CDPSession | undefined, browserContext: BrowserContext, targetManager: TargetManager, sessionFactory: (isAutoAttachEmulated: boolean) => Promise<CDPSession>, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue);
-    protected _initialize(): void;
+    _initialize(): void;
     page(): Promise<Page | null>;
     _checkIfInitialized(): void;
 }
 /**
  * @internal
  */
-export declare class WorkerTarget extends Target {
+export declare class WorkerTarget extends CDPTarget {
     #private;
     worker(): Promise<WebWorker | null>;
 }
 /**
  * @internal
  */
-export declare class OtherTarget extends Target {
+export declare class OtherTarget extends CDPTarget {
 }
 //# sourceMappingURL=Target.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.d.ts.map
index 16de6e3..e5f31d0 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Target.d.ts","sourceRoot":"","sources":["../../../../src/common/Target.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Target.d.ts","sourceRoot":"","sources":["../../../../src/common/Target.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.js
index 883a61a..8eb0555 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.js
@@ -14,20 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Target_browserContext, _Target_session, _Target_targetInfo, _Target_targetManager, _Target_sessionFactory, _PageTarget_defaultViewport, _PageTarget_screenshotTaskQueue, _PageTarget_ignoreHTTPSErrors, _WorkerTarget_workerPromise;
 Object.defineProperty(exports, "__esModule", { value: true });
-exports.OtherTarget = exports.WorkerTarget = exports.PageTarget = exports.Target = exports.InitializationStatus = void 0;
+exports.OtherTarget = exports.WorkerTarget = exports.PageTarget = exports.CDPTarget = exports.InitializationStatus = void 0;
+const Target_js_1 = require("../api/Target.js");
 const Deferred_js_1 = require("../util/Deferred.js");
 const Page_js_1 = require("./Page.js");
 const util_js_1 = require("./util.js");
@@ -41,114 +30,112 @@
     InitializationStatus["ABORTED"] = "aborted";
 })(InitializationStatus || (exports.InitializationStatus = InitializationStatus = {}));
 /**
- * Target represents a
- * {@link https://chromedevtools.github.io/devtools-protocol/tot/Target/ | CDP target}.
- * In CDP a target is something that can be debugged such a frame, a page or a
- * worker.
- *
- * @public
+ * @internal
  */
-class Target {
+class CDPTarget extends Target_js_1.Target {
+    #browserContext;
+    #session;
+    #targetInfo;
+    #targetManager;
+    #sessionFactory;
     /**
      * @internal
      */
+    _initializedDeferred = Deferred_js_1.Deferred.create();
+    /**
+     * @internal
+     */
+    _isClosedDeferred = Deferred_js_1.Deferred.create();
+    /**
+     * @internal
+     */
+    _targetId;
+    /**
+     * To initialize the target for use, call initialize.
+     *
+     * @internal
+     */
     constructor(targetInfo, session, browserContext, targetManager, sessionFactory) {
-        _Target_browserContext.set(this, void 0);
-        _Target_session.set(this, void 0);
-        _Target_targetInfo.set(this, void 0);
-        _Target_targetManager.set(this, void 0);
-        _Target_sessionFactory.set(this, void 0);
-        /**
-         * @internal
-         */
-        this._initializedDeferred = Deferred_js_1.Deferred.create();
-        /**
-         * @internal
-         */
-        this._isClosedDeferred = Deferred_js_1.Deferred.create();
-        __classPrivateFieldSet(this, _Target_session, session, "f");
-        __classPrivateFieldSet(this, _Target_targetManager, targetManager, "f");
-        __classPrivateFieldSet(this, _Target_targetInfo, targetInfo, "f");
-        __classPrivateFieldSet(this, _Target_browserContext, browserContext, "f");
+        super();
+        this.#session = session;
+        this.#targetManager = targetManager;
+        this.#targetInfo = targetInfo;
+        this.#browserContext = browserContext;
         this._targetId = targetInfo.targetId;
-        __classPrivateFieldSet(this, _Target_sessionFactory, sessionFactory, "f");
-        this._initialize();
+        this.#sessionFactory = sessionFactory;
     }
     /**
      * @internal
      */
     _session() {
-        return __classPrivateFieldGet(this, _Target_session, "f");
+        return this.#session;
     }
     /**
      * @internal
      */
     _sessionFactory() {
-        return __classPrivateFieldGet(this, _Target_sessionFactory, "f");
+        if (!this.#sessionFactory) {
+            throw new Error('sessionFactory is not initialized');
+        }
+        return this.#sessionFactory;
     }
-    /**
-     * Creates a Chrome Devtools Protocol session attached to the target.
-     */
     createCDPSession() {
-        return __classPrivateFieldGet(this, _Target_sessionFactory, "f").call(this, false);
+        if (!this.#sessionFactory) {
+            throw new Error('sessionFactory is not initialized');
+        }
+        return this.#sessionFactory(false);
+    }
+    url() {
+        return this.#targetInfo.url;
+    }
+    type() {
+        const type = this.#targetInfo.type;
+        switch (type) {
+            case 'page':
+                return Target_js_1.TargetType.PAGE;
+            case 'background_page':
+                return Target_js_1.TargetType.BACKGROUND_PAGE;
+            case 'service_worker':
+                return Target_js_1.TargetType.SERVICE_WORKER;
+            case 'shared_worker':
+                return Target_js_1.TargetType.SHARED_WORKER;
+            case 'browser':
+                return Target_js_1.TargetType.BROWSER;
+            case 'webview':
+                return Target_js_1.TargetType.WEBVIEW;
+            default:
+                return Target_js_1.TargetType.OTHER;
+        }
     }
     /**
      * @internal
      */
     _targetManager() {
-        return __classPrivateFieldGet(this, _Target_targetManager, "f");
+        if (!this.#targetManager) {
+            throw new Error('targetManager is not initialized');
+        }
+        return this.#targetManager;
     }
     /**
      * @internal
      */
     _getTargetInfo() {
-        return __classPrivateFieldGet(this, _Target_targetInfo, "f");
+        return this.#targetInfo;
     }
-    /**
-     * If the target is not of type `"service_worker"` or `"shared_worker"`, returns `null`.
-     */
-    async worker() {
-        return null;
-    }
-    url() {
-        return __classPrivateFieldGet(this, _Target_targetInfo, "f").url;
-    }
-    /**
-     * Identifies what kind of target this is.
-     *
-     * @remarks
-     *
-     * See {@link https://developer.chrome.com/extensions/background_pages | docs} for more info about background pages.
-     */
-    type() {
-        const type = __classPrivateFieldGet(this, _Target_targetInfo, "f").type;
-        if (type === 'page' ||
-            type === 'background_page' ||
-            type === 'service_worker' ||
-            type === 'shared_worker' ||
-            type === 'browser' ||
-            type === 'webview') {
-            return type;
-        }
-        return 'other';
-    }
-    /**
-     * Get the browser the target belongs to.
-     */
     browser() {
-        return __classPrivateFieldGet(this, _Target_browserContext, "f").browser();
+        if (!this.#browserContext) {
+            throw new Error('browserContext is not initialised');
+        }
+        return this.#browserContext.browser();
     }
-    /**
-     * Get the browser context the target belongs to.
-     */
     browserContext() {
-        return __classPrivateFieldGet(this, _Target_browserContext, "f");
+        if (!this.#browserContext) {
+            throw new Error('browserContext is not initialised');
+        }
+        return this.#browserContext;
     }
-    /**
-     * Get the target that opened this target. Top-level targets return `null`.
-     */
     opener() {
-        const { openerId } = __classPrivateFieldGet(this, _Target_targetInfo, "f");
+        const { openerId } = this.#targetInfo;
         if (!openerId) {
             return;
         }
@@ -158,7 +145,7 @@
      * @internal
      */
     _targetInfoChanged(targetInfo) {
-        __classPrivateFieldSet(this, _Target_targetInfo, targetInfo, "f");
+        this.#targetInfo = targetInfo;
         this._checkIfInitialized();
     }
     /**
@@ -175,31 +162,24 @@
             this._initializedDeferred.resolve(InitializationStatus.SUCCESS);
         }
     }
-    /**
-     * If the target is not of type `"page"`, `"webview"` or `"background_page"`,
-     * returns `null`.
-     */
-    async page() {
-        return null;
-    }
 }
-exports.Target = Target;
-_Target_browserContext = new WeakMap(), _Target_session = new WeakMap(), _Target_targetInfo = new WeakMap(), _Target_targetManager = new WeakMap(), _Target_sessionFactory = new WeakMap();
+exports.CDPTarget = CDPTarget;
 /**
  * @internal
  */
-class PageTarget extends Target {
+class PageTarget extends CDPTarget {
+    #defaultViewport;
+    pagePromise;
+    #screenshotTaskQueue;
+    #ignoreHTTPSErrors;
     /**
      * @internal
      */
     constructor(targetInfo, session, browserContext, targetManager, sessionFactory, ignoreHTTPSErrors, defaultViewport, screenshotTaskQueue) {
         super(targetInfo, session, browserContext, targetManager, sessionFactory);
-        _PageTarget_defaultViewport.set(this, void 0);
-        _PageTarget_screenshotTaskQueue.set(this, void 0);
-        _PageTarget_ignoreHTTPSErrors.set(this, void 0);
-        __classPrivateFieldSet(this, _PageTarget_ignoreHTTPSErrors, ignoreHTTPSErrors, "f");
-        __classPrivateFieldSet(this, _PageTarget_defaultViewport, defaultViewport ?? undefined, "f");
-        __classPrivateFieldSet(this, _PageTarget_screenshotTaskQueue, screenshotTaskQueue, "f");
+        this.#ignoreHTTPSErrors = ignoreHTTPSErrors;
+        this.#defaultViewport = defaultViewport ?? undefined;
+        this.#screenshotTaskQueue = screenshotTaskQueue;
     }
     _initialize() {
         this._initializedDeferred
@@ -232,7 +212,7 @@
             this.pagePromise = (session
                 ? Promise.resolve(session)
                 : this._sessionFactory()(/* isAutoAttachEmulated=*/ false)).then(client => {
-                return Page_js_1.CDPPage._create(client, this, __classPrivateFieldGet(this, _PageTarget_ignoreHTTPSErrors, "f"), __classPrivateFieldGet(this, _PageTarget_defaultViewport, "f") ?? null, __classPrivateFieldGet(this, _PageTarget_screenshotTaskQueue, "f"));
+                return Page_js_1.CDPPage._create(client, this, this.#ignoreHTTPSErrors, this.#defaultViewport ?? null, this.#screenshotTaskQueue);
             });
         }
         return (await this.pagePromise) ?? null;
@@ -247,34 +227,29 @@
     }
 }
 exports.PageTarget = PageTarget;
-_PageTarget_defaultViewport = new WeakMap(), _PageTarget_screenshotTaskQueue = new WeakMap(), _PageTarget_ignoreHTTPSErrors = new WeakMap();
 /**
  * @internal
  */
-class WorkerTarget extends Target {
-    constructor() {
-        super(...arguments);
-        _WorkerTarget_workerPromise.set(this, void 0);
-    }
+class WorkerTarget extends CDPTarget {
+    #workerPromise;
     async worker() {
-        if (!__classPrivateFieldGet(this, _WorkerTarget_workerPromise, "f")) {
+        if (!this.#workerPromise) {
             const session = this._session();
             // TODO(einbinder): Make workers send their console logs.
-            __classPrivateFieldSet(this, _WorkerTarget_workerPromise, (session
+            this.#workerPromise = (session
                 ? Promise.resolve(session)
                 : this._sessionFactory()(/* isAutoAttachEmulated=*/ false)).then(client => {
                 return new WebWorker_js_1.WebWorker(client, this._getTargetInfo().url, () => { } /* consoleAPICalled */, () => { } /* exceptionThrown */);
-            }), "f");
+            });
         }
-        return __classPrivateFieldGet(this, _WorkerTarget_workerPromise, "f");
+        return this.#workerPromise;
     }
 }
 exports.WorkerTarget = WorkerTarget;
-_WorkerTarget_workerPromise = new WeakMap();
 /**
  * @internal
  */
-class OtherTarget extends Target {
+class OtherTarget extends CDPTarget {
 }
 exports.OtherTarget = OtherTarget;
 //# sourceMappingURL=Target.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.js.map
index f0ea740..f30b6f1 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.js.map
@@ -1 +1 @@
-{"version":3,"file":"Target.js","sourceRoot":"","sources":["../../../../src/common/Target.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Target.js","sourceRoot":"","sources":["../../../../src/common/Target.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TargetManager.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TargetManager.d.ts
index ca1b22a..51fec1f 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TargetManager.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TargetManager.d.ts
@@ -16,15 +16,15 @@
 import { Protocol } from 'devtools-protocol';
 import { CDPSession } from './Connection.js';
 import { EventEmitter } from './EventEmitter.js';
-import { Target } from './Target.js';
+import { CDPTarget } from './Target.js';
 /**
  * @internal
  */
-export type TargetFactory = (targetInfo: Protocol.Target.TargetInfo, session?: CDPSession) => Target;
+export type TargetFactory = (targetInfo: Protocol.Target.TargetInfo, session?: CDPSession) => CDPTarget;
 /**
  * @internal
  */
-export type TargetInterceptor = (createdTarget: Target, parentTarget: Target | null) => void;
+export type TargetInterceptor = (createdTarget: CDPTarget, parentTarget: CDPTarget | null) => void;
 /**
  * TargetManager encapsulates all interactions with CDP targets and is
  * responsible for coordinating the configuration of targets with the rest of
@@ -37,7 +37,7 @@
  * @internal
  */
 export interface TargetManager extends EventEmitter {
-    getAvailableTargets(): Map<string, Target>;
+    getAvailableTargets(): Map<string, CDPTarget>;
     initialize(): Promise<void>;
     dispose(): void;
     addTargetInterceptor(session: CDPSession, interceptor: TargetInterceptor): void;
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TargetManager.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TargetManager.d.ts.map
index 3cc2b8c..d3f828b 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TargetManager.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TargetManager.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"TargetManager.d.ts","sourceRoot":"","sources":["../../../../src/common/TargetManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAEnC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EACtC,OAAO,CAAC,EAAE,UAAU,KACjB,MAAM,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GAAG,IAAI,KACxB,IAAI,CAAC;AAEV;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,IAAI,CAAC;IAChB,oBAAoB,CAClB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,iBAAiB,GAC7B,IAAI,CAAC;IACR,uBAAuB,CACrB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,iBAAiB,GAC7B,IAAI,CAAC;CACT;AAED;;GAEG;AACH,0BAAkB,0BAA0B;IAC1C,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB;;OAEG;IACH,aAAa,kBAAkB;CAChC"}
\ No newline at end of file
+{"version":3,"file":"TargetManager.d.ts","sourceRoot":"","sources":["../../../../src/common/TargetManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EACtC,OAAO,CAAC,EAAE,UAAU,KACjB,SAAS,CAAC;AAEf;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,aAAa,EAAE,SAAS,EACxB,YAAY,EAAE,SAAS,GAAG,IAAI,KAC3B,IAAI,CAAC;AAEV;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,IAAI,CAAC;IAChB,oBAAoB,CAClB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,iBAAiB,GAC7B,IAAI,CAAC;IACR,uBAAuB,CACrB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,iBAAiB,GAC7B,IAAI,CAAC;CACT;AAED;;GAEG;AACH,0BAAkB,0BAA0B;IAC1C,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB;;OAEG;IACH,aAAa,kBAAkB;CAChC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.js
index 639d5c8..2603caa 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.js
@@ -14,38 +14,25 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _TaskQueue_chain;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.TaskQueue = void 0;
 /**
  * @internal
  */
 class TaskQueue {
+    #chain;
     constructor() {
-        _TaskQueue_chain.set(this, void 0);
-        __classPrivateFieldSet(this, _TaskQueue_chain, Promise.resolve(), "f");
+        this.#chain = Promise.resolve();
     }
     postTask(task) {
-        const result = __classPrivateFieldGet(this, _TaskQueue_chain, "f").then(task);
-        __classPrivateFieldSet(this, _TaskQueue_chain, result.then(() => {
+        const result = this.#chain.then(task);
+        this.#chain = result.then(() => {
             return undefined;
         }, () => {
             return undefined;
-        }), "f");
+        });
         return result;
     }
 }
 exports.TaskQueue = TaskQueue;
-_TaskQueue_chain = new WeakMap();
 //# sourceMappingURL=TaskQueue.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.js.map
index b45cf91..bd0e9ff 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.js.map
@@ -1 +1 @@
-{"version":3,"file":"TaskQueue.js","sourceRoot":"","sources":["../../../../src/common/TaskQueue.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;AAEH;;GAEG;AACH,MAAa,SAAS;IAGpB;QAFA,mCAAsB;QAGpB,uBAAA,IAAI,oBAAU,OAAO,CAAC,OAAO,EAAE,MAAA,CAAC;IAClC,CAAC;IAED,QAAQ,CAAI,IAAsB;QAChC,MAAM,MAAM,GAAG,uBAAA,IAAI,wBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,uBAAA,IAAI,oBAAU,MAAM,CAAC,IAAI,CACvB,GAAG,EAAE;YACH,OAAO,SAAS,CAAC;QACnB,CAAC,EACD,GAAG,EAAE;YACH,OAAO,SAAS,CAAC;QACnB,CAAC,CACF,MAAA,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAnBD,8BAmBC"}
\ No newline at end of file
+{"version":3,"file":"TaskQueue.js","sourceRoot":"","sources":["../../../../src/common/TaskQueue.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH;;GAEG;AACH,MAAa,SAAS;IACpB,MAAM,CAAgB;IAEtB;QACE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IAED,QAAQ,CAAI,IAAsB;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CACvB,GAAG,EAAE;YACH,OAAO,SAAS,CAAC;QACnB,CAAC,EACD,GAAG,EAAE;YACH,OAAO,SAAS,CAAC;QACnB,CAAC,CACF,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAnBD,8BAmBC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TextQueryHandler.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TextQueryHandler.js
index 427bc9c..b1341b3 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TextQueryHandler.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TextQueryHandler.js
@@ -21,9 +21,9 @@
  * @internal
  */
 class TextQueryHandler extends QueryHandler_js_1.QueryHandler {
+    static querySelectorAll = (element, selector, { textQuerySelectorAll }) => {
+        return textQuerySelectorAll(element, selector);
+    };
 }
 exports.TextQueryHandler = TextQueryHandler;
-TextQueryHandler.querySelectorAll = (element, selector, { textQuerySelectorAll }) => {
-    return textQuerySelectorAll(element, selector);
-};
 //# sourceMappingURL=TextQueryHandler.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TextQueryHandler.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TextQueryHandler.js.map
index b0eef82..2a1d144 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TextQueryHandler.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TextQueryHandler.js.map
@@ -1 +1 @@
-{"version":3,"file":"TextQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/TextQueryHandler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,uDAAiE;AAEjE;;GAEG;AACH,MAAa,gBAAiB,SAAQ,8BAAY;;AAAlD,4CAQC;AAPiB,iCAAgB,GAAqB,CACnD,OAAO,EACP,QAAQ,EACR,EAAC,oBAAoB,EAAC,EACtB,EAAE;IACF,OAAO,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC,CAAC"}
\ No newline at end of file
+{"version":3,"file":"TextQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/TextQueryHandler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,uDAAiE;AAEjE;;GAEG;AACH,MAAa,gBAAiB,SAAQ,8BAAY;IAChD,MAAM,CAAU,gBAAgB,GAAqB,CACnD,OAAO,EACP,QAAQ,EACR,EAAC,oBAAoB,EAAC,EACtB,EAAE;QACF,OAAO,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC;;AAPJ,4CAQC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TimeoutSettings.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TimeoutSettings.js
index 7d7fdf3..e1894bb 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TimeoutSettings.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TimeoutSettings.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _TimeoutSettings_defaultTimeout, _TimeoutSettings_defaultNavigationTimeout;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.TimeoutSettings = void 0;
 const DEFAULT_TIMEOUT = 30000;
@@ -33,34 +21,33 @@
  * @internal
  */
 class TimeoutSettings {
+    #defaultTimeout;
+    #defaultNavigationTimeout;
     constructor() {
-        _TimeoutSettings_defaultTimeout.set(this, void 0);
-        _TimeoutSettings_defaultNavigationTimeout.set(this, void 0);
-        __classPrivateFieldSet(this, _TimeoutSettings_defaultTimeout, null, "f");
-        __classPrivateFieldSet(this, _TimeoutSettings_defaultNavigationTimeout, null, "f");
+        this.#defaultTimeout = null;
+        this.#defaultNavigationTimeout = null;
     }
     setDefaultTimeout(timeout) {
-        __classPrivateFieldSet(this, _TimeoutSettings_defaultTimeout, timeout, "f");
+        this.#defaultTimeout = timeout;
     }
     setDefaultNavigationTimeout(timeout) {
-        __classPrivateFieldSet(this, _TimeoutSettings_defaultNavigationTimeout, timeout, "f");
+        this.#defaultNavigationTimeout = timeout;
     }
     navigationTimeout() {
-        if (__classPrivateFieldGet(this, _TimeoutSettings_defaultNavigationTimeout, "f") !== null) {
-            return __classPrivateFieldGet(this, _TimeoutSettings_defaultNavigationTimeout, "f");
+        if (this.#defaultNavigationTimeout !== null) {
+            return this.#defaultNavigationTimeout;
         }
-        if (__classPrivateFieldGet(this, _TimeoutSettings_defaultTimeout, "f") !== null) {
-            return __classPrivateFieldGet(this, _TimeoutSettings_defaultTimeout, "f");
+        if (this.#defaultTimeout !== null) {
+            return this.#defaultTimeout;
         }
         return DEFAULT_TIMEOUT;
     }
     timeout() {
-        if (__classPrivateFieldGet(this, _TimeoutSettings_defaultTimeout, "f") !== null) {
-            return __classPrivateFieldGet(this, _TimeoutSettings_defaultTimeout, "f");
+        if (this.#defaultTimeout !== null) {
+            return this.#defaultTimeout;
         }
         return DEFAULT_TIMEOUT;
     }
 }
 exports.TimeoutSettings = TimeoutSettings;
-_TimeoutSettings_defaultTimeout = new WeakMap(), _TimeoutSettings_defaultNavigationTimeout = new WeakMap();
 //# sourceMappingURL=TimeoutSettings.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TimeoutSettings.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TimeoutSettings.js.map
index 1933e71..28d7a85 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TimeoutSettings.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TimeoutSettings.js.map
@@ -1 +1 @@
-{"version":3,"file":"TimeoutSettings.js","sourceRoot":"","sources":["../../../../src/common/TimeoutSettings.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;AAEH,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B;;GAEG;AACH,MAAa,eAAe;IAI1B;QAHA,kDAA+B;QAC/B,4DAAyC;QAGvC,uBAAA,IAAI,mCAAmB,IAAI,MAAA,CAAC;QAC5B,uBAAA,IAAI,6CAA6B,IAAI,MAAA,CAAC;IACxC,CAAC;IAED,iBAAiB,CAAC,OAAe;QAC/B,uBAAA,IAAI,mCAAmB,OAAO,MAAA,CAAC;IACjC,CAAC;IAED,2BAA2B,CAAC,OAAe;QACzC,uBAAA,IAAI,6CAA6B,OAAO,MAAA,CAAC;IAC3C,CAAC;IAED,iBAAiB;QACf,IAAI,uBAAA,IAAI,iDAA0B,KAAK,IAAI,EAAE;YAC3C,OAAO,uBAAA,IAAI,iDAA0B,CAAC;SACvC;QACD,IAAI,uBAAA,IAAI,uCAAgB,KAAK,IAAI,EAAE;YACjC,OAAO,uBAAA,IAAI,uCAAgB,CAAC;SAC7B;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,OAAO;QACL,IAAI,uBAAA,IAAI,uCAAgB,KAAK,IAAI,EAAE;YACjC,OAAO,uBAAA,IAAI,uCAAgB,CAAC;SAC7B;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AAjCD,0CAiCC"}
\ No newline at end of file
+{"version":3,"file":"TimeoutSettings.js","sourceRoot":"","sources":["../../../../src/common/TimeoutSettings.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B;;GAEG;AACH,MAAa,eAAe;IAC1B,eAAe,CAAgB;IAC/B,yBAAyB,CAAgB;IAEzC;QACE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;IACxC,CAAC;IAED,iBAAiB,CAAC,OAAe;QAC/B,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;IACjC,CAAC;IAED,2BAA2B,CAAC,OAAe;QACzC,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC;IAC3C,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,yBAAyB,KAAK,IAAI,EAAE;YAC3C,OAAO,IAAI,CAAC,yBAAyB,CAAC;SACvC;QACD,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YACjC,OAAO,IAAI,CAAC,eAAe,CAAC;SAC7B;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YACjC,OAAO,IAAI,CAAC,eAAe,CAAC;SAC7B;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AAjCD,0CAiCC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.js
index d595478..ee392ef 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.js
@@ -1,16 +1,4 @@
 "use strict";
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Tracing_client, _Tracing_recording, _Tracing_path;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.Tracing = void 0;
 /**
@@ -49,14 +37,14 @@
  * @public
  */
 class Tracing {
+    #client;
+    #recording = false;
+    #path;
     /**
      * @internal
      */
     constructor(client) {
-        _Tracing_client.set(this, void 0);
-        _Tracing_recording.set(this, false);
-        _Tracing_path.set(this, void 0);
-        __classPrivateFieldSet(this, _Tracing_client, client, "f");
+        this.#client = client;
     }
     /**
      * Starts a trace for the current page.
@@ -66,7 +54,7 @@
      * @param options - Optional `TracingOptions`.
      */
     async start(options = {}) {
-        (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _Tracing_recording, "f"), 'Cannot start recording trace while already recording trace.');
+        (0, assert_js_1.assert)(!this.#recording, 'Cannot start recording trace while already recording trace.');
         const defaultCategories = [
             '-*',
             'devtools.timeline',
@@ -94,9 +82,9 @@
         const includedCategories = categories.filter(cat => {
             return !cat.startsWith('-');
         });
-        __classPrivateFieldSet(this, _Tracing_path, path, "f");
-        __classPrivateFieldSet(this, _Tracing_recording, true, "f");
-        await __classPrivateFieldGet(this, _Tracing_client, "f").send('Tracing.start', {
+        this.#path = path;
+        this.#recording = true;
+        await this.#client.send('Tracing.start', {
             transferMode: 'ReturnAsStream',
             traceConfig: {
                 excludedCategories,
@@ -110,10 +98,10 @@
      */
     async stop() {
         const contentDeferred = Deferred_js_1.Deferred.create();
-        __classPrivateFieldGet(this, _Tracing_client, "f").once('Tracing.tracingComplete', async (event) => {
+        this.#client.once('Tracing.tracingComplete', async (event) => {
             try {
-                const readable = await (0, util_js_1.getReadableFromProtocolStream)(__classPrivateFieldGet(this, _Tracing_client, "f"), event.stream);
-                const buffer = await (0, util_js_1.getReadableAsBuffer)(readable, __classPrivateFieldGet(this, _Tracing_path, "f"));
+                const readable = await (0, util_js_1.getReadableFromProtocolStream)(this.#client, event.stream);
+                const buffer = await (0, util_js_1.getReadableAsBuffer)(readable, this.#path);
                 contentDeferred.resolve(buffer ?? undefined);
             }
             catch (error) {
@@ -125,11 +113,10 @@
                 }
             }
         });
-        await __classPrivateFieldGet(this, _Tracing_client, "f").send('Tracing.end');
-        __classPrivateFieldSet(this, _Tracing_recording, false, "f");
+        await this.#client.send('Tracing.end');
+        this.#recording = false;
         return contentDeferred.valueOrThrow();
     }
 }
 exports.Tracing = Tracing;
-_Tracing_client = new WeakMap(), _Tracing_recording = new WeakMap(), _Tracing_path = new WeakMap();
 //# sourceMappingURL=Tracing.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.js.map
index 545939f..7cbca7e 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.js.map
@@ -1 +1 @@
-{"version":3,"file":"Tracing.js","sourceRoot":"","sources":["../../../../src/common/Tracing.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Tracing.js","sourceRoot":"","sources":["../../../../src/common/Tracing.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WaitTask.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WaitTask.d.ts.map
index 4f12420..77f500a 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WaitTask.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WaitTask.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"WaitTask.d.ts","sourceRoot":"","sources":["../../../../src/common/WaitTask.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAStC,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;IACrC,IAAI,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,QAAQ,CAAC,CAAC,GAAG,OAAO;;gBAgB7B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,eAAe,EACxB,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EACjD,GAAG,IAAI,EAAE,OAAO,EAAE;IAuCpB,IAAI,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAElC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsEtB,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B7C;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS;CAiC/C;AAED;;GAEG;AACH,qBAAa,WAAW;;IAGtB,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI;IAI9B,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI;IAIjC,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAO3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAOhC"}
\ No newline at end of file
+{"version":3,"file":"WaitTask.d.ts","sourceRoot":"","sources":["../../../../src/common/WaitTask.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAStC,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;IACrC,IAAI,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,QAAQ,CAAC,CAAC,GAAG,OAAO;;gBAgB7B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,eAAe,EACxB,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EACjD,GAAG,IAAI,EAAE,OAAO,EAAE;IAuCpB,IAAI,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAElC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsEtB,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B7C;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS;CAgC/C;AAED;;GAEG;AACH,qBAAa,WAAW;;IAGtB,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI;IAI9B,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI;IAIjC,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAO3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAOhC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WaitTask.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WaitTask.js
index ef536c1..a937edc 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WaitTask.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WaitTask.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _WaitTask_world, _WaitTask_polling, _WaitTask_root, _WaitTask_fn, _WaitTask_args, _WaitTask_timeout, _WaitTask_result, _WaitTask_poller, _WaitTask_signal, _TaskManager_tasks;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.TaskManager = exports.WaitTask = void 0;
 const Deferred_js_1 = require("../util/Deferred.js");
@@ -37,86 +25,86 @@
  * @internal
  */
 class WaitTask {
+    #world;
+    #polling;
+    #root;
+    #fn;
+    #args;
+    #timeout;
+    #result = Deferred_js_1.Deferred.create();
+    #poller;
+    #signal;
     constructor(world, options, fn, ...args) {
-        _WaitTask_world.set(this, void 0);
-        _WaitTask_polling.set(this, void 0);
-        _WaitTask_root.set(this, void 0);
-        _WaitTask_fn.set(this, void 0);
-        _WaitTask_args.set(this, void 0);
-        _WaitTask_timeout.set(this, void 0);
-        _WaitTask_result.set(this, Deferred_js_1.Deferred.create());
-        _WaitTask_poller.set(this, void 0);
-        _WaitTask_signal.set(this, void 0);
-        __classPrivateFieldSet(this, _WaitTask_world, world, "f");
-        __classPrivateFieldSet(this, _WaitTask_polling, options.polling, "f");
-        __classPrivateFieldSet(this, _WaitTask_root, options.root, "f");
-        __classPrivateFieldSet(this, _WaitTask_signal, options.signal, "f");
-        __classPrivateFieldGet(this, _WaitTask_signal, "f")?.addEventListener('abort', () => {
-            void this.terminate(__classPrivateFieldGet(this, _WaitTask_signal, "f")?.reason);
+        this.#world = world;
+        this.#polling = options.polling;
+        this.#root = options.root;
+        this.#signal = options.signal;
+        this.#signal?.addEventListener('abort', () => {
+            void this.terminate(this.#signal?.reason);
         }, {
             once: true,
         });
         switch (typeof fn) {
             case 'string':
-                __classPrivateFieldSet(this, _WaitTask_fn, `() => {return (${fn});}`, "f");
+                this.#fn = `() => {return (${fn});}`;
                 break;
             default:
-                __classPrivateFieldSet(this, _WaitTask_fn, (0, Function_js_1.stringifyFunction)(fn), "f");
+                this.#fn = (0, Function_js_1.stringifyFunction)(fn);
                 break;
         }
-        __classPrivateFieldSet(this, _WaitTask_args, args, "f");
-        __classPrivateFieldGet(this, _WaitTask_world, "f").taskManager.add(this);
+        this.#args = args;
+        this.#world.taskManager.add(this);
         if (options.timeout) {
-            __classPrivateFieldSet(this, _WaitTask_timeout, setTimeout(() => {
+            this.#timeout = setTimeout(() => {
                 void this.terminate(new Errors_js_1.TimeoutError(`Waiting failed: ${options.timeout}ms exceeded`));
-            }, options.timeout), "f");
+            }, options.timeout);
         }
         void this.rerun();
     }
     get result() {
-        return __classPrivateFieldGet(this, _WaitTask_result, "f").valueOrThrow();
+        return this.#result.valueOrThrow();
     }
     async rerun() {
         try {
-            switch (__classPrivateFieldGet(this, _WaitTask_polling, "f")) {
+            switch (this.#polling) {
                 case 'raf':
-                    __classPrivateFieldSet(this, _WaitTask_poller, await __classPrivateFieldGet(this, _WaitTask_world, "f").evaluateHandle(({ RAFPoller, createFunction }, fn, ...args) => {
+                    this.#poller = await this.#world.evaluateHandle(({ RAFPoller, createFunction }, fn, ...args) => {
                         const fun = createFunction(fn);
                         return new RAFPoller(() => {
                             return fun(...args);
                         });
                     }, LazyArg_js_1.LazyArg.create(context => {
                         return context.puppeteerUtil;
-                    }), __classPrivateFieldGet(this, _WaitTask_fn, "f"), ...__classPrivateFieldGet(this, _WaitTask_args, "f")), "f");
+                    }), this.#fn, ...this.#args);
                     break;
                 case 'mutation':
-                    __classPrivateFieldSet(this, _WaitTask_poller, await __classPrivateFieldGet(this, _WaitTask_world, "f").evaluateHandle(({ MutationPoller, createFunction }, root, fn, ...args) => {
+                    this.#poller = await this.#world.evaluateHandle(({ MutationPoller, createFunction }, root, fn, ...args) => {
                         const fun = createFunction(fn);
                         return new MutationPoller(() => {
                             return fun(...args);
                         }, root || document);
                     }, LazyArg_js_1.LazyArg.create(context => {
                         return context.puppeteerUtil;
-                    }), __classPrivateFieldGet(this, _WaitTask_root, "f"), __classPrivateFieldGet(this, _WaitTask_fn, "f"), ...__classPrivateFieldGet(this, _WaitTask_args, "f")), "f");
+                    }), this.#root, this.#fn, ...this.#args);
                     break;
                 default:
-                    __classPrivateFieldSet(this, _WaitTask_poller, await __classPrivateFieldGet(this, _WaitTask_world, "f").evaluateHandle(({ IntervalPoller, createFunction }, ms, fn, ...args) => {
+                    this.#poller = await this.#world.evaluateHandle(({ IntervalPoller, createFunction }, ms, fn, ...args) => {
                         const fun = createFunction(fn);
                         return new IntervalPoller(() => {
                             return fun(...args);
                         }, ms);
                     }, LazyArg_js_1.LazyArg.create(context => {
                         return context.puppeteerUtil;
-                    }), __classPrivateFieldGet(this, _WaitTask_polling, "f"), __classPrivateFieldGet(this, _WaitTask_fn, "f"), ...__classPrivateFieldGet(this, _WaitTask_args, "f")), "f");
+                    }), this.#polling, this.#fn, ...this.#args);
                     break;
             }
-            await __classPrivateFieldGet(this, _WaitTask_poller, "f").evaluate(poller => {
+            await this.#poller.evaluate(poller => {
                 void poller.start();
             });
-            const result = await __classPrivateFieldGet(this, _WaitTask_poller, "f").evaluateHandle(poller => {
+            const result = await this.#poller.evaluateHandle(poller => {
                 return poller.result();
             });
-            __classPrivateFieldGet(this, _WaitTask_result, "f").resolve(result);
+            this.#result.resolve(result);
             await this.terminate();
         }
         catch (error) {
@@ -127,21 +115,21 @@
         }
     }
     async terminate(error) {
-        __classPrivateFieldGet(this, _WaitTask_world, "f").taskManager.delete(this);
-        if (__classPrivateFieldGet(this, _WaitTask_timeout, "f")) {
-            clearTimeout(__classPrivateFieldGet(this, _WaitTask_timeout, "f"));
+        this.#world.taskManager.delete(this);
+        if (this.#timeout) {
+            clearTimeout(this.#timeout);
         }
-        if (error && !__classPrivateFieldGet(this, _WaitTask_result, "f").finished()) {
-            __classPrivateFieldGet(this, _WaitTask_result, "f").reject(error);
+        if (error && !this.#result.finished()) {
+            this.#result.reject(error);
         }
-        if (__classPrivateFieldGet(this, _WaitTask_poller, "f")) {
+        if (this.#poller) {
             try {
-                await __classPrivateFieldGet(this, _WaitTask_poller, "f").evaluateHandle(async (poller) => {
+                await this.#poller.evaluateHandle(async (poller) => {
                     await poller.stop();
                 });
-                if (__classPrivateFieldGet(this, _WaitTask_poller, "f")) {
-                    await __classPrivateFieldGet(this, _WaitTask_poller, "f").dispose();
-                    __classPrivateFieldSet(this, _WaitTask_poller, undefined, "f");
+                if (this.#poller) {
+                    await this.#poller.dispose();
+                    this.#poller = undefined;
                 }
             }
             catch {
@@ -172,39 +160,34 @@
             }
             return error;
         }
-        // @ts-expect-error TODO: uncomment once cause is supported in Node types.
         return new Error('WaitTask failed with an error', {
             cause: error,
         });
     }
 }
 exports.WaitTask = WaitTask;
-_WaitTask_world = new WeakMap(), _WaitTask_polling = new WeakMap(), _WaitTask_root = new WeakMap(), _WaitTask_fn = new WeakMap(), _WaitTask_args = new WeakMap(), _WaitTask_timeout = new WeakMap(), _WaitTask_result = new WeakMap(), _WaitTask_poller = new WeakMap(), _WaitTask_signal = new WeakMap();
 /**
  * @internal
  */
 class TaskManager {
-    constructor() {
-        _TaskManager_tasks.set(this, new Set());
-    }
+    #tasks = new Set();
     add(task) {
-        __classPrivateFieldGet(this, _TaskManager_tasks, "f").add(task);
+        this.#tasks.add(task);
     }
     delete(task) {
-        __classPrivateFieldGet(this, _TaskManager_tasks, "f").delete(task);
+        this.#tasks.delete(task);
     }
     terminateAll(error) {
-        for (const task of __classPrivateFieldGet(this, _TaskManager_tasks, "f")) {
+        for (const task of this.#tasks) {
             void task.terminate(error);
         }
-        __classPrivateFieldGet(this, _TaskManager_tasks, "f").clear();
+        this.#tasks.clear();
     }
     async rerunAll() {
-        await Promise.all([...__classPrivateFieldGet(this, _TaskManager_tasks, "f")].map(task => {
+        await Promise.all([...this.#tasks].map(task => {
             return task.rerun();
         }));
     }
 }
 exports.TaskManager = TaskManager;
-_TaskManager_tasks = new WeakMap();
 //# sourceMappingURL=WaitTask.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WaitTask.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WaitTask.js.map
index 932bdc2..99c04d4 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WaitTask.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WaitTask.js.map
@@ -1 +1 @@
-{"version":3,"file":"WaitTask.js","sourceRoot":"","sources":["../../../../src/common/WaitTask.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"WaitTask.js","sourceRoot":"","sources":["../../../../src/common/WaitTask.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebWorker.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebWorker.js
index bb1938c..91ca64a 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebWorker.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebWorker.js
@@ -1,16 +1,4 @@
 "use strict";
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _WebWorker_executionContext, _WebWorker_client, _WebWorker_url;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.WebWorker = void 0;
 const Deferred_js_1 = require("../util/Deferred.js");
@@ -45,23 +33,23 @@
  * @public
  */
 class WebWorker extends EventEmitter_js_1.EventEmitter {
+    #executionContext = Deferred_js_1.Deferred.create();
+    #client;
+    #url;
     /**
      * @internal
      */
     constructor(client, url, consoleAPICalled, exceptionThrown) {
         super();
-        _WebWorker_executionContext.set(this, Deferred_js_1.Deferred.create());
-        _WebWorker_client.set(this, void 0);
-        _WebWorker_url.set(this, void 0);
-        __classPrivateFieldSet(this, _WebWorker_client, client, "f");
-        __classPrivateFieldSet(this, _WebWorker_url, url, "f");
-        __classPrivateFieldGet(this, _WebWorker_client, "f").once('Runtime.executionContextCreated', async (event) => {
+        this.#client = client;
+        this.#url = url;
+        this.#client.once('Runtime.executionContextCreated', async (event) => {
             const context = new ExecutionContext_js_1.ExecutionContext(client, event.context);
-            __classPrivateFieldGet(this, _WebWorker_executionContext, "f").resolve(context);
+            this.#executionContext.resolve(context);
         });
-        __classPrivateFieldGet(this, _WebWorker_client, "f").on('Runtime.consoleAPICalled', async (event) => {
+        this.#client.on('Runtime.consoleAPICalled', async (event) => {
             try {
-                const context = await __classPrivateFieldGet(this, _WebWorker_executionContext, "f").valueOrThrow();
+                const context = await this.#executionContext.valueOrThrow();
                 return consoleAPICalled(event.type, event.args.map((object) => {
                     return new JSHandle_js_1.CDPJSHandle(context, object);
                 }), event.stackTrace);
@@ -70,29 +58,29 @@
                 (0, util_js_1.debugError)(err);
             }
         });
-        __classPrivateFieldGet(this, _WebWorker_client, "f").on('Runtime.exceptionThrown', exception => {
+        this.#client.on('Runtime.exceptionThrown', exception => {
             return exceptionThrown(exception.exceptionDetails);
         });
         // This might fail if the target is closed before we receive all execution contexts.
-        __classPrivateFieldGet(this, _WebWorker_client, "f").send('Runtime.enable').catch(util_js_1.debugError);
+        this.#client.send('Runtime.enable').catch(util_js_1.debugError);
     }
     /**
      * @internal
      */
     async executionContext() {
-        return __classPrivateFieldGet(this, _WebWorker_executionContext, "f").valueOrThrow();
+        return this.#executionContext.valueOrThrow();
     }
     /**
      * The URL of this web worker.
      */
     url() {
-        return __classPrivateFieldGet(this, _WebWorker_url, "f");
+        return this.#url;
     }
     /**
      * The CDP session client the WebWorker belongs to.
      */
     get client() {
-        return __classPrivateFieldGet(this, _WebWorker_client, "f");
+        return this.#client;
     }
     /**
      * If the function passed to the `worker.evaluate` returns a Promise, then
@@ -110,7 +98,7 @@
      */
     async evaluate(pageFunction, ...args) {
         pageFunction = (0, util_js_1.withSourcePuppeteerURLIfNone)(this.evaluate.name, pageFunction);
-        const context = await __classPrivateFieldGet(this, _WebWorker_executionContext, "f").valueOrThrow();
+        const context = await this.#executionContext.valueOrThrow();
         return context.evaluate(pageFunction, ...args);
     }
     /**
@@ -127,10 +115,9 @@
      */
     async evaluateHandle(pageFunction, ...args) {
         pageFunction = (0, util_js_1.withSourcePuppeteerURLIfNone)(this.evaluateHandle.name, pageFunction);
-        const context = await __classPrivateFieldGet(this, _WebWorker_executionContext, "f").valueOrThrow();
+        const context = await this.#executionContext.valueOrThrow();
         return context.evaluateHandle(pageFunction, ...args);
     }
 }
 exports.WebWorker = WebWorker;
-_WebWorker_executionContext = new WeakMap(), _WebWorker_client = new WeakMap(), _WebWorker_url = new WeakMap();
 //# sourceMappingURL=WebWorker.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebWorker.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebWorker.js.map
index 6656489..96d1c0d 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebWorker.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebWorker.js.map
@@ -1 +1 @@
-{"version":3,"file":"WebWorker.js","sourceRoot":"","sources":["../../../../src/common/WebWorker.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"WebWorker.js","sourceRoot":"","sources":["../../../../src/common/WebWorker.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/XPathQueryHandler.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/XPathQueryHandler.js
index 5ec4535..289dbe3 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/XPathQueryHandler.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/XPathQueryHandler.js
@@ -21,9 +21,9 @@
  * @internal
  */
 class XPathQueryHandler extends QueryHandler_js_1.QueryHandler {
+    static querySelectorAll = (element, selector, { xpathQuerySelectorAll }) => {
+        return xpathQuerySelectorAll(element, selector);
+    };
 }
 exports.XPathQueryHandler = XPathQueryHandler;
-XPathQueryHandler.querySelectorAll = (element, selector, { xpathQuerySelectorAll }) => {
-    return xpathQuerySelectorAll(element, selector);
-};
 //# sourceMappingURL=XPathQueryHandler.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/XPathQueryHandler.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/XPathQueryHandler.js.map
index 0339a2c..69d668b 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/XPathQueryHandler.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/XPathQueryHandler.js.map
@@ -1 +1 @@
-{"version":3,"file":"XPathQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/XPathQueryHandler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,uDAAiE;AAEjE;;GAEG;AACH,MAAa,iBAAkB,SAAQ,8BAAY;;AAAnD,8CAQC;AAPiB,kCAAgB,GAAqB,CACnD,OAAO,EACP,QAAQ,EACR,EAAC,qBAAqB,EAAC,EACvB,EAAE;IACF,OAAO,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAClD,CAAC,CAAC"}
\ No newline at end of file
+{"version":3,"file":"XPathQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/XPathQueryHandler.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,uDAAiE;AAEjE;;GAEG;AACH,MAAa,iBAAkB,SAAQ,8BAAY;IACjD,MAAM,CAAU,gBAAgB,GAAqB,CACnD,OAAO,EACP,QAAQ,EACR,EAAC,qBAAqB,EAAC,EACvB,EAAE;QACF,OAAO,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC;;AAPJ,8CAQC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BidiOverCDP.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BidiOverCDP.js
index b9676d2..0b72e8b 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BidiOverCDP.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BidiOverCDP.js
@@ -37,18 +37,6 @@
     __setModuleDefault(result, mod);
     return result;
 };
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _CDPConnectionAdapter_cdp, _CDPConnectionAdapter_adapters, _CDPConnectionAdapter_browser, _CDPClientAdapter_closed, _CDPClientAdapter_client, _CDPClientAdapter_forwardMessage, _NoOpTransport_onMessage;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.connectBidiOverCDP = void 0;
 const BidiMapper = __importStar(require("chromium-bidi/lib/cjs/bidiMapper/bidiMapper.js"));
@@ -87,36 +75,35 @@
  * @internal
  */
 class CDPConnectionAdapter {
+    #cdp;
+    #adapters = new Map();
+    #browser;
     constructor(cdp) {
-        _CDPConnectionAdapter_cdp.set(this, void 0);
-        _CDPConnectionAdapter_adapters.set(this, new Map());
-        _CDPConnectionAdapter_browser.set(this, void 0);
-        __classPrivateFieldSet(this, _CDPConnectionAdapter_cdp, cdp, "f");
-        __classPrivateFieldSet(this, _CDPConnectionAdapter_browser, new CDPClientAdapter(cdp), "f");
+        this.#cdp = cdp;
+        this.#browser = new CDPClientAdapter(cdp);
     }
     browserClient() {
-        return __classPrivateFieldGet(this, _CDPConnectionAdapter_browser, "f");
+        return this.#browser;
     }
     getCdpClient(id) {
-        const session = __classPrivateFieldGet(this, _CDPConnectionAdapter_cdp, "f").session(id);
+        const session = this.#cdp.session(id);
         if (!session) {
             throw new Error('Unknown CDP session with id' + id);
         }
-        if (!__classPrivateFieldGet(this, _CDPConnectionAdapter_adapters, "f").has(session)) {
-            const adapter = new CDPClientAdapter(session);
-            __classPrivateFieldGet(this, _CDPConnectionAdapter_adapters, "f").set(session, adapter);
+        if (!this.#adapters.has(session)) {
+            const adapter = new CDPClientAdapter(session, id, this.#browser);
+            this.#adapters.set(session, adapter);
             return adapter;
         }
-        return __classPrivateFieldGet(this, _CDPConnectionAdapter_adapters, "f").get(session);
+        return this.#adapters.get(session);
     }
     close() {
-        __classPrivateFieldGet(this, _CDPConnectionAdapter_browser, "f").close();
-        for (const adapter of __classPrivateFieldGet(this, _CDPConnectionAdapter_adapters, "f").values()) {
+        this.#browser.close();
+        for (const adapter of this.#adapters.values()) {
             adapter.close();
         }
     }
 }
-_CDPConnectionAdapter_cdp = new WeakMap(), _CDPConnectionAdapter_adapters = new WeakMap(), _CDPConnectionAdapter_browser = new WeakMap();
 /**
  * Wrapper on top of CDPSession/CDPConnection to satisfy CDP interface that
  * BidiServer needs.
@@ -124,65 +111,67 @@
  * @internal
  */
 class CDPClientAdapter extends BidiMapper.EventEmitter {
-    constructor(client) {
+    #closed = false;
+    #client;
+    sessionId = undefined;
+    #browserClient;
+    constructor(client, sessionId, browserClient) {
         super();
-        _CDPClientAdapter_closed.set(this, false);
-        _CDPClientAdapter_client.set(this, void 0);
-        _CDPClientAdapter_forwardMessage.set(this, (method, event) => {
-            this.emit(method, event);
-        });
-        __classPrivateFieldSet(this, _CDPClientAdapter_client, client, "f");
-        __classPrivateFieldGet(this, _CDPClientAdapter_client, "f").on('*', __classPrivateFieldGet(this, _CDPClientAdapter_forwardMessage, "f"));
+        this.#client = client;
+        this.sessionId = sessionId;
+        this.#browserClient = browserClient;
+        this.#client.on('*', this.#forwardMessage);
     }
+    browserClient() {
+        return this.#browserClient;
+    }
+    #forwardMessage = (method, event) => {
+        this.emit(method, event);
+    };
     async sendCommand(method, ...params) {
-        if (__classPrivateFieldGet(this, _CDPClientAdapter_closed, "f")) {
+        if (this.#closed) {
             return;
         }
         try {
-            return await __classPrivateFieldGet(this, _CDPClientAdapter_client, "f").send(method, ...params);
+            return await this.#client.send(method, ...params);
         }
         catch (err) {
-            if (__classPrivateFieldGet(this, _CDPClientAdapter_closed, "f")) {
+            if (this.#closed) {
                 return;
             }
             throw err;
         }
     }
     close() {
-        __classPrivateFieldGet(this, _CDPClientAdapter_client, "f").off('*', __classPrivateFieldGet(this, _CDPClientAdapter_forwardMessage, "f"));
-        __classPrivateFieldSet(this, _CDPClientAdapter_closed, true, "f");
+        this.#client.off('*', this.#forwardMessage);
+        this.#closed = true;
     }
     isCloseError(error) {
         return error instanceof Errors_js_1.TargetCloseError;
     }
 }
-_CDPClientAdapter_closed = new WeakMap(), _CDPClientAdapter_client = new WeakMap(), _CDPClientAdapter_forwardMessage = new WeakMap();
 /**
  * This transport is given to the BiDi server instance and allows Puppeteer
  * to send and receive commands to the BiDiServer.
  * @internal
  */
 class NoOpTransport extends BidiMapper.EventEmitter {
-    constructor() {
-        super(...arguments);
-        _NoOpTransport_onMessage.set(this, async (_m) => {
-            return;
-        });
-    }
+    #onMessage = async (_m) => {
+        return;
+    };
     emitMessage(message) {
-        void __classPrivateFieldGet(this, _NoOpTransport_onMessage, "f").call(this, message);
+        void this.#onMessage(message);
     }
     setOnMessage(onMessage) {
-        __classPrivateFieldSet(this, _NoOpTransport_onMessage, onMessage, "f");
+        this.#onMessage = onMessage;
     }
     async sendMessage(message) {
         this.emit('bidiResponse', message);
     }
     close() {
-        __classPrivateFieldSet(this, _NoOpTransport_onMessage, async (_m) => {
+        this.#onMessage = async (_m) => {
             return;
-        }, "f");
+        };
     }
 }
-_NoOpTransport_onMessage = new WeakMap();
 //# sourceMappingURL=BidiOverCDP.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BidiOverCDP.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BidiOverCDP.js.map
index 6ce84a0..cf93dc1 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BidiOverCDP.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BidiOverCDP.js.map
@@ -1 +1 @@
-{"version":3,"file":"BidiOverCDP.js","sourceRoot":"","sources":["../../../../../src/common/bidi/BidiOverCDP.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"BidiOverCDP.js","sourceRoot":"","sources":["../../../../../src/common/bidi/BidiOverCDP.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Browser.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Browser.d.ts
index 089a215..060082f 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Browser.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Browser.d.ts
@@ -19,15 +19,17 @@
 import { Browser as BrowserBase, BrowserCloseCallback, BrowserContextOptions } from '../../api/Browser.js';
 import { BrowserContext as BrowserContextBase } from '../../api/BrowserContext.js';
 import { Page } from '../../api/Page.js';
+import { Target } from '../../api/Target.js';
 import { Viewport } from '../PuppeteerViewport.js';
 import { BrowserContext } from './BrowserContext.js';
 import { Connection } from './Connection.js';
+import { BiDiTarget } from './Target.js';
 /**
  * @internal
  */
 export declare class Browser extends BrowserBase {
     #private;
-    static readonly subscribeModules: Bidi.Session.SubscriptionRequestEvent[];
+    static readonly subscribeModules: string[];
     static readonly subscribeCdpEvents: Bidi.Cdp.EventNames[];
     static create(opts: Options): Promise<Browser>;
     constructor(opts: Options & {
@@ -46,11 +48,15 @@
      * return a single instance of {@link BrowserContext}.
      */
     browserContexts(): BrowserContext[];
+    _closeContext(browserContext: BrowserContext): Promise<void>;
     /**
      * Returns the default browser context. The default browser context cannot be closed.
      */
     defaultBrowserContext(): BrowserContext;
     newPage(): Promise<Page>;
+    targets(): Target[];
+    _getTargetById(id: string): BiDiTarget;
+    target(): Target;
 }
 interface Options {
     process?: ChildProcess;
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Browser.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Browser.d.ts.map
index 5993379..bf10771 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Browser.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Browser.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Browser.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EACL,OAAO,IAAI,WAAW,EACtB,oBAAoB,EACpB,qBAAqB,EAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,cAAc,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAG3C;;GAEG;AACH,qBAAa,OAAQ,SAAQ,WAAW;;IACtC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAIvE;IACF,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAOvD;WAKW,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBAwClD,IAAI,EAAE,OAAO,GAAG;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB;IAoBH,IAAI,UAAU,IAAI,UAAU,CAE3B;IAEQ,UAAU,IAAI,MAAM;IAId,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B,WAAW,IAAI,OAAO;IAItB,OAAO,IAAI,YAAY,GAAG,IAAI;IAIxB,6BAA6B,CAC1C,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,OAAO,CAAC,kBAAkB,CAAC;IAQf,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAIzC;;;OAGG;IACM,eAAe,IAAI,cAAc,EAAE;IAK5C;;OAEG;IACM,qBAAqB,IAAI,cAAc;IAIvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC;AAED,UAAU,OAAO;IACf,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
\ No newline at end of file
+{"version":3,"file":"Browser.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EACL,OAAO,IAAI,WAAW,EACtB,oBAAoB,EAEpB,qBAAqB,EAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,cAAc,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAKnD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAIL,UAAU,EACX,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,qBAAa,OAAQ,SAAQ,WAAW;;IAEtC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAIxC;IACF,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAUvD;WAEW,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBA4DlD,IAAI,EAAE,OAAO,GAAG;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB;IAkGH,IAAI,UAAU,IAAI,UAAU,CAE3B;IAEQ,UAAU,IAAI,MAAM;IAId,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B,WAAW,IAAI,OAAO;IAItB,OAAO,IAAI,YAAY,GAAG,IAAI;IAIxB,6BAA6B,CAC1C,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,OAAO,CAAC,kBAAkB,CAAC;IAUf,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAIzC;;;OAGG;IACM,eAAe,IAAI,cAAc,EAAE;IAKtC,aAAa,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlE;;OAEG;IACM,qBAAqB,IAAI,cAAc;IAIvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,OAAO,IAAI,MAAM,EAAE;IAI5B,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU;IAQ7B,MAAM,IAAI,MAAM;CAG1B;AAED,UAAU,OAAO;IACf,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Browser.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Browser.js
index fb05e14..70ab8eb 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Browser.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Browser.js
@@ -14,27 +14,34 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Browser_browserName, _Browser_browserVersion, _Browser_process, _Browser_closeCallback, _Browser_connection, _Browser_defaultViewport, _Browser_defaultContext;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.Browser = void 0;
 const Browser_js_1 = require("../../api/Browser.js");
 const BrowserContext_js_1 = require("./BrowserContext.js");
+const BrowsingContext_js_1 = require("./BrowsingContext.js");
+const Target_js_1 = require("./Target.js");
 const utils_js_1 = require("./utils.js");
 /**
  * @internal
  */
 class Browser extends Browser_js_1.Browser {
+    // TODO: Update generator to include fully module
+    static subscribeModules = [
+        'browsingContext',
+        'network',
+        'log',
+    ];
+    static subscribeCdpEvents = [
+        // Coverage
+        'cdp.Debugger.scriptParsed',
+        'cdp.CSS.styleSheetAdded',
+        'cdp.Runtime.executionContextsCleared',
+        // Tracing
+        'cdp.Tracing.tracingComplete',
+        // TODO: subscribe to all CDP events in the future.
+        'cdp.Network.requestWillBeSent',
+        'cdp.Debugger.scriptParsed',
+    ];
     static async create(opts) {
         let browserName = '';
         let browserVersion = '';
@@ -59,66 +66,151 @@
                 ? Browser.subscribeModules
                 : [...Browser.subscribeModules, ...Browser.subscribeCdpEvents],
         });
-        return new Browser({
+        const browser = new Browser({
             ...opts,
             browserName,
             browserVersion,
         });
+        await browser.#getTree();
+        return browser;
     }
+    #browserName = '';
+    #browserVersion = '';
+    #process;
+    #closeCallback;
+    #connection;
+    #defaultViewport;
+    #defaultContext;
+    #targets = new Map();
+    #contexts = [];
+    #browserTarget;
+    #connectionEventHandlers = new Map([
+        ['browsingContext.contextCreated', this.#onContextCreated.bind(this)],
+        ['browsingContext.contextDestroyed', this.#onContextDestroyed.bind(this)],
+        ['browsingContext.domContentLoaded', this.#onContextDomLoaded.bind(this)],
+        ['browsingContext.fragmentNavigated', this.#onContextNavigation.bind(this)],
+        ['browsingContext.navigationStarted', this.#onContextNavigation.bind(this)],
+    ]);
     constructor(opts) {
         super();
-        _Browser_browserName.set(this, '');
-        _Browser_browserVersion.set(this, '');
-        _Browser_process.set(this, void 0);
-        _Browser_closeCallback.set(this, void 0);
-        _Browser_connection.set(this, void 0);
-        _Browser_defaultViewport.set(this, void 0);
-        _Browser_defaultContext.set(this, void 0);
-        __classPrivateFieldSet(this, _Browser_process, opts.process, "f");
-        __classPrivateFieldSet(this, _Browser_closeCallback, opts.closeCallback, "f");
-        __classPrivateFieldSet(this, _Browser_connection, opts.connection, "f");
-        __classPrivateFieldSet(this, _Browser_defaultViewport, opts.defaultViewport, "f");
-        __classPrivateFieldSet(this, _Browser_browserName, opts.browserName, "f");
-        __classPrivateFieldSet(this, _Browser_browserVersion, opts.browserVersion, "f");
-        __classPrivateFieldGet(this, _Browser_process, "f")?.once('close', () => {
-            __classPrivateFieldGet(this, _Browser_connection, "f").dispose();
+        this.#process = opts.process;
+        this.#closeCallback = opts.closeCallback;
+        this.#connection = opts.connection;
+        this.#defaultViewport = opts.defaultViewport;
+        this.#browserName = opts.browserName;
+        this.#browserVersion = opts.browserVersion;
+        this.#process?.once('close', () => {
+            this.#connection.dispose();
             this.emit("disconnected" /* BrowserEmittedEvents.Disconnected */);
         });
-        __classPrivateFieldSet(this, _Browser_defaultContext, new BrowserContext_js_1.BrowserContext(this, {
-            defaultViewport: __classPrivateFieldGet(this, _Browser_defaultViewport, "f"),
+        this.#defaultContext = new BrowserContext_js_1.BrowserContext(this, {
+            defaultViewport: this.#defaultViewport,
             isDefault: true,
-        }), "f");
+        });
+        this.#browserTarget = new Target_js_1.BiDiBrowserTarget(this.#defaultContext);
+        this.#contexts.push(this.#defaultContext);
+        for (const [eventName, handler] of this.#connectionEventHandlers) {
+            this.#connection.on(eventName, handler);
+        }
+    }
+    #onContextDomLoaded(event) {
+        const context = this.#connection.getBrowsingContext(event.context);
+        context.url = event.url;
+        const target = this.#targets.get(event.context);
+        if (target) {
+            this.emit("targetchanged" /* BrowserEmittedEvents.TargetChanged */, target);
+        }
+    }
+    #onContextNavigation(event) {
+        const context = this.#connection.getBrowsingContext(event.context);
+        context.url = event.url;
+        const target = this.#targets.get(event.context);
+        if (target) {
+            this.emit("targetchanged" /* BrowserEmittedEvents.TargetChanged */, target);
+            target
+                .browserContext()
+                .emit("targetchanged" /* BrowserContextEmittedEvents.TargetChanged */, target);
+        }
+    }
+    #onContextCreated(event) {
+        const context = new BrowsingContext_js_1.BrowsingContext(this.#connection, event);
+        this.#connection.registerBrowsingContexts(context);
+        // TODO: once more browsing context types are supported, this should be
+        // updated to support those. Currently, all top-level contexts are treated
+        // as pages.
+        const browserContext = this.browserContexts().at(-1);
+        if (!browserContext) {
+            throw new Error('Missing browser contexts');
+        }
+        const target = !context.parent
+            ? new Target_js_1.BiDiPageTarget(browserContext, context)
+            : new Target_js_1.BiDiBrowsingContextTarget(browserContext, context);
+        this.#targets.set(event.context, target);
+        this.emit("targetcreated" /* BrowserEmittedEvents.TargetCreated */, target);
+        target
+            .browserContext()
+            .emit("targetcreated" /* BrowserContextEmittedEvents.TargetCreated */, target);
+        if (context.parent) {
+            const topLevel = this.#connection.getTopLevelContext(context.parent);
+            topLevel.emit(BrowsingContext_js_1.BrowsingContextEmittedEvents.Created, context);
+        }
+    }
+    async #getTree() {
+        const { result } = await this.#connection.send('browsingContext.getTree', {});
+        for (const context of result.contexts) {
+            this.#onContextCreated(context);
+        }
+    }
+    async #onContextDestroyed(event) {
+        const context = this.#connection.getBrowsingContext(event.context);
+        const topLevelContext = this.#connection.getTopLevelContext(event.context);
+        topLevelContext.emit(BrowsingContext_js_1.BrowsingContextEmittedEvents.Destroyed, context);
+        const target = this.#targets.get(event.context);
+        const page = await target?.page();
+        await page?.close().catch(utils_js_1.debugError);
+        this.#targets.delete(event.context);
+        if (target) {
+            this.emit("targetdestroyed" /* BrowserEmittedEvents.TargetDestroyed */, target);
+            target
+                .browserContext()
+                .emit("targetdestroyed" /* BrowserContextEmittedEvents.TargetDestroyed */, target);
+        }
     }
     get connection() {
-        return __classPrivateFieldGet(this, _Browser_connection, "f");
+        return this.#connection;
     }
     wsEndpoint() {
-        return __classPrivateFieldGet(this, _Browser_connection, "f").url;
+        return this.#connection.url;
     }
     async close() {
-        if (__classPrivateFieldGet(this, _Browser_connection, "f").closed) {
+        for (const [eventName, handler] of this.#connectionEventHandlers) {
+            this.#connection.off(eventName, handler);
+        }
+        if (this.#connection.closed) {
             return;
         }
         // TODO: implement browser.close.
         // await this.#connection.send('browser.close', {});
-        __classPrivateFieldGet(this, _Browser_connection, "f").dispose();
-        await __classPrivateFieldGet(this, _Browser_closeCallback, "f")?.call(null);
+        this.#connection.dispose();
+        await this.#closeCallback?.call(null);
     }
     isConnected() {
-        return !__classPrivateFieldGet(this, _Browser_connection, "f").closed;
+        return !this.#connection.closed;
     }
     process() {
-        return __classPrivateFieldGet(this, _Browser_process, "f") ?? null;
+        return this.#process ?? null;
     }
     async createIncognitoBrowserContext(_options) {
         // TODO: implement incognito context https://github.com/w3c/webdriver-bidi/issues/289.
-        return new BrowserContext_js_1.BrowserContext(this, {
-            defaultViewport: __classPrivateFieldGet(this, _Browser_defaultViewport, "f"),
+        const context = new BrowserContext_js_1.BrowserContext(this, {
+            defaultViewport: this.#defaultViewport,
             isDefault: false,
         });
+        this.#contexts.push(context);
+        return context;
     }
     async version() {
-        return `${__classPrivateFieldGet(this, _Browser_browserName, "f")}/${__classPrivateFieldGet(this, _Browser_browserVersion, "f")}`;
+        return `${this.#browserName}/${this.#browserVersion}`;
     }
     /**
      * Returns an array of all open browser contexts. In a newly created browser, this will
@@ -126,31 +218,41 @@
      */
     browserContexts() {
         // TODO: implement incognito context https://github.com/w3c/webdriver-bidi/issues/289.
-        return [__classPrivateFieldGet(this, _Browser_defaultContext, "f")];
+        return this.#contexts;
+    }
+    async _closeContext(browserContext) {
+        this.#contexts = this.#contexts.filter(c => {
+            return c !== browserContext;
+        });
+        for (const target of browserContext.targets()) {
+            const page = await target?.page();
+            await page?.close().catch(error => {
+                (0, utils_js_1.debugError)(error);
+            });
+        }
     }
     /**
      * Returns the default browser context. The default browser context cannot be closed.
      */
     defaultBrowserContext() {
-        return __classPrivateFieldGet(this, _Browser_defaultContext, "f");
+        return this.#defaultContext;
     }
     newPage() {
-        return __classPrivateFieldGet(this, _Browser_defaultContext, "f").newPage();
+        return this.#defaultContext.newPage();
+    }
+    targets() {
+        return [this.#browserTarget, ...Array.from(this.#targets.values())];
+    }
+    _getTargetById(id) {
+        const target = this.#targets.get(id);
+        if (!target) {
+            throw new Error('Target not found');
+        }
+        return target;
+    }
+    target() {
+        return this.#browserTarget;
     }
 }
 exports.Browser = Browser;
-_Browser_browserName = new WeakMap(), _Browser_browserVersion = new WeakMap(), _Browser_process = new WeakMap(), _Browser_closeCallback = new WeakMap(), _Browser_connection = new WeakMap(), _Browser_defaultViewport = new WeakMap(), _Browser_defaultContext = new WeakMap();
-Browser.subscribeModules = [
-    'browsingContext',
-    'network',
-    'log',
-];
-Browser.subscribeCdpEvents = [
-    // Coverage
-    'cdp.Debugger.scriptParsed',
-    'cdp.CSS.styleSheetAdded',
-    'cdp.Runtime.executionContextsCleared',
-    // Tracing
-    'cdp.Tracing.tracingComplete',
-];
 //# sourceMappingURL=Browser.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Browser.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Browser.js.map
index 699e29c..27a14369 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Browser.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Browser.js.map
@@ -1 +1 @@
-{"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Browser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAMH,qDAM8B;AAO9B,2DAAmD;AACnD,6DAG8B;AAE9B,2CAKqB;AACrB,yCAAsC;AAEtC;;GAEG;AACH,MAAa,OAAQ,SAAQ,oBAAW;IACtC,iDAAiD;IACjD,MAAM,CAAU,gBAAgB,GAAa;QAC3C,iBAAiB;QACjB,SAAS;QACT,KAAK;KACN,CAAC;IACF,MAAM,CAAU,kBAAkB,GAA0B;QAC1D,WAAW;QACX,2BAA2B;QAC3B,yBAAyB;QACzB,sCAAsC;QACtC,UAAU;QACV,6BAA6B;QAC7B,mDAAmD;QACnD,+BAA+B;QAC/B,2BAA2B;KAC5B,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAa;QAC/B,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,cAAc,GAAG,EAAE,CAAC;QAExB,mDAAmD;QACnD,IAAI;YACF,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE;gBACzD,YAAY,EAAE;oBACZ,WAAW,EAAE;wBACX,mBAAmB,EAAE,IAAI,CAAC,iBAAiB;qBAC5C;iBACF;aACF,CAAC,CAAC;YACH,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,WAAW,IAAI,EAAE,CAAC;YACpD,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,IAAI,EAAE,CAAC;SAC3D;QAAC,OAAO,GAAG,EAAE;YACZ,uCAAuC;YACvC,IAAA,qBAAU,EAAC,GAAG,CAAC,CAAC;SACjB;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC9C,MAAM,EAAE,WAAW,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACzD,CAAC,CAAC,OAAO,CAAC,gBAAgB;gBAC1B,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;SACjE,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,GAAG,IAAI;YACP,WAAW;YACX,cAAc;SACf,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QAEzB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,YAAY,GAAG,EAAE,CAAC;IAClB,eAAe,GAAG,EAAE,CAAC;IACrB,QAAQ,CAAgB;IACxB,cAAc,CAAwB;IACtC,WAAW,CAAa;IACxB,gBAAgB,CAAkB;IAClC,eAAe,CAAiB;IAChC,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;IACzC,SAAS,GAAqB,EAAE,CAAC;IACjC,cAAc,CAAoB;IAElC,wBAAwB,GAAG,IAAI,GAAG,CAGhC;QACA,CAAC,gCAAgC,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC,kCAAkC,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,CAAC,kCAAkC,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,CAAC,mCAAmC,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,CAAC,mCAAmC,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5E,CAAC,CAAC;IAEH,YACE,IAGC;QAED,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;QAE3C,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YAChC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,wDAAmC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,IAAI,kCAAc,CAAC,IAAI,EAAE;YAC9C,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,6BAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE1C,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAChE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SACzC;IACH,CAAC;IAED,mBAAmB,CAAC,KAAgC;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,IAAI,2DAAqC,MAAM,CAAC,CAAC;SACvD;IACH,CAAC;IAED,oBAAoB,CAAC,KAA0C;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,IAAI,2DAAqC,MAAM,CAAC,CAAC;YACtD,MAAM;iBACH,cAAc,EAAE;iBAChB,IAAI,kEAA4C,MAAM,CAAC,CAAC;SAC5D;IACH,CAAC;IAED,iBAAiB,CAAC,KAAoD;QACpE,MAAM,OAAO,GAAG,IAAI,oCAAe,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACnD,uEAAuE;QACvE,0EAA0E;QAC1E,YAAY;QACZ,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QACD,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM;YAC5B,CAAC,CAAC,IAAI,0BAAc,CAAC,cAAc,EAAE,OAAO,CAAC;YAC7C,CAAC,CAAC,IAAI,qCAAyB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEzC,IAAI,CAAC,IAAI,2DAAqC,MAAM,CAAC,CAAC;QACtD,MAAM;aACH,cAAc,EAAE;aAChB,IAAI,kEAA4C,MAAM,CAAC,CAAC;QAE3D,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrE,QAAQ,CAAC,IAAI,CAAC,iDAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SAC9D;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;QAC5E,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE;YACrC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACjC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,KAAsD;QAEtD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3E,eAAe,CAAC,IAAI,CAAC,iDAA4B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,MAAM,EAAE,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,qBAAU,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,IAAI,+DAAuC,MAAM,CAAC,CAAC;YACxD,MAAM;iBACH,cAAc,EAAE;iBAChB,IAAI,sEAA8C,MAAM,CAAC,CAAC;SAC9D;IACH,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEQ,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;IAC9B,CAAC;IAEQ,KAAK,CAAC,KAAK;QAClB,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAChE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SAC1C;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAC3B,OAAO;SACR;QACD,iCAAiC;QACjC,oDAAoD;QACpD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAEQ,WAAW;QAClB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IAClC,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC/B,CAAC;IAEQ,KAAK,CAAC,6BAA6B,CAC1C,QAAgC;QAEhC,sFAAsF;QACtF,MAAM,OAAO,GAAG,IAAI,kCAAc,CAAC,IAAI,EAAE;YACvC,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,KAAK,CAAC,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;IACxD,CAAC;IAED;;;OAGG;IACM,eAAe;QACtB,sFAAsF;QACtF,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,cAA8B;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACzC,OAAO,CAAC,KAAK,cAAc,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE;YAC7C,MAAM,IAAI,GAAG,MAAM,MAAM,EAAE,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAChC,IAAA,qBAAU,EAAC,KAAK,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;OAEG;IACM,qBAAqB;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;IAEQ,OAAO;QACd,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,cAAc,CAAC,EAAU;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;;AA/QH,0BAgRC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowserContext.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowserContext.d.ts
index c012c7a..f9a54d3 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowserContext.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowserContext.d.ts
@@ -15,6 +15,7 @@
  */
 import { BrowserContext as BrowserContextBase } from '../../api/BrowserContext.js';
 import { Page as PageBase } from '../../api/Page.js';
+import { Target } from '../../api/Target.js';
 import { Viewport } from '../PuppeteerViewport.js';
 import { Browser } from './Browser.js';
 import { Connection } from './Connection.js';
@@ -28,11 +29,16 @@
 export declare class BrowserContext extends BrowserContextBase {
     #private;
     constructor(browser: Browser, options: BrowserContextOptions);
+    targets(): Target[];
+    waitForTarget(predicate: (x: Target) => boolean | Promise<boolean>, options?: {
+        timeout?: number;
+    }): Promise<Target>;
     get connection(): Connection;
     newPage(): Promise<PageBase>;
     close(): Promise<void>;
     browser(): Browser;
     pages(): Promise<PageBase[]>;
+    isIncognito(): boolean;
 }
 export {};
 //# sourceMappingURL=BrowserContext.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowserContext.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowserContext.d.ts.map
index 60a416d..17a527e 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowserContext.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowserContext.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"BrowserContext.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/BrowserContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,cAAc,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAC,IAAI,IAAI,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAI3C,UAAU,qBAAqB;IAC7B,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;;gBASxC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IAa5D,IAAI,UAAU,IAAI,UAAU,CAE3B;IAgCc,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;IAuB5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B,OAAO,IAAI,OAAO;IAIZ,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;CAI5C"}
\ No newline at end of file
+{"version":3,"file":"BrowserContext.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/BrowserContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,cAAc,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAC,IAAI,IAAI,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAG3C,UAAU,qBAAqB;IAC7B,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;;gBAMxC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IAQnD,OAAO,IAAI,MAAM,EAAE;IAMnB,aAAa,CACpB,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EACpD,OAAO,GAAE;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAM,GAC/B,OAAO,CAAC,MAAM,CAAC;IAMlB,IAAI,UAAU,IAAI,UAAU,CAE3B;IAEc,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;IA4B5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,OAAO,IAAI,OAAO;IAIZ,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAWlC,WAAW,IAAI,OAAO;CAGhC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowserContext.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowserContext.js
index becd195..158ebff 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowserContext.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowserContext.js
@@ -14,110 +14,82 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _BrowserContext_instances, _BrowserContext_browser, _BrowserContext_connection, _BrowserContext_defaultViewport, _BrowserContext_pages, _BrowserContext_onContextDestroyedBind, _BrowserContext_init, _BrowserContext_isDefault, _BrowserContext_getTree, _BrowserContext_onContextDestroyed;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.BrowserContext = void 0;
 const BrowserContext_js_1 = require("../../api/BrowserContext.js");
-const Deferred_js_1 = require("../../util/Deferred.js");
-const Page_js_1 = require("./Page.js");
-const utils_js_1 = require("./utils.js");
 /**
  * @internal
  */
 class BrowserContext extends BrowserContext_js_1.BrowserContext {
+    #browser;
+    #connection;
+    #defaultViewport;
+    #isDefault = false;
     constructor(browser, options) {
         super();
-        _BrowserContext_instances.add(this);
-        _BrowserContext_browser.set(this, void 0);
-        _BrowserContext_connection.set(this, void 0);
-        _BrowserContext_defaultViewport.set(this, void 0);
-        _BrowserContext_pages.set(this, new Map());
-        _BrowserContext_onContextDestroyedBind.set(this, __classPrivateFieldGet(this, _BrowserContext_instances, "m", _BrowserContext_onContextDestroyed).bind(this));
-        _BrowserContext_init.set(this, Deferred_js_1.Deferred.create());
-        _BrowserContext_isDefault.set(this, false);
-        __classPrivateFieldSet(this, _BrowserContext_browser, browser, "f");
-        __classPrivateFieldSet(this, _BrowserContext_connection, __classPrivateFieldGet(this, _BrowserContext_browser, "f").connection, "f");
-        __classPrivateFieldSet(this, _BrowserContext_defaultViewport, options.defaultViewport, "f");
-        __classPrivateFieldGet(this, _BrowserContext_connection, "f").on('browsingContext.contextDestroyed', __classPrivateFieldGet(this, _BrowserContext_onContextDestroyedBind, "f"));
-        __classPrivateFieldSet(this, _BrowserContext_isDefault, options.isDefault, "f");
-        __classPrivateFieldGet(this, _BrowserContext_instances, "m", _BrowserContext_getTree).call(this).catch(utils_js_1.debugError);
+        this.#browser = browser;
+        this.#connection = this.#browser.connection;
+        this.#defaultViewport = options.defaultViewport;
+        this.#isDefault = options.isDefault;
+    }
+    targets() {
+        return this.#browser.targets().filter(target => {
+            return target.browserContext() === this;
+        });
+    }
+    waitForTarget(predicate, options = {}) {
+        return this.#browser.waitForTarget(target => {
+            return target.browserContext() === this && predicate(target);
+        }, options);
     }
     get connection() {
-        return __classPrivateFieldGet(this, _BrowserContext_connection, "f");
+        return this.#connection;
     }
     async newPage() {
-        await __classPrivateFieldGet(this, _BrowserContext_init, "f").valueOrThrow();
-        const { result } = await __classPrivateFieldGet(this, _BrowserContext_connection, "f").send('browsingContext.create', {
-            type: 'tab',
+        const { result } = await this.#connection.send('browsingContext.create', {
+            type: "tab" /* Bidi.BrowsingContext.CreateType.Tab */,
         });
-        const page = new Page_js_1.Page(this, {
-            context: result.context,
-            children: [],
-        });
-        if (__classPrivateFieldGet(this, _BrowserContext_defaultViewport, "f")) {
+        const target = this.#browser._getTargetById(result.context);
+        // TODO: once BiDi has some concept matching BrowserContext, the newly
+        // created contexts should get automatically assigned to the right
+        // BrowserContext. For now, we assume that only explicitly created pages go
+        // to the current BrowserContext. Otherwise, the contexts get assigned to
+        // the default BrowserContext by the Browser.
+        target._setBrowserContext(this);
+        const page = await target.page();
+        if (!page) {
+            throw new Error('Page is not found');
+        }
+        if (this.#defaultViewport) {
             try {
-                await page.setViewport(__classPrivateFieldGet(this, _BrowserContext_defaultViewport, "f"));
+                await page.setViewport(this.#defaultViewport);
             }
             catch {
                 // No support for setViewport in Firefox.
             }
         }
-        __classPrivateFieldGet(this, _BrowserContext_pages, "f").set(result.context, page);
         return page;
     }
     async close() {
-        await __classPrivateFieldGet(this, _BrowserContext_init, "f").valueOrThrow();
-        if (__classPrivateFieldGet(this, _BrowserContext_isDefault, "f")) {
+        if (this.#isDefault) {
             throw new Error('Default context cannot be closed!');
         }
-        for (const page of __classPrivateFieldGet(this, _BrowserContext_pages, "f").values()) {
-            await page?.close().catch(error => {
-                (0, utils_js_1.debugError)(error);
-            });
-        }
-        __classPrivateFieldGet(this, _BrowserContext_pages, "f").clear();
+        await this.#browser._closeContext(this);
     }
     browser() {
-        return __classPrivateFieldGet(this, _BrowserContext_browser, "f");
+        return this.#browser;
     }
     async pages() {
-        await __classPrivateFieldGet(this, _BrowserContext_init, "f").valueOrThrow();
-        return [...__classPrivateFieldGet(this, _BrowserContext_pages, "f").values()];
+        const results = await Promise.all([...this.targets()].map(t => {
+            return t.page();
+        }));
+        return results.filter((p) => {
+            return p !== null;
+        });
+    }
+    isIncognito() {
+        return !this.#isDefault;
     }
 }
 exports.BrowserContext = BrowserContext;
-_BrowserContext_browser = new WeakMap(), _BrowserContext_connection = new WeakMap(), _BrowserContext_defaultViewport = new WeakMap(), _BrowserContext_pages = new WeakMap(), _BrowserContext_onContextDestroyedBind = new WeakMap(), _BrowserContext_init = new WeakMap(), _BrowserContext_isDefault = new WeakMap(), _BrowserContext_instances = new WeakSet(), _BrowserContext_getTree = async function _BrowserContext_getTree() {
-    if (!__classPrivateFieldGet(this, _BrowserContext_isDefault, "f")) {
-        __classPrivateFieldGet(this, _BrowserContext_init, "f").resolve();
-        return;
-    }
-    try {
-        const { result } = await __classPrivateFieldGet(this, _BrowserContext_connection, "f").send('browsingContext.getTree', {});
-        for (const context of result.contexts) {
-            const page = new Page_js_1.Page(this, context);
-            __classPrivateFieldGet(this, _BrowserContext_pages, "f").set(context.context, page);
-        }
-        __classPrivateFieldGet(this, _BrowserContext_init, "f").resolve();
-    }
-    catch (err) {
-        __classPrivateFieldGet(this, _BrowserContext_init, "f").reject(err);
-    }
-}, _BrowserContext_onContextDestroyed = async function _BrowserContext_onContextDestroyed(event) {
-    const page = __classPrivateFieldGet(this, _BrowserContext_pages, "f").get(event.context);
-    await page?.close().catch(error => {
-        (0, utils_js_1.debugError)(error);
-    });
-    __classPrivateFieldGet(this, _BrowserContext_pages, "f").delete(event.context);
-};
 //# sourceMappingURL=BrowserContext.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowserContext.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowserContext.js.map
index d601028..897218a 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowserContext.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowserContext.js.map
@@ -1 +1 @@
-{"version":3,"file":"BrowserContext.js","sourceRoot":"","sources":["../../../../../src/common/bidi/BrowserContext.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"BrowserContext.js","sourceRoot":"","sources":["../../../../../src/common/bidi/BrowserContext.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowsingContext.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowsingContext.d.ts
index a402f90..3b29209 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowsingContext.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowsingContext.d.ts
@@ -4,7 +4,6 @@
 import type { CDPSession, Connection as CDPConnection } from '../Connection.js';
 import { EventEmitter } from '../EventEmitter.js';
 import { PuppeteerLifeCycleEvent } from '../LifecycleWatcher.js';
-import { TimeoutSettings } from '../TimeoutSettings.js';
 import { Connection } from './Connection.js';
 import { Realm } from './Realm.js';
 /**
@@ -14,34 +13,58 @@
 /**
  * @internal
  */
+export declare const cdpSessions: Map<string, CDPSessionWrapper>;
+/**
+ * @internal
+ */
 export declare class CDPSessionWrapper extends EventEmitter implements CDPSession {
     #private;
-    constructor(context: BrowsingContext);
+    constructor(context: BrowsingContext, sessionId?: string);
     connection(): CDPConnection | undefined;
     send<T extends keyof ProtocolMapping.Commands>(method: T, ...paramArgs: ProtocolMapping.Commands[T]['paramsType']): Promise<ProtocolMapping.Commands[T]['returnType']>;
     detach(): Promise<void>;
     id(): string;
 }
 /**
+ * Internal events that the BrowsingContext class emits.
+ *
+ * @internal
+ */
+export declare const BrowsingContextEmittedEvents: {
+    /**
+     * Emitted on the top-level context, when a descendant context is created.
+     */
+    readonly Created: symbol;
+    /**
+     * Emitted on the top-level context, when a descendant context or the
+     * top-level context itself is destroyed.
+     */
+    readonly Destroyed: symbol;
+};
+/**
  * @internal
  */
 export declare class BrowsingContext extends Realm {
     #private;
-    constructor(connection: Connection, timeoutSettings: TimeoutSettings, info: Bidi.BrowsingContext.Info);
+    constructor(connection: Connection, info: Bidi.BrowsingContext.Info);
     createSandboxRealm(sandbox: string): Realm;
     get url(): string;
+    set url(value: string);
     get id(): string;
+    get parent(): string | undefined | null;
     get cdpSession(): CDPSession;
     navigated(url: string): void;
-    goto(url: string, options?: {
+    goto(url: string, options: {
         referer?: string;
         referrerPolicy?: string;
-        timeout?: number;
+        timeout: number;
         waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[];
     }): Promise<string | null>;
-    reload(options?: WaitForOptions): Promise<void>;
+    reload(options: WaitForOptions & {
+        timeout: number;
+    }): Promise<void>;
     setContent(html: string, options: {
-        timeout?: number;
+        timeout: number;
         waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[];
     }): Promise<void>;
     content(): Promise<string>;
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowsingContext.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowsingContext.d.ts.map
index bc12eac..478e4e7 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowsingContext.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowsingContext.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"BrowsingContext.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/BrowsingContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AACnE,OAAO,eAAe,MAAM,6CAA6C,CAAC;AAE1E,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAGjD,OAAO,KAAK,EAAC,UAAU,EAAE,UAAU,IAAI,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,uBAAuB,EAAC,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,0BAA0B,sCAMrC,CAAC;AAaH;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,YAAa,YAAW,UAAU;;gBAI3D,OAAO,EAAE,eAAe;IAepC,UAAU,IAAI,aAAa,GAAG,SAAS;IAGjC,IAAI,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,QAAQ,EACjD,MAAM,EAAE,CAAC,EACT,GAAG,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GACtD,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAUrD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,EAAE,IAAI,MAAM;CAIb;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;;gBAOtC,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;IAiBjC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;IAI1C,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAItB,IAAI,CACR,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,CAAC;KAC5D,GACL,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAiCnB,MAAM,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBnD,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,CAAC;KACjE,GACA,OAAO,CAAC,IAAI,CAAC;IAwBV,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAI1B,cAAc,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,QAAQ,EAC3D,MAAM,EAAE,CAAC,EACT,GAAG,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GACtD,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAIrD,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAMxB,OAAO,IAAI,IAAI;CAIhB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,GACzD,OAAO,CAAC,uBAAuB,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAoB/D"}
\ No newline at end of file
+{"version":3,"file":"BrowsingContext.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/BrowsingContext.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowsingContext.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowsingContext.js
index c5917fb..ece2f9e 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowsingContext.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowsingContext.js
@@ -1,24 +1,13 @@
 "use strict";
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _CDPSessionWrapper_context, _CDPSessionWrapper_sessionId, _BrowsingContext_timeoutSettings, _BrowsingContext_id, _BrowsingContext_url, _BrowsingContext_cdpSession;
 Object.defineProperty(exports, "__esModule", { value: true });
-exports.getWaitUntilSingle = exports.BrowsingContext = exports.CDPSessionWrapper = exports.lifeCycleToSubscribedEvent = void 0;
+exports.getWaitUntilSingle = exports.BrowsingContext = exports.BrowsingContextEmittedEvents = exports.CDPSessionWrapper = exports.cdpSessions = exports.lifeCycleToSubscribedEvent = void 0;
 const assert_js_1 = require("../../util/assert.js");
 const Deferred_js_1 = require("../../util/Deferred.js");
 const Errors_js_1 = require("../Errors.js");
 const EventEmitter_js_1 = require("../EventEmitter.js");
 const util_js_1 = require("../util.js");
 const Realm_js_1 = require("./Realm.js");
+const utils_js_1 = require("./utils.js");
 /**
  * @internal
  */
@@ -30,95 +19,137 @@
  * @internal
  */
 const lifeCycleToReadinessState = new Map([
-    ['load', 'complete'],
-    ['domcontentloaded', 'interactive'],
+    ['load', "complete" /* Bidi.BrowsingContext.ReadinessState.Complete */],
+    ['domcontentloaded', "interactive" /* Bidi.BrowsingContext.ReadinessState.Interactive */],
 ]);
 /**
  * @internal
  */
+exports.cdpSessions = new Map();
+/**
+ * @internal
+ */
 class CDPSessionWrapper extends EventEmitter_js_1.EventEmitter {
-    constructor(context) {
+    #context;
+    #sessionId = Deferred_js_1.Deferred.create();
+    #detached = false;
+    constructor(context, sessionId) {
         super();
-        _CDPSessionWrapper_context.set(this, void 0);
-        _CDPSessionWrapper_sessionId.set(this, Deferred_js_1.Deferred.create());
-        __classPrivateFieldSet(this, _CDPSessionWrapper_context, context, "f");
-        context.connection
-            .send('cdp.getSession', {
-            context: context.id,
-        })
-            .then(session => {
-            __classPrivateFieldGet(this, _CDPSessionWrapper_sessionId, "f").resolve(session.result.session);
-        })
-            .catch(err => {
-            __classPrivateFieldGet(this, _CDPSessionWrapper_sessionId, "f").reject(err);
-        });
+        this.#context = context;
+        if (sessionId) {
+            this.#sessionId.resolve(sessionId);
+            exports.cdpSessions.set(sessionId, this);
+        }
+        else {
+            context.connection
+                .send('cdp.getSession', {
+                context: context.id,
+            })
+                .then(session => {
+                this.#sessionId.resolve(session.result.session);
+                exports.cdpSessions.set(session.result.session, this);
+            })
+                .catch(err => {
+                this.#sessionId.reject(err);
+            });
+        }
     }
     connection() {
         return undefined;
     }
     async send(method, ...paramArgs) {
-        const session = await __classPrivateFieldGet(this, _CDPSessionWrapper_sessionId, "f").valueOrThrow();
-        const result = await __classPrivateFieldGet(this, _CDPSessionWrapper_context, "f").connection.send('cdp.sendCommand', {
+        if (this.#detached) {
+            throw new Errors_js_1.TargetCloseError(`Protocol error (${method}): Session closed. Most likely the page has been closed.`);
+        }
+        const session = await this.#sessionId.valueOrThrow();
+        const { result } = await this.#context.connection.send('cdp.sendCommand', {
             method: method,
             params: paramArgs[0],
             session,
         });
         return result.result;
     }
-    detach() {
-        throw new Error('Method not implemented.');
+    async detach() {
+        exports.cdpSessions.delete(this.id());
+        await this.#context.cdpSession.send('Target.detachFromTarget', {
+            sessionId: this.id(),
+        });
+        this.#detached = true;
     }
     id() {
-        const val = __classPrivateFieldGet(this, _CDPSessionWrapper_sessionId, "f").value();
+        const val = this.#sessionId.value();
         return val instanceof Error || val === undefined ? '' : val;
     }
 }
 exports.CDPSessionWrapper = CDPSessionWrapper;
-_CDPSessionWrapper_context = new WeakMap(), _CDPSessionWrapper_sessionId = new WeakMap();
+/**
+ * Internal events that the BrowsingContext class emits.
+ *
+ * @internal
+ */
+exports.BrowsingContextEmittedEvents = {
+    /**
+     * Emitted on the top-level context, when a descendant context is created.
+     */
+    Created: Symbol('BrowsingContext.created'),
+    /**
+     * Emitted on the top-level context, when a descendant context or the
+     * top-level context itself is destroyed.
+     */
+    Destroyed: Symbol('BrowsingContext.destroyed'),
+};
 /**
  * @internal
  */
 class BrowsingContext extends Realm_js_1.Realm {
-    constructor(connection, timeoutSettings, info) {
+    #id;
+    #url;
+    #cdpSession;
+    #parent;
+    constructor(connection, info) {
         super(connection, info.context);
-        _BrowsingContext_timeoutSettings.set(this, void 0);
-        _BrowsingContext_id.set(this, void 0);
-        _BrowsingContext_url.set(this, void 0);
-        _BrowsingContext_cdpSession.set(this, void 0);
         this.connection = connection;
-        __classPrivateFieldSet(this, _BrowsingContext_timeoutSettings, timeoutSettings, "f");
-        __classPrivateFieldSet(this, _BrowsingContext_id, info.context, "f");
-        __classPrivateFieldSet(this, _BrowsingContext_url, info.url, "f");
-        __classPrivateFieldSet(this, _BrowsingContext_cdpSession, new CDPSessionWrapper(this), "f");
-        this.on('browsingContext.fragmentNavigated', (info) => {
-            __classPrivateFieldSet(this, _BrowsingContext_url, info.url, "f");
-        });
+        this.#id = info.context;
+        this.#url = info.url;
+        this.#parent = info.parent;
+        this.#cdpSession = new CDPSessionWrapper(this);
+        this.on('browsingContext.domContentLoaded', this.#updateUrl.bind(this));
+        this.on('browsingContext.load', this.#updateUrl.bind(this));
+    }
+    #updateUrl(info) {
+        this.url = info.url;
     }
     createSandboxRealm(sandbox) {
-        return new Realm_js_1.Realm(this.connection, __classPrivateFieldGet(this, _BrowsingContext_id, "f"), sandbox);
+        return new Realm_js_1.Realm(this.connection, this.#id, sandbox);
     }
     get url() {
-        return __classPrivateFieldGet(this, _BrowsingContext_url, "f");
+        return this.#url;
+    }
+    set url(value) {
+        this.#url = value;
     }
     get id() {
-        return __classPrivateFieldGet(this, _BrowsingContext_id, "f");
+        return this.#id;
+    }
+    get parent() {
+        return this.#parent;
     }
     get cdpSession() {
-        return __classPrivateFieldGet(this, _BrowsingContext_cdpSession, "f");
+        return this.#cdpSession;
     }
     navigated(url) {
-        __classPrivateFieldSet(this, _BrowsingContext_url, url, "f");
+        this.#url = url;
     }
-    async goto(url, options = {}) {
-        const { waitUntil = 'load', timeout = __classPrivateFieldGet(this, _BrowsingContext_timeoutSettings, "f").navigationTimeout(), } = options;
+    async goto(url, options) {
+        const { waitUntil = 'load', timeout } = options;
         const readinessState = lifeCycleToReadinessState.get(getWaitUntilSingle(waitUntil));
         try {
             const { result } = await (0, util_js_1.waitWithTimeout)(this.connection.send('browsingContext.navigate', {
                 url: url,
-                context: __classPrivateFieldGet(this, _BrowsingContext_id, "f"),
+                context: this.#id,
                 wait: readinessState,
             }), 'Navigation', timeout);
-            __classPrivateFieldSet(this, _BrowsingContext_url, result.url, "f");
+            this.#url = result.url;
             return result.navigation;
         }
         catch (error) {
@@ -131,16 +162,16 @@
             throw error;
         }
     }
-    async reload(options = {}) {
-        const { waitUntil = 'load', timeout = __classPrivateFieldGet(this, _BrowsingContext_timeoutSettings, "f").navigationTimeout(), } = options;
+    async reload(options) {
+        const { waitUntil = 'load', timeout } = options;
         const readinessState = lifeCycleToReadinessState.get(getWaitUntilSingle(waitUntil));
         await (0, util_js_1.waitWithTimeout)(this.connection.send('browsingContext.reload', {
-            context: __classPrivateFieldGet(this, _BrowsingContext_id, "f"),
+            context: this.#id,
             wait: readinessState,
         }), 'Navigation', timeout);
     }
     async setContent(html, options) {
-        const { waitUntil = 'load', timeout = __classPrivateFieldGet(this, _BrowsingContext_timeoutSettings, "f").navigationTimeout(), } = options;
+        const { waitUntil = 'load', timeout } = options;
         const waitUntilEvent = exports.lifeCycleToSubscribedEvent.get(getWaitUntilSingle(waitUntil));
         await Promise.all([
             (0, util_js_1.setPageContent)(this, html),
@@ -155,7 +186,7 @@
         return await this.evaluate(util_js_1.getPageContent);
     }
     async sendCDPCommand(method, ...paramArgs) {
-        return __classPrivateFieldGet(this, _BrowsingContext_cdpSession, "f").send(method, ...paramArgs);
+        return this.#cdpSession.send(method, ...paramArgs);
     }
     title() {
         return this.evaluate(() => {
@@ -164,11 +195,11 @@
     }
     dispose() {
         this.removeAllListeners();
-        this.connection.unregisterBrowsingContexts(__classPrivateFieldGet(this, _BrowsingContext_id, "f"));
+        this.connection.unregisterBrowsingContexts(this.#id);
+        void this.#cdpSession.detach().catch(utils_js_1.debugError);
     }
 }
 exports.BrowsingContext = BrowsingContext;
-_BrowsingContext_timeoutSettings = new WeakMap(), _BrowsingContext_id = new WeakMap(), _BrowsingContext_url = new WeakMap(), _BrowsingContext_cdpSession = new WeakMap();
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowsingContext.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowsingContext.js.map
index b5eaf32..466e4a4 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowsingContext.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/BrowsingContext.js.map
@@ -1 +1 @@
-{"version":3,"file":"BrowsingContext.js","sourceRoot":"","sources":["../../../../../src/common/bidi/BrowsingContext.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"BrowsingContext.js","sourceRoot":"","sources":["../../../../../src/common/bidi/BrowsingContext.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Connection.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Connection.d.ts
index 3fddccd..33fcf1d 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Connection.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Connection.d.ts
@@ -17,11 +17,6 @@
 import { ConnectionTransport } from '../ConnectionTransport.js';
 import { EventEmitter } from '../EventEmitter.js';
 import { BrowsingContext } from './BrowsingContext.js';
-type Capability = {
-    acceptInsecureCerts?: boolean;
-    browserName?: string;
-    browserVersion?: string;
-};
 /**
  * @internal
  */
@@ -32,11 +27,11 @@
     };
     'script.callFunction': {
         params: Bidi.Script.CallFunctionParameters;
-        returnType: Bidi.Script.CallFunctionResult;
+        returnType: Bidi.Script.EvaluateResult;
     };
     'script.disown': {
         params: Bidi.Script.DisownParameters;
-        returnType: Bidi.Script.DisownResult;
+        returnType: Bidi.EmptyResult;
     };
     'script.addPreloadScript': {
         params: Bidi.Script.AddPreloadScriptParameters;
@@ -48,7 +43,7 @@
     };
     'browsingContext.close': {
         params: Bidi.BrowsingContext.CloseParameters;
-        returnType: Bidi.Message.EmptyResult;
+        returnType: Bidi.EmptyResult;
     };
     'browsingContext.getTree': {
         params: Bidi.BrowsingContext.GetTreeParameters;
@@ -60,7 +55,7 @@
     };
     'browsingContext.reload': {
         params: Bidi.BrowsingContext.ReloadParameters;
-        returnType: Bidi.Message.EmptyResult;
+        returnType: Bidi.EmptyResult;
     };
     'browsingContext.print': {
         params: Bidi.BrowsingContext.PrintParameters;
@@ -70,26 +65,21 @@
         params: Bidi.BrowsingContext.CaptureScreenshotParameters;
         returnType: Bidi.BrowsingContext.CaptureScreenshotResult;
     };
+    'browsingContext.handleUserPrompt': {
+        params: Bidi.BrowsingContext.HandleUserPromptParameters;
+        returnType: Bidi.EmptyResult;
+    };
     'input.performActions': {
         params: Bidi.Input.PerformActionsParameters;
-        returnType: Bidi.Message.EmptyResult;
+        returnType: Bidi.EmptyResult;
     };
     'input.releaseActions': {
         params: Bidi.Input.ReleaseActionsParameters;
-        returnType: Bidi.Message.EmptyResult;
+        returnType: Bidi.EmptyResult;
     };
     'session.new': {
-        params: {
-            capabilities?: {
-                alwaysMatch?: Capability;
-            };
-        };
-        returnType: {
-            result: {
-                sessionId: string;
-                capabilities: Capability;
-            };
-        };
+        params: Bidi.Session.NewParameters;
+        returnType: Bidi.Session.NewResult;
     };
     'session.status': {
         params: object;
@@ -97,18 +87,18 @@
     };
     'session.subscribe': {
         params: Bidi.Session.SubscriptionRequest;
-        returnType: Bidi.Message.EmptyResult;
+        returnType: Bidi.EmptyResult;
     };
     'session.unsubscribe': {
         params: Bidi.Session.SubscriptionRequest;
-        returnType: Bidi.Message.EmptyResult;
+        returnType: Bidi.EmptyResult;
     };
     'cdp.sendCommand': {
-        params: Bidi.Cdp.SendCommandParams;
+        params: Bidi.Cdp.SendCommandParameters;
         returnType: Bidi.Cdp.SendCommandResult;
     };
     'cdp.getSession': {
-        params: Bidi.Cdp.GetSessionParams;
+        params: Bidi.Cdp.GetSessionParameters;
         returnType: Bidi.Cdp.GetSessionResult;
     };
 }
@@ -120,12 +110,16 @@
     constructor(url: string, transport: ConnectionTransport, delay?: number, timeout?: number);
     get closed(): boolean;
     get url(): string;
-    send<T extends keyof Commands>(method: T, params: Commands[T]['params']): Promise<Commands[T]['returnType']>;
+    send<T extends keyof Commands>(method: T, params: Commands[T]['params']): Promise<{
+        result: Commands[T]['returnType'];
+    }>;
     /**
      * @internal
      */
     protected onMessage(message: string): Promise<void>;
     registerBrowsingContexts(context: BrowsingContext): void;
+    getBrowsingContext(contextId: string): BrowsingContext;
+    getTopLevelContext(contextId: string): BrowsingContext;
     unregisterBrowsingContexts(id: string): void;
     dispose(): void;
 }
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Connection.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Connection.d.ts.map
index eec9ec9..feb62b8 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Connection.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Connection.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Connection.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Connection.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Connection.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Connection.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Connection.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Connection.js
index b6158c7..fd112bc 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Connection.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Connection.js
@@ -14,130 +14,140 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Connection_instances, _Connection_url, _Connection_transport, _Connection_delay, _Connection_timeout, _Connection_closed, _Connection_callbacks, _Connection_browsingContexts, _Connection_maybeEmitOnContext, _Connection_onClose;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.Connection = void 0;
 const Connection_js_1 = require("../Connection.js");
 const Debug_js_1 = require("../Debug.js");
 const EventEmitter_js_1 = require("../EventEmitter.js");
+const BrowsingContext_js_1 = require("./BrowsingContext.js");
+const utils_js_1 = require("./utils.js");
 const debugProtocolSend = (0, Debug_js_1.debug)('puppeteer:webDriverBiDi:SEND ►');
 const debugProtocolReceive = (0, Debug_js_1.debug)('puppeteer:webDriverBiDi:RECV ◀');
 /**
  * @internal
  */
 class Connection extends EventEmitter_js_1.EventEmitter {
+    #url;
+    #transport;
+    #delay;
+    #timeout = 0;
+    #closed = false;
+    #callbacks = new Connection_js_1.CallbackRegistry();
+    #browsingContexts = new Map();
     constructor(url, transport, delay = 0, timeout) {
         super();
-        _Connection_instances.add(this);
-        _Connection_url.set(this, void 0);
-        _Connection_transport.set(this, void 0);
-        _Connection_delay.set(this, void 0);
-        _Connection_timeout.set(this, 0);
-        _Connection_closed.set(this, false);
-        _Connection_callbacks.set(this, new Connection_js_1.CallbackRegistry());
-        _Connection_browsingContexts.set(this, new Map());
-        __classPrivateFieldSet(this, _Connection_url, url, "f");
-        __classPrivateFieldSet(this, _Connection_delay, delay, "f");
-        __classPrivateFieldSet(this, _Connection_timeout, timeout ?? 180000, "f");
-        __classPrivateFieldSet(this, _Connection_transport, transport, "f");
-        __classPrivateFieldGet(this, _Connection_transport, "f").onmessage = this.onMessage.bind(this);
-        __classPrivateFieldGet(this, _Connection_transport, "f").onclose = __classPrivateFieldGet(this, _Connection_instances, "m", _Connection_onClose).bind(this);
+        this.#url = url;
+        this.#delay = delay;
+        this.#timeout = timeout ?? 180000;
+        this.#transport = transport;
+        this.#transport.onmessage = this.onMessage.bind(this);
+        this.#transport.onclose = this.#onClose.bind(this);
     }
     get closed() {
-        return __classPrivateFieldGet(this, _Connection_closed, "f");
+        return this.#closed;
     }
     get url() {
-        return __classPrivateFieldGet(this, _Connection_url, "f");
+        return this.#url;
     }
     send(method, params) {
-        return __classPrivateFieldGet(this, _Connection_callbacks, "f").create(method, __classPrivateFieldGet(this, _Connection_timeout, "f"), id => {
+        return this.#callbacks.create(method, this.#timeout, id => {
             const stringifiedMessage = JSON.stringify({
                 id,
                 method,
                 params,
             });
             debugProtocolSend(stringifiedMessage);
-            __classPrivateFieldGet(this, _Connection_transport, "f").send(stringifiedMessage);
+            this.#transport.send(stringifiedMessage);
         });
     }
     /**
      * @internal
      */
     async onMessage(message) {
-        if (__classPrivateFieldGet(this, _Connection_delay, "f")) {
+        if (this.#delay) {
             await new Promise(f => {
-                return setTimeout(f, __classPrivateFieldGet(this, _Connection_delay, "f"));
+                return setTimeout(f, this.#delay);
             });
         }
         debugProtocolReceive(message);
         const object = JSON.parse(message);
-        if ('id' in object) {
+        if ('id' in object && object.id) {
             if ('error' in object) {
-                __classPrivateFieldGet(this, _Connection_callbacks, "f").reject(object.id, createProtocolError(object), object.message);
+                this.#callbacks.reject(object.id, createProtocolError(object), object.message);
             }
             else {
-                __classPrivateFieldGet(this, _Connection_callbacks, "f").resolve(object.id, object);
+                this.#callbacks.resolve(object.id, object);
             }
         }
         else {
-            __classPrivateFieldGet(this, _Connection_instances, "m", _Connection_maybeEmitOnContext).call(this, object);
-            this.emit(object.method, object.params);
-        }
-    }
-    registerBrowsingContexts(context) {
-        __classPrivateFieldGet(this, _Connection_browsingContexts, "f").set(context.id, context);
-    }
-    unregisterBrowsingContexts(id) {
-        __classPrivateFieldGet(this, _Connection_browsingContexts, "f").delete(id);
-    }
-    dispose() {
-        __classPrivateFieldGet(this, _Connection_instances, "m", _Connection_onClose).call(this);
-        __classPrivateFieldGet(this, _Connection_transport, "f").close();
-    }
-}
-exports.Connection = Connection;
-_Connection_url = new WeakMap(), _Connection_transport = new WeakMap(), _Connection_delay = new WeakMap(), _Connection_timeout = new WeakMap(), _Connection_closed = new WeakMap(), _Connection_callbacks = new WeakMap(), _Connection_browsingContexts = new WeakMap(), _Connection_instances = new WeakSet(), _Connection_maybeEmitOnContext = function _Connection_maybeEmitOnContext(event) {
-    let context;
-    // Context specific events
-    if ('context' in event.params && event.params.context) {
-        context = __classPrivateFieldGet(this, _Connection_browsingContexts, "f").get(event.params.context);
-        // `log.entryAdded` specific context
-    }
-    else if ('source' in event.params && event.params.source.context) {
-        context = __classPrivateFieldGet(this, _Connection_browsingContexts, "f").get(event.params.source.context);
-    }
-    else if (isCDPEvent(event)) {
-        // TODO: this is not a good solution and we need to find a better one.
-        // Perhaps we need to have a dedicated CDP event emitter or emulate
-        // the CDPSession interface with BiDi?.
-        const cdpSessionId = event.params.session;
-        for (const context of __classPrivateFieldGet(this, _Connection_browsingContexts, "f").values()) {
-            if (context.cdpSession?.id() === cdpSessionId) {
-                context.cdpSession.emit(event.params.event, event.params.params);
+            if ('error' in object || 'id' in object || 'launched' in object) {
+                (0, utils_js_1.debugError)(object);
+            }
+            else {
+                this.#maybeEmitOnContext(object);
+                this.emit(object.method, object.params);
             }
         }
     }
-    context?.emit(event.method, event.params);
-}, _Connection_onClose = function _Connection_onClose() {
-    if (__classPrivateFieldGet(this, _Connection_closed, "f")) {
-        return;
+    #maybeEmitOnContext(event) {
+        let context;
+        // Context specific events
+        if ('context' in event.params && event.params.context) {
+            context = this.#browsingContexts.get(event.params.context);
+            // `log.entryAdded` specific context
+        }
+        else if ('source' in event.params && event.params.source.context) {
+            context = this.#browsingContexts.get(event.params.source.context);
+        }
+        else if (isCDPEvent(event)) {
+            BrowsingContext_js_1.cdpSessions
+                .get(event.params.session)
+                ?.emit(event.params.event, event.params.params);
+        }
+        context?.emit(event.method, event.params);
     }
-    __classPrivateFieldSet(this, _Connection_closed, true, "f");
-    __classPrivateFieldGet(this, _Connection_transport, "f").onmessage = undefined;
-    __classPrivateFieldGet(this, _Connection_transport, "f").onclose = undefined;
-    __classPrivateFieldGet(this, _Connection_callbacks, "f").clear();
-};
+    registerBrowsingContexts(context) {
+        this.#browsingContexts.set(context.id, context);
+    }
+    getBrowsingContext(contextId) {
+        const currentContext = this.#browsingContexts.get(contextId);
+        if (!currentContext) {
+            throw new Error(`BrowsingContext ${contextId} does not exist.`);
+        }
+        return currentContext;
+    }
+    getTopLevelContext(contextId) {
+        let currentContext = this.#browsingContexts.get(contextId);
+        if (!currentContext) {
+            throw new Error(`BrowsingContext ${contextId} does not exist.`);
+        }
+        while (currentContext.parent) {
+            contextId = currentContext.parent;
+            currentContext = this.#browsingContexts.get(contextId);
+            if (!currentContext) {
+                throw new Error(`BrowsingContext ${contextId} does not exist.`);
+            }
+        }
+        return currentContext;
+    }
+    unregisterBrowsingContexts(id) {
+        this.#browsingContexts.delete(id);
+    }
+    #onClose() {
+        if (this.#closed) {
+            return;
+        }
+        this.#closed = true;
+        this.#transport.onmessage = undefined;
+        this.#transport.onclose = undefined;
+        this.#callbacks.clear();
+    }
+    dispose() {
+        this.#onClose();
+        this.#transport.close();
+    }
+}
+exports.Connection = Connection;
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Connection.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Connection.js.map
index 2779052..64127b5 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Connection.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Connection.js.map
@@ -1 +1 @@
-{"version":3,"file":"Connection.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Connection.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Connection.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Connection.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Dialog.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Dialog.d.ts
new file mode 100644
index 0000000..e3e291b
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Dialog.d.ts
@@ -0,0 +1,36 @@
+/**
+ * Copyright 2017 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import * as Bidi from 'chromium-bidi/lib/cjs/protocol/protocol.js';
+import { Dialog as BaseDialog } from '../../api/Dialog.js';
+import { BrowsingContext } from './BrowsingContext.js';
+/**
+ * @internal
+ */
+export declare class Dialog extends BaseDialog {
+    #private;
+    /**
+     * @internal
+     */
+    constructor(context: BrowsingContext, type: Bidi.BrowsingContext.UserPromptOpenedParameters['type'], message: string, defaultValue?: string);
+    /**
+     * @internal
+     */
+    sendCommand(options: {
+        accept: boolean;
+        text?: string;
+    }): Promise<void>;
+}
+//# sourceMappingURL=Dialog.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Dialog.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Dialog.d.ts.map
new file mode 100644
index 0000000..db665be
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Dialog.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EAAC,MAAM,IAAI,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,qBAAa,MAAO,SAAQ,UAAU;;IAGpC;;OAEG;gBAED,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAC7D,OAAO,EAAE,MAAM,EACf,YAAY,SAAK;IAMnB;;OAEG;IACY,WAAW,CAAC,OAAO,EAAE;QAClC,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,IAAI,CAAC;CAOlB"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Dialog.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Dialog.js
new file mode 100644
index 0000000..0782066
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Dialog.js
@@ -0,0 +1,44 @@
+"use strict";
+/**
+ * Copyright 2017 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Dialog = void 0;
+const Dialog_js_1 = require("../../api/Dialog.js");
+/**
+ * @internal
+ */
+class Dialog extends Dialog_js_1.Dialog {
+    #context;
+    /**
+     * @internal
+     */
+    constructor(context, type, message, defaultValue = '') {
+        super(type, message, defaultValue);
+        this.#context = context;
+    }
+    /**
+     * @internal
+     */
+    async sendCommand(options) {
+        await this.#context.connection.send('browsingContext.handleUserPrompt', {
+            context: this.#context.id,
+            accept: options.accept,
+            userText: options.text,
+        });
+    }
+}
+exports.Dialog = Dialog;
+//# sourceMappingURL=Dialog.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Dialog.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Dialog.js.map
new file mode 100644
index 0000000..572de1c
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Dialog.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Dialog.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH,mDAAyD;AAIzD;;GAEG;AACH,MAAa,MAAO,SAAQ,kBAAU;IACpC,QAAQ,CAAkB;IAE1B;;OAEG;IACH,YACE,OAAwB,EACxB,IAA6D,EAC7D,OAAe,EACf,YAAY,GAAG,EAAE;QAEjB,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,WAAW,CAAC,OAG1B;QACC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,kCAAkC,EAAE;YACtE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;YACzB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;CACF;AA7BD,wBA6BC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/ElementHandle.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/ElementHandle.d.ts
index b5ad493..890d7d9 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/ElementHandle.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/ElementHandle.d.ts
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 import * as Bidi from 'chromium-bidi/lib/cjs/protocol/protocol.js';
-import { ElementHandle as BaseElementHandle, ClickOptions } from '../../api/ElementHandle.js';
+import { AutofillData, ElementHandle as BaseElementHandle, BoundingBox, ClickOptions } from '../../api/ElementHandle.js';
 import { KeyPressOptions, KeyboardTypeOptions } from '../../api/Input.js';
 import { KeyInput } from '../USKeyboardLayout.js';
 import { Frame } from './Frame.js';
@@ -26,15 +26,17 @@
 export declare class ElementHandle<ElementType extends Node = Element> extends BaseElementHandle<ElementType> {
     #private;
     handle: JSHandle<ElementType>;
-    constructor(realm: Realm, remoteValue: Bidi.CommonDataTypes.RemoteValue, frame: Frame);
+    constructor(realm: Realm, remoteValue: Bidi.Script.RemoteValue, frame: Frame);
     get frame(): Frame;
     context(): Realm;
     get isPrimitiveValue(): boolean;
-    remoteValue(): Bidi.CommonDataTypes.RemoteValue;
+    remoteValue(): Bidi.Script.RemoteValue;
     /**
      * @internal
      */
     assertElementHasWorld(): asserts this;
+    autofill(data: AutofillData): Promise<void>;
+    boundingBox(): Promise<BoundingBox | null>;
     click(this: ElementHandle<Element>, options?: Readonly<ClickOptions>): Promise<void>;
     hover(this: ElementHandle<Element>): Promise<void>;
     tap(this: ElementHandle<Element>): Promise<void>;
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/ElementHandle.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/ElementHandle.d.ts.map
index 80310fa..86dbda1 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/ElementHandle.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/ElementHandle.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"ElementHandle.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/ElementHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EACL,aAAa,IAAI,iBAAiB,EAClC,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAExE,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AACjC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAEjC;;GAEG;AACH,qBAAa,aAAa,CACxB,WAAW,SAAS,IAAI,GAAG,OAAO,CAClC,SAAQ,iBAAiB,CAAC,WAAW,CAAC;;IAC9B,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAIpC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAC7C,KAAK,EAAE,KAAK;IAMd,IAAa,KAAK,IAAI,KAAK,CAE1B;IAED,OAAO,IAAI,KAAK;IAIhB,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW;IAI/C;;OAEG;IACM,qBAAqB,IAAI,OAAO,CAAC,IAAI;IAQ/B,KAAK,CAClB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAC5B,OAAO,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC;IAiBD,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlD,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhD,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvD,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,IAAI,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC;IAKD,KAAK,CAClB,GAAG,EAAE,QAAQ,EACb,OAAO,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC;CAIjB"}
\ No newline at end of file
+{"version":3,"file":"ElementHandle.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/ElementHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EACL,YAAY,EACZ,aAAa,IAAI,iBAAiB,EAClC,WAAW,EACX,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAExE,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AACjC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAEjC;;GAEG;AACH,qBAAa,aAAa,CACxB,WAAW,SAAS,IAAI,GAAG,OAAO,CAClC,SAAQ,iBAAiB,CAAC,WAAW,CAAC;;IAC9B,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAIpC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EACpC,KAAK,EAAE,KAAK;IAMd,IAAa,KAAK,IAAI,KAAK,CAE1B;IAED,OAAO,IAAI,KAAK;IAIhB,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW;IAItC;;OAEG;IACM,qBAAqB,IAAI,OAAO,CAAC,IAAI;IAK/B,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAc3C,WAAW,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAyB1C,KAAK,CAClB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAC5B,OAAO,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC;IAiBD,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlD,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhD,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvD,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,IAAI,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC;IAKD,KAAK,CAClB,GAAG,EAAE,QAAQ,EACb,OAAO,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC;CAIjB"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/ElementHandle.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/ElementHandle.js
index a56316e..52895a2 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/ElementHandle.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/ElementHandle.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _ElementHandle_frame;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.ElementHandle = void 0;
 const ElementHandle_js_1 = require("../../api/ElementHandle.js");
@@ -35,13 +23,13 @@
  * @internal
  */
 class ElementHandle extends ElementHandle_js_1.ElementHandle {
+    #frame;
     constructor(realm, remoteValue, frame) {
         super(new JSHandle_js_1.JSHandle(realm, remoteValue));
-        _ElementHandle_frame.set(this, void 0);
-        __classPrivateFieldSet(this, _ElementHandle_frame, frame, "f");
+        this.#frame = frame;
     }
     get frame() {
-        return __classPrivateFieldGet(this, _ElementHandle_frame, "f");
+        return this.#frame;
     }
     context() {
         return this.handle.context();
@@ -59,6 +47,38 @@
         // TODO: Should assert element has a Sandbox
         return;
     }
+    async autofill(data) {
+        const client = this.#frame.context().cdpSession;
+        const nodeInfo = await client.send('DOM.describeNode', {
+            objectId: this.handle.id,
+        });
+        const fieldId = nodeInfo.node.backendNodeId;
+        const frameId = this.#frame._id;
+        await client.send('Autofill.trigger', {
+            fieldId,
+            frameId,
+            card: data.creditCard,
+        });
+    }
+    async boundingBox() {
+        if (this.frame.parentFrame()) {
+            throw new Error('Elements within nested iframes are currently not supported.');
+        }
+        const box = await this.frame.isolatedRealm().evaluate(element => {
+            const rect = element.getBoundingClientRect();
+            if (!rect.left && !rect.top && !rect.width && !rect.height) {
+                // TODO(jrandolf): Detect if the element is truly not visible.
+                return null;
+            }
+            return {
+                x: rect.left,
+                y: rect.top,
+                width: rect.width,
+                height: rect.height,
+            };
+        }, this);
+        return box;
+    }
     // ///////////////////
     // // Input methods //
     // ///////////////////
@@ -67,7 +87,7 @@
         const { x = 0, y = 0 } = options?.offset ?? {};
         const remoteValue = this.remoteValue();
         (0, assert_js_1.assert)('sharedId' in remoteValue);
-        return __classPrivateFieldGet(this, _ElementHandle_frame, "f").page().mouse.click(x, y, Object.assign({}, options, {
+        return this.#frame.page().mouse.click(x, y, Object.assign({}, options, {
             origin: {
                 type: 'element',
                 element: remoteValue,
@@ -78,7 +98,7 @@
         await this.scrollIntoViewIfNeeded();
         const remoteValue = this.remoteValue();
         (0, assert_js_1.assert)('sharedId' in remoteValue);
-        return __classPrivateFieldGet(this, _ElementHandle_frame, "f").page().mouse.move(0, 0, {
+        return this.#frame.page().mouse.move(0, 0, {
             origin: {
                 type: 'element',
                 element: remoteValue,
@@ -89,7 +109,7 @@
         await this.scrollIntoViewIfNeeded();
         const remoteValue = this.remoteValue();
         (0, assert_js_1.assert)('sharedId' in remoteValue);
-        return __classPrivateFieldGet(this, _ElementHandle_frame, "f").page().touchscreen.tap(0, 0, {
+        return this.#frame.page().touchscreen.tap(0, 0, {
             origin: {
                 type: 'element',
                 element: remoteValue,
@@ -100,7 +120,7 @@
         await this.scrollIntoViewIfNeeded();
         const remoteValue = this.remoteValue();
         (0, assert_js_1.assert)('sharedId' in remoteValue);
-        return __classPrivateFieldGet(this, _ElementHandle_frame, "f").page().touchscreen.touchStart(0, 0, {
+        return this.#frame.page().touchscreen.touchStart(0, 0, {
             origin: {
                 type: 'element',
                 element: remoteValue,
@@ -111,7 +131,7 @@
         await this.scrollIntoViewIfNeeded();
         const remoteValue = this.remoteValue();
         (0, assert_js_1.assert)('sharedId' in remoteValue);
-        return __classPrivateFieldGet(this, _ElementHandle_frame, "f").page().touchscreen.touchMove(0, 0, {
+        return this.#frame.page().touchscreen.touchMove(0, 0, {
             origin: {
                 type: 'element',
                 element: remoteValue,
@@ -120,17 +140,16 @@
     }
     async touchEnd() {
         await this.scrollIntoViewIfNeeded();
-        await __classPrivateFieldGet(this, _ElementHandle_frame, "f").page().touchscreen.touchEnd();
+        await this.#frame.page().touchscreen.touchEnd();
     }
     async type(text, options) {
         await this.focus();
-        await __classPrivateFieldGet(this, _ElementHandle_frame, "f").page().keyboard.type(text, options);
+        await this.#frame.page().keyboard.type(text, options);
     }
     async press(key, options) {
         await this.focus();
-        await __classPrivateFieldGet(this, _ElementHandle_frame, "f").page().keyboard.press(key, options);
+        await this.#frame.page().keyboard.press(key, options);
     }
 }
 exports.ElementHandle = ElementHandle;
-_ElementHandle_frame = new WeakMap();
 //# sourceMappingURL=ElementHandle.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/ElementHandle.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/ElementHandle.js.map
index a1bf867..5de4ab8 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/ElementHandle.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/ElementHandle.js.map
@@ -1 +1 @@
-{"version":3,"file":"ElementHandle.js","sourceRoot":"","sources":["../../../../../src/common/bidi/ElementHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ElementHandle.js","sourceRoot":"","sources":["../../../../../src/common/bidi/ElementHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Frame.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Frame.d.ts.map
index 84c2e14..6a919eb 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Frame.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Frame.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Frame.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Frame.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Frame.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Frame.js
index 38da78a..3463282 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Frame.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Frame.js
@@ -37,18 +37,6 @@
     __setModuleDefault(result, mod);
     return result;
 };
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Frame_page, _Frame_context, _Frame_timeoutSettings, _Frame_abortDeferred;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.Frame = void 0;
 const Bidi = __importStar(require("chromium-bidi/lib/cjs/protocol/protocol.js"));
@@ -63,16 +51,18 @@
  * @internal
  */
 class Frame extends Frame_js_1.Frame {
+    #page;
+    #context;
+    #timeoutSettings;
+    #abortDeferred = Deferred_js_1.Deferred.create();
+    sandboxes;
+    _id;
     constructor(page, context, timeoutSettings, parentId) {
         super();
-        _Frame_page.set(this, void 0);
-        _Frame_context.set(this, void 0);
-        _Frame_timeoutSettings.set(this, void 0);
-        _Frame_abortDeferred.set(this, Deferred_js_1.Deferred.create());
-        __classPrivateFieldSet(this, _Frame_page, page, "f");
-        __classPrivateFieldSet(this, _Frame_context, context, "f");
-        __classPrivateFieldSet(this, _Frame_timeoutSettings, timeoutSettings, "f");
-        this._id = __classPrivateFieldGet(this, _Frame_context, "f").id;
+        this.#page = page;
+        this.#context = context;
+        this.#timeoutSettings = timeoutSettings;
+        this._id = this.#context.id;
         this._parentId = parentId ?? undefined;
         const puppeteerRealm = context.createSandboxRealm(FrameManager_js_1.UTILITY_WORLD_NAME);
         this.sandboxes = {
@@ -89,41 +79,47 @@
         return this.sandboxes[Sandbox_js_1.PUPPETEER_SANDBOX];
     }
     page() {
-        return __classPrivateFieldGet(this, _Frame_page, "f");
+        return this.#page;
     }
     name() {
         return this._name || '';
     }
     url() {
-        return __classPrivateFieldGet(this, _Frame_context, "f").url;
+        return this.#context.url;
     }
     parentFrame() {
-        return __classPrivateFieldGet(this, _Frame_page, "f").frame(this._parentId ?? '');
+        return this.#page.frame(this._parentId ?? '');
     }
     childFrames() {
-        return __classPrivateFieldGet(this, _Frame_page, "f").childFrames(__classPrivateFieldGet(this, _Frame_context, "f").id);
+        return this.#page.childFrames(this.#context.id);
     }
     async evaluateHandle(pageFunction, ...args) {
-        return __classPrivateFieldGet(this, _Frame_context, "f").evaluateHandle(pageFunction, ...args);
+        return this.#context.evaluateHandle(pageFunction, ...args);
     }
     async evaluate(pageFunction, ...args) {
-        return __classPrivateFieldGet(this, _Frame_context, "f").evaluate(pageFunction, ...args);
+        return this.#context.evaluate(pageFunction, ...args);
     }
     async goto(url, options) {
-        const navigationId = await __classPrivateFieldGet(this, _Frame_context, "f").goto(url, options);
-        return __classPrivateFieldGet(this, _Frame_page, "f").getNavigationResponse(navigationId);
+        const navigationId = await this.#context.goto(url, {
+            ...options,
+            timeout: options?.timeout ?? this.#timeoutSettings.navigationTimeout(),
+        });
+        return this.#page.getNavigationResponse(navigationId);
     }
     setContent(html, options) {
-        return __classPrivateFieldGet(this, _Frame_context, "f").setContent(html, options);
+        return this.#context.setContent(html, {
+            ...options,
+            timeout: options?.timeout ?? this.#timeoutSettings.navigationTimeout(),
+        });
     }
     content() {
-        return __classPrivateFieldGet(this, _Frame_context, "f").content();
+        return this.#context.content();
     }
     title() {
-        return __classPrivateFieldGet(this, _Frame_context, "f").title();
+        return this.#context.title();
     }
     context() {
-        return __classPrivateFieldGet(this, _Frame_context, "f");
+        return this.#context;
     }
     $(selector) {
         return this.mainRealm().$(selector);
@@ -143,23 +139,31 @@
         return this.mainRealm().$x(expression);
     }
     async waitForNavigation(options = {}) {
-        const { waitUntil = 'load', timeout = __classPrivateFieldGet(this, _Frame_timeoutSettings, "f").navigationTimeout(), } = options;
+        const { waitUntil = 'load', timeout = this.#timeoutSettings.navigationTimeout(), } = options;
         const waitUntilEvent = BrowsingContext_js_1.lifeCycleToSubscribedEvent.get((0, BrowsingContext_js_1.getWaitUntilSingle)(waitUntil));
-        const [info] = await Promise.all([
-            (0, util_js_1.waitForEvent)(__classPrivateFieldGet(this, _Frame_context, "f"), waitUntilEvent, () => {
+        const [info] = await Deferred_js_1.Deferred.race([
+            // TODO(lightning00blade): Should also keep tack of
+            // navigationAborted and navigationFailed
+            Promise.all([
+                (0, util_js_1.waitForEvent)(this.#context, waitUntilEvent, () => {
+                    return true;
+                }, timeout, this.#abortDeferred.valueOrThrow()),
+                (0, util_js_1.waitForEvent)(this.#context, Bidi.ChromiumBidi.BrowsingContext.EventNames.NavigationStarted, () => {
+                    return true;
+                }, timeout, this.#abortDeferred.valueOrThrow()),
+            ]),
+            (0, util_js_1.waitForEvent)(this.#context, Bidi.ChromiumBidi.BrowsingContext.EventNames.FragmentNavigated, () => {
                 return true;
-            }, timeout, __classPrivateFieldGet(this, _Frame_abortDeferred, "f").valueOrThrow()),
-            (0, util_js_1.waitForEvent)(__classPrivateFieldGet(this, _Frame_context, "f"), Bidi.BrowsingContext.EventNames.FragmentNavigated, () => {
-                return true;
-            }, timeout, __classPrivateFieldGet(this, _Frame_abortDeferred, "f").valueOrThrow()),
+            }, timeout, this.#abortDeferred.valueOrThrow()).then(info => {
+                return [info, undefined];
+            }),
         ]);
-        return __classPrivateFieldGet(this, _Frame_page, "f").getNavigationResponse(info.navigation);
+        return this.#page.getNavigationResponse(info.navigation);
     }
     dispose() {
-        __classPrivateFieldGet(this, _Frame_abortDeferred, "f").reject(new Error('Frame detached'));
-        __classPrivateFieldGet(this, _Frame_context, "f").dispose();
+        this.#abortDeferred.reject(new Error('Frame detached'));
+        this.#context.dispose();
     }
 }
 exports.Frame = Frame;
-_Frame_page = new WeakMap(), _Frame_context = new WeakMap(), _Frame_timeoutSettings = new WeakMap(), _Frame_abortDeferred = new WeakMap();
 //# sourceMappingURL=Frame.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Frame.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Frame.js.map
index aaaa9f3..9a16e29 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Frame.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Frame.js.map
@@ -1 +1 @@
-{"version":3,"file":"Frame.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Frame.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPRequest.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPRequest.d.ts
index 6e5b24b..ca5e3c5 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPRequest.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPRequest.d.ts
@@ -25,7 +25,7 @@
     _response: HTTPResponse | null;
     _redirectChain: HTTPRequest[];
     _navigationId: string | null;
-    constructor(event: Bidi.Network.BeforeRequestSentParams, frame: Frame | null, redirectChain: HTTPRequest[]);
+    constructor(event: Bidi.Network.BeforeRequestSentParameters, frame: Frame | null, redirectChain: HTTPRequest[]);
     url(): string;
     resourceType(): ResourceType;
     method(): string;
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPRequest.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPRequest.d.ts.map
index a00062a..1999098 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPRequest.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPRequest.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"HTTPRequest.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/HTTPRequest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACzC,OAAO,EACL,WAAW,IAAI,eAAe,EAC9B,YAAY,EACb,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE/C;;GAEG;AACH,qBAAa,WAAY,SAAQ,eAAe;;IACrC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAQ;IACtC,cAAc,EAAE,WAAW,EAAE,CAAC;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;gBAY3B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAC3C,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,aAAa,EAAE,WAAW,EAAE;IAwBrB,GAAG,IAAI,MAAM;IAIb,YAAY,IAAI,YAAY;IAI5B,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIjC,QAAQ,IAAI,YAAY,GAAG,IAAI;IAI/B,mBAAmB,IAAI,OAAO;IAI9B,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS;IAInC,aAAa,IAAI,WAAW,EAAE;IAI9B,sBAAsB,CAC7B,cAAc,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,GAChD,IAAI;IAKE,KAAK,IAAI,KAAK,GAAG,IAAI;CAG/B"}
\ No newline at end of file
+{"version":3,"file":"HTTPRequest.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/HTTPRequest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACzC,OAAO,EACL,WAAW,IAAI,eAAe,EAC9B,YAAY,EACb,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE/C;;GAEG;AACH,qBAAa,WAAY,SAAQ,eAAe;;IACrC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAQ;IACtC,cAAc,EAAE,WAAW,EAAE,CAAC;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;gBAY3B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAC/C,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,aAAa,EAAE,WAAW,EAAE;IAwBrB,GAAG,IAAI,MAAM;IAIb,YAAY,IAAI,YAAY;IAI5B,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIjC,QAAQ,IAAI,YAAY,GAAG,IAAI;IAI/B,mBAAmB,IAAI,OAAO;IAI9B,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS;IAInC,aAAa,IAAI,WAAW,EAAE;IAI9B,sBAAsB,CAC7B,cAAc,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,GAChD,IAAI;IAKE,KAAK,IAAI,KAAK,GAAG,IAAI;CAG/B"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPRequest.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPRequest.js
index 11eba26..d2b9477 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPRequest.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPRequest.js
@@ -1,16 +1,4 @@
 "use strict";
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _HTTPRequest_url, _HTTPRequest_resourceType, _HTTPRequest_method, _HTTPRequest_postData, _HTTPRequest_headers, _HTTPRequest_initiator, _HTTPRequest_frame;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.HTTPRequest = void 0;
 const HTTPRequest_js_1 = require("../../api/HTTPRequest.js");
@@ -18,47 +6,49 @@
  * @internal
  */
 class HTTPRequest extends HTTPRequest_js_1.HTTPRequest {
+    _response = null;
+    _redirectChain;
+    _navigationId;
+    #url;
+    #resourceType;
+    #method;
+    #postData;
+    #headers = {};
+    #initiator;
+    #frame;
     constructor(event, frame, redirectChain) {
         super();
-        this._response = null;
-        _HTTPRequest_url.set(this, void 0);
-        _HTTPRequest_resourceType.set(this, void 0);
-        _HTTPRequest_method.set(this, void 0);
-        _HTTPRequest_postData.set(this, void 0);
-        _HTTPRequest_headers.set(this, {});
-        _HTTPRequest_initiator.set(this, void 0);
-        _HTTPRequest_frame.set(this, void 0);
-        __classPrivateFieldSet(this, _HTTPRequest_url, event.request.url, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_resourceType, event.initiator.type.toLowerCase(), "f");
-        __classPrivateFieldSet(this, _HTTPRequest_method, event.request.method, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_postData, undefined, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_initiator, event.initiator, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_frame, frame, "f");
+        this.#url = event.request.url;
+        this.#resourceType = event.initiator.type.toLowerCase();
+        this.#method = event.request.method;
+        this.#postData = undefined;
+        this.#initiator = event.initiator;
+        this.#frame = frame;
         this._requestId = event.request.request;
         this._redirectChain = redirectChain ?? [];
         this._navigationId = event.navigation;
-        for (const { name, value } of event.request.headers) {
+        for (const header of event.request.headers) {
             // TODO: How to handle Binary Headers
             // https://w3c.github.io/webdriver-bidi/#type-network-Header
-            if (value) {
-                __classPrivateFieldGet(this, _HTTPRequest_headers, "f")[name.toLowerCase()] = value;
+            if (header.value.type === 'string') {
+                this.#headers[header.name.toLowerCase()] = header.value.value;
             }
         }
     }
     url() {
-        return __classPrivateFieldGet(this, _HTTPRequest_url, "f");
+        return this.#url;
     }
     resourceType() {
-        return __classPrivateFieldGet(this, _HTTPRequest_resourceType, "f");
+        return this.#resourceType;
     }
     method() {
-        return __classPrivateFieldGet(this, _HTTPRequest_method, "f");
+        return this.#method;
     }
     postData() {
-        return __classPrivateFieldGet(this, _HTTPRequest_postData, "f");
+        return this.#postData;
     }
     headers() {
-        return __classPrivateFieldGet(this, _HTTPRequest_headers, "f");
+        return this.#headers;
     }
     response() {
         return this._response;
@@ -67,7 +57,7 @@
         return Boolean(this._navigationId);
     }
     initiator() {
-        return __classPrivateFieldGet(this, _HTTPRequest_initiator, "f");
+        return this.#initiator;
     }
     redirectChain() {
         return this._redirectChain.slice();
@@ -77,9 +67,8 @@
         void pendingHandler();
     }
     frame() {
-        return __classPrivateFieldGet(this, _HTTPRequest_frame, "f");
+        return this.#frame;
     }
 }
 exports.HTTPRequest = HTTPRequest;
-_HTTPRequest_url = new WeakMap(), _HTTPRequest_resourceType = new WeakMap(), _HTTPRequest_method = new WeakMap(), _HTTPRequest_postData = new WeakMap(), _HTTPRequest_headers = new WeakMap(), _HTTPRequest_initiator = new WeakMap(), _HTTPRequest_frame = new WeakMap();
 //# sourceMappingURL=HTTPRequest.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPRequest.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPRequest.js.map
index fbdcb55..024d5dc 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPRequest.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPRequest.js.map
@@ -1 +1 @@
-{"version":3,"file":"HTTPRequest.js","sourceRoot":"","sources":["../../../../../src/common/bidi/HTTPRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAkBA,6DAGkC;AAIlC;;GAEG;AACH,MAAa,WAAY,SAAQ,4BAAe;IAc9C,YACE,KAA2C,EAC3C,KAAmB,EACnB,aAA4B;QAE5B,KAAK,EAAE,CAAC;QAlBD,cAAS,GAAwB,IAAI,CAAC;QAI/C,mCAAa;QACb,4CAA4B;QAE5B,sCAAgB;QAChB,wCAAmB;QACnB,+BAAmC,EAAE,EAAC;QACtC,yCAAmC;QACnC,qCAAqB;QASnB,uBAAA,IAAI,oBAAQ,KAAK,CAAC,OAAO,CAAC,GAAG,MAAA,CAAC;QAC9B,uBAAA,IAAI,6BAAiB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAkB,MAAA,CAAC;QACxE,uBAAA,IAAI,uBAAW,KAAK,CAAC,OAAO,CAAC,MAAM,MAAA,CAAC;QACpC,uBAAA,IAAI,yBAAa,SAAS,MAAA,CAAC;QAC3B,uBAAA,IAAI,0BAAc,KAAK,CAAC,SAAS,MAAA,CAAC;QAClC,uBAAA,IAAI,sBAAU,KAAK,MAAA,CAAC;QAEpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,aAAa,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC;QAEtC,KAAK,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;YACjD,qCAAqC;YACrC,4DAA4D;YAC5D,IAAI,KAAK,EAAE;gBACT,uBAAA,IAAI,4BAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;aAC3C;SACF;IACH,CAAC;IAEQ,GAAG;QACV,OAAO,uBAAA,IAAI,wBAAK,CAAC;IACnB,CAAC;IAEQ,YAAY;QACnB,OAAO,uBAAA,IAAI,iCAAc,CAAC;IAC5B,CAAC;IAEQ,MAAM;QACb,OAAO,uBAAA,IAAI,2BAAQ,CAAC;IACtB,CAAC;IAEQ,QAAQ;QACf,OAAO,uBAAA,IAAI,6BAAU,CAAC;IACxB,CAAC;IAEQ,OAAO;QACd,OAAO,uBAAA,IAAI,4BAAS,CAAC;IACvB,CAAC;IAEQ,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEQ,mBAAmB;QAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAEQ,SAAS;QAChB,OAAO,uBAAA,IAAI,8BAAW,CAAC;IACzB,CAAC;IAEQ,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAEQ,sBAAsB,CAC7B,cAAiD;QAEjD,yDAAyD;QACzD,KAAK,cAAc,EAAE,CAAC;IACxB,CAAC;IAEQ,KAAK;QACZ,OAAO,uBAAA,IAAI,0BAAO,CAAC;IACrB,CAAC;CACF;AAvFD,kCAuFC"}
\ No newline at end of file
+{"version":3,"file":"HTTPRequest.js","sourceRoot":"","sources":["../../../../../src/common/bidi/HTTPRequest.ts"],"names":[],"mappings":";;;AAkBA,6DAGkC;AAIlC;;GAEG;AACH,MAAa,WAAY,SAAQ,4BAAe;IACrC,SAAS,GAAwB,IAAI,CAAC;IACtC,cAAc,CAAgB;IACvC,aAAa,CAAgB;IAE7B,IAAI,CAAS;IACb,aAAa,CAAe;IAE5B,OAAO,CAAS;IAChB,SAAS,CAAU;IACnB,QAAQ,GAA2B,EAAE,CAAC;IACtC,UAAU,CAAyB;IACnC,MAAM,CAAe;IAErB,YACE,KAA+C,EAC/C,KAAmB,EACnB,aAA4B;QAE5B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAkB,CAAC;QACxE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,aAAa,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC;QAEtC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;YAC1C,qCAAqC;YACrC,4DAA4D;YAC5D,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;aAC/D;SACF;IACH,CAAC;IAEQ,GAAG;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEQ,YAAY;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEQ,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEQ,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEQ,mBAAmB;QAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAEQ,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEQ,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAEQ,sBAAsB,CAC7B,cAAiD;QAEjD,yDAAyD;QACzD,KAAK,cAAc,EAAE,CAAC;IACxB,CAAC;IAEQ,KAAK;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAvFD,kCAuFC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPResponse.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPResponse.d.ts
index d1da55b..8a0e532 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPResponse.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPResponse.d.ts
@@ -23,7 +23,7 @@
  */
 export declare class HTTPResponse extends BaseHTTPResponse {
     #private;
-    constructor(request: HTTPRequest, responseEvent: Bidi.Network.ResponseCompletedParams);
+    constructor(request: HTTPRequest, { response }: Bidi.Network.ResponseCompletedParameters);
     remoteAddress(): RemoteAddress;
     url(): string;
     status(): number;
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPResponse.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPResponse.d.ts.map
index 3698778..db95040 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPResponse.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPResponse.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"HTTPResponse.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/HTTPResponse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AACnE,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACzC,OAAO,EACL,YAAY,IAAI,gBAAgB,EAChC,aAAa,EACd,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C;;GAEG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;;gBAW9C,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAuB;IAwB5C,aAAa,IAAI,aAAa;IAI9B,GAAG,IAAI,MAAM;IAIb,MAAM,IAAI,MAAM;IAIhB,UAAU,IAAI,MAAM;IAIpB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIjC,OAAO,IAAI,WAAW;IAItB,SAAS,IAAI,OAAO;IAIpB,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI;IAIhD,KAAK,IAAI,KAAK,GAAG,IAAI;CAG/B"}
\ No newline at end of file
+{"version":3,"file":"HTTPResponse.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/HTTPResponse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AACnE,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACzC,OAAO,EACL,YAAY,IAAI,gBAAgB,EAChC,aAAa,EACd,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C;;GAEG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;;gBAW9C,OAAO,EAAE,WAAW,EACpB,EAAC,QAAQ,EAAC,EAAE,IAAI,CAAC,OAAO,CAAC,2BAA2B;IA2B7C,aAAa,IAAI,aAAa;IAI9B,GAAG,IAAI,MAAM;IAIb,MAAM,IAAI,MAAM;IAIhB,UAAU,IAAI,MAAM;IAIpB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIjC,OAAO,IAAI,WAAW;IAItB,SAAS,IAAI,OAAO;IAIpB,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI;IAIhD,KAAK,IAAI,KAAK,GAAG,IAAI;CAG/B"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPResponse.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPResponse.js
index b5daaf5..5583fed 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPResponse.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPResponse.js
@@ -1,16 +1,4 @@
 "use strict";
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _HTTPResponse_request, _HTTPResponse_remoteAddress, _HTTPResponse_status, _HTTPResponse_statusText, _HTTPResponse_url, _HTTPResponse_fromCache, _HTTPResponse_headers, _HTTPResponse_timings;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.HTTPResponse = void 0;
 const HTTPResponse_js_1 = require("../../api/HTTPResponse.js");
@@ -18,61 +6,63 @@
  * @internal
  */
 class HTTPResponse extends HTTPResponse_js_1.HTTPResponse {
-    constructor(request, responseEvent) {
+    #request;
+    #remoteAddress;
+    #status;
+    #statusText;
+    #url;
+    #fromCache;
+    #headers = {};
+    #timings;
+    constructor(request, { response }) {
         super();
-        _HTTPResponse_request.set(this, void 0);
-        _HTTPResponse_remoteAddress.set(this, void 0);
-        _HTTPResponse_status.set(this, void 0);
-        _HTTPResponse_statusText.set(this, void 0);
-        _HTTPResponse_url.set(this, void 0);
-        _HTTPResponse_fromCache.set(this, void 0);
-        _HTTPResponse_headers.set(this, {});
-        _HTTPResponse_timings.set(this, void 0);
-        const { response } = responseEvent;
-        __classPrivateFieldSet(this, _HTTPResponse_request, request, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_remoteAddress, {
+        this.#request = request;
+        this.#remoteAddress = {
             ip: '',
             port: -1,
-        }, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_url, response.url, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_fromCache, response.fromCache, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_status, response.status, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_statusText, response.statusText, "f");
-        // TODO: update once BiDi has types
-        __classPrivateFieldSet(this, _HTTPResponse_timings, response.timings ?? null, "f");
+        };
+        this.#url = response.url;
+        this.#fromCache = response.fromCache;
+        this.#status = response.status;
+        this.#statusText = response.statusText;
+        // TODO: File and issue with BiDi spec
+        this.#timings = null;
         // TODO: Removed once the Firefox implementation is compliant with https://w3c.github.io/webdriver-bidi/#get-the-response-data.
         for (const header of response.headers || []) {
-            __classPrivateFieldGet(this, _HTTPResponse_headers, "f")[header.name] = header.value ?? '';
+            // TODO: How to handle Binary Headers
+            // https://w3c.github.io/webdriver-bidi/#type-network-Header
+            if (header.value.type === 'string') {
+                this.#headers[header.name.toLowerCase()] = header.value.value;
+            }
         }
     }
     remoteAddress() {
-        return __classPrivateFieldGet(this, _HTTPResponse_remoteAddress, "f");
+        return this.#remoteAddress;
     }
     url() {
-        return __classPrivateFieldGet(this, _HTTPResponse_url, "f");
+        return this.#url;
     }
     status() {
-        return __classPrivateFieldGet(this, _HTTPResponse_status, "f");
+        return this.#status;
     }
     statusText() {
-        return __classPrivateFieldGet(this, _HTTPResponse_statusText, "f");
+        return this.#statusText;
     }
     headers() {
-        return __classPrivateFieldGet(this, _HTTPResponse_headers, "f");
+        return this.#headers;
     }
     request() {
-        return __classPrivateFieldGet(this, _HTTPResponse_request, "f");
+        return this.#request;
     }
     fromCache() {
-        return __classPrivateFieldGet(this, _HTTPResponse_fromCache, "f");
+        return this.#fromCache;
     }
     timing() {
-        return __classPrivateFieldGet(this, _HTTPResponse_timings, "f");
+        return this.#timings;
     }
     frame() {
-        return __classPrivateFieldGet(this, _HTTPResponse_request, "f").frame();
+        return this.#request.frame();
     }
 }
 exports.HTTPResponse = HTTPResponse;
-_HTTPResponse_request = new WeakMap(), _HTTPResponse_remoteAddress = new WeakMap(), _HTTPResponse_status = new WeakMap(), _HTTPResponse_statusText = new WeakMap(), _HTTPResponse_url = new WeakMap(), _HTTPResponse_fromCache = new WeakMap(), _HTTPResponse_headers = new WeakMap(), _HTTPResponse_timings = new WeakMap();
 //# sourceMappingURL=HTTPResponse.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPResponse.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPResponse.js.map
index 9b34f1b..4a4267d 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPResponse.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/HTTPResponse.js.map
@@ -1 +1 @@
-{"version":3,"file":"HTTPResponse.js","sourceRoot":"","sources":["../../../../../src/common/bidi/HTTPResponse.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAmBA,+DAGmC;AAInC;;GAEG;AACH,MAAa,YAAa,SAAQ,8BAAgB;IAUhD,YACE,OAAoB,EACpB,aAAmD;QAEnD,KAAK,EAAE,CAAC;QAbV,wCAAsB;QACtB,8CAA8B;QAC9B,uCAAgB;QAChB,2CAAoB;QACpB,oCAAa;QACb,0CAAoB;QACpB,gCAAmC,EAAE,EAAC;QACtC,wCAAwC;QAOtC,MAAM,EAAC,QAAQ,EAAC,GAAG,aAAa,CAAC;QACjC,uBAAA,IAAI,yBAAY,OAAO,MAAA,CAAC;QAExB,uBAAA,IAAI,+BAAkB;YACpB,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,CAAC,CAAC;SACT,MAAA,CAAC;QAEF,uBAAA,IAAI,qBAAQ,QAAQ,CAAC,GAAG,MAAA,CAAC;QACzB,uBAAA,IAAI,2BAAc,QAAQ,CAAC,SAAS,MAAA,CAAC;QACrC,uBAAA,IAAI,wBAAW,QAAQ,CAAC,MAAM,MAAA,CAAC;QAC/B,uBAAA,IAAI,4BAAe,QAAQ,CAAC,UAAU,MAAA,CAAC;QACvC,mCAAmC;QACnC,uBAAA,IAAI,yBAAa,QAAgB,CAAC,OAAO,IAAI,IAAI,MAAA,CAAC;QAElD,+HAA+H;QAC/H,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE;YAC3C,uBAAA,IAAI,6BAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SACjD;IACH,CAAC;IAEQ,aAAa;QACpB,OAAO,uBAAA,IAAI,mCAAe,CAAC;IAC7B,CAAC;IAEQ,GAAG;QACV,OAAO,uBAAA,IAAI,yBAAK,CAAC;IACnB,CAAC;IAEQ,MAAM;QACb,OAAO,uBAAA,IAAI,4BAAQ,CAAC;IACtB,CAAC;IAEQ,UAAU;QACjB,OAAO,uBAAA,IAAI,gCAAY,CAAC;IAC1B,CAAC;IAEQ,OAAO;QACd,OAAO,uBAAA,IAAI,6BAAS,CAAC;IACvB,CAAC;IAEQ,OAAO;QACd,OAAO,uBAAA,IAAI,6BAAS,CAAC;IACvB,CAAC;IAEQ,SAAS;QAChB,OAAO,uBAAA,IAAI,+BAAW,CAAC;IACzB,CAAC;IAEQ,MAAM;QACb,OAAO,uBAAA,IAAI,6BAAgB,CAAC;IAC9B,CAAC;IAEQ,KAAK;QACZ,OAAO,uBAAA,IAAI,6BAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACF;AAvED,oCAuEC"}
\ No newline at end of file
+{"version":3,"file":"HTTPResponse.js","sourceRoot":"","sources":["../../../../../src/common/bidi/HTTPResponse.ts"],"names":[],"mappings":";;;AAmBA,+DAGmC;AAInC;;GAEG;AACH,MAAa,YAAa,SAAQ,8BAAgB;IAChD,QAAQ,CAAc;IACtB,cAAc,CAAgB;IAC9B,OAAO,CAAS;IAChB,WAAW,CAAS;IACpB,IAAI,CAAS;IACb,UAAU,CAAU;IACpB,QAAQ,GAA2B,EAAE,CAAC;IACtC,QAAQ,CAAgC;IAExC,YACE,OAAoB,EACpB,EAAC,QAAQ,EAA2C;QAEpD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,IAAI,CAAC,cAAc,GAAG;YACpB,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,CAAC,CAAC;SACT,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC;QACvC,sCAAsC;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,+HAA+H;QAC/H,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE;YAC3C,qCAAqC;YACrC,4DAA4D;YAC5D,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;aAC/D;SACF;IACH,CAAC;IAEQ,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEQ,GAAG;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEQ,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEQ,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAC,QAAe,CAAC;IAC9B,CAAC;IAEQ,KAAK;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACF;AA1ED,oCA0EC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Input.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Input.d.ts.map
index fb8caaa..86cb37b 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Input.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Input.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Input.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAGnE,OAAO,EACL,QAAQ,IAAI,YAAY,EACxB,KAAK,IAAI,SAAS,EAClB,WAAW,IAAI,eAAe,EAC9B,cAAc,EACd,eAAe,EACf,mBAAmB,EAEnB,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAwOrD;;GAEG;AACH,qBAAa,QAAS,SAAQ,YAAY;;IAGxC;;OAEG;gBACS,OAAO,EAAE,eAAe;IAKrB,IAAI,CACjB,GAAG,EAAE,QAAQ,EACb,QAAQ,CAAC,EAAE,QAAQ,CAAC,cAAc,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC;IAkBD,EAAE,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBhC,KAAK,CAClB,GAAG,EAAE,QAAQ,EACb,OAAO,GAAE,QAAQ,CAAC,eAAe,CAAM,GACtC,OAAO,CAAC,IAAI,CAAC;IA8BD,IAAI,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,QAAQ,CAAC,mBAAmB,CAAM,GAC1C,OAAO,CAAC,IAAI,CAAC;CAgDjB;AAED;;GAEG;AACH,UAAU,qBAAsB,SAAQ,iBAAiB;IACvD,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,UAAU,oBAAqB,SAAQ,gBAAgB;IACrD,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,UAAU,oBAAoB;IAC5B,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;CAC5B;AAiBD;;GAEG;AACH,qBAAa,KAAM,SAAQ,SAAS;;IAIlC;;OAEG;gBACS,OAAO,EAAE,eAAe;IAKrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,IAAI,CACjB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,OAAO,GAAE,QAAQ,CAAC,oBAAoB,CAAM,GAC3C,OAAO,CAAC,IAAI,CAAC;IAyBD,IAAI,CAAC,OAAO,GAAE,QAAQ,CAAC,YAAY,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzD,EAAE,CAAC,OAAO,GAAE,QAAQ,CAAC,YAAY,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBvD,KAAK,CAClB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,OAAO,GAAE,QAAQ,CAAC,qBAAqB,CAAM,GAC5C,OAAO,CAAC,IAAI,CAAC;IAwCD,KAAK,CAClB,OAAO,GAAE,QAAQ,CAAC,iBAAiB,CAAM,GACxC,OAAO,CAAC,IAAI,CAAC;CAsBjB;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,eAAe;;IAG9C;;OAEG;gBACS,OAAO,EAAE,eAAe;IAKrB,GAAG,CAChB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC;IAKD,UAAU,CACvB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC;IA2BD,SAAS,CACtB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC;IAuBD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAoBzC"}
\ No newline at end of file
+{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Input.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Input.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Input.js
index ca65b63..e93971d 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Input.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Input.js
@@ -14,45 +14,26 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
-    if (k2 === undefined) k2 = k;
-    var desc = Object.getOwnPropertyDescriptor(m, k);
-    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
-      desc = { enumerable: true, get: function() { return m[k]; } };
-    }
-    Object.defineProperty(o, k2, desc);
-}) : (function(o, m, k, k2) {
-    if (k2 === undefined) k2 = k;
-    o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
-    Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
-    o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
-    if (mod && mod.__esModule) return mod;
-    var result = {};
-    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
-    __setModuleDefault(result, mod);
-    return result;
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Keyboard_context, _Mouse_context, _Mouse_lastMovePoint, _Touchscreen_context;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.Touchscreen = exports.Mouse = exports.Keyboard = void 0;
-const Bidi = __importStar(require("chromium-bidi/lib/cjs/protocol/protocol.js"));
 const Input_js_1 = require("../../api/Input.js");
+var SourceActionsType;
+(function (SourceActionsType) {
+    SourceActionsType["None"] = "none";
+    SourceActionsType["Key"] = "key";
+    SourceActionsType["Pointer"] = "pointer";
+    SourceActionsType["Wheel"] = "wheel";
+})(SourceActionsType || (SourceActionsType = {}));
+var ActionType;
+(function (ActionType) {
+    ActionType["Pause"] = "pause";
+    ActionType["KeyDown"] = "keyDown";
+    ActionType["KeyUp"] = "keyUp";
+    ActionType["PointerUp"] = "pointerUp";
+    ActionType["PointerDown"] = "pointerDown";
+    ActionType["PointerMove"] = "pointerMove";
+    ActionType["Scroll"] = "scroll";
+})(ActionType || (ActionType = {}));
 const getBidiKeyValue = (key) => {
     switch (key) {
         case '\r':
@@ -279,24 +260,24 @@
  * @internal
  */
 class Keyboard extends Input_js_1.Keyboard {
+    #context;
     /**
      * @internal
      */
     constructor(context) {
         super();
-        _Keyboard_context.set(this, void 0);
-        __classPrivateFieldSet(this, _Keyboard_context, context, "f");
+        this.#context = context;
     }
     async down(key, _options) {
-        await __classPrivateFieldGet(this, _Keyboard_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Keyboard_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Key,
+                    type: SourceActionsType.Key,
                     id: "__puppeteer_keyboard" /* InputId.Keyboard */,
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.KeyDown,
+                            type: ActionType.KeyDown,
                             value: getBidiKeyValue(key),
                         },
                     ],
@@ -305,15 +286,15 @@
         });
     }
     async up(key) {
-        await __classPrivateFieldGet(this, _Keyboard_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Keyboard_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Key,
+                    type: SourceActionsType.Key,
                     id: "__puppeteer_keyboard" /* InputId.Keyboard */,
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.KeyUp,
+                            type: ActionType.KeyUp,
                             value: getBidiKeyValue(key),
                         },
                     ],
@@ -325,25 +306,25 @@
         const { delay = 0 } = options;
         const actions = [
             {
-                type: Bidi.Input.ActionType.KeyDown,
+                type: ActionType.KeyDown,
                 value: getBidiKeyValue(key),
             },
         ];
         if (delay > 0) {
             actions.push({
-                type: Bidi.Input.ActionType.Pause,
+                type: ActionType.Pause,
                 duration: delay,
             });
         }
         actions.push({
-            type: Bidi.Input.ActionType.KeyUp,
+            type: ActionType.KeyUp,
             value: getBidiKeyValue(key),
         });
-        await __classPrivateFieldGet(this, _Keyboard_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Keyboard_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Key,
+                    type: SourceActionsType.Key,
                     id: "__puppeteer_keyboard" /* InputId.Keyboard */,
                     actions,
                 },
@@ -359,10 +340,10 @@
         if (delay <= 0) {
             for (const value of values) {
                 actions.push({
-                    type: Bidi.Input.ActionType.KeyDown,
+                    type: ActionType.KeyDown,
                     value,
                 }, {
-                    type: Bidi.Input.ActionType.KeyUp,
+                    type: ActionType.KeyUp,
                     value,
                 });
             }
@@ -370,22 +351,22 @@
         else {
             for (const value of values) {
                 actions.push({
-                    type: Bidi.Input.ActionType.KeyDown,
+                    type: ActionType.KeyDown,
                     value,
                 }, {
-                    type: Bidi.Input.ActionType.Pause,
+                    type: ActionType.Pause,
                     duration: delay,
                 }, {
-                    type: Bidi.Input.ActionType.KeyUp,
+                    type: ActionType.KeyUp,
                     value,
                 });
             }
         }
-        await __classPrivateFieldGet(this, _Keyboard_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Keyboard_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Key,
+                    type: SourceActionsType.Key,
                     id: "__puppeteer_keyboard" /* InputId.Keyboard */,
                     actions,
                 },
@@ -394,7 +375,6 @@
     }
 }
 exports.Keyboard = Keyboard;
-_Keyboard_context = new WeakMap();
 const getBidiButton = (button) => {
     switch (button) {
         case Input_js_1.MouseButton.Left:
@@ -413,35 +393,35 @@
  * @internal
  */
 class Mouse extends Input_js_1.Mouse {
+    #context;
+    #lastMovePoint;
     /**
      * @internal
      */
     constructor(context) {
         super();
-        _Mouse_context.set(this, void 0);
-        _Mouse_lastMovePoint.set(this, void 0);
-        __classPrivateFieldSet(this, _Mouse_context, context, "f");
+        this.#context = context;
     }
     async reset() {
-        __classPrivateFieldSet(this, _Mouse_lastMovePoint, undefined, "f");
-        await __classPrivateFieldGet(this, _Mouse_context, "f").connection.send('input.releaseActions', {
-            context: __classPrivateFieldGet(this, _Mouse_context, "f").id,
+        this.#lastMovePoint = undefined;
+        await this.#context.connection.send('input.releaseActions', {
+            context: this.#context.id,
         });
     }
     async move(x, y, options = {}) {
-        __classPrivateFieldSet(this, _Mouse_lastMovePoint, {
+        this.#lastMovePoint = {
             x,
             y,
-        }, "f");
-        await __classPrivateFieldGet(this, _Mouse_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Mouse_context, "f").id,
+        };
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Pointer,
+                    type: SourceActionsType.Pointer,
                     id: "__puppeteer_mouse" /* InputId.Mouse */,
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.PointerMove,
+                            type: ActionType.PointerMove,
                             x,
                             y,
                             duration: (options.steps ?? 0) * 50,
@@ -453,15 +433,15 @@
         });
     }
     async down(options = {}) {
-        await __classPrivateFieldGet(this, _Mouse_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Mouse_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Pointer,
+                    type: SourceActionsType.Pointer,
                     id: "__puppeteer_mouse" /* InputId.Mouse */,
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.PointerDown,
+                            type: ActionType.PointerDown,
                             button: getBidiButton(options.button ?? Input_js_1.MouseButton.Left),
                         },
                     ],
@@ -470,15 +450,15 @@
         });
     }
     async up(options = {}) {
-        await __classPrivateFieldGet(this, _Mouse_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Mouse_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Pointer,
+                    type: SourceActionsType.Pointer,
                     id: "__puppeteer_mouse" /* InputId.Mouse */,
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.PointerUp,
+                            type: ActionType.PointerUp,
                             button: getBidiButton(options.button ?? Input_js_1.MouseButton.Left),
                         },
                     ],
@@ -489,18 +469,18 @@
     async click(x, y, options = {}) {
         const actions = [
             {
-                type: Bidi.Input.ActionType.PointerMove,
+                type: ActionType.PointerMove,
                 x,
                 y,
                 origin: options.origin,
             },
         ];
         const pointerDownAction = {
-            type: Bidi.Input.ActionType.PointerDown,
+            type: ActionType.PointerDown,
             button: getBidiButton(options.button ?? Input_js_1.MouseButton.Left),
         };
         const pointerUpAction = {
-            type: Bidi.Input.ActionType.PointerUp,
+            type: ActionType.PointerUp,
             button: pointerDownAction.button,
         };
         for (let i = 1; i < (options.count ?? 1); ++i) {
@@ -509,16 +489,16 @@
         actions.push(pointerDownAction);
         if (options.delay) {
             actions.push({
-                type: Bidi.Input.ActionType.Pause,
+                type: ActionType.Pause,
                 duration: options.delay,
             });
         }
         actions.push(pointerUpAction);
-        await __classPrivateFieldGet(this, _Mouse_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Mouse_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Pointer,
+                    type: SourceActionsType.Pointer,
                     id: "__puppeteer_mouse" /* InputId.Mouse */,
                     actions,
                 },
@@ -526,16 +506,16 @@
         });
     }
     async wheel(options = {}) {
-        await __classPrivateFieldGet(this, _Mouse_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Mouse_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Wheel,
+                    type: SourceActionsType.Wheel,
                     id: "__puppeteer_wheel" /* InputId.Wheel */,
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.Scroll,
-                            ...(__classPrivateFieldGet(this, _Mouse_lastMovePoint, "f") ?? {
+                            type: ActionType.Scroll,
+                            ...(this.#lastMovePoint ?? {
                                 x: 0,
                                 y: 0,
                             }),
@@ -549,42 +529,41 @@
     }
 }
 exports.Mouse = Mouse;
-_Mouse_context = new WeakMap(), _Mouse_lastMovePoint = new WeakMap();
 /**
  * @internal
  */
 class Touchscreen extends Input_js_1.Touchscreen {
+    #context;
     /**
      * @internal
      */
     constructor(context) {
         super();
-        _Touchscreen_context.set(this, void 0);
-        __classPrivateFieldSet(this, _Touchscreen_context, context, "f");
+        this.#context = context;
     }
     async tap(x, y, options = {}) {
         await this.touchStart(x, y, options);
         await this.touchEnd();
     }
     async touchStart(x, y, options = {}) {
-        await __classPrivateFieldGet(this, _Touchscreen_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Touchscreen_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Pointer,
+                    type: SourceActionsType.Pointer,
                     id: "__puppeteer_finger" /* InputId.Finger */,
                     parameters: {
-                        pointerType: Bidi.Input.PointerType.Touch,
+                        pointerType: "touch" /* Bidi.Input.PointerType.Touch */,
                     },
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.PointerMove,
+                            type: ActionType.PointerMove,
                             x,
                             y,
                             origin: options.origin,
                         },
                         {
-                            type: Bidi.Input.ActionType.PointerDown,
+                            type: ActionType.PointerDown,
                             button: 0,
                         },
                     ],
@@ -593,18 +572,18 @@
         });
     }
     async touchMove(x, y, options = {}) {
-        await __classPrivateFieldGet(this, _Touchscreen_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Touchscreen_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Pointer,
+                    type: SourceActionsType.Pointer,
                     id: "__puppeteer_finger" /* InputId.Finger */,
                     parameters: {
-                        pointerType: Bidi.Input.PointerType.Touch,
+                        pointerType: "touch" /* Bidi.Input.PointerType.Touch */,
                     },
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.PointerMove,
+                            type: ActionType.PointerMove,
                             x,
                             y,
                             origin: options.origin,
@@ -615,18 +594,18 @@
         });
     }
     async touchEnd() {
-        await __classPrivateFieldGet(this, _Touchscreen_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Touchscreen_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Pointer,
+                    type: SourceActionsType.Pointer,
                     id: "__puppeteer_finger" /* InputId.Finger */,
                     parameters: {
-                        pointerType: Bidi.Input.PointerType.Touch,
+                        pointerType: "touch" /* Bidi.Input.PointerType.Touch */,
                     },
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.PointerUp,
+                            type: ActionType.PointerUp,
                             button: 0,
                         },
                     ],
@@ -636,5 +615,4 @@
     }
 }
 exports.Touchscreen = Touchscreen;
-_Touchscreen_context = new WeakMap();
 //# sourceMappingURL=Input.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Input.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Input.js.map
index b1e3767f..683a49c 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Input.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Input.js.map
@@ -1 +1 @@
-{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Input.ts"],"names":[],"mappings":"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G,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAC;QAC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"}
\ No newline at end of file
+{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Input.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/JSHandle.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/JSHandle.d.ts
index 4316bd6..effa9a3 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/JSHandle.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/JSHandle.d.ts
@@ -20,7 +20,7 @@
 import { Realm } from './Realm.js';
 export declare class JSHandle<T = unknown> extends BaseJSHandle<T> {
     #private;
-    constructor(realm: Realm, remoteValue: Bidi.CommonDataTypes.RemoteValue);
+    constructor(realm: Realm, remoteValue: Bidi.Script.RemoteValue);
     context(): Realm;
     get disposed(): boolean;
     evaluate<Params extends unknown[], Func extends EvaluateFuncWith<T, Params> = EvaluateFuncWith<T, Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>;
@@ -34,6 +34,6 @@
     get isPrimitiveValue(): boolean;
     toString(): string;
     get id(): string | undefined;
-    remoteValue(): Bidi.CommonDataTypes.RemoteValue;
+    remoteValue(): Bidi.Script.RemoteValue;
 }
 //# sourceMappingURL=JSHandle.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/JSHandle.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/JSHandle.d.ts.map
index 136c198..b88099b 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/JSHandle.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/JSHandle.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"JSHandle.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/JSHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAC,QAAQ,IAAI,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAG5E,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAIjC,qBAAa,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;;gBAK5C,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW;IAMvE,OAAO,IAAI,KAAK;IAIhB,IAAa,QAAQ,IAAI,OAAO,CAE/B;IAEc,QAAQ,CACrB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAQtB,cAAc,CAC3B,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAQjC,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EAC1C,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACZ,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAS9D,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IA8BnD,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC;IAS7B,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI;IAIjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUvC,IAAI,gBAAgB,IAAI,OAAO,CAa9B;IAEQ,QAAQ,IAAI,MAAM;IAQ3B,IAAa,EAAE,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW;CAGhD"}
\ No newline at end of file
+{"version":3,"file":"JSHandle.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/JSHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAC,QAAQ,IAAI,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAG5E,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAIjC,qBAAa,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;;gBAK5C,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;IAM9D,OAAO,IAAI,KAAK;IAIhB,IAAa,QAAQ,IAAI,OAAO,CAE/B;IAEc,QAAQ,CACrB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAQtB,cAAc,CAC3B,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAQjC,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EAC1C,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACZ,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAS9D,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IA8BnD,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC;IAM7B,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI;IAIjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAavC,IAAI,gBAAgB,IAAI,OAAO,CAa9B;IAEQ,QAAQ,IAAI,MAAM;IAQ3B,IAAa,EAAE,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW;CAGvC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/JSHandle.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/JSHandle.js
index 20937cf..71cc52f 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/JSHandle.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/JSHandle.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _JSHandle_disposed, _JSHandle_realm, _JSHandle_remoteValue;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.JSHandle = void 0;
 const JSHandle_js_1 = require("../../api/JSHandle.js");
@@ -33,19 +21,19 @@
 const Serializer_js_1 = require("./Serializer.js");
 const utils_js_1 = require("./utils.js");
 class JSHandle extends JSHandle_js_1.JSHandle {
+    #disposed = false;
+    #realm;
+    #remoteValue;
     constructor(realm, remoteValue) {
         super();
-        _JSHandle_disposed.set(this, false);
-        _JSHandle_realm.set(this, void 0);
-        _JSHandle_remoteValue.set(this, void 0);
-        __classPrivateFieldSet(this, _JSHandle_realm, realm, "f");
-        __classPrivateFieldSet(this, _JSHandle_remoteValue, remoteValue, "f");
+        this.#realm = realm;
+        this.#remoteValue = remoteValue;
     }
     context() {
-        return __classPrivateFieldGet(this, _JSHandle_realm, "f");
+        return this.#realm;
     }
     get disposed() {
-        return __classPrivateFieldGet(this, _JSHandle_disposed, "f");
+        return this.#disposed;
     }
     async evaluate(pageFunction, ...args) {
         pageFunction = (0, util_js_1.withSourcePuppeteerURLIfNone)(this.evaluate.name, pageFunction);
@@ -86,26 +74,24 @@
         return map;
     }
     async jsonValue() {
-        const value = Serializer_js_1.BidiSerializer.deserialize(__classPrivateFieldGet(this, _JSHandle_remoteValue, "f"));
-        if (__classPrivateFieldGet(this, _JSHandle_remoteValue, "f").type !== 'undefined' && value === undefined) {
-            throw new Error('Could not serialize referenced object');
-        }
-        return value;
+        return await this.evaluate(value => {
+            return value;
+        });
     }
     asElement() {
         return null;
     }
     async dispose() {
-        if (__classPrivateFieldGet(this, _JSHandle_disposed, "f")) {
+        if (this.#disposed) {
             return;
         }
-        __classPrivateFieldSet(this, _JSHandle_disposed, true, "f");
-        if ('handle' in __classPrivateFieldGet(this, _JSHandle_remoteValue, "f")) {
-            await (0, utils_js_1.releaseReference)(__classPrivateFieldGet(this, _JSHandle_realm, "f"), __classPrivateFieldGet(this, _JSHandle_remoteValue, "f"));
+        this.#disposed = true;
+        if ('handle' in this.#remoteValue) {
+            await (0, utils_js_1.releaseReference)(this.#realm, this.#remoteValue);
         }
     }
     get isPrimitiveValue() {
-        switch (__classPrivateFieldGet(this, _JSHandle_remoteValue, "f").type) {
+        switch (this.#remoteValue.type) {
             case 'string':
             case 'number':
             case 'bigint':
@@ -119,17 +105,16 @@
     }
     toString() {
         if (this.isPrimitiveValue) {
-            return 'JSHandle:' + Serializer_js_1.BidiSerializer.deserialize(__classPrivateFieldGet(this, _JSHandle_remoteValue, "f"));
+            return 'JSHandle:' + Serializer_js_1.BidiSerializer.deserialize(this.#remoteValue);
         }
-        return 'JSHandle@' + __classPrivateFieldGet(this, _JSHandle_remoteValue, "f").type;
+        return 'JSHandle@' + this.#remoteValue.type;
     }
     get id() {
-        return 'handle' in __classPrivateFieldGet(this, _JSHandle_remoteValue, "f") ? __classPrivateFieldGet(this, _JSHandle_remoteValue, "f").handle : undefined;
+        return 'handle' in this.#remoteValue ? this.#remoteValue.handle : undefined;
     }
     remoteValue() {
-        return __classPrivateFieldGet(this, _JSHandle_remoteValue, "f");
+        return this.#remoteValue;
     }
 }
 exports.JSHandle = JSHandle;
-_JSHandle_disposed = new WeakMap(), _JSHandle_realm = new WeakMap(), _JSHandle_remoteValue = new WeakMap();
 //# sourceMappingURL=JSHandle.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/JSHandle.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/JSHandle.js.map
index 1020579..daa4cf8 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/JSHandle.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/JSHandle.js.map
@@ -1 +1 @@
-{"version":3,"file":"JSHandle.js","sourceRoot":"","sources":["../../../../../src/common/bidi/JSHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"JSHandle.js","sourceRoot":"","sources":["../../../../../src/common/bidi/JSHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/NetworkManager.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/NetworkManager.js
index d696220..1385bd9 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/NetworkManager.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/NetworkManager.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _NetworkManager_instances, _NetworkManager_connection, _NetworkManager_page, _NetworkManager_subscribedEvents, _NetworkManager_requestMap, _NetworkManager_navigationMap, _NetworkManager_onBeforeRequestSent, _NetworkManager_onResponseStarted, _NetworkManager_onResponseCompleted, _NetworkManager_onFetchError;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.NetworkManager = void 0;
 const EventEmitter_js_1 = require("../EventEmitter.js");
@@ -36,36 +24,79 @@
  * @internal
  */
 class NetworkManager extends EventEmitter_js_1.EventEmitter {
+    #connection;
+    #page;
+    #subscribedEvents = new Map([
+        ['network.beforeRequestSent', this.#onBeforeRequestSent.bind(this)],
+        ['network.responseStarted', this.#onResponseStarted.bind(this)],
+        ['network.responseCompleted', this.#onResponseCompleted.bind(this)],
+        ['network.fetchError', this.#onFetchError.bind(this)],
+    ]);
+    #requestMap = new Map();
+    #navigationMap = new Map();
     constructor(connection, page) {
         super();
-        _NetworkManager_instances.add(this);
-        _NetworkManager_connection.set(this, void 0);
-        _NetworkManager_page.set(this, void 0);
-        _NetworkManager_subscribedEvents.set(this, new Map([
-            ['network.beforeRequestSent', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onBeforeRequestSent).bind(this)],
-            ['network.responseStarted', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onResponseStarted).bind(this)],
-            ['network.responseCompleted', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onResponseCompleted).bind(this)],
-            ['network.fetchError', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onFetchError).bind(this)],
-        ]));
-        _NetworkManager_requestMap.set(this, new Map());
-        _NetworkManager_navigationMap.set(this, new Map());
-        __classPrivateFieldSet(this, _NetworkManager_connection, connection, "f");
-        __classPrivateFieldSet(this, _NetworkManager_page, page, "f");
+        this.#connection = connection;
+        this.#page = page;
         // TODO: Subscribe to the Frame indivutally
-        for (const [event, subscriber] of __classPrivateFieldGet(this, _NetworkManager_subscribedEvents, "f")) {
-            __classPrivateFieldGet(this, _NetworkManager_connection, "f").on(event, subscriber);
+        for (const [event, subscriber] of this.#subscribedEvents) {
+            this.#connection.on(event, subscriber);
         }
     }
+    #onBeforeRequestSent(event) {
+        const frame = this.#page.frame(event.context ?? '');
+        if (!frame) {
+            return;
+        }
+        const request = this.#requestMap.get(event.request.request);
+        let upsertRequest;
+        if (request) {
+            const requestChain = request._redirectChain;
+            upsertRequest = new HTTPRequest_js_1.HTTPRequest(event, frame, requestChain);
+        }
+        else {
+            upsertRequest = new HTTPRequest_js_1.HTTPRequest(event, frame, []);
+        }
+        this.#requestMap.set(event.request.request, upsertRequest);
+        this.emit(NetworkManager_js_1.NetworkManagerEmittedEvents.Request, upsertRequest);
+    }
+    #onResponseStarted(_event) { }
+    #onResponseCompleted(event) {
+        const request = this.#requestMap.get(event.request.request);
+        if (!request) {
+            return;
+        }
+        const response = new HTTPResponse_js_1.HTTPResponse(request, event);
+        request._response = response;
+        if (event.navigation) {
+            this.#navigationMap.set(event.navigation, response);
+        }
+        if (response.fromCache()) {
+            this.emit(NetworkManager_js_1.NetworkManagerEmittedEvents.RequestServedFromCache, request);
+        }
+        this.emit(NetworkManager_js_1.NetworkManagerEmittedEvents.Response, response);
+        this.emit(NetworkManager_js_1.NetworkManagerEmittedEvents.RequestFinished, request);
+        this.#requestMap.delete(event.request.request);
+    }
+    #onFetchError(event) {
+        const request = this.#requestMap.get(event.request.request);
+        if (!request) {
+            return;
+        }
+        request._failureText = event.errorText;
+        this.emit(NetworkManager_js_1.NetworkManagerEmittedEvents.RequestFailed, request);
+        this.#requestMap.delete(event.request.request);
+    }
     getNavigationResponse(navigationId) {
         if (!navigationId) {
             return null;
         }
-        const response = __classPrivateFieldGet(this, _NetworkManager_navigationMap, "f").get(navigationId);
+        const response = this.#navigationMap.get(navigationId);
         return response ?? null;
     }
     inFlightRequestsCount() {
         let inFlightRequestCounter = 0;
-        for (const request of __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").values()) {
+        for (const request of this.#requestMap.values()) {
             if (!request.response() || request._failureText) {
                 inFlightRequestCounter++;
             }
@@ -73,66 +104,25 @@
         return inFlightRequestCounter;
     }
     clearMapAfterFrameDispose(frame) {
-        for (const [id, request] of __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").entries()) {
+        for (const [id, request] of this.#requestMap.entries()) {
             if (request.frame() === frame) {
-                __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").delete(id);
+                this.#requestMap.delete(id);
             }
         }
-        for (const [id, response] of __classPrivateFieldGet(this, _NetworkManager_navigationMap, "f").entries()) {
+        for (const [id, response] of this.#navigationMap.entries()) {
             if (response.frame() === frame) {
-                __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").delete(id);
+                this.#requestMap.delete(id);
             }
         }
     }
     dispose() {
         this.removeAllListeners();
-        __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").clear();
-        __classPrivateFieldGet(this, _NetworkManager_navigationMap, "f").clear();
-        for (const [event, subscriber] of __classPrivateFieldGet(this, _NetworkManager_subscribedEvents, "f")) {
-            __classPrivateFieldGet(this, _NetworkManager_connection, "f").off(event, subscriber);
+        this.#requestMap.clear();
+        this.#navigationMap.clear();
+        for (const [event, subscriber] of this.#subscribedEvents) {
+            this.#connection.off(event, subscriber);
         }
     }
 }
 exports.NetworkManager = NetworkManager;
-_NetworkManager_connection = new WeakMap(), _NetworkManager_page = new WeakMap(), _NetworkManager_subscribedEvents = new WeakMap(), _NetworkManager_requestMap = new WeakMap(), _NetworkManager_navigationMap = new WeakMap(), _NetworkManager_instances = new WeakSet(), _NetworkManager_onBeforeRequestSent = function _NetworkManager_onBeforeRequestSent(event) {
-    const frame = __classPrivateFieldGet(this, _NetworkManager_page, "f").frame(event.context ?? '');
-    if (!frame) {
-        return;
-    }
-    const request = __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").get(event.request.request);
-    let upsertRequest;
-    if (request) {
-        const requestChain = request._redirectChain;
-        upsertRequest = new HTTPRequest_js_1.HTTPRequest(event, frame, requestChain);
-    }
-    else {
-        upsertRequest = new HTTPRequest_js_1.HTTPRequest(event, frame, []);
-    }
-    __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").set(event.request.request, upsertRequest);
-    this.emit(NetworkManager_js_1.NetworkManagerEmittedEvents.Request, upsertRequest);
-}, _NetworkManager_onResponseStarted = function _NetworkManager_onResponseStarted(_event) { }, _NetworkManager_onResponseCompleted = function _NetworkManager_onResponseCompleted(event) {
-    const request = __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").get(event.request.request);
-    if (!request) {
-        return;
-    }
-    const response = new HTTPResponse_js_1.HTTPResponse(request, event);
-    request._response = response;
-    if (event.navigation) {
-        __classPrivateFieldGet(this, _NetworkManager_navigationMap, "f").set(event.navigation, response);
-    }
-    if (response.fromCache()) {
-        this.emit(NetworkManager_js_1.NetworkManagerEmittedEvents.RequestServedFromCache, request);
-    }
-    this.emit(NetworkManager_js_1.NetworkManagerEmittedEvents.Response, response);
-    this.emit(NetworkManager_js_1.NetworkManagerEmittedEvents.RequestFinished, request);
-    __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").delete(event.request.request);
-}, _NetworkManager_onFetchError = function _NetworkManager_onFetchError(event) {
-    const request = __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").get(event.request.request);
-    if (!request) {
-        return;
-    }
-    request._failureText = event.errorText;
-    this.emit(NetworkManager_js_1.NetworkManagerEmittedEvents.RequestFailed, request);
-    __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").delete(event.request.request);
-};
 //# sourceMappingURL=NetworkManager.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/NetworkManager.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/NetworkManager.js.map
index eae7246..775eac4 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/NetworkManager.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/NetworkManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"NetworkManager.js","sourceRoot":"","sources":["../../../../../src/common/bidi/NetworkManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"NetworkManager.js","sourceRoot":"","sources":["../../../../../src/common/bidi/NetworkManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Page.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Page.d.ts
index d4bc9c3..1d6b563 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Page.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Page.d.ts
@@ -16,10 +16,10 @@
 /// <reference types="node" />
 /// <reference types="node" />
 import type { Readable } from 'stream';
-import * as Bidi from 'chromium-bidi/lib/cjs/protocol/protocol.js';
 import Protocol from 'devtools-protocol';
 import { GeolocationOptions, MediaFeature, Page as PageBase, ScreenshotOptions, WaitForOptions } from '../../api/Page.js';
 import { Accessibility } from '../Accessibility.js';
+import { CDPSession } from '../Connection.js';
 import { Coverage } from '../Coverage.js';
 import { PDFOptions } from '../PDFOptions.js';
 import { Viewport } from '../PuppeteerViewport.js';
@@ -27,6 +27,7 @@
 import { EvaluateFunc, HandleFor } from '../types.js';
 import { Browser } from './Browser.js';
 import { BrowserContext } from './BrowserContext.js';
+import { BrowsingContext } from './BrowsingContext.js';
 import { Frame } from './Frame.js';
 import { HTTPRequest } from './HTTPRequest.js';
 import { HTTPResponse } from './HTTPResponse.js';
@@ -36,9 +37,8 @@
  */
 export declare class Page extends PageBase {
     #private;
-    constructor(browserContext: BrowserContext, info: Omit<Bidi.BrowsingContext.Info, 'url'> & {
-        url?: string;
-    });
+    constructor(browsingContext: BrowsingContext, browserContext: BrowserContext);
+    _setBrowserContext(browserContext: BrowserContext): void;
     get accessibility(): Accessibility;
     get tracing(): Tracing;
     get coverage(): Coverage;
@@ -99,5 +99,6 @@
         timeout?: number;
     }): Promise<void>;
     title(): Promise<string>;
+    createCDPSession(): Promise<CDPSession>;
 }
 //# sourceMappingURL=Page.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Page.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Page.d.ts.map
index abf80e0..bba25f5 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Page.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Page.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Page.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Page.js
index 7e532c0..b1c51da 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Page.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Page.js
@@ -37,18 +37,6 @@
     __setModuleDefault(result, mod);
     return result;
 };
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Page_instances, _Page_accessibility, _Page_timeoutSettings, _Page_browserContext, _Page_connection, _Page_frameTree, _Page_networkManager, _Page_viewport, _Page_closedDeferred, _Page_subscribedEvents, _Page_networkManagerEvents, _Page_tracing, _Page_coverage, _Page_emulationManager, _Page_mouse, _Page_touchscreen, _Page_keyboard, _Page_onFrameLoaded, _Page_onFrameDOMContentLoaded, _Page_onFrameAttached, _Page_onFrameNavigated, _Page_onFrameDetached, _Page_removeFramesRecursively, _Page_onLogEntryAdded;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.Page = void 0;
 const Page_js_1 = require("../../api/Page.js");
@@ -65,6 +53,7 @@
 const Tracing_js_1 = require("../Tracing.js");
 const util_js_1 = require("../util.js");
 const BrowsingContext_js_1 = require("./BrowsingContext.js");
+const Dialog_js_1 = require("./Dialog.js");
 const Frame_js_1 = require("./Frame.js");
 const Input_js_1 = require("./Input.js");
 const NetworkManager_js_2 = require("./NetworkManager.js");
@@ -74,127 +63,248 @@
  * @internal
  */
 class Page extends Page_js_1.Page {
-    constructor(browserContext, info) {
+    #accessibility;
+    #timeoutSettings = new TimeoutSettings_js_1.TimeoutSettings();
+    #connection;
+    #frameTree = new FrameTree_js_1.FrameTree();
+    #networkManager;
+    #viewport = null;
+    #closedDeferred = Deferred_js_1.Deferred.create();
+    #subscribedEvents = new Map([
+        ['log.entryAdded', this.#onLogEntryAdded.bind(this)],
+        ['browsingContext.load', this.#onFrameLoaded.bind(this)],
+        [
+            'browsingContext.domContentLoaded',
+            this.#onFrameDOMContentLoaded.bind(this),
+        ],
+        [
+            'browsingContext.navigationStarted',
+            this.#onFrameNavigationStarted.bind(this),
+        ],
+        ['browsingContext.userPromptOpened', this.#onDialog.bind(this)],
+    ]);
+    #networkManagerEvents = new Map([
+        [
+            NetworkManager_js_1.NetworkManagerEmittedEvents.Request,
+            this.emit.bind(this, "request" /* PageEmittedEvents.Request */),
+        ],
+        [
+            NetworkManager_js_1.NetworkManagerEmittedEvents.RequestServedFromCache,
+            this.emit.bind(this, "requestservedfromcache" /* PageEmittedEvents.RequestServedFromCache */),
+        ],
+        [
+            NetworkManager_js_1.NetworkManagerEmittedEvents.RequestFailed,
+            this.emit.bind(this, "requestfailed" /* PageEmittedEvents.RequestFailed */),
+        ],
+        [
+            NetworkManager_js_1.NetworkManagerEmittedEvents.RequestFinished,
+            this.emit.bind(this, "requestfinished" /* PageEmittedEvents.RequestFinished */),
+        ],
+        [
+            NetworkManager_js_1.NetworkManagerEmittedEvents.Response,
+            this.emit.bind(this, "response" /* PageEmittedEvents.Response */),
+        ],
+    ]);
+    #browsingContextEvents = new Map([
+        [BrowsingContext_js_1.BrowsingContextEmittedEvents.Created, this.#onContextCreated.bind(this)],
+        [
+            BrowsingContext_js_1.BrowsingContextEmittedEvents.Destroyed,
+            this.#onContextDestroyed.bind(this),
+        ],
+    ]);
+    #tracing;
+    #coverage;
+    #emulationManager;
+    #mouse;
+    #touchscreen;
+    #keyboard;
+    #browsingContext;
+    #browserContext;
+    constructor(browsingContext, browserContext) {
         super();
-        _Page_instances.add(this);
-        _Page_accessibility.set(this, void 0);
-        _Page_timeoutSettings.set(this, new TimeoutSettings_js_1.TimeoutSettings());
-        _Page_browserContext.set(this, void 0);
-        _Page_connection.set(this, void 0);
-        _Page_frameTree.set(this, new FrameTree_js_1.FrameTree());
-        _Page_networkManager.set(this, void 0);
-        _Page_viewport.set(this, null);
-        _Page_closedDeferred.set(this, Deferred_js_1.Deferred.create());
-        _Page_subscribedEvents.set(this, new Map([
-            ['log.entryAdded', __classPrivateFieldGet(this, _Page_instances, "m", _Page_onLogEntryAdded).bind(this)],
-            ['browsingContext.load', __classPrivateFieldGet(this, _Page_instances, "m", _Page_onFrameLoaded).bind(this)],
-            [
-                'browsingContext.domContentLoaded',
-                __classPrivateFieldGet(this, _Page_instances, "m", _Page_onFrameDOMContentLoaded).bind(this),
-            ],
-            ['browsingContext.contextCreated', __classPrivateFieldGet(this, _Page_instances, "m", _Page_onFrameAttached).bind(this)],
-            ['browsingContext.contextDestroyed', __classPrivateFieldGet(this, _Page_instances, "m", _Page_onFrameDetached).bind(this)],
-            ['browsingContext.fragmentNavigated', __classPrivateFieldGet(this, _Page_instances, "m", _Page_onFrameNavigated).bind(this)],
-        ]));
-        _Page_networkManagerEvents.set(this, new Map([
-            [
-                NetworkManager_js_1.NetworkManagerEmittedEvents.Request,
-                this.emit.bind(this, "request" /* PageEmittedEvents.Request */),
-            ],
-            [
-                NetworkManager_js_1.NetworkManagerEmittedEvents.RequestServedFromCache,
-                this.emit.bind(this, "requestservedfromcache" /* PageEmittedEvents.RequestServedFromCache */),
-            ],
-            [
-                NetworkManager_js_1.NetworkManagerEmittedEvents.RequestFailed,
-                this.emit.bind(this, "requestfailed" /* PageEmittedEvents.RequestFailed */),
-            ],
-            [
-                NetworkManager_js_1.NetworkManagerEmittedEvents.RequestFinished,
-                this.emit.bind(this, "requestfinished" /* PageEmittedEvents.RequestFinished */),
-            ],
-            [
-                NetworkManager_js_1.NetworkManagerEmittedEvents.Response,
-                this.emit.bind(this, "response" /* PageEmittedEvents.Response */),
-            ],
-        ]));
-        _Page_tracing.set(this, void 0);
-        _Page_coverage.set(this, void 0);
-        _Page_emulationManager.set(this, void 0);
-        _Page_mouse.set(this, void 0);
-        _Page_touchscreen.set(this, void 0);
-        _Page_keyboard.set(this, void 0);
-        __classPrivateFieldSet(this, _Page_browserContext, browserContext, "f");
-        __classPrivateFieldSet(this, _Page_connection, browserContext.connection, "f");
-        __classPrivateFieldSet(this, _Page_networkManager, new NetworkManager_js_2.NetworkManager(__classPrivateFieldGet(this, _Page_connection, "f"), this), "f");
-        __classPrivateFieldGet(this, _Page_instances, "m", _Page_onFrameAttached).call(this, {
-            ...info,
-            url: info.url ?? 'about:blank',
-            children: info.children ?? [],
-        });
-        for (const [event, subscriber] of __classPrivateFieldGet(this, _Page_subscribedEvents, "f")) {
-            __classPrivateFieldGet(this, _Page_connection, "f").on(event, subscriber);
+        this.#browsingContext = browsingContext;
+        this.#browserContext = browserContext;
+        this.#connection = browsingContext.connection;
+        for (const [event, subscriber] of this.#browsingContextEvents) {
+            this.#browsingContext.on(event, subscriber);
         }
-        for (const [event, subscriber] of __classPrivateFieldGet(this, _Page_networkManagerEvents, "f")) {
-            __classPrivateFieldGet(this, _Page_networkManager, "f").on(event, subscriber);
+        this.#networkManager = new NetworkManager_js_2.NetworkManager(this.#connection, this);
+        for (const [event, subscriber] of this.#subscribedEvents) {
+            this.#connection.on(event, subscriber);
         }
+        for (const [event, subscriber] of this.#networkManagerEvents) {
+            this.#networkManager.on(event, subscriber);
+        }
+        const frame = new Frame_js_1.Frame(this, this.#browsingContext, this.#timeoutSettings, this.#browsingContext.parent);
+        this.#frameTree.addFrame(frame);
+        this.emit("frameattached" /* PageEmittedEvents.FrameAttached */, frame);
         // TODO: https://github.com/w3c/webdriver-bidi/issues/443
-        __classPrivateFieldSet(this, _Page_accessibility, new Accessibility_js_1.Accessibility(this.mainFrame().context().cdpSession), "f");
-        __classPrivateFieldSet(this, _Page_tracing, new Tracing_js_1.Tracing(this.mainFrame().context().cdpSession), "f");
-        __classPrivateFieldSet(this, _Page_coverage, new Coverage_js_1.Coverage(this.mainFrame().context().cdpSession), "f");
-        __classPrivateFieldSet(this, _Page_emulationManager, new EmulationManager_js_1.EmulationManager(this.mainFrame().context().cdpSession), "f");
-        __classPrivateFieldSet(this, _Page_mouse, new Input_js_1.Mouse(this.mainFrame().context()), "f");
-        __classPrivateFieldSet(this, _Page_touchscreen, new Input_js_1.Touchscreen(this.mainFrame().context()), "f");
-        __classPrivateFieldSet(this, _Page_keyboard, new Input_js_1.Keyboard(this.mainFrame().context()), "f");
+        this.#accessibility = new Accessibility_js_1.Accessibility(this.mainFrame().context().cdpSession);
+        this.#tracing = new Tracing_js_1.Tracing(this.mainFrame().context().cdpSession);
+        this.#coverage = new Coverage_js_1.Coverage(this.mainFrame().context().cdpSession);
+        this.#emulationManager = new EmulationManager_js_1.EmulationManager(this.mainFrame().context().cdpSession);
+        this.#mouse = new Input_js_1.Mouse(this.mainFrame().context());
+        this.#touchscreen = new Input_js_1.Touchscreen(this.mainFrame().context());
+        this.#keyboard = new Input_js_1.Keyboard(this.mainFrame().context());
+    }
+    _setBrowserContext(browserContext) {
+        this.#browserContext = browserContext;
     }
     get accessibility() {
-        return __classPrivateFieldGet(this, _Page_accessibility, "f");
+        return this.#accessibility;
     }
     get tracing() {
-        return __classPrivateFieldGet(this, _Page_tracing, "f");
+        return this.#tracing;
     }
     get coverage() {
-        return __classPrivateFieldGet(this, _Page_coverage, "f");
+        return this.#coverage;
     }
     get mouse() {
-        return __classPrivateFieldGet(this, _Page_mouse, "f");
+        return this.#mouse;
     }
     get touchscreen() {
-        return __classPrivateFieldGet(this, _Page_touchscreen, "f");
+        return this.#touchscreen;
     }
     get keyboard() {
-        return __classPrivateFieldGet(this, _Page_keyboard, "f");
+        return this.#keyboard;
     }
     browser() {
-        return __classPrivateFieldGet(this, _Page_browserContext, "f").browser();
+        return this.browserContext().browser();
     }
     browserContext() {
-        return __classPrivateFieldGet(this, _Page_browserContext, "f");
+        return this.#browserContext;
     }
     mainFrame() {
-        const mainFrame = __classPrivateFieldGet(this, _Page_frameTree, "f").getMainFrame();
+        const mainFrame = this.#frameTree.getMainFrame();
         (0, assert_js_1.assert)(mainFrame, 'Requesting main frame too early!');
         return mainFrame;
     }
     frames() {
-        return Array.from(__classPrivateFieldGet(this, _Page_frameTree, "f").frames());
+        return Array.from(this.#frameTree.frames());
     }
     frame(frameId) {
-        return __classPrivateFieldGet(this, _Page_frameTree, "f").getById(frameId ?? '') || null;
+        return this.#frameTree.getById(frameId ?? '') || null;
     }
     childFrames(frameId) {
-        return __classPrivateFieldGet(this, _Page_frameTree, "f").childFrames(frameId);
+        return this.#frameTree.childFrames(frameId);
     }
-    getNavigationResponse(id) {
-        return __classPrivateFieldGet(this, _Page_networkManager, "f").getNavigationResponse(id);
+    #onFrameLoaded(info) {
+        const frame = this.frame(info.context);
+        if (frame && this.mainFrame() === frame) {
+            this.emit("load" /* PageEmittedEvents.Load */);
+        }
     }
-    async close() {
-        if (__classPrivateFieldGet(this, _Page_closedDeferred, "f").finished()) {
+    #onFrameDOMContentLoaded(info) {
+        const frame = this.frame(info.context);
+        if (frame && this.mainFrame() === frame) {
+            this.emit("domcontentloaded" /* PageEmittedEvents.DOMContentLoaded */);
+        }
+    }
+    #onContextCreated(context) {
+        if (!this.frame(context.id) &&
+            (this.frame(context.parent ?? '') || !this.#frameTree.getMainFrame())) {
+            const frame = new Frame_js_1.Frame(this, context, this.#timeoutSettings, context.parent);
+            this.#frameTree.addFrame(frame);
+            if (frame !== this.mainFrame()) {
+                this.emit("frameattached" /* PageEmittedEvents.FrameAttached */, frame);
+            }
+        }
+    }
+    async #onFrameNavigationStarted(info) {
+        const frameId = info.context;
+        const frame = this.frame(frameId);
+        if (frame) {
+            // TODO: Investigate if a navigationCompleted event should be in Spec
+            const predicate = (event) => {
+                if (event.context === frame?._id) {
+                    return true;
+                }
+                return false;
+            };
+            await Deferred_js_1.Deferred.race([
+                (0, util_js_1.waitForEvent)(this.#connection, 'browsingContext.domContentLoaded', predicate, 0, this.#closedDeferred.valueOrThrow()).catch(util_js_1.debugError),
+                (0, util_js_1.waitForEvent)(this.#connection, 'browsingContext.fragmentNavigated', predicate, 0, this.#closedDeferred.valueOrThrow()).catch(util_js_1.debugError),
+            ]);
+            this.emit("framenavigated" /* PageEmittedEvents.FrameNavigated */, frame);
+        }
+    }
+    #onContextDestroyed(context) {
+        const frame = this.frame(context.id);
+        if (frame) {
+            if (frame === this.mainFrame()) {
+                this.emit("close" /* PageEmittedEvents.Close */);
+            }
+            this.#removeFramesRecursively(frame);
+        }
+    }
+    #removeFramesRecursively(frame) {
+        for (const child of frame.childFrames()) {
+            this.#removeFramesRecursively(child);
+        }
+        frame.dispose();
+        this.#networkManager.clearMapAfterFrameDispose(frame);
+        this.#frameTree.removeFrame(frame);
+        this.emit("framedetached" /* PageEmittedEvents.FrameDetached */, frame);
+    }
+    #onLogEntryAdded(event) {
+        const frame = this.frame(event.source.context);
+        if (!frame) {
             return;
         }
-        __classPrivateFieldGet(this, _Page_closedDeferred, "f").resolve(new Errors_js_1.TargetCloseError('Page closed!'));
-        __classPrivateFieldGet(this, _Page_networkManager, "f").dispose();
-        await __classPrivateFieldGet(this, _Page_connection, "f").send('browsingContext.close', {
+        if (isConsoleLogEntry(event)) {
+            const args = event.args.map(arg => {
+                return (0, Realm_js_1.getBidiHandle)(frame.context(), arg, frame);
+            });
+            const text = args
+                .reduce((value, arg) => {
+                const parsedValue = arg.isPrimitiveValue
+                    ? Serializer_js_1.BidiSerializer.deserialize(arg.remoteValue())
+                    : arg.toString();
+                return `${value} ${parsedValue}`;
+            }, '')
+                .slice(1);
+            this.emit("console" /* PageEmittedEvents.Console */, new ConsoleMessage_js_1.ConsoleMessage(event.method, text, args, getStackTraceLocations(event.stackTrace)));
+        }
+        else if (isJavaScriptLogEntry(event)) {
+            let message = event.text ?? '';
+            if (event.stackTrace) {
+                for (const callFrame of event.stackTrace.callFrames) {
+                    const location = callFrame.url +
+                        ':' +
+                        callFrame.lineNumber +
+                        ':' +
+                        callFrame.columnNumber;
+                    const functionName = callFrame.functionName || '<anonymous>';
+                    message += `\n    at ${functionName} (${location})`;
+                }
+            }
+            const error = new Error(message);
+            error.stack = ''; // Don't capture Puppeteer stacktrace.
+            this.emit("pageerror" /* PageEmittedEvents.PageError */, error);
+        }
+        else {
+            (0, util_js_1.debugError)(`Unhandled LogEntry with type "${event.type}", text "${event.text}" and level "${event.level}"`);
+        }
+    }
+    #onDialog(event) {
+        const frame = this.frame(event.context);
+        if (!frame) {
+            return;
+        }
+        const type = (0, util_js_1.validateDialogType)(event.type);
+        const dialog = new Dialog_js_1.Dialog(frame.context(), type, event.message);
+        this.emit("dialog" /* PageEmittedEvents.Dialog */, dialog);
+    }
+    getNavigationResponse(id) {
+        return this.#networkManager.getNavigationResponse(id);
+    }
+    async close() {
+        if (this.#closedDeferred.finished()) {
+            return;
+        }
+        this.#closedDeferred.resolve(new Errors_js_1.TargetCloseError('Page closed!'));
+        this.#networkManager.dispose();
+        await this.#connection.send('browsingContext.close', {
             context: this.mainFrame()._id,
         });
         this.emit("close" /* PageEmittedEvents.Close */);
@@ -217,7 +327,12 @@
                 return (response.request().isNavigationRequest() &&
                     response.url() === this.url());
             }),
-            this.mainFrame().context().reload(options),
+            this.mainFrame()
+                .context()
+                .reload({
+                ...options,
+                timeout: options?.timeout ?? this.#timeoutSettings.navigationTimeout(),
+            }),
         ]);
         return response;
     }
@@ -225,13 +340,13 @@
         return this.mainFrame().url();
     }
     setDefaultNavigationTimeout(timeout) {
-        __classPrivateFieldGet(this, _Page_timeoutSettings, "f").setDefaultNavigationTimeout(timeout);
+        this.#timeoutSettings.setDefaultNavigationTimeout(timeout);
     }
     setDefaultTimeout(timeout) {
-        __classPrivateFieldGet(this, _Page_timeoutSettings, "f").setDefaultTimeout(timeout);
+        this.#timeoutSettings.setDefaultTimeout(timeout);
     }
     getDefaultTimeout() {
-        return __classPrivateFieldGet(this, _Page_timeoutSettings, "f").timeout();
+        return this.#timeoutSettings.timeout();
     }
     async setContent(html, options = {}) {
         await this.mainFrame().setContent(html, options);
@@ -240,47 +355,48 @@
         return this.mainFrame().content();
     }
     isJavaScriptEnabled() {
-        return __classPrivateFieldGet(this, _Page_emulationManager, "f").javascriptEnabled;
+        return this.#emulationManager.javascriptEnabled;
     }
     async setGeolocation(options) {
-        return await __classPrivateFieldGet(this, _Page_emulationManager, "f").setGeolocation(options);
+        return await this.#emulationManager.setGeolocation(options);
     }
     async setJavaScriptEnabled(enabled) {
-        return await __classPrivateFieldGet(this, _Page_emulationManager, "f").setJavaScriptEnabled(enabled);
+        return await this.#emulationManager.setJavaScriptEnabled(enabled);
     }
     async emulateMediaType(type) {
-        return await __classPrivateFieldGet(this, _Page_emulationManager, "f").emulateMediaType(type);
+        return await this.#emulationManager.emulateMediaType(type);
     }
     async emulateCPUThrottling(factor) {
-        return await __classPrivateFieldGet(this, _Page_emulationManager, "f").emulateCPUThrottling(factor);
+        return await this.#emulationManager.emulateCPUThrottling(factor);
     }
     async emulateMediaFeatures(features) {
-        return await __classPrivateFieldGet(this, _Page_emulationManager, "f").emulateMediaFeatures(features);
+        return await this.#emulationManager.emulateMediaFeatures(features);
     }
     async emulateTimezone(timezoneId) {
-        return await __classPrivateFieldGet(this, _Page_emulationManager, "f").emulateTimezone(timezoneId);
+        return await this.#emulationManager.emulateTimezone(timezoneId);
     }
     async emulateIdleState(overrides) {
-        return await __classPrivateFieldGet(this, _Page_emulationManager, "f").emulateIdleState(overrides);
+        return await this.#emulationManager.emulateIdleState(overrides);
     }
     async emulateVisionDeficiency(type) {
-        return await __classPrivateFieldGet(this, _Page_emulationManager, "f").emulateVisionDeficiency(type);
+        return await this.#emulationManager.emulateVisionDeficiency(type);
     }
     async setViewport(viewport) {
-        const needsReload = await __classPrivateFieldGet(this, _Page_emulationManager, "f").emulateViewport(viewport);
-        __classPrivateFieldSet(this, _Page_viewport, viewport, "f");
+        const needsReload = await this.#emulationManager.emulateViewport(viewport);
+        this.#viewport = viewport;
         if (needsReload) {
             // TODO: reload seems to hang in BiDi.
             // await this.reload();
         }
     }
     viewport() {
-        return __classPrivateFieldGet(this, _Page_viewport, "f");
+        return this.#viewport;
     }
     async pdf(options = {}) {
         const { path = undefined } = options;
-        const { printBackground: background, margin, landscape, width, height, pageRanges, scale, preferCSSPageSize, timeout, } = this._getPDFOptions(options, 'cm');
-        const { result } = await (0, util_js_1.waitWithTimeout)(__classPrivateFieldGet(this, _Page_connection, "f").send('browsingContext.print', {
+        const { printBackground: background, margin, landscape, width, height, pageRanges: ranges, scale, preferCSSPageSize, timeout, } = this._getPDFOptions(options, 'cm');
+        const pageRanges = ranges ? ranges.split(', ') : [];
+        const { result } = await (0, util_js_1.waitWithTimeout)(this.#connection.send('browsingContext.print', {
             context: this.mainFrame()._id,
             background,
             margin,
@@ -289,7 +405,7 @@
                 width,
                 height,
             },
-            pageRanges: pageRanges.split(', '),
+            pageRanges,
             scale,
             shrinkToFit: !preferCSSPageSize,
         }), 'browsingContext.print', timeout);
@@ -315,7 +431,7 @@
         if (Object.keys(args).length >= 1) {
             throw new Error('BiDi only supports "encoding" and "path" options');
         }
-        const { result } = await __classPrivateFieldGet(this, _Page_connection, "f").send('browsingContext.captureScreenshot', {
+        const { result } = await this.#connection.send('browsingContext.captureScreenshot', {
             context: this.mainFrame()._id,
         });
         if (encoding === 'base64') {
@@ -326,8 +442,8 @@
         return buffer;
     }
     waitForRequest(urlOrPredicate, options = {}) {
-        const { timeout = __classPrivateFieldGet(this, _Page_timeoutSettings, "f").timeout() } = options;
-        return (0, util_js_1.waitForEvent)(__classPrivateFieldGet(this, _Page_networkManager, "f"), NetworkManager_js_1.NetworkManagerEmittedEvents.Request, async (request) => {
+        const { timeout = this.#timeoutSettings.timeout() } = options;
+        return (0, util_js_1.waitForEvent)(this.#networkManager, NetworkManager_js_1.NetworkManagerEmittedEvents.Request, async (request) => {
             if ((0, util_js_1.isString)(urlOrPredicate)) {
                 return urlOrPredicate === request.url();
             }
@@ -335,11 +451,11 @@
                 return !!(await urlOrPredicate(request));
             }
             return false;
-        }, timeout, __classPrivateFieldGet(this, _Page_closedDeferred, "f").valueOrThrow());
+        }, timeout, this.#closedDeferred.valueOrThrow());
     }
     waitForResponse(urlOrPredicate, options = {}) {
-        const { timeout = __classPrivateFieldGet(this, _Page_timeoutSettings, "f").timeout() } = options;
-        return (0, util_js_1.waitForEvent)(__classPrivateFieldGet(this, _Page_networkManager, "f"), NetworkManager_js_1.NetworkManagerEmittedEvents.Response, async (response) => {
+        const { timeout = this.#timeoutSettings.timeout() } = options;
+        return (0, util_js_1.waitForEvent)(this.#networkManager, NetworkManager_js_1.NetworkManagerEmittedEvents.Response, async (response) => {
             if ((0, util_js_1.isString)(urlOrPredicate)) {
                 return urlOrPredicate === response.url();
             }
@@ -347,100 +463,26 @@
                 return !!(await urlOrPredicate(response));
             }
             return false;
-        }, timeout, __classPrivateFieldGet(this, _Page_closedDeferred, "f").valueOrThrow());
+        }, timeout, this.#closedDeferred.valueOrThrow());
     }
     async waitForNetworkIdle(options = {}) {
-        const { idleTime = 500, timeout = __classPrivateFieldGet(this, _Page_timeoutSettings, "f").timeout() } = options;
-        await this._waitForNetworkIdle(__classPrivateFieldGet(this, _Page_networkManager, "f"), idleTime, timeout, __classPrivateFieldGet(this, _Page_closedDeferred, "f"));
+        const { idleTime = 500, timeout = this.#timeoutSettings.timeout() } = options;
+        await this._waitForNetworkIdle(this.#networkManager, idleTime, timeout, this.#closedDeferred);
     }
     title() {
         return this.mainFrame().title();
     }
+    async createCDPSession() {
+        const { sessionId } = await this.mainFrame()
+            .context()
+            .cdpSession.send('Target.attachToTarget', {
+            targetId: this.mainFrame()._id,
+            flatten: true,
+        });
+        return new BrowsingContext_js_1.CDPSessionWrapper(this.mainFrame().context(), sessionId);
+    }
 }
 exports.Page = Page;
-_Page_accessibility = new WeakMap(), _Page_timeoutSettings = new WeakMap(), _Page_browserContext = new WeakMap(), _Page_connection = new WeakMap(), _Page_frameTree = new WeakMap(), _Page_networkManager = new WeakMap(), _Page_viewport = new WeakMap(), _Page_closedDeferred = new WeakMap(), _Page_subscribedEvents = new WeakMap(), _Page_networkManagerEvents = new WeakMap(), _Page_tracing = new WeakMap(), _Page_coverage = new WeakMap(), _Page_emulationManager = new WeakMap(), _Page_mouse = new WeakMap(), _Page_touchscreen = new WeakMap(), _Page_keyboard = new WeakMap(), _Page_instances = new WeakSet(), _Page_onFrameLoaded = function _Page_onFrameLoaded(info) {
-    const frame = this.frame(info.context);
-    if (frame && this.mainFrame() === frame) {
-        this.emit("load" /* PageEmittedEvents.Load */);
-    }
-}, _Page_onFrameDOMContentLoaded = function _Page_onFrameDOMContentLoaded(info) {
-    const frame = this.frame(info.context);
-    if (frame && this.mainFrame() === frame) {
-        this.emit("domcontentloaded" /* PageEmittedEvents.DOMContentLoaded */);
-    }
-}, _Page_onFrameAttached = function _Page_onFrameAttached(info) {
-    if (!this.frame(info.context) &&
-        (this.frame(info.parent ?? '') || !__classPrivateFieldGet(this, _Page_frameTree, "f").getMainFrame())) {
-        const context = new BrowsingContext_js_1.BrowsingContext(__classPrivateFieldGet(this, _Page_connection, "f"), __classPrivateFieldGet(this, _Page_timeoutSettings, "f"), info);
-        __classPrivateFieldGet(this, _Page_connection, "f").registerBrowsingContexts(context);
-        const frame = new Frame_js_1.Frame(this, context, __classPrivateFieldGet(this, _Page_timeoutSettings, "f"), info.parent);
-        __classPrivateFieldGet(this, _Page_frameTree, "f").addFrame(frame);
-        this.emit("frameattached" /* PageEmittedEvents.FrameAttached */, frame);
-    }
-}, _Page_onFrameNavigated = async function _Page_onFrameNavigated(info) {
-    const frameId = info.context;
-    let frame = this.frame(frameId);
-    // Detach all child frames first.
-    if (frame) {
-        frame = await __classPrivateFieldGet(this, _Page_frameTree, "f").waitForFrame(frameId);
-        this.emit("framenavigated" /* PageEmittedEvents.FrameNavigated */, frame);
-    }
-}, _Page_onFrameDetached = function _Page_onFrameDetached(info) {
-    const frame = this.frame(info.context);
-    if (frame) {
-        if (frame === this.mainFrame()) {
-            this.emit("close" /* PageEmittedEvents.Close */);
-        }
-        __classPrivateFieldGet(this, _Page_instances, "m", _Page_removeFramesRecursively).call(this, frame);
-    }
-}, _Page_removeFramesRecursively = function _Page_removeFramesRecursively(frame) {
-    for (const child of frame.childFrames()) {
-        __classPrivateFieldGet(this, _Page_instances, "m", _Page_removeFramesRecursively).call(this, child);
-    }
-    frame.dispose();
-    __classPrivateFieldGet(this, _Page_networkManager, "f").clearMapAfterFrameDispose(frame);
-    __classPrivateFieldGet(this, _Page_frameTree, "f").removeFrame(frame);
-    this.emit("framedetached" /* PageEmittedEvents.FrameDetached */, frame);
-}, _Page_onLogEntryAdded = function _Page_onLogEntryAdded(event) {
-    const frame = this.frame(event.source.context);
-    if (!frame) {
-        return;
-    }
-    if (isConsoleLogEntry(event)) {
-        const args = event.args.map(arg => {
-            return (0, Realm_js_1.getBidiHandle)(frame.context(), arg, frame);
-        });
-        const text = args
-            .reduce((value, arg) => {
-            const parsedValue = arg.isPrimitiveValue
-                ? Serializer_js_1.BidiSerializer.deserialize(arg.remoteValue())
-                : arg.toString();
-            return `${value} ${parsedValue}`;
-        }, '')
-            .slice(1);
-        this.emit("console" /* PageEmittedEvents.Console */, new ConsoleMessage_js_1.ConsoleMessage(event.method, text, args, getStackTraceLocations(event.stackTrace)));
-    }
-    else if (isJavaScriptLogEntry(event)) {
-        let message = event.text ?? '';
-        if (event.stackTrace) {
-            for (const callFrame of event.stackTrace.callFrames) {
-                const location = callFrame.url +
-                    ':' +
-                    callFrame.lineNumber +
-                    ':' +
-                    callFrame.columnNumber;
-                const functionName = callFrame.functionName || '<anonymous>';
-                message += `\n    at ${functionName} (${location})`;
-            }
-        }
-        const error = new Error(message);
-        error.stack = ''; // Don't capture Puppeteer stacktrace.
-        this.emit("pageerror" /* PageEmittedEvents.PageError */, error);
-    }
-    else {
-        (0, util_js_1.debugError)(`Unhandled LogEntry with type "${event.type}", text "${event.text}" and level "${event.level}"`);
-    }
-};
 function isConsoleLogEntry(event) {
     return event.type === 'console';
 }
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Page.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Page.js.map
index 9537b58..4600241 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Page.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Page.js.map
@@ -1 +1 @@
-{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Realm.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Realm.d.ts
index af23a76..fba943d 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Realm.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Realm.d.ts
@@ -22,5 +22,5 @@
 /**
  * @internal
  */
-export declare function getBidiHandle(realmOrContext: Realm, result: Bidi.CommonDataTypes.RemoteValue, frame: Frame): JSHandle | ElementHandle<Node>;
+export declare function getBidiHandle(realmOrContext: Realm, result: Bidi.Script.RemoteValue, frame: Frame): JSHandle | ElementHandle<Node>;
 //# sourceMappingURL=Realm.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Realm.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Realm.d.ts.map
index 767ac34..afc4974 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Realm.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Realm.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Realm.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Realm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAOpD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AACjC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAIvC,eAAO,MAAM,gBAAgB,QAAgD,CAAC;AAE9E,eAAO,MAAM,mBAAmB,QAAS,MAAM,KAAG,MAEjD,CAAC;AAEF,qBAAa,KAAM,SAAQ,YAAY;;IACrC,UAAU,EAAE,UAAU,CAAC;gBAKX,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAOhE,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAK/B;IAED,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI5B,SAAS,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACnE,IAAI,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAapD;IAEK,cAAc,CAClB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAI1C,QAAQ,CACZ,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;CA0EtC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,cAAc,EAAE,KAAK,EACrB,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EACxC,KAAK,EAAE,KAAK,GACX,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAKhC"}
\ No newline at end of file
+{"version":3,"file":"Realm.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Realm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAOpD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AACjC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAIvC,eAAO,MAAM,gBAAgB,QAAgD,CAAC;AAE9E,eAAO,MAAM,mBAAmB,QAAS,MAAM,KAAG,MAEjD,CAAC;AAEF,qBAAa,KAAM,SAAQ,YAAY;;IACrC,UAAU,EAAE,UAAU,CAAC;gBAKX,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAOhE,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAK/B;IAED,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI5B,SAAS,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACnE,IAAI,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAapD;IAEK,cAAc,CAClB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAI1C,QAAQ,CACZ,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;CA4EtC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,cAAc,EAAE,KAAK,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAC/B,KAAK,EAAE,KAAK,GACX,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAKhC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Realm.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Realm.js
index 794275a..e565780 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Realm.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Realm.js
@@ -1,16 +1,4 @@
 "use strict";
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Realm_instances, _Realm_frame, _Realm_id, _Realm_sandbox, _Realm_evaluate;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.getBidiHandle = exports.Realm = exports.getSourceUrlComment = exports.SOURCE_URL_REGEX = void 0;
 const Function_js_1 = require("../../util/Function.js");
@@ -27,25 +15,26 @@
 };
 exports.getSourceUrlComment = getSourceUrlComment;
 class Realm extends EventEmitter_js_1.EventEmitter {
+    connection;
+    #frame;
+    #id;
+    #sandbox;
     constructor(connection, id, sandbox) {
         super();
-        _Realm_instances.add(this);
-        _Realm_frame.set(this, void 0);
-        _Realm_id.set(this, void 0);
-        _Realm_sandbox.set(this, void 0);
         this.connection = connection;
-        __classPrivateFieldSet(this, _Realm_id, id, "f");
-        __classPrivateFieldSet(this, _Realm_sandbox, sandbox, "f");
+        this.#id = id;
+        this.#sandbox = sandbox;
     }
     get target() {
         return {
-            context: __classPrivateFieldGet(this, _Realm_id, "f"),
-            sandbox: __classPrivateFieldGet(this, _Realm_sandbox, "f"),
+            context: this.#id,
+            sandbox: this.#sandbox,
         };
     }
     setFrame(frame) {
-        __classPrivateFieldSet(this, _Realm_frame, frame, "f");
+        this.#frame = frame;
     }
+    internalPuppeteerUtil;
     get puppeteerUtil() {
         const promise = Promise.resolve();
         ScriptInjector_js_1.scriptInjector.inject(script => {
@@ -61,52 +50,54 @@
         return this.internalPuppeteerUtil;
     }
     async evaluateHandle(pageFunction, ...args) {
-        return __classPrivateFieldGet(this, _Realm_instances, "m", _Realm_evaluate).call(this, false, pageFunction, ...args);
+        return this.#evaluate(false, pageFunction, ...args);
     }
     async evaluate(pageFunction, ...args) {
-        return __classPrivateFieldGet(this, _Realm_instances, "m", _Realm_evaluate).call(this, true, pageFunction, ...args);
+        return this.#evaluate(true, pageFunction, ...args);
+    }
+    async #evaluate(returnByValue, pageFunction, ...args) {
+        const sourceUrlComment = (0, exports.getSourceUrlComment)((0, util_js_1.getSourcePuppeteerURLIfAvailable)(pageFunction)?.toString() ??
+            util_js_1.PuppeteerURL.INTERNAL_URL);
+        let responsePromise;
+        const resultOwnership = returnByValue
+            ? "none" /* Bidi.Script.ResultOwnership.None */
+            : "root" /* Bidi.Script.ResultOwnership.Root */;
+        if ((0, util_js_1.isString)(pageFunction)) {
+            const expression = exports.SOURCE_URL_REGEX.test(pageFunction)
+                ? pageFunction
+                : `${pageFunction}\n${sourceUrlComment}\n`;
+            responsePromise = this.connection.send('script.evaluate', {
+                expression,
+                target: this.target,
+                resultOwnership,
+                awaitPromise: true,
+            });
+        }
+        else {
+            let functionDeclaration = (0, Function_js_1.stringifyFunction)(pageFunction);
+            functionDeclaration = exports.SOURCE_URL_REGEX.test(functionDeclaration)
+                ? functionDeclaration
+                : `${functionDeclaration}\n${sourceUrlComment}\n`;
+            responsePromise = this.connection.send('script.callFunction', {
+                functionDeclaration,
+                arguments: await Promise.all(args.map(arg => {
+                    return Serializer_js_1.BidiSerializer.serialize(arg, this);
+                })),
+                target: this.target,
+                resultOwnership,
+                awaitPromise: true,
+            });
+        }
+        const { result } = await responsePromise;
+        if ('type' in result && result.type === 'exception') {
+            throw (0, utils_js_1.createEvaluationError)(result.exceptionDetails);
+        }
+        return returnByValue
+            ? Serializer_js_1.BidiSerializer.deserialize(result.result)
+            : getBidiHandle(this, result.result, this.#frame);
     }
 }
 exports.Realm = Realm;
-_Realm_frame = new WeakMap(), _Realm_id = new WeakMap(), _Realm_sandbox = new WeakMap(), _Realm_instances = new WeakSet(), _Realm_evaluate = async function _Realm_evaluate(returnByValue, pageFunction, ...args) {
-    const sourceUrlComment = (0, exports.getSourceUrlComment)((0, util_js_1.getSourcePuppeteerURLIfAvailable)(pageFunction)?.toString() ??
-        util_js_1.PuppeteerURL.INTERNAL_URL);
-    let responsePromise;
-    const resultOwnership = returnByValue ? 'none' : 'root';
-    if ((0, util_js_1.isString)(pageFunction)) {
-        const expression = exports.SOURCE_URL_REGEX.test(pageFunction)
-            ? pageFunction
-            : `${pageFunction}\n${sourceUrlComment}\n`;
-        responsePromise = this.connection.send('script.evaluate', {
-            expression,
-            target: this.target,
-            resultOwnership,
-            awaitPromise: true,
-        });
-    }
-    else {
-        let functionDeclaration = (0, Function_js_1.stringifyFunction)(pageFunction);
-        functionDeclaration = exports.SOURCE_URL_REGEX.test(functionDeclaration)
-            ? functionDeclaration
-            : `${functionDeclaration}\n${sourceUrlComment}\n`;
-        responsePromise = this.connection.send('script.callFunction', {
-            functionDeclaration,
-            arguments: await Promise.all(args.map(arg => {
-                return Serializer_js_1.BidiSerializer.serialize(arg, this);
-            })),
-            target: this.target,
-            resultOwnership,
-            awaitPromise: true,
-        });
-    }
-    const { result } = await responsePromise;
-    if ('type' in result && result.type === 'exception') {
-        throw (0, utils_js_1.createEvaluationError)(result.exceptionDetails);
-    }
-    return returnByValue
-        ? Serializer_js_1.BidiSerializer.deserialize(result.result)
-        : getBidiHandle(this, result.result, __classPrivateFieldGet(this, _Realm_frame, "f"));
-};
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Realm.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Realm.js.map
index a462a7c..02a8c32 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Realm.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Realm.js.map
@@ -1 +1 @@
-{"version":3,"file":"Realm.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Realm.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Realm.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Realm.ts"],"names":[],"mappings":";;;AAGA,wDAAyD;AACzD,wDAAgD;AAChD,4DAAoD;AAEpD,wCAIoB;AAGpB,yDAAiD;AAEjD,+CAAuC;AACvC,mDAA+C;AAC/C,yCAAiD;AAEpC,QAAA,gBAAgB,GAAG,6CAA6C,CAAC;AAEvE,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAU,EAAE;IACzD,OAAO,iBAAiB,GAAG,EAAE,CAAC;AAChC,CAAC,CAAC;AAFW,QAAA,mBAAmB,uBAE9B;AAEF,MAAa,KAAM,SAAQ,8BAAY;IACrC,UAAU,CAAa;IACvB,MAAM,CAAS;IACf,GAAG,CAAS;IACZ,QAAQ,CAAU;IAElB,YAAY,UAAsB,EAAE,EAAU,EAAE,OAAgB;QAC9D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,MAAM;QACR,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,OAAO,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,KAAY;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAES,qBAAqB,CAAoC;IACnE,IAAI,aAAa;QACf,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAsB,CAAC;QACtD,kCAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAC7B,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC9B,KAAK,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBAC5C,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;gBACxB,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC7C,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAqC,CAAC;YACzE,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,qBAAyD,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,cAAc,CAIlB,YAA2B,EAC3B,GAAG,IAAY;QAEf,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,QAAQ,CAIZ,YAA2B,EAC3B,GAAG,IAAY;QAEf,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;IAkBD,KAAK,CAAC,SAAS,CAIb,aAAsB,EACtB,YAA2B,EAC3B,GAAG,IAAY;QAEf,MAAM,gBAAgB,GAAG,IAAA,2BAAmB,EAC1C,IAAA,0CAAgC,EAAC,YAAY,CAAC,EAAE,QAAQ,EAAE;YACxD,sBAAY,CAAC,YAAY,CAC5B,CAAC;QAEF,IAAI,eAAe,CAAC;QACpB,MAAM,eAAe,GAAG,aAAa;YACnC,CAAC;YACD,CAAC,8CAAiC,CAAC;QACrC,IAAI,IAAA,kBAAQ,EAAC,YAAY,CAAC,EAAE;YAC1B,MAAM,UAAU,GAAG,wBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC;gBACpD,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,GAAG,YAAY,KAAK,gBAAgB,IAAI,CAAC;YAE7C,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBACxD,UAAU;gBACV,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,eAAe;gBACf,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,mBAAmB,GAAG,IAAA,+BAAiB,EAAC,YAAY,CAAC,CAAC;YAC1D,mBAAmB,GAAG,wBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC;gBAC9D,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,GAAG,mBAAmB,KAAK,gBAAgB,IAAI,CAAC;YACpD,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBAC5D,mBAAmB;gBACnB,SAAS,EAAE,MAAM,OAAO,CAAC,GAAG,CAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBACb,OAAO,8BAAc,CAAC,SAAS,CAAC,GAAG,EAAE,IAAW,CAAC,CAAC;gBACpD,CAAC,CAAC,CACH;gBACD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,eAAe;gBACf,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;SACJ;QAED,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,eAAe,CAAC;QAEvC,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;YACnD,MAAM,IAAA,gCAAqB,EAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;SACtD;QAED,OAAO,aAAa;YAClB,CAAC,CAAC,8BAAc,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,CAAC,CAAC,aAAa,CAAC,IAAW,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;CACF;AApID,sBAoIC;AAED;;GAEG;AACH,SAAgB,aAAa,CAC3B,cAAqB,EACrB,MAA+B,EAC/B,KAAY;IAEZ,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;QACtD,OAAO,IAAI,gCAAa,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;KACzD;IACD,OAAO,IAAI,sBAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC;AATD,sCASC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Sandbox.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Sandbox.js
index a55e7b8..0da8f3f 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Sandbox.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Sandbox.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Sandbox_document, _Sandbox_realm, _Sandbox_timeoutSettings, _Sandbox_taskManager;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.Sandbox = exports.PUPPETEER_SANDBOX = exports.MAIN_SANDBOX = void 0;
 const assert_js_1 = require("../../util/assert.js");
@@ -49,25 +37,25 @@
  * @internal
  */
 class Sandbox {
+    #document;
+    #realm;
+    #timeoutSettings;
+    #taskManager = new WaitTask_js_1.TaskManager();
     constructor(context, timeoutSettings) {
-        _Sandbox_document.set(this, void 0);
-        _Sandbox_realm.set(this, void 0);
-        _Sandbox_timeoutSettings.set(this, void 0);
-        _Sandbox_taskManager.set(this, new WaitTask_js_1.TaskManager());
-        __classPrivateFieldSet(this, _Sandbox_realm, context, "f");
-        __classPrivateFieldSet(this, _Sandbox_timeoutSettings, timeoutSettings, "f");
+        this.#realm = context;
+        this.#timeoutSettings = timeoutSettings;
     }
     get taskManager() {
-        return __classPrivateFieldGet(this, _Sandbox_taskManager, "f");
+        return this.#taskManager;
     }
     async document() {
-        if (__classPrivateFieldGet(this, _Sandbox_document, "f")) {
-            return __classPrivateFieldGet(this, _Sandbox_document, "f");
+        if (this.#document) {
+            return this.#document;
         }
-        __classPrivateFieldSet(this, _Sandbox_document, await __classPrivateFieldGet(this, _Sandbox_realm, "f").evaluateHandle(() => {
+        this.#document = await this.#realm.evaluateHandle(() => {
             return document;
-        }), "f");
-        return __classPrivateFieldGet(this, _Sandbox_document, "f");
+        });
+        return this.#document;
     }
     async $(selector) {
         const document = await this.document();
@@ -93,11 +81,11 @@
     }
     async evaluateHandle(pageFunction, ...args) {
         pageFunction = (0, util_js_1.withSourcePuppeteerURLIfNone)(this.evaluateHandle.name, pageFunction);
-        return __classPrivateFieldGet(this, _Sandbox_realm, "f").evaluateHandle(pageFunction, ...args);
+        return this.#realm.evaluateHandle(pageFunction, ...args);
     }
     async evaluate(pageFunction, ...args) {
         pageFunction = (0, util_js_1.withSourcePuppeteerURLIfNone)(this.evaluate.name, pageFunction);
-        return __classPrivateFieldGet(this, _Sandbox_realm, "f").evaluate(pageFunction, ...args);
+        return this.#realm.evaluate(pageFunction, ...args);
     }
     async adoptHandle(handle) {
         return (await this.evaluateHandle(node => {
@@ -105,7 +93,7 @@
         }, handle));
     }
     async transferHandle(handle) {
-        if (handle.context() === __classPrivateFieldGet(this, _Sandbox_realm, "f")) {
+        if (handle.context() === this.#realm) {
             return handle;
         }
         const transferredHandle = await this.evaluateHandle(node => {
@@ -115,7 +103,7 @@
         return transferredHandle;
     }
     waitForFunction(pageFunction, options = {}, ...args) {
-        const { polling = 'raf', timeout = __classPrivateFieldGet(this, _Sandbox_timeoutSettings, "f").timeout(), root, signal, } = options;
+        const { polling = 'raf', timeout = this.#timeoutSettings.timeout(), root, signal, } = options;
         if (typeof polling === 'number' && polling < 0) {
             throw new Error('Cannot poll with non-positive interval');
         }
@@ -169,5 +157,4 @@
     }
 }
 exports.Sandbox = Sandbox;
-_Sandbox_document = new WeakMap(), _Sandbox_realm = new WeakMap(), _Sandbox_timeoutSettings = new WeakMap(), _Sandbox_taskManager = new WeakMap();
 //# sourceMappingURL=Sandbox.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Sandbox.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Sandbox.js.map
index 3fb353b..6b935d7 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Sandbox.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Sandbox.js.map
@@ -1 +1 @@
-{"version":3,"file":"Sandbox.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Sandbox.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Sandbox.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Sandbox.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Serializer.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Serializer.d.ts
index a5e3481..375bb2f 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Serializer.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Serializer.d.ts
@@ -19,19 +19,19 @@
  * @internal
  */
 export declare class BidiSerializer {
-    static serializeNumber(arg: number): Bidi.CommonDataTypes.LocalValue;
-    static serializeObject(arg: object | null): Bidi.CommonDataTypes.LocalValue;
-    static serializeRemoveValue(arg: unknown): Bidi.CommonDataTypes.LocalValue;
-    static serialize(arg: unknown, context: BrowsingContext): Promise<Bidi.CommonDataTypes.LocalValue | Bidi.CommonDataTypes.RemoteValue>;
-    static deserializeNumber(value: Bidi.CommonDataTypes.SpecialNumber | number): number;
-    static deserializeLocalValue(result: Bidi.CommonDataTypes.RemoteValue): unknown;
+    static serializeNumber(arg: number): Bidi.Script.LocalValue;
+    static serializeObject(arg: object | null): Bidi.Script.LocalValue;
+    static serializeRemoveValue(arg: unknown): Bidi.Script.LocalValue;
+    static serialize(arg: unknown, context: BrowsingContext): Promise<Bidi.Script.LocalValue>;
+    static deserializeNumber(value: Bidi.Script.SpecialNumber | number): number;
+    static deserializeLocalValue(result: Bidi.Script.RemoteValue): unknown;
     static deserializeTuple([serializedKey, serializedValue]: [
-        Bidi.CommonDataTypes.RemoteValue | string,
-        Bidi.CommonDataTypes.RemoteValue
+        Bidi.Script.RemoteValue | string,
+        Bidi.Script.RemoteValue
     ]): {
         key: unknown;
         value: unknown;
     };
-    static deserialize(result: Bidi.CommonDataTypes.RemoteValue): any;
+    static deserialize(result: Bidi.Script.RemoteValue): any;
 }
 //# sourceMappingURL=Serializer.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Serializer.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Serializer.d.ts.map
index 8552d79..4dc6651 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Serializer.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Serializer.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Serializer.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Serializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAKnE,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AASrD;;GAEG;AACH,qBAAa,cAAc;IACzB,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU;IAmBpE,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU;IA2D3E,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU;WAgC7D,SAAS,CACpB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,eAAe,GACvB,OAAO,CACR,IAAI,CAAC,eAAe,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CACnE;IA0BD,MAAM,CAAC,iBAAiB,CACtB,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,GAAG,MAAM,GACjD,MAAM;IAeT,MAAM,CAAC,qBAAqB,CAC1B,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,GACvC,OAAO;IAqDV,MAAM,CAAC,gBAAgB,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE;QACxD,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,MAAM;QACzC,IAAI,CAAC,eAAe,CAAC,WAAW;KACjC,GAAG;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC;IAUlC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,GAAG;CAgBlE"}
\ No newline at end of file
+{"version":3,"file":"Serializer.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Serializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAKnE,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AASrD;;GAEG;AACH,qBAAa,cAAc;IACzB,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;IAmB3D,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;IA2DlE,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;WAgCpD,SAAS,CACpB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IA0BlC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,GAAG,MAAM;IAe3E,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,OAAO;IA2DtE,MAAM,CAAC,gBAAgB,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE;QACxD,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM;QAChC,IAAI,CAAC,MAAM,CAAC,WAAW;KACxB,GAAG;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC;IAUlC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,GAAG;CAgBzD"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Serializer.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Serializer.js
index 0b48678..ba3cbd6 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Serializer.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Serializer.js
@@ -172,15 +172,19 @@
     static deserializeLocalValue(result) {
         switch (result.type) {
             case 'array':
-                // TODO: Check expected output when value is undefined
-                return result.value?.map(value => {
-                    return BidiSerializer.deserializeLocalValue(value);
-                });
+                if (result.value) {
+                    return result.value.map(value => {
+                        return BidiSerializer.deserializeLocalValue(value);
+                    });
+                }
+                break;
             case 'set':
-                // TODO: Check expected output when value is undefined
-                return result.value.reduce((acc, value) => {
-                    return acc.add(BidiSerializer.deserializeLocalValue(value));
-                }, new Set());
+                if (result.value) {
+                    return result.value.reduce((acc, value) => {
+                        return acc.add(BidiSerializer.deserializeLocalValue(value));
+                    }, new Set());
+                }
+                break;
             case 'object':
                 if (result.value) {
                     return result.value.reduce((acc, tuple) => {
@@ -191,10 +195,13 @@
                 }
                 break;
             case 'map':
-                return result.value.reduce((acc, tuple) => {
-                    const { key, value } = BidiSerializer.deserializeTuple(tuple);
-                    return acc.set(key, value);
-                }, new Map());
+                if (result.value) {
+                    return result.value?.reduce((acc, tuple) => {
+                        const { key, value } = BidiSerializer.deserializeTuple(tuple);
+                        return acc.set(key, value);
+                    }, new Map());
+                }
+                break;
             case 'promise':
                 return {};
             case 'regexp':
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Serializer.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Serializer.js.map
index 81fb606..8761349 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Serializer.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Serializer.js.map
@@ -1 +1 @@
-{"version":3,"file":"Serializer.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Serializer.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Serializer.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Serializer.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Target.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Target.d.ts
new file mode 100644
index 0000000..53883b3
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Target.d.ts
@@ -0,0 +1,58 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Target, TargetType } from '../../api/Target.js';
+import { CDPSession } from '../Connection.js';
+import type { WebWorker } from '../WebWorker.js';
+import { Browser } from './Browser.js';
+import { BrowserContext } from './BrowserContext.js';
+import { BrowsingContext } from './BrowsingContext.js';
+import { Page } from './Page.js';
+export declare class BiDiTarget extends Target {
+    protected _browserContext: BrowserContext;
+    constructor(browserContext: BrowserContext);
+    worker(): Promise<WebWorker | null>;
+    browser(): Browser;
+    browserContext(): BrowserContext;
+    opener(): Target | undefined;
+    _setBrowserContext(browserContext: BrowserContext): void;
+}
+/**
+ * @internal
+ */
+export declare class BiDiBrowserTarget extends BiDiTarget {
+    url(): string;
+    type(): TargetType;
+}
+/**
+ * @internal
+ */
+export declare class BiDiBrowsingContextTarget extends BiDiTarget {
+    protected _browsingContext: BrowsingContext;
+    constructor(browserContext: BrowserContext, browsingContext: BrowsingContext);
+    url(): string;
+    createCDPSession(): Promise<CDPSession>;
+    type(): TargetType;
+}
+/**
+ * @internal
+ */
+export declare class BiDiPageTarget extends BiDiBrowsingContextTarget {
+    #private;
+    constructor(browserContext: BrowserContext, browsingContext: BrowsingContext);
+    page(): Promise<Page | null>;
+    _setBrowserContext(browserContext: BrowserContext): void;
+}
+//# sourceMappingURL=Target.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Target.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Target.d.ts.map
new file mode 100644
index 0000000..9e49acc
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Target.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"Target.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,eAAe,EAAoB,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE/B,qBAAa,UAAW,SAAQ,MAAM;IACpC,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC;gBAE9B,cAAc,EAAE,cAAc;IAK3B,MAAM,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAIzC,OAAO,IAAI,OAAO;IAIlB,cAAc,IAAI,cAAc;IAIhC,MAAM,IAAI,MAAM,GAAG,SAAS;IAIrC,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;CAGzD;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IACtC,GAAG,IAAI,MAAM;IAIb,IAAI,IAAI,UAAU;CAG5B;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,UAAU;IACvD,SAAS,CAAC,gBAAgB,EAAE,eAAe,CAAC;gBAG1C,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe;IAOzB,GAAG,IAAI,MAAM;IAIP,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC;IAW7C,IAAI,IAAI,UAAU;CAG5B;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,yBAAyB;;gBAIzD,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe;IAOnB,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAIlC,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;CAIlE"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Target.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Target.js
new file mode 100644
index 0000000..4a30ce3
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Target.js
@@ -0,0 +1,99 @@
+"use strict";
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.BiDiPageTarget = exports.BiDiBrowsingContextTarget = exports.BiDiBrowserTarget = exports.BiDiTarget = void 0;
+const Target_js_1 = require("../../api/Target.js");
+const BrowsingContext_js_1 = require("./BrowsingContext.js");
+const Page_js_1 = require("./Page.js");
+class BiDiTarget extends Target_js_1.Target {
+    _browserContext;
+    constructor(browserContext) {
+        super();
+        this._browserContext = browserContext;
+    }
+    async worker() {
+        return null;
+    }
+    browser() {
+        return this._browserContext.browser();
+    }
+    browserContext() {
+        return this._browserContext;
+    }
+    opener() {
+        throw new Error('Not implemented');
+    }
+    _setBrowserContext(browserContext) {
+        this._browserContext = browserContext;
+    }
+}
+exports.BiDiTarget = BiDiTarget;
+/**
+ * @internal
+ */
+class BiDiBrowserTarget extends BiDiTarget {
+    url() {
+        return '';
+    }
+    type() {
+        return Target_js_1.TargetType.BROWSER;
+    }
+}
+exports.BiDiBrowserTarget = BiDiBrowserTarget;
+/**
+ * @internal
+ */
+class BiDiBrowsingContextTarget extends BiDiTarget {
+    _browsingContext;
+    constructor(browserContext, browsingContext) {
+        super(browserContext);
+        this._browsingContext = browsingContext;
+    }
+    url() {
+        return this._browsingContext.url;
+    }
+    async createCDPSession() {
+        const { sessionId } = await this._browsingContext.cdpSession.send('Target.attachToTarget', {
+            targetId: this._browsingContext.id,
+            flatten: true,
+        });
+        return new BrowsingContext_js_1.CDPSessionWrapper(this._browsingContext, sessionId);
+    }
+    type() {
+        return Target_js_1.TargetType.PAGE;
+    }
+}
+exports.BiDiBrowsingContextTarget = BiDiBrowsingContextTarget;
+/**
+ * @internal
+ */
+class BiDiPageTarget extends BiDiBrowsingContextTarget {
+    #page;
+    constructor(browserContext, browsingContext) {
+        super(browserContext, browsingContext);
+        this.#page = new Page_js_1.Page(browsingContext, browserContext);
+    }
+    async page() {
+        return this.#page;
+    }
+    _setBrowserContext(browserContext) {
+        super._setBrowserContext(browserContext);
+        this.#page._setBrowserContext(browserContext);
+    }
+}
+exports.BiDiPageTarget = BiDiPageTarget;
+//# sourceMappingURL=Target.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Target.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Target.js.map
new file mode 100644
index 0000000..abe1000
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/Target.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"Target.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Target.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,mDAAuD;AAMvD,6DAAwE;AACxE,uCAA+B;AAE/B,MAAa,UAAW,SAAQ,kBAAM;IAC1B,eAAe,CAAiB;IAE1C,YAAY,cAA8B;QACxC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IAEQ,KAAK,CAAC,MAAM;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;IAEQ,cAAc;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEQ,MAAM;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,kBAAkB,CAAC,cAA8B;QAC/C,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;CACF;AA3BD,gCA2BC;AAED;;GAEG;AACH,MAAa,iBAAkB,SAAQ,UAAU;IACtC,GAAG;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAEQ,IAAI;QACX,OAAO,sBAAU,CAAC,OAAO,CAAC;IAC5B,CAAC;CACF;AARD,8CAQC;AAED;;GAEG;AACH,MAAa,yBAA0B,SAAQ,UAAU;IAC7C,gBAAgB,CAAkB;IAE5C,YACE,cAA8B,EAC9B,eAAgC;QAEhC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEtB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC1C,CAAC;IAEQ,GAAG;QACV,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;IACnC,CAAC;IAEQ,KAAK,CAAC,gBAAgB;QAC7B,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAC7D,uBAAuB,EACvB;YACE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAClC,OAAO,EAAE,IAAI;SACd,CACF,CAAC;QACF,OAAO,IAAI,sCAAiB,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACjE,CAAC;IAEQ,IAAI;QACX,OAAO,sBAAU,CAAC,IAAI,CAAC;IACzB,CAAC;CACF;AA9BD,8DA8BC;AAED;;GAEG;AACH,MAAa,cAAe,SAAQ,yBAAyB;IAC3D,KAAK,CAAO;IAEZ,YACE,cAA8B,EAC9B,eAAgC;QAEhC,KAAK,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QAEvC,IAAI,CAAC,KAAK,GAAG,IAAI,cAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEQ,kBAAkB,CAAC,cAA8B;QACxD,KAAK,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;CACF;AApBD,wCAoBC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/utils.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/utils.d.ts
index 7e004d2..1d0cff4 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/utils.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/utils.d.ts
@@ -22,7 +22,7 @@
 /**
  * @internal
  */
-export declare function releaseReference(client: Realm, remoteReference: Bidi.CommonDataTypes.RemoteReference): Promise<void>;
+export declare function releaseReference(client: Realm, remoteReference: Bidi.Script.RemoteReference): Promise<void>;
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/utils.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/utils.d.ts.map
index 10234d9..9be193d 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/utils.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/utils.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAKnE,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAGjC;;GAEG;AACH,eAAO,MAAM,UAAU,8BAA2B,CAAC;AACnD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,KAAK,EACb,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,eAAe,GACpD,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,GACpC,OAAO,CAwCT"}
\ No newline at end of file
+{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAKnE,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAGjC;;GAEG;AACH,eAAO,MAAM,UAAU,8BAA2B,CAAC;AACnD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,KAAK,EACb,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,GAC3C,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,GACpC,OAAO,CAwCT"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/utils.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/utils.js.map
index c317cae..cb95f4d 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/utils.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/bidi/utils.js.map
@@ -1 +1 @@
-{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/common/bidi/utils.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH,0CAAkC;AAClC,wCAAwC;AAGxC,mDAA+C;AAE/C;;GAEG;AACU,QAAA,UAAU,GAAG,IAAA,gBAAK,EAAC,iBAAiB,CAAC,CAAC;AACnD;;GAEG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAAa,EACb,eAAqD;IAErD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;QAC3B,OAAO;KACR;IACD,MAAM,MAAM,CAAC,UAAU;SACpB,IAAI,CAAC,eAAe,EAAE;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;KAClC,CAAC;SACD,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;QACpB,sEAAsE;QACtE,iFAAiF;QACjF,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC;AAjBD,4CAiBC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CACnC,OAAqC;IAErC,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE;QACtC,OAAO,8BAAc,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACtD;IACD,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAElB,mDAAmD;IACnD,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,IAAI,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,eAAe,EAAE;QACnE,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE;YAC3D,IACE,sBAAY,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC;gBACtC,KAAK,CAAC,GAAG,KAAK,sBAAY,CAAC,YAAY,EACvC;gBACA,MAAM,GAAG,GAAG,sBAAY,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1C,UAAU,CAAC,OAAO,CAChB,UAAU,KAAK,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,KAC9C,GAAG,CAAC,YACN,OAAO,GAAG,CAAC,UAAU,iBAAiB,KAAK,CAAC,UAAU,IACpD,KAAK,CAAC,YACR,GAAG,CACJ,CAAC;aACH;iBAAM;gBACL,UAAU,CAAC,IAAI,CACb,UAAU,KAAK,CAAC,YAAY,IAAI,aAAa,KAAK,KAAK,CAAC,GAAG,IACzD,KAAK,CAAC,UACR,IAAI,KAAK,CAAC,YAAY,GAAG,CAC1B,CAAC;aACH;YACD,IAAI,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,eAAe,EAAE;gBAC9C,MAAM;aACP;SACF;KACF;IAED,KAAK,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC;AACf,CAAC;AA1CD,sDA0CC"}
\ No newline at end of file
+{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/common/bidi/utils.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH,0CAAkC;AAClC,wCAAwC;AAGxC,mDAA+C;AAE/C;;GAEG;AACU,QAAA,UAAU,GAAG,IAAA,gBAAK,EAAC,iBAAiB,CAAC,CAAC;AACnD;;GAEG;AACI,KAAK,UAAU,gBAAgB,CACpC,MAAa,EACb,eAA4C;IAE5C,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;QAC3B,OAAO;KACR;IACD,MAAM,MAAM,CAAC,UAAU;SACpB,IAAI,CAAC,eAAe,EAAE;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;KAClC,CAAC;SACD,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;QACpB,sEAAsE;QACtE,iFAAiF;QACjF,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC;AAjBD,4CAiBC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CACnC,OAAqC;IAErC,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE;QACtC,OAAO,8BAAc,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACtD;IACD,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAElB,mDAAmD;IACnD,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,IAAI,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,eAAe,EAAE;QACnE,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE;YAC3D,IACE,sBAAY,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC;gBACtC,KAAK,CAAC,GAAG,KAAK,sBAAY,CAAC,YAAY,EACvC;gBACA,MAAM,GAAG,GAAG,sBAAY,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1C,UAAU,CAAC,OAAO,CAChB,UAAU,KAAK,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,KAC9C,GAAG,CAAC,YACN,OAAO,GAAG,CAAC,UAAU,iBAAiB,KAAK,CAAC,UAAU,IACpD,KAAK,CAAC,YACR,GAAG,CACJ,CAAC;aACH;iBAAM;gBACL,UAAU,CAAC,IAAI,CACb,UAAU,KAAK,CAAC,YAAY,IAAI,aAAa,KAAK,KAAK,CAAC,GAAG,IACzD,KAAK,CAAC,UACR,IAAI,KAAK,CAAC,YAAY,GAAG,CAC1B,CAAC;aACH;YACD,IAAI,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,eAAe,EAAE;gBAC9C,MAAM;aACP;SACF;KACF;IAED,KAAK,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC;AACf,CAAC;AA1CD,sDA0CC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/types.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/types.d.ts
index d2b3c0f..3dd887e 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/types.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/types.d.ts
@@ -19,7 +19,7 @@
 /**
  * @internal
  */
-export type BindingPayload = {
+export interface BindingPayload {
     type: string;
     name: string;
     seq: number;
@@ -28,7 +28,7 @@
      * Determines whether the arguments of the payload are trivial.
      */
     isTrivial: boolean;
-};
+}
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/types.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/types.d.ts.map
index 5c9c8e1..7177a6a 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/types.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/types.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/common/types.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/common/types.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.d.ts
index d4fa33b..8d2042b 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.d.ts
@@ -150,4 +150,8 @@
  * @internal
  */
 export declare function getPageContent(): string;
+/**
+ * @internal
+ */
+export declare function validateDialogType(type: string): 'alert' | 'confirm' | 'prompt' | 'beforeunload';
 //# sourceMappingURL=util.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.d.ts.map
index 82db0d9..ac8b6b4 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/common/util.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/common/util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;;AAEH,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAGpC,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAG7C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAGhD,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAG5D;;GAEG;AACH,eAAO,MAAM,UAAU,8BAA2B,CAAC;AAEnD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,gBAAgB,GACzC,OAAO,CAsDT;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,gBAAgB,GACzC,OAAO,CAsCT;AA0BD;;GAEG;AACH,qBAAa,YAAY;;IACvB,MAAM,CAAC,YAAY,SAAmB;IAEtC,MAAM,CAAC,YAAY,CACjB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,CAAC,QAAQ,GACpB,YAAY;IAOf,MAAM,CAAC,KAAK,QAAS,MAAM,KAAG,YAAY,CAOxC;IAEF,MAAM,CAAC,cAAc,QAAS,MAAM,KAAG,OAAO,CAE5C;IAKF,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,QAAQ,IAAI,MAAM;CAMnB;AAED;;GAEG;AACH,eAAO,MAAM,4BAA4B,+BACzB,MAAM,iBAkBrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gCAAgC,+BAI1C,YAAY,GAAG,SAKjB,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,GAC1C,GAAG,CAuBL;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,GAC1C,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAChC,sBAAsB,CAGxB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACnC,CAAC,GACD,IAAI,CAKN;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAS,OAAO,kBAEpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAS,OAAO,kBAEpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,QAAS,OAAO,gCAEzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAS,OAAO,kBAEpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,QAAS,OAAO,gBAElC,CAAC;AAEF;;GAEG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,EACnD,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC,CAuBZ;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,GAC1C,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAKhC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,QAAQ,GAAG,MAAM,EACtB,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,MAAM,CAcR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CA4C/D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACrC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,CAAC,CAAC,CAOZ;AAMD;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAC/C,cAAc,aAAa,CAAC,CAC7B,CAcA;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuBxB;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,QAAQ,CAAC,CAiCnB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAC5B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAcvC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,GACX,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,cAAc,CAcjD"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.js
index 14ec78a..2246616 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.js
@@ -37,20 +37,8 @@
     __setModuleDefault(result, mod);
     return result;
 };
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _PuppeteerURL_functionName, _PuppeteerURL_siteString;
 Object.defineProperty(exports, "__esModule", { value: true });
-exports.getPageContent = exports.setPageContent = exports.getReadableFromProtocolStream = exports.getReadableAsBuffer = exports.importFSPromises = exports.waitWithTimeout = exports.pageBindingInitString = exports.addPageBinding = exports.evaluationString = exports.createJSHandle = exports.waitForEvent = exports.isDate = exports.isRegExp = exports.isPlainObject = exports.isNumber = exports.isString = exports.removeEventListeners = exports.addEventListener = exports.releaseObject = exports.valueFromRemoteObject = exports.getSourcePuppeteerURLIfAvailable = exports.withSourcePuppeteerURLIfNone = exports.PuppeteerURL = exports.createClientError = exports.createEvaluationError = exports.debugError = void 0;
+exports.validateDialogType = exports.getPageContent = exports.setPageContent = exports.getReadableFromProtocolStream = exports.getReadableAsBuffer = exports.importFSPromises = exports.waitWithTimeout = exports.pageBindingInitString = exports.addPageBinding = exports.evaluationString = exports.createJSHandle = exports.waitForEvent = exports.isDate = exports.isRegExp = exports.isPlainObject = exports.isNumber = exports.isString = exports.removeEventListeners = exports.addEventListener = exports.releaseObject = exports.valueFromRemoteObject = exports.getSourcePuppeteerURLIfAvailable = exports.withSourcePuppeteerURLIfNone = exports.PuppeteerURL = exports.createClientError = exports.createEvaluationError = exports.debugError = void 0;
 const environment_js_1 = require("../environment.js");
 const assert_js_1 = require("../util/assert.js");
 const Deferred_js_1 = require("../util/Deferred.js");
@@ -168,43 +156,40 @@
  * @internal
  */
 class PuppeteerURL {
-    constructor() {
-        _PuppeteerURL_functionName.set(this, void 0);
-        _PuppeteerURL_siteString.set(this, void 0);
-    }
+    static INTERNAL_URL = 'pptr:internal';
     static fromCallSite(functionName, site) {
         const url = new PuppeteerURL();
-        __classPrivateFieldSet(url, _PuppeteerURL_functionName, functionName, "f");
-        __classPrivateFieldSet(url, _PuppeteerURL_siteString, site.toString(), "f");
+        url.#functionName = functionName;
+        url.#siteString = site.toString();
         return url;
     }
+    static parse = (url) => {
+        url = url.slice('pptr:'.length);
+        const [functionName = '', siteString = ''] = url.split(';');
+        const puppeteerUrl = new PuppeteerURL();
+        puppeteerUrl.#functionName = functionName;
+        puppeteerUrl.#siteString = decodeURIComponent(siteString);
+        return puppeteerUrl;
+    };
+    static isPuppeteerURL = (url) => {
+        return url.startsWith('pptr:');
+    };
+    #functionName;
+    #siteString;
     get functionName() {
-        return __classPrivateFieldGet(this, _PuppeteerURL_functionName, "f");
+        return this.#functionName;
     }
     get siteString() {
-        return __classPrivateFieldGet(this, _PuppeteerURL_siteString, "f");
+        return this.#siteString;
     }
     toString() {
         return `pptr:${[
-            __classPrivateFieldGet(this, _PuppeteerURL_functionName, "f"),
-            encodeURIComponent(__classPrivateFieldGet(this, _PuppeteerURL_siteString, "f")),
+            this.#functionName,
+            encodeURIComponent(this.#siteString),
         ].join(';')}`;
     }
 }
 exports.PuppeteerURL = PuppeteerURL;
-_PuppeteerURL_functionName = new WeakMap(), _PuppeteerURL_siteString = new WeakMap();
-PuppeteerURL.INTERNAL_URL = 'pptr:internal';
-PuppeteerURL.parse = (url) => {
-    url = url.slice('pptr:'.length);
-    const [functionName = '', siteString = ''] = url.split(';');
-    const puppeteerUrl = new PuppeteerURL();
-    __classPrivateFieldSet(puppeteerUrl, _PuppeteerURL_functionName, functionName, "f");
-    __classPrivateFieldSet(puppeteerUrl, _PuppeteerURL_siteString, decodeURIComponent(siteString), "f");
-    return puppeteerUrl;
-};
-PuppeteerURL.isPuppeteerURL = (url) => {
-    return url.startsWith('pptr:');
-};
 /**
  * @internal
  */
@@ -344,16 +329,19 @@
             deferred.resolve(event);
         }
     });
-    return Deferred_js_1.Deferred.race([deferred, abortPromise]).then(r => {
-        removeEventListeners([listener]);
-        if ((0, ErrorLike_js_1.isErrorLike)(r)) {
-            throw r;
+    try {
+        const response = await Deferred_js_1.Deferred.race([deferred, abortPromise]);
+        if ((0, ErrorLike_js_1.isErrorLike)(response)) {
+            throw response;
         }
-        return r;
-    }, error => {
-        removeEventListeners([listener]);
+        return response;
+    }
+    catch (error) {
         throw error;
-    });
+    }
+    finally {
+        removeEventListeners([listener]);
+    }
 }
 exports.waitForEvent = waitForEvent;
 /**
@@ -564,4 +552,22 @@
     return content;
 }
 exports.getPageContent = getPageContent;
+/**
+ * @internal
+ */
+function validateDialogType(type) {
+    let dialogType = null;
+    const validDialogTypes = new Set([
+        'alert',
+        'confirm',
+        'prompt',
+        'beforeunload',
+    ]);
+    if (validDialogTypes.has(type)) {
+        dialogType = type;
+    }
+    (0, assert_js_1.assert)(dialogType, `Unknown javascript dialog type: ${type}`);
+    return dialogType;
+}
+exports.validateDialogType = validateDialogType;
 //# sourceMappingURL=util.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.js.map
index 9367483..a57849e 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/common/util.js.map
@@ -1 +1 @@
-{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/common/util.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/common/util.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/injected.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/injected.d.ts
index 2581483..22ce150 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/injected.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/injected.d.ts
@@ -5,5 +5,5 @@
  *
  * @internal
  */
-export declare const source = "\"use strict\";var C=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var se=Object.prototype.hasOwnProperty;var f=(t,e)=>{for(var n in e)C(t,n,{get:e[n],enumerable:!0})},ie=(t,e,n,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of oe(e))!se.call(t,o)&&o!==n&&C(t,o,{get:()=>e[o],enumerable:!(r=ne(e,o))||r.enumerable});return t};var le=t=>ie(C({},\"__esModule\",{value:!0}),t);var Oe={};f(Oe,{default:()=>Re});module.exports=le(Oe);var T=class extends Error{constructor(e){super(e),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor)}},S=class extends T{},I=class extends T{#e;#t=\"\";set code(e){this.#e=e}get code(){return this.#e}set originalMessage(e){this.#t=e}get originalMessage(){return this.#t}};var qe=Object.freeze({TimeoutError:S,ProtocolError:I});var a=class{#e=!1;#t=!1;#n;#r=()=>{};#o=new Promise(e=>{this.#r=e});#s;constructor(e){this.#s=e&&e.timeout>0?setTimeout(()=>{this.reject(new S(e.message))},e.timeout):void 0}#i(e){clearTimeout(this.#s),this.#n=e,this.#r()}resolve(e){this.#t||this.#e||(this.#e=!0,this.#i(e))}reject(e){this.#t||this.#e||(this.#t=!0,this.#i(e))}resolved(){return this.#e}finished(){return this.#e||this.#t}value(){return this.#n}async valueOrThrow(){if(await this.#o,this.#t)throw this.#n;return this.#n}static create(e){return new a(e)}static async race(e){let n=new Set;try{let r=e.map(o=>o instanceof a?(o.#s&&n.add(o),o.valueOrThrow()):o);return await Promise.race(r)}finally{for(let r of n)r.reject(new Error(\"Timeout cleared\"))}}};var G=new Map,X=t=>{let e=G.get(t);return e||(e=new Function(`return ${t}`)(),G.set(t,e),e)};var R={};f(R,{ariaQuerySelector:()=>ae,ariaQuerySelectorAll:()=>k});var ae=(t,e)=>window.__ariaQuerySelector(t,e),k=async function*(t,e){yield*await window.__ariaQuerySelectorAll(t,e)};var q={};f(q,{customQuerySelectors:()=>M});var O=class{#e=new Map;register(e,n){if(!n.queryOne&&n.queryAll){let r=n.queryAll;n.queryOne=(o,i)=>{for(let s of r(o,i))return s;return null}}else if(n.queryOne&&!n.queryAll){let r=n.queryOne;n.queryAll=(o,i)=>{let s=r(o,i);return s?[s]:[]}}else if(!n.queryOne||!n.queryAll)throw new Error(\"At least one query method must be defined.\");this.#e.set(e,{querySelector:n.queryOne,querySelectorAll:n.queryAll})}unregister(e){this.#e.delete(e)}get(e){return this.#e.get(e)}clear(){this.#e.clear()}},M=new O;var _={};f(_,{pierceQuerySelector:()=>ce,pierceQuerySelectorAll:()=>ue});var ce=(t,e)=>{let n=null,r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&!n&&s.matches(e)&&(n=s)}while(!n&&i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n},ue=(t,e)=>{let n=[],r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&s.matches(e)&&n.push(s)}while(i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n};var m=(t,e)=>{if(!t)throw new Error(e)};var P=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=a.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=new MutationObserver(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())}),this.#n.observe(this.#t,{childList:!0,subtree:!0,attributes:!0})}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(this.#n.disconnect(),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}},E=class{#e;#t;constructor(e){this.#e=e}async start(){let e=this.#t=a.create(),n=await this.#e();if(n){e.resolve(n);return}let r=async()=>{if(e.finished())return;let o=await this.#e();if(!o){window.requestAnimationFrame(r);return}e.resolve(o),await this.stop()};window.requestAnimationFrame(r)}async stop(){m(this.#t,\"Polling never started.\"),this.#t.finished()||this.#t.reject(new Error(\"Polling stopped\"))}result(){return m(this.#t,\"Polling never started.\"),this.#t.valueOrThrow()}},x=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=a.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=setInterval(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())},this.#t)}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(clearInterval(this.#n),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}};var H={};f(H,{pQuerySelector:()=>Ie,pQuerySelectorAll:()=>re});var u=class{static async*map(e,n){for await(let r of e)yield await n(r)}static async*flatMap(e,n){for await(let r of e)yield*n(r)}static async collect(e){let n=[];for await(let r of e)n.push(r);return n}static async first(e){for await(let n of e)return n}};var p={attribute:/\\[\\s*(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)\\s*(?:(?<operator>\\W?=)\\s*(?<value>.+?)\\s*(\\s(?<caseSensitive>[iIsS]))?\\s*)?\\]/gu,id:/#(?<name>[-\\w\\P{ASCII}]+)/gu,class:/\\.(?<name>[-\\w\\P{ASCII}]+)/gu,comma:/\\s*,\\s*/g,combinator:/\\s*[\\s>+~]\\s*/g,\"pseudo-element\":/::(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>\u00B6+)\\))?/gu,\"pseudo-class\":/:(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>\u00B6+)\\))?/gu,universal:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?\\*/gu,type:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)/gu},fe=new Set([\"combinator\",\"comma\"]);var de=t=>{switch(t){case\"pseudo-element\":case\"pseudo-class\":return new RegExp(p[t].source.replace(\"(?<argument>\\xB6+)\",\"(?<argument>.+)\"),\"gu\");default:return p[t]}};function me(t,e){let n=0,r=\"\";for(;e<t.length;e++){let o=t[e];switch(o){case\"(\":++n;break;case\")\":--n;break}if(r+=o,n===0)return r}return r}function he(t,e=p){if(!t)return[];let n=[t];for(let[o,i]of Object.entries(e))for(let s=0;s<n.length;s++){let l=n[s];if(typeof l!=\"string\")continue;i.lastIndex=0;let c=i.exec(l);if(!c)continue;let h=c.index-1,d=[],V=c[0],B=l.slice(0,h+1);B&&d.push(B),d.push({...c.groups,type:o,content:V});let z=l.slice(h+V.length+1);z&&d.push(z),n.splice(s,1,...d)}let r=0;for(let o of n)switch(typeof o){case\"string\":throw new Error(`Unexpected sequence ${o} found at index ${r}`);case\"object\":r+=o.content.length,o.pos=[r-o.content.length,r],fe.has(o.type)&&(o.content=o.content.trim()||\" \");break}return n}var pe=/(['\"])([^\\\\\\n]+?)\\1/g,ye=/\\\\./g;function K(t,e=p){if(t=t.trim(),t===\"\")return[];let n=[];t=t.replace(ye,(i,s)=>(n.push({value:i,offset:s}),\"\\uE000\".repeat(i.length))),t=t.replace(pe,(i,s,l,c)=>(n.push({value:i,offset:c}),`${s}${\"\\uE001\".repeat(l.length)}${s}`));{let i=0,s;for(;(s=t.indexOf(\"(\",i))>-1;){let l=me(t,s);n.push({value:l,offset:s}),t=`${t.substring(0,s)}(${\"\\xB6\".repeat(l.length-2)})${t.substring(s+l.length)}`,i=s+l.length}}let r=he(t,e),o=new Set;for(let i of n.reverse())for(let s of r){let{offset:l,value:c}=i;if(!(s.pos[0]<=l&&l+c.length<=s.pos[1]))continue;let{content:h}=s,d=l-s.pos[0];s.content=h.slice(0,d)+c+h.slice(d+c.length),s.content!==h&&o.add(s)}for(let i of o){let s=de(i.type);if(!s)throw new Error(`Unknown token type: ${i.type}`);s.lastIndex=0;let l=s.exec(i.content);if(!l)throw new Error(`Unable to parse content for ${i.type}: ${i.content}`);Object.assign(i,l.groups)}return r}function*N(t,e){switch(t.type){case\"list\":for(let n of t.list)yield*N(n,t);break;case\"complex\":yield*N(t.left,t),yield*N(t.right,t);break;case\"compound\":yield*t.list.map(n=>[n,t]);break;default:yield[t,e]}}function y(t){let e;return Array.isArray(t)?e=t:e=[...N(t)].map(([n])=>n),e.map(n=>n.content).join(\"\")}p.combinator=/\\s*(>>>>?|[\\s>+~])\\s*/g;var ge=/\\\\[\\s\\S]/g,we=t=>t.length<=1?t:((t[0]==='\"'||t[0]===\"'\")&&t.endsWith(t[0])&&(t=t.slice(1,-1)),t.replace(ge,e=>e[1]));function Y(t){let e=!0,n=K(t);if(n.length===0)return[[],e];let r=[],o=[r],i=[o],s=[];for(let l of n){switch(l.type){case\"combinator\":switch(l.content){case\">>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>\"),o.push(r);continue;case\">>>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>>\"),o.push(r);continue}break;case\"pseudo-element\":if(!l.name.startsWith(\"-p-\"))break;e=!1,s.length&&(r.push(y(s)),s.splice(0)),r.push({name:l.name.slice(3),value:we(l.argument??\"\")});continue;case\"comma\":s.length&&(r.push(y(s)),s.splice(0)),r=[],o=[r],i.push(o);continue}s.push(l)}return s.length&&r.push(y(s)),[i,e]}var Q={};f(Q,{textQuerySelectorAll:()=>b});var Se=new Set([\"checkbox\",\"image\",\"radio\"]),be=t=>t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&!Se.has(t.type),Te=new Set([\"SCRIPT\",\"STYLE\"]),w=t=>!Te.has(t.nodeName)&&!document.head?.contains(t),D=new WeakMap,Z=t=>{for(;t;)D.delete(t),t instanceof ShadowRoot?t=t.host:t=t.parentNode},J=new WeakSet,Pe=new MutationObserver(t=>{for(let e of t)Z(e.target)}),g=t=>{let e=D.get(t);if(e||(e={full:\"\",immediate:[]},!w(t)))return e;let n=\"\";if(be(t))e.full=t.value,e.immediate.push(t.value),t.addEventListener(\"input\",r=>{Z(r.target)},{once:!0,capture:!0});else{for(let r=t.firstChild;r;r=r.nextSibling){if(r.nodeType===Node.TEXT_NODE){e.full+=r.nodeValue??\"\",n+=r.nodeValue??\"\";continue}n&&e.immediate.push(n),n=\"\",r.nodeType===Node.ELEMENT_NODE&&(e.full+=g(r).full)}n&&e.immediate.push(n),t instanceof Element&&t.shadowRoot&&(e.full+=g(t.shadowRoot).full),J.has(t)||(Pe.observe(t,{childList:!0,characterData:!0}),J.add(t))}return D.set(t,e),e};var b=function*(t,e){let n=!1;for(let r of t.childNodes)if(r instanceof Element&&w(r)){let o;r.shadowRoot?o=b(r.shadowRoot,e):o=b(r,e);for(let i of o)yield i,n=!0}n||t instanceof Element&&w(t)&&g(t).full.includes(e)&&(yield t)};var $={};f($,{checkVisibility:()=>xe,pierce:()=>A,pierceAll:()=>L});var Ee=[\"hidden\",\"collapse\"],xe=(t,e)=>{if(!t)return e===!1;if(e===void 0)return t;let n=t.nodeType===Node.TEXT_NODE?t.parentElement:t,r=window.getComputedStyle(n),o=r&&!Ee.includes(r.visibility)&&!Ne(n);return e===o?t:!1};function Ne(t){let e=t.getBoundingClientRect();return e.width===0||e.height===0}var Ae=t=>\"shadowRoot\"in t&&t.shadowRoot instanceof ShadowRoot;function*A(t){Ae(t)?yield t.shadowRoot:yield t}function*L(t){t=A(t).next().value,yield t;let e=[document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT)];for(let n of e){let r;for(;r=n.nextNode();)r.shadowRoot&&(yield r.shadowRoot,e.push(document.createTreeWalker(r.shadowRoot,NodeFilter.SHOW_ELEMENT)))}}var j={};f(j,{xpathQuerySelectorAll:()=>U});var U=function*(t,e){let r=(t.ownerDocument||document).evaluate(e,t,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE),o;for(;o=r.iterateNext();)yield o};var ve=/[-\\w\\P{ASCII}*]/,ee=t=>\"querySelectorAll\"in t,v=class extends Error{constructor(e,n){super(`${e} is not a valid selector: ${n}`)}},F=class{#e;#t;#n=[];#r=void 0;elements;constructor(e,n,r){this.elements=[e],this.#e=n,this.#t=r,this.#o()}async run(){if(typeof this.#r==\"string\")switch(this.#r.trimStart()){case\":scope\":this.#o();break}for(;this.#r!==void 0;this.#o()){let e=this.#r,n=this.#e;typeof e==\"string\"?e[0]&&ve.test(e[0])?this.elements=u.flatMap(this.elements,async function*(r){ee(r)&&(yield*r.querySelectorAll(e))}):this.elements=u.flatMap(this.elements,async function*(r){if(!r.parentElement){if(!ee(r))return;yield*r.querySelectorAll(e);return}let o=0;for(let i of r.parentElement.children)if(++o,i===r)break;yield*r.parentElement.querySelectorAll(`:scope>:nth-child(${o})${e}`)}):this.elements=u.flatMap(this.elements,async function*(r){switch(e.name){case\"text\":yield*b(r,e.value);break;case\"xpath\":yield*U(r,e.value);break;case\"aria\":yield*k(r,e.value);break;default:let o=M.get(e.name);if(!o)throw new v(n,`Unknown selector type: ${e.name}`);yield*o.querySelectorAll(r,e.value)}})}}#o(){if(this.#n.length!==0){this.#r=this.#n.shift();return}if(this.#t.length===0){this.#r=void 0;return}let e=this.#t.shift();switch(e){case\">>>>\":{this.elements=u.flatMap(this.elements,A),this.#o();break}case\">>>\":{this.elements=u.flatMap(this.elements,L),this.#o();break}default:this.#n=e,this.#o();break}}},W=class{#e=new WeakMap;calculate(e,n=[]){if(e===null)return n;e instanceof ShadowRoot&&(e=e.host);let r=this.#e.get(e);if(r)return[...r,...n];let o=0;for(let s=e.previousSibling;s;s=s.previousSibling)++o;let i=this.calculate(e.parentNode,[o]);return this.#e.set(e,i),[...i,...n]}},te=(t,e)=>{if(t.length+e.length===0)return 0;let[n=-1,...r]=t,[o=-1,...i]=e;return n===o?te(r,i):n<o?-1:1},Ce=async function*(t){let e=new Set;for await(let r of t)e.add(r);let n=new W;yield*[...e.values()].map(r=>[r,n.calculate(r)]).sort(([,r],[,o])=>te(r,o)).map(([r])=>r)},re=function(t,e){let n,r;try{[n,r]=Y(e)}catch{return t.querySelectorAll(e)}if(r)return t.querySelectorAll(e);if(n.some(o=>{let i=0;return o.some(s=>(typeof s==\"string\"?++i:i=0,i>1))}))throw new v(e,\"Multiple deep combinators found in sequence.\");return Ce(u.flatMap(n,o=>{let i=new F(t,e,o);return i.run(),i.elements}))},Ie=async function(t,e){for await(let n of re(t,e))return n;return null};var ke=Object.freeze({...R,...q,..._,...H,...Q,...$,...j,Deferred:a,createFunction:X,createTextContent:g,IntervalPoller:x,isSuitableNodeForTextMatching:w,MutationPoller:P,RAFPoller:E}),Re=ke;\n";
+export declare const source = "\"use strict\";var C=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var se=Object.prototype.hasOwnProperty;var u=(t,e)=>{for(var n in e)C(t,n,{get:e[n],enumerable:!0})},ie=(t,e,n,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of oe(e))!se.call(t,o)&&o!==n&&C(t,o,{get:()=>e[o],enumerable:!(r=ne(e,o))||r.enumerable});return t};var le=t=>ie(C({},\"__esModule\",{value:!0}),t);var Oe={};u(Oe,{default:()=>Re});module.exports=le(Oe);var T=class extends Error{constructor(e){super(e),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor)}},S=class extends T{},I=class extends T{#e;#t=\"\";set code(e){this.#e=e}get code(){return this.#e}set originalMessage(e){this.#t=e}get originalMessage(){return this.#t}};var qe=Object.freeze({TimeoutError:S,ProtocolError:I});var f=class t{#e=!1;#t=!1;#n;#r=()=>{};#o=new Promise(e=>{this.#r=e});#s;constructor(e){this.#s=e&&e.timeout>0?setTimeout(()=>{this.reject(new S(e.message))},e.timeout):void 0}#i(e){clearTimeout(this.#s),this.#n=e,this.#r()}resolve(e){this.#t||this.#e||(this.#e=!0,this.#i(e))}reject(e){this.#t||this.#e||(this.#t=!0,this.#i(e))}resolved(){return this.#e}finished(){return this.#e||this.#t}value(){return this.#n}async valueOrThrow(){if(await this.#o,this.#t)throw this.#n;return this.#n}static create(e){return new t(e)}static async race(e){let n=new Set;try{let r=e.map(o=>o instanceof t?(o.#s&&n.add(o),o.valueOrThrow()):o);return await Promise.race(r)}finally{for(let r of n)r.reject(new Error(\"Timeout cleared\"))}}};var G=new Map,X=t=>{let e=G.get(t);return e||(e=new Function(`return ${t}`)(),G.set(t,e),e)};var R={};u(R,{ariaQuerySelector:()=>ae,ariaQuerySelectorAll:()=>k});var ae=(t,e)=>window.__ariaQuerySelector(t,e),k=async function*(t,e){yield*await window.__ariaQuerySelectorAll(t,e)};var q={};u(q,{customQuerySelectors:()=>M});var O=class{#e=new Map;register(e,n){if(!n.queryOne&&n.queryAll){let r=n.queryAll;n.queryOne=(o,i)=>{for(let s of r(o,i))return s;return null}}else if(n.queryOne&&!n.queryAll){let r=n.queryOne;n.queryAll=(o,i)=>{let s=r(o,i);return s?[s]:[]}}else if(!n.queryOne||!n.queryAll)throw new Error(\"At least one query method must be defined.\");this.#e.set(e,{querySelector:n.queryOne,querySelectorAll:n.queryAll})}unregister(e){this.#e.delete(e)}get(e){return this.#e.get(e)}clear(){this.#e.clear()}},M=new O;var D={};u(D,{pierceQuerySelector:()=>ce,pierceQuerySelectorAll:()=>ue});var ce=(t,e)=>{let n=null,r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&!n&&s.matches(e)&&(n=s)}while(!n&&i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n},ue=(t,e)=>{let n=[],r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&s.matches(e)&&n.push(s)}while(i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n};var m=(t,e)=>{if(!t)throw new Error(e)};var P=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=f.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=new MutationObserver(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())}),this.#n.observe(this.#t,{childList:!0,subtree:!0,attributes:!0})}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(this.#n.disconnect(),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}},E=class{#e;#t;constructor(e){this.#e=e}async start(){let e=this.#t=f.create(),n=await this.#e();if(n){e.resolve(n);return}let r=async()=>{if(e.finished())return;let o=await this.#e();if(!o){window.requestAnimationFrame(r);return}e.resolve(o),await this.stop()};window.requestAnimationFrame(r)}async stop(){m(this.#t,\"Polling never started.\"),this.#t.finished()||this.#t.reject(new Error(\"Polling stopped\"))}result(){return m(this.#t,\"Polling never started.\"),this.#t.valueOrThrow()}},x=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=f.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=setInterval(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())},this.#t)}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(clearInterval(this.#n),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}};var H={};u(H,{pQuerySelector:()=>Ie,pQuerySelectorAll:()=>re});var c=class{static async*map(e,n){for await(let r of e)yield await n(r)}static async*flatMap(e,n){for await(let r of e)yield*n(r)}static async collect(e){let n=[];for await(let r of e)n.push(r);return n}static async first(e){for await(let n of e)return n}};var p={attribute:/\\[\\s*(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)\\s*(?:(?<operator>\\W?=)\\s*(?<value>.+?)\\s*(\\s(?<caseSensitive>[iIsS]))?\\s*)?\\]/gu,id:/#(?<name>[-\\w\\P{ASCII}]+)/gu,class:/\\.(?<name>[-\\w\\P{ASCII}]+)/gu,comma:/\\s*,\\s*/g,combinator:/\\s*[\\s>+~]\\s*/g,\"pseudo-element\":/::(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>\u00B6+)\\))?/gu,\"pseudo-class\":/:(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>\u00B6+)\\))?/gu,universal:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?\\*/gu,type:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)/gu},fe=new Set([\"combinator\",\"comma\"]);var de=t=>{switch(t){case\"pseudo-element\":case\"pseudo-class\":return new RegExp(p[t].source.replace(\"(?<argument>\\xB6+)\",\"(?<argument>.+)\"),\"gu\");default:return p[t]}};function me(t,e){let n=0,r=\"\";for(;e<t.length;e++){let o=t[e];switch(o){case\"(\":++n;break;case\")\":--n;break}if(r+=o,n===0)return r}return r}function he(t,e=p){if(!t)return[];let n=[t];for(let[o,i]of Object.entries(e))for(let s=0;s<n.length;s++){let l=n[s];if(typeof l!=\"string\")continue;i.lastIndex=0;let a=i.exec(l);if(!a)continue;let h=a.index-1,d=[],V=a[0],B=l.slice(0,h+1);B&&d.push(B),d.push({...a.groups,type:o,content:V});let z=l.slice(h+V.length+1);z&&d.push(z),n.splice(s,1,...d)}let r=0;for(let o of n)switch(typeof o){case\"string\":throw new Error(`Unexpected sequence ${o} found at index ${r}`);case\"object\":r+=o.content.length,o.pos=[r-o.content.length,r],fe.has(o.type)&&(o.content=o.content.trim()||\" \");break}return n}var pe=/(['\"])([^\\\\\\n]+?)\\1/g,ye=/\\\\./g;function K(t,e=p){if(t=t.trim(),t===\"\")return[];let n=[];t=t.replace(ye,(i,s)=>(n.push({value:i,offset:s}),\"\\uE000\".repeat(i.length))),t=t.replace(pe,(i,s,l,a)=>(n.push({value:i,offset:a}),`${s}${\"\\uE001\".repeat(l.length)}${s}`));{let i=0,s;for(;(s=t.indexOf(\"(\",i))>-1;){let l=me(t,s);n.push({value:l,offset:s}),t=`${t.substring(0,s)}(${\"\\xB6\".repeat(l.length-2)})${t.substring(s+l.length)}`,i=s+l.length}}let r=he(t,e),o=new Set;for(let i of n.reverse())for(let s of r){let{offset:l,value:a}=i;if(!(s.pos[0]<=l&&l+a.length<=s.pos[1]))continue;let{content:h}=s,d=l-s.pos[0];s.content=h.slice(0,d)+a+h.slice(d+a.length),s.content!==h&&o.add(s)}for(let i of o){let s=de(i.type);if(!s)throw new Error(`Unknown token type: ${i.type}`);s.lastIndex=0;let l=s.exec(i.content);if(!l)throw new Error(`Unable to parse content for ${i.type}: ${i.content}`);Object.assign(i,l.groups)}return r}function*N(t,e){switch(t.type){case\"list\":for(let n of t.list)yield*N(n,t);break;case\"complex\":yield*N(t.left,t),yield*N(t.right,t);break;case\"compound\":yield*t.list.map(n=>[n,t]);break;default:yield[t,e]}}function y(t){let e;return Array.isArray(t)?e=t:e=[...N(t)].map(([n])=>n),e.map(n=>n.content).join(\"\")}p.combinator=/\\s*(>>>>?|[\\s>+~])\\s*/g;var ge=/\\\\[\\s\\S]/g,we=t=>t.length<=1?t:((t[0]==='\"'||t[0]===\"'\")&&t.endsWith(t[0])&&(t=t.slice(1,-1)),t.replace(ge,e=>e[1]));function Y(t){let e=!0,n=K(t);if(n.length===0)return[[],e];let r=[],o=[r],i=[o],s=[];for(let l of n){switch(l.type){case\"combinator\":switch(l.content){case\">>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>\"),o.push(r);continue;case\">>>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>>\"),o.push(r);continue}break;case\"pseudo-element\":if(!l.name.startsWith(\"-p-\"))break;e=!1,s.length&&(r.push(y(s)),s.splice(0)),r.push({name:l.name.slice(3),value:we(l.argument??\"\")});continue;case\"comma\":s.length&&(r.push(y(s)),s.splice(0)),r=[],o=[r],i.push(o);continue}s.push(l)}return s.length&&r.push(y(s)),[i,e]}var Q={};u(Q,{textQuerySelectorAll:()=>b});var Se=new Set([\"checkbox\",\"image\",\"radio\"]),be=t=>t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&!Se.has(t.type),Te=new Set([\"SCRIPT\",\"STYLE\"]),w=t=>!Te.has(t.nodeName)&&!document.head?.contains(t),_=new WeakMap,Z=t=>{for(;t;)_.delete(t),t instanceof ShadowRoot?t=t.host:t=t.parentNode},J=new WeakSet,Pe=new MutationObserver(t=>{for(let e of t)Z(e.target)}),g=t=>{let e=_.get(t);if(e||(e={full:\"\",immediate:[]},!w(t)))return e;let n=\"\";if(be(t))e.full=t.value,e.immediate.push(t.value),t.addEventListener(\"input\",r=>{Z(r.target)},{once:!0,capture:!0});else{for(let r=t.firstChild;r;r=r.nextSibling){if(r.nodeType===Node.TEXT_NODE){e.full+=r.nodeValue??\"\",n+=r.nodeValue??\"\";continue}n&&e.immediate.push(n),n=\"\",r.nodeType===Node.ELEMENT_NODE&&(e.full+=g(r).full)}n&&e.immediate.push(n),t instanceof Element&&t.shadowRoot&&(e.full+=g(t.shadowRoot).full),J.has(t)||(Pe.observe(t,{childList:!0,characterData:!0}),J.add(t))}return _.set(t,e),e};var b=function*(t,e){let n=!1;for(let r of t.childNodes)if(r instanceof Element&&w(r)){let o;r.shadowRoot?o=b(r.shadowRoot,e):o=b(r,e);for(let i of o)yield i,n=!0}n||t instanceof Element&&w(t)&&g(t).full.includes(e)&&(yield t)};var $={};u($,{checkVisibility:()=>xe,pierce:()=>A,pierceAll:()=>L});var Ee=[\"hidden\",\"collapse\"],xe=(t,e)=>{if(!t)return e===!1;if(e===void 0)return t;let n=t.nodeType===Node.TEXT_NODE?t.parentElement:t,r=window.getComputedStyle(n),o=r&&!Ee.includes(r.visibility)&&!Ne(n);return e===o?t:!1};function Ne(t){let e=t.getBoundingClientRect();return e.width===0||e.height===0}var Ae=t=>\"shadowRoot\"in t&&t.shadowRoot instanceof ShadowRoot;function*A(t){Ae(t)?yield t.shadowRoot:yield t}function*L(t){t=A(t).next().value,yield t;let e=[document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT)];for(let n of e){let r;for(;r=n.nextNode();)r.shadowRoot&&(yield r.shadowRoot,e.push(document.createTreeWalker(r.shadowRoot,NodeFilter.SHOW_ELEMENT)))}}var j={};u(j,{xpathQuerySelectorAll:()=>U});var U=function*(t,e){let r=(t.ownerDocument||document).evaluate(e,t,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE),o;for(;o=r.iterateNext();)yield o};var ve=/[-\\w\\P{ASCII}*]/,ee=t=>\"querySelectorAll\"in t,v=class extends Error{constructor(e,n){super(`${e} is not a valid selector: ${n}`)}},F=class{#e;#t;#n=[];#r=void 0;elements;constructor(e,n,r){this.elements=[e],this.#e=n,this.#t=r,this.#o()}async run(){if(typeof this.#r==\"string\")switch(this.#r.trimStart()){case\":scope\":this.#o();break}for(;this.#r!==void 0;this.#o()){let e=this.#r,n=this.#e;typeof e==\"string\"?e[0]&&ve.test(e[0])?this.elements=c.flatMap(this.elements,async function*(r){ee(r)&&(yield*r.querySelectorAll(e))}):this.elements=c.flatMap(this.elements,async function*(r){if(!r.parentElement){if(!ee(r))return;yield*r.querySelectorAll(e);return}let o=0;for(let i of r.parentElement.children)if(++o,i===r)break;yield*r.parentElement.querySelectorAll(`:scope>:nth-child(${o})${e}`)}):this.elements=c.flatMap(this.elements,async function*(r){switch(e.name){case\"text\":yield*b(r,e.value);break;case\"xpath\":yield*U(r,e.value);break;case\"aria\":yield*k(r,e.value);break;default:let o=M.get(e.name);if(!o)throw new v(n,`Unknown selector type: ${e.name}`);yield*o.querySelectorAll(r,e.value)}})}}#o(){if(this.#n.length!==0){this.#r=this.#n.shift();return}if(this.#t.length===0){this.#r=void 0;return}let e=this.#t.shift();switch(e){case\">>>>\":{this.elements=c.flatMap(this.elements,A),this.#o();break}case\">>>\":{this.elements=c.flatMap(this.elements,L),this.#o();break}default:this.#n=e,this.#o();break}}},W=class{#e=new WeakMap;calculate(e,n=[]){if(e===null)return n;e instanceof ShadowRoot&&(e=e.host);let r=this.#e.get(e);if(r)return[...r,...n];let o=0;for(let s=e.previousSibling;s;s=s.previousSibling)++o;let i=this.calculate(e.parentNode,[o]);return this.#e.set(e,i),[...i,...n]}},te=(t,e)=>{if(t.length+e.length===0)return 0;let[n=-1,...r]=t,[o=-1,...i]=e;return n===o?te(r,i):n<o?-1:1},Ce=async function*(t){let e=new Set;for await(let r of t)e.add(r);let n=new W;yield*[...e.values()].map(r=>[r,n.calculate(r)]).sort(([,r],[,o])=>te(r,o)).map(([r])=>r)},re=function(t,e){let n,r;try{[n,r]=Y(e)}catch{return t.querySelectorAll(e)}if(r)return t.querySelectorAll(e);if(n.some(o=>{let i=0;return o.some(s=>(typeof s==\"string\"?++i:i=0,i>1))}))throw new v(e,\"Multiple deep combinators found in sequence.\");return Ce(c.flatMap(n,o=>{let i=new F(t,e,o);return i.run(),i.elements}))},Ie=async function(t,e){for await(let n of re(t,e))return n;return null};var ke=Object.freeze({...R,...q,...D,...H,...Q,...$,...j,Deferred:f,createFunction:X,createTextContent:g,IntervalPoller:x,isSuitableNodeForTextMatching:w,MutationPoller:P,RAFPoller:E}),Re=ke;\n";
 //# sourceMappingURL=injected.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/injected.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/injected.d.ts.map
index 537705e..92f127e7 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/injected.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/injected.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"injected.d.ts","sourceRoot":"","sources":["../../../../src/generated/injected.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,skaAA4ja,CAAC"}
\ No newline at end of file
+{"version":3,"file":"injected.d.ts","sourceRoot":"","sources":["../../../../src/generated/injected.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,wkaAA8ja,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/injected.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/injected.js
index d8ccd93..5b34ee5 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/injected.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/injected.js
@@ -8,5 +8,5 @@
  *
  * @internal
  */
-exports.source = "\"use strict\";var C=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var se=Object.prototype.hasOwnProperty;var f=(t,e)=>{for(var n in e)C(t,n,{get:e[n],enumerable:!0})},ie=(t,e,n,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of oe(e))!se.call(t,o)&&o!==n&&C(t,o,{get:()=>e[o],enumerable:!(r=ne(e,o))||r.enumerable});return t};var le=t=>ie(C({},\"__esModule\",{value:!0}),t);var Oe={};f(Oe,{default:()=>Re});module.exports=le(Oe);var T=class extends Error{constructor(e){super(e),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor)}},S=class extends T{},I=class extends T{#e;#t=\"\";set code(e){this.#e=e}get code(){return this.#e}set originalMessage(e){this.#t=e}get originalMessage(){return this.#t}};var qe=Object.freeze({TimeoutError:S,ProtocolError:I});var a=class{#e=!1;#t=!1;#n;#r=()=>{};#o=new Promise(e=>{this.#r=e});#s;constructor(e){this.#s=e&&e.timeout>0?setTimeout(()=>{this.reject(new S(e.message))},e.timeout):void 0}#i(e){clearTimeout(this.#s),this.#n=e,this.#r()}resolve(e){this.#t||this.#e||(this.#e=!0,this.#i(e))}reject(e){this.#t||this.#e||(this.#t=!0,this.#i(e))}resolved(){return this.#e}finished(){return this.#e||this.#t}value(){return this.#n}async valueOrThrow(){if(await this.#o,this.#t)throw this.#n;return this.#n}static create(e){return new a(e)}static async race(e){let n=new Set;try{let r=e.map(o=>o instanceof a?(o.#s&&n.add(o),o.valueOrThrow()):o);return await Promise.race(r)}finally{for(let r of n)r.reject(new Error(\"Timeout cleared\"))}}};var G=new Map,X=t=>{let e=G.get(t);return e||(e=new Function(`return ${t}`)(),G.set(t,e),e)};var R={};f(R,{ariaQuerySelector:()=>ae,ariaQuerySelectorAll:()=>k});var ae=(t,e)=>window.__ariaQuerySelector(t,e),k=async function*(t,e){yield*await window.__ariaQuerySelectorAll(t,e)};var q={};f(q,{customQuerySelectors:()=>M});var O=class{#e=new Map;register(e,n){if(!n.queryOne&&n.queryAll){let r=n.queryAll;n.queryOne=(o,i)=>{for(let s of r(o,i))return s;return null}}else if(n.queryOne&&!n.queryAll){let r=n.queryOne;n.queryAll=(o,i)=>{let s=r(o,i);return s?[s]:[]}}else if(!n.queryOne||!n.queryAll)throw new Error(\"At least one query method must be defined.\");this.#e.set(e,{querySelector:n.queryOne,querySelectorAll:n.queryAll})}unregister(e){this.#e.delete(e)}get(e){return this.#e.get(e)}clear(){this.#e.clear()}},M=new O;var _={};f(_,{pierceQuerySelector:()=>ce,pierceQuerySelectorAll:()=>ue});var ce=(t,e)=>{let n=null,r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&!n&&s.matches(e)&&(n=s)}while(!n&&i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n},ue=(t,e)=>{let n=[],r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&s.matches(e)&&n.push(s)}while(i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n};var m=(t,e)=>{if(!t)throw new Error(e)};var P=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=a.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=new MutationObserver(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())}),this.#n.observe(this.#t,{childList:!0,subtree:!0,attributes:!0})}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(this.#n.disconnect(),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}},E=class{#e;#t;constructor(e){this.#e=e}async start(){let e=this.#t=a.create(),n=await this.#e();if(n){e.resolve(n);return}let r=async()=>{if(e.finished())return;let o=await this.#e();if(!o){window.requestAnimationFrame(r);return}e.resolve(o),await this.stop()};window.requestAnimationFrame(r)}async stop(){m(this.#t,\"Polling never started.\"),this.#t.finished()||this.#t.reject(new Error(\"Polling stopped\"))}result(){return m(this.#t,\"Polling never started.\"),this.#t.valueOrThrow()}},x=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=a.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=setInterval(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())},this.#t)}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(clearInterval(this.#n),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}};var H={};f(H,{pQuerySelector:()=>Ie,pQuerySelectorAll:()=>re});var u=class{static async*map(e,n){for await(let r of e)yield await n(r)}static async*flatMap(e,n){for await(let r of e)yield*n(r)}static async collect(e){let n=[];for await(let r of e)n.push(r);return n}static async first(e){for await(let n of e)return n}};var p={attribute:/\\[\\s*(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)\\s*(?:(?<operator>\\W?=)\\s*(?<value>.+?)\\s*(\\s(?<caseSensitive>[iIsS]))?\\s*)?\\]/gu,id:/#(?<name>[-\\w\\P{ASCII}]+)/gu,class:/\\.(?<name>[-\\w\\P{ASCII}]+)/gu,comma:/\\s*,\\s*/g,combinator:/\\s*[\\s>+~]\\s*/g,\"pseudo-element\":/::(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>¶+)\\))?/gu,\"pseudo-class\":/:(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>¶+)\\))?/gu,universal:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?\\*/gu,type:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)/gu},fe=new Set([\"combinator\",\"comma\"]);var de=t=>{switch(t){case\"pseudo-element\":case\"pseudo-class\":return new RegExp(p[t].source.replace(\"(?<argument>\\xB6+)\",\"(?<argument>.+)\"),\"gu\");default:return p[t]}};function me(t,e){let n=0,r=\"\";for(;e<t.length;e++){let o=t[e];switch(o){case\"(\":++n;break;case\")\":--n;break}if(r+=o,n===0)return r}return r}function he(t,e=p){if(!t)return[];let n=[t];for(let[o,i]of Object.entries(e))for(let s=0;s<n.length;s++){let l=n[s];if(typeof l!=\"string\")continue;i.lastIndex=0;let c=i.exec(l);if(!c)continue;let h=c.index-1,d=[],V=c[0],B=l.slice(0,h+1);B&&d.push(B),d.push({...c.groups,type:o,content:V});let z=l.slice(h+V.length+1);z&&d.push(z),n.splice(s,1,...d)}let r=0;for(let o of n)switch(typeof o){case\"string\":throw new Error(`Unexpected sequence ${o} found at index ${r}`);case\"object\":r+=o.content.length,o.pos=[r-o.content.length,r],fe.has(o.type)&&(o.content=o.content.trim()||\" \");break}return n}var pe=/(['\"])([^\\\\\\n]+?)\\1/g,ye=/\\\\./g;function K(t,e=p){if(t=t.trim(),t===\"\")return[];let n=[];t=t.replace(ye,(i,s)=>(n.push({value:i,offset:s}),\"\\uE000\".repeat(i.length))),t=t.replace(pe,(i,s,l,c)=>(n.push({value:i,offset:c}),`${s}${\"\\uE001\".repeat(l.length)}${s}`));{let i=0,s;for(;(s=t.indexOf(\"(\",i))>-1;){let l=me(t,s);n.push({value:l,offset:s}),t=`${t.substring(0,s)}(${\"\\xB6\".repeat(l.length-2)})${t.substring(s+l.length)}`,i=s+l.length}}let r=he(t,e),o=new Set;for(let i of n.reverse())for(let s of r){let{offset:l,value:c}=i;if(!(s.pos[0]<=l&&l+c.length<=s.pos[1]))continue;let{content:h}=s,d=l-s.pos[0];s.content=h.slice(0,d)+c+h.slice(d+c.length),s.content!==h&&o.add(s)}for(let i of o){let s=de(i.type);if(!s)throw new Error(`Unknown token type: ${i.type}`);s.lastIndex=0;let l=s.exec(i.content);if(!l)throw new Error(`Unable to parse content for ${i.type}: ${i.content}`);Object.assign(i,l.groups)}return r}function*N(t,e){switch(t.type){case\"list\":for(let n of t.list)yield*N(n,t);break;case\"complex\":yield*N(t.left,t),yield*N(t.right,t);break;case\"compound\":yield*t.list.map(n=>[n,t]);break;default:yield[t,e]}}function y(t){let e;return Array.isArray(t)?e=t:e=[...N(t)].map(([n])=>n),e.map(n=>n.content).join(\"\")}p.combinator=/\\s*(>>>>?|[\\s>+~])\\s*/g;var ge=/\\\\[\\s\\S]/g,we=t=>t.length<=1?t:((t[0]==='\"'||t[0]===\"'\")&&t.endsWith(t[0])&&(t=t.slice(1,-1)),t.replace(ge,e=>e[1]));function Y(t){let e=!0,n=K(t);if(n.length===0)return[[],e];let r=[],o=[r],i=[o],s=[];for(let l of n){switch(l.type){case\"combinator\":switch(l.content){case\">>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>\"),o.push(r);continue;case\">>>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>>\"),o.push(r);continue}break;case\"pseudo-element\":if(!l.name.startsWith(\"-p-\"))break;e=!1,s.length&&(r.push(y(s)),s.splice(0)),r.push({name:l.name.slice(3),value:we(l.argument??\"\")});continue;case\"comma\":s.length&&(r.push(y(s)),s.splice(0)),r=[],o=[r],i.push(o);continue}s.push(l)}return s.length&&r.push(y(s)),[i,e]}var Q={};f(Q,{textQuerySelectorAll:()=>b});var Se=new Set([\"checkbox\",\"image\",\"radio\"]),be=t=>t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&!Se.has(t.type),Te=new Set([\"SCRIPT\",\"STYLE\"]),w=t=>!Te.has(t.nodeName)&&!document.head?.contains(t),D=new WeakMap,Z=t=>{for(;t;)D.delete(t),t instanceof ShadowRoot?t=t.host:t=t.parentNode},J=new WeakSet,Pe=new MutationObserver(t=>{for(let e of t)Z(e.target)}),g=t=>{let e=D.get(t);if(e||(e={full:\"\",immediate:[]},!w(t)))return e;let n=\"\";if(be(t))e.full=t.value,e.immediate.push(t.value),t.addEventListener(\"input\",r=>{Z(r.target)},{once:!0,capture:!0});else{for(let r=t.firstChild;r;r=r.nextSibling){if(r.nodeType===Node.TEXT_NODE){e.full+=r.nodeValue??\"\",n+=r.nodeValue??\"\";continue}n&&e.immediate.push(n),n=\"\",r.nodeType===Node.ELEMENT_NODE&&(e.full+=g(r).full)}n&&e.immediate.push(n),t instanceof Element&&t.shadowRoot&&(e.full+=g(t.shadowRoot).full),J.has(t)||(Pe.observe(t,{childList:!0,characterData:!0}),J.add(t))}return D.set(t,e),e};var b=function*(t,e){let n=!1;for(let r of t.childNodes)if(r instanceof Element&&w(r)){let o;r.shadowRoot?o=b(r.shadowRoot,e):o=b(r,e);for(let i of o)yield i,n=!0}n||t instanceof Element&&w(t)&&g(t).full.includes(e)&&(yield t)};var $={};f($,{checkVisibility:()=>xe,pierce:()=>A,pierceAll:()=>L});var Ee=[\"hidden\",\"collapse\"],xe=(t,e)=>{if(!t)return e===!1;if(e===void 0)return t;let n=t.nodeType===Node.TEXT_NODE?t.parentElement:t,r=window.getComputedStyle(n),o=r&&!Ee.includes(r.visibility)&&!Ne(n);return e===o?t:!1};function Ne(t){let e=t.getBoundingClientRect();return e.width===0||e.height===0}var Ae=t=>\"shadowRoot\"in t&&t.shadowRoot instanceof ShadowRoot;function*A(t){Ae(t)?yield t.shadowRoot:yield t}function*L(t){t=A(t).next().value,yield t;let e=[document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT)];for(let n of e){let r;for(;r=n.nextNode();)r.shadowRoot&&(yield r.shadowRoot,e.push(document.createTreeWalker(r.shadowRoot,NodeFilter.SHOW_ELEMENT)))}}var j={};f(j,{xpathQuerySelectorAll:()=>U});var U=function*(t,e){let r=(t.ownerDocument||document).evaluate(e,t,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE),o;for(;o=r.iterateNext();)yield o};var ve=/[-\\w\\P{ASCII}*]/,ee=t=>\"querySelectorAll\"in t,v=class extends Error{constructor(e,n){super(`${e} is not a valid selector: ${n}`)}},F=class{#e;#t;#n=[];#r=void 0;elements;constructor(e,n,r){this.elements=[e],this.#e=n,this.#t=r,this.#o()}async run(){if(typeof this.#r==\"string\")switch(this.#r.trimStart()){case\":scope\":this.#o();break}for(;this.#r!==void 0;this.#o()){let e=this.#r,n=this.#e;typeof e==\"string\"?e[0]&&ve.test(e[0])?this.elements=u.flatMap(this.elements,async function*(r){ee(r)&&(yield*r.querySelectorAll(e))}):this.elements=u.flatMap(this.elements,async function*(r){if(!r.parentElement){if(!ee(r))return;yield*r.querySelectorAll(e);return}let o=0;for(let i of r.parentElement.children)if(++o,i===r)break;yield*r.parentElement.querySelectorAll(`:scope>:nth-child(${o})${e}`)}):this.elements=u.flatMap(this.elements,async function*(r){switch(e.name){case\"text\":yield*b(r,e.value);break;case\"xpath\":yield*U(r,e.value);break;case\"aria\":yield*k(r,e.value);break;default:let o=M.get(e.name);if(!o)throw new v(n,`Unknown selector type: ${e.name}`);yield*o.querySelectorAll(r,e.value)}})}}#o(){if(this.#n.length!==0){this.#r=this.#n.shift();return}if(this.#t.length===0){this.#r=void 0;return}let e=this.#t.shift();switch(e){case\">>>>\":{this.elements=u.flatMap(this.elements,A),this.#o();break}case\">>>\":{this.elements=u.flatMap(this.elements,L),this.#o();break}default:this.#n=e,this.#o();break}}},W=class{#e=new WeakMap;calculate(e,n=[]){if(e===null)return n;e instanceof ShadowRoot&&(e=e.host);let r=this.#e.get(e);if(r)return[...r,...n];let o=0;for(let s=e.previousSibling;s;s=s.previousSibling)++o;let i=this.calculate(e.parentNode,[o]);return this.#e.set(e,i),[...i,...n]}},te=(t,e)=>{if(t.length+e.length===0)return 0;let[n=-1,...r]=t,[o=-1,...i]=e;return n===o?te(r,i):n<o?-1:1},Ce=async function*(t){let e=new Set;for await(let r of t)e.add(r);let n=new W;yield*[...e.values()].map(r=>[r,n.calculate(r)]).sort(([,r],[,o])=>te(r,o)).map(([r])=>r)},re=function(t,e){let n,r;try{[n,r]=Y(e)}catch{return t.querySelectorAll(e)}if(r)return t.querySelectorAll(e);if(n.some(o=>{let i=0;return o.some(s=>(typeof s==\"string\"?++i:i=0,i>1))}))throw new v(e,\"Multiple deep combinators found in sequence.\");return Ce(u.flatMap(n,o=>{let i=new F(t,e,o);return i.run(),i.elements}))},Ie=async function(t,e){for await(let n of re(t,e))return n;return null};var ke=Object.freeze({...R,...q,..._,...H,...Q,...$,...j,Deferred:a,createFunction:X,createTextContent:g,IntervalPoller:x,isSuitableNodeForTextMatching:w,MutationPoller:P,RAFPoller:E}),Re=ke;\n";
+exports.source = "\"use strict\";var C=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var se=Object.prototype.hasOwnProperty;var u=(t,e)=>{for(var n in e)C(t,n,{get:e[n],enumerable:!0})},ie=(t,e,n,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of oe(e))!se.call(t,o)&&o!==n&&C(t,o,{get:()=>e[o],enumerable:!(r=ne(e,o))||r.enumerable});return t};var le=t=>ie(C({},\"__esModule\",{value:!0}),t);var Oe={};u(Oe,{default:()=>Re});module.exports=le(Oe);var T=class extends Error{constructor(e){super(e),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor)}},S=class extends T{},I=class extends T{#e;#t=\"\";set code(e){this.#e=e}get code(){return this.#e}set originalMessage(e){this.#t=e}get originalMessage(){return this.#t}};var qe=Object.freeze({TimeoutError:S,ProtocolError:I});var f=class t{#e=!1;#t=!1;#n;#r=()=>{};#o=new Promise(e=>{this.#r=e});#s;constructor(e){this.#s=e&&e.timeout>0?setTimeout(()=>{this.reject(new S(e.message))},e.timeout):void 0}#i(e){clearTimeout(this.#s),this.#n=e,this.#r()}resolve(e){this.#t||this.#e||(this.#e=!0,this.#i(e))}reject(e){this.#t||this.#e||(this.#t=!0,this.#i(e))}resolved(){return this.#e}finished(){return this.#e||this.#t}value(){return this.#n}async valueOrThrow(){if(await this.#o,this.#t)throw this.#n;return this.#n}static create(e){return new t(e)}static async race(e){let n=new Set;try{let r=e.map(o=>o instanceof t?(o.#s&&n.add(o),o.valueOrThrow()):o);return await Promise.race(r)}finally{for(let r of n)r.reject(new Error(\"Timeout cleared\"))}}};var G=new Map,X=t=>{let e=G.get(t);return e||(e=new Function(`return ${t}`)(),G.set(t,e),e)};var R={};u(R,{ariaQuerySelector:()=>ae,ariaQuerySelectorAll:()=>k});var ae=(t,e)=>window.__ariaQuerySelector(t,e),k=async function*(t,e){yield*await window.__ariaQuerySelectorAll(t,e)};var q={};u(q,{customQuerySelectors:()=>M});var O=class{#e=new Map;register(e,n){if(!n.queryOne&&n.queryAll){let r=n.queryAll;n.queryOne=(o,i)=>{for(let s of r(o,i))return s;return null}}else if(n.queryOne&&!n.queryAll){let r=n.queryOne;n.queryAll=(o,i)=>{let s=r(o,i);return s?[s]:[]}}else if(!n.queryOne||!n.queryAll)throw new Error(\"At least one query method must be defined.\");this.#e.set(e,{querySelector:n.queryOne,querySelectorAll:n.queryAll})}unregister(e){this.#e.delete(e)}get(e){return this.#e.get(e)}clear(){this.#e.clear()}},M=new O;var D={};u(D,{pierceQuerySelector:()=>ce,pierceQuerySelectorAll:()=>ue});var ce=(t,e)=>{let n=null,r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&!n&&s.matches(e)&&(n=s)}while(!n&&i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n},ue=(t,e)=>{let n=[],r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&s.matches(e)&&n.push(s)}while(i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n};var m=(t,e)=>{if(!t)throw new Error(e)};var P=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=f.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=new MutationObserver(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())}),this.#n.observe(this.#t,{childList:!0,subtree:!0,attributes:!0})}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(this.#n.disconnect(),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}},E=class{#e;#t;constructor(e){this.#e=e}async start(){let e=this.#t=f.create(),n=await this.#e();if(n){e.resolve(n);return}let r=async()=>{if(e.finished())return;let o=await this.#e();if(!o){window.requestAnimationFrame(r);return}e.resolve(o),await this.stop()};window.requestAnimationFrame(r)}async stop(){m(this.#t,\"Polling never started.\"),this.#t.finished()||this.#t.reject(new Error(\"Polling stopped\"))}result(){return m(this.#t,\"Polling never started.\"),this.#t.valueOrThrow()}},x=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=f.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=setInterval(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())},this.#t)}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(clearInterval(this.#n),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}};var H={};u(H,{pQuerySelector:()=>Ie,pQuerySelectorAll:()=>re});var c=class{static async*map(e,n){for await(let r of e)yield await n(r)}static async*flatMap(e,n){for await(let r of e)yield*n(r)}static async collect(e){let n=[];for await(let r of e)n.push(r);return n}static async first(e){for await(let n of e)return n}};var p={attribute:/\\[\\s*(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)\\s*(?:(?<operator>\\W?=)\\s*(?<value>.+?)\\s*(\\s(?<caseSensitive>[iIsS]))?\\s*)?\\]/gu,id:/#(?<name>[-\\w\\P{ASCII}]+)/gu,class:/\\.(?<name>[-\\w\\P{ASCII}]+)/gu,comma:/\\s*,\\s*/g,combinator:/\\s*[\\s>+~]\\s*/g,\"pseudo-element\":/::(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>¶+)\\))?/gu,\"pseudo-class\":/:(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>¶+)\\))?/gu,universal:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?\\*/gu,type:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)/gu},fe=new Set([\"combinator\",\"comma\"]);var de=t=>{switch(t){case\"pseudo-element\":case\"pseudo-class\":return new RegExp(p[t].source.replace(\"(?<argument>\\xB6+)\",\"(?<argument>.+)\"),\"gu\");default:return p[t]}};function me(t,e){let n=0,r=\"\";for(;e<t.length;e++){let o=t[e];switch(o){case\"(\":++n;break;case\")\":--n;break}if(r+=o,n===0)return r}return r}function he(t,e=p){if(!t)return[];let n=[t];for(let[o,i]of Object.entries(e))for(let s=0;s<n.length;s++){let l=n[s];if(typeof l!=\"string\")continue;i.lastIndex=0;let a=i.exec(l);if(!a)continue;let h=a.index-1,d=[],V=a[0],B=l.slice(0,h+1);B&&d.push(B),d.push({...a.groups,type:o,content:V});let z=l.slice(h+V.length+1);z&&d.push(z),n.splice(s,1,...d)}let r=0;for(let o of n)switch(typeof o){case\"string\":throw new Error(`Unexpected sequence ${o} found at index ${r}`);case\"object\":r+=o.content.length,o.pos=[r-o.content.length,r],fe.has(o.type)&&(o.content=o.content.trim()||\" \");break}return n}var pe=/(['\"])([^\\\\\\n]+?)\\1/g,ye=/\\\\./g;function K(t,e=p){if(t=t.trim(),t===\"\")return[];let n=[];t=t.replace(ye,(i,s)=>(n.push({value:i,offset:s}),\"\\uE000\".repeat(i.length))),t=t.replace(pe,(i,s,l,a)=>(n.push({value:i,offset:a}),`${s}${\"\\uE001\".repeat(l.length)}${s}`));{let i=0,s;for(;(s=t.indexOf(\"(\",i))>-1;){let l=me(t,s);n.push({value:l,offset:s}),t=`${t.substring(0,s)}(${\"\\xB6\".repeat(l.length-2)})${t.substring(s+l.length)}`,i=s+l.length}}let r=he(t,e),o=new Set;for(let i of n.reverse())for(let s of r){let{offset:l,value:a}=i;if(!(s.pos[0]<=l&&l+a.length<=s.pos[1]))continue;let{content:h}=s,d=l-s.pos[0];s.content=h.slice(0,d)+a+h.slice(d+a.length),s.content!==h&&o.add(s)}for(let i of o){let s=de(i.type);if(!s)throw new Error(`Unknown token type: ${i.type}`);s.lastIndex=0;let l=s.exec(i.content);if(!l)throw new Error(`Unable to parse content for ${i.type}: ${i.content}`);Object.assign(i,l.groups)}return r}function*N(t,e){switch(t.type){case\"list\":for(let n of t.list)yield*N(n,t);break;case\"complex\":yield*N(t.left,t),yield*N(t.right,t);break;case\"compound\":yield*t.list.map(n=>[n,t]);break;default:yield[t,e]}}function y(t){let e;return Array.isArray(t)?e=t:e=[...N(t)].map(([n])=>n),e.map(n=>n.content).join(\"\")}p.combinator=/\\s*(>>>>?|[\\s>+~])\\s*/g;var ge=/\\\\[\\s\\S]/g,we=t=>t.length<=1?t:((t[0]==='\"'||t[0]===\"'\")&&t.endsWith(t[0])&&(t=t.slice(1,-1)),t.replace(ge,e=>e[1]));function Y(t){let e=!0,n=K(t);if(n.length===0)return[[],e];let r=[],o=[r],i=[o],s=[];for(let l of n){switch(l.type){case\"combinator\":switch(l.content){case\">>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>\"),o.push(r);continue;case\">>>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>>\"),o.push(r);continue}break;case\"pseudo-element\":if(!l.name.startsWith(\"-p-\"))break;e=!1,s.length&&(r.push(y(s)),s.splice(0)),r.push({name:l.name.slice(3),value:we(l.argument??\"\")});continue;case\"comma\":s.length&&(r.push(y(s)),s.splice(0)),r=[],o=[r],i.push(o);continue}s.push(l)}return s.length&&r.push(y(s)),[i,e]}var Q={};u(Q,{textQuerySelectorAll:()=>b});var Se=new Set([\"checkbox\",\"image\",\"radio\"]),be=t=>t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&!Se.has(t.type),Te=new Set([\"SCRIPT\",\"STYLE\"]),w=t=>!Te.has(t.nodeName)&&!document.head?.contains(t),_=new WeakMap,Z=t=>{for(;t;)_.delete(t),t instanceof ShadowRoot?t=t.host:t=t.parentNode},J=new WeakSet,Pe=new MutationObserver(t=>{for(let e of t)Z(e.target)}),g=t=>{let e=_.get(t);if(e||(e={full:\"\",immediate:[]},!w(t)))return e;let n=\"\";if(be(t))e.full=t.value,e.immediate.push(t.value),t.addEventListener(\"input\",r=>{Z(r.target)},{once:!0,capture:!0});else{for(let r=t.firstChild;r;r=r.nextSibling){if(r.nodeType===Node.TEXT_NODE){e.full+=r.nodeValue??\"\",n+=r.nodeValue??\"\";continue}n&&e.immediate.push(n),n=\"\",r.nodeType===Node.ELEMENT_NODE&&(e.full+=g(r).full)}n&&e.immediate.push(n),t instanceof Element&&t.shadowRoot&&(e.full+=g(t.shadowRoot).full),J.has(t)||(Pe.observe(t,{childList:!0,characterData:!0}),J.add(t))}return _.set(t,e),e};var b=function*(t,e){let n=!1;for(let r of t.childNodes)if(r instanceof Element&&w(r)){let o;r.shadowRoot?o=b(r.shadowRoot,e):o=b(r,e);for(let i of o)yield i,n=!0}n||t instanceof Element&&w(t)&&g(t).full.includes(e)&&(yield t)};var $={};u($,{checkVisibility:()=>xe,pierce:()=>A,pierceAll:()=>L});var Ee=[\"hidden\",\"collapse\"],xe=(t,e)=>{if(!t)return e===!1;if(e===void 0)return t;let n=t.nodeType===Node.TEXT_NODE?t.parentElement:t,r=window.getComputedStyle(n),o=r&&!Ee.includes(r.visibility)&&!Ne(n);return e===o?t:!1};function Ne(t){let e=t.getBoundingClientRect();return e.width===0||e.height===0}var Ae=t=>\"shadowRoot\"in t&&t.shadowRoot instanceof ShadowRoot;function*A(t){Ae(t)?yield t.shadowRoot:yield t}function*L(t){t=A(t).next().value,yield t;let e=[document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT)];for(let n of e){let r;for(;r=n.nextNode();)r.shadowRoot&&(yield r.shadowRoot,e.push(document.createTreeWalker(r.shadowRoot,NodeFilter.SHOW_ELEMENT)))}}var j={};u(j,{xpathQuerySelectorAll:()=>U});var U=function*(t,e){let r=(t.ownerDocument||document).evaluate(e,t,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE),o;for(;o=r.iterateNext();)yield o};var ve=/[-\\w\\P{ASCII}*]/,ee=t=>\"querySelectorAll\"in t,v=class extends Error{constructor(e,n){super(`${e} is not a valid selector: ${n}`)}},F=class{#e;#t;#n=[];#r=void 0;elements;constructor(e,n,r){this.elements=[e],this.#e=n,this.#t=r,this.#o()}async run(){if(typeof this.#r==\"string\")switch(this.#r.trimStart()){case\":scope\":this.#o();break}for(;this.#r!==void 0;this.#o()){let e=this.#r,n=this.#e;typeof e==\"string\"?e[0]&&ve.test(e[0])?this.elements=c.flatMap(this.elements,async function*(r){ee(r)&&(yield*r.querySelectorAll(e))}):this.elements=c.flatMap(this.elements,async function*(r){if(!r.parentElement){if(!ee(r))return;yield*r.querySelectorAll(e);return}let o=0;for(let i of r.parentElement.children)if(++o,i===r)break;yield*r.parentElement.querySelectorAll(`:scope>:nth-child(${o})${e}`)}):this.elements=c.flatMap(this.elements,async function*(r){switch(e.name){case\"text\":yield*b(r,e.value);break;case\"xpath\":yield*U(r,e.value);break;case\"aria\":yield*k(r,e.value);break;default:let o=M.get(e.name);if(!o)throw new v(n,`Unknown selector type: ${e.name}`);yield*o.querySelectorAll(r,e.value)}})}}#o(){if(this.#n.length!==0){this.#r=this.#n.shift();return}if(this.#t.length===0){this.#r=void 0;return}let e=this.#t.shift();switch(e){case\">>>>\":{this.elements=c.flatMap(this.elements,A),this.#o();break}case\">>>\":{this.elements=c.flatMap(this.elements,L),this.#o();break}default:this.#n=e,this.#o();break}}},W=class{#e=new WeakMap;calculate(e,n=[]){if(e===null)return n;e instanceof ShadowRoot&&(e=e.host);let r=this.#e.get(e);if(r)return[...r,...n];let o=0;for(let s=e.previousSibling;s;s=s.previousSibling)++o;let i=this.calculate(e.parentNode,[o]);return this.#e.set(e,i),[...i,...n]}},te=(t,e)=>{if(t.length+e.length===0)return 0;let[n=-1,...r]=t,[o=-1,...i]=e;return n===o?te(r,i):n<o?-1:1},Ce=async function*(t){let e=new Set;for await(let r of t)e.add(r);let n=new W;yield*[...e.values()].map(r=>[r,n.calculate(r)]).sort(([,r],[,o])=>te(r,o)).map(([r])=>r)},re=function(t,e){let n,r;try{[n,r]=Y(e)}catch{return t.querySelectorAll(e)}if(r)return t.querySelectorAll(e);if(n.some(o=>{let i=0;return o.some(s=>(typeof s==\"string\"?++i:i=0,i>1))}))throw new v(e,\"Multiple deep combinators found in sequence.\");return Ce(c.flatMap(n,o=>{let i=new F(t,e,o);return i.run(),i.elements}))},Ie=async function(t,e){for await(let n of re(t,e))return n;return null};var ke=Object.freeze({...R,...q,...D,...H,...Q,...$,...j,Deferred:f,createFunction:X,createTextContent:g,IntervalPoller:x,isSuitableNodeForTextMatching:w,MutationPoller:P,RAFPoller:E}),Re=ke;\n";
 //# sourceMappingURL=injected.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/injected.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/injected.js.map
index c80b86d..6486a9a 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/injected.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/injected.js.map
@@ -1 +1 @@
-{"version":3,"file":"injected.js","sourceRoot":"","sources":["../../../../src/generated/injected.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACU,QAAA,MAAM,GAAG,yjaAAyja,CAAC"}
\ No newline at end of file
+{"version":3,"file":"injected.js","sourceRoot":"","sources":["../../../../src/generated/injected.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACU,QAAA,MAAM,GAAG,2jaAA2ja,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/version.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/version.d.ts
index b7e0ba6..e4e8201 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/version.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/version.d.ts
@@ -1,5 +1,5 @@
 /**
  * @internal
  */
-export declare const packageVersion = "20.8.2";
+export declare const packageVersion = "21.0.1";
 //# sourceMappingURL=version.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/version.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/version.js
index d1834cc..5249da4 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/version.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/generated/version.js
@@ -4,5 +4,5 @@
 /**
  * @internal
  */
-exports.packageVersion = '20.8.2';
+exports.packageVersion = '21.0.1';
 //# sourceMappingURL=version.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/CustomQuerySelector.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/CustomQuerySelector.js
index a8cfdc6..ed32967 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/CustomQuerySelector.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/CustomQuerySelector.js
@@ -14,21 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _CustomQuerySelectorRegistry_selectors;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.customQuerySelectors = void 0;
 /**
  * This class mimics the injected {@link CustomQuerySelectorRegistry}.
  */
 class CustomQuerySelectorRegistry {
-    constructor() {
-        _CustomQuerySelectorRegistry_selectors.set(this, new Map());
-    }
+    #selectors = new Map();
     register(name, handler) {
         if (!handler.queryOne && handler.queryAll) {
             const querySelectorAll = handler.queryAll;
@@ -49,21 +41,20 @@
         else if (!handler.queryOne || !handler.queryAll) {
             throw new Error('At least one query method must be defined.');
         }
-        __classPrivateFieldGet(this, _CustomQuerySelectorRegistry_selectors, "f").set(name, {
+        this.#selectors.set(name, {
             querySelector: handler.queryOne,
             querySelectorAll: handler.queryAll,
         });
     }
     unregister(name) {
-        __classPrivateFieldGet(this, _CustomQuerySelectorRegistry_selectors, "f").delete(name);
+        this.#selectors.delete(name);
     }
     get(name) {
-        return __classPrivateFieldGet(this, _CustomQuerySelectorRegistry_selectors, "f").get(name);
+        return this.#selectors.get(name);
     }
     clear() {
-        __classPrivateFieldGet(this, _CustomQuerySelectorRegistry_selectors, "f").clear();
+        this.#selectors.clear();
     }
 }
-_CustomQuerySelectorRegistry_selectors = new WeakMap();
 exports.customQuerySelectors = new CustomQuerySelectorRegistry();
 //# sourceMappingURL=CustomQuerySelector.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/CustomQuerySelector.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/CustomQuerySelector.js.map
index 8ba0bf3..906a9c2 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/CustomQuerySelector.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/CustomQuerySelector.js.map
@@ -1 +1 @@
-{"version":3,"file":"CustomQuerySelector.js","sourceRoot":"","sources":["../../../../src/injected/CustomQuerySelector.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;AAUH;;GAEG;AACH,MAAM,2BAA2B;IAAjC;QACE,iDAAa,IAAI,GAAG,EAA+B,EAAC;IAsCtD,CAAC;IApCC,QAAQ,CAAC,IAAY,EAAE,OAA2B;QAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;YACzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACpC,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;oBACrD,OAAO,MAAM,CAAC;iBACf;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;SACH;aAAM,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YAChD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;YACvC,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACpC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC7C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,CAAC,CAAC;SACH;aAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACjD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC/D;QAED,uBAAA,IAAI,8CAAW,CAAC,GAAG,CAAC,IAAI,EAAE;YACxB,aAAa,EAAE,OAAO,CAAC,QAAQ;YAC/B,gBAAgB,EAAE,OAAO,CAAC,QAAS;SACpC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,uBAAA,IAAI,8CAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,uBAAA,IAAI,8CAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK;QACH,uBAAA,IAAI,8CAAW,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;;AAEY,QAAA,oBAAoB,GAAG,IAAI,2BAA2B,EAAE,CAAC"}
\ No newline at end of file
+{"version":3,"file":"CustomQuerySelector.js","sourceRoot":"","sources":["../../../../src/injected/CustomQuerySelector.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAUH;;GAEG;AACH,MAAM,2BAA2B;IAC/B,UAAU,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEpD,QAAQ,CAAC,IAAY,EAAE,OAA2B;QAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;YACzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACpC,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;oBACrD,OAAO,MAAM,CAAC;iBACf;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;SACH;aAAM,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YAChD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;YACvC,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACpC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC7C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,CAAC,CAAC;SACH;aAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACjD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC/D;QAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;YACxB,aAAa,EAAE,OAAO,CAAC,QAAQ;YAC/B,gBAAgB,EAAE,OAAO,CAAC,QAAS;SACpC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;AAEY,QAAA,oBAAoB,GAAG,IAAI,2BAA2B,EAAE,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/PQuerySelector.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/PQuerySelector.js
index 08fa5d1..9b60753 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/PQuerySelector.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/PQuerySelector.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _PQueryEngine_instances, _PQueryEngine_input, _PQueryEngine_complexSelector, _PQueryEngine_compoundSelector, _PQueryEngine_selector, _PQueryEngine_next, _DepthCalculator_cache;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.pQuerySelector = exports.pQuerySelectorAll = void 0;
 const AsyncIterableUtil_js_1 = require("../util/AsyncIterableUtil.js");
@@ -45,20 +33,20 @@
     }
 }
 class PQueryEngine {
+    #input;
+    #complexSelector;
+    #compoundSelector = [];
+    #selector = undefined;
+    elements;
     constructor(element, input, complexSelector) {
-        _PQueryEngine_instances.add(this);
-        _PQueryEngine_input.set(this, void 0);
-        _PQueryEngine_complexSelector.set(this, void 0);
-        _PQueryEngine_compoundSelector.set(this, []);
-        _PQueryEngine_selector.set(this, undefined);
         this.elements = [element];
-        __classPrivateFieldSet(this, _PQueryEngine_input, input, "f");
-        __classPrivateFieldSet(this, _PQueryEngine_complexSelector, complexSelector, "f");
-        __classPrivateFieldGet(this, _PQueryEngine_instances, "m", _PQueryEngine_next).call(this);
+        this.#input = input;
+        this.#complexSelector = complexSelector;
+        this.#next();
     }
     async run() {
-        if (typeof __classPrivateFieldGet(this, _PQueryEngine_selector, "f") === 'string') {
-            switch (__classPrivateFieldGet(this, _PQueryEngine_selector, "f").trimStart()) {
+        if (typeof this.#selector === 'string') {
+            switch (this.#selector.trimStart()) {
                 case ':scope':
                     // `:scope` has some special behavior depending on the node. It always
                     // represents the current node within a compound selector, but by
@@ -66,13 +54,13 @@
                     // represented by `<html>`, but any HTMLElement is not represented by
                     // itself (i.e. `null`). This can be troublesome if our combinators
                     // are used right after so we treat this selector specially.
-                    __classPrivateFieldGet(this, _PQueryEngine_instances, "m", _PQueryEngine_next).call(this);
+                    this.#next();
                     break;
             }
         }
-        for (; __classPrivateFieldGet(this, _PQueryEngine_selector, "f") !== undefined; __classPrivateFieldGet(this, _PQueryEngine_instances, "m", _PQueryEngine_next).call(this)) {
-            const selector = __classPrivateFieldGet(this, _PQueryEngine_selector, "f");
-            const input = __classPrivateFieldGet(this, _PQueryEngine_input, "f");
+        for (; this.#selector !== undefined; this.#next()) {
+            const selector = this.#selector;
+            const input = this.#input;
             if (typeof selector === 'string') {
                 // The regular expression tests if the selector is a type/universal
                 // selector. Any other case means we want to apply the selector onto
@@ -128,38 +116,36 @@
             }
         }
     }
+    #next() {
+        if (this.#compoundSelector.length !== 0) {
+            this.#selector = this.#compoundSelector.shift();
+            return;
+        }
+        if (this.#complexSelector.length === 0) {
+            this.#selector = undefined;
+            return;
+        }
+        const selector = this.#complexSelector.shift();
+        switch (selector) {
+            case ">>>>" /* PCombinator.Child */: {
+                this.elements = AsyncIterableUtil_js_1.AsyncIterableUtil.flatMap(this.elements, util_js_1.pierce);
+                this.#next();
+                break;
+            }
+            case ">>>" /* PCombinator.Descendent */: {
+                this.elements = AsyncIterableUtil_js_1.AsyncIterableUtil.flatMap(this.elements, util_js_1.pierceAll);
+                this.#next();
+                break;
+            }
+            default:
+                this.#compoundSelector = selector;
+                this.#next();
+                break;
+        }
+    }
 }
-_PQueryEngine_input = new WeakMap(), _PQueryEngine_complexSelector = new WeakMap(), _PQueryEngine_compoundSelector = new WeakMap(), _PQueryEngine_selector = new WeakMap(), _PQueryEngine_instances = new WeakSet(), _PQueryEngine_next = function _PQueryEngine_next() {
-    if (__classPrivateFieldGet(this, _PQueryEngine_compoundSelector, "f").length !== 0) {
-        __classPrivateFieldSet(this, _PQueryEngine_selector, __classPrivateFieldGet(this, _PQueryEngine_compoundSelector, "f").shift(), "f");
-        return;
-    }
-    if (__classPrivateFieldGet(this, _PQueryEngine_complexSelector, "f").length === 0) {
-        __classPrivateFieldSet(this, _PQueryEngine_selector, undefined, "f");
-        return;
-    }
-    const selector = __classPrivateFieldGet(this, _PQueryEngine_complexSelector, "f").shift();
-    switch (selector) {
-        case ">>>>" /* PCombinator.Child */: {
-            this.elements = AsyncIterableUtil_js_1.AsyncIterableUtil.flatMap(this.elements, util_js_1.pierce);
-            __classPrivateFieldGet(this, _PQueryEngine_instances, "m", _PQueryEngine_next).call(this);
-            break;
-        }
-        case ">>>" /* PCombinator.Descendent */: {
-            this.elements = AsyncIterableUtil_js_1.AsyncIterableUtil.flatMap(this.elements, util_js_1.pierceAll);
-            __classPrivateFieldGet(this, _PQueryEngine_instances, "m", _PQueryEngine_next).call(this);
-            break;
-        }
-        default:
-            __classPrivateFieldSet(this, _PQueryEngine_compoundSelector, selector, "f");
-            __classPrivateFieldGet(this, _PQueryEngine_instances, "m", _PQueryEngine_next).call(this);
-            break;
-    }
-};
 class DepthCalculator {
-    constructor() {
-        _DepthCalculator_cache.set(this, new WeakMap());
-    }
+    #cache = new WeakMap();
     calculate(node, depth = []) {
         if (node === null) {
             return depth;
@@ -167,7 +153,7 @@
         if (node instanceof ShadowRoot) {
             node = node.host;
         }
-        const cachedDepth = __classPrivateFieldGet(this, _DepthCalculator_cache, "f").get(node);
+        const cachedDepth = this.#cache.get(node);
         if (cachedDepth) {
             return [...cachedDepth, ...depth];
         }
@@ -176,11 +162,10 @@
             ++index;
         }
         const value = this.calculate(node.parentNode, [index]);
-        __classPrivateFieldGet(this, _DepthCalculator_cache, "f").set(node, value);
+        this.#cache.set(node, value);
         return [...value, ...depth];
     }
 }
-_DepthCalculator_cache = new WeakMap();
 const compareDepths = (a, b) => {
     if (a.length + b.length === 0) {
         return 0;
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/PQuerySelector.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/PQuerySelector.js.map
index 8a0c988..2e14067 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/PQuerySelector.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/PQuerySelector.js.map
@@ -1 +1 @@
-{"version":3,"file":"PQuerySelector.js","sourceRoot":"","sources":["../../../../src/injected/PQuerySelector.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"PQuerySelector.js","sourceRoot":"","sources":["../../../../src/injected/PQuerySelector.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/PSelectorParser.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/PSelectorParser.d.ts
index 99ed119..1d952ee 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/PSelectorParser.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/PSelectorParser.d.ts
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 export type CSSSelector = string;
-export type PPseudoSelector = {
+export interface PPseudoSelector {
     name: string;
     value: string;
-};
+}
 export declare const enum PCombinator {
     Descendent = ">>>",
     Child = ">>>>"
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/PSelectorParser.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/PSelectorParser.d.ts.map
index dd0dd37..5a441ba 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/PSelectorParser.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/PSelectorParser.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"PSelectorParser.d.ts","sourceRoot":"","sources":["../../../../src/injected/PSelectorParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AACjC,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AACF,0BAAkB,WAAW;IAC3B,UAAU,QAAQ;IAClB,KAAK,SAAS;CACf;AACD,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,CAAC;AACrE,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,GAAG,WAAW,CAAC,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,EAAE,CAAC;AAiBtD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,GACf,CAAC,QAAQ,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,CAAC,CAkEtD"}
\ No newline at end of file
+{"version":3,"file":"PSelectorParser.d.ts","sourceRoot":"","sources":["../../../../src/injected/PSelectorParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AACjC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AACD,0BAAkB,WAAW;IAC3B,UAAU,QAAQ;IAClB,KAAK,SAAS;CACf;AACD,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,CAAC;AACrE,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,GAAG,WAAW,CAAC,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,EAAE,CAAC;AAiBtD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,GACf,CAAC,QAAQ,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,CAAC,CAkEtD"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/Poller.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/Poller.js
index 8324ca4..4883191 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/Poller.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/Poller.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _MutationPoller_fn, _MutationPoller_root, _MutationPoller_observer, _MutationPoller_deferred, _RAFPoller_fn, _RAFPoller_deferred, _IntervalPoller_fn, _IntervalPoller_ms, _IntervalPoller_interval, _IntervalPoller_deferred;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.IntervalPoller = exports.RAFPoller = exports.MutationPoller = void 0;
 const assert_js_1 = require("../util/assert.js");
@@ -34,64 +22,63 @@
  * @internal
  */
 class MutationPoller {
+    #fn;
+    #root;
+    #observer;
+    #deferred;
     constructor(fn, root) {
-        _MutationPoller_fn.set(this, void 0);
-        _MutationPoller_root.set(this, void 0);
-        _MutationPoller_observer.set(this, void 0);
-        _MutationPoller_deferred.set(this, void 0);
-        __classPrivateFieldSet(this, _MutationPoller_fn, fn, "f");
-        __classPrivateFieldSet(this, _MutationPoller_root, root, "f");
+        this.#fn = fn;
+        this.#root = root;
     }
     async start() {
-        const deferred = (__classPrivateFieldSet(this, _MutationPoller_deferred, Deferred_js_1.Deferred.create(), "f"));
-        const result = await __classPrivateFieldGet(this, _MutationPoller_fn, "f").call(this);
+        const deferred = (this.#deferred = Deferred_js_1.Deferred.create());
+        const result = await this.#fn();
         if (result) {
             deferred.resolve(result);
             return;
         }
-        __classPrivateFieldSet(this, _MutationPoller_observer, new MutationObserver(async () => {
-            const result = await __classPrivateFieldGet(this, _MutationPoller_fn, "f").call(this);
+        this.#observer = new MutationObserver(async () => {
+            const result = await this.#fn();
             if (!result) {
                 return;
             }
             deferred.resolve(result);
             await this.stop();
-        }), "f");
-        __classPrivateFieldGet(this, _MutationPoller_observer, "f").observe(__classPrivateFieldGet(this, _MutationPoller_root, "f"), {
+        });
+        this.#observer.observe(this.#root, {
             childList: true,
             subtree: true,
             attributes: true,
         });
     }
     async stop() {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _MutationPoller_deferred, "f"), 'Polling never started.');
-        if (!__classPrivateFieldGet(this, _MutationPoller_deferred, "f").finished()) {
-            __classPrivateFieldGet(this, _MutationPoller_deferred, "f").reject(new Error('Polling stopped'));
+        (0, assert_js_1.assert)(this.#deferred, 'Polling never started.');
+        if (!this.#deferred.finished()) {
+            this.#deferred.reject(new Error('Polling stopped'));
         }
-        if (__classPrivateFieldGet(this, _MutationPoller_observer, "f")) {
-            __classPrivateFieldGet(this, _MutationPoller_observer, "f").disconnect();
-            __classPrivateFieldSet(this, _MutationPoller_observer, undefined, "f");
+        if (this.#observer) {
+            this.#observer.disconnect();
+            this.#observer = undefined;
         }
     }
     result() {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _MutationPoller_deferred, "f"), 'Polling never started.');
-        return __classPrivateFieldGet(this, _MutationPoller_deferred, "f").valueOrThrow();
+        (0, assert_js_1.assert)(this.#deferred, 'Polling never started.');
+        return this.#deferred.valueOrThrow();
     }
 }
 exports.MutationPoller = MutationPoller;
-_MutationPoller_fn = new WeakMap(), _MutationPoller_root = new WeakMap(), _MutationPoller_observer = new WeakMap(), _MutationPoller_deferred = new WeakMap();
 /**
  * @internal
  */
 class RAFPoller {
+    #fn;
+    #deferred;
     constructor(fn) {
-        _RAFPoller_fn.set(this, void 0);
-        _RAFPoller_deferred.set(this, void 0);
-        __classPrivateFieldSet(this, _RAFPoller_fn, fn, "f");
+        this.#fn = fn;
     }
     async start() {
-        const deferred = (__classPrivateFieldSet(this, _RAFPoller_deferred, Deferred_js_1.Deferred.create(), "f"));
-        const result = await __classPrivateFieldGet(this, _RAFPoller_fn, "f").call(this);
+        const deferred = (this.#deferred = Deferred_js_1.Deferred.create());
+        const result = await this.#fn();
         if (result) {
             deferred.resolve(result);
             return;
@@ -100,7 +87,7 @@
             if (deferred.finished()) {
                 return;
             }
-            const result = await __classPrivateFieldGet(this, _RAFPoller_fn, "f").call(this);
+            const result = await this.#fn();
             if (!result) {
                 window.requestAnimationFrame(poll);
                 return;
@@ -111,61 +98,59 @@
         window.requestAnimationFrame(poll);
     }
     async stop() {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _RAFPoller_deferred, "f"), 'Polling never started.');
-        if (!__classPrivateFieldGet(this, _RAFPoller_deferred, "f").finished()) {
-            __classPrivateFieldGet(this, _RAFPoller_deferred, "f").reject(new Error('Polling stopped'));
+        (0, assert_js_1.assert)(this.#deferred, 'Polling never started.');
+        if (!this.#deferred.finished()) {
+            this.#deferred.reject(new Error('Polling stopped'));
         }
     }
     result() {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _RAFPoller_deferred, "f"), 'Polling never started.');
-        return __classPrivateFieldGet(this, _RAFPoller_deferred, "f").valueOrThrow();
+        (0, assert_js_1.assert)(this.#deferred, 'Polling never started.');
+        return this.#deferred.valueOrThrow();
     }
 }
 exports.RAFPoller = RAFPoller;
-_RAFPoller_fn = new WeakMap(), _RAFPoller_deferred = new WeakMap();
 /**
  * @internal
  */
 class IntervalPoller {
+    #fn;
+    #ms;
+    #interval;
+    #deferred;
     constructor(fn, ms) {
-        _IntervalPoller_fn.set(this, void 0);
-        _IntervalPoller_ms.set(this, void 0);
-        _IntervalPoller_interval.set(this, void 0);
-        _IntervalPoller_deferred.set(this, void 0);
-        __classPrivateFieldSet(this, _IntervalPoller_fn, fn, "f");
-        __classPrivateFieldSet(this, _IntervalPoller_ms, ms, "f");
+        this.#fn = fn;
+        this.#ms = ms;
     }
     async start() {
-        const deferred = (__classPrivateFieldSet(this, _IntervalPoller_deferred, Deferred_js_1.Deferred.create(), "f"));
-        const result = await __classPrivateFieldGet(this, _IntervalPoller_fn, "f").call(this);
+        const deferred = (this.#deferred = Deferred_js_1.Deferred.create());
+        const result = await this.#fn();
         if (result) {
             deferred.resolve(result);
             return;
         }
-        __classPrivateFieldSet(this, _IntervalPoller_interval, setInterval(async () => {
-            const result = await __classPrivateFieldGet(this, _IntervalPoller_fn, "f").call(this);
+        this.#interval = setInterval(async () => {
+            const result = await this.#fn();
             if (!result) {
                 return;
             }
             deferred.resolve(result);
             await this.stop();
-        }, __classPrivateFieldGet(this, _IntervalPoller_ms, "f")), "f");
+        }, this.#ms);
     }
     async stop() {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _IntervalPoller_deferred, "f"), 'Polling never started.');
-        if (!__classPrivateFieldGet(this, _IntervalPoller_deferred, "f").finished()) {
-            __classPrivateFieldGet(this, _IntervalPoller_deferred, "f").reject(new Error('Polling stopped'));
+        (0, assert_js_1.assert)(this.#deferred, 'Polling never started.');
+        if (!this.#deferred.finished()) {
+            this.#deferred.reject(new Error('Polling stopped'));
         }
-        if (__classPrivateFieldGet(this, _IntervalPoller_interval, "f")) {
-            clearInterval(__classPrivateFieldGet(this, _IntervalPoller_interval, "f"));
-            __classPrivateFieldSet(this, _IntervalPoller_interval, undefined, "f");
+        if (this.#interval) {
+            clearInterval(this.#interval);
+            this.#interval = undefined;
         }
     }
     result() {
-        (0, assert_js_1.assert)(__classPrivateFieldGet(this, _IntervalPoller_deferred, "f"), 'Polling never started.');
-        return __classPrivateFieldGet(this, _IntervalPoller_deferred, "f").valueOrThrow();
+        (0, assert_js_1.assert)(this.#deferred, 'Polling never started.');
+        return this.#deferred.valueOrThrow();
     }
 }
 exports.IntervalPoller = IntervalPoller;
-_IntervalPoller_fn = new WeakMap(), _IntervalPoller_ms = new WeakMap(), _IntervalPoller_interval = new WeakMap(), _IntervalPoller_deferred = new WeakMap();
 //# sourceMappingURL=Poller.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/Poller.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/Poller.js.map
index c51ef4d..cc07efb 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/Poller.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/Poller.js.map
@@ -1 +1 @@
-{"version":3,"file":"Poller.js","sourceRoot":"","sources":["../../../../src/injected/Poller.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;;;AAEH,iDAAyC;AACzC,qDAA6C;AAW7C;;GAEG;AACH,MAAa,cAAc;IAOzB,YAAY,EAAoB,EAAE,IAAU;QAN5C,qCAAsB;QAEtB,uCAAY;QAEZ,2CAA6B;QAC7B,2CAAwB;QAEtB,uBAAA,IAAI,sBAAO,EAAE,MAAA,CAAC;QACd,uBAAA,IAAI,wBAAS,IAAI,MAAA,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,QAAQ,GAAG,CAAC,uBAAA,IAAI,4BAAa,sBAAQ,CAAC,MAAM,EAAK,MAAA,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,uBAAA,IAAI,0BAAI,MAAR,IAAI,CAAM,CAAC;QAChC,IAAI,MAAM,EAAE;YACV,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzB,OAAO;SACR;QAED,uBAAA,IAAI,4BAAa,IAAI,gBAAgB,CAAC,KAAK,IAAI,EAAE;YAC/C,MAAM,MAAM,GAAG,MAAM,uBAAA,IAAI,0BAAI,MAAR,IAAI,CAAM,CAAC;YAChC,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO;aACR;YACD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC,CAAC,MAAA,CAAC;QACH,uBAAA,IAAI,gCAAU,CAAC,OAAO,CAAC,uBAAA,IAAI,4BAAM,EAAE;YACjC,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAA,kBAAM,EAAC,uBAAA,IAAI,gCAAU,EAAE,wBAAwB,CAAC,CAAC;QACjD,IAAI,CAAC,uBAAA,IAAI,gCAAU,CAAC,QAAQ,EAAE,EAAE;YAC9B,uBAAA,IAAI,gCAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;SACrD;QACD,IAAI,uBAAA,IAAI,gCAAU,EAAE;YAClB,uBAAA,IAAI,gCAAU,CAAC,UAAU,EAAE,CAAC;YAC5B,uBAAA,IAAI,4BAAa,SAAS,MAAA,CAAC;SAC5B;IACH,CAAC;IAED,MAAM;QACJ,IAAA,kBAAM,EAAC,uBAAA,IAAI,gCAAU,EAAE,wBAAwB,CAAC,CAAC;QACjD,OAAO,uBAAA,IAAI,gCAAU,CAAC,YAAY,EAAE,CAAC;IACvC,CAAC;CACF;AAlDD,wCAkDC;;AAED;;GAEG;AACH,MAAa,SAAS;IAGpB,YAAY,EAAoB;QAFhC,gCAAsB;QACtB,sCAAwB;QAEtB,uBAAA,IAAI,iBAAO,EAAE,MAAA,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,QAAQ,GAAG,CAAC,uBAAA,IAAI,uBAAa,sBAAQ,CAAC,MAAM,EAAK,MAAA,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,uBAAA,IAAI,qBAAI,MAAR,IAAI,CAAM,CAAC;QAChC,IAAI,MAAM,EAAE;YACV,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzB,OAAO;SACR;QAED,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;YACtB,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE;gBACvB,OAAO;aACR;YACD,MAAM,MAAM,GAAG,MAAM,uBAAA,IAAI,qBAAI,MAAR,IAAI,CAAM,CAAC;YAChC,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBACnC,OAAO;aACR;YACD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC,CAAC;QACF,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAA,kBAAM,EAAC,uBAAA,IAAI,2BAAU,EAAE,wBAAwB,CAAC,CAAC;QACjD,IAAI,CAAC,uBAAA,IAAI,2BAAU,CAAC,QAAQ,EAAE,EAAE;YAC9B,uBAAA,IAAI,2BAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;SACrD;IACH,CAAC;IAED,MAAM;QACJ,IAAA,kBAAM,EAAC,uBAAA,IAAI,2BAAU,EAAE,wBAAwB,CAAC,CAAC;QACjD,OAAO,uBAAA,IAAI,2BAAU,CAAC,YAAY,EAAE,CAAC;IACvC,CAAC;CACF;AAzCD,8BAyCC;;AAED;;GAEG;AAEH,MAAa,cAAc;IAMzB,YAAY,EAAoB,EAAE,EAAU;QAL5C,qCAAsB;QACtB,qCAAY;QAEZ,2CAAyB;QACzB,2CAAwB;QAEtB,uBAAA,IAAI,sBAAO,EAAE,MAAA,CAAC;QACd,uBAAA,IAAI,sBAAO,EAAE,MAAA,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,QAAQ,GAAG,CAAC,uBAAA,IAAI,4BAAa,sBAAQ,CAAC,MAAM,EAAK,MAAA,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,uBAAA,IAAI,0BAAI,MAAR,IAAI,CAAM,CAAC;QAChC,IAAI,MAAM,EAAE;YACV,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzB,OAAO;SACR;QAED,uBAAA,IAAI,4BAAa,WAAW,CAAC,KAAK,IAAI,EAAE;YACtC,MAAM,MAAM,GAAG,MAAM,uBAAA,IAAI,0BAAI,MAAR,IAAI,CAAM,CAAC;YAChC,IAAI,CAAC,MAAM,EAAE;gBACX,OAAO;aACR;YACD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC,EAAE,uBAAA,IAAI,0BAAI,CAAC,MAAA,CAAC;IACf,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAA,kBAAM,EAAC,uBAAA,IAAI,gCAAU,EAAE,wBAAwB,CAAC,CAAC;QACjD,IAAI,CAAC,uBAAA,IAAI,gCAAU,CAAC,QAAQ,EAAE,EAAE;YAC9B,uBAAA,IAAI,gCAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;SACrD;QACD,IAAI,uBAAA,IAAI,gCAAU,EAAE;YAClB,aAAa,CAAC,uBAAA,IAAI,gCAAU,CAAC,CAAC;YAC9B,uBAAA,IAAI,4BAAa,SAAS,MAAA,CAAC;SAC5B;IACH,CAAC;IAED,MAAM;QACJ,IAAA,kBAAM,EAAC,uBAAA,IAAI,gCAAU,EAAE,wBAAwB,CAAC,CAAC;QACjD,OAAO,uBAAA,IAAI,gCAAU,CAAC,YAAY,EAAE,CAAC;IACvC,CAAC;CACF;AA5CD,wCA4CC"}
\ No newline at end of file
+{"version":3,"file":"Poller.js","sourceRoot":"","sources":["../../../../src/injected/Poller.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/TextContent.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/TextContent.d.ts
index 63c857b..f61fe34 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/TextContent.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/TextContent.d.ts
@@ -22,10 +22,10 @@
 /**
  * @internal
  */
-export type TextContent = {
+export interface TextContent {
     full: string;
     immediate: string[];
-};
+}
 /**
  * Builds the text content of a node using some custom logic.
  *
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/TextContent.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/TextContent.d.ts.map
index 84a9ad2..ead8a40 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/TextContent.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/TextContent.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"TextContent.d.ts","sourceRoot":"","sources":["../../../../src/injected/TextContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA+BH;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,SAAU,IAAI,KAAG,OAI1D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IAExB,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AA2BF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,SAAU,IAAI,KAAG,WAsD9C,CAAC"}
\ No newline at end of file
+{"version":3,"file":"TextContent.d.ts","sourceRoot":"","sources":["../../../../src/injected/TextContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA+BH;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,SAAU,IAAI,KAAG,OAI1D,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,WAAW;IAE1B,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AA2BD;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,SAAU,IAAI,KAAG,WAsD9C,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/injected.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/injected.d.ts
index 44e5ec0..b18783b 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/injected.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/injected/injected.d.ts
@@ -37,7 +37,7 @@
     pierceQuerySelector: (root: Node, selector: string) => Element | null;
     pierceQuerySelectorAll: (element: Node, selector: string) => Element[];
     customQuerySelectors: {
-        "__#44124@#selectors": Map<string, CustomQuerySelectors.CustomQuerySelector>;
+        "__#46183@#selectors": Map<string, CustomQuerySelectors.CustomQuerySelector>;
         register(name: string, handler: import("../puppeteer-core.js").CustomQueryHandler): void;
         unregister(name: string): void;
         get(name: string): CustomQuerySelectors.CustomQuerySelector | undefined;
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ChromeLauncher.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ChromeLauncher.js
index 7615805..d551965 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ChromeLauncher.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ChromeLauncher.js
@@ -41,7 +41,7 @@
             console.warn([
                 '\x1B[1m\x1B[43m\x1B[30m',
                 'Puppeteer old Headless deprecation warning:\x1B[0m\x1B[33m',
-                '  In the near feature `headless: true` will default to the new Headless mode',
+                '  In the near future `headless: true` will default to the new Headless mode',
                 '  for Chrome instead of the old Headless implementation. For more',
                 '  information, please see https://developer.chrome.com/articles/new-headless/.',
                 '  Consider opting in early by passing `headless: "new"` to `puppeteer.launch()`',
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ChromeLauncher.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ChromeLauncher.js.map
index a3335d9..2786e7e 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ChromeLauncher.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ChromeLauncher.js.map
@@ -1 +1 @@
-{"version":3,"file":"ChromeLauncher.js","sourceRoot":"","sources":["../../../../src/node/ChromeLauncher.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ChromeLauncher.js","sourceRoot":"","sources":["../../../../src/node/ChromeLauncher.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PipeTransport.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PipeTransport.js
index edf945e..23d9ce6 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PipeTransport.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PipeTransport.js
@@ -1,16 +1,4 @@
 "use strict";
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _PipeTransport_instances, _PipeTransport_pipeWrite, _PipeTransport_eventListeners, _PipeTransport_isClosed, _PipeTransport_pendingMessage, _PipeTransport_dispatch;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.PipeTransport = void 0;
 const util_js_1 = require("../common/util.js");
@@ -19,16 +7,17 @@
  * @internal
  */
 class PipeTransport {
+    #pipeWrite;
+    #eventListeners;
+    #isClosed = false;
+    #pendingMessage = '';
+    onclose;
+    onmessage;
     constructor(pipeWrite, pipeRead) {
-        _PipeTransport_instances.add(this);
-        _PipeTransport_pipeWrite.set(this, void 0);
-        _PipeTransport_eventListeners.set(this, void 0);
-        _PipeTransport_isClosed.set(this, false);
-        _PipeTransport_pendingMessage.set(this, '');
-        __classPrivateFieldSet(this, _PipeTransport_pipeWrite, pipeWrite, "f");
-        __classPrivateFieldSet(this, _PipeTransport_eventListeners, [
+        this.#pipeWrite = pipeWrite;
+        this.#eventListeners = [
             (0, util_js_1.addEventListener)(pipeRead, 'data', buffer => {
-                return __classPrivateFieldGet(this, _PipeTransport_instances, "m", _PipeTransport_dispatch).call(this, buffer);
+                return this.#dispatch(buffer);
             }),
             (0, util_js_1.addEventListener)(pipeRead, 'close', () => {
                 if (this.onclose) {
@@ -37,39 +26,39 @@
             }),
             (0, util_js_1.addEventListener)(pipeRead, 'error', util_js_1.debugError),
             (0, util_js_1.addEventListener)(pipeWrite, 'error', util_js_1.debugError),
-        ], "f");
+        ];
     }
     send(message) {
-        (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _PipeTransport_isClosed, "f"), '`PipeTransport` is closed.');
-        __classPrivateFieldGet(this, _PipeTransport_pipeWrite, "f").write(message);
-        __classPrivateFieldGet(this, _PipeTransport_pipeWrite, "f").write('\0');
+        (0, assert_js_1.assert)(!this.#isClosed, '`PipeTransport` is closed.');
+        this.#pipeWrite.write(message);
+        this.#pipeWrite.write('\0');
+    }
+    #dispatch(buffer) {
+        (0, assert_js_1.assert)(!this.#isClosed, '`PipeTransport` is closed.');
+        let end = buffer.indexOf('\0');
+        if (end === -1) {
+            this.#pendingMessage += buffer.toString();
+            return;
+        }
+        const message = this.#pendingMessage + buffer.toString(undefined, 0, end);
+        if (this.onmessage) {
+            this.onmessage.call(null, message);
+        }
+        let start = end + 1;
+        end = buffer.indexOf('\0', start);
+        while (end !== -1) {
+            if (this.onmessage) {
+                this.onmessage.call(null, buffer.toString(undefined, start, end));
+            }
+            start = end + 1;
+            end = buffer.indexOf('\0', start);
+        }
+        this.#pendingMessage = buffer.toString(undefined, start);
     }
     close() {
-        __classPrivateFieldSet(this, _PipeTransport_isClosed, true, "f");
-        (0, util_js_1.removeEventListeners)(__classPrivateFieldGet(this, _PipeTransport_eventListeners, "f"));
+        this.#isClosed = true;
+        (0, util_js_1.removeEventListeners)(this.#eventListeners);
     }
 }
 exports.PipeTransport = PipeTransport;
-_PipeTransport_pipeWrite = new WeakMap(), _PipeTransport_eventListeners = new WeakMap(), _PipeTransport_isClosed = new WeakMap(), _PipeTransport_pendingMessage = new WeakMap(), _PipeTransport_instances = new WeakSet(), _PipeTransport_dispatch = function _PipeTransport_dispatch(buffer) {
-    (0, assert_js_1.assert)(!__classPrivateFieldGet(this, _PipeTransport_isClosed, "f"), '`PipeTransport` is closed.');
-    let end = buffer.indexOf('\0');
-    if (end === -1) {
-        __classPrivateFieldSet(this, _PipeTransport_pendingMessage, __classPrivateFieldGet(this, _PipeTransport_pendingMessage, "f") + buffer.toString(), "f");
-        return;
-    }
-    const message = __classPrivateFieldGet(this, _PipeTransport_pendingMessage, "f") + buffer.toString(undefined, 0, end);
-    if (this.onmessage) {
-        this.onmessage.call(null, message);
-    }
-    let start = end + 1;
-    end = buffer.indexOf('\0', start);
-    while (end !== -1) {
-        if (this.onmessage) {
-            this.onmessage.call(null, buffer.toString(undefined, start, end));
-        }
-        start = end + 1;
-        end = buffer.indexOf('\0', start);
-    }
-    __classPrivateFieldSet(this, _PipeTransport_pendingMessage, buffer.toString(undefined, start), "f");
-};
 //# sourceMappingURL=PipeTransport.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PipeTransport.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PipeTransport.js.map
index 5ebe0e4..5631d74 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PipeTransport.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PipeTransport.js.map
@@ -1 +1 @@
-{"version":3,"file":"PipeTransport.js","sourceRoot":"","sources":["../../../../src/node/PipeTransport.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAgBA,+CAK2B;AAC3B,iDAAyC;AAEzC;;GAEG;AACH,MAAa,aAAa;IAUxB,YACE,SAAgC,EAChC,QAA+B;;QAXjC,2CAAkC;QAClC,gDAA0C;QAE1C,kCAAY,KAAK,EAAC;QAClB,wCAAkB,EAAE,EAAC;QASnB,uBAAA,IAAI,4BAAc,SAAS,MAAA,CAAC;QAC5B,uBAAA,IAAI,iCAAmB;YACrB,IAAA,0BAAgB,EAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;gBAC1C,OAAO,uBAAA,IAAI,yDAAU,MAAd,IAAI,EAAW,MAAM,CAAC,CAAC;YAChC,CAAC,CAAC;YACF,IAAA,0BAAgB,EAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;gBACvC,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACzB;YACH,CAAC,CAAC;YACF,IAAA,0BAAgB,EAAC,QAAQ,EAAE,OAAO,EAAE,oBAAU,CAAC;YAC/C,IAAA,0BAAgB,EAAC,SAAS,EAAE,OAAO,EAAE,oBAAU,CAAC;SACjD,MAAA,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAA,kBAAM,EAAC,CAAC,uBAAA,IAAI,+BAAU,EAAE,4BAA4B,CAAC,CAAC;QAEtD,uBAAA,IAAI,gCAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,uBAAA,IAAI,gCAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IA2BD,KAAK;QACH,uBAAA,IAAI,2BAAa,IAAI,MAAA,CAAC;QACtB,IAAA,8BAAoB,EAAC,uBAAA,IAAI,qCAAgB,CAAC,CAAC;IAC7C,CAAC;CACF;AAjED,sCAiEC;sRA7BW,MAAc;IACtB,IAAA,kBAAM,EAAC,CAAC,uBAAA,IAAI,+BAAU,EAAE,4BAA4B,CAAC,CAAC;IAEtD,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;QACd,+HAAwB,MAAM,CAAC,QAAQ,EAAE,MAAA,CAAC;QAC1C,OAAO;KACR;IACD,MAAM,OAAO,GAAG,uBAAA,IAAI,qCAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1E,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACpC;IAED,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;IACpB,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE;QACjB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;SACnE;QACD,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;QAChB,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KACnC;IACD,uBAAA,IAAI,iCAAmB,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,MAAA,CAAC;AAC3D,CAAC"}
\ No newline at end of file
+{"version":3,"file":"PipeTransport.js","sourceRoot":"","sources":["../../../../src/node/PipeTransport.ts"],"names":[],"mappings":";;;AAgBA,+CAK2B;AAC3B,iDAAyC;AAEzC;;GAEG;AACH,MAAa,aAAa;IACxB,UAAU,CAAwB;IAClC,eAAe,CAA2B;IAE1C,SAAS,GAAG,KAAK,CAAC;IAClB,eAAe,GAAG,EAAE,CAAC;IAErB,OAAO,CAAc;IACrB,SAAS,CAA2B;IAEpC,YACE,SAAgC,EAChC,QAA+B;QAE/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG;YACrB,IAAA,0BAAgB,EAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;gBAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC,CAAC;YACF,IAAA,0BAAgB,EAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;gBACvC,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACzB;YACH,CAAC,CAAC;YACF,IAAA,0BAAgB,EAAC,QAAQ,EAAE,OAAO,EAAE,oBAAU,CAAC;YAC/C,IAAA,0BAAgB,EAAC,SAAS,EAAE,OAAO,EAAE,oBAAU,CAAC;SACjD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAA,kBAAM,EAAC,CAAC,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;QAEtD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,IAAA,kBAAM,EAAC,CAAC,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;QAEtD,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO;SACR;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACpC;QAED,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;QACpB,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE;YACjB,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;aACnE;YACD,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;YAChB,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACnC;QACD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAA,8BAAoB,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;CACF;AAjED,sCAiEC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.d.ts
index 9926363..1c49e09 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.d.ts
@@ -8,12 +8,12 @@
 /**
  * @internal
  */
-export type ResolvedLaunchArgs = {
+export interface ResolvedLaunchArgs {
     isTempUserDataDir: boolean;
     userDataDir: string;
     executablePath: string;
     args: string[];
-};
+}
 /**
  * Describes a launcher - a class that is able to create and launch a browser instance.
  *
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.d.ts.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.d.ts.map
index 3f914a7..d3897fd 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.d.ts.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"ProductLauncher.d.ts","sourceRoot":"","sources":["../../../../src/node/ProductLauncher.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ProductLauncher.d.ts","sourceRoot":"","sources":["../../../../src/node/ProductLauncher.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.js
index 174cc09..428ca3a 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.js
@@ -22,18 +22,6 @@
     __setModuleDefault(result, mod);
     return result;
 };
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _ProductLauncher_product;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.ProductLauncher = void 0;
 /**
@@ -67,16 +55,24 @@
  * @public
  */
 class ProductLauncher {
+    #product;
+    /**
+     * @internal
+     */
+    puppeteer;
+    /**
+     * @internal
+     */
+    actualBrowserRevision;
     /**
      * @internal
      */
     constructor(puppeteer, product) {
-        _ProductLauncher_product.set(this, void 0);
         this.puppeteer = puppeteer;
-        __classPrivateFieldSet(this, _ProductLauncher_product, product, "f");
+        this.#product = product;
     }
     get product() {
-        return __classPrivateFieldGet(this, _ProductLauncher_product, "f");
+        return this.#product;
     }
     async launch(options = {}) {
         const { dumpio = false, env = process.env, handleSIGINT = true, handleSIGTERM = true, handleSIGHUP = true, ignoreHTTPSErrors = false, defaultViewport = { width: 800, height: 600 }, slowMo = 0, timeout = 30000, waitForInitialPage = true, protocol, protocolTimeout, } = options;
@@ -109,7 +105,7 @@
             await this.closeBrowser(browserProcess, connection);
         };
         try {
-            if (__classPrivateFieldGet(this, _ProductLauncher_product, "f") === 'firefox' && protocol === 'webDriverBiDi') {
+            if (this.#product === 'firefox' && protocol === 'webDriverBiDi') {
                 browser = await this.createBiDiBrowser(browserProcess, browserCloseCallback, {
                     timeout,
                     protocolTimeout,
@@ -316,5 +312,4 @@
     }
 }
 exports.ProductLauncher = ProductLauncher;
-_ProductLauncher_product = new WeakMap();
 //# sourceMappingURL=ProductLauncher.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.js.map
index b08738c..a73a64e 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/ProductLauncher.js.map
@@ -1 +1 @@
-{"version":3,"file":"ProductLauncher.js","sourceRoot":"","sources":["../../../../src/node/ProductLauncher.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ProductLauncher.js","sourceRoot":"","sources":["../../../../src/node/ProductLauncher.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PuppeteerNode.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PuppeteerNode.js
index 5511887..8c5fd83 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PuppeteerNode.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PuppeteerNode.js
@@ -14,18 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _PuppeteerNode_instances, _PuppeteerNode__launcher, _PuppeteerNode_lastLaunchedProduct, _PuppeteerNode_launcher_get;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.PuppeteerNode = void 0;
 const browsers_1 = require("@puppeteer/browsers");
@@ -69,19 +57,22 @@
  * @public
  */
 class PuppeteerNode extends Puppeteer_js_1.Puppeteer {
+    #_launcher;
+    #lastLaunchedProduct;
+    /**
+     * @internal
+     */
+    defaultBrowserRevision;
+    /**
+     * @internal
+     */
+    configuration = {};
     /**
      * @internal
      */
     constructor(settings) {
         const { configuration, ...commonSettings } = settings;
         super(commonSettings);
-        _PuppeteerNode_instances.add(this);
-        _PuppeteerNode__launcher.set(this, void 0);
-        _PuppeteerNode_lastLaunchedProduct.set(this, void 0);
-        /**
-         * @internal
-         */
-        this.configuration = {};
         if (configuration) {
             this.configuration = configuration;
         }
@@ -147,20 +138,42 @@
      */
     launch(options = {}) {
         const { product = this.defaultProduct } = options;
-        __classPrivateFieldSet(this, _PuppeteerNode_lastLaunchedProduct, product, "f");
-        return __classPrivateFieldGet(this, _PuppeteerNode_instances, "a", _PuppeteerNode_launcher_get).launch(options);
+        this.#lastLaunchedProduct = product;
+        return this.#launcher.launch(options);
+    }
+    /**
+     * @internal
+     */
+    get #launcher() {
+        if (this.#_launcher &&
+            this.#_launcher.product === this.lastLaunchedProduct) {
+            return this.#_launcher;
+        }
+        switch (this.lastLaunchedProduct) {
+            case 'chrome':
+                this.defaultBrowserRevision = revisions_js_1.PUPPETEER_REVISIONS.chrome;
+                this.#_launcher = new ChromeLauncher_js_1.ChromeLauncher(this);
+                break;
+            case 'firefox':
+                this.defaultBrowserRevision = revisions_js_1.PUPPETEER_REVISIONS.firefox;
+                this.#_launcher = new FirefoxLauncher_js_1.FirefoxLauncher(this);
+                break;
+            default:
+                throw new Error(`Unknown product: ${this.#lastLaunchedProduct}`);
+        }
+        return this.#_launcher;
     }
     /**
      * The default executable path.
      */
     executablePath(channel) {
-        return __classPrivateFieldGet(this, _PuppeteerNode_instances, "a", _PuppeteerNode_launcher_get).executablePath(channel);
+        return this.#launcher.executablePath(channel);
     }
     /**
      * @internal
      */
     get browserRevision() {
-        return (__classPrivateFieldGet(this, _PuppeteerNode__launcher, "f")?.getActualBrowserRevision() ??
+        return (this.#_launcher?.getActualBrowserRevision() ??
             this.configuration.browserRevision ??
             this.defaultBrowserRevision);
     }
@@ -177,7 +190,7 @@
      * The name of the browser that was last launched.
      */
     get lastLaunchedProduct() {
-        return __classPrivateFieldGet(this, _PuppeteerNode_lastLaunchedProduct, "f") ?? this.defaultProduct;
+        return this.#lastLaunchedProduct ?? this.defaultProduct;
     }
     /**
      * The name of the browser that will be launched by default. For
@@ -196,7 +209,7 @@
      * @returns The name of the browser that is under automation.
      */
     get product() {
-        return __classPrivateFieldGet(this, _PuppeteerNode_instances, "a", _PuppeteerNode_launcher_get).product;
+        return this.#launcher.product;
     }
     /**
      * @param options - Set of configurable options to set on the browser.
@@ -204,7 +217,7 @@
      * @returns The default flags that Chromium will be launched with.
      */
     defaultArgs(options = {}) {
-        return __classPrivateFieldGet(this, _PuppeteerNode_instances, "a", _PuppeteerNode_launcher_get).defaultArgs(options);
+        return this.#launcher.defaultArgs(options);
     }
     /**
      * Removes all non-current Firefox and Chrome binaries in the cache directory
@@ -273,23 +286,4 @@
     }
 }
 exports.PuppeteerNode = PuppeteerNode;
-_PuppeteerNode__launcher = new WeakMap(), _PuppeteerNode_lastLaunchedProduct = new WeakMap(), _PuppeteerNode_instances = new WeakSet(), _PuppeteerNode_launcher_get = function _PuppeteerNode_launcher_get() {
-    if (__classPrivateFieldGet(this, _PuppeteerNode__launcher, "f") &&
-        __classPrivateFieldGet(this, _PuppeteerNode__launcher, "f").product === this.lastLaunchedProduct) {
-        return __classPrivateFieldGet(this, _PuppeteerNode__launcher, "f");
-    }
-    switch (this.lastLaunchedProduct) {
-        case 'chrome':
-            this.defaultBrowserRevision = revisions_js_1.PUPPETEER_REVISIONS.chrome;
-            __classPrivateFieldSet(this, _PuppeteerNode__launcher, new ChromeLauncher_js_1.ChromeLauncher(this), "f");
-            break;
-        case 'firefox':
-            this.defaultBrowserRevision = revisions_js_1.PUPPETEER_REVISIONS.firefox;
-            __classPrivateFieldSet(this, _PuppeteerNode__launcher, new FirefoxLauncher_js_1.FirefoxLauncher(this), "f");
-            break;
-        default:
-            throw new Error(`Unknown product: ${__classPrivateFieldGet(this, _PuppeteerNode_lastLaunchedProduct, "f")}`);
-    }
-    return __classPrivateFieldGet(this, _PuppeteerNode__launcher, "f");
-};
 //# sourceMappingURL=PuppeteerNode.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PuppeteerNode.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PuppeteerNode.js.map
index 41049b5..37f548d 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PuppeteerNode.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PuppeteerNode.js.map
@@ -1 +1 @@
-{"version":3,"file":"PuppeteerNode.js","sourceRoot":"","sources":["../../../../src/node/PuppeteerNode.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"PuppeteerNode.js","sourceRoot":"","sources":["../../../../src/node/PuppeteerNode.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/revisions.d.ts b/node_modules/puppeteer-core/lib/cjs/puppeteer/revisions.d.ts
index 4380684..d8b94fb 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/revisions.d.ts
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/revisions.d.ts
@@ -17,7 +17,7 @@
  * @internal
  */
 export declare const PUPPETEER_REVISIONS: Readonly<{
-    chrome: "114.0.5735.133";
+    chrome: "115.0.5790.102";
     firefox: "latest";
 }>;
 //# sourceMappingURL=revisions.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/revisions.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/revisions.js
index 56a1b1c..8287f96 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/revisions.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/revisions.js
@@ -20,7 +20,7 @@
  * @internal
  */
 exports.PUPPETEER_REVISIONS = Object.freeze({
-    chrome: '114.0.5735.133',
+    chrome: '115.0.5790.102',
     firefox: 'latest',
 });
 //# sourceMappingURL=revisions.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/util/Deferred.js b/node_modules/puppeteer-core/lib/cjs/puppeteer/util/Deferred.js
index 58f96ca..ee12070 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/util/Deferred.js
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/util/Deferred.js
@@ -1,16 +1,4 @@
 "use strict";
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Deferred_instances, _Deferred_isResolved, _Deferred_isRejected, _Deferred_value, _Deferred_resolver, _Deferred_taskPromise, _Deferred_timeoutId, _Deferred_finish;
 Object.defineProperty(exports, "__esModule", { value: true });
 exports.Deferred = void 0;
 const Errors_js_1 = require("../common/Errors.js");
@@ -24,51 +12,56 @@
  * @internal
  */
 class Deferred {
+    #isResolved = false;
+    #isRejected = false;
+    #value;
+    #resolver = () => { };
+    #taskPromise = new Promise(resolve => {
+        this.#resolver = resolve;
+    });
+    #timeoutId;
     constructor(opts) {
-        _Deferred_instances.add(this);
-        _Deferred_isResolved.set(this, false);
-        _Deferred_isRejected.set(this, false);
-        _Deferred_value.set(this, void 0);
-        _Deferred_resolver.set(this, () => { });
-        _Deferred_taskPromise.set(this, new Promise(resolve => {
-            __classPrivateFieldSet(this, _Deferred_resolver, resolve, "f");
-        }));
-        _Deferred_timeoutId.set(this, void 0);
-        __classPrivateFieldSet(this, _Deferred_timeoutId, opts && opts.timeout > 0
-            ? setTimeout(() => {
-                this.reject(new Errors_js_1.TimeoutError(opts.message));
-            }, opts.timeout)
-            : undefined, "f");
+        this.#timeoutId =
+            opts && opts.timeout > 0
+                ? setTimeout(() => {
+                    this.reject(new Errors_js_1.TimeoutError(opts.message));
+                }, opts.timeout)
+                : undefined;
+    }
+    #finish(value) {
+        clearTimeout(this.#timeoutId);
+        this.#value = value;
+        this.#resolver();
     }
     resolve(value) {
-        if (__classPrivateFieldGet(this, _Deferred_isRejected, "f") || __classPrivateFieldGet(this, _Deferred_isResolved, "f")) {
+        if (this.#isRejected || this.#isResolved) {
             return;
         }
-        __classPrivateFieldSet(this, _Deferred_isResolved, true, "f");
-        __classPrivateFieldGet(this, _Deferred_instances, "m", _Deferred_finish).call(this, value);
+        this.#isResolved = true;
+        this.#finish(value);
     }
     reject(error) {
-        if (__classPrivateFieldGet(this, _Deferred_isRejected, "f") || __classPrivateFieldGet(this, _Deferred_isResolved, "f")) {
+        if (this.#isRejected || this.#isResolved) {
             return;
         }
-        __classPrivateFieldSet(this, _Deferred_isRejected, true, "f");
-        __classPrivateFieldGet(this, _Deferred_instances, "m", _Deferred_finish).call(this, error);
+        this.#isRejected = true;
+        this.#finish(error);
     }
     resolved() {
-        return __classPrivateFieldGet(this, _Deferred_isResolved, "f");
+        return this.#isResolved;
     }
     finished() {
-        return __classPrivateFieldGet(this, _Deferred_isResolved, "f") || __classPrivateFieldGet(this, _Deferred_isRejected, "f");
+        return this.#isResolved || this.#isRejected;
     }
     value() {
-        return __classPrivateFieldGet(this, _Deferred_value, "f");
+        return this.#value;
     }
     async valueOrThrow() {
-        await __classPrivateFieldGet(this, _Deferred_taskPromise, "f");
-        if (__classPrivateFieldGet(this, _Deferred_isRejected, "f")) {
-            throw __classPrivateFieldGet(this, _Deferred_value, "f");
+        await this.#taskPromise;
+        if (this.#isRejected) {
+            throw this.#value;
         }
-        return __classPrivateFieldGet(this, _Deferred_value, "f");
+        return this.#value;
     }
     static create(opts) {
         return new Deferred(opts);
@@ -78,7 +71,7 @@
         try {
             const promises = awaitables.map(value => {
                 if (value instanceof Deferred) {
-                    if (__classPrivateFieldGet(value, _Deferred_timeoutId, "f")) {
+                    if (value.#timeoutId) {
                         deferredWithTimeout.add(value);
                     }
                     return value.valueOrThrow();
@@ -99,9 +92,4 @@
     }
 }
 exports.Deferred = Deferred;
-_Deferred_isResolved = new WeakMap(), _Deferred_isRejected = new WeakMap(), _Deferred_value = new WeakMap(), _Deferred_resolver = new WeakMap(), _Deferred_taskPromise = new WeakMap(), _Deferred_timeoutId = new WeakMap(), _Deferred_instances = new WeakSet(), _Deferred_finish = function _Deferred_finish(value) {
-    clearTimeout(__classPrivateFieldGet(this, _Deferred_timeoutId, "f"));
-    __classPrivateFieldSet(this, _Deferred_value, value, "f");
-    __classPrivateFieldGet(this, _Deferred_resolver, "f").call(this);
-};
 //# sourceMappingURL=Deferred.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/puppeteer/util/Deferred.js.map b/node_modules/puppeteer-core/lib/cjs/puppeteer/util/Deferred.js.map
index 009ab8e..7492df1 100644
--- a/node_modules/puppeteer-core/lib/cjs/puppeteer/util/Deferred.js.map
+++ b/node_modules/puppeteer-core/lib/cjs/puppeteer/util/Deferred.js.map
@@ -1 +1 @@
-{"version":3,"file":"Deferred.js","sourceRoot":"","sources":["../../../../src/util/Deferred.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Deferred.js","sourceRoot":"","sources":["../../../../src/util/Deferred.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/cjs/third_party/mitt/index.js b/node_modules/puppeteer-core/lib/cjs/third_party/mitt/index.js
index e9d061b..d1f153d 100644
--- a/node_modules/puppeteer-core/lib/cjs/third_party/mitt/index.js
+++ b/node_modules/puppeteer-core/lib/cjs/third_party/mitt/index.js
@@ -1,5 +1 @@
-'use strict';
-
-function mitt(n){return {all:n=n||new Map,on:function(t,e){var i=n.get(t);i?i.push(e):n.set(t,[e]);},off:function(t,e){var i=n.get(t);i&&(e?i.splice(i.indexOf(e)>>>0,1):n.set(t,[]));},emit:function(t,e){var i=n.get(t);i&&i.slice().map(function(n){n(e);}),(i=n.get("*"))&&i.slice().map(function(n){n(t,e);});}}}
-
-module.exports = mitt;
+"use strict";module.exports=function(t){return{all:t=t||new Map,on:function(e,n){var i=t.get(e);i?i.push(n):t.set(e,[n])},off:function(e,n){var i=t.get(e);i&&(n?i.splice(i.indexOf(n)>>>0,1):t.set(e,[]))},emit:function(e,n){var i=t.get(e);i&&i.slice().map((function(t){t(n)})),(i=t.get("*"))&&i.slice().map((function(t){t(e,n)}))}}};
diff --git a/node_modules/puppeteer-core/lib/cjs/third_party/rxjs/rxjs.d.ts b/node_modules/puppeteer-core/lib/cjs/third_party/rxjs/rxjs.d.ts
new file mode 100644
index 0000000..b9e9e04
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/third_party/rxjs/rxjs.d.ts
@@ -0,0 +1,16 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+export { catchError, defaultIfEmpty, filter, first, ignoreElements, map, mergeMap, raceWith, retry, tap, throwIfEmpty, firstValueFrom, defer, EMPTY, from, fromEvent, merge, race, timer, OperatorFunction, identity, noop, pipe, Observable, } from 'rxjs';
diff --git a/node_modules/puppeteer-core/lib/cjs/third_party/rxjs/rxjs.js b/node_modules/puppeteer-core/lib/cjs/third_party/rxjs/rxjs.js
new file mode 100644
index 0000000..f7bd3b1
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/cjs/third_party/rxjs/rxjs.js
@@ -0,0 +1 @@
+"use strict";var n=function(t,r){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])},n(t,r)};function t(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function e(){this.constructor=t}n(t,r),t.prototype=null===r?Object.create(r):(e.prototype=r.prototype,new e)}function r(n,t,r,e){return new(r||(r=Promise))((function(o,i){function u(n){try{s(e.next(n))}catch(n){i(n)}}function c(n){try{s(e.throw(n))}catch(n){i(n)}}function s(n){var t;n.done?o(n.value):(t=n.value,t instanceof r?t:new r((function(n){n(t)}))).then(u,c)}s((e=e.apply(n,t||[])).next())}))}function e(n,t){var r,e,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(s){return function(c){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(u=0)),u;)try{if(r=1,e&&(o=2&c[0]?e.return:c[0]?e.throw||((o=e.return)&&o.call(e),0):e.next)&&!(o=o.call(e,c[1])).done)return o;switch(e=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return u.label++,{value:c[1],done:!1};case 5:u.label++,e=c[1],c=[0];continue;case 7:c=u.ops.pop(),u.trys.pop();continue;default:if(!(o=u.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){u=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){u.label=c[1];break}if(6===c[0]&&u.label<o[1]){u.label=o[1],o=c;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(c);break}o[2]&&u.ops.pop(),u.trys.pop();continue}c=t.call(n,u)}catch(n){c=[6,n],e=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,s])}}}function o(n){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&n[t],e=0;if(r)return r.call(n);if(n&&"number"==typeof n.length)return{next:function(){return n&&e>=n.length&&(n=void 0),{value:n&&n[e++],done:!n}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function i(n,t){var r="function"==typeof Symbol&&n[Symbol.iterator];if(!r)return n;var e,o,i=r.call(n),u=[];try{for(;(void 0===t||t-- >0)&&!(e=i.next()).done;)u.push(e.value)}catch(n){o={error:n}}finally{try{e&&!e.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return u}function u(n,t,r){if(r||2===arguments.length)for(var e,o=0,i=t.length;o<i;o++)!e&&o in t||(e||(e=Array.prototype.slice.call(t,0,o)),e[o]=t[o]);return n.concat(e||Array.prototype.slice.call(t))}function c(n){return this instanceof c?(this.v=n,this):new c(n)}function s(n,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,o=r.apply(n,t||[]),i=[];return e={},u("next"),u("throw"),u("return"),e[Symbol.asyncIterator]=function(){return this},e;function u(n){o[n]&&(e[n]=function(t){return new Promise((function(r,e){i.push([n,t,r,e])>1||s(n,t)}))})}function s(n,t){try{(r=o[n](t)).value instanceof c?Promise.resolve(r.value.v).then(a,l):f(i[0][2],r)}catch(n){f(i[0][3],n)}var r}function a(n){s("next",n)}function l(n){s("throw",n)}function f(n,t){n(t),i.shift(),i.length&&s(i[0][0],i[0][1])}}function a(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=n[Symbol.asyncIterator];return r?r.call(n):(n=o(n),t={},e("next"),e("throw"),e("return"),t[Symbol.asyncIterator]=function(){return this},t);function e(r){t[r]=n[r]&&function(t){return new Promise((function(e,o){(function(n,t,r,e){Promise.resolve(e).then((function(t){n({value:t,done:r})}),t)})(e,o,(t=n[r](t)).done,t.value)}))}}}function l(n){return"function"==typeof n}function f(n){var t=n((function(n){Error.call(n),n.stack=(new Error).stack}));return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}"function"==typeof SuppressedError&&SuppressedError;var p=f((function(n){return function(t){n(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map((function(n,t){return t+1+") "+n.toString()})).join("\n  "):"",this.name="UnsubscriptionError",this.errors=t}}));function h(n,t){if(n){var r=n.indexOf(t);0<=r&&n.splice(r,1)}}var v=function(){function n(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}var t;return n.prototype.unsubscribe=function(){var n,t,r,e,c;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=o(s),f=a.next();!f.done;f=a.next()){f.value.remove(this)}}catch(t){n={error:t}}finally{try{f&&!f.done&&(t=a.return)&&t.call(a)}finally{if(n)throw n.error}}else s.remove(this);var h=this.initialTeardown;if(l(h))try{h()}catch(n){c=n instanceof p?n.errors:[n]}var v=this._finalizers;if(v){this._finalizers=null;try{for(var d=o(v),y=d.next();!y.done;y=d.next()){var m=y.value;try{b(m)}catch(n){c=null!=c?c:[],n instanceof p?c=u(u([],i(c)),i(n.errors)):c.push(n)}}}catch(n){r={error:n}}finally{try{y&&!y.done&&(e=d.return)&&e.call(d)}finally{if(r)throw r.error}}}if(c)throw new p(c)}},n.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)b(t);else{if(t instanceof n){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(r=this._finalizers)&&void 0!==r?r:[]).push(t)}},n.prototype._hasParent=function(n){var t=this._parentage;return t===n||Array.isArray(t)&&t.includes(n)},n.prototype._addParent=function(n){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n},n.prototype._removeParent=function(n){var t=this._parentage;t===n?this._parentage=null:Array.isArray(t)&&h(t,n)},n.prototype.remove=function(t){var r=this._finalizers;r&&h(r,t),t instanceof n&&t._removeParent(this)},n.EMPTY=((t=new n).closed=!0,t),n}();function d(n){return n instanceof v||n&&"closed"in n&&l(n.remove)&&l(n.add)&&l(n.unsubscribe)}function b(n){l(n)?n():n.unsubscribe()}v.EMPTY;var y={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},m={setTimeout:function(n,t){for(var r=[],e=2;e<arguments.length;e++)r[e-2]=arguments[e];var o=m.delegate;return(null==o?void 0:o.setTimeout)?o.setTimeout.apply(o,u([n,t],i(r))):setTimeout.apply(void 0,u([n,t],i(r)))},clearTimeout:function(n){var t=m.delegate;return((null==t?void 0:t.clearTimeout)||clearTimeout)(n)},delegate:void 0};function w(n){m.setTimeout((function(){throw n}))}function x(){}var g=function(n){function r(t){var r=n.call(this)||this;return r.isStopped=!1,t?(r.destination=t,d(t)&&t.add(r)):r.destination=P,r}return t(r,n),r.create=function(n,t,r){return new I(n,t,r)},r.prototype.next=function(n){this.isStopped||this._next(n)},r.prototype.error=function(n){this.isStopped||(this.isStopped=!0,this._error(n))},r.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},r.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,n.prototype.unsubscribe.call(this),this.destination=null)},r.prototype._next=function(n){this.destination.next(n)},r.prototype._error=function(n){try{this.destination.error(n)}finally{this.unsubscribe()}},r.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},r}(v),_=Function.prototype.bind;function S(n,t){return _.call(n,t)}var E=function(){function n(n){this.partialObserver=n}return n.prototype.next=function(n){var t=this.partialObserver;if(t.next)try{t.next(n)}catch(n){A(n)}},n.prototype.error=function(n){var t=this.partialObserver;if(t.error)try{t.error(n)}catch(n){A(n)}else A(n)},n.prototype.complete=function(){var n=this.partialObserver;if(n.complete)try{n.complete()}catch(n){A(n)}},n}(),I=function(n){function r(t,r,e){var o,i,u=n.call(this)||this;l(t)||!t?o={next:null!=t?t:void 0,error:null!=r?r:void 0,complete:null!=e?e:void 0}:u&&y.useDeprecatedNextContext?((i=Object.create(t)).unsubscribe=function(){return u.unsubscribe()},o={next:t.next&&S(t.next,i),error:t.error&&S(t.error,i),complete:t.complete&&S(t.complete,i)}):o=t;return u.destination=new E(o),u}return t(r,n),r}(g);function A(n){w(n)}var P={closed:!0,next:x,error:function(n){throw n},complete:x},T="function"==typeof Symbol&&Symbol.observable||"@@observable";function O(n){return n}function j(n){return 0===n.length?O:1===n.length?n[0]:function(t){return n.reduce((function(n,t){return t(n)}),t)}}var k=function(){function n(n){n&&(this._subscribe=n)}return n.prototype.lift=function(t){var r=new n;return r.source=this,r.operator=t,r},n.prototype.subscribe=function(n,t,r){var e,o=this,i=(e=n)&&e instanceof g||function(n){return n&&l(n.next)&&l(n.error)&&l(n.complete)}(e)&&d(e)?n:new I(n,t,r);return function(){var n=o,t=n.operator,r=n.source;i.add(t?t.call(i,r):r?o._subscribe(i):o._trySubscribe(i))}(),i},n.prototype._trySubscribe=function(n){try{return this._subscribe(n)}catch(t){n.error(t)}},n.prototype.forEach=function(n,t){var r=this;return new(t=z(t))((function(t,e){var o=new I({next:function(t){try{n(t)}catch(n){e(n),o.unsubscribe()}},error:e,complete:t});r.subscribe(o)}))},n.prototype._subscribe=function(n){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(n)},n.prototype[T]=function(){return this},n.prototype.pipe=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return j(n)(this)},n.prototype.toPromise=function(n){var t=this;return new(n=z(n))((function(n,r){var e;t.subscribe((function(n){return e=n}),(function(n){return r(n)}),(function(){return n(e)}))}))},n.create=function(t){return new n(t)},n}();function z(n){var t;return null!==(t=null!=n?n:y.Promise)&&void 0!==t?t:Promise}function L(n){return function(t){if(function(n){return l(null==n?void 0:n.lift)}(t))return t.lift((function(t){try{return n(t,this)}catch(n){this.error(n)}}));throw new TypeError("Unable to lift unknown Observable type")}}function U(n,t,r,e,o){return new C(n,t,r,e,o)}var C=function(n){function r(t,r,e,o,i,u){var c=n.call(this,t)||this;return c.onFinalize=i,c.shouldUnsubscribe=u,c._next=r?function(n){try{r(n)}catch(n){t.error(n)}}:n.prototype._next,c._error=o?function(n){try{o(n)}catch(n){t.error(n)}finally{this.unsubscribe()}}:n.prototype._error,c._complete=e?function(){try{e()}catch(n){t.error(n)}finally{this.unsubscribe()}}:n.prototype._complete,c}return t(r,n),r.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;n.prototype.unsubscribe.call(this),!r&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},r}(g),D={now:function(){return(D.delegate||Date).now()},delegate:void 0},N=function(n){function r(t,r){return n.call(this)||this}return t(r,n),r.prototype.schedule=function(n,t){return this},r}(v),Y={setInterval:function(n,t){for(var r=[],e=2;e<arguments.length;e++)r[e-2]=arguments[e];var o=Y.delegate;return(null==o?void 0:o.setInterval)?o.setInterval.apply(o,u([n,t],i(r))):setInterval.apply(void 0,u([n,t],i(r)))},clearInterval:function(n){var t=Y.delegate;return((null==t?void 0:t.clearInterval)||clearInterval)(n)},delegate:void 0},F=function(n){function r(t,r){var e=n.call(this,t,r)||this;return e.scheduler=t,e.work=r,e.pending=!1,e}return t(r,n),r.prototype.schedule=function(n,t){var r;if(void 0===t&&(t=0),this.closed)return this;this.state=n;var e=this.id,o=this.scheduler;return null!=e&&(this.id=this.recycleAsyncId(o,e,t)),this.pending=!0,this.delay=t,this.id=null!==(r=this.id)&&void 0!==r?r:this.requestAsyncId(o,this.id,t),this},r.prototype.requestAsyncId=function(n,t,r){return void 0===r&&(r=0),Y.setInterval(n.flush.bind(n,this),r)},r.prototype.recycleAsyncId=function(n,t,r){if(void 0===r&&(r=0),null!=r&&this.delay===r&&!1===this.pending)return t;null!=t&&Y.clearInterval(t)},r.prototype.execute=function(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var r=this._execute(n,t);if(r)return r;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},r.prototype._execute=function(n,t){var r,e=!1;try{this.work(n)}catch(n){e=!0,r=n||new Error("Scheduled action threw falsy error")}if(e)return this.unsubscribe(),r},r.prototype.unsubscribe=function(){if(!this.closed){var t=this.id,r=this.scheduler,e=r.actions;this.work=this.state=this.scheduler=null,this.pending=!1,h(e,this),null!=t&&(this.id=this.recycleAsyncId(r,t,null)),this.delay=null,n.prototype.unsubscribe.call(this)}},r}(N),M=function(){function n(t,r){void 0===r&&(r=n.now),this.schedulerActionCtor=t,this.now=r}return n.prototype.schedule=function(n,t,r){return void 0===t&&(t=0),new this.schedulerActionCtor(this,n).schedule(r,t)},n.now=D.now,n}(),q=new(function(n){function r(t,r){void 0===r&&(r=M.now);var e=n.call(this,t,r)||this;return e.actions=[],e._active=!1,e}return t(r,n),r.prototype.flush=function(n){var t=this.actions;if(this._active)t.push(n);else{var r;this._active=!0;do{if(r=n.execute(n.state,n.delay))break}while(n=t.shift());if(this._active=!1,r){for(;n=t.shift();)n.unsubscribe();throw r}}},r}(M))(F),R=new k((function(n){return n.complete()}));function V(n){return n&&l(n.schedule)}function G(n){return n[n.length-1]}var H=function(n){return n&&"number"==typeof n.length&&"function"!=typeof n};function W(n){return l(null==n?void 0:n.then)}function B(n){return l(n[T])}function J(n){return Symbol.asyncIterator&&l(null==n?void 0:n[Symbol.asyncIterator])}function K(n){return new TypeError("You provided "+(null!==n&&"object"==typeof n?"an invalid object":"'"+n+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}var Q="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function X(n){return l(null==n?void 0:n[Q])}function Z(n){return s(this,arguments,(function(){var t,r,o;return e(this,(function(e){switch(e.label){case 0:t=n.getReader(),e.label=1;case 1:e.trys.push([1,,9,10]),e.label=2;case 2:return[4,c(t.read())];case 3:return r=e.sent(),o=r.value,r.done?[4,c(void 0)]:[3,5];case 4:return[2,e.sent()];case 5:return[4,c(o)];case 6:return[4,e.sent()];case 7:return e.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}}))}))}function $(n){return l(null==n?void 0:n.getReader)}function nn(n){if(n instanceof k)return n;if(null!=n){if(B(n))return i=n,new k((function(n){var t=i[T]();if(l(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")}));if(H(n))return e=n,new k((function(n){for(var t=0;t<e.length&&!n.closed;t++)n.next(e[t]);n.complete()}));if(W(n))return r=n,new k((function(n){r.then((function(t){n.closed||(n.next(t),n.complete())}),(function(t){return n.error(t)})).then(null,w)}));if(J(n))return tn(n);if(X(n))return t=n,new k((function(n){var r,e;try{for(var i=o(t),u=i.next();!u.done;u=i.next()){var c=u.value;if(n.next(c),n.closed)return}}catch(n){r={error:n}}finally{try{u&&!u.done&&(e=i.return)&&e.call(i)}finally{if(r)throw r.error}}n.complete()}));if($(n))return tn(Z(n))}var t,r,e,i;throw K(n)}function tn(n){return new k((function(t){(function(n,t){var o,i,u,c;return r(this,void 0,void 0,(function(){var r,s;return e(this,(function(e){switch(e.label){case 0:e.trys.push([0,5,6,11]),o=a(n),e.label=1;case 1:return[4,o.next()];case 2:if((i=e.sent()).done)return[3,4];if(r=i.value,t.next(r),t.closed)return[2];e.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return s=e.sent(),u={error:s},[3,11];case 6:return e.trys.push([6,,9,10]),i&&!i.done&&(c=o.return)?[4,c.call(o)]:[3,8];case 7:e.sent(),e.label=8;case 8:return[3,10];case 9:if(u)throw u.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}}))}))})(n,t).catch((function(n){return t.error(n)}))}))}function rn(n,t,r,e,o){void 0===e&&(e=0),void 0===o&&(o=!1);var i=t.schedule((function(){r(),o?n.add(this.schedule(null,e)):this.unsubscribe()}),e);if(n.add(i),!o)return i}function en(n,t){return void 0===t&&(t=0),L((function(r,e){r.subscribe(U(e,(function(r){return rn(e,n,(function(){return e.next(r)}),t)}),(function(){return rn(e,n,(function(){return e.complete()}),t)}),(function(r){return rn(e,n,(function(){return e.error(r)}),t)})))}))}function on(n,t){return void 0===t&&(t=0),L((function(r,e){e.add(n.schedule((function(){return r.subscribe(e)}),t))}))}function un(n,t){if(!n)throw new Error("Iterable cannot be null");return new k((function(r){rn(r,t,(function(){var e=n[Symbol.asyncIterator]();rn(r,t,(function(){e.next().then((function(n){n.done?r.complete():r.next(n.value)}))}),0,!0)}))}))}function cn(n,t){if(null!=n){if(B(n))return function(n,t){return nn(n).pipe(on(t),en(t))}(n,t);if(H(n))return function(n,t){return new k((function(r){var e=0;return t.schedule((function(){e===n.length?r.complete():(r.next(n[e++]),r.closed||this.schedule())}))}))}(n,t);if(W(n))return function(n,t){return nn(n).pipe(on(t),en(t))}(n,t);if(J(n))return un(n,t);if(X(n))return function(n,t){return new k((function(r){var e;return rn(r,t,(function(){e=n[Q](),rn(r,t,(function(){var n,t,o;try{t=(n=e.next()).value,o=n.done}catch(n){return void r.error(n)}o?r.complete():r.next(t)}),0,!0)})),function(){return l(null==e?void 0:e.return)&&e.return()}}))}(n,t);if($(n))return function(n,t){return un(Z(n),t)}(n,t)}throw K(n)}function sn(n,t){return t?cn(n,t):nn(n)}var an=f((function(n){return function(){n(this),this.name="EmptyError",this.message="no elements in sequence"}}));function ln(n,t){return L((function(r,e){var o=0;r.subscribe(U(e,(function(r){e.next(n.call(t,r,o++))})))}))}var fn=Array.isArray;function pn(n){return ln((function(t){return function(n,t){return fn(t)?n.apply(void 0,u([],i(t))):n(t)}(n,t)}))}function hn(n,t,r){return void 0===r&&(r=1/0),l(t)?hn((function(r,e){return ln((function(n,o){return t(r,n,e,o)}))(nn(n(r,e)))}),r):("number"==typeof t&&(r=t),L((function(t,e){return function(n,t,r,e,o,i,u,c){var s=[],a=0,l=0,f=!1,p=function(){!f||s.length||a||t.complete()},h=function(n){return a<e?v(n):s.push(n)},v=function(n){i&&t.next(n),a++;var c=!1;nn(r(n,l++)).subscribe(U(t,(function(n){null==o||o(n),i?h(n):t.next(n)}),(function(){c=!0}),void 0,(function(){if(c)try{a--;for(var n=function(){var n=s.shift();u?rn(t,u,(function(){return v(n)})):v(n)};s.length&&a<e;)n();p()}catch(n){t.error(n)}})))};return n.subscribe(U(t,h,(function(){f=!0,p()}))),function(){null==c||c()}}(t,e,n,r)})))}var vn=["addListener","removeListener"],dn=["addEventListener","removeEventListener"],bn=["on","off"];function yn(n,t){return function(r){return function(e){return n[r](t,e)}}}function mn(n,t,r){void 0===n&&(n=0),void 0===r&&(r=q);var e=-1;return null!=t&&(V(t)?r=t:e=t),new k((function(t){var o,i=(o=n)instanceof Date&&!isNaN(o)?+n-r.now():n;i<0&&(i=0);var u=0;return r.schedule((function(){t.closed||(t.next(u++),0<=e?this.schedule(void 0,e):t.complete())}),i)}))}var wn=Array.isArray;function xn(n,t){return L((function(r,e){var o=0;r.subscribe(U(e,(function(r){return n.call(t,r,o++)&&e.next(r)})))}))}function gn(n){return function(t){for(var r=[],e=function(e){r.push(nn(n[e]).subscribe(U(t,(function(n){if(r){for(var o=0;o<r.length;o++)o!==e&&r[o].unsubscribe();r=null}t.next(n)}))))},o=0;r&&!t.closed&&o<n.length;o++)e(o)}}function _n(n){return L((function(t,r){var e=!1;t.subscribe(U(r,(function(n){e=!0,r.next(n)}),(function(){e||r.next(n),r.complete()})))}))}function Sn(n){return void 0===n&&(n=En),L((function(t,r){var e=!1;t.subscribe(U(r,(function(n){e=!0,r.next(n)}),(function(){return e?r.complete():r.error(n())})))}))}function En(){return new an}exports.EMPTY=R,exports.Observable=k,exports.catchError=function n(t){return L((function(r,e){var o,i=null,u=!1;i=r.subscribe(U(e,void 0,void 0,(function(c){o=nn(t(c,n(t)(r))),i?(i.unsubscribe(),i=null,o.subscribe(e)):u=!0}))),u&&(i.unsubscribe(),i=null,o.subscribe(e))}))},exports.defaultIfEmpty=_n,exports.defer=function(n){return new k((function(t){nn(n()).subscribe(t)}))},exports.filter=xn,exports.first=function(n,t){var r=arguments.length>=2;return function(e){return e.pipe(n?xn((function(t,r){return n(t,r,e)})):O,(o=1)<=0?function(){return R}:L((function(n,t){var r=0;n.subscribe(U(t,(function(n){++r<=o&&(t.next(n),o<=r&&t.complete())})))})),r?_n(t):Sn((function(){return new an})));var o}},exports.firstValueFrom=function(n,t){var r="object"==typeof t;return new Promise((function(e,o){var i=new I({next:function(n){e(n),i.unsubscribe()},error:o,complete:function(){r?e(t.defaultValue):o(new an)}});n.subscribe(i)}))},exports.from=sn,exports.fromEvent=function n(t,r,e,o){if(l(e)&&(o=e,e=void 0),o)return n(t,r,e).pipe(pn(o));var u=i(function(n){return l(n.addEventListener)&&l(n.removeEventListener)}(t)?dn.map((function(n){return function(o){return t[n](r,o,e)}})):function(n){return l(n.addListener)&&l(n.removeListener)}(t)?vn.map(yn(t,r)):function(n){return l(n.on)&&l(n.off)}(t)?bn.map(yn(t,r)):[],2),c=u[0],s=u[1];if(!c&&H(t))return hn((function(t){return n(t,r,e)}))(nn(t));if(!c)throw new TypeError("Invalid event target");return new k((function(n){var t=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return n.next(1<t.length?t:t[0])};return c(t),function(){return s(t)}}))},exports.identity=O,exports.ignoreElements=function(){return L((function(n,t){n.subscribe(U(t,x))}))},exports.map=ln,exports.merge=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var r=function(n){return V(G(n))?n.pop():void 0}(n),e=function(n,t){return"number"==typeof G(n)?n.pop():t}(n,1/0),o=n;return o.length?1===o.length?nn(o[0]):function(n){return void 0===n&&(n=1/0),hn(O,n)}(e)(sn(o,r)):R},exports.mergeMap=hn,exports.noop=x,exports.pipe=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return j(n)},exports.race=function(){for(var n,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return 1===(t=1===(n=t).length&&wn(n[0])?n[0]:n).length?nn(t[0]):new k(gn(t))},exports.raceWith=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return n.length?L((function(t,r){gn(u([t],i(n)))(r)})):O},exports.retry=function(n){var t;void 0===n&&(n=1/0);var r=(t=n&&"object"==typeof n?n:{count:n}).count,e=void 0===r?1/0:r,o=t.delay,i=t.resetOnSuccess,u=void 0!==i&&i;return e<=0?O:L((function(n,t){var r,i=0,c=function(){var s=!1;r=n.subscribe(U(t,(function(n){u&&(i=0),t.next(n)}),void 0,(function(n){if(i++<e){var u=function(){r?(r.unsubscribe(),r=null,c()):s=!0};if(null!=o){var a="number"==typeof o?mn(o):nn(o(n,i)),l=U(t,(function(){l.unsubscribe(),u()}),(function(){t.complete()}));a.subscribe(l)}else u()}else t.error(n)}))),s&&(r.unsubscribe(),r=null,c())};c()}))},exports.tap=function(n,t,r){var e=l(n)||t||r?{next:n,error:t,complete:r}:n;return e?L((function(n,t){var r;null===(r=e.subscribe)||void 0===r||r.call(e);var o=!0;n.subscribe(U(t,(function(n){var r;null===(r=e.next)||void 0===r||r.call(e,n),t.next(n)}),(function(){var n;o=!1,null===(n=e.complete)||void 0===n||n.call(e),t.complete()}),(function(n){var r;o=!1,null===(r=e.error)||void 0===r||r.call(e,n),t.error(n)}),(function(){var n,t;o&&(null===(n=e.unsubscribe)||void 0===n||n.call(e)),null===(t=e.finalize)||void 0===t||t.call(e)})))})):O},exports.throwIfEmpty=Sn,exports.timer=mn;
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.d.ts
index 579aec2..2723d14 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.d.ts
@@ -17,9 +17,9 @@
 import { ChildProcess } from 'child_process';
 import { Protocol } from 'devtools-protocol';
 import { EventEmitter } from '../common/EventEmitter.js';
-import type { Target } from '../common/Target.js';
 import type { BrowserContext } from './BrowserContext.js';
 import type { Page } from './Page.js';
+import type { Target } from './Target.js';
 /**
  * BrowserContext options.
  *
@@ -43,11 +43,11 @@
 /**
  * @public
  */
-export type TargetFilterCallback = (target: Protocol.Target.TargetInfo) => boolean;
+export type TargetFilterCallback = (target: Target) => boolean;
 /**
  * @internal
  */
-export type IsPageTargetCallback = (target: Protocol.Target.TargetInfo) => boolean;
+export type IsPageTargetCallback = (target: Target) => boolean;
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.d.ts.map
index 2695744..d9d4048 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Browser.d.ts","sourceRoot":"","sources":["../../../../src/api/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Browser.d.ts","sourceRoot":"","sources":["../../../../src/api/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.js b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.js
index f3ed6f5..b4e7239 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.js
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 import { EventEmitter } from '../common/EventEmitter.js';
+import { waitWithTimeout } from '../common/util.js';
+import { Deferred } from '../util/Deferred.js';
 /**
  * @internal
  */
@@ -185,8 +187,44 @@
     target() {
         throw new Error('Not implemented');
     }
-    waitForTarget() {
-        throw new Error('Not implemented');
+    /**
+     * Searches for a target in all browser contexts.
+     *
+     * @param predicate - A function to be run for every target.
+     * @returns The first target found that matches the `predicate` function.
+     *
+     * @example
+     *
+     * An example of finding a target for a page opened via `window.open`:
+     *
+     * ```ts
+     * await page.evaluate(() => window.open('https://www.example.com/'));
+     * const newWindowTarget = await browser.waitForTarget(
+     *   target => target.url() === 'https://www.example.com/'
+     * );
+     * ```
+     */
+    async waitForTarget(predicate, options = {}) {
+        const { timeout = 30000 } = options;
+        const targetDeferred = Deferred.create();
+        this.on("targetcreated" /* BrowserEmittedEvents.TargetCreated */, check);
+        this.on("targetchanged" /* BrowserEmittedEvents.TargetChanged */, check);
+        try {
+            this.targets().forEach(check);
+            if (!timeout) {
+                return await targetDeferred.valueOrThrow();
+            }
+            return await waitWithTimeout(targetDeferred.valueOrThrow(), 'target', timeout);
+        }
+        finally {
+            this.off("targetcreated" /* BrowserEmittedEvents.TargetCreated */, check);
+            this.off("targetchanged" /* BrowserEmittedEvents.TargetChanged */, check);
+        }
+        async function check(target) {
+            if ((await predicate(target)) && !targetDeferred.resolved()) {
+                targetDeferred.resolve(target);
+            }
+        }
     }
     /**
      * An array of all open pages inside the Browser.
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.js.map
index 11b2376..2df569b 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.js.map
@@ -1 +1 @@
-{"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../../src/api/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../../src/api/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/BrowserContext.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/BrowserContext.d.ts
index 93247a7..eefd9ea 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/BrowserContext.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/BrowserContext.d.ts
@@ -14,9 +14,9 @@
  * limitations under the License.
  */
 import { EventEmitter } from '../common/EventEmitter.js';
-import { Target } from '../common/Target.js';
 import type { Permission, Browser } from './Browser.js';
 import { Page } from './Page.js';
+import type { Target } from './Target.js';
 /**
  * BrowserContexts provide a way to operate multiple independent browser
  * sessions. When a browser is launched, it has a single BrowserContext used by
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/BrowserContext.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/BrowserContext.d.ts.map
index 3e0c636..5fdc921 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/BrowserContext.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/BrowserContext.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"BrowserContext.d.ts","sourceRoot":"","sources":["../../../../src/api/BrowserContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAE3C,OAAO,KAAK,EAAC,UAAU,EAAE,OAAO,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,qBAAa,cAAe,SAAQ,YAAY;IAC9C;;OAEG;;IAKH;;OAEG;IACH,OAAO,IAAI,MAAM,EAAE;IAInB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,aAAa,CACX,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EACpD,OAAO,CAAC,EAAE;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC,GAC3B,OAAO,CAAC,MAAM,CAAC;IAKlB;;;;;;OAMG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAIxB;;;;;;OAMG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7E;;;;;;;;;;;OAWG;IACH,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzC;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;;;;;OAMG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,EAAE,IAAI,MAAM,GAAG,SAAS,CAE3B;CACF"}
\ No newline at end of file
+{"version":3,"file":"BrowserContext.d.ts","sourceRoot":"","sources":["../../../../src/api/BrowserContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,2BAA2B,CAAC;AAEvD,OAAO,KAAK,EAAC,UAAU,EAAE,OAAO,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAC/B,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,qBAAa,cAAe,SAAQ,YAAY;IAC9C;;OAEG;;IAKH;;OAEG;IACH,OAAO,IAAI,MAAM,EAAE;IAInB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,aAAa,CACX,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EACpD,OAAO,CAAC,EAAE;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAC,GAC3B,OAAO,CAAC,MAAM,CAAC;IAKlB;;;;;;OAMG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAIxB;;;;;;OAMG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;;;;;;;;;OAaG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7E;;;;;;;;;;;OAWG;IACH,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzC;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;;;;;OAMG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,EAAE,IAAI,MAAM,GAAG,SAAS,CAE3B;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Dialog.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Dialog.d.ts
new file mode 100644
index 0000000..3171556
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Dialog.d.ts
@@ -0,0 +1,80 @@
+/**
+ * Copyright 2017 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Protocol } from 'devtools-protocol';
+/**
+ * Dialog instances are dispatched by the {@link Page} via the `dialog` event.
+ *
+ * @remarks
+ *
+ * @example
+ *
+ * ```ts
+ * import puppeteer from 'puppeteer';
+ *
+ * (async () => {
+ *   const browser = await puppeteer.launch();
+ *   const page = await browser.newPage();
+ *   page.on('dialog', async dialog => {
+ *     console.log(dialog.message());
+ *     await dialog.dismiss();
+ *     await browser.close();
+ *   });
+ *   page.evaluate(() => alert('1'));
+ * })();
+ * ```
+ *
+ * @public
+ */
+export declare class Dialog {
+    #private;
+    /**
+     * @internal
+     */
+    constructor(type: Protocol.Page.DialogType, message: string, defaultValue?: string);
+    /**
+     * The type of the dialog.
+     */
+    type(): Protocol.Page.DialogType;
+    /**
+     * The message displayed in the dialog.
+     */
+    message(): string;
+    /**
+     * The default value of the prompt, or an empty string if the dialog
+     * is not a `prompt`.
+     */
+    defaultValue(): string;
+    /**
+     * @internal
+     */
+    sendCommand(_options: {
+        accept: boolean;
+        text?: string;
+    }): Promise<void>;
+    /**
+     * A promise that resolves when the dialog has been accepted.
+     *
+     * @param promptText - optional text that will be entered in the dialog
+     * prompt. Has no effect if the dialog's type is not `prompt`.
+     *
+     */
+    accept(promptText?: string): Promise<void>;
+    /**
+     * A promise which will resolve once the dialog has been dismissed
+     */
+    dismiss(): Promise<void>;
+}
+//# sourceMappingURL=Dialog.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Dialog.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Dialog.d.ts.map
new file mode 100644
index 0000000..ae6e0b3
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Dialog.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/api/Dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAI3C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,MAAM;;IAMjB;;OAEG;gBAED,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAC9B,OAAO,EAAE,MAAM,EACf,YAAY,SAAK;IAOnB;;OAEG;IACH,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU;IAIhC;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE;;;;;;OAMG;IACG,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAO/B"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Dialog.js b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Dialog.js
new file mode 100644
index 0000000..bb83390
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Dialog.js
@@ -0,0 +1,105 @@
+/**
+ * Copyright 2017 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { assert } from '../util/assert.js';
+/**
+ * Dialog instances are dispatched by the {@link Page} via the `dialog` event.
+ *
+ * @remarks
+ *
+ * @example
+ *
+ * ```ts
+ * import puppeteer from 'puppeteer';
+ *
+ * (async () => {
+ *   const browser = await puppeteer.launch();
+ *   const page = await browser.newPage();
+ *   page.on('dialog', async dialog => {
+ *     console.log(dialog.message());
+ *     await dialog.dismiss();
+ *     await browser.close();
+ *   });
+ *   page.evaluate(() => alert('1'));
+ * })();
+ * ```
+ *
+ * @public
+ */
+export class Dialog {
+    #type;
+    #message;
+    #defaultValue;
+    #handled = false;
+    /**
+     * @internal
+     */
+    constructor(type, message, defaultValue = '') {
+        this.#type = type;
+        this.#message = message;
+        this.#defaultValue = defaultValue;
+    }
+    /**
+     * The type of the dialog.
+     */
+    type() {
+        return this.#type;
+    }
+    /**
+     * The message displayed in the dialog.
+     */
+    message() {
+        return this.#message;
+    }
+    /**
+     * The default value of the prompt, or an empty string if the dialog
+     * is not a `prompt`.
+     */
+    defaultValue() {
+        return this.#defaultValue;
+    }
+    /**
+     * @internal
+     */
+    sendCommand(_options) {
+        throw new Error('Not implemented');
+    }
+    /**
+     * A promise that resolves when the dialog has been accepted.
+     *
+     * @param promptText - optional text that will be entered in the dialog
+     * prompt. Has no effect if the dialog's type is not `prompt`.
+     *
+     */
+    async accept(promptText) {
+        assert(!this.#handled, 'Cannot accept dialog which is already handled!');
+        this.#handled = true;
+        await this.sendCommand({
+            accept: true,
+            text: promptText,
+        });
+    }
+    /**
+     * A promise which will resolve once the dialog has been dismissed
+     */
+    async dismiss() {
+        assert(!this.#handled, 'Cannot dismiss dialog which is already handled!');
+        this.#handled = true;
+        await this.sendCommand({
+            accept: false,
+        });
+    }
+}
+//# sourceMappingURL=Dialog.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Dialog.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Dialog.js.map
new file mode 100644
index 0000000..bb7765a
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Dialog.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../src/api/Dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,MAAM;IACjB,KAAK,CAA2B;IAChC,QAAQ,CAAS;IACjB,aAAa,CAAS;IACtB,QAAQ,GAAG,KAAK,CAAC;IAEjB;;OAEG;IACH,YACE,IAA8B,EAC9B,OAAe,EACf,YAAY,GAAG,EAAE;QAEjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,QAA0C;QACpD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,UAAmB;QAC9B,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,gDAAgD,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,IAAI,CAAC,WAAW,CAAC;YACrB,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,iDAAiD,CAAC,CAAC;QAC1E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,IAAI,CAAC,WAAW,CAAC;YACrB,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.d.ts
index 12048f9..7c44655 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.d.ts
@@ -569,5 +569,43 @@
      * @internal
      */
     assertElementHasWorld(): asserts this;
+    /**
+     * If the element is a form input, you can use {@link ElementHandle.autofill}
+     * to test if the form is compatible with the browser's autofill
+     * implementation. Throws an error if the form cannot be autofilled.
+     *
+     * @remarks
+     *
+     * Currently, Puppeteer supports auto-filling credit card information only and
+     * in Chrome in the new headless and headful modes only.
+     *
+     * ```ts
+     * // Select an input on the credit card form.
+     * const name = await page.waitForSelector('form #name');
+     * // Trigger autofill with the desired data.
+     * await name.autofill({
+     *   creditCard: {
+     *     number: '4444444444444444',
+     *     name: 'John Smith',
+     *     expiryMonth: '01',
+     *     expiryYear: '2030',
+     *     cvc: '123',
+     *   },
+     * });
+     * ```
+     */
+    autofill(data: AutofillData): Promise<void>;
+}
+/**
+ * @public
+ */
+export interface AutofillData {
+    creditCard: {
+        number: string;
+        name: string;
+        expiryMonth: string;
+        expiryYear: string;
+        cvc: string;
+    };
 }
 //# sourceMappingURL=ElementHandle.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.d.ts.map
index 9e1aa4c..64b5477 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"ElementHandle.d.ts","sourceRoot":"","sources":["../../../../src/api/ElementHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ElementHandle.d.ts","sourceRoot":"","sources":["../../../../src/api/ElementHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.js b/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.js
index 6e4d5e6..0cbb0e9 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.js
@@ -13,12 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _ElementHandle_instances, _ElementHandle_checkVisibility, _ElementHandle_asSVGElementHandle, _ElementHandle_getOwnerSVGElement;
 import { getQueryHandlerAndSelector } from '../common/GetQueryHandler.js';
 import { LazyArg } from '../common/LazyArg.js';
 import { isString, withSourcePuppeteerURLIfNone } from '../common/util.js';
@@ -62,9 +56,12 @@
     /**
      * @internal
      */
+    handle;
+    /**
+     * @internal
+     */
     constructor(handle) {
         super();
-        _ElementHandle_instances.add(this);
         this.handle = handle;
     }
     /**
@@ -301,19 +298,32 @@
         const { updatedSelector, QueryHandler } = getQueryHandlerAndSelector(selector);
         return (await QueryHandler.waitFor(this, updatedSelector, options));
     }
+    async #checkVisibility(visibility) {
+        const element = await this.frame.isolatedRealm().adoptHandle(this);
+        try {
+            return await this.frame.isolatedRealm().evaluate(async (PuppeteerUtil, element, visibility) => {
+                return Boolean(PuppeteerUtil.checkVisibility(element, visibility));
+            }, LazyArg.create(context => {
+                return context.puppeteerUtil;
+            }), element, visibility);
+        }
+        finally {
+            await element.dispose();
+        }
+    }
     /**
      * Checks if an element is visible using the same mechanism as
      * {@link ElementHandle.waitForSelector}.
      */
     async isVisible() {
-        return __classPrivateFieldGet(this, _ElementHandle_instances, "m", _ElementHandle_checkVisibility).call(this, true);
+        return this.#checkVisibility(true);
     }
     /**
      * Checks if an element is hidden using the same mechanism as
      * {@link ElementHandle.waitForSelector}.
      */
     async isHidden() {
-        return __classPrivateFieldGet(this, _ElementHandle_instances, "m", _ElementHandle_checkVisibility).call(this, false);
+        return this.#checkVisibility(false);
     }
     /**
      * @deprecated Use {@link ElementHandle.waitForSelector} with the `xpath`
@@ -599,9 +609,9 @@
     async isIntersectingViewport(options) {
         await this.assertConnectedElement();
         const { threshold = 0 } = options ?? {};
-        const svgHandle = await __classPrivateFieldGet(this, _ElementHandle_instances, "m", _ElementHandle_asSVGElementHandle).call(this, this);
+        const svgHandle = await this.#asSVGElementHandle(this);
         const intersectionTarget = svgHandle
-            ? await __classPrivateFieldGet(this, _ElementHandle_instances, "m", _ElementHandle_getOwnerSVGElement).call(this, svgHandle)
+            ? await this.#getOwnerSVGElement(svgHandle)
             : this;
         try {
             return await intersectionTarget.evaluate(async (element, threshold) => {
@@ -636,45 +646,36 @@
         });
     }
     /**
+     * Returns true if an element is an SVGElement (included svg, path, rect
+     * etc.).
+     */
+    async #asSVGElementHandle(handle) {
+        if (await handle.evaluate(element => {
+            return element instanceof SVGElement;
+        })) {
+            return handle;
+        }
+        else {
+            return null;
+        }
+    }
+    async #getOwnerSVGElement(handle) {
+        // SVGSVGElement.ownerSVGElement === null.
+        return await handle.evaluateHandle(element => {
+            if (element instanceof SVGSVGElement) {
+                return element;
+            }
+            return element.ownerSVGElement;
+        });
+    }
+    /**
      * @internal
      */
     assertElementHasWorld() {
         assert(this.executionContext()._world);
     }
+    autofill() {
+        throw new Error('Not implemented');
+    }
 }
-_ElementHandle_instances = new WeakSet(), _ElementHandle_checkVisibility = async function _ElementHandle_checkVisibility(visibility) {
-    const element = await this.frame.isolatedRealm().adoptHandle(this);
-    try {
-        return await this.frame.isolatedRealm().evaluate(async (PuppeteerUtil, element, visibility) => {
-            return Boolean(PuppeteerUtil.checkVisibility(element, visibility));
-        }, LazyArg.create(context => {
-            return context.puppeteerUtil;
-        }), element, visibility);
-    }
-    finally {
-        await element.dispose();
-    }
-}, _ElementHandle_asSVGElementHandle = 
-/**
- * Returns true if an element is an SVGElement (included svg, path, rect
- * etc.).
- */
-async function _ElementHandle_asSVGElementHandle(handle) {
-    if (await handle.evaluate(element => {
-        return element instanceof SVGElement;
-    })) {
-        return handle;
-    }
-    else {
-        return null;
-    }
-}, _ElementHandle_getOwnerSVGElement = async function _ElementHandle_getOwnerSVGElement(handle) {
-    // SVGSVGElement.ownerSVGElement === null.
-    return await handle.evaluateHandle(element => {
-        if (element instanceof SVGSVGElement) {
-            return element;
-        }
-        return element.ownerSVGElement;
-    });
-};
 //# sourceMappingURL=ElementHandle.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.js.map
index 20f14c7..cf33b00 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/ElementHandle.js.map
@@ -1 +1 @@
-{"version":3,"file":"ElementHandle.js","sourceRoot":"","sources":["../../../../src/api/ElementHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ElementHandle.js","sourceRoot":"","sources":["../../../../src/api/ElementHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,EAAC,0BAA0B,EAAC,MAAM,8BAA8B,CAAC;AAExE,OAAO,EAAC,OAAO,EAAC,MAAM,sBAAsB,CAAC;AAS7C,OAAO,EAAC,QAAQ,EAAE,4BAA4B,EAAC,MAAM,mBAAmB,CAAC;AACzE,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAC,iBAAiB,EAAC,MAAM,8BAA8B,CAAC;AAO/D,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AA6DvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,MAAM,OAAO,aAEX,SAAQ,QAAqB;IAC7B;;OAEG;IACO,MAAM,CAAC;IAEjB;;OAEG;IACH,YAAY,MAA6B;QACvC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAa,EAAE;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAa,QAAQ;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAYQ,KAAK,CAAC,WAAW,CACxB,YAAyB;QAEzB,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,aAAa;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,QAAQ,CAOrB,YAA2B,EAC3B,GAAG,IAAY;QAEf,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACM,cAAc,CAOrB,YAA2B,EAC3B,GAAG,IAAY;QAEf,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,SAAS;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACM,QAAQ;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,OAAO;QACpB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IACrC,CAAC;IAEQ,SAAS;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACM,gBAAgB;QACvB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAa,MAAM;QACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,KAAK;QACP,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,CAAC,CACL,QAAkB;QAElB,MAAM,EAAC,eAAe,EAAE,YAAY,EAAC,GACnC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,YAAY,CAAC,QAAQ,CACjC,IAAI,EACJ,eAAe,CAChB,CAA4C,CAAC;IAChD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,CACN,QAAkB;QAElB,MAAM,EAAC,eAAe,EAAE,YAAY,EAAC,GACnC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,iBAAiB,CAAC,OAAO,CAC9B,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC,CACO,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,KAAK,CAQT,QAAkB,EAClB,YAA2B,EAC3B,GAAG,IAAY;QAEf,YAAY,GAAG,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC3E,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,EAAE;YAClB,MAAM,IAAI,KAAK,CACb,oDAAoD,QAAQ,GAAG,CAChE,CAAC;SACH;QACD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;QACnE,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,KAAK,CAAC,MAAM,CAQV,QAAkB,EAClB,YAA2B,EAC3B,GAAG,IAAY;QAEf,YAAY,GAAG,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC5E,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CACxC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,EAAE;YACjB,OAAO,QAAQ,CAAC;QAClB,CAAC,EACD,GAAG,OAAO,CACX,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACjC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC;YACxC,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;gBACvB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC,CAAC;SACH,CAAC,CAAC;QACH,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,EAAE,CAAC,UAAkB;QACzB,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC/B,UAAU,GAAG,IAAI,UAAU,EAAE,CAAC;SAC/B;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,UAAU,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,KAAK,CAAC,eAAe,CACnB,QAAkB,EAClB,UAAkC,EAAE;QAEpC,MAAM,EAAC,eAAe,EAAE,YAAY,EAAC,GACnC,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,YAAY,CAAC,OAAO,CAChC,IAAI,EACJ,eAAe,EACf,OAAO,CACR,CAA4C,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAmB;QACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI;YACF,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,QAAQ,CAC9C,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;gBAC3C,OAAO,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;YACrE,CAAC,EACD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;gBACvB,OAAO,OAAO,CAAC,aAAa,CAAC;YAC/B,CAAC,CAAC,EACF,OAAO,EACP,UAAU,CACX,CAAC;SACH;gBAAS;YACR,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;SACzB;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6DG;IACH,KAAK,CAAC,YAAY,CAChB,KAAa,EACb,UAII,EAAE;QAEN,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC1B,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;SACrB;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,SAAS,CAEb,OAAU;QACV,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;YAC9D,OAAO,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC;QACjD,CAAC,EAAE,OAAO,CAAC,CAAC;QACZ,IAAI,CAAC,iBAAiB,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,YAAY,CAAC,CAAC;SAC/D;QACD,OAAO,IAA2C,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAMD,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAWD,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IASD,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IASD,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IASD,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IASD,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAUD,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,MAAM,CAAC,GAAG,MAAgB;QAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,MAAM,CACJ,QAAQ,CAAC,KAAK,CAAC,EACf,uCAAuC;gBACrC,KAAK;gBACL,aAAa;gBACb,OAAO,KAAK;gBACZ,GAAG,CACN,CAAC;SACH;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,IAAI,EAAY,EAAE;YAC/C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,CAAC,CAAC,OAAO,YAAY,iBAAiB,CAAC,EAAE;gBAC3C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACvD;YAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;gBACrB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE;oBACpC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;iBACzB;gBACD,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE;oBACpC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;wBAC5B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACvB,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBACjC,MAAM;qBACP;iBACF;aACF;iBAAM;gBACL,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE;oBACpC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC3C,IAAI,MAAM,CAAC,QAAQ,EAAE;wBACnB,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;qBAClC;iBACF;aACF;YACD,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,CAAC,EAAE,MAAM,CAAC,CAAC;IACb,CAAC;IAiBD,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC5B,IAAI,CAAC,CAAC,OAAO,YAAY,WAAW,CAAC,EAAE;gBACrC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;aACjD;YACD,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IA+BD,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAoBD,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAWD,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,sBAAsB;QACpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAC/B,KAAK,EAAE,OAAO,EAA+B,EAAE;YAC7C,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;gBACxB,OAAO,gCAAgC,CAAC;aACzC;YACD,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,YAAY,EAAE;gBAC1C,OAAO,iCAAiC,CAAC;aAC1C;YACD,OAAO;QACT,CAAC,CACF,CAAC;QAEF,IAAI,KAAK,EAAE;YACT,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;SACxB;IACH,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,sBAAsB;QAGpC,IACE,MAAM,IAAI,CAAC,sBAAsB,CAAC;YAChC,SAAS,EAAE,CAAC;SACb,CAAC,EACF;YACA,OAAO;SACR;QACD,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC9B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,sBAAsB,CAE1B,OAEC;QAED,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAEpC,MAAM,EAAC,SAAS,GAAG,CAAC,EAAC,GAAG,OAAO,IAAI,EAAE,CAAC;QACtC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,kBAAkB,GAA2B,SAAS;YAC1D,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;YAC3C,CAAC,CAAC,IAAI,CAAC;QAET,IAAI;YACF,OAAO,MAAM,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE;gBACpE,MAAM,YAAY,GAAG,MAAM,IAAI,OAAO,CAAS,OAAO,CAAC,EAAE;oBACvD,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE;wBAClD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,iBAAiB,CAAC,CAAC;wBACvC,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACxB,CAAC,CAAC,CAAC;oBACH,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBACH,OAAO,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC;YACzE,CAAC,EAAE,SAAS,CAAC,CAAC;SACf;gBAAS;YACR,IAAI,kBAAkB,KAAK,IAAI,EAAE;gBAC/B,MAAM,kBAAkB,CAAC,OAAO,EAAE,CAAC;aACpC;SACF;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAiB,EAAE;YACnD,OAAO,CAAC,cAAc,CAAC;gBACrB,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,QAAQ;gBAChB,QAAQ,EAAE,SAAS;aACpB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CACvB,MAA8B;QAE9B,IACE,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC9B,OAAO,OAAO,YAAY,UAAU,CAAC;QACvC,CAAC,CAAC,EACF;YACA,OAAO,MAAmC,CAAC;SAC5C;aAAM;YACL,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,MAAiC;QAEjC,0CAA0C;QAC1C,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE;YAC3C,IAAI,OAAO,YAAY,aAAa,EAAE;gBACpC,OAAO,OAAO,CAAC;aAChB;YACD,OAAO,OAAO,CAAC,eAAgB,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IA4BD,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.d.ts
index 14982dd..2ea1223 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.d.ts
@@ -21,11 +21,11 @@
 import { ExecutionContext } from '../common/ExecutionContext.js';
 import { IsolatedWorldChart, WaitForSelectorOptions } from '../common/IsolatedWorld.js';
 import { PuppeteerLifeCycleEvent } from '../common/LifecycleWatcher.js';
-import { EvaluateFunc, EvaluateFuncWith, HandleFor, InnerLazyParams, NodeFor } from '../common/types.js';
+import { Awaitable, EvaluateFunc, EvaluateFuncWith, HandleFor, InnerLazyParams, NodeFor } from '../common/types.js';
 import { TaskManager } from '../common/WaitTask.js';
 import { KeyboardTypeOptions } from './Input.js';
 import { JSHandle } from './JSHandle.js';
-import { Locator } from './Locator.js';
+import { Locator } from './locators/locators.js';
 /**
  * @internal
  */
@@ -313,14 +313,23 @@
      */
     evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>;
     /**
-     * Creates a locator for the provided `selector`. See {@link Locator} for
+     * Creates a locator for the provided selector. See {@link Locator} for
      * details and supported actions.
      *
      * @remarks
      * Locators API is experimental and we will not follow semver for breaking
      * change in the Locators API.
      */
-    locator(selector: string): Locator;
+    locator<Selector extends string>(selector: Selector): Locator<NodeFor<Selector>>;
+    /**
+     * Creates a locator for the provided function. See {@link Locator} for
+     * details and supported actions.
+     *
+     * @remarks
+     * Locators API is experimental and we will not follow semver for breaking
+     * change in the Locators API.
+     */
+    locator<Ret>(func: () => Awaitable<Ret>): Locator<Ret>;
     /**
      * Queries the frame for an element matching the given selector.
      *
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.d.ts.map
index 3926454..92da9f1 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Frame.d.ts","sourceRoot":"","sources":["../../../../src/api/Frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAC,IAAI,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,OAAO,EACR,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAC,mBAAmB,EAAC,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,CACb,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAC/D,eAAe,CAAC,MAAM,CAAC,CACxB,EAED,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,OAAO,EAAE;QACP,OAAO,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;QACtC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,EACD,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,WAAW,CAAC,CAAC,SAAS,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7D,cAAc,CAAC,CAAC,SAAS,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAChE,cAAc,CACZ,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,QAAQ,CACN,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjE,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CACF,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,qBAAa,KAAK;IAChB;;OAEG;IACH,GAAG,EAAG,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAG,kBAAkB,CAAC;IAE5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,kBAAkB,UAAS;IAE3B;;OAEG;;IAGH;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;;OAGG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,IAAI,CACR,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,CAAC;KACjE,GACA,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAK/B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,iBAAiB,CAAC,OAAO,CAAC,EAAE;QAChC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,CAAC;KACjE,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAKhC;;OAEG;IACH,OAAO,IAAI,UAAU;IAIrB;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAI7C;;OAEG;IACH,SAAS,IAAI,KAAK;IAIlB;;OAEG;IACH,aAAa,IAAI,KAAK;IAItB;;;;;OAKG;IACG,cAAc,CAClB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAQhD;;;;;OAKG;IACG,QAAQ,CACZ,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAQrC;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIlC;;;;;;OAMG;IACG,CAAC,CAAC,QAAQ,SAAS,MAAM,EAC7B,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC;IAOnD;;;;;;OAMG;IACG,EAAE,CAAC,QAAQ,SAAS,MAAM,EAC9B,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAOnD;;;;;;;;;;;;;;;;;;;OAmBG;IACG,KAAK,CACT,QAAQ,SAAS,MAAM,EACvB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CACzE,OAAO,CAAC,QAAQ,CAAC,EACjB,MAAM,CACP,EAED,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAYrC;;;;;;;;;;;;;;;;;;;OAmBG;IACG,MAAM,CACV,QAAQ,SAAS,MAAM,EACvB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAC3B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EACxB,MAAM,CACP,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtD,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAYrC;;;;;;;;;OASG;IACG,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAKjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,eAAe,CAAC,QAAQ,SAAS,MAAM,EAC3C,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC;IAUnD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,YAAY,CAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAOtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,eAAe,CACb,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,OAAO,GAAE,2BAAgC,EACzC,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAOhD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAIhC;;;;;;OAMG;IACG,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,CAAC;KACjE,GACA,OAAO,CAAC,IAAI,CAAC;IAKhB;;;;;;;;;OASG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,GAAG,IAAI,MAAM;IAIb;;OAEG;IACH,WAAW,IAAI,KAAK,GAAG,IAAI;IAI3B;;OAEG;IACH,WAAW,IAAI,KAAK,EAAE;IAItB;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;;;OAMG;IACG,YAAY,CAChB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAK5C;;;;;;OAMG;IACG,WAAW,CACf,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,GAC5C,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACrC,WAAW,CACf,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAO1C;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,QAAQ,CAAC,YAAY,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E;;;;;OAKG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIhE;;;;;OAKG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,IAAI,CACF,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,mBAAmB,CACjB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,mBAAmB,CAAC;CAIhC"}
\ No newline at end of file
+{"version":3,"file":"Frame.d.ts","sourceRoot":"","sources":["../../../../src/api/Frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAC,IAAI,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,mBAAmB,EAAC,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EACL,SAAS,EACT,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,OAAO,EACR,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAElD,OAAO,EAAC,mBAAmB,EAAC,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,OAAO,EAA+B,MAAM,wBAAwB,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,CACb,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAC/D,eAAe,CAAC,MAAM,CAAC,CACxB,EAED,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,OAAO,EAAE;QACP,OAAO,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;QACtC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,EACD,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,WAAW,CAAC,CAAC,SAAS,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC7D,cAAc,CAAC,CAAC,SAAS,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAChE,cAAc,CACZ,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,QAAQ,CACN,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxE,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjE,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CACF,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;IACtC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AACH,qBAAa,KAAK;IAChB;;OAEG;IACH,GAAG,EAAG,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAG,kBAAkB,CAAC;IAE5B;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,kBAAkB,UAAS;IAE3B;;OAEG;;IAGH;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;;OAGG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACG,IAAI,CACR,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,CAAC;KACjE,GACA,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAK/B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,iBAAiB,CAAC,OAAO,CAAC,EAAE;QAChC,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,CAAC;KACjE,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAKhC;;OAEG;IACH,OAAO,IAAI,UAAU;IAIrB;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAI7C;;OAEG;IACH,SAAS,IAAI,KAAK;IAIlB;;OAEG;IACH,aAAa,IAAI,KAAK;IAItB;;;;;OAKG;IACG,cAAc,CAClB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAQhD;;;;;OAKG;IACG,QAAQ,CACZ,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAQrC;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,SAAS,MAAM,EAC7B,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAE7B;;;;;;;OAOG;IACH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAUtD;;;;;;OAMG;IACG,CAAC,CAAC,QAAQ,SAAS,MAAM,EAC7B,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC;IAOnD;;;;;;OAMG;IACG,EAAE,CAAC,QAAQ,SAAS,MAAM,EAC9B,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAOnD;;;;;;;;;;;;;;;;;;;OAmBG;IACG,KAAK,CACT,QAAQ,SAAS,MAAM,EACvB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CACzE,OAAO,CAAC,QAAQ,CAAC,EACjB,MAAM,CACP,EAED,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAYrC;;;;;;;;;;;;;;;;;;;OAmBG;IACG,MAAM,CACV,QAAQ,SAAS,MAAM,EACvB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAC3B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EACxB,MAAM,CACP,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtD,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAYrC;;;;;;;;;OASG;IACG,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAKjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,eAAe,CAAC,QAAQ,SAAS,MAAM,EAC3C,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC;IAUnD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,YAAY,CAChB,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAOtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,eAAe,CACb,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,OAAO,GAAE,2BAAgC,EACzC,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAOhD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAIhC;;;;;;OAMG;IACG,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,CAAC;KACjE,GACA,OAAO,CAAC,IAAI,CAAC;IAKhB;;;;;;;;;OASG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,GAAG,IAAI,MAAM;IAIb;;OAEG;IACH,WAAW,IAAI,KAAK,GAAG,IAAI;IAI3B;;OAEG;IACH,WAAW,IAAI,KAAK,EAAE;IAItB;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;;;OAMG;IACG,YAAY,CAChB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IA4D5C;;;;;;OAMG;IACG,WAAW,CACf,OAAO,EAAE,IAAI,CAAC,uBAAuB,EAAE,KAAK,CAAC,GAC5C,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACrC,WAAW,CACf,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;IAgE1C;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,QAAQ,CAAC,YAAY,CAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E;;;;;OAKG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5C;;;;;;OAMG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItC;;;;;;;;;;;;;;;;;OAiBG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIhE;;;;;OAKG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,IAAI,CACF,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,mBAAmB,CACjB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,mBAAmB,CAAC;CAIhC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.js b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.js
index 4beeb20..f7c5936 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.js
@@ -14,7 +14,9 @@
  * limitations under the License.
  */
 import { getQueryHandlerAndSelector } from '../common/GetQueryHandler.js';
-import { Locator } from './Locator.js';
+import { LazyArg } from '../common/LazyArg.js';
+import { importFSPromises } from '../common/util.js';
+import { FunctionLocator, NodeLocator } from './locators/locators.js';
 /**
  * Represents a DOM frame.
  *
@@ -72,12 +74,27 @@
     /**
      * @internal
      */
-    constructor() {
-        /**
-         * @internal
-         */
-        this._hasStartedLoading = false;
-    }
+    _id;
+    /**
+     * @internal
+     */
+    _parentId;
+    /**
+     * @internal
+     */
+    worlds;
+    /**
+     * @internal
+     */
+    _name;
+    /**
+     * @internal
+     */
+    _hasStartedLoading = false;
+    /**
+     * @internal
+     */
+    constructor() { }
     /**
      * The page associated with the frame.
      */
@@ -127,16 +144,13 @@
     async evaluate() {
         throw new Error('Not implemented');
     }
-    /**
-     * Creates a locator for the provided `selector`. See {@link Locator} for
-     * details and supported actions.
-     *
-     * @remarks
-     * Locators API is experimental and we will not follow semver for breaking
-     * change in the Locators API.
-     */
-    locator(selector) {
-        return Locator.create(this, selector);
+    locator(selectorOrFunc) {
+        if (typeof selectorOrFunc === 'string') {
+            return NodeLocator.create(this, selectorOrFunc);
+        }
+        else {
+            return FunctionLocator.create(this, selectorOrFunc);
+        }
     }
     async $() {
         throw new Error('Not implemented');
@@ -302,11 +316,89 @@
     isDetached() {
         throw new Error('Not implemented');
     }
-    async addScriptTag() {
-        throw new Error('Not implemented');
+    /**
+     * Adds a `<script>` tag into the page with the desired url or content.
+     *
+     * @param options - Options for the script.
+     * @returns An {@link ElementHandle | element handle} to the injected
+     * `<script>` element.
+     */
+    async addScriptTag(options) {
+        let { content = '', type } = options;
+        const { path } = options;
+        if (+!!options.url + +!!path + +!!content !== 1) {
+            throw new Error('Exactly one of `url`, `path`, or `content` must be specified.');
+        }
+        if (path) {
+            const fs = await importFSPromises();
+            content = await fs.readFile(path, 'utf8');
+            content += `//# sourceURL=${path.replace(/\n/g, '')}`;
+        }
+        type = type ?? 'text/javascript';
+        return this.mainRealm().transferHandle(await this.isolatedRealm().evaluateHandle(async ({ Deferred }, { url, id, type, content }) => {
+            const deferred = Deferred.create();
+            const script = document.createElement('script');
+            script.type = type;
+            script.text = content;
+            if (url) {
+                script.src = url;
+                script.addEventListener('load', () => {
+                    return deferred.resolve();
+                }, { once: true });
+                script.addEventListener('error', event => {
+                    deferred.reject(new Error(event.message ?? 'Could not load script'));
+                }, { once: true });
+            }
+            else {
+                deferred.resolve();
+            }
+            if (id) {
+                script.id = id;
+            }
+            document.head.appendChild(script);
+            await deferred.valueOrThrow();
+            return script;
+        }, LazyArg.create(context => {
+            return context.puppeteerUtil;
+        }), { ...options, type, content }));
     }
-    async addStyleTag() {
-        throw new Error('Not implemented');
+    async addStyleTag(options) {
+        let { content = '' } = options;
+        const { path } = options;
+        if (+!!options.url + +!!path + +!!content !== 1) {
+            throw new Error('Exactly one of `url`, `path`, or `content` must be specified.');
+        }
+        if (path) {
+            const fs = await importFSPromises();
+            content = await fs.readFile(path, 'utf8');
+            content += '/*# sourceURL=' + path.replace(/\n/g, '') + '*/';
+            options.content = content;
+        }
+        return this.mainRealm().transferHandle(await this.isolatedRealm().evaluateHandle(async ({ Deferred }, { url, content }) => {
+            const deferred = Deferred.create();
+            let element;
+            if (!url) {
+                element = document.createElement('style');
+                element.appendChild(document.createTextNode(content));
+            }
+            else {
+                const link = document.createElement('link');
+                link.rel = 'stylesheet';
+                link.href = url;
+                element = link;
+            }
+            element.addEventListener('load', () => {
+                deferred.resolve();
+            }, { once: true });
+            element.addEventListener('error', event => {
+                deferred.reject(new Error(event.message ?? 'Could not load style'));
+            }, { once: true });
+            document.head.appendChild(element);
+            await deferred.valueOrThrow();
+            return element;
+        }, LazyArg.create(context => {
+            return context.puppeteerUtil;
+        }), options));
     }
     /**
      * Clicks the first element found that matches `selector`.
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.js.map
index 6c1b029..07f0a47 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Frame.js.map
@@ -1 +1 @@
-{"version":3,"file":"Frame.js","sourceRoot":"","sources":["../../../../src/api/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Frame.js","sourceRoot":"","sources":["../../../../src/api/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.d.ts
index 51abb42..5b06017 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.d.ts
@@ -381,7 +381,5 @@
  * List taken from {@link https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml}
  * with extra 306 and 418 codes.
  */
-export declare const STATUS_TEXTS: {
-    [key: string]: string | undefined;
-};
+export declare const STATUS_TEXTS: Record<string, string | undefined>;
 //# sourceMappingURL=HTTPRequest.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.d.ts.map
index 89963c7..85bcd48 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"HTTPRequest.d.ts","sourceRoot":"","sources":["../../../../src/api/HTTPRequest.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"HTTPRequest.d.ts","sourceRoot":"","sources":["../../../../src/api/HTTPRequest.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.js b/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.js
index a9b9182..9965dc4 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.js
@@ -37,6 +37,30 @@
  */
 export class HTTPRequest {
     /**
+     * @internal
+     */
+    _requestId = '';
+    /**
+     * @internal
+     */
+    _interceptionId;
+    /**
+     * @internal
+     */
+    _failureText = null;
+    /**
+     * @internal
+     */
+    _response = null;
+    /**
+     * @internal
+     */
+    _fromMemoryCache = false;
+    /**
+     * @internal
+     */
+    _redirectChain = [];
+    /**
      * Warning! Using this client can break Puppeteer. Use with caution.
      *
      * @experimental
@@ -47,28 +71,7 @@
     /**
      * @internal
      */
-    constructor() {
-        /**
-         * @internal
-         */
-        this._requestId = '';
-        /**
-         * @internal
-         */
-        this._failureText = null;
-        /**
-         * @internal
-         */
-        this._response = null;
-        /**
-         * @internal
-         */
-        this._fromMemoryCache = false;
-        /**
-         * @internal
-         */
-        this._redirectChain = [];
-    }
+    constructor() { }
     /**
      * The URL of the request
      */
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.js.map
index 850c365..9ac704a 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/HTTPRequest.js.map
@@ -1 +1 @@
-{"version":3,"file":"HTTPRequest.js","sourceRoot":"","sources":["../../../../src/api/HTTPRequest.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"HTTPRequest.js","sourceRoot":"","sources":["../../../../src/api/HTTPRequest.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/JSHandle.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/JSHandle.d.ts
index 8d61fd9..1f0fb32 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/JSHandle.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/JSHandle.d.ts
@@ -18,7 +18,6 @@
 import { ExecutionContext } from '../common/ExecutionContext.js';
 import { EvaluateFuncWith, HandleFor, HandleOr } from '../common/types.js';
 import { ElementHandle } from './ElementHandle.js';
-declare const __JSHandleSymbol: unique symbol;
 /**
  * Represents a reference to a JavaScript object. Instances can be created using
  * {@link Page.evaluateHandle}.
@@ -44,7 +43,7 @@
     /**
      * Used for nominally typing {@link JSHandle}.
      */
-    [__JSHandleSymbol]?: T;
+    _?: T;
     /**
      * @internal
      */
@@ -131,5 +130,4 @@
      */
     remoteObject(): Protocol.Runtime.RemoteObject;
 }
-export {};
 //# sourceMappingURL=JSHandle.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/JSHandle.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/JSHandle.d.ts.map
index dd80795..ce1bd0c 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/JSHandle.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/JSHandle.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"JSHandle.d.ts","sourceRoot":"","sources":["../../../../src/api/JSHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAEjD,OAAO,CAAC,MAAM,gBAAgB,EAAE,OAAO,MAAM,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,QAAQ,CAAC,CAAC,GAAG,OAAO;IAC/B;;OAEG;IACH,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;IAEvB;;OAEG;;IAGH;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,gBAAgB,IAAI,gBAAgB;IAIpC;;OAEG;IACH,IAAI,MAAM,IAAI,UAAU,CAEvB;IAED;;OAEG;IACG,QAAQ,CACZ,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAKrC;;;OAGG;IACG,cAAc,CAClB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAKhD;;OAEG;IACG,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EACjC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7D,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EACjC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAK3B;;;;;;;;;;;;;;;;;OAiBG;IACG,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAIrD;;;;;;;OAOG;IACG,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC;IAI7B;;;OAGG;IACH,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI;IAIvC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;;;OAKG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,GAAG,SAAS,CAE3B;IAED;;;;OAIG;IACH,YAAY,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY;CAG9C"}
\ No newline at end of file
+{"version":3,"file":"JSHandle.d.ts","sourceRoot":"","sources":["../../../../src/api/JSHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,gBAAgB,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,QAAQ,CAAC,CAAC,GAAG,OAAO;IAC/B;;OAEG;IACK,CAAC,CAAC,EAAE,CAAC,CAAC;IAEd;;OAEG;;IAGH;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,gBAAgB,IAAI,gBAAgB;IAIpC;;OAEG;IACH,IAAI,MAAM,IAAI,UAAU,CAEvB;IAED;;OAEG;IACG,QAAQ,CACZ,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAKrC;;;OAGG;IACG,cAAc,CAClB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAKhD;;OAEG;IACG,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EACjC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC7D,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EACjC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAK3B;;;;;;;;;;;;;;;;;OAiBG;IACG,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAIrD;;;;;;;OAOG;IACG,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC;IAI7B;;;OAGG;IACH,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI;IAIvC;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B;;;;;OAKG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,IAAI,EAAE,IAAI,MAAM,GAAG,SAAS,CAE3B;IAED;;;;OAIG;IACH,YAAY,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY;CAG9C"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/JSHandle.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/JSHandle.js.map
index 84f30bb..f6c98b3 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/JSHandle.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/JSHandle.js.map
@@ -1 +1 @@
-{"version":3,"file":"JSHandle.js","sourceRoot":"","sources":["../../../../src/api/JSHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAYH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,QAAQ;IAMnB;;OAEG;IACH,gBAAe,CAAC;IAEhB;;OAEG;IACH,IAAI,QAAQ;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAYD,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAaD,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAYD,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,EAAE;QACJ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CACF"}
\ No newline at end of file
+{"version":3,"file":"JSHandle.js","sourceRoot":"","sources":["../../../../src/api/JSHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,OAAO,QAAQ;IAMnB;;OAEG;IACH,gBAAe,CAAC;IAEhB;;OAEG;IACH,IAAI,QAAQ;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAYD,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAaD,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAYD,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,EAAE;QACJ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Locator.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Locator.d.ts
deleted file mode 100644
index 09dbe35..0000000
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Locator.d.ts
+++ /dev/null
@@ -1,166 +0,0 @@
-/**
- * Copyright 2023 Google Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-import { EventEmitter } from '../common/EventEmitter.js';
-import { ElementHandle, ClickOptions } from './ElementHandle.js';
-import type { Frame } from './Frame.js';
-import type { Page } from './Page.js';
-/**
- * @public
- */
-export type VisibilityOption = 'hidden' | 'visible' | null;
-/**
- * @public
- */
-export interface LocatorOptions {
-    /**
-     * Whether to wait for the element to be `visible` or `hidden`. `null` to
-     * disable visibility checks.
-     */
-    visibility: VisibilityOption;
-    /**
-     * Total timeout for the entire locator operation.
-     *
-     * Pass `0` to disable timeout.
-     *
-     * @defaultValue `Page.getDefaultTimeout()`
-     */
-    timeout: number;
-    /**
-     * Whether to scroll the element into viewport if not in the viewprot already.
-     * @defaultValue `true`
-     */
-    ensureElementIsInTheViewport: boolean;
-    /**
-     * Whether to wait for input elements to become enabled before the action.
-     * Applicable to `click` and `fill` actions.
-     * @defaultValue `true`
-     */
-    waitForEnabled: boolean;
-    /**
-     * Whether to wait for the element's bounding box to be same between two
-     * animation frames.
-     * @defaultValue `true`
-     */
-    waitForStableBoundingBox: boolean;
-}
-/**
- * @public
- */
-export type ActionCondition = (element: ElementHandle, signal: AbortSignal) => Promise<void>;
-/**
- * @public
- */
-export interface ActionOptions {
-    signal?: AbortSignal;
-    conditions: ActionCondition[];
-}
-/**
- * All the events that a locator instance may emit.
- *
- * @public
- */
-export declare enum LocatorEmittedEvents {
-    /**
-     * Emitted every time before the locator performs an action on the located element(s).
-     */
-    Action = "action"
-}
-/**
- * @public
- */
-export interface LocatorEventObject {
-    [LocatorEmittedEvents.Action]: never;
-}
-/**
- * Locators describe a strategy of locating elements and performing an action on
- * them. If the action fails because the element is not ready for the action,
- * the whole operation is retried. Various preconditions for a successful action
- * are checked automatically.
- *
- * @public
- */
-export declare abstract class Locator extends EventEmitter {
-    /**
-     * @internal
-     */
-    static create(pageOrFrame: Page | Frame, selector: string): Locator;
-    /**
-     * Creates a race between multiple locators but ensures that only a single one
-     * acts.
-     */
-    static race(locators: Locator[]): Locator;
-    on<K extends keyof LocatorEventObject>(eventName: K, handler: (event: LocatorEventObject[K]) => void): this;
-    once<K extends keyof LocatorEventObject>(eventName: K, handler: (event: LocatorEventObject[K]) => void): this;
-    off<K extends keyof LocatorEventObject>(eventName: K, handler: (event: LocatorEventObject[K]) => void): this;
-    abstract setVisibility(visibility: VisibilityOption): this;
-    abstract setTimeout(timeout: number): this;
-    abstract setEnsureElementIsInTheViewport(value: boolean): this;
-    abstract setWaitForEnabled(value: boolean): this;
-    abstract setWaitForStableBoundingBox(value: boolean): this;
-    abstract click(clickOptions?: ClickOptions & {
-        signal?: AbortSignal;
-    }): Promise<void>;
-    /**
-     * Fills out the input identified by the locator using the provided value. The
-     * type of the input is determined at runtime and the appropriate fill-out
-     * method is chosen based on the type. contenteditable, selector, inputs are
-     * supported.
-     */
-    abstract fill(value: string, fillOptions?: {
-        signal?: AbortSignal;
-    }): Promise<void>;
-    abstract hover(hoverOptions?: {
-        signal?: AbortSignal;
-    }): Promise<void>;
-    abstract scroll(scrollOptions?: {
-        scrollTop?: number;
-        scrollLeft?: number;
-        signal?: AbortSignal;
-    }): Promise<void>;
-}
-/**
- * @internal
- */
-export declare class LocatorImpl extends Locator {
-    #private;
-    constructor(pageOrFrame: Page | Frame, selector: string);
-    setVisibility(visibility: VisibilityOption): this;
-    setTimeout(timeout: number): this;
-    setEnsureElementIsInTheViewport(value: boolean): this;
-    setWaitForEnabled(value: boolean): this;
-    setWaitForStableBoundingBox(value: boolean): this;
-    click(clickOptions?: ClickOptions & {
-        signal?: AbortSignal;
-    }): Promise<void>;
-    /**
-     * Fills out the input identified by the locator using the provided value. The
-     * type of the input is determined at runtime and the appropriate fill-out
-     * method is chosen based on the type. contenteditable, selector, inputs are
-     * supported.
-     */
-    fill(value: string, fillOptions?: {
-        signal?: AbortSignal;
-    }): Promise<void>;
-    hover(hoverOptions?: {
-        signal?: AbortSignal;
-    }): Promise<void>;
-    scroll(scrollOptions?: {
-        scrollTop?: number;
-        scrollLeft?: number;
-        signal?: AbortSignal;
-    }): Promise<void>;
-}
-//# sourceMappingURL=Locator.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Locator.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Locator.d.ts.map
deleted file mode 100644
index 0bbaaab..0000000
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Locator.d.ts.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Locator.d.ts","sourceRoot":"","sources":["../../../../src/api/Locator.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Locator.js b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Locator.js
deleted file mode 100644
index 8ac704d..0000000
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Locator.js
+++ /dev/null
@@ -1,558 +0,0 @@
-/**
- * Copyright 2023 Google Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _LocatorImpl_instances, _LocatorImpl_pageOrFrame, _LocatorImpl_selector, _LocatorImpl_visibility, _LocatorImpl_timeout, _LocatorImpl_ensureElementIsInTheViewport, _LocatorImpl_waitForEnabled, _LocatorImpl_waitForStableBoundingBox, _LocatorImpl_waitForFunction, _LocatorImpl_ensureElementIsInTheViewportIfNeeded, _LocatorImpl_waitForVisibilityIfNeeded, _LocatorImpl_waitForEnabledIfNeeded, _LocatorImpl_waitForStableBoundingBoxIfNeeded, _LocatorImpl_run, _RaceLocatorImpl_instances, _RaceLocatorImpl_locators, _RaceLocatorImpl_runRace;
-import { TimeoutError } from '../common/Errors.js';
-import { EventEmitter } from '../common/EventEmitter.js';
-import { debugError } from '../common/util.js';
-import { isErrorLike } from '../util/ErrorLike.js';
-/**
- * Timeout for individual operations inside the locator. On errors the
- * operation is retried as long as {@link Locator.setTimeout} is not
- * exceeded. This timeout should be generally much lower as locating an
- * element means multiple asynchronious operations.
- */
-const CONDITION_TIMEOUT = 1000;
-const WAIT_FOR_FUNCTION_DELAY = 100;
-/**
- * All the events that a locator instance may emit.
- *
- * @public
- */
-export var LocatorEmittedEvents;
-(function (LocatorEmittedEvents) {
-    /**
-     * Emitted every time before the locator performs an action on the located element(s).
-     */
-    LocatorEmittedEvents["Action"] = "action";
-})(LocatorEmittedEvents || (LocatorEmittedEvents = {}));
-/**
- * Locators describe a strategy of locating elements and performing an action on
- * them. If the action fails because the element is not ready for the action,
- * the whole operation is retried. Various preconditions for a successful action
- * are checked automatically.
- *
- * @public
- */
-export class Locator extends EventEmitter {
-    /**
-     * @internal
-     */
-    static create(pageOrFrame, selector) {
-        return new LocatorImpl(pageOrFrame, selector).setTimeout('getDefaultTimeout' in pageOrFrame
-            ? pageOrFrame.getDefaultTimeout()
-            : pageOrFrame.page().getDefaultTimeout());
-    }
-    /**
-     * Creates a race between multiple locators but ensures that only a single one
-     * acts.
-     */
-    static race(locators) {
-        return new RaceLocatorImpl(locators);
-    }
-    on(eventName, handler) {
-        return super.on(eventName, handler);
-    }
-    once(eventName, handler) {
-        return super.once(eventName, handler);
-    }
-    off(eventName, handler) {
-        return super.off(eventName, handler);
-    }
-}
-/**
- * @internal
- */
-export class LocatorImpl extends Locator {
-    constructor(pageOrFrame, selector) {
-        super();
-        _LocatorImpl_instances.add(this);
-        _LocatorImpl_pageOrFrame.set(this, void 0);
-        _LocatorImpl_selector.set(this, void 0);
-        _LocatorImpl_visibility.set(this, 'visible');
-        _LocatorImpl_timeout.set(this, 30000);
-        _LocatorImpl_ensureElementIsInTheViewport.set(this, true);
-        _LocatorImpl_waitForEnabled.set(this, true);
-        _LocatorImpl_waitForStableBoundingBox.set(this, true);
-        /**
-         * Checks if the element is in the viewport and auto-scrolls it if it is not.
-         */
-        _LocatorImpl_ensureElementIsInTheViewportIfNeeded.set(this, async (element, signal) => {
-            if (!__classPrivateFieldGet(this, _LocatorImpl_ensureElementIsInTheViewport, "f")) {
-                return;
-            }
-            // Side-effect: this also checks if it is connected.
-            const isIntersectingViewport = await element.isIntersectingViewport({
-                threshold: 0,
-            });
-            signal?.throwIfAborted();
-            if (!isIntersectingViewport) {
-                await element.scrollIntoView();
-                signal?.throwIfAborted();
-                await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_waitForFunction).call(this, async () => {
-                    return await element.isIntersectingViewport({
-                        threshold: 0,
-                    });
-                }, signal);
-                signal?.throwIfAborted();
-            }
-        });
-        /**
-         * Waits for the element to become visible or hidden. visibility === 'visible'
-         * means that the element has a computed style, the visibility property other
-         * than 'hidden' or 'collapse' and non-empty bounding box. visibility ===
-         * 'hidden' means the opposite of that.
-         */
-        _LocatorImpl_waitForVisibilityIfNeeded.set(this, async (element, signal) => {
-            if (__classPrivateFieldGet(this, _LocatorImpl_visibility, "f") === null) {
-                return;
-            }
-            if (__classPrivateFieldGet(this, _LocatorImpl_visibility, "f") === 'hidden') {
-                await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_waitForFunction).call(this, async () => {
-                    return element.isHidden();
-                }, signal);
-            }
-            await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_waitForFunction).call(this, async () => {
-                return element.isVisible();
-            }, signal);
-        });
-        /**
-         * If the element is a button, textarea, input or select, wait till the
-         * element becomes enabled.
-         */
-        _LocatorImpl_waitForEnabledIfNeeded.set(this, async (element, signal) => {
-            if (!__classPrivateFieldGet(this, _LocatorImpl_waitForEnabled, "f")) {
-                return;
-            }
-            await __classPrivateFieldGet(this, _LocatorImpl_pageOrFrame, "f").waitForFunction(el => {
-                if (['button', 'textarea', 'input', 'select'].includes(el.tagName)) {
-                    return !el.disabled;
-                }
-                return true;
-            }, {
-                timeout: CONDITION_TIMEOUT,
-                signal,
-            }, element);
-        });
-        /**
-         * Compares the bounding box of the element for two consecutive animation
-         * frames and waits till they are the same.
-         */
-        _LocatorImpl_waitForStableBoundingBoxIfNeeded.set(this, async (element, signal) => {
-            if (!__classPrivateFieldGet(this, _LocatorImpl_waitForStableBoundingBox, "f")) {
-                return;
-            }
-            function getClientRect() {
-                return element.evaluate(el => {
-                    return new Promise(resolve => {
-                        window.requestAnimationFrame(() => {
-                            const rect1 = el.getBoundingClientRect();
-                            window.requestAnimationFrame(() => {
-                                const rect2 = el.getBoundingClientRect();
-                                resolve([
-                                    {
-                                        x: rect1.x,
-                                        y: rect1.y,
-                                        width: rect1.width,
-                                        height: rect1.height,
-                                    },
-                                    {
-                                        x: rect2.x,
-                                        y: rect2.y,
-                                        width: rect2.width,
-                                        height: rect2.height,
-                                    },
-                                ]);
-                            });
-                        });
-                    });
-                });
-            }
-            await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_waitForFunction).call(this, async () => {
-                const [rect1, rect2] = await getClientRect();
-                return (rect1.x === rect2.x &&
-                    rect1.y === rect2.y &&
-                    rect1.width === rect2.width &&
-                    rect1.height === rect2.height);
-            }, signal);
-        });
-        __classPrivateFieldSet(this, _LocatorImpl_pageOrFrame, pageOrFrame, "f");
-        __classPrivateFieldSet(this, _LocatorImpl_selector, selector, "f");
-    }
-    setVisibility(visibility) {
-        __classPrivateFieldSet(this, _LocatorImpl_visibility, visibility, "f");
-        return this;
-    }
-    setTimeout(timeout) {
-        __classPrivateFieldSet(this, _LocatorImpl_timeout, timeout, "f");
-        return this;
-    }
-    setEnsureElementIsInTheViewport(value) {
-        __classPrivateFieldSet(this, _LocatorImpl_ensureElementIsInTheViewport, value, "f");
-        return this;
-    }
-    setWaitForEnabled(value) {
-        __classPrivateFieldSet(this, _LocatorImpl_waitForEnabled, value, "f");
-        return this;
-    }
-    setWaitForStableBoundingBox(value) {
-        __classPrivateFieldSet(this, _LocatorImpl_waitForStableBoundingBox, value, "f");
-        return this;
-    }
-    async click(clickOptions) {
-        return await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_run).call(this, async (element) => {
-            await element.click(clickOptions);
-        }, {
-            signal: clickOptions?.signal,
-            conditions: [
-                __classPrivateFieldGet(this, _LocatorImpl_ensureElementIsInTheViewportIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForVisibilityIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForEnabledIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForStableBoundingBoxIfNeeded, "f"),
-            ],
-        });
-    }
-    /**
-     * Fills out the input identified by the locator using the provided value. The
-     * type of the input is determined at runtime and the appropriate fill-out
-     * method is chosen based on the type. contenteditable, selector, inputs are
-     * supported.
-     */
-    async fill(value, fillOptions) {
-        return await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_run).call(this, async (element) => {
-            const input = element;
-            const inputType = await input.evaluate(el => {
-                if (el instanceof HTMLSelectElement) {
-                    return 'select';
-                }
-                if (el instanceof HTMLInputElement) {
-                    if (new Set([
-                        'textarea',
-                        'text',
-                        'url',
-                        'tel',
-                        'search',
-                        'password',
-                        'number',
-                        'email',
-                    ]).has(el.type)) {
-                        return 'typeable-input';
-                    }
-                    else {
-                        return 'other-input';
-                    }
-                }
-                if (el.isContentEditable) {
-                    return 'contenteditable';
-                }
-                return 'unknown';
-            });
-            switch (inputType) {
-                case 'select':
-                    await input.select(value);
-                    break;
-                case 'contenteditable':
-                case 'typeable-input':
-                    const textToType = await input.evaluate((input, newValue) => {
-                        const currentValue = input.isContentEditable
-                            ? input.innerText
-                            : input.value;
-                        // Clear the input if the current value does not match the filled
-                        // out value.
-                        if (newValue.length <= currentValue.length ||
-                            !newValue.startsWith(input.value)) {
-                            if (input.isContentEditable) {
-                                input.innerText = '';
-                            }
-                            else {
-                                input.value = '';
-                            }
-                            return newValue;
-                        }
-                        const originalValue = input.isContentEditable
-                            ? input.innerText
-                            : input.value;
-                        // If the value is partially filled out, only type the rest. Move
-                        // cursor to the end of the common prefix.
-                        if (input.isContentEditable) {
-                            input.innerText = '';
-                            input.innerText = originalValue;
-                        }
-                        else {
-                            input.value = '';
-                            input.value = originalValue;
-                        }
-                        return newValue.substring(originalValue.length);
-                    }, value);
-                    await input.type(textToType);
-                    break;
-                case 'other-input':
-                    await input.focus();
-                    await input.evaluate((input, value) => {
-                        input.value = value;
-                        input.dispatchEvent(new Event('input', { bubbles: true }));
-                        input.dispatchEvent(new Event('change', { bubbles: true }));
-                    }, value);
-                    break;
-                case 'unknown':
-                    throw new Error(`Element cannot be filled out.`);
-            }
-        }, {
-            signal: fillOptions?.signal,
-            conditions: [
-                __classPrivateFieldGet(this, _LocatorImpl_ensureElementIsInTheViewportIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForVisibilityIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForEnabledIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForStableBoundingBoxIfNeeded, "f"),
-            ],
-        });
-    }
-    async hover(hoverOptions) {
-        return await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_run).call(this, async (element) => {
-            await element.hover();
-        }, {
-            signal: hoverOptions?.signal,
-            conditions: [
-                __classPrivateFieldGet(this, _LocatorImpl_ensureElementIsInTheViewportIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForVisibilityIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForStableBoundingBoxIfNeeded, "f"),
-            ],
-        });
-    }
-    async scroll(scrollOptions) {
-        return await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_run).call(this, async (element) => {
-            await element.evaluate((el, scrollTop, scrollLeft) => {
-                if (scrollTop !== undefined) {
-                    el.scrollTop = scrollTop;
-                }
-                if (scrollLeft !== undefined) {
-                    el.scrollLeft = scrollLeft;
-                }
-            }, scrollOptions?.scrollTop, scrollOptions?.scrollLeft);
-        }, {
-            signal: scrollOptions?.signal,
-            conditions: [
-                __classPrivateFieldGet(this, _LocatorImpl_ensureElementIsInTheViewportIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForVisibilityIfNeeded, "f"),
-                __classPrivateFieldGet(this, _LocatorImpl_waitForStableBoundingBoxIfNeeded, "f"),
-            ],
-        });
-    }
-}
-_LocatorImpl_pageOrFrame = new WeakMap(), _LocatorImpl_selector = new WeakMap(), _LocatorImpl_visibility = new WeakMap(), _LocatorImpl_timeout = new WeakMap(), _LocatorImpl_ensureElementIsInTheViewport = new WeakMap(), _LocatorImpl_waitForEnabled = new WeakMap(), _LocatorImpl_waitForStableBoundingBox = new WeakMap(), _LocatorImpl_ensureElementIsInTheViewportIfNeeded = new WeakMap(), _LocatorImpl_waitForVisibilityIfNeeded = new WeakMap(), _LocatorImpl_waitForEnabledIfNeeded = new WeakMap(), _LocatorImpl_waitForStableBoundingBoxIfNeeded = new WeakMap(), _LocatorImpl_instances = new WeakSet(), _LocatorImpl_waitForFunction = 
-/**
- * Retries the `fn` until a truthy result is returned.
- */
-async function _LocatorImpl_waitForFunction(fn, signal, timeout = CONDITION_TIMEOUT) {
-    let isActive = true;
-    let controller;
-    // If the loop times out, we abort only the last iteration's controller.
-    const timeoutId = timeout
-        ? setTimeout(() => {
-            isActive = false;
-            controller?.abort();
-        }, timeout)
-        : 0;
-    // If the user's signal aborts, we abort the last iteration and the loop.
-    signal?.addEventListener('abort', () => {
-        controller?.abort();
-        isActive = false;
-        clearTimeout(timeoutId);
-    }, { once: true });
-    while (isActive) {
-        controller = new AbortController();
-        try {
-            const result = await fn(controller.signal);
-            if (result) {
-                clearTimeout(timeoutId);
-                return;
-            }
-        }
-        catch (err) {
-            if (isErrorLike(err)) {
-                debugError(err);
-                // Retry on all timeouts.
-                if (err instanceof TimeoutError) {
-                    continue;
-                }
-                // Abort error are ignored as they only affect one iteration.
-                if (err.name === 'AbortError') {
-                    continue;
-                }
-            }
-            throw err;
-        }
-        finally {
-            // We abort any operations that might have been started by `fn`, because
-            // the iteration is now over.
-            controller.abort();
-        }
-        await new Promise(resolve => {
-            return setTimeout(resolve, WAIT_FOR_FUNCTION_DELAY);
-        });
-    }
-    signal?.throwIfAborted();
-    throw new TimeoutError(`waitForFunction timed out. The timeout is ${timeout}ms.`);
-}, _LocatorImpl_run = async function _LocatorImpl_run(action, options) {
-    await __classPrivateFieldGet(this, _LocatorImpl_instances, "m", _LocatorImpl_waitForFunction).call(this, async (signal) => {
-        // 1. Select the element without visibility checks.
-        const element = await __classPrivateFieldGet(this, _LocatorImpl_pageOrFrame, "f").waitForSelector(__classPrivateFieldGet(this, _LocatorImpl_selector, "f"), {
-            visible: false,
-            timeout: __classPrivateFieldGet(this, _LocatorImpl_timeout, "f"),
-            signal,
-        });
-        // Retry if no element is found.
-        if (!element) {
-            return false;
-        }
-        try {
-            signal?.throwIfAborted();
-            // 2. Perform action specific checks.
-            await Promise.all(options?.conditions.map(check => {
-                return check(element, signal);
-            }) || []);
-            signal?.throwIfAborted();
-            // 3. Perform the action
-            this.emit(LocatorEmittedEvents.Action);
-            await action(element);
-            return true;
-        }
-        finally {
-            void element.dispose().catch(debugError);
-        }
-    }, options?.signal, __classPrivateFieldGet(this, _LocatorImpl_timeout, "f"));
-};
-/**
- * @internal
- */
-class RaceLocatorImpl extends Locator {
-    constructor(locators) {
-        super();
-        _RaceLocatorImpl_instances.add(this);
-        _RaceLocatorImpl_locators.set(this, void 0);
-        __classPrivateFieldSet(this, _RaceLocatorImpl_locators, locators, "f");
-    }
-    setVisibility(visibility) {
-        for (const locator of __classPrivateFieldGet(this, _RaceLocatorImpl_locators, "f")) {
-            locator.setVisibility(visibility);
-        }
-        return this;
-    }
-    setTimeout(timeout) {
-        for (const locator of __classPrivateFieldGet(this, _RaceLocatorImpl_locators, "f")) {
-            locator.setTimeout(timeout);
-        }
-        return this;
-    }
-    setEnsureElementIsInTheViewport(value) {
-        for (const locator of __classPrivateFieldGet(this, _RaceLocatorImpl_locators, "f")) {
-            locator.setEnsureElementIsInTheViewport(value);
-        }
-        return this;
-    }
-    setWaitForEnabled(value) {
-        for (const locator of __classPrivateFieldGet(this, _RaceLocatorImpl_locators, "f")) {
-            locator.setWaitForEnabled(value);
-        }
-        return this;
-    }
-    setWaitForStableBoundingBox(value) {
-        for (const locator of __classPrivateFieldGet(this, _RaceLocatorImpl_locators, "f")) {
-            locator.setWaitForStableBoundingBox(value);
-        }
-        return this;
-    }
-    async click(clickOptions) {
-        return await __classPrivateFieldGet(this, _RaceLocatorImpl_instances, "m", _RaceLocatorImpl_runRace).call(this, (locator, abortSignal) => {
-            return locator.click({
-                ...clickOptions,
-                signal: abortSignal,
-            });
-        }, {
-            signal: clickOptions?.signal,
-        });
-    }
-    async fill(value, fillOptions) {
-        return await __classPrivateFieldGet(this, _RaceLocatorImpl_instances, "m", _RaceLocatorImpl_runRace).call(this, (locator, abortSignal) => {
-            return locator.fill(value, {
-                ...fillOptions,
-                signal: abortSignal,
-            });
-        }, {
-            signal: fillOptions?.signal,
-        });
-    }
-    async hover(hoverOptions) {
-        return await __classPrivateFieldGet(this, _RaceLocatorImpl_instances, "m", _RaceLocatorImpl_runRace).call(this, (locator, abortSignal) => {
-            return locator.hover({
-                ...hoverOptions,
-                signal: abortSignal,
-            });
-        }, {
-            signal: hoverOptions?.signal,
-        });
-    }
-    async scroll(scrollOptions) {
-        return await __classPrivateFieldGet(this, _RaceLocatorImpl_instances, "m", _RaceLocatorImpl_runRace).call(this, (locator, abortSignal) => {
-            return locator.scroll({
-                ...scrollOptions,
-                signal: abortSignal,
-            });
-        }, {
-            signal: scrollOptions?.signal,
-        });
-    }
-}
-_RaceLocatorImpl_locators = new WeakMap(), _RaceLocatorImpl_instances = new WeakSet(), _RaceLocatorImpl_runRace = async function _RaceLocatorImpl_runRace(action, options) {
-    const abortControllers = new WeakMap();
-    // Abort all locators if the user-provided signal aborts.
-    options.signal?.addEventListener('abort', () => {
-        for (const locator of __classPrivateFieldGet(this, _RaceLocatorImpl_locators, "f")) {
-            abortControllers.get(locator)?.abort();
-        }
-    });
-    const handleLocatorAction = (locator) => {
-        return () => {
-            // When one locator is ready to act, we will abort other locators.
-            for (const other of __classPrivateFieldGet(this, _RaceLocatorImpl_locators, "f")) {
-                if (other !== locator) {
-                    abortControllers.get(other)?.abort();
-                }
-            }
-            this.emit(LocatorEmittedEvents.Action);
-        };
-    };
-    const createAbortController = (locator) => {
-        const abortController = new AbortController();
-        abortControllers.set(locator, abortController);
-        return abortController;
-    };
-    await Promise.allSettled(__classPrivateFieldGet(this, _RaceLocatorImpl_locators, "f").map(locator => {
-        return action(locator.on(LocatorEmittedEvents.Action, handleLocatorAction(locator)), createAbortController(locator).signal);
-    }));
-    options.signal?.throwIfAborted();
-};
-//# sourceMappingURL=Locator.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Locator.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Locator.js.map
deleted file mode 100644
index 3fa18c7..0000000
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Locator.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"Locator.js","sourceRoot":"","sources":["../../../../src/api/Locator.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.d.ts
index 18c318a..0cf89e4 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.d.ts
@@ -20,11 +20,11 @@
 import type { HTTPRequest } from '../api/HTTPRequest.js';
 import type { HTTPResponse } from '../api/HTTPResponse.js';
 import type { Accessibility } from '../common/Accessibility.js';
+import type { CDPSession } from '../common/Connection.js';
 import type { ConsoleMessage } from '../common/ConsoleMessage.js';
 import type { Coverage } from '../common/Coverage.js';
 import { Device } from '../common/Device.js';
 import { DeviceRequestPrompt } from '../common/DeviceRequestPrompt.js';
-import type { Dialog } from '../common/Dialog.js';
 import { TargetCloseError } from '../common/Errors.js';
 import { EventEmitter } from '../common/EventEmitter.js';
 import type { FileChooser } from '../common/FileChooser.js';
@@ -33,18 +33,19 @@
 import { Credentials, NetworkConditions } from '../common/NetworkManager.js';
 import { ParsedPDFOptions, PDFOptions } from '../common/PDFOptions.js';
 import type { Viewport } from '../common/PuppeteerViewport.js';
-import type { Target } from '../common/Target.js';
 import type { Tracing } from '../common/Tracing.js';
-import type { EvaluateFunc, EvaluateFuncWith, HandleFor, NodeFor } from '../common/types.js';
+import type { Awaitable, EvaluateFunc, EvaluateFuncWith, HandleFor, NodeFor } from '../common/types.js';
 import type { WebWorker } from '../common/WebWorker.js';
 import { Deferred } from '../util/Deferred.js';
 import type { Browser } from './Browser.js';
 import type { BrowserContext } from './BrowserContext.js';
+import type { Dialog } from './Dialog.js';
 import type { ClickOptions, ElementHandle } from './ElementHandle.js';
 import type { Frame, FrameAddScriptTagOptions, FrameAddStyleTagOptions, FrameWaitForFunctionOptions } from './Frame.js';
-import { Keyboard, Mouse, Touchscreen, KeyboardTypeOptions } from './Input.js';
+import { Keyboard, KeyboardTypeOptions, Mouse, Touchscreen } from './Input.js';
 import type { JSHandle } from './JSHandle.js';
-import { Locator } from './Locator.js';
+import { AwaitedLocator, Locator } from './locators/locators.js';
+import type { Target } from './Target.js';
 /**
  * @public
  */
@@ -516,6 +517,10 @@
      */
     mainFrame(): Frame;
     /**
+     * Creates a Chrome Devtools Protocol session attached to the page.
+     */
+    createCDPSession(): Promise<CDPSession>;
+    /**
      * {@inheritDoc Keyboard}
      */
     get keyboard(): Keyboard;
@@ -663,20 +668,29 @@
      */
     getDefaultTimeout(): number;
     /**
-     * Creates a locator for the provided `selector`. See {@link Locator} for
+     * Creates a locator for the provided selector. See {@link Locator} for
      * details and supported actions.
      *
      * @remarks
      * Locators API is experimental and we will not follow semver for breaking
      * change in the Locators API.
      */
-    locator(selector: string): Locator;
+    locator<Selector extends string>(selector: Selector): Locator<NodeFor<Selector>>;
+    /**
+     * Creates a locator for the provided function. See {@link Locator} for
+     * details and supported actions.
+     *
+     * @remarks
+     * Locators API is experimental and we will not follow semver for breaking
+     * change in the Locators API.
+     */
+    locator<Ret>(func: () => Awaitable<Ret>): Locator<Ret>;
     /**
      * A shortcut for {@link Locator.race} that does not require static imports.
      *
      * @internal
      */
-    locatorRace(locators: Locator[]): Locator;
+    locatorRace<Locators extends readonly unknown[] | []>(locators: Locators): Locator<AwaitedLocator<Locators[number]>>;
     /**
      * Runs `document.querySelector` within the page. If no element matches the
      * selector, the return value resolves to `null`.
@@ -951,7 +965,6 @@
      */
     addStyleTag(options: Omit<FrameAddStyleTagOptions, 'url'>): Promise<ElementHandle<HTMLStyleElement>>;
     addStyleTag(options: FrameAddStyleTagOptions): Promise<ElementHandle<HTMLLinkElement>>;
-    addStyleTag(options: FrameAddStyleTagOptions): Promise<ElementHandle<HTMLStyleElement | HTMLLinkElement>>;
     /**
      * The method adds a function called `name` on the page's `window` object.
      * When called, the function executes `puppeteerFunction` in node.js and
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.d.ts.map
index 0fa1dd7..8d11ad4 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../src/api/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../src/api/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.js b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.js
index 36020bc..97ec6b8 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.js
@@ -13,19 +13,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Page_handlerMap;
 import { EventEmitter } from '../common/EventEmitter.js';
 import { NetworkManagerEmittedEvents, } from '../common/NetworkManager.js';
 import { paperFormats, } from '../common/PDFOptions.js';
 import { importFSPromises, isNumber, isString, waitForEvent, withSourcePuppeteerURLIfNone, } from '../common/util.js';
 import { assert } from '../util/assert.js';
 import { Deferred } from '../util/Deferred.js';
-import { Locator } from './Locator.js';
+import { FunctionLocator, Locator, NodeLocator, } from './locators/locators.js';
 /**
  * Page provides methods to interact with a single tab or
  * {@link https://developer.chrome.com/extensions/background_pages | extension background page}
@@ -76,12 +70,12 @@
  * @public
  */
 export class Page extends EventEmitter {
+    #handlerMap = new WeakMap();
     /**
      * @internal
      */
     constructor() {
         super();
-        _Page_handlerMap.set(this, new WeakMap());
     }
     /**
      * `true` if the service worker are being bypassed, `false` otherwise.
@@ -114,13 +108,13 @@
      */
     on(eventName, handler) {
         if (eventName === 'request') {
-            const wrap = __classPrivateFieldGet(this, _Page_handlerMap, "f").get(handler) ||
+            const wrap = this.#handlerMap.get(handler) ||
                 ((event) => {
                     event.enqueueInterceptAction(() => {
                         return handler(event);
                     });
                 });
-            __classPrivateFieldGet(this, _Page_handlerMap, "f").set(handler, wrap);
+            this.#handlerMap.set(handler, wrap);
             return super.on(eventName, wrap);
         }
         return super.on(eventName, handler);
@@ -132,7 +126,7 @@
     }
     off(eventName, handler) {
         if (eventName === 'request') {
-            handler = __classPrivateFieldGet(this, _Page_handlerMap, "f").get(handler) || handler;
+            handler = this.#handlerMap.get(handler) || handler;
         }
         return super.off(eventName, handler);
     }
@@ -170,6 +164,12 @@
         throw new Error('Not implemented');
     }
     /**
+     * Creates a Chrome Devtools Protocol session attached to the page.
+     */
+    createCDPSession() {
+        throw new Error('Not implemented');
+    }
+    /**
      * {@inheritDoc Keyboard}
      */
     get keyboard() {
@@ -243,16 +243,13 @@
     getDefaultTimeout() {
         throw new Error('Not implemented');
     }
-    /**
-     * Creates a locator for the provided `selector`. See {@link Locator} for
-     * details and supported actions.
-     *
-     * @remarks
-     * Locators API is experimental and we will not follow semver for breaking
-     * change in the Locators API.
-     */
-    locator(selector) {
-        return Locator.create(this, selector);
+    locator(selectorOrFunc) {
+        if (typeof selectorOrFunc === 'string') {
+            return NodeLocator.create(this, selectorOrFunc);
+        }
+        else {
+            return FunctionLocator.create(this, selectorOrFunc);
+        }
     }
     /**
      * A shortcut for {@link Locator.race} that does not require static imports.
@@ -443,11 +440,22 @@
     async setCookie() {
         throw new Error('Not implemented');
     }
-    async addScriptTag() {
-        throw new Error('Not implemented');
+    /**
+     * Adds a `<script>` tag into the page with the desired URL or content.
+     *
+     * @remarks
+     * Shortcut for
+     * {@link Frame.addScriptTag | page.mainFrame().addScriptTag(options)}.
+     *
+     * @param options - Options for the script.
+     * @returns An {@link ElementHandle | element handle} to the injected
+     * `<script>` element.
+     */
+    async addScriptTag(options) {
+        return this.mainFrame().addScriptTag(options);
     }
-    async addStyleTag() {
-        throw new Error('Not implemented');
+    async addStyleTag(options) {
+        return this.mainFrame().addStyleTag(options);
     }
     async exposeFunction() {
         throw new Error('Not implemented');
@@ -1017,8 +1025,59 @@
     async waitForSelector(selector, options = {}) {
         return await this.mainFrame().waitForSelector(selector, options);
     }
-    waitForXPath() {
-        throw new Error('Not implemented');
+    /**
+     * Wait for the `xpath` to appear in page. If at the moment of calling the
+     * method the `xpath` already exists, the method will return immediately. If
+     * the `xpath` doesn't appear after the `timeout` milliseconds of waiting, the
+     * function will throw.
+     *
+     * @example
+     * This method works across navigation
+     *
+     * ```ts
+     * import puppeteer from 'puppeteer';
+     * (async () => {
+     *   const browser = await puppeteer.launch();
+     *   const page = await browser.newPage();
+     *   let currentURL;
+     *   page
+     *     .waitForXPath('//img')
+     *     .then(() => console.log('First URL with image: ' + currentURL));
+     *   for (currentURL of [
+     *     'https://example.com',
+     *     'https://google.com',
+     *     'https://bbc.com',
+     *   ]) {
+     *     await page.goto(currentURL);
+     *   }
+     *   await browser.close();
+     * })();
+     * ```
+     *
+     * @param xpath - A
+     * {@link https://developer.mozilla.org/en-US/docs/Web/XPath | xpath} of an
+     * element to wait for
+     * @param options - Optional waiting parameters
+     * @returns Promise which resolves when element specified by xpath string is
+     * added to DOM. Resolves to `null` if waiting for `hidden: true` and xpath is
+     * not found in DOM, otherwise resolves to `ElementHandle`.
+     * @remarks
+     * The optional Argument `options` have properties:
+     *
+     * - `visible`: A boolean to wait for element to be present in DOM and to be
+     *   visible, i.e. to not have `display: none` or `visibility: hidden` CSS
+     *   properties. Defaults to `false`.
+     *
+     * - `hidden`: A boolean wait for element to not be found in the DOM or to be
+     *   hidden, i.e. have `display: none` or `visibility: hidden` CSS properties.
+     *   Defaults to `false`.
+     *
+     * - `timeout`: A number which is maximum time to wait for in milliseconds.
+     *   Defaults to `30000` (30 seconds). Pass `0` to disable timeout. The default
+     *   value can be changed by using the {@link Page.setDefaultTimeout} method.
+     */
+    waitForXPath(xpath, options) {
+        return this.mainFrame().waitForXPath(xpath, options);
     }
     /**
      * Waits for a function to finish evaluating in the page's context.
@@ -1084,7 +1143,6 @@
         throw new Error('Not implemented');
     }
 }
-_Page_handlerMap = new WeakMap();
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.js.map
index a04f750..c156274 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Page.js.map
@@ -1 +1 @@
-{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../../src/api/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../../src/api/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Target.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Target.d.ts
new file mode 100644
index 0000000..a4422c1
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Target.d.ts
@@ -0,0 +1,80 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import type { Browser } from '../api/Browser.js';
+import type { BrowserContext } from '../api/BrowserContext.js';
+import { Page } from '../api/Page.js';
+import { CDPSession } from '../common/Connection.js';
+import { WebWorker } from '../common/WebWorker.js';
+/**
+ * @public
+ */
+export declare enum TargetType {
+    PAGE = "page",
+    BACKGROUND_PAGE = "background_page",
+    SERVICE_WORKER = "service_worker",
+    SHARED_WORKER = "shared_worker",
+    BROWSER = "browser",
+    WEBVIEW = "webview",
+    OTHER = "other"
+}
+/**
+ * Target represents a
+ * {@link https://chromedevtools.github.io/devtools-protocol/tot/Target/ | CDP target}.
+ * In CDP a target is something that can be debugged such a frame, a page or a
+ * worker.
+ * @public
+ */
+export declare class Target {
+    /**
+     * @internal
+     */
+    protected constructor();
+    /**
+     * If the target is not of type `"service_worker"` or `"shared_worker"`, returns `null`.
+     */
+    worker(): Promise<WebWorker | null>;
+    /**
+     * If the target is not of type `"page"`, `"webview"` or `"background_page"`,
+     * returns `null`.
+     */
+    page(): Promise<Page | null>;
+    url(): string;
+    /**
+     * Creates a Chrome Devtools Protocol session attached to the target.
+     */
+    createCDPSession(): Promise<CDPSession>;
+    /**
+     * Identifies what kind of target this is.
+     *
+     * @remarks
+     *
+     * See {@link https://developer.chrome.com/extensions/background_pages | docs} for more info about background pages.
+     */
+    type(): TargetType;
+    /**
+     * Get the browser the target belongs to.
+     */
+    browser(): Browser;
+    /**
+     * Get the browser context the target belongs to.
+     */
+    browserContext(): BrowserContext;
+    /**
+     * Get the target that opened this target. Top-level targets return `null`.
+     */
+    opener(): Target | undefined;
+}
+//# sourceMappingURL=Target.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Target.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Target.d.ts.map
new file mode 100644
index 0000000..56e18c0
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Target.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"Target.d.ts","sourceRoot":"","sources":["../../../../src/api/Target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAEjD;;GAEG;AACH,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;IAC/B,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED;;;;;;GAMG;AACH,qBAAa,MAAM;IACjB;;OAEG;IACH,SAAS;IAET;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAIzC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAIlC,GAAG,IAAI,MAAM;IAIb;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC;IAIvC;;;;;;OAMG;IACH,IAAI,IAAI,UAAU;IAIlB;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,cAAc,IAAI,cAAc;IAIhC;;OAEG;IACH,MAAM,IAAI,MAAM,GAAG,SAAS;CAG7B"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Target.js b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Target.js
new file mode 100644
index 0000000..44d92b2
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Target.js
@@ -0,0 +1,92 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+/**
+ * @public
+ */
+export var TargetType;
+(function (TargetType) {
+    TargetType["PAGE"] = "page";
+    TargetType["BACKGROUND_PAGE"] = "background_page";
+    TargetType["SERVICE_WORKER"] = "service_worker";
+    TargetType["SHARED_WORKER"] = "shared_worker";
+    TargetType["BROWSER"] = "browser";
+    TargetType["WEBVIEW"] = "webview";
+    TargetType["OTHER"] = "other";
+})(TargetType || (TargetType = {}));
+/**
+ * Target represents a
+ * {@link https://chromedevtools.github.io/devtools-protocol/tot/Target/ | CDP target}.
+ * In CDP a target is something that can be debugged such a frame, a page or a
+ * worker.
+ * @public
+ */
+export class Target {
+    /**
+     * @internal
+     */
+    constructor() { }
+    /**
+     * If the target is not of type `"service_worker"` or `"shared_worker"`, returns `null`.
+     */
+    async worker() {
+        return null;
+    }
+    /**
+     * If the target is not of type `"page"`, `"webview"` or `"background_page"`,
+     * returns `null`.
+     */
+    async page() {
+        return null;
+    }
+    url() {
+        throw new Error('not implemented');
+    }
+    /**
+     * Creates a Chrome Devtools Protocol session attached to the target.
+     */
+    createCDPSession() {
+        throw new Error('not implemented');
+    }
+    /**
+     * Identifies what kind of target this is.
+     *
+     * @remarks
+     *
+     * See {@link https://developer.chrome.com/extensions/background_pages | docs} for more info about background pages.
+     */
+    type() {
+        throw new Error('not implemented');
+    }
+    /**
+     * Get the browser the target belongs to.
+     */
+    browser() {
+        throw new Error('not implemented');
+    }
+    /**
+     * Get the browser context the target belongs to.
+     */
+    browserContext() {
+        throw new Error('not implemented');
+    }
+    /**
+     * Get the target that opened this target. Top-level targets return `null`.
+     */
+    opener() {
+        throw new Error('not implemented');
+    }
+}
+//# sourceMappingURL=Target.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/Target.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Target.js.map
new file mode 100644
index 0000000..616c67e
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/Target.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"Target.js","sourceRoot":"","sources":["../../../../src/api/Target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH;;GAEG;AACH,MAAM,CAAN,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,iDAAmC,CAAA;IACnC,+CAAiC,CAAA;IACjC,6CAA+B,CAAA;IAC/B,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,6BAAe,CAAA;AACjB,CAAC,EARW,UAAU,KAAV,UAAU,QAQrB;AAED;;;;;;GAMG;AACH,MAAM,OAAO,MAAM;IACjB;;OAEG;IACH,gBAAyB,CAAC;IAE1B;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG;QACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,IAAI;QACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.d.ts
index 091df67..24a7cba 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.d.ts
@@ -15,6 +15,7 @@
  */
 export * from './Browser.js';
 export * from './BrowserContext.js';
+export * from './Dialog.js';
 export * from './Page.js';
 export * from './JSHandle.js';
 export * from './ElementHandle.js';
@@ -22,5 +23,6 @@
 export * from './Frame.js';
 export * from './HTTPResponse.js';
 export * from './HTTPRequest.js';
-export * from './Locator.js';
+export * from './locators/locators.js';
+export * from './Target.js';
 //# sourceMappingURL=api.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.d.ts.map
index 5a7998e..e910acf 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/api/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
\ No newline at end of file
+{"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../../src/api/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.js b/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.js
index d5dd0fc..e74de2c 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.js
@@ -15,6 +15,7 @@
  */
 export * from './Browser.js';
 export * from './BrowserContext.js';
+export * from './Dialog.js';
 export * from './Page.js';
 export * from './JSHandle.js';
 export * from './ElementHandle.js';
@@ -22,5 +23,6 @@
 export * from './Frame.js';
 export * from './HTTPResponse.js';
 export * from './HTTPRequest.js';
-export * from './Locator.js';
+export * from './locators/locators.js';
+export * from './Target.js';
 //# sourceMappingURL=api.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.js.map
index 5778810..200bbd4 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/api.js.map
@@ -1 +1 @@
-{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/api/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC"}
\ No newline at end of file
+{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/api/api.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/DelegatedLocator.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/DelegatedLocator.d.ts
new file mode 100644
index 0000000..892e7a2
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/DelegatedLocator.d.ts
@@ -0,0 +1,34 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Observable } from '../../../third_party/rxjs/rxjs.js';
+import { HandleFor } from '../../common/common.js';
+import { Locator, VisibilityOption } from './locators.js';
+/**
+ * @internal
+ */
+export declare abstract class DelegatedLocator<T, U> extends Locator<U> {
+    #private;
+    constructor(delegate: Locator<T>);
+    protected get delegate(): Locator<T>;
+    setTimeout(timeout: number): DelegatedLocator<T, U>;
+    setVisibility<ValueType extends Node, NodeType extends Node>(this: DelegatedLocator<ValueType, NodeType>, visibility: VisibilityOption): DelegatedLocator<ValueType, NodeType>;
+    setWaitForEnabled<ValueType extends Node, NodeType extends Node>(this: DelegatedLocator<ValueType, NodeType>, value: boolean): DelegatedLocator<ValueType, NodeType>;
+    setEnsureElementIsInTheViewport<ValueType extends Element, ElementType extends Element>(this: DelegatedLocator<ValueType, ElementType>, value: boolean): DelegatedLocator<ValueType, ElementType>;
+    setWaitForStableBoundingBox<ValueType extends Element, ElementType extends Element>(this: DelegatedLocator<ValueType, ElementType>, value: boolean): DelegatedLocator<ValueType, ElementType>;
+    abstract _clone(): DelegatedLocator<T, U>;
+    abstract _wait(): Observable<HandleFor<U>>;
+}
+//# sourceMappingURL=DelegatedLocator.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/DelegatedLocator.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/DelegatedLocator.d.ts.map
new file mode 100644
index 0000000..210ab95
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/DelegatedLocator.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"DelegatedLocator.d.ts","sourceRoot":"","sources":["../../../../../src/api/locators/DelegatedLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,UAAU,EAAC,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAC,OAAO,EAAE,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAExD;;GAEG;AACH,8BAAsB,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;;gBAGjD,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAOhC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,CAEnC;IAEQ,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;IAMnD,aAAa,CAAC,SAAS,SAAS,IAAI,EAAE,QAAQ,SAAS,IAAI,EAClE,IAAI,EAAE,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAC3C,UAAU,EAAE,gBAAgB,GAC3B,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC;IAQ/B,iBAAiB,CAAC,SAAS,SAAS,IAAI,EAAE,QAAQ,SAAS,IAAI,EACtE,IAAI,EAAE,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,EAC3C,KAAK,EAAE,OAAO,GACb,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC;IAQ/B,+BAA+B,CACtC,SAAS,SAAS,OAAO,EACzB,WAAW,SAAS,OAAO,EAE3B,IAAI,EAAE,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,EAC9C,KAAK,EAAE,OAAO,GACb,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC;IAQlC,2BAA2B,CAClC,SAAS,SAAS,OAAO,EACzB,WAAW,SAAS,OAAO,EAE3B,IAAI,EAAE,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,EAC9C,KAAK,EAAE,OAAO,GACb,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC;aAQzB,MAAM,IAAI,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;aAChC,KAAK,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CACpD"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/DelegatedLocator.js b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/DelegatedLocator.js
new file mode 100644
index 0000000..ff87853
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/DelegatedLocator.js
@@ -0,0 +1,56 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Locator } from './locators.js';
+/**
+ * @internal
+ */
+export class DelegatedLocator extends Locator {
+    #delegate;
+    constructor(delegate) {
+        super();
+        this.#delegate = delegate;
+        this.copyOptions(this.#delegate);
+    }
+    get delegate() {
+        return this.#delegate;
+    }
+    setTimeout(timeout) {
+        const locator = super.setTimeout(timeout);
+        locator.#delegate = this.#delegate.setTimeout(timeout);
+        return locator;
+    }
+    setVisibility(visibility) {
+        const locator = super.setVisibility(visibility);
+        locator.#delegate = locator.#delegate.setVisibility(visibility);
+        return locator;
+    }
+    setWaitForEnabled(value) {
+        const locator = super.setWaitForEnabled(value);
+        locator.#delegate = this.#delegate.setWaitForEnabled(value);
+        return locator;
+    }
+    setEnsureElementIsInTheViewport(value) {
+        const locator = super.setEnsureElementIsInTheViewport(value);
+        locator.#delegate = this.#delegate.setEnsureElementIsInTheViewport(value);
+        return locator;
+    }
+    setWaitForStableBoundingBox(value) {
+        const locator = super.setWaitForStableBoundingBox(value);
+        locator.#delegate = this.#delegate.setWaitForStableBoundingBox(value);
+        return locator;
+    }
+}
+//# sourceMappingURL=DelegatedLocator.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/DelegatedLocator.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/DelegatedLocator.js.map
new file mode 100644
index 0000000..e994c9c
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/DelegatedLocator.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"DelegatedLocator.js","sourceRoot":"","sources":["../../../../../src/api/locators/DelegatedLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAC,OAAO,EAAmB,MAAM,eAAe,CAAC;AAExD;;GAEG;AACH,MAAM,OAAgB,gBAAuB,SAAQ,OAAU;IAC7D,SAAS,CAAa;IAEtB,YAAY,QAAoB;QAC9B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,IAAc,QAAQ;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEQ,UAAU,CAAC,OAAe;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAA2B,CAAC;QACpE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,aAAa,CAEpB,UAA4B;QAE5B,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CACjC,UAAU,CAC8B,CAAC;QAC3C,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,CAAY,UAAU,CAAC,CAAC;QAC3E,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,iBAAiB,CAExB,KAAc;QAEd,MAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,CACrC,KAAK,CACmC,CAAC;QAC3C,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC5D,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,+BAA+B,CAKtC,KAAc;QAEd,MAAM,OAAO,GAAG,KAAK,CAAC,+BAA+B,CACnD,KAAK,CACsC,CAAC;QAC9C,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC;QAC1E,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,2BAA2B,CAKlC,KAAc;QAEd,MAAM,OAAO,GAAG,KAAK,CAAC,2BAA2B,CAC/C,KAAK,CACsC,CAAC;QAC9C,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC;QACtE,OAAO,OAAO,CAAC;IACjB,CAAC;CAIF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FilteredLocator.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FilteredLocator.d.ts
new file mode 100644
index 0000000..c390640
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FilteredLocator.d.ts
@@ -0,0 +1,33 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Observable } from '../../../third_party/rxjs/rxjs.js';
+import { Awaitable, HandleFor } from '../../common/common.js';
+import { DelegatedLocator } from './DelegatedLocator.js';
+import { ActionOptions, Locator } from './locators.js';
+/**
+ * @public
+ */
+export type Predicate<From, To extends From = From> = ((value: From) => value is To) | ((value: From) => Awaitable<boolean>);
+/**
+ * @internal
+ */
+export declare class FilteredLocator<From, To extends From> extends DelegatedLocator<From, To> {
+    #private;
+    constructor(base: Locator<From>, predicate: Predicate<From, To>);
+    _clone(): FilteredLocator<From, To>;
+    _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<To>>;
+}
+//# sourceMappingURL=FilteredLocator.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FilteredLocator.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FilteredLocator.d.ts.map
new file mode 100644
index 0000000..9094db0
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FilteredLocator.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"FilteredLocator.d.ts","sourceRoot":"","sources":["../../../../../src/api/locators/FilteredLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,UAAU,EAKX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,SAAS,EAAE,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,aAAa,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,IAAI,GAAG,IAAI,IAC9C,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,GAC9B,CAAC,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AAE1C;;GAEG;AACH,qBAAa,eAAe,CAAC,IAAI,EAAE,EAAE,SAAS,IAAI,CAAE,SAAQ,gBAAgB,CAC1E,IAAI,EACJ,EAAE,CACH;;gBAGa,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;IAKtD,MAAM,IAAI,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;IAOnC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;CAmB7E"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FilteredLocator.js b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FilteredLocator.js
new file mode 100644
index 0000000..3991a61
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FilteredLocator.js
@@ -0,0 +1,39 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { from, map, mergeMap, throwIfEmpty, } from '../../../third_party/rxjs/rxjs.js';
+import { DelegatedLocator } from './DelegatedLocator.js';
+/**
+ * @internal
+ */
+export class FilteredLocator extends DelegatedLocator {
+    #predicate;
+    constructor(base, predicate) {
+        super(base);
+        this.#predicate = predicate;
+    }
+    _clone() {
+        return new FilteredLocator(this.delegate.clone(), this.#predicate).copyOptions(this);
+    }
+    _wait(options) {
+        return this.delegate._wait(options).pipe(mergeMap(handle => {
+            return from(handle.frame.waitForFunction(this.#predicate, { signal: options?.signal, timeout: this._timeout }, handle)).pipe(map(() => {
+                // SAFETY: It passed the predicate, so this is correct.
+                return handle;
+            }));
+        }), throwIfEmpty());
+    }
+}
+//# sourceMappingURL=FilteredLocator.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FilteredLocator.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FilteredLocator.js.map
new file mode 100644
index 0000000..5892aaa
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FilteredLocator.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"FilteredLocator.js","sourceRoot":"","sources":["../../../../../src/api/locators/FilteredLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,YAAY,GACb,MAAM,mCAAmC,CAAC;AAI3C,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAUvD;;GAEG;AACH,MAAM,OAAO,eAAuC,SAAQ,gBAG3D;IACC,UAAU,CAAsB;IAEhC,YAAY,IAAmB,EAAE,SAA8B;QAC7D,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,eAAe,CACxB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EACrB,IAAI,CAAC,UAAU,CAChB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAEQ,KAAK,CAAC,OAAiC;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CACtC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB,OAAO,IAAI,CACR,MAA8B,CAAC,KAAK,CAAC,eAAe,CACnD,IAAI,CAAC,UAAU,EACf,EAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAC,EACjD,MAAM,CACP,CACF,CAAC,IAAI,CACJ,GAAG,CAAC,GAAG,EAAE;gBACP,uDAAuD;gBACvD,OAAO,MAAuB,CAAC;YACjC,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,EACF,YAAY,EAAE,CACf,CAAC;IACJ,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FunctionLocator.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FunctionLocator.d.ts
new file mode 100644
index 0000000..ed968a8
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FunctionLocator.d.ts
@@ -0,0 +1,31 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Observable } from '../../../third_party/rxjs/rxjs.js';
+import { Awaitable, HandleFor } from '../../common/types.js';
+import { Frame } from '../Frame.js';
+import { Page } from '../Page.js';
+import { ActionOptions, Locator } from './locators.js';
+/**
+ * @internal
+ */
+export declare class FunctionLocator<T> extends Locator<T> {
+    #private;
+    static create<Ret>(pageOrFrame: Page | Frame, func: () => Awaitable<Ret>): Locator<Ret>;
+    private constructor();
+    _clone(): FunctionLocator<T>;
+    _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<T>>;
+}
+//# sourceMappingURL=FunctionLocator.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FunctionLocator.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FunctionLocator.d.ts.map
new file mode 100644
index 0000000..4b5c8b1
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FunctionLocator.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"FunctionLocator.d.ts","sourceRoot":"","sources":["../../../../../src/api/locators/FunctionLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,UAAU,EAIX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,SAAS,EAAE,SAAS,EAAC,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAEhC,OAAO,EAAC,aAAa,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAErD;;GAEG;AACH,qBAAa,eAAe,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;;IAChD,MAAM,CAAC,MAAM,CAAC,GAAG,EACf,WAAW,EAAE,IAAI,GAAG,KAAK,EACzB,IAAI,EAAE,MAAM,SAAS,CAAC,GAAG,CAAC,GACzB,OAAO,CAAC,GAAG,CAAC;IAWf,OAAO;IAOE,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC;IAIrC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAWnE"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FunctionLocator.js b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FunctionLocator.js
new file mode 100644
index 0000000..28306a5
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FunctionLocator.js
@@ -0,0 +1,47 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { defer, from, throwIfEmpty, } from '../../../third_party/rxjs/rxjs.js';
+import { Locator } from './locators.js';
+/**
+ * @internal
+ */
+export class FunctionLocator extends Locator {
+    static create(pageOrFrame, func) {
+        return new FunctionLocator(pageOrFrame, func).setTimeout('getDefaultTimeout' in pageOrFrame
+            ? pageOrFrame.getDefaultTimeout()
+            : pageOrFrame.page().getDefaultTimeout());
+    }
+    #pageOrFrame;
+    #func;
+    constructor(pageOrFrame, func) {
+        super();
+        this.#pageOrFrame = pageOrFrame;
+        this.#func = func;
+    }
+    _clone() {
+        return new FunctionLocator(this.#pageOrFrame, this.#func);
+    }
+    _wait(options) {
+        const signal = options?.signal;
+        return defer(() => {
+            return from(this.#pageOrFrame.waitForFunction(this.#func, {
+                timeout: this.timeout,
+                signal,
+            }));
+        }).pipe(throwIfEmpty());
+    }
+}
+//# sourceMappingURL=FunctionLocator.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FunctionLocator.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FunctionLocator.js.map
new file mode 100644
index 0000000..3710097
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/FunctionLocator.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"FunctionLocator.js","sourceRoot":"","sources":["../../../../../src/api/locators/FunctionLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,KAAK,EACL,IAAI,EACJ,YAAY,GACb,MAAM,mCAAmC,CAAC;AAK3C,OAAO,EAAgB,OAAO,EAAC,MAAM,eAAe,CAAC;AAErD;;GAEG;AACH,MAAM,OAAO,eAAmB,SAAQ,OAAU;IAChD,MAAM,CAAC,MAAM,CACX,WAAyB,EACzB,IAA0B;QAE1B,OAAO,IAAI,eAAe,CAAM,WAAW,EAAE,IAAI,CAAC,CAAC,UAAU,CAC3D,mBAAmB,IAAI,WAAW;YAChC,CAAC,CAAC,WAAW,CAAC,iBAAiB,EAAE;YACjC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,YAAY,CAAe;IAC3B,KAAK,CAAqB;IAE1B,YAAoB,WAAyB,EAAE,IAAwB;QACrE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,OAAiC;QACrC,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;QAC/B,OAAO,KAAK,CAAC,GAAG,EAAE;YAChB,OAAO,IAAI,CACT,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE;gBAC5C,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM;aACP,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAC1B,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/Locator.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/Locator.d.ts
new file mode 100644
index 0000000..2a52f9e
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/Locator.d.ts
@@ -0,0 +1,204 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Observable, OperatorFunction } from '../../../third_party/rxjs/rxjs.js';
+import { EventEmitter } from '../../common/EventEmitter.js';
+import { HandleFor } from '../../common/types.js';
+import { ClickOptions } from '../ElementHandle.js';
+import { Action, AwaitedLocator, Mapper, Predicate } from './locators.js';
+/**
+ * For observables coming from promises, a delay is needed, otherwise RxJS will
+ * never yield in a permanent failure for a promise.
+ *
+ * We also don't want RxJS to do promise operations to often, so we bump the
+ * delay up to 100ms.
+ *
+ * @internal
+ */
+export declare const RETRY_DELAY = 100;
+/**
+ * @public
+ */
+export type VisibilityOption = 'hidden' | 'visible' | null;
+/**
+ * @public
+ */
+export interface LocatorOptions {
+    /**
+     * Whether to wait for the element to be `visible` or `hidden`. `null` to
+     * disable visibility checks.
+     */
+    visibility: VisibilityOption;
+    /**
+     * Total timeout for the entire locator operation.
+     *
+     * Pass `0` to disable timeout.
+     *
+     * @defaultValue `Page.getDefaultTimeout()`
+     */
+    timeout: number;
+    /**
+     * Whether to scroll the element into viewport if not in the viewprot already.
+     * @defaultValue `true`
+     */
+    ensureElementIsInTheViewport: boolean;
+    /**
+     * Whether to wait for input elements to become enabled before the action.
+     * Applicable to `click` and `fill` actions.
+     * @defaultValue `true`
+     */
+    waitForEnabled: boolean;
+    /**
+     * Whether to wait for the element's bounding box to be same between two
+     * animation frames.
+     * @defaultValue `true`
+     */
+    waitForStableBoundingBox: boolean;
+}
+/**
+ * @public
+ */
+export interface ActionOptions {
+    signal?: AbortSignal;
+}
+/**
+ * @public
+ */
+export type LocatorClickOptions = ClickOptions & ActionOptions;
+/**
+ * @public
+ */
+export interface LocatorScrollOptions extends ActionOptions {
+    scrollTop?: number;
+    scrollLeft?: number;
+}
+/**
+ * All the events that a locator instance may emit.
+ *
+ * @public
+ */
+export declare enum LocatorEmittedEvents {
+    /**
+     * Emitted every time before the locator performs an action on the located element(s).
+     */
+    Action = "action"
+}
+/**
+ * @public
+ */
+export interface LocatorEventObject {
+    [LocatorEmittedEvents.Action]: never;
+}
+/**
+ * Locators describe a strategy of locating objects and performing an action on
+ * them. If the action fails because the object is not ready for the action, the
+ * whole operation is retried. Various preconditions for a successful action are
+ * checked automatically.
+ *
+ * @public
+ */
+export declare abstract class Locator<T> extends EventEmitter {
+    #private;
+    /**
+     * Creates a race between multiple locators but ensures that only a single one
+     * acts.
+     *
+     * @public
+     */
+    static race<Locators extends readonly unknown[] | []>(locators: Locators): Locator<AwaitedLocator<Locators[number]>>;
+    /**
+     * Used for nominally typing {@link Locator}.
+     */
+    _?: T;
+    /**
+     * @internal
+     */
+    protected visibility: VisibilityOption;
+    /**
+     * @internal
+     */
+    protected _timeout: number;
+    /**
+     * @internal
+     */
+    protected operators: {
+        conditions: (conditions: Array<Action<T, never>>, signal?: AbortSignal) => OperatorFunction<HandleFor<T>, HandleFor<T>>;
+        retryAndRaceWithSignalAndTimer: <T_1>(signal?: AbortSignal) => OperatorFunction<T_1, T_1>;
+    };
+    get timeout(): number;
+    on<K extends keyof LocatorEventObject>(eventName: K, handler: (event: LocatorEventObject[K]) => void): this;
+    once<K extends keyof LocatorEventObject>(eventName: K, handler: (event: LocatorEventObject[K]) => void): this;
+    off<K extends keyof LocatorEventObject>(eventName: K, handler: (event: LocatorEventObject[K]) => void): this;
+    setTimeout(timeout: number): Locator<T>;
+    setVisibility<NodeType extends Node>(this: Locator<NodeType>, visibility: VisibilityOption): Locator<NodeType>;
+    setWaitForEnabled<NodeType extends Node>(this: Locator<NodeType>, value: boolean): Locator<NodeType>;
+    setEnsureElementIsInTheViewport<ElementType extends Element>(this: Locator<ElementType>, value: boolean): Locator<ElementType>;
+    setWaitForStableBoundingBox<ElementType extends Element>(this: Locator<ElementType>, value: boolean): Locator<ElementType>;
+    /**
+     * @internal
+     */
+    copyOptions<T>(locator: Locator<T>): this;
+    /**
+     * @internal
+     */
+    abstract _clone(): Locator<T>;
+    /**
+     * @internal
+     */
+    abstract _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<T>>;
+    /**
+     * Clones the locator.
+     */
+    clone(): Locator<T>;
+    /**
+     * Waits for the locator to get a handle from the page.
+     *
+     * @public
+     */
+    waitHandle(options?: Readonly<ActionOptions>): Promise<HandleFor<T>>;
+    /**
+     * Waits for the locator to get the serialized value from the page.
+     *
+     * Note this requires the value to be JSON-serializable.
+     *
+     * @public
+     */
+    wait(options?: Readonly<ActionOptions>): Promise<T>;
+    /**
+     * Maps the locator using the provided mapper.
+     *
+     * @public
+     */
+    map<To>(mapper: Mapper<T, To>): Locator<To>;
+    /**
+     * Creates an expectation that is evaluated against located values.
+     *
+     * If the expectations do not match, then the locator will retry.
+     *
+     * @public
+     */
+    filter<S extends T>(predicate: Predicate<T, S>): Locator<S>;
+    click<ElementType extends Element>(this: Locator<ElementType>, options?: Readonly<LocatorClickOptions>): Promise<void>;
+    /**
+     * Fills out the input identified by the locator using the provided value. The
+     * type of the input is determined at runtime and the appropriate fill-out
+     * method is chosen based on the type. contenteditable, selector, inputs are
+     * supported.
+     */
+    fill<ElementType extends Element>(this: Locator<ElementType>, value: string, options?: Readonly<ActionOptions>): Promise<void>;
+    hover<ElementType extends Element>(this: Locator<ElementType>, options?: Readonly<ActionOptions>): Promise<void>;
+    scroll<ElementType extends Element>(this: Locator<ElementType>, options?: Readonly<LocatorScrollOptions>): Promise<void>;
+}
+//# sourceMappingURL=Locator.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/Locator.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/Locator.d.ts.map
new file mode 100644
index 0000000..793b8cd
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/Locator.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"Locator.d.ts","sourceRoot":"","sources":["../../../../../src/api/locators/Locator.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/Locator.js b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/Locator.js
new file mode 100644
index 0000000..dbecbf0
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/Locator.js
@@ -0,0 +1,440 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { EMPTY, catchError, defaultIfEmpty, defer, filter, first, firstValueFrom, from, fromEvent, identity, ignoreElements, map, merge, mergeMap, noop, pipe, raceWith, retry, tap, timer, } from '../../../third_party/rxjs/rxjs.js';
+import { TimeoutError } from '../../common/Errors.js';
+import { EventEmitter } from '../../common/EventEmitter.js';
+import { debugError } from '../../common/util.js';
+import { FilteredLocator, MappedLocator, RaceLocator, } from './locators.js';
+/**
+ * For observables coming from promises, a delay is needed, otherwise RxJS will
+ * never yield in a permanent failure for a promise.
+ *
+ * We also don't want RxJS to do promise operations to often, so we bump the
+ * delay up to 100ms.
+ *
+ * @internal
+ */
+export const RETRY_DELAY = 100;
+/**
+ * All the events that a locator instance may emit.
+ *
+ * @public
+ */
+export var LocatorEmittedEvents;
+(function (LocatorEmittedEvents) {
+    /**
+     * Emitted every time before the locator performs an action on the located element(s).
+     */
+    LocatorEmittedEvents["Action"] = "action";
+})(LocatorEmittedEvents || (LocatorEmittedEvents = {}));
+/**
+ * Locators describe a strategy of locating objects and performing an action on
+ * them. If the action fails because the object is not ready for the action, the
+ * whole operation is retried. Various preconditions for a successful action are
+ * checked automatically.
+ *
+ * @public
+ */
+export class Locator extends EventEmitter {
+    /**
+     * Creates a race between multiple locators but ensures that only a single one
+     * acts.
+     *
+     * @public
+     */
+    static race(locators) {
+        return RaceLocator.create(locators);
+    }
+    /**
+     * @internal
+     */
+    visibility = null;
+    /**
+     * @internal
+     */
+    _timeout = 30000;
+    #ensureElementIsInTheViewport = true;
+    #waitForEnabled = true;
+    #waitForStableBoundingBox = true;
+    /**
+     * @internal
+     */
+    operators = {
+        conditions: (conditions, signal) => {
+            return mergeMap((handle) => {
+                return merge(...conditions.map(condition => {
+                    return condition(handle, signal);
+                })).pipe(defaultIfEmpty(handle));
+            });
+        },
+        retryAndRaceWithSignalAndTimer: (signal) => {
+            const candidates = [];
+            if (signal) {
+                candidates.push(fromEvent(signal, 'abort').pipe(map(() => {
+                    throw signal.reason;
+                })));
+            }
+            if (this._timeout > 0) {
+                candidates.push(timer(this._timeout).pipe(map(() => {
+                    throw new TimeoutError(`Timed out after waiting ${this._timeout}ms`);
+                })));
+            }
+            return pipe(retry({ delay: RETRY_DELAY }), raceWith(...candidates));
+        },
+    };
+    // Determines when the locator will timeout for actions.
+    get timeout() {
+        return this._timeout;
+    }
+    on(eventName, handler) {
+        return super.on(eventName, handler);
+    }
+    once(eventName, handler) {
+        return super.once(eventName, handler);
+    }
+    off(eventName, handler) {
+        return super.off(eventName, handler);
+    }
+    setTimeout(timeout) {
+        const locator = this._clone();
+        locator._timeout = timeout;
+        return locator;
+    }
+    setVisibility(visibility) {
+        const locator = this._clone();
+        locator.visibility = visibility;
+        return locator;
+    }
+    setWaitForEnabled(value) {
+        const locator = this._clone();
+        locator.#waitForEnabled = value;
+        return locator;
+    }
+    setEnsureElementIsInTheViewport(value) {
+        const locator = this._clone();
+        locator.#ensureElementIsInTheViewport = value;
+        return locator;
+    }
+    setWaitForStableBoundingBox(value) {
+        const locator = this._clone();
+        locator.#waitForStableBoundingBox = value;
+        return locator;
+    }
+    /**
+     * @internal
+     */
+    copyOptions(locator) {
+        this._timeout = locator._timeout;
+        this.visibility = locator.visibility;
+        this.#waitForEnabled = locator.#waitForEnabled;
+        this.#ensureElementIsInTheViewport = locator.#ensureElementIsInTheViewport;
+        this.#waitForStableBoundingBox = locator.#waitForStableBoundingBox;
+        return this;
+    }
+    /**
+     * If the element has a "disabled" property, wait for the element to be
+     * enabled.
+     */
+    #waitForEnabledIfNeeded = (handle, signal) => {
+        if (!this.#waitForEnabled) {
+            return EMPTY;
+        }
+        return from(handle.frame.waitForFunction(element => {
+            if (!(element instanceof HTMLElement)) {
+                return true;
+            }
+            const isNativeFormControl = [
+                'BUTTON',
+                'INPUT',
+                'SELECT',
+                'TEXTAREA',
+                'OPTION',
+                'OPTGROUP',
+            ].includes(element.nodeName);
+            return !isNativeFormControl || !element.hasAttribute('disabled');
+        }, {
+            timeout: this._timeout,
+            signal,
+        }, handle)).pipe(ignoreElements());
+    };
+    /**
+     * Compares the bounding box of the element for two consecutive animation
+     * frames and waits till they are the same.
+     */
+    #waitForStableBoundingBoxIfNeeded = (handle) => {
+        if (!this.#waitForStableBoundingBox) {
+            return EMPTY;
+        }
+        return defer(() => {
+            // Note we don't use waitForFunction because that relies on RAF.
+            return from(handle.evaluate(element => {
+                return new Promise(resolve => {
+                    window.requestAnimationFrame(() => {
+                        const rect1 = element.getBoundingClientRect();
+                        window.requestAnimationFrame(() => {
+                            const rect2 = element.getBoundingClientRect();
+                            resolve([
+                                {
+                                    x: rect1.x,
+                                    y: rect1.y,
+                                    width: rect1.width,
+                                    height: rect1.height,
+                                },
+                                {
+                                    x: rect2.x,
+                                    y: rect2.y,
+                                    width: rect2.width,
+                                    height: rect2.height,
+                                },
+                            ]);
+                        });
+                    });
+                });
+            }));
+        }).pipe(first(([rect1, rect2]) => {
+            return (rect1.x === rect2.x &&
+                rect1.y === rect2.y &&
+                rect1.width === rect2.width &&
+                rect1.height === rect2.height);
+        }), retry({ delay: RETRY_DELAY }), ignoreElements());
+    };
+    /**
+     * Checks if the element is in the viewport and auto-scrolls it if it is not.
+     */
+    #ensureElementIsInTheViewportIfNeeded = (handle) => {
+        if (!this.#ensureElementIsInTheViewport) {
+            return EMPTY;
+        }
+        return from(handle.isIntersectingViewport({ threshold: 0 })).pipe(filter(isIntersectingViewport => {
+            return !isIntersectingViewport;
+        }), mergeMap(() => {
+            return from(handle.scrollIntoView());
+        }), mergeMap(() => {
+            return defer(() => {
+                return from(handle.isIntersectingViewport({ threshold: 0 }));
+            }).pipe(first(identity), retry({ delay: RETRY_DELAY }), ignoreElements());
+        }));
+    };
+    #click(options) {
+        const signal = options?.signal;
+        return this._wait(options).pipe(this.operators.conditions([
+            this.#ensureElementIsInTheViewportIfNeeded,
+            this.#waitForStableBoundingBoxIfNeeded,
+            this.#waitForEnabledIfNeeded,
+        ], signal), tap(() => {
+            return this.emit(LocatorEmittedEvents.Action);
+        }), mergeMap(handle => {
+            return from(handle.click(options)).pipe(catchError((_, caught) => {
+                void handle.dispose().catch(debugError);
+                return caught;
+            }));
+        }), this.operators.retryAndRaceWithSignalAndTimer(signal));
+    }
+    #fill(value, options) {
+        const signal = options?.signal;
+        return this._wait(options).pipe(this.operators.conditions([
+            this.#ensureElementIsInTheViewportIfNeeded,
+            this.#waitForStableBoundingBoxIfNeeded,
+            this.#waitForEnabledIfNeeded,
+        ], signal), tap(() => {
+            return this.emit(LocatorEmittedEvents.Action);
+        }), mergeMap(handle => {
+            return from(handle.evaluate(el => {
+                if (el instanceof HTMLSelectElement) {
+                    return 'select';
+                }
+                if (el instanceof HTMLInputElement) {
+                    if (new Set([
+                        'textarea',
+                        'text',
+                        'url',
+                        'tel',
+                        'search',
+                        'password',
+                        'number',
+                        'email',
+                    ]).has(el.type)) {
+                        return 'typeable-input';
+                    }
+                    else {
+                        return 'other-input';
+                    }
+                }
+                if (el.isContentEditable) {
+                    return 'contenteditable';
+                }
+                return 'unknown';
+            }))
+                .pipe(mergeMap(inputType => {
+                switch (inputType) {
+                    case 'select':
+                        return from(handle.select(value).then(noop));
+                    case 'contenteditable':
+                    case 'typeable-input':
+                        return from(handle.evaluate((input, newValue) => {
+                            const currentValue = input.isContentEditable
+                                ? input.innerText
+                                : input.value;
+                            // Clear the input if the current value does not match the filled
+                            // out value.
+                            if (newValue.length <= currentValue.length ||
+                                !newValue.startsWith(input.value)) {
+                                if (input.isContentEditable) {
+                                    input.innerText = '';
+                                }
+                                else {
+                                    input.value = '';
+                                }
+                                return newValue;
+                            }
+                            const originalValue = input.isContentEditable
+                                ? input.innerText
+                                : input.value;
+                            // If the value is partially filled out, only type the rest. Move
+                            // cursor to the end of the common prefix.
+                            if (input.isContentEditable) {
+                                input.innerText = '';
+                                input.innerText = originalValue;
+                            }
+                            else {
+                                input.value = '';
+                                input.value = originalValue;
+                            }
+                            return newValue.substring(originalValue.length);
+                        }, value)).pipe(mergeMap(textToType => {
+                            return from(handle.type(textToType));
+                        }));
+                    case 'other-input':
+                        return from(handle.focus()).pipe(mergeMap(() => {
+                            return from(handle.evaluate((input, value) => {
+                                input.value = value;
+                                input.dispatchEvent(new Event('input', { bubbles: true }));
+                                input.dispatchEvent(new Event('change', { bubbles: true }));
+                            }, value));
+                        }));
+                    case 'unknown':
+                        throw new Error(`Element cannot be filled out.`);
+                }
+            }))
+                .pipe(catchError((_, caught) => {
+                void handle.dispose().catch(debugError);
+                return caught;
+            }));
+        }), this.operators.retryAndRaceWithSignalAndTimer(signal));
+    }
+    #hover(options) {
+        const signal = options?.signal;
+        return this._wait(options).pipe(this.operators.conditions([
+            this.#ensureElementIsInTheViewportIfNeeded,
+            this.#waitForStableBoundingBoxIfNeeded,
+        ], signal), tap(() => {
+            return this.emit(LocatorEmittedEvents.Action);
+        }), mergeMap(handle => {
+            return from(handle.hover()).pipe(catchError((_, caught) => {
+                void handle.dispose().catch(debugError);
+                return caught;
+            }));
+        }), this.operators.retryAndRaceWithSignalAndTimer(signal));
+    }
+    #scroll(options) {
+        const signal = options?.signal;
+        return this._wait(options).pipe(this.operators.conditions([
+            this.#ensureElementIsInTheViewportIfNeeded,
+            this.#waitForStableBoundingBoxIfNeeded,
+        ], signal), tap(() => {
+            return this.emit(LocatorEmittedEvents.Action);
+        }), mergeMap(handle => {
+            return from(handle.evaluate((el, scrollTop, scrollLeft) => {
+                if (scrollTop !== undefined) {
+                    el.scrollTop = scrollTop;
+                }
+                if (scrollLeft !== undefined) {
+                    el.scrollLeft = scrollLeft;
+                }
+            }, options?.scrollTop, options?.scrollLeft)).pipe(catchError((_, caught) => {
+                void handle.dispose().catch(debugError);
+                return caught;
+            }));
+        }), this.operators.retryAndRaceWithSignalAndTimer(signal));
+    }
+    /**
+     * Clones the locator.
+     */
+    clone() {
+        return this._clone();
+    }
+    /**
+     * Waits for the locator to get a handle from the page.
+     *
+     * @public
+     */
+    async waitHandle(options) {
+        return await firstValueFrom(this._wait(options).pipe(this.operators.retryAndRaceWithSignalAndTimer(options?.signal)));
+    }
+    /**
+     * Waits for the locator to get the serialized value from the page.
+     *
+     * Note this requires the value to be JSON-serializable.
+     *
+     * @public
+     */
+    async wait(options) {
+        const handle = await this.waitHandle(options);
+        try {
+            return await handle.jsonValue();
+        }
+        finally {
+            void handle.dispose().catch(debugError);
+        }
+    }
+    /**
+     * Maps the locator using the provided mapper.
+     *
+     * @public
+     */
+    map(mapper) {
+        return new MappedLocator(this._clone(), mapper);
+    }
+    /**
+     * Creates an expectation that is evaluated against located values.
+     *
+     * If the expectations do not match, then the locator will retry.
+     *
+     * @public
+     */
+    filter(predicate) {
+        return new FilteredLocator(this._clone(), predicate);
+    }
+    click(options) {
+        return firstValueFrom(this.#click(options));
+    }
+    /**
+     * Fills out the input identified by the locator using the provided value. The
+     * type of the input is determined at runtime and the appropriate fill-out
+     * method is chosen based on the type. contenteditable, selector, inputs are
+     * supported.
+     */
+    fill(value, options) {
+        return firstValueFrom(this.#fill(value, options));
+    }
+    hover(options) {
+        return firstValueFrom(this.#hover(options));
+    }
+    scroll(options) {
+        return firstValueFrom(this.#scroll(options));
+    }
+}
+//# sourceMappingURL=Locator.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/Locator.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/Locator.js.map
new file mode 100644
index 0000000..f1e2c0a
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/Locator.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"Locator.js","sourceRoot":"","sources":["../../../../../src/api/locators/Locator.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/MappedLocator.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/MappedLocator.d.ts
new file mode 100644
index 0000000..10a7655
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/MappedLocator.d.ts
@@ -0,0 +1,32 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Observable } from '../../../third_party/rxjs/rxjs.js';
+import { Awaitable, HandleFor } from '../../common/common.js';
+import { ActionOptions, DelegatedLocator, Locator } from './locators.js';
+/**
+ * @public
+ */
+export type Mapper<From, To> = (value: From) => Awaitable<To>;
+/**
+ * @internal
+ */
+export declare class MappedLocator<From, To> extends DelegatedLocator<From, To> {
+    #private;
+    constructor(base: Locator<From>, mapper: Mapper<From, To>);
+    _clone(): MappedLocator<From, To>;
+    _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<To>>;
+}
+//# sourceMappingURL=MappedLocator.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/MappedLocator.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/MappedLocator.d.ts.map
new file mode 100644
index 0000000..7fbc898
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/MappedLocator.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"MappedLocator.d.ts","sourceRoot":"","sources":["../../../../../src/api/locators/MappedLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,UAAU,EAAiB,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAC,SAAS,EAAE,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAC,aAAa,EAAE,gBAAgB,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC,CAAC;AAE9D;;GAEG;AACH,qBAAa,aAAa,CAAC,IAAI,EAAE,EAAE,CAAE,SAAQ,gBAAgB,CAAC,IAAI,EAAE,EAAE,CAAC;;gBAGzD,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IAKhD,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;IAMjC,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;CAO7E"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/MappedLocator.js b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/MappedLocator.js
new file mode 100644
index 0000000..5ac8b51
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/MappedLocator.js
@@ -0,0 +1,36 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { from, mergeMap } from '../../../third_party/rxjs/rxjs.js';
+import { DelegatedLocator } from './locators.js';
+/**
+ * @internal
+ */
+export class MappedLocator extends DelegatedLocator {
+    #mapper;
+    constructor(base, mapper) {
+        super(base);
+        this.#mapper = mapper;
+    }
+    _clone() {
+        return new MappedLocator(this.delegate.clone(), this.#mapper).copyOptions(this);
+    }
+    _wait(options) {
+        return this.delegate._wait(options).pipe(mergeMap(handle => {
+            return from(handle.evaluateHandle(this.#mapper));
+        }));
+    }
+}
+//# sourceMappingURL=MappedLocator.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/MappedLocator.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/MappedLocator.js.map
new file mode 100644
index 0000000..d080d9e
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/MappedLocator.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"MappedLocator.js","sourceRoot":"","sources":["../../../../../src/api/locators/MappedLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAa,IAAI,EAAE,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAI7E,OAAO,EAAgB,gBAAgB,EAAU,MAAM,eAAe,CAAC;AAOvE;;GAEG;AACH,MAAM,OAAO,aAAwB,SAAQ,gBAA0B;IACrE,OAAO,CAAmB;IAE1B,YAAY,IAAmB,EAAE,MAAwB;QACvD,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,CACvE,IAAI,CACL,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,OAAiC;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CACtC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAChB,OAAO,IAAI,CAAE,MAAyB,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/NodeLocator.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/NodeLocator.d.ts
new file mode 100644
index 0000000..a1e8191
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/NodeLocator.d.ts
@@ -0,0 +1,35 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Observable } from '../../../third_party/rxjs/rxjs.js';
+import { HandleFor, NodeFor } from '../../common/types.js';
+import { Frame } from '../Frame.js';
+import { Page } from '../Page.js';
+import { ActionOptions, Locator } from './locators.js';
+/**
+ * @internal
+ */
+export type Action<T, U> = (element: HandleFor<T>, signal?: AbortSignal) => Observable<U>;
+/**
+ * @internal
+ */
+export declare class NodeLocator<T extends Node> extends Locator<T> {
+    #private;
+    static create<Selector extends string>(pageOrFrame: Page | Frame, selector: Selector): Locator<NodeFor<Selector>>;
+    private constructor();
+    _clone(): NodeLocator<T>;
+    _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<T>>;
+}
+//# sourceMappingURL=NodeLocator.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/NodeLocator.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/NodeLocator.d.ts.map
new file mode 100644
index 0000000..7cbe24c
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/NodeLocator.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"NodeLocator.d.ts","sourceRoot":"","sources":["../../../../../src/api/locators/NodeLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAEL,UAAU,EASX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,SAAS,EAAE,OAAO,EAAC,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAEhC,OAAO,EAAC,aAAa,EAAE,OAAO,EAAc,MAAM,eAAe,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CACzB,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EACrB,MAAM,CAAC,EAAE,WAAW,KACjB,UAAU,CAAC,CAAC,CAAC,CAAC;AAEnB;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,IAAI,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;;IACzD,MAAM,CAAC,MAAM,CAAC,QAAQ,SAAS,MAAM,EACnC,WAAW,EAAE,IAAI,GAAG,KAAK,EACzB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAW7B,OAAO;IAgCE,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC;IAMxB,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAkB5E"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/NodeLocator.js b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/NodeLocator.js
new file mode 100644
index 0000000..f16b842
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/NodeLocator.js
@@ -0,0 +1,73 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { EMPTY, defer, filter, first, from, identity, ignoreElements, retry, throwIfEmpty, } from '../../../third_party/rxjs/rxjs.js';
+import { Locator, RETRY_DELAY } from './locators.js';
+/**
+ * @internal
+ */
+export class NodeLocator extends Locator {
+    static create(pageOrFrame, selector) {
+        return new NodeLocator(pageOrFrame, selector).setTimeout('getDefaultTimeout' in pageOrFrame
+            ? pageOrFrame.getDefaultTimeout()
+            : pageOrFrame.page().getDefaultTimeout());
+    }
+    #pageOrFrame;
+    #selector;
+    constructor(pageOrFrame, selector) {
+        super();
+        this.#pageOrFrame = pageOrFrame;
+        this.#selector = selector;
+    }
+    /**
+     * Waits for the element to become visible or hidden. visibility === 'visible'
+     * means that the element has a computed style, the visibility property other
+     * than 'hidden' or 'collapse' and non-empty bounding box. visibility ===
+     * 'hidden' means the opposite of that.
+     */
+    #waitForVisibilityIfNeeded = (handle) => {
+        if (!this.visibility) {
+            return EMPTY;
+        }
+        return (() => {
+            switch (this.visibility) {
+                case 'hidden':
+                    return defer(() => {
+                        return from(handle.isHidden());
+                    });
+                case 'visible':
+                    return defer(() => {
+                        return from(handle.isVisible());
+                    });
+            }
+        })().pipe(first(identity), retry({ delay: RETRY_DELAY }), ignoreElements());
+    };
+    _clone() {
+        return new NodeLocator(this.#pageOrFrame, this.#selector).copyOptions(this);
+    }
+    _wait(options) {
+        const signal = options?.signal;
+        return defer(() => {
+            return from(this.#pageOrFrame.waitForSelector(this.#selector, {
+                visible: false,
+                timeout: this._timeout,
+                signal,
+            }));
+        }).pipe(filter((value) => {
+            return value !== null;
+        }), throwIfEmpty(), this.operators.conditions([this.#waitForVisibilityIfNeeded], signal));
+    }
+}
+//# sourceMappingURL=NodeLocator.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/NodeLocator.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/NodeLocator.js.map
new file mode 100644
index 0000000..aa8e18b
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/NodeLocator.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"NodeLocator.js","sourceRoot":"","sources":["../../../../../src/api/locators/NodeLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,EAEL,KAAK,EACL,MAAM,EACN,KAAK,EACL,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,KAAK,EACL,YAAY,GACb,MAAM,mCAAmC,CAAC;AAK3C,OAAO,EAAgB,OAAO,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAUlE;;GAEG;AACH,MAAM,OAAO,WAA4B,SAAQ,OAAU;IACzD,MAAM,CAAC,MAAM,CACX,WAAyB,EACzB,QAAkB;QAElB,OAAO,IAAI,WAAW,CAAoB,WAAW,EAAE,QAAQ,CAAC,CAAC,UAAU,CACzE,mBAAmB,IAAI,WAAW;YAChC,CAAC,CAAC,WAAW,CAAC,iBAAiB,EAAE;YACjC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,YAAY,CAAe;IAC3B,SAAS,CAAS;IAElB,YAAoB,WAAyB,EAAE,QAAgB;QAC7D,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,0BAA0B,GAAG,CAAC,MAAoB,EAAqB,EAAE;QACvE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO,KAAK,CAAC;SACd;QAED,OAAO,CAAC,GAAG,EAAE;YACX,QAAQ,IAAI,CAAC,UAAU,EAAE;gBACvB,KAAK,QAAQ;oBACX,OAAO,KAAK,CAAC,GAAG,EAAE;wBAChB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACjC,CAAC,CAAC,CAAC;gBACL,KAAK,SAAS;oBACZ,OAAO,KAAK,CAAC,GAAG,EAAE;wBAChB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;oBAClC,CAAC,CAAC,CAAC;aACN;QACH,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,EAAC,KAAK,EAAE,WAAW,EAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC;IAC5E,CAAC,CAAC;IAEO,MAAM;QACb,OAAO,IAAI,WAAW,CAAI,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,CACtE,IAAI,CACL,CAAC;IACJ,CAAC;IAEQ,KAAK,CAAC,OAAiC;QAC9C,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;QAC/B,OAAO,KAAK,CAAC,GAAG,EAAE;YAChB,OAAO,IAAI,CACT,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE;gBAChD,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,MAAM;aACP,CAAiC,CACnC,CAAC;QACJ,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,CAAC,KAAK,EAAsC,EAAE;YACnD,OAAO,KAAK,KAAK,IAAI,CAAC;QACxB,CAAC,CAAC,EACF,YAAY,EAAE,EACd,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC,CACrE,CAAC;IACJ,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/RaceLocator.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/RaceLocator.d.ts
new file mode 100644
index 0000000..4c81772
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/RaceLocator.d.ts
@@ -0,0 +1,33 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Observable } from '../../../third_party/rxjs/rxjs.js';
+import { HandleFor } from '../../puppeteer-core.js';
+import { ActionOptions, Locator } from './locators.js';
+/**
+ * @public
+ */
+export type AwaitedLocator<T> = T extends Locator<infer S> ? S : never;
+/**
+ * @internal
+ */
+export declare class RaceLocator<T> extends Locator<T> {
+    #private;
+    static create<T extends readonly unknown[]>(locators: T): Locator<AwaitedLocator<T[number]>>;
+    constructor(locators: ReadonlyArray<Locator<T>>);
+    _clone(): RaceLocator<T>;
+    _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<T>>;
+}
+//# sourceMappingURL=RaceLocator.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/RaceLocator.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/RaceLocator.d.ts.map
new file mode 100644
index 0000000..c62e232
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/RaceLocator.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"RaceLocator.d.ts","sourceRoot":"","sources":["../../../../../src/api/locators/RaceLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,UAAU,EAAO,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAElD,OAAO,EAAC,aAAa,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAavE;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;;IAC5C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,SAAS,OAAO,EAAE,EACxC,QAAQ,EAAE,CAAC,GACV,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAOzB,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAKtC,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC;IAQxB,KAAK,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAO5E"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/RaceLocator.js b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/RaceLocator.js
new file mode 100644
index 0000000..ae38c06
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/RaceLocator.js
@@ -0,0 +1,50 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { race } from '../../../third_party/rxjs/rxjs.js';
+import { Locator } from './locators.js';
+function checkLocatorArray(locators) {
+    for (const locator of locators) {
+        if (!(locator instanceof Locator)) {
+            throw new Error('Unknown locator for race candidate');
+        }
+    }
+    return locators;
+}
+/**
+ * @internal
+ */
+export class RaceLocator extends Locator {
+    static create(locators) {
+        const array = checkLocatorArray(locators);
+        return new RaceLocator(array);
+    }
+    #locators;
+    constructor(locators) {
+        super();
+        this.#locators = locators;
+    }
+    _clone() {
+        return new RaceLocator(this.#locators.map(locator => {
+            return locator.clone();
+        })).copyOptions(this);
+    }
+    _wait(options) {
+        return race(...this.#locators.map(locator => {
+            return locator._wait(options);
+        }));
+    }
+}
+//# sourceMappingURL=RaceLocator.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/RaceLocator.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/RaceLocator.js.map
new file mode 100644
index 0000000..9d76624
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/RaceLocator.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"RaceLocator.js","sourceRoot":"","sources":["../../../../../src/api/locators/RaceLocator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAa,IAAI,EAAC,MAAM,mCAAmC,CAAC;AAGnE,OAAO,EAAgB,OAAO,EAAC,MAAM,eAAe,CAAC;AAOrD,SAAS,iBAAiB,CACxB,QAAW;IAEX,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,CAAC,CAAC,OAAO,YAAY,OAAO,CAAC,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;KACF;IACD,OAAO,QAA6D,CAAC;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,WAAe,SAAQ,OAAU;IAC5C,MAAM,CAAC,MAAM,CACX,QAAW;QAEX,MAAM,KAAK,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC1C,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,SAAS,CAA4B;IAErC,YAAY,QAAmC;QAC7C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,WAAW,CACpB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC3B,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC,CAAC,CACH,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAEQ,KAAK,CAAC,OAAiC;QAC9C,OAAO,IAAI,CACT,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC9B,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/locators.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/locators.d.ts
new file mode 100644
index 0000000..4651d10
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/locators.d.ts
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+export * from './Locator.js';
+export * from './NodeLocator.js';
+export * from './FilteredLocator.js';
+export * from './RaceLocator.js';
+export * from './DelegatedLocator.js';
+export * from './MappedLocator.js';
+export * from './FunctionLocator.js';
+//# sourceMappingURL=locators.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/locators.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/locators.d.ts.map
new file mode 100644
index 0000000..294535b
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/locators.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"locators.d.ts","sourceRoot":"","sources":["../../../../../src/api/locators/locators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/locators.js b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/locators.js
new file mode 100644
index 0000000..a6f5176
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/locators.js
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+export * from './Locator.js';
+export * from './NodeLocator.js';
+export * from './FilteredLocator.js';
+export * from './RaceLocator.js';
+export * from './DelegatedLocator.js';
+export * from './MappedLocator.js';
+export * from './FunctionLocator.js';
+//# sourceMappingURL=locators.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/locators.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/locators.js.map
new file mode 100644
index 0000000..45b53b0
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/api/locators/locators.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"locators.js","sourceRoot":"","sources":["../../../../../src/api/locators/locators.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Accessibility.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Accessibility.js
index ec71306..e972a24 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Accessibility.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Accessibility.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Accessibility_client, _AXNode_instances, _AXNode_richlyEditable, _AXNode_editable, _AXNode_focusable, _AXNode_hidden, _AXNode_name, _AXNode_role, _AXNode_ignored, _AXNode_cachedHasFocusableChild, _AXNode_isPlainTextField, _AXNode_isTextOnlyObject, _AXNode_hasFocusableChild;
 /**
  * The Accessibility class provides methods for inspecting the browser's
  * accessibility tree. The accessibility tree is used by assistive technology
@@ -48,12 +36,12 @@
  * @public
  */
 export class Accessibility {
+    #client;
     /**
      * @internal
      */
     constructor(client) {
-        _Accessibility_client.set(this, void 0);
-        __classPrivateFieldSet(this, _Accessibility_client, client, "f");
+        this.#client = client;
     }
     /**
      * Captures the current state of the accessibility tree.
@@ -96,10 +84,10 @@
      */
     async snapshot(options = {}) {
         const { interestingOnly = true, root = null } = options;
-        const { nodes } = await __classPrivateFieldGet(this, _Accessibility_client, "f").send('Accessibility.getFullAXTree');
+        const { nodes } = await this.#client.send('Accessibility.getFullAXTree');
         let backendNodeId;
         if (root) {
-            const { node } = await __classPrivateFieldGet(this, _Accessibility_client, "f").send('DOM.describeNode', {
+            const { node } = await this.#client.send('DOM.describeNode', {
                 objectId: root.id,
             });
             backendNodeId = node.backendNodeId;
@@ -151,36 +139,60 @@
         }
     }
 }
-_Accessibility_client = new WeakMap();
 class AXNode {
+    payload;
+    children = [];
+    #richlyEditable = false;
+    #editable = false;
+    #focusable = false;
+    #hidden = false;
+    #name;
+    #role;
+    #ignored;
+    #cachedHasFocusableChild;
     constructor(payload) {
-        _AXNode_instances.add(this);
-        this.children = [];
-        _AXNode_richlyEditable.set(this, false);
-        _AXNode_editable.set(this, false);
-        _AXNode_focusable.set(this, false);
-        _AXNode_hidden.set(this, false);
-        _AXNode_name.set(this, void 0);
-        _AXNode_role.set(this, void 0);
-        _AXNode_ignored.set(this, void 0);
-        _AXNode_cachedHasFocusableChild.set(this, void 0);
         this.payload = payload;
-        __classPrivateFieldSet(this, _AXNode_name, this.payload.name ? this.payload.name.value : '', "f");
-        __classPrivateFieldSet(this, _AXNode_role, this.payload.role ? this.payload.role.value : 'Unknown', "f");
-        __classPrivateFieldSet(this, _AXNode_ignored, this.payload.ignored, "f");
+        this.#name = this.payload.name ? this.payload.name.value : '';
+        this.#role = this.payload.role ? this.payload.role.value : 'Unknown';
+        this.#ignored = this.payload.ignored;
         for (const property of this.payload.properties || []) {
             if (property.name === 'editable') {
-                __classPrivateFieldSet(this, _AXNode_richlyEditable, property.value.value === 'richtext', "f");
-                __classPrivateFieldSet(this, _AXNode_editable, true, "f");
+                this.#richlyEditable = property.value.value === 'richtext';
+                this.#editable = true;
             }
             if (property.name === 'focusable') {
-                __classPrivateFieldSet(this, _AXNode_focusable, property.value.value, "f");
+                this.#focusable = property.value.value;
             }
             if (property.name === 'hidden') {
-                __classPrivateFieldSet(this, _AXNode_hidden, property.value.value, "f");
+                this.#hidden = property.value.value;
             }
         }
     }
+    #isPlainTextField() {
+        if (this.#richlyEditable) {
+            return false;
+        }
+        if (this.#editable) {
+            return true;
+        }
+        return this.#role === 'textbox' || this.#role === 'searchbox';
+    }
+    #isTextOnlyObject() {
+        const role = this.#role;
+        return role === 'LineBreak' || role === 'text' || role === 'InlineTextBox';
+    }
+    #hasFocusableChild() {
+        if (this.#cachedHasFocusableChild === undefined) {
+            this.#cachedHasFocusableChild = false;
+            for (const child of this.children) {
+                if (child.#focusable || child.#hasFocusableChild()) {
+                    this.#cachedHasFocusableChild = true;
+                    break;
+                }
+            }
+        }
+        return this.#cachedHasFocusableChild;
+    }
     find(predicate) {
         if (predicate(this)) {
             return this;
@@ -201,14 +213,14 @@
         // implementation details, but we want to expose them as leaves to platform
         // accessibility APIs because screen readers might be confused if they find
         // any children.
-        if (__classPrivateFieldGet(this, _AXNode_instances, "m", _AXNode_isPlainTextField).call(this) || __classPrivateFieldGet(this, _AXNode_instances, "m", _AXNode_isTextOnlyObject).call(this)) {
+        if (this.#isPlainTextField() || this.#isTextOnlyObject()) {
             return true;
         }
         // Roles whose children are only presentational according to the ARIA and
         // HTML5 Specs should be hidden from screen readers.
         // (Note that whilst ARIA buttons can have only presentational children, HTML5
         // buttons are allowed to have content.)
-        switch (__classPrivateFieldGet(this, _AXNode_role, "f")) {
+        switch (this.#role) {
             case 'doc-cover':
             case 'graphics-symbol':
             case 'img':
@@ -222,19 +234,19 @@
                 break;
         }
         // Here and below: Android heuristics
-        if (__classPrivateFieldGet(this, _AXNode_instances, "m", _AXNode_hasFocusableChild).call(this)) {
+        if (this.#hasFocusableChild()) {
             return false;
         }
-        if (__classPrivateFieldGet(this, _AXNode_focusable, "f") && __classPrivateFieldGet(this, _AXNode_name, "f")) {
+        if (this.#focusable && this.#name) {
             return true;
         }
-        if (__classPrivateFieldGet(this, _AXNode_role, "f") === 'heading' && __classPrivateFieldGet(this, _AXNode_name, "f")) {
+        if (this.#role === 'heading' && this.#name) {
             return true;
         }
         return false;
     }
     isControl() {
-        switch (__classPrivateFieldGet(this, _AXNode_role, "f")) {
+        switch (this.#role) {
             case 'button':
             case 'checkbox':
             case 'ColorWell':
@@ -262,11 +274,11 @@
         }
     }
     isInteresting(insideControl) {
-        const role = __classPrivateFieldGet(this, _AXNode_role, "f");
-        if (role === 'Ignored' || __classPrivateFieldGet(this, _AXNode_hidden, "f") || __classPrivateFieldGet(this, _AXNode_ignored, "f")) {
+        const role = this.#role;
+        if (role === 'Ignored' || this.#hidden || this.#ignored) {
             return false;
         }
-        if (__classPrivateFieldGet(this, _AXNode_focusable, "f") || __classPrivateFieldGet(this, _AXNode_richlyEditable, "f")) {
+        if (this.#focusable || this.#richlyEditable) {
             return true;
         }
         // If it's not focusable but has a control role, then it's interesting.
@@ -277,7 +289,7 @@
         if (insideControl) {
             return false;
         }
-        return this.isLeafNode() && !!__classPrivateFieldGet(this, _AXNode_name, "f");
+        return this.isLeafNode() && !!this.#name;
     }
     serialize() {
         const properties = new Map();
@@ -294,7 +306,7 @@
             properties.set('description', this.payload.description.value);
         }
         const node = {
-            role: __classPrivateFieldGet(this, _AXNode_role, "f"),
+            role: this.#role,
         };
         const userStringProperties = [
             'name',
@@ -331,7 +343,7 @@
             // RootWebArea's treat focus differently than other nodes. They report whether
             // their frame  has focus, not whether focus is specifically on the root
             // node.
-            if (booleanProperty === 'focused' && __classPrivateFieldGet(this, _AXNode_role, "f") === 'RootWebArea') {
+            if (booleanProperty === 'focused' && this.#role === 'RootWebArea') {
                 continue;
             }
             const value = getBooleanPropertyValue(booleanProperty);
@@ -397,27 +409,4 @@
         return nodeById.values().next().value;
     }
 }
-_AXNode_richlyEditable = new WeakMap(), _AXNode_editable = new WeakMap(), _AXNode_focusable = new WeakMap(), _AXNode_hidden = new WeakMap(), _AXNode_name = new WeakMap(), _AXNode_role = new WeakMap(), _AXNode_ignored = new WeakMap(), _AXNode_cachedHasFocusableChild = new WeakMap(), _AXNode_instances = new WeakSet(), _AXNode_isPlainTextField = function _AXNode_isPlainTextField() {
-    if (__classPrivateFieldGet(this, _AXNode_richlyEditable, "f")) {
-        return false;
-    }
-    if (__classPrivateFieldGet(this, _AXNode_editable, "f")) {
-        return true;
-    }
-    return __classPrivateFieldGet(this, _AXNode_role, "f") === 'textbox' || __classPrivateFieldGet(this, _AXNode_role, "f") === 'searchbox';
-}, _AXNode_isTextOnlyObject = function _AXNode_isTextOnlyObject() {
-    const role = __classPrivateFieldGet(this, _AXNode_role, "f");
-    return role === 'LineBreak' || role === 'text' || role === 'InlineTextBox';
-}, _AXNode_hasFocusableChild = function _AXNode_hasFocusableChild() {
-    if (__classPrivateFieldGet(this, _AXNode_cachedHasFocusableChild, "f") === undefined) {
-        __classPrivateFieldSet(this, _AXNode_cachedHasFocusableChild, false, "f");
-        for (const child of this.children) {
-            if (__classPrivateFieldGet(child, _AXNode_focusable, "f") || __classPrivateFieldGet(child, _AXNode_instances, "m", _AXNode_hasFocusableChild).call(child)) {
-                __classPrivateFieldSet(this, _AXNode_cachedHasFocusableChild, true, "f");
-                break;
-            }
-        }
-    }
-    return __classPrivateFieldGet(this, _AXNode_cachedHasFocusableChild, "f");
-};
 //# sourceMappingURL=Accessibility.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Accessibility.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Accessibility.js.map
index efb80dd..c5f4bf2 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Accessibility.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Accessibility.js.map
@@ -1 +1 @@
-{"version":3,"file":"Accessibility.js","sourceRoot":"","sources":["../../../../src/common/Accessibility.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Accessibility.js","sourceRoot":"","sources":["../../../../src/common/Accessibility.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.d.ts.map
index 71d5398..634dde3 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"AriaQueryHandler.d.ts","sourceRoot":"","sources":["../../../../src/common/AriaQueryHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAKtD,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAgE7C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAgB,aAAa,EAAE,aAAa,CAM1C;WAEqB,QAAQ,CAC7B,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,EAC5B,QAAQ,EAAE,MAAM,GACf,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAYzC,OAAgB,QAAQ,YACb,cAAc,IAAI,CAAC,YAClB,MAAM,KACf,QAAQ,cAAc,IAAI,CAAC,GAAG,IAAI,CAAC,CAIpC;CACH"}
\ No newline at end of file
+{"version":3,"file":"AriaQueryHandler.d.ts","sourceRoot":"","sources":["../../../../src/common/AriaQueryHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAKtD,OAAO,EAAC,YAAY,EAAE,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAmE7C;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,OAAgB,aAAa,EAAE,aAAa,CAM1C;WAEqB,QAAQ,CAC7B,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,EAC5B,QAAQ,EAAE,MAAM,GACf,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAYzC,OAAgB,QAAQ,YACb,cAAc,IAAI,CAAC,YAClB,MAAM,KACf,QAAQ,cAAc,IAAI,CAAC,GAAG,IAAI,CAAC,CAIpC;CACH"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js
index 136321c..f56af6f 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js
@@ -13,7 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var _a;
 import { assert } from '../util/assert.js';
 import { AsyncIterableUtil } from '../util/AsyncIterableUtil.js';
 import { QueryHandler } from './QueryHandler.js';
@@ -63,6 +62,9 @@
  * @internal
  */
 export class ARIAQueryHandler extends QueryHandler {
+    static querySelector = async (node, selector, { ariaQuerySelector }) => {
+        return ariaQuerySelector(node, selector);
+    };
     static async *queryAll(element, selector) {
         const context = element.executionContext();
         const { name, role } = parseARIASelector(selector);
@@ -72,12 +74,8 @@
             return world.adoptBackendNode(node.backendDOMNodeId);
         });
     }
+    static queryOne = async (element, selector) => {
+        return ((await AsyncIterableUtil.first(this.queryAll(element, selector))) ?? null);
+    };
 }
-_a = ARIAQueryHandler;
-ARIAQueryHandler.querySelector = async (node, selector, { ariaQuerySelector }) => {
-    return ariaQuerySelector(node, selector);
-};
-ARIAQueryHandler.queryOne = async (element, selector) => {
-    return ((await AsyncIterableUtil.first(_a.queryAll(element, selector))) ?? null);
-};
 //# sourceMappingURL=AriaQueryHandler.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js.map
index 6dc2327..fccf0d8 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js.map
@@ -1 +1 @@
-{"version":3,"file":"AriaQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/AriaQueryHandler.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"AriaQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/AriaQueryHandler.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Binding.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Binding.js
index ca5d4de..0def10e 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Binding.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Binding.js
@@ -1,15 +1,3 @@
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Binding_name, _Binding_fn;
 import { JSHandle } from '../api/JSHandle.js';
 import { isErrorLike } from '../util/ErrorLike.js';
 import { debugError } from './util.js';
@@ -17,14 +5,14 @@
  * @internal
  */
 export class Binding {
+    #name;
+    #fn;
     constructor(name, fn) {
-        _Binding_name.set(this, void 0);
-        _Binding_fn.set(this, void 0);
-        __classPrivateFieldSet(this, _Binding_name, name, "f");
-        __classPrivateFieldSet(this, _Binding_fn, fn, "f");
+        this.#name = name;
+        this.#fn = fn;
     }
     get name() {
-        return __classPrivateFieldGet(this, _Binding_name, "f");
+        return this.#name;
     }
     /**
      * @param context - Context to run the binding in; the context should have
@@ -41,7 +29,7 @@
                 const handles = await context.evaluateHandle((name, seq) => {
                     // @ts-expect-error Code is evaluated in a different context.
                     return globalThis[name].args.get(seq);
-                }, __classPrivateFieldGet(this, _Binding_name, "f"), id);
+                }, this.#name, id);
                 try {
                     const properties = await handles.getProperties();
                     for (const [index, handle] of properties) {
@@ -70,7 +58,7 @@
                 const callbacks = globalThis[name].callbacks;
                 callbacks.get(seq).resolve(result);
                 callbacks.delete(seq);
-            }, __classPrivateFieldGet(this, _Binding_name, "f"), id, await __classPrivateFieldGet(this, _Binding_fn, "f").call(this, ...args));
+            }, this.#name, id, await this.#fn(...args));
             for (const arg of args) {
                 if (arg instanceof JSHandle) {
                     garbage.push(arg.dispose());
@@ -87,7 +75,7 @@
                     const callbacks = globalThis[name].callbacks;
                     callbacks.get(seq).reject(error);
                     callbacks.delete(seq);
-                }, __classPrivateFieldGet(this, _Binding_name, "f"), id, error.message, error.stack)
+                }, this.#name, id, error.message, error.stack)
                     .catch(debugError);
             }
             else {
@@ -97,7 +85,7 @@
                     const callbacks = globalThis[name].callbacks;
                     callbacks.get(seq).reject(error);
                     callbacks.delete(seq);
-                }, __classPrivateFieldGet(this, _Binding_name, "f"), id, error)
+                }, this.#name, id, error)
                     .catch(debugError);
             }
         }
@@ -106,5 +94,4 @@
         }
     }
 }
-_Binding_name = new WeakMap(), _Binding_fn = new WeakMap();
 //# sourceMappingURL=Binding.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Binding.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Binding.js.map
index 751906d..f47ae14 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Binding.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Binding.js.map
@@ -1 +1 @@
-{"version":3,"file":"Binding.js","sourceRoot":"","sources":["../../../../src/common/Binding.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Binding.js","sourceRoot":"","sources":["../../../../src/common/Binding.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.d.ts
index 8139a80..25fe27b 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.d.ts
@@ -15,12 +15,13 @@
  */
 /// <reference types="node" />
 import { ChildProcess } from 'child_process';
-import { Browser as BrowserBase, BrowserCloseCallback, TargetFilterCallback, IsPageTargetCallback, BrowserContextOptions, WaitForTargetOptions, Permission } from '../api/Browser.js';
+import { Browser as BrowserBase, BrowserCloseCallback, TargetFilterCallback, IsPageTargetCallback, BrowserContextOptions, Permission } from '../api/Browser.js';
 import { BrowserContext } from '../api/BrowserContext.js';
 import { Page } from '../api/Page.js';
+import { Target } from '../api/Target.js';
 import { Connection } from './Connection.js';
 import { Viewport } from './PuppeteerViewport.js';
-import { Target } from './Target.js';
+import { CDPTarget } from './Target.js';
 import { TargetManager } from './TargetManager.js';
 /**
  * @internal
@@ -34,7 +35,7 @@
     /**
      * @internal
      */
-    get _targets(): Map<string, Target>;
+    get _targets(): Map<string, CDPTarget>;
     /**
      * @internal
      */
@@ -123,29 +124,11 @@
      * All active targets inside the Browser. In case of multiple browser contexts, returns
      * an array with all the targets in all browser contexts.
      */
-    targets(): Target[];
+    targets(): CDPTarget[];
     /**
      * The target associated with the browser.
      */
-    target(): Target;
-    /**
-     * Searches for a target in all browser contexts.
-     *
-     * @param predicate - A function to be run for every target.
-     * @returns The first target found that matches the `predicate` function.
-     *
-     * @example
-     *
-     * An example of finding a target for a page opened via `window.open`:
-     *
-     * ```ts
-     * await page.evaluate(() => window.open('https://www.example.com/'));
-     * const newWindowTarget = await browser.waitForTarget(
-     *   target => target.url() === 'https://www.example.com/'
-     * );
-     * ```
-     */
-    waitForTarget(predicate: (x: Target) => boolean | Promise<boolean>, options?: WaitForTargetOptions): Promise<Target>;
+    target(): CDPTarget;
     version(): Promise<string>;
     /**
      * The browser's original user agent. Pages can override the browser user agent with
@@ -172,7 +155,7 @@
     /**
      * An array of all active targets inside the browser context.
      */
-    targets(): Target[];
+    targets(): CDPTarget[];
     /**
      * This searches for a target in this specific browser context.
      *
@@ -201,7 +184,7 @@
      *
      * @returns Promise which resolves to an array of all open pages.
      * Non visible pages, such as `"background_page"`, will not be listed here.
-     * You can find them using {@link Target.page | the target page}.
+     * You can find them using {@link CDPTarget.page | the target page}.
      */
     pages(): Promise<Page[]>;
     /**
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.d.ts.map
index 4de3eb5..279b136 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Browser.d.ts","sourceRoot":"","sources":["../../../../src/common/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Browser.d.ts","sourceRoot":"","sources":["../../../../src/common/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.js
index 2578a6d..b016b52 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.js
@@ -13,28 +13,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _CDPBrowser_instances, _CDPBrowser_ignoreHTTPSErrors, _CDPBrowser_defaultViewport, _CDPBrowser_process, _CDPBrowser_connection, _CDPBrowser_closeCallback, _CDPBrowser_targetFilterCallback, _CDPBrowser_isPageTargetCallback, _CDPBrowser_defaultContext, _CDPBrowser_contexts, _CDPBrowser_screenshotTaskQueue, _CDPBrowser_targetManager, _CDPBrowser_emitDisconnected, _CDPBrowser_setIsPageTargetCallback, _CDPBrowser_createTarget, _CDPBrowser_onAttachedToTarget, _CDPBrowser_onDetachedFromTarget, _CDPBrowser_onTargetChanged, _CDPBrowser_onTargetDiscovered, _CDPBrowser_getVersion, _CDPBrowserContext_connection, _CDPBrowserContext_browser, _CDPBrowserContext_id;
 import { Browser as BrowserBase, WEB_PERMISSION_TO_PROTOCOL_PERMISSION, } from '../api/Browser.js';
 import { BrowserContext } from '../api/BrowserContext.js';
 import { assert } from '../util/assert.js';
-import { Deferred } from '../util/Deferred.js';
 import { ChromeTargetManager } from './ChromeTargetManager.js';
 import { ConnectionEmittedEvents } from './Connection.js';
 import { FirefoxTargetManager } from './FirefoxTargetManager.js';
 import { InitializationStatus, OtherTarget, PageTarget, WorkerTarget, } from './Target.js';
 import { TaskQueue } from './TaskQueue.js';
-import { waitWithTimeout } from './util.js';
 /**
  * @internal
  */
@@ -47,143 +33,103 @@
         await browser._attach();
         return browser;
     }
+    #ignoreHTTPSErrors;
+    #defaultViewport;
+    #process;
+    #connection;
+    #closeCallback;
+    #targetFilterCallback;
+    #isPageTargetCallback;
+    #defaultContext;
+    #contexts = new Map();
+    #screenshotTaskQueue;
+    #targetManager;
     /**
      * @internal
      */
     get _targets() {
-        return __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").getAvailableTargets();
+        return this.#targetManager.getAvailableTargets();
     }
     /**
      * @internal
      */
     constructor(product, connection, contextIds, ignoreHTTPSErrors, defaultViewport, process, closeCallback, targetFilterCallback, isPageTargetCallback) {
         super();
-        _CDPBrowser_instances.add(this);
-        _CDPBrowser_ignoreHTTPSErrors.set(this, void 0);
-        _CDPBrowser_defaultViewport.set(this, void 0);
-        _CDPBrowser_process.set(this, void 0);
-        _CDPBrowser_connection.set(this, void 0);
-        _CDPBrowser_closeCallback.set(this, void 0);
-        _CDPBrowser_targetFilterCallback.set(this, void 0);
-        _CDPBrowser_isPageTargetCallback.set(this, void 0);
-        _CDPBrowser_defaultContext.set(this, void 0);
-        _CDPBrowser_contexts.set(this, new Map());
-        _CDPBrowser_screenshotTaskQueue.set(this, void 0);
-        _CDPBrowser_targetManager.set(this, void 0);
-        _CDPBrowser_emitDisconnected.set(this, () => {
-            this.emit("disconnected" /* BrowserEmittedEvents.Disconnected */);
-        });
-        _CDPBrowser_createTarget.set(this, (targetInfo, session) => {
-            const { browserContextId } = targetInfo;
-            const context = browserContextId && __classPrivateFieldGet(this, _CDPBrowser_contexts, "f").has(browserContextId)
-                ? __classPrivateFieldGet(this, _CDPBrowser_contexts, "f").get(browserContextId)
-                : __classPrivateFieldGet(this, _CDPBrowser_defaultContext, "f");
-            if (!context) {
-                throw new Error('Missing browser context');
-            }
-            const createSession = (isAutoAttachEmulated) => {
-                return __classPrivateFieldGet(this, _CDPBrowser_connection, "f")._createSession(targetInfo, isAutoAttachEmulated);
-            };
-            if (__classPrivateFieldGet(this, _CDPBrowser_isPageTargetCallback, "f").call(this, targetInfo)) {
-                return new PageTarget(targetInfo, session, context, __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f"), createSession, __classPrivateFieldGet(this, _CDPBrowser_ignoreHTTPSErrors, "f"), __classPrivateFieldGet(this, _CDPBrowser_defaultViewport, "f") ?? null, __classPrivateFieldGet(this, _CDPBrowser_screenshotTaskQueue, "f"));
-            }
-            if (targetInfo.type === 'service_worker' ||
-                targetInfo.type === 'shared_worker') {
-                return new WorkerTarget(targetInfo, session, context, __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f"), createSession);
-            }
-            return new OtherTarget(targetInfo, session, context, __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f"), createSession);
-        });
-        _CDPBrowser_onAttachedToTarget.set(this, async (target) => {
-            if ((await target._initializedDeferred.valueOrThrow()) ===
-                InitializationStatus.SUCCESS) {
-                this.emit("targetcreated" /* BrowserEmittedEvents.TargetCreated */, target);
-                target
-                    .browserContext()
-                    .emit("targetcreated" /* BrowserContextEmittedEvents.TargetCreated */, target);
-            }
-        });
-        _CDPBrowser_onDetachedFromTarget.set(this, async (target) => {
-            target._initializedDeferred.resolve(InitializationStatus.ABORTED);
-            target._isClosedDeferred.resolve();
-            if ((await target._initializedDeferred.valueOrThrow()) ===
-                InitializationStatus.SUCCESS) {
-                this.emit("targetdestroyed" /* BrowserEmittedEvents.TargetDestroyed */, target);
-                target
-                    .browserContext()
-                    .emit("targetdestroyed" /* BrowserContextEmittedEvents.TargetDestroyed */, target);
-            }
-        });
-        _CDPBrowser_onTargetChanged.set(this, ({ target }) => {
-            this.emit("targetchanged" /* BrowserEmittedEvents.TargetChanged */, target);
-            target
-                .browserContext()
-                .emit("targetchanged" /* BrowserContextEmittedEvents.TargetChanged */, target);
-        });
-        _CDPBrowser_onTargetDiscovered.set(this, (targetInfo) => {
-            this.emit('targetdiscovered', targetInfo);
-        });
         product = product || 'chrome';
-        __classPrivateFieldSet(this, _CDPBrowser_ignoreHTTPSErrors, ignoreHTTPSErrors, "f");
-        __classPrivateFieldSet(this, _CDPBrowser_defaultViewport, defaultViewport, "f");
-        __classPrivateFieldSet(this, _CDPBrowser_process, process, "f");
-        __classPrivateFieldSet(this, _CDPBrowser_screenshotTaskQueue, new TaskQueue(), "f");
-        __classPrivateFieldSet(this, _CDPBrowser_connection, connection, "f");
-        __classPrivateFieldSet(this, _CDPBrowser_closeCallback, closeCallback || function () { }, "f");
-        __classPrivateFieldSet(this, _CDPBrowser_targetFilterCallback, targetFilterCallback ||
-            (() => {
-                return true;
-            }), "f");
-        __classPrivateFieldGet(this, _CDPBrowser_instances, "m", _CDPBrowser_setIsPageTargetCallback).call(this, isPageTargetCallback);
+        this.#ignoreHTTPSErrors = ignoreHTTPSErrors;
+        this.#defaultViewport = defaultViewport;
+        this.#process = process;
+        this.#screenshotTaskQueue = new TaskQueue();
+        this.#connection = connection;
+        this.#closeCallback = closeCallback || function () { };
+        this.#targetFilterCallback =
+            targetFilterCallback ||
+                (() => {
+                    return true;
+                });
+        this.#setIsPageTargetCallback(isPageTargetCallback);
         if (product === 'firefox') {
-            __classPrivateFieldSet(this, _CDPBrowser_targetManager, new FirefoxTargetManager(connection, __classPrivateFieldGet(this, _CDPBrowser_createTarget, "f"), __classPrivateFieldGet(this, _CDPBrowser_targetFilterCallback, "f")), "f");
+            this.#targetManager = new FirefoxTargetManager(connection, this.#createTarget, this.#targetFilterCallback);
         }
         else {
-            __classPrivateFieldSet(this, _CDPBrowser_targetManager, new ChromeTargetManager(connection, __classPrivateFieldGet(this, _CDPBrowser_createTarget, "f"), __classPrivateFieldGet(this, _CDPBrowser_targetFilterCallback, "f")), "f");
+            this.#targetManager = new ChromeTargetManager(connection, this.#createTarget, this.#targetFilterCallback);
         }
-        __classPrivateFieldSet(this, _CDPBrowser_defaultContext, new CDPBrowserContext(__classPrivateFieldGet(this, _CDPBrowser_connection, "f"), this), "f");
+        this.#defaultContext = new CDPBrowserContext(this.#connection, this);
         for (const contextId of contextIds) {
-            __classPrivateFieldGet(this, _CDPBrowser_contexts, "f").set(contextId, new CDPBrowserContext(__classPrivateFieldGet(this, _CDPBrowser_connection, "f"), this, contextId));
+            this.#contexts.set(contextId, new CDPBrowserContext(this.#connection, this, contextId));
         }
     }
+    #emitDisconnected = () => {
+        this.emit("disconnected" /* BrowserEmittedEvents.Disconnected */);
+    };
     /**
      * @internal
      */
     async _attach() {
-        __classPrivateFieldGet(this, _CDPBrowser_connection, "f").on(ConnectionEmittedEvents.Disconnected, __classPrivateFieldGet(this, _CDPBrowser_emitDisconnected, "f"));
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").on("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, __classPrivateFieldGet(this, _CDPBrowser_onAttachedToTarget, "f"));
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").on("targetGone" /* TargetManagerEmittedEvents.TargetGone */, __classPrivateFieldGet(this, _CDPBrowser_onDetachedFromTarget, "f"));
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").on("targetChanged" /* TargetManagerEmittedEvents.TargetChanged */, __classPrivateFieldGet(this, _CDPBrowser_onTargetChanged, "f"));
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").on("targetDiscovered" /* TargetManagerEmittedEvents.TargetDiscovered */, __classPrivateFieldGet(this, _CDPBrowser_onTargetDiscovered, "f"));
-        await __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").initialize();
+        this.#connection.on(ConnectionEmittedEvents.Disconnected, this.#emitDisconnected);
+        this.#targetManager.on("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, this.#onAttachedToTarget);
+        this.#targetManager.on("targetGone" /* TargetManagerEmittedEvents.TargetGone */, this.#onDetachedFromTarget);
+        this.#targetManager.on("targetChanged" /* TargetManagerEmittedEvents.TargetChanged */, this.#onTargetChanged);
+        this.#targetManager.on("targetDiscovered" /* TargetManagerEmittedEvents.TargetDiscovered */, this.#onTargetDiscovered);
+        await this.#targetManager.initialize();
     }
     /**
      * @internal
      */
     _detach() {
-        __classPrivateFieldGet(this, _CDPBrowser_connection, "f").off(ConnectionEmittedEvents.Disconnected, __classPrivateFieldGet(this, _CDPBrowser_emitDisconnected, "f"));
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").off("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, __classPrivateFieldGet(this, _CDPBrowser_onAttachedToTarget, "f"));
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").off("targetGone" /* TargetManagerEmittedEvents.TargetGone */, __classPrivateFieldGet(this, _CDPBrowser_onDetachedFromTarget, "f"));
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").off("targetChanged" /* TargetManagerEmittedEvents.TargetChanged */, __classPrivateFieldGet(this, _CDPBrowser_onTargetChanged, "f"));
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").off("targetDiscovered" /* TargetManagerEmittedEvents.TargetDiscovered */, __classPrivateFieldGet(this, _CDPBrowser_onTargetDiscovered, "f"));
+        this.#connection.off(ConnectionEmittedEvents.Disconnected, this.#emitDisconnected);
+        this.#targetManager.off("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, this.#onAttachedToTarget);
+        this.#targetManager.off("targetGone" /* TargetManagerEmittedEvents.TargetGone */, this.#onDetachedFromTarget);
+        this.#targetManager.off("targetChanged" /* TargetManagerEmittedEvents.TargetChanged */, this.#onTargetChanged);
+        this.#targetManager.off("targetDiscovered" /* TargetManagerEmittedEvents.TargetDiscovered */, this.#onTargetDiscovered);
     }
     /**
      * The spawned browser process. Returns `null` if the browser instance was created with
      * {@link Puppeteer.connect}.
      */
     process() {
-        return __classPrivateFieldGet(this, _CDPBrowser_process, "f") ?? null;
+        return this.#process ?? null;
     }
     /**
      * @internal
      */
     _targetManager() {
-        return __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f");
+        return this.#targetManager;
+    }
+    #setIsPageTargetCallback(isPageTargetCallback) {
+        this.#isPageTargetCallback =
+            isPageTargetCallback ||
+                ((target) => {
+                    return (target.type() === 'page' ||
+                        target.type() === 'background_page' ||
+                        target.type() === 'webview');
+                });
     }
     /**
      * @internal
      */
     _getIsPageTargetCallback() {
-        return __classPrivateFieldGet(this, _CDPBrowser_isPageTargetCallback, "f");
+        return this.#isPageTargetCallback;
     }
     /**
      * Creates a new incognito browser context. This won't share cookies/cache with other
@@ -205,12 +151,12 @@
      */
     async createIncognitoBrowserContext(options = {}) {
         const { proxyServer, proxyBypassList } = options;
-        const { browserContextId } = await __classPrivateFieldGet(this, _CDPBrowser_connection, "f").send('Target.createBrowserContext', {
+        const { browserContextId } = await this.#connection.send('Target.createBrowserContext', {
             proxyServer,
             proxyBypassList: proxyBypassList && proxyBypassList.join(','),
         });
-        const context = new CDPBrowserContext(__classPrivateFieldGet(this, _CDPBrowser_connection, "f"), this, browserContextId);
-        __classPrivateFieldGet(this, _CDPBrowser_contexts, "f").set(browserContextId, context);
+        const context = new CDPBrowserContext(this.#connection, this, browserContextId);
+        this.#contexts.set(browserContextId, context);
         return context;
     }
     /**
@@ -218,13 +164,13 @@
      * return a single instance of {@link BrowserContext}.
      */
     browserContexts() {
-        return [__classPrivateFieldGet(this, _CDPBrowser_defaultContext, "f"), ...Array.from(__classPrivateFieldGet(this, _CDPBrowser_contexts, "f").values())];
+        return [this.#defaultContext, ...Array.from(this.#contexts.values())];
     }
     /**
      * Returns the default browser context. The default browser context cannot be closed.
      */
     defaultBrowserContext() {
-        return __classPrivateFieldGet(this, _CDPBrowser_defaultContext, "f");
+        return this.#defaultContext;
     }
     /**
      * @internal
@@ -233,11 +179,61 @@
         if (!contextId) {
             return;
         }
-        await __classPrivateFieldGet(this, _CDPBrowser_connection, "f").send('Target.disposeBrowserContext', {
+        await this.#connection.send('Target.disposeBrowserContext', {
             browserContextId: contextId,
         });
-        __classPrivateFieldGet(this, _CDPBrowser_contexts, "f").delete(contextId);
+        this.#contexts.delete(contextId);
     }
+    #createTarget = (targetInfo, session) => {
+        const { browserContextId } = targetInfo;
+        const context = browserContextId && this.#contexts.has(browserContextId)
+            ? this.#contexts.get(browserContextId)
+            : this.#defaultContext;
+        if (!context) {
+            throw new Error('Missing browser context');
+        }
+        const createSession = (isAutoAttachEmulated) => {
+            return this.#connection._createSession(targetInfo, isAutoAttachEmulated);
+        };
+        const targetForFilter = new OtherTarget(targetInfo, session, context, this.#targetManager, createSession);
+        if (this.#isPageTargetCallback(targetForFilter)) {
+            return new PageTarget(targetInfo, session, context, this.#targetManager, createSession, this.#ignoreHTTPSErrors, this.#defaultViewport ?? null, this.#screenshotTaskQueue);
+        }
+        if (targetInfo.type === 'service_worker' ||
+            targetInfo.type === 'shared_worker') {
+            return new WorkerTarget(targetInfo, session, context, this.#targetManager, createSession);
+        }
+        return new OtherTarget(targetInfo, session, context, this.#targetManager, createSession);
+    };
+    #onAttachedToTarget = async (target) => {
+        if ((await target._initializedDeferred.valueOrThrow()) ===
+            InitializationStatus.SUCCESS) {
+            this.emit("targetcreated" /* BrowserEmittedEvents.TargetCreated */, target);
+            target
+                .browserContext()
+                .emit("targetcreated" /* BrowserContextEmittedEvents.TargetCreated */, target);
+        }
+    };
+    #onDetachedFromTarget = async (target) => {
+        target._initializedDeferred.resolve(InitializationStatus.ABORTED);
+        target._isClosedDeferred.resolve();
+        if ((await target._initializedDeferred.valueOrThrow()) ===
+            InitializationStatus.SUCCESS) {
+            this.emit("targetdestroyed" /* BrowserEmittedEvents.TargetDestroyed */, target);
+            target
+                .browserContext()
+                .emit("targetdestroyed" /* BrowserContextEmittedEvents.TargetDestroyed */, target);
+        }
+    };
+    #onTargetChanged = ({ target }) => {
+        this.emit("targetchanged" /* BrowserEmittedEvents.TargetChanged */, target);
+        target
+            .browserContext()
+            .emit("targetchanged" /* BrowserContextEmittedEvents.TargetChanged */, target);
+    };
+    #onTargetDiscovered = (targetInfo) => {
+        this.emit('targetdiscovered', targetInfo);
+    };
     /**
      * The browser websocket endpoint which can be used as an argument to
      * {@link Puppeteer.connect}.
@@ -256,24 +252,24 @@
      * | browser endpoint}.
      */
     wsEndpoint() {
-        return __classPrivateFieldGet(this, _CDPBrowser_connection, "f").url();
+        return this.#connection.url();
     }
     /**
      * Promise which resolves to a new {@link Page} object. The Page is created in
      * a default browser context.
      */
     async newPage() {
-        return __classPrivateFieldGet(this, _CDPBrowser_defaultContext, "f").newPage();
+        return this.#defaultContext.newPage();
     }
     /**
      * @internal
      */
     async _createPageInContext(contextId) {
-        const { targetId } = await __classPrivateFieldGet(this, _CDPBrowser_connection, "f").send('Target.createTarget', {
+        const { targetId } = await this.#connection.send('Target.createTarget', {
             url: 'about:blank',
             browserContextId: contextId || undefined,
         });
-        const target = __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").getAvailableTargets().get(targetId);
+        const target = this.#targetManager.getAvailableTargets().get(targetId);
         if (!target) {
             throw new Error(`Missing target for page (id = ${targetId})`);
         }
@@ -293,7 +289,7 @@
      * an array with all the targets in all browser contexts.
      */
     targets() {
-        return Array.from(__classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").getAvailableTargets().values()).filter(target => {
+        return Array.from(this.#targetManager.getAvailableTargets().values()).filter(target => {
             return (target._initializedDeferred.value() === InitializationStatus.SUCCESS);
         });
     }
@@ -309,47 +305,8 @@
         }
         return browserTarget;
     }
-    /**
-     * Searches for a target in all browser contexts.
-     *
-     * @param predicate - A function to be run for every target.
-     * @returns The first target found that matches the `predicate` function.
-     *
-     * @example
-     *
-     * An example of finding a target for a page opened via `window.open`:
-     *
-     * ```ts
-     * await page.evaluate(() => window.open('https://www.example.com/'));
-     * const newWindowTarget = await browser.waitForTarget(
-     *   target => target.url() === 'https://www.example.com/'
-     * );
-     * ```
-     */
-    async waitForTarget(predicate, options = {}) {
-        const { timeout = 30000 } = options;
-        const targetDeferred = Deferred.create();
-        this.on("targetcreated" /* BrowserEmittedEvents.TargetCreated */, check);
-        this.on("targetchanged" /* BrowserEmittedEvents.TargetChanged */, check);
-        try {
-            this.targets().forEach(check);
-            if (!timeout) {
-                return await targetDeferred.valueOrThrow();
-            }
-            return await waitWithTimeout(targetDeferred.valueOrThrow(), 'target', timeout);
-        }
-        finally {
-            this.off("targetcreated" /* BrowserEmittedEvents.TargetCreated */, check);
-            this.off("targetchanged" /* BrowserEmittedEvents.TargetChanged */, check);
-        }
-        async function check(target) {
-            if ((await predicate(target)) && !targetDeferred.resolved()) {
-                targetDeferred.resolve(target);
-            }
-        }
-    }
     async version() {
-        const version = await __classPrivateFieldGet(this, _CDPBrowser_instances, "m", _CDPBrowser_getVersion).call(this);
+        const version = await this.#getVersion();
         return version.product;
     }
     /**
@@ -357,59 +314,52 @@
      * {@link Page.setUserAgent}.
      */
     async userAgent() {
-        const version = await __classPrivateFieldGet(this, _CDPBrowser_instances, "m", _CDPBrowser_getVersion).call(this);
+        const version = await this.#getVersion();
         return version.userAgent;
     }
     async close() {
-        await __classPrivateFieldGet(this, _CDPBrowser_closeCallback, "f").call(null);
+        await this.#closeCallback.call(null);
         this.disconnect();
     }
     disconnect() {
-        __classPrivateFieldGet(this, _CDPBrowser_targetManager, "f").dispose();
-        __classPrivateFieldGet(this, _CDPBrowser_connection, "f").dispose();
+        this.#targetManager.dispose();
+        this.#connection.dispose();
         this._detach();
     }
     /**
      * Indicates that the browser is connected.
      */
     isConnected() {
-        return !__classPrivateFieldGet(this, _CDPBrowser_connection, "f")._closed;
+        return !this.#connection._closed;
+    }
+    #getVersion() {
+        return this.#connection.send('Browser.getVersion');
     }
 }
-_CDPBrowser_ignoreHTTPSErrors = new WeakMap(), _CDPBrowser_defaultViewport = new WeakMap(), _CDPBrowser_process = new WeakMap(), _CDPBrowser_connection = new WeakMap(), _CDPBrowser_closeCallback = new WeakMap(), _CDPBrowser_targetFilterCallback = new WeakMap(), _CDPBrowser_isPageTargetCallback = new WeakMap(), _CDPBrowser_defaultContext = new WeakMap(), _CDPBrowser_contexts = new WeakMap(), _CDPBrowser_screenshotTaskQueue = new WeakMap(), _CDPBrowser_targetManager = new WeakMap(), _CDPBrowser_emitDisconnected = new WeakMap(), _CDPBrowser_createTarget = new WeakMap(), _CDPBrowser_onAttachedToTarget = new WeakMap(), _CDPBrowser_onDetachedFromTarget = new WeakMap(), _CDPBrowser_onTargetChanged = new WeakMap(), _CDPBrowser_onTargetDiscovered = new WeakMap(), _CDPBrowser_instances = new WeakSet(), _CDPBrowser_setIsPageTargetCallback = function _CDPBrowser_setIsPageTargetCallback(isPageTargetCallback) {
-    __classPrivateFieldSet(this, _CDPBrowser_isPageTargetCallback, isPageTargetCallback ||
-        ((target) => {
-            return (target.type === 'page' ||
-                target.type === 'background_page' ||
-                target.type === 'webview');
-        }), "f");
-}, _CDPBrowser_getVersion = function _CDPBrowser_getVersion() {
-    return __classPrivateFieldGet(this, _CDPBrowser_connection, "f").send('Browser.getVersion');
-};
 /**
  * @internal
  */
 export class CDPBrowserContext extends BrowserContext {
+    #connection;
+    #browser;
+    #id;
     /**
      * @internal
      */
     constructor(connection, browser, contextId) {
         super();
-        _CDPBrowserContext_connection.set(this, void 0);
-        _CDPBrowserContext_browser.set(this, void 0);
-        _CDPBrowserContext_id.set(this, void 0);
-        __classPrivateFieldSet(this, _CDPBrowserContext_connection, connection, "f");
-        __classPrivateFieldSet(this, _CDPBrowserContext_browser, browser, "f");
-        __classPrivateFieldSet(this, _CDPBrowserContext_id, contextId, "f");
+        this.#connection = connection;
+        this.#browser = browser;
+        this.#id = contextId;
     }
     get id() {
-        return __classPrivateFieldGet(this, _CDPBrowserContext_id, "f");
+        return this.#id;
     }
     /**
      * An array of all active targets inside the browser context.
      */
     targets() {
-        return __classPrivateFieldGet(this, _CDPBrowserContext_browser, "f").targets().filter(target => {
+        return this.#browser.targets().filter(target => {
             return target.browserContext() === this;
         });
     }
@@ -434,7 +384,7 @@
      * that matches the `predicate` function.
      */
     waitForTarget(predicate, options = {}) {
-        return __classPrivateFieldGet(this, _CDPBrowserContext_browser, "f").waitForTarget(target => {
+        return this.#browser.waitForTarget(target => {
             return target.browserContext() === this && predicate(target);
         }, options);
     }
@@ -443,14 +393,14 @@
      *
      * @returns Promise which resolves to an array of all open pages.
      * Non visible pages, such as `"background_page"`, will not be listed here.
-     * You can find them using {@link Target.page | the target page}.
+     * You can find them using {@link CDPTarget.page | the target page}.
      */
     async pages() {
         const pages = await Promise.all(this.targets()
             .filter(target => {
             return (target.type() === 'page' ||
                 (target.type() === 'other' &&
-                    __classPrivateFieldGet(this, _CDPBrowserContext_browser, "f")._getIsPageTargetCallback()?.(target._getTargetInfo())));
+                    this.#browser._getIsPageTargetCallback()?.(target)));
         })
             .map(target => {
             return target.page();
@@ -467,7 +417,7 @@
      * The default browser context cannot be closed.
      */
     isIncognito() {
-        return !!__classPrivateFieldGet(this, _CDPBrowserContext_id, "f");
+        return !!this.#id;
     }
     /**
      * @example
@@ -491,9 +441,9 @@
             }
             return protocolPermission;
         });
-        await __classPrivateFieldGet(this, _CDPBrowserContext_connection, "f").send('Browser.grantPermissions', {
+        await this.#connection.send('Browser.grantPermissions', {
             origin,
-            browserContextId: __classPrivateFieldGet(this, _CDPBrowserContext_id, "f") || undefined,
+            browserContextId: this.#id || undefined,
             permissions: protocolPermissions,
         });
     }
@@ -510,21 +460,21 @@
      * ```
      */
     async clearPermissionOverrides() {
-        await __classPrivateFieldGet(this, _CDPBrowserContext_connection, "f").send('Browser.resetPermissions', {
-            browserContextId: __classPrivateFieldGet(this, _CDPBrowserContext_id, "f") || undefined,
+        await this.#connection.send('Browser.resetPermissions', {
+            browserContextId: this.#id || undefined,
         });
     }
     /**
      * Creates a new page in the browser context.
      */
     newPage() {
-        return __classPrivateFieldGet(this, _CDPBrowserContext_browser, "f")._createPageInContext(__classPrivateFieldGet(this, _CDPBrowserContext_id, "f"));
+        return this.#browser._createPageInContext(this.#id);
     }
     /**
      * The browser this browser context belongs to.
      */
     browser() {
-        return __classPrivateFieldGet(this, _CDPBrowserContext_browser, "f");
+        return this.#browser;
     }
     /**
      * Closes the browser context. All the targets that belong to the browser context
@@ -534,9 +484,8 @@
      * Only incognito browser contexts can be closed.
      */
     async close() {
-        assert(__classPrivateFieldGet(this, _CDPBrowserContext_id, "f"), 'Non-incognito profiles cannot be closed!');
-        await __classPrivateFieldGet(this, _CDPBrowserContext_browser, "f")._disposeContext(__classPrivateFieldGet(this, _CDPBrowserContext_id, "f"));
+        assert(this.#id, 'Non-incognito profiles cannot be closed!');
+        await this.#browser._disposeContext(this.#id);
     }
 }
-_CDPBrowserContext_connection = new WeakMap(), _CDPBrowserContext_browser = new WeakMap(), _CDPBrowserContext_id = new WeakMap();
 //# sourceMappingURL=Browser.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.js.map
index d60b33b..5363685 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.js.map
@@ -1 +1 @@
-{"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../../src/common/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../../src/common/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.js
index ac623c9..ccd4d12 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.js
@@ -1,15 +1,3 @@
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _BrowserWebSocketTransport_ws;
 /**
  * @internal
  */
@@ -23,28 +11,29 @@
             ws.addEventListener('error', reject);
         });
     }
+    #ws;
+    onmessage;
+    onclose;
     constructor(ws) {
-        _BrowserWebSocketTransport_ws.set(this, void 0);
-        __classPrivateFieldSet(this, _BrowserWebSocketTransport_ws, ws, "f");
-        __classPrivateFieldGet(this, _BrowserWebSocketTransport_ws, "f").addEventListener('message', event => {
+        this.#ws = ws;
+        this.#ws.addEventListener('message', event => {
             if (this.onmessage) {
                 this.onmessage.call(null, event.data);
             }
         });
-        __classPrivateFieldGet(this, _BrowserWebSocketTransport_ws, "f").addEventListener('close', () => {
+        this.#ws.addEventListener('close', () => {
             if (this.onclose) {
                 this.onclose.call(null);
             }
         });
         // Silently ignore all errors - we don't know what to do with them.
-        __classPrivateFieldGet(this, _BrowserWebSocketTransport_ws, "f").addEventListener('error', () => { });
+        this.#ws.addEventListener('error', () => { });
     }
     send(message) {
-        __classPrivateFieldGet(this, _BrowserWebSocketTransport_ws, "f").send(message);
+        this.#ws.send(message);
     }
     close() {
-        __classPrivateFieldGet(this, _BrowserWebSocketTransport_ws, "f").close();
+        this.#ws.close();
     }
 }
-_BrowserWebSocketTransport_ws = new WeakMap();
 //# sourceMappingURL=BrowserWebSocketTransport.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.js.map
index 48543e4..9e46417 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.js.map
@@ -1 +1 @@
-{"version":3,"file":"BrowserWebSocketTransport.js","sourceRoot":"","sources":["../../../../src/common/BrowserWebSocketTransport.ts"],"names":[],"mappings":";;;;;;;;;;;;AAiBA;;GAEG;AACH,MAAM,OAAO,yBAAyB;IACpC,MAAM,CAAC,MAAM,CAAC,GAAW;QACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;YAE9B,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC/B,OAAO,OAAO,CAAC,IAAI,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAMD,YAAY,EAAa;QAJzB,gDAAe;QAKb,uBAAA,IAAI,iCAAO,EAAE,MAAA,CAAC;QACd,uBAAA,IAAI,qCAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YAC3C,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;QACH,uBAAA,IAAI,qCAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACtC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,mEAAmE;QACnE,uBAAA,IAAI,qCAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,uBAAA,IAAI,qCAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACH,uBAAA,IAAI,qCAAI,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF"}
\ No newline at end of file
+{"version":3,"file":"BrowserWebSocketTransport.js","sourceRoot":"","sources":["../../../../src/common/BrowserWebSocketTransport.ts"],"names":[],"mappings":"AAiBA;;GAEG;AACH,MAAM,OAAO,yBAAyB;IACpC,MAAM,CAAC,MAAM,CAAC,GAAW;QACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;YAE9B,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC/B,OAAO,OAAO,CAAC,IAAI,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAY;IACf,SAAS,CAA6B;IACtC,OAAO,CAAc;IAErB,YAAY,EAAa;QACvB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YAC3C,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACtC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,mEAAmE;QACnE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ChromeTargetManager.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ChromeTargetManager.d.ts
index d60e8d7..7f8b2d2 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ChromeTargetManager.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ChromeTargetManager.d.ts
@@ -16,7 +16,7 @@
 import { TargetFilterCallback } from '../api/Browser.js';
 import { CDPSession, Connection } from './Connection.js';
 import { EventEmitter } from './EventEmitter.js';
-import { Target } from './Target.js';
+import { CDPTarget } from './Target.js';
 import { TargetInterceptor, TargetFactory, TargetManager } from './TargetManager.js';
 /**
  * ChromeTargetManager uses the CDP's auto-attach mechanism to intercept
@@ -30,7 +30,7 @@
     constructor(connection: Connection, targetFactory: TargetFactory, targetFilterCallback?: TargetFilterCallback);
     initialize(): Promise<void>;
     dispose(): void;
-    getAvailableTargets(): Map<string, Target>;
+    getAvailableTargets(): Map<string, CDPTarget>;
     addTargetInterceptor(session: CDPSession | Connection, interceptor: TargetInterceptor): void;
     removeTargetInterceptor(client: CDPSession | Connection, interceptor: TargetInterceptor): void;
 }
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ChromeTargetManager.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ChromeTargetManager.d.ts.map
index f98d252..e30311a 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ChromeTargetManager.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ChromeTargetManager.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"ChromeTargetManager.d.ts","sourceRoot":"","sources":["../../../../src/common/ChromeTargetManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAIvD,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAuB,MAAM,EAAC,MAAM,aAAa,CAAC;AACzD,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAG5B;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,YAAa,YAAW,aAAa;;gBA+C1E,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,oBAAoB,CAAC,EAAE,oBAAoB;IAqCvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC,OAAO,IAAI,IAAI;IASf,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI1C,oBAAoB,CAClB,OAAO,EAAE,UAAU,GAAG,UAAU,EAChC,WAAW,EAAE,iBAAiB,GAC7B,IAAI;IAMP,uBAAuB,CACrB,MAAM,EAAE,UAAU,GAAG,UAAU,EAC/B,WAAW,EAAE,iBAAiB,GAC7B,IAAI;CA2PR"}
\ No newline at end of file
+{"version":3,"file":"ChromeTargetManager.d.ts","sourceRoot":"","sources":["../../../../src/common/ChromeTargetManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAIvD,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAuB,SAAS,EAAC,MAAM,aAAa,CAAC;AAC5D,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,aAAa,EAEd,MAAM,oBAAoB,CAAC;AAG5B;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,YAAa,YAAW,aAAa;;gBAgD1E,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,oBAAoB,CAAC,EAAE,oBAAoB;IA4CvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAUjC,OAAO,IAAI,IAAI;IASf,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;IAI7C,oBAAoB,CAClB,OAAO,EAAE,UAAU,GAAG,UAAU,EAChC,WAAW,EAAE,iBAAiB,GAC7B,IAAI;IAMP,uBAAuB,CACrB,MAAM,EAAE,UAAU,GAAG,UAAU,EAC/B,WAAW,EAAE,iBAAiB,GAC7B,IAAI;CAiQR"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ChromeTargetManager.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ChromeTargetManager.js
index 681c5fe..5e9c546 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ChromeTargetManager.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ChromeTargetManager.js
@@ -13,23 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _ChromeTargetManager_instances, _ChromeTargetManager_connection, _ChromeTargetManager_discoveredTargetsByTargetId, _ChromeTargetManager_attachedTargetsByTargetId, _ChromeTargetManager_attachedTargetsBySessionId, _ChromeTargetManager_ignoredTargets, _ChromeTargetManager_targetFilterCallback, _ChromeTargetManager_targetFactory, _ChromeTargetManager_targetInterceptors, _ChromeTargetManager_attachedToTargetListenersBySession, _ChromeTargetManager_detachedFromTargetListenersBySession, _ChromeTargetManager_initializeDeferred, _ChromeTargetManager_targetsIdsForInit, _ChromeTargetManager_storeExistingTargetsForInit, _ChromeTargetManager_setupAttachmentListeners, _ChromeTargetManager_removeAttachmentListeners, _ChromeTargetManager_onSessionDetached, _ChromeTargetManager_onTargetCreated, _ChromeTargetManager_onTargetDestroyed, _ChromeTargetManager_onTargetInfoChanged, _ChromeTargetManager_onAttachedToTarget, _ChromeTargetManager_finishInitializationIfReady, _ChromeTargetManager_onDetachedFromTarget;
 import { assert } from '../util/assert.js';
 import { Deferred } from '../util/Deferred.js';
 import { Connection } from './Connection.js';
 import { EventEmitter } from './EventEmitter.js';
-import { InitializationStatus } from './Target.js';
+import { InitializationStatus, CDPTarget } from './Target.js';
 import { debugError } from './util.js';
 /**
  * ChromeTargetManager uses the CDP's auto-attach mechanism to intercept
@@ -39,269 +27,276 @@
  * @internal
  */
 export class ChromeTargetManager extends EventEmitter {
+    #connection;
+    /**
+     * Keeps track of the following events: 'Target.targetCreated',
+     * 'Target.targetDestroyed', 'Target.targetInfoChanged'.
+     *
+     * A target becomes discovered when 'Target.targetCreated' is received.
+     * A target is removed from this map once 'Target.targetDestroyed' is
+     * received.
+     *
+     * `targetFilterCallback` has no effect on this map.
+     */
+    #discoveredTargetsByTargetId = new Map();
+    /**
+     * A target is added to this map once ChromeTargetManager has created
+     * a Target and attached at least once to it.
+     */
+    #attachedTargetsByTargetId = new Map();
+    /**
+     * Tracks which sessions attach to which target.
+     */
+    #attachedTargetsBySessionId = new Map();
+    /**
+     * If a target was filtered out by `targetFilterCallback`, we still receive
+     * events about it from CDP, but we don't forward them to the rest of Puppeteer.
+     */
+    #ignoredTargets = new Set();
+    #targetFilterCallback;
+    #targetFactory;
+    #targetInterceptors = new WeakMap();
+    #attachedToTargetListenersBySession = new WeakMap();
+    #detachedFromTargetListenersBySession = new WeakMap();
+    #initializeDeferred = Deferred.create();
+    #targetsIdsForInit = new Set();
     constructor(connection, targetFactory, targetFilterCallback) {
         super();
-        _ChromeTargetManager_instances.add(this);
-        _ChromeTargetManager_connection.set(this, void 0);
-        /**
-         * Keeps track of the following events: 'Target.targetCreated',
-         * 'Target.targetDestroyed', 'Target.targetInfoChanged'.
-         *
-         * A target becomes discovered when 'Target.targetCreated' is received.
-         * A target is removed from this map once 'Target.targetDestroyed' is
-         * received.
-         *
-         * `targetFilterCallback` has no effect on this map.
-         */
-        _ChromeTargetManager_discoveredTargetsByTargetId.set(this, new Map());
-        /**
-         * A target is added to this map once ChromeTargetManager has created
-         * a Target and attached at least once to it.
-         */
-        _ChromeTargetManager_attachedTargetsByTargetId.set(this, new Map());
-        /**
-         * Tracks which sessions attach to which target.
-         */
-        _ChromeTargetManager_attachedTargetsBySessionId.set(this, new Map());
-        /**
-         * If a target was filtered out by `targetFilterCallback`, we still receive
-         * events about it from CDP, but we don't forward them to the rest of Puppeteer.
-         */
-        _ChromeTargetManager_ignoredTargets.set(this, new Set());
-        _ChromeTargetManager_targetFilterCallback.set(this, void 0);
-        _ChromeTargetManager_targetFactory.set(this, void 0);
-        _ChromeTargetManager_targetInterceptors.set(this, new WeakMap());
-        _ChromeTargetManager_attachedToTargetListenersBySession.set(this, new WeakMap());
-        _ChromeTargetManager_detachedFromTargetListenersBySession.set(this, new WeakMap());
-        _ChromeTargetManager_initializeDeferred.set(this, Deferred.create());
-        _ChromeTargetManager_targetsIdsForInit.set(this, new Set());
-        _ChromeTargetManager_storeExistingTargetsForInit.set(this, () => {
-            for (const [targetId, targetInfo,] of __classPrivateFieldGet(this, _ChromeTargetManager_discoveredTargetsByTargetId, "f").entries()) {
-                if ((!__classPrivateFieldGet(this, _ChromeTargetManager_targetFilterCallback, "f") ||
-                    __classPrivateFieldGet(this, _ChromeTargetManager_targetFilterCallback, "f").call(this, targetInfo)) &&
-                    targetInfo.type !== 'browser') {
-                    __classPrivateFieldGet(this, _ChromeTargetManager_targetsIdsForInit, "f").add(targetId);
-                }
-            }
-        });
-        _ChromeTargetManager_onSessionDetached.set(this, (session) => {
-            __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_removeAttachmentListeners).call(this, session);
-            __classPrivateFieldGet(this, _ChromeTargetManager_targetInterceptors, "f").delete(session);
-        });
-        _ChromeTargetManager_onTargetCreated.set(this, async (event) => {
-            __classPrivateFieldGet(this, _ChromeTargetManager_discoveredTargetsByTargetId, "f").set(event.targetInfo.targetId, event.targetInfo);
-            this.emit("targetDiscovered" /* TargetManagerEmittedEvents.TargetDiscovered */, event.targetInfo);
-            // The connection is already attached to the browser target implicitly,
-            // therefore, no new CDPSession is created and we have special handling
-            // here.
-            if (event.targetInfo.type === 'browser' && event.targetInfo.attached) {
-                if (__classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").has(event.targetInfo.targetId)) {
-                    return;
-                }
-                const target = __classPrivateFieldGet(this, _ChromeTargetManager_targetFactory, "f").call(this, event.targetInfo, undefined);
-                __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").set(event.targetInfo.targetId, target);
-            }
-        });
-        _ChromeTargetManager_onTargetDestroyed.set(this, (event) => {
-            const targetInfo = __classPrivateFieldGet(this, _ChromeTargetManager_discoveredTargetsByTargetId, "f").get(event.targetId);
-            __classPrivateFieldGet(this, _ChromeTargetManager_discoveredTargetsByTargetId, "f").delete(event.targetId);
-            __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_finishInitializationIfReady).call(this, event.targetId);
-            if (targetInfo?.type === 'service_worker' &&
-                __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").has(event.targetId)) {
-                // Special case for service workers: report TargetGone event when
-                // the worker is destroyed.
-                const target = __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").get(event.targetId);
-                this.emit("targetGone" /* TargetManagerEmittedEvents.TargetGone */, target);
-                __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").delete(event.targetId);
-            }
-        });
-        _ChromeTargetManager_onTargetInfoChanged.set(this, (event) => {
-            __classPrivateFieldGet(this, _ChromeTargetManager_discoveredTargetsByTargetId, "f").set(event.targetInfo.targetId, event.targetInfo);
-            if (__classPrivateFieldGet(this, _ChromeTargetManager_ignoredTargets, "f").has(event.targetInfo.targetId) ||
-                !__classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").has(event.targetInfo.targetId) ||
-                !event.targetInfo.attached) {
-                return;
-            }
-            const target = __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").get(event.targetInfo.targetId);
-            if (!target) {
-                return;
-            }
-            const previousURL = target.url();
-            const wasInitialized = target._initializedDeferred.value() === InitializationStatus.SUCCESS;
-            target._targetInfoChanged(event.targetInfo);
-            if (wasInitialized && previousURL !== target.url()) {
-                this.emit("targetChanged" /* TargetManagerEmittedEvents.TargetChanged */, {
-                    target: target,
-                    wasInitialized,
-                    previousURL,
-                });
-            }
-        });
-        _ChromeTargetManager_onAttachedToTarget.set(this, async (parentSession, event) => {
-            const targetInfo = event.targetInfo;
-            const session = __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").session(event.sessionId);
-            if (!session) {
-                throw new Error(`Session ${event.sessionId} was not created.`);
-            }
-            const silentDetach = async () => {
-                await session.send('Runtime.runIfWaitingForDebugger').catch(debugError);
-                // We don't use `session.detach()` because that dispatches all commands on
-                // the connection instead of the parent session.
-                await parentSession
-                    .send('Target.detachFromTarget', {
-                    sessionId: session.id(),
-                })
-                    .catch(debugError);
-            };
-            if (!__classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").isAutoAttached(targetInfo.targetId)) {
-                return;
-            }
-            // Special case for service workers: being attached to service workers will
-            // prevent them from ever being destroyed. Therefore, we silently detach
-            // from service workers unless the connection was manually created via
-            // `page.worker()`. To determine this, we use
-            // `this.#connection.isAutoAttached(targetInfo.targetId)`. In the future, we
-            // should determine if a target is auto-attached or not with the help of
-            // CDP.
-            if (targetInfo.type === 'service_worker' &&
-                __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").isAutoAttached(targetInfo.targetId)) {
-                __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_finishInitializationIfReady).call(this, targetInfo.targetId);
-                await silentDetach();
-                if (__classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").has(targetInfo.targetId)) {
-                    return;
-                }
-                const target = __classPrivateFieldGet(this, _ChromeTargetManager_targetFactory, "f").call(this, targetInfo);
-                __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").set(targetInfo.targetId, target);
-                this.emit("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, target);
-                return;
-            }
-            if (__classPrivateFieldGet(this, _ChromeTargetManager_targetFilterCallback, "f") && !__classPrivateFieldGet(this, _ChromeTargetManager_targetFilterCallback, "f").call(this, targetInfo)) {
-                __classPrivateFieldGet(this, _ChromeTargetManager_ignoredTargets, "f").add(targetInfo.targetId);
-                __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_finishInitializationIfReady).call(this, targetInfo.targetId);
-                await silentDetach();
-                return;
-            }
-            const existingTarget = __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").has(targetInfo.targetId);
-            const target = existingTarget
-                ? __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").get(targetInfo.targetId)
-                : __classPrivateFieldGet(this, _ChromeTargetManager_targetFactory, "f").call(this, targetInfo, session);
-            __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_setupAttachmentListeners).call(this, session);
-            if (existingTarget) {
-                __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsBySessionId, "f").set(session.id(), __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").get(targetInfo.targetId));
-            }
-            else {
-                __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").set(targetInfo.targetId, target);
-                __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsBySessionId, "f").set(session.id(), target);
-            }
-            for (const interceptor of __classPrivateFieldGet(this, _ChromeTargetManager_targetInterceptors, "f").get(parentSession) ||
-                []) {
-                if (!(parentSession instanceof Connection)) {
-                    // Sanity check: if parent session is not a connection, it should be
-                    // present in #attachedTargetsBySessionId.
-                    assert(__classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsBySessionId, "f").has(parentSession.id()));
-                }
-                interceptor(target, parentSession instanceof Connection
-                    ? null
-                    : __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsBySessionId, "f").get(parentSession.id()));
-            }
-            __classPrivateFieldGet(this, _ChromeTargetManager_targetsIdsForInit, "f").delete(target._targetId);
-            if (!existingTarget) {
-                this.emit("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, target);
-            }
-            __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_finishInitializationIfReady).call(this);
-            // TODO: the browser might be shutting down here. What do we do with the
-            // error?
-            await Promise.all([
-                session.send('Target.setAutoAttach', {
-                    waitForDebuggerOnStart: true,
-                    flatten: true,
-                    autoAttach: true,
-                }),
-                session.send('Runtime.runIfWaitingForDebugger'),
-            ]).catch(debugError);
-        });
-        _ChromeTargetManager_onDetachedFromTarget.set(this, (_parentSession, event) => {
-            const target = __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsBySessionId, "f").get(event.sessionId);
-            __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsBySessionId, "f").delete(event.sessionId);
-            if (!target) {
-                return;
-            }
-            __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f").delete(target._targetId);
-            this.emit("targetGone" /* TargetManagerEmittedEvents.TargetGone */, target);
-        });
-        __classPrivateFieldSet(this, _ChromeTargetManager_connection, connection, "f");
-        __classPrivateFieldSet(this, _ChromeTargetManager_targetFilterCallback, targetFilterCallback, "f");
-        __classPrivateFieldSet(this, _ChromeTargetManager_targetFactory, targetFactory, "f");
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").on('Target.targetCreated', __classPrivateFieldGet(this, _ChromeTargetManager_onTargetCreated, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").on('Target.targetDestroyed', __classPrivateFieldGet(this, _ChromeTargetManager_onTargetDestroyed, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").on('Target.targetInfoChanged', __classPrivateFieldGet(this, _ChromeTargetManager_onTargetInfoChanged, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").on('sessiondetached', __classPrivateFieldGet(this, _ChromeTargetManager_onSessionDetached, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_setupAttachmentListeners).call(this, __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f")
+        this.#connection = connection;
+        this.#targetFilterCallback = targetFilterCallback;
+        this.#targetFactory = targetFactory;
+        this.#connection.on('Target.targetCreated', this.#onTargetCreated);
+        this.#connection.on('Target.targetDestroyed', this.#onTargetDestroyed);
+        this.#connection.on('Target.targetInfoChanged', this.#onTargetInfoChanged);
+        this.#connection.on('sessiondetached', this.#onSessionDetached);
+        this.#setupAttachmentListeners(this.#connection);
+        this.#connection
             .send('Target.setDiscoverTargets', {
             discover: true,
             filter: [{ type: 'tab', exclude: true }, {}],
         })
-            .then(__classPrivateFieldGet(this, _ChromeTargetManager_storeExistingTargetsForInit, "f"))
+            .then(this.#storeExistingTargetsForInit)
             .catch(debugError);
     }
+    #storeExistingTargetsForInit = () => {
+        for (const [targetId, targetInfo,] of this.#discoveredTargetsByTargetId.entries()) {
+            const targetForFilter = new CDPTarget(targetInfo, undefined, undefined, this, undefined);
+            if ((!this.#targetFilterCallback ||
+                this.#targetFilterCallback(targetForFilter)) &&
+                targetInfo.type !== 'browser') {
+                this.#targetsIdsForInit.add(targetId);
+            }
+        }
+    };
     async initialize() {
-        await __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").send('Target.setAutoAttach', {
+        await this.#connection.send('Target.setAutoAttach', {
             waitForDebuggerOnStart: true,
             flatten: true,
             autoAttach: true,
         });
-        __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_finishInitializationIfReady).call(this);
-        await __classPrivateFieldGet(this, _ChromeTargetManager_initializeDeferred, "f").valueOrThrow();
+        this.#finishInitializationIfReady();
+        await this.#initializeDeferred.valueOrThrow();
     }
     dispose() {
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").off('Target.targetCreated', __classPrivateFieldGet(this, _ChromeTargetManager_onTargetCreated, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").off('Target.targetDestroyed', __classPrivateFieldGet(this, _ChromeTargetManager_onTargetDestroyed, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").off('Target.targetInfoChanged', __classPrivateFieldGet(this, _ChromeTargetManager_onTargetInfoChanged, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f").off('sessiondetached', __classPrivateFieldGet(this, _ChromeTargetManager_onSessionDetached, "f"));
-        __classPrivateFieldGet(this, _ChromeTargetManager_instances, "m", _ChromeTargetManager_removeAttachmentListeners).call(this, __classPrivateFieldGet(this, _ChromeTargetManager_connection, "f"));
+        this.#connection.off('Target.targetCreated', this.#onTargetCreated);
+        this.#connection.off('Target.targetDestroyed', this.#onTargetDestroyed);
+        this.#connection.off('Target.targetInfoChanged', this.#onTargetInfoChanged);
+        this.#connection.off('sessiondetached', this.#onSessionDetached);
+        this.#removeAttachmentListeners(this.#connection);
     }
     getAvailableTargets() {
-        return __classPrivateFieldGet(this, _ChromeTargetManager_attachedTargetsByTargetId, "f");
+        return this.#attachedTargetsByTargetId;
     }
     addTargetInterceptor(session, interceptor) {
-        const interceptors = __classPrivateFieldGet(this, _ChromeTargetManager_targetInterceptors, "f").get(session) || [];
+        const interceptors = this.#targetInterceptors.get(session) || [];
         interceptors.push(interceptor);
-        __classPrivateFieldGet(this, _ChromeTargetManager_targetInterceptors, "f").set(session, interceptors);
+        this.#targetInterceptors.set(session, interceptors);
     }
     removeTargetInterceptor(client, interceptor) {
-        const interceptors = __classPrivateFieldGet(this, _ChromeTargetManager_targetInterceptors, "f").get(client) || [];
-        __classPrivateFieldGet(this, _ChromeTargetManager_targetInterceptors, "f").set(client, interceptors.filter(currentInterceptor => {
+        const interceptors = this.#targetInterceptors.get(client) || [];
+        this.#targetInterceptors.set(client, interceptors.filter(currentInterceptor => {
             return currentInterceptor !== interceptor;
         }));
     }
+    #setupAttachmentListeners(session) {
+        const listener = (event) => {
+            return this.#onAttachedToTarget(session, event);
+        };
+        assert(!this.#attachedToTargetListenersBySession.has(session));
+        this.#attachedToTargetListenersBySession.set(session, listener);
+        session.on('Target.attachedToTarget', listener);
+        const detachedListener = (event) => {
+            return this.#onDetachedFromTarget(session, event);
+        };
+        assert(!this.#detachedFromTargetListenersBySession.has(session));
+        this.#detachedFromTargetListenersBySession.set(session, detachedListener);
+        session.on('Target.detachedFromTarget', detachedListener);
+    }
+    #removeAttachmentListeners(session) {
+        if (this.#attachedToTargetListenersBySession.has(session)) {
+            session.off('Target.attachedToTarget', this.#attachedToTargetListenersBySession.get(session));
+            this.#attachedToTargetListenersBySession.delete(session);
+        }
+        if (this.#detachedFromTargetListenersBySession.has(session)) {
+            session.off('Target.detachedFromTarget', this.#detachedFromTargetListenersBySession.get(session));
+            this.#detachedFromTargetListenersBySession.delete(session);
+        }
+    }
+    #onSessionDetached = (session) => {
+        this.#removeAttachmentListeners(session);
+        this.#targetInterceptors.delete(session);
+    };
+    #onTargetCreated = async (event) => {
+        this.#discoveredTargetsByTargetId.set(event.targetInfo.targetId, event.targetInfo);
+        this.emit("targetDiscovered" /* TargetManagerEmittedEvents.TargetDiscovered */, event.targetInfo);
+        // The connection is already attached to the browser target implicitly,
+        // therefore, no new CDPSession is created and we have special handling
+        // here.
+        if (event.targetInfo.type === 'browser' && event.targetInfo.attached) {
+            if (this.#attachedTargetsByTargetId.has(event.targetInfo.targetId)) {
+                return;
+            }
+            const target = this.#targetFactory(event.targetInfo, undefined);
+            target._initialize();
+            this.#attachedTargetsByTargetId.set(event.targetInfo.targetId, target);
+        }
+    };
+    #onTargetDestroyed = (event) => {
+        const targetInfo = this.#discoveredTargetsByTargetId.get(event.targetId);
+        this.#discoveredTargetsByTargetId.delete(event.targetId);
+        this.#finishInitializationIfReady(event.targetId);
+        if (targetInfo?.type === 'service_worker' &&
+            this.#attachedTargetsByTargetId.has(event.targetId)) {
+            // Special case for service workers: report TargetGone event when
+            // the worker is destroyed.
+            const target = this.#attachedTargetsByTargetId.get(event.targetId);
+            this.emit("targetGone" /* TargetManagerEmittedEvents.TargetGone */, target);
+            this.#attachedTargetsByTargetId.delete(event.targetId);
+        }
+    };
+    #onTargetInfoChanged = (event) => {
+        this.#discoveredTargetsByTargetId.set(event.targetInfo.targetId, event.targetInfo);
+        if (this.#ignoredTargets.has(event.targetInfo.targetId) ||
+            !this.#attachedTargetsByTargetId.has(event.targetInfo.targetId) ||
+            !event.targetInfo.attached) {
+            return;
+        }
+        const target = this.#attachedTargetsByTargetId.get(event.targetInfo.targetId);
+        if (!target) {
+            return;
+        }
+        const previousURL = target.url();
+        const wasInitialized = target._initializedDeferred.value() === InitializationStatus.SUCCESS;
+        target._targetInfoChanged(event.targetInfo);
+        if (wasInitialized && previousURL !== target.url()) {
+            this.emit("targetChanged" /* TargetManagerEmittedEvents.TargetChanged */, {
+                target: target,
+                wasInitialized,
+                previousURL,
+            });
+        }
+    };
+    #onAttachedToTarget = async (parentSession, event) => {
+        const targetInfo = event.targetInfo;
+        const session = this.#connection.session(event.sessionId);
+        if (!session) {
+            throw new Error(`Session ${event.sessionId} was not created.`);
+        }
+        const silentDetach = async () => {
+            await session.send('Runtime.runIfWaitingForDebugger').catch(debugError);
+            // We don't use `session.detach()` because that dispatches all commands on
+            // the connection instead of the parent session.
+            await parentSession
+                .send('Target.detachFromTarget', {
+                sessionId: session.id(),
+            })
+                .catch(debugError);
+        };
+        if (!this.#connection.isAutoAttached(targetInfo.targetId)) {
+            return;
+        }
+        // Special case for service workers: being attached to service workers will
+        // prevent them from ever being destroyed. Therefore, we silently detach
+        // from service workers unless the connection was manually created via
+        // `page.worker()`. To determine this, we use
+        // `this.#connection.isAutoAttached(targetInfo.targetId)`. In the future, we
+        // should determine if a target is auto-attached or not with the help of
+        // CDP.
+        if (targetInfo.type === 'service_worker' &&
+            this.#connection.isAutoAttached(targetInfo.targetId)) {
+            this.#finishInitializationIfReady(targetInfo.targetId);
+            await silentDetach();
+            if (this.#attachedTargetsByTargetId.has(targetInfo.targetId)) {
+                return;
+            }
+            const target = this.#targetFactory(targetInfo);
+            target._initialize();
+            this.#attachedTargetsByTargetId.set(targetInfo.targetId, target);
+            this.emit("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, target);
+            return;
+        }
+        const existingTarget = this.#attachedTargetsByTargetId.has(targetInfo.targetId);
+        const target = existingTarget
+            ? this.#attachedTargetsByTargetId.get(targetInfo.targetId)
+            : this.#targetFactory(targetInfo, session);
+        if (this.#targetFilterCallback && !this.#targetFilterCallback(target)) {
+            this.#ignoredTargets.add(targetInfo.targetId);
+            this.#finishInitializationIfReady(targetInfo.targetId);
+            await silentDetach();
+            return;
+        }
+        if (!existingTarget) {
+            target._initialize();
+        }
+        this.#setupAttachmentListeners(session);
+        if (existingTarget) {
+            this.#attachedTargetsBySessionId.set(session.id(), this.#attachedTargetsByTargetId.get(targetInfo.targetId));
+        }
+        else {
+            this.#attachedTargetsByTargetId.set(targetInfo.targetId, target);
+            this.#attachedTargetsBySessionId.set(session.id(), target);
+        }
+        for (const interceptor of this.#targetInterceptors.get(parentSession) ||
+            []) {
+            if (!(parentSession instanceof Connection)) {
+                // Sanity check: if parent session is not a connection, it should be
+                // present in #attachedTargetsBySessionId.
+                assert(this.#attachedTargetsBySessionId.has(parentSession.id()));
+            }
+            interceptor(target, parentSession instanceof Connection
+                ? null
+                : this.#attachedTargetsBySessionId.get(parentSession.id()));
+        }
+        this.#targetsIdsForInit.delete(target._targetId);
+        if (!existingTarget) {
+            this.emit("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, target);
+        }
+        this.#finishInitializationIfReady();
+        // TODO: the browser might be shutting down here. What do we do with the
+        // error?
+        await Promise.all([
+            session.send('Target.setAutoAttach', {
+                waitForDebuggerOnStart: true,
+                flatten: true,
+                autoAttach: true,
+            }),
+            session.send('Runtime.runIfWaitingForDebugger'),
+        ]).catch(debugError);
+    };
+    #finishInitializationIfReady(targetId) {
+        targetId !== undefined && this.#targetsIdsForInit.delete(targetId);
+        if (this.#targetsIdsForInit.size === 0) {
+            this.#initializeDeferred.resolve();
+        }
+    }
+    #onDetachedFromTarget = (_parentSession, event) => {
+        const target = this.#attachedTargetsBySessionId.get(event.sessionId);
+        this.#attachedTargetsBySessionId.delete(event.sessionId);
+        if (!target) {
+            return;
+        }
+        this.#attachedTargetsByTargetId.delete(target._targetId);
+        this.emit("targetGone" /* TargetManagerEmittedEvents.TargetGone */, target);
+    };
 }
-_ChromeTargetManager_connection = new WeakMap(), _ChromeTargetManager_discoveredTargetsByTargetId = new WeakMap(), _ChromeTargetManager_attachedTargetsByTargetId = new WeakMap(), _ChromeTargetManager_attachedTargetsBySessionId = new WeakMap(), _ChromeTargetManager_ignoredTargets = new WeakMap(), _ChromeTargetManager_targetFilterCallback = new WeakMap(), _ChromeTargetManager_targetFactory = new WeakMap(), _ChromeTargetManager_targetInterceptors = new WeakMap(), _ChromeTargetManager_attachedToTargetListenersBySession = new WeakMap(), _ChromeTargetManager_detachedFromTargetListenersBySession = new WeakMap(), _ChromeTargetManager_initializeDeferred = new WeakMap(), _ChromeTargetManager_targetsIdsForInit = new WeakMap(), _ChromeTargetManager_storeExistingTargetsForInit = new WeakMap(), _ChromeTargetManager_onSessionDetached = new WeakMap(), _ChromeTargetManager_onTargetCreated = new WeakMap(), _ChromeTargetManager_onTargetDestroyed = new WeakMap(), _ChromeTargetManager_onTargetInfoChanged = new WeakMap(), _ChromeTargetManager_onAttachedToTarget = new WeakMap(), _ChromeTargetManager_onDetachedFromTarget = new WeakMap(), _ChromeTargetManager_instances = new WeakSet(), _ChromeTargetManager_setupAttachmentListeners = function _ChromeTargetManager_setupAttachmentListeners(session) {
-    const listener = (event) => {
-        return __classPrivateFieldGet(this, _ChromeTargetManager_onAttachedToTarget, "f").call(this, session, event);
-    };
-    assert(!__classPrivateFieldGet(this, _ChromeTargetManager_attachedToTargetListenersBySession, "f").has(session));
-    __classPrivateFieldGet(this, _ChromeTargetManager_attachedToTargetListenersBySession, "f").set(session, listener);
-    session.on('Target.attachedToTarget', listener);
-    const detachedListener = (event) => {
-        return __classPrivateFieldGet(this, _ChromeTargetManager_onDetachedFromTarget, "f").call(this, session, event);
-    };
-    assert(!__classPrivateFieldGet(this, _ChromeTargetManager_detachedFromTargetListenersBySession, "f").has(session));
-    __classPrivateFieldGet(this, _ChromeTargetManager_detachedFromTargetListenersBySession, "f").set(session, detachedListener);
-    session.on('Target.detachedFromTarget', detachedListener);
-}, _ChromeTargetManager_removeAttachmentListeners = function _ChromeTargetManager_removeAttachmentListeners(session) {
-    if (__classPrivateFieldGet(this, _ChromeTargetManager_attachedToTargetListenersBySession, "f").has(session)) {
-        session.off('Target.attachedToTarget', __classPrivateFieldGet(this, _ChromeTargetManager_attachedToTargetListenersBySession, "f").get(session));
-        __classPrivateFieldGet(this, _ChromeTargetManager_attachedToTargetListenersBySession, "f").delete(session);
-    }
-    if (__classPrivateFieldGet(this, _ChromeTargetManager_detachedFromTargetListenersBySession, "f").has(session)) {
-        session.off('Target.detachedFromTarget', __classPrivateFieldGet(this, _ChromeTargetManager_detachedFromTargetListenersBySession, "f").get(session));
-        __classPrivateFieldGet(this, _ChromeTargetManager_detachedFromTargetListenersBySession, "f").delete(session);
-    }
-}, _ChromeTargetManager_finishInitializationIfReady = function _ChromeTargetManager_finishInitializationIfReady(targetId) {
-    targetId !== undefined && __classPrivateFieldGet(this, _ChromeTargetManager_targetsIdsForInit, "f").delete(targetId);
-    if (__classPrivateFieldGet(this, _ChromeTargetManager_targetsIdsForInit, "f").size === 0) {
-        __classPrivateFieldGet(this, _ChromeTargetManager_initializeDeferred, "f").resolve();
-    }
-};
 //# sourceMappingURL=ChromeTargetManager.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ChromeTargetManager.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ChromeTargetManager.js.map
index 6c02624..f77ef4d 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ChromeTargetManager.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ChromeTargetManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"ChromeTargetManager.js","sourceRoot":"","sources":["../../../../src/common/ChromeTargetManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ChromeTargetManager.js","sourceRoot":"","sources":["../../../../src/common/ChromeTargetManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.js
index 30fa5d9..7dd034b 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Callback_id, _Callback_error, _Callback_deferred, _Callback_timer, _Callback_label, _CallbackRegistry_callbacks, _CallbackRegistry_idGenerator, _Connection_instances, _Connection_url, _Connection_transport, _Connection_delay, _Connection_timeout, _Connection_sessions, _Connection_closed, _Connection_manuallyAttached, _Connection_callbacks, _Connection_onClose, _CDPSessionImpl_sessionId, _CDPSessionImpl_targetType, _CDPSessionImpl_callbacks, _CDPSessionImpl_connection;
 import { assert } from '../util/assert.js';
 import { Deferred } from '../util/Deferred.js';
 import { debug } from './Debug.js';
@@ -54,55 +42,52 @@
  * @internal
  */
 export class Callback {
+    #id;
+    #error = new ProtocolError();
+    #deferred = Deferred.create();
+    #timer;
+    #label;
     constructor(id, label, timeout) {
-        _Callback_id.set(this, void 0);
-        _Callback_error.set(this, new ProtocolError());
-        _Callback_deferred.set(this, Deferred.create());
-        _Callback_timer.set(this, void 0);
-        _Callback_label.set(this, void 0);
-        __classPrivateFieldSet(this, _Callback_id, id, "f");
-        __classPrivateFieldSet(this, _Callback_label, label, "f");
+        this.#id = id;
+        this.#label = label;
         if (timeout) {
-            __classPrivateFieldSet(this, _Callback_timer, setTimeout(() => {
-                __classPrivateFieldGet(this, _Callback_deferred, "f").reject(rewriteError(__classPrivateFieldGet(this, _Callback_error, "f"), `${label} timed out. Increase the 'protocolTimeout' setting in launch/connect calls for a higher timeout if needed.`));
-            }, timeout), "f");
+            this.#timer = setTimeout(() => {
+                this.#deferred.reject(rewriteError(this.#error, `${label} timed out. Increase the 'protocolTimeout' setting in launch/connect calls for a higher timeout if needed.`));
+            }, timeout);
         }
     }
     resolve(value) {
-        clearTimeout(__classPrivateFieldGet(this, _Callback_timer, "f"));
-        __classPrivateFieldGet(this, _Callback_deferred, "f").resolve(value);
+        clearTimeout(this.#timer);
+        this.#deferred.resolve(value);
     }
     reject(error) {
-        clearTimeout(__classPrivateFieldGet(this, _Callback_timer, "f"));
-        __classPrivateFieldGet(this, _Callback_deferred, "f").reject(error);
+        clearTimeout(this.#timer);
+        this.#deferred.reject(error);
     }
     get id() {
-        return __classPrivateFieldGet(this, _Callback_id, "f");
+        return this.#id;
     }
     get promise() {
-        return __classPrivateFieldGet(this, _Callback_deferred, "f");
+        return this.#deferred;
     }
     get error() {
-        return __classPrivateFieldGet(this, _Callback_error, "f");
+        return this.#error;
     }
     get label() {
-        return __classPrivateFieldGet(this, _Callback_label, "f");
+        return this.#label;
     }
 }
-_Callback_id = new WeakMap(), _Callback_error = new WeakMap(), _Callback_deferred = new WeakMap(), _Callback_timer = new WeakMap(), _Callback_label = new WeakMap();
 /**
  * Manages callbacks and their IDs for the protocol request/response communication.
  *
  * @internal
  */
 export class CallbackRegistry {
-    constructor() {
-        _CallbackRegistry_callbacks.set(this, new Map());
-        _CallbackRegistry_idGenerator.set(this, createIncrementalIdGenerator());
-    }
+    #callbacks = new Map();
+    #idGenerator = createIncrementalIdGenerator();
     create(label, timeout, request) {
-        const callback = new Callback(__classPrivateFieldGet(this, _CallbackRegistry_idGenerator, "f").call(this), label, timeout);
-        __classPrivateFieldGet(this, _CallbackRegistry_callbacks, "f").set(callback.id, callback);
+        const callback = new Callback(this.#idGenerator(), label, timeout);
+        this.#callbacks.set(callback.id, callback);
         try {
             request(callback.id);
         }
@@ -113,18 +98,18 @@
                 .valueOrThrow()
                 .catch(debugError)
                 .finally(() => {
-                __classPrivateFieldGet(this, _CallbackRegistry_callbacks, "f").delete(callback.id);
+                this.#callbacks.delete(callback.id);
             });
             callback.reject(error);
             throw error;
         }
         // Must only have sync code up until here.
         return callback.promise.valueOrThrow().finally(() => {
-            __classPrivateFieldGet(this, _CallbackRegistry_callbacks, "f").delete(callback.id);
+            this.#callbacks.delete(callback.id);
         });
     }
     reject(id, message, originalMessage) {
-        const callback = __classPrivateFieldGet(this, _CallbackRegistry_callbacks, "f").get(id);
+        const callback = this.#callbacks.get(id);
         if (!callback) {
             return;
         }
@@ -137,70 +122,68 @@
         callback.reject(rewriteError(error, `Protocol error (${callback.label}): ${message}`, originalMessage));
     }
     resolve(id, value) {
-        const callback = __classPrivateFieldGet(this, _CallbackRegistry_callbacks, "f").get(id);
+        const callback = this.#callbacks.get(id);
         if (!callback) {
             return;
         }
         callback.resolve(value);
     }
     clear() {
-        for (const callback of __classPrivateFieldGet(this, _CallbackRegistry_callbacks, "f").values()) {
+        for (const callback of this.#callbacks.values()) {
             // TODO: probably we can accept error messages as params.
             this._reject(callback, new TargetCloseError('Target closed'));
         }
-        __classPrivateFieldGet(this, _CallbackRegistry_callbacks, "f").clear();
+        this.#callbacks.clear();
     }
 }
-_CallbackRegistry_callbacks = new WeakMap(), _CallbackRegistry_idGenerator = new WeakMap();
 /**
  * @public
  */
 export class Connection extends EventEmitter {
+    #url;
+    #transport;
+    #delay;
+    #timeout;
+    #sessions = new Map();
+    #closed = false;
+    #manuallyAttached = new Set();
+    #callbacks = new CallbackRegistry();
     constructor(url, transport, delay = 0, timeout) {
         super();
-        _Connection_instances.add(this);
-        _Connection_url.set(this, void 0);
-        _Connection_transport.set(this, void 0);
-        _Connection_delay.set(this, void 0);
-        _Connection_timeout.set(this, void 0);
-        _Connection_sessions.set(this, new Map());
-        _Connection_closed.set(this, false);
-        _Connection_manuallyAttached.set(this, new Set());
-        _Connection_callbacks.set(this, new CallbackRegistry());
-        __classPrivateFieldSet(this, _Connection_url, url, "f");
-        __classPrivateFieldSet(this, _Connection_delay, delay, "f");
-        __classPrivateFieldSet(this, _Connection_timeout, timeout ?? 180000, "f");
-        __classPrivateFieldSet(this, _Connection_transport, transport, "f");
-        __classPrivateFieldGet(this, _Connection_transport, "f").onmessage = this.onMessage.bind(this);
-        __classPrivateFieldGet(this, _Connection_transport, "f").onclose = __classPrivateFieldGet(this, _Connection_instances, "m", _Connection_onClose).bind(this);
+        this.#url = url;
+        this.#delay = delay;
+        this.#timeout = timeout ?? 180000;
+        this.#transport = transport;
+        this.#transport.onmessage = this.onMessage.bind(this);
+        this.#transport.onclose = this.#onClose.bind(this);
     }
     static fromSession(session) {
         return session.connection();
     }
     get timeout() {
-        return __classPrivateFieldGet(this, _Connection_timeout, "f");
+        return this.#timeout;
     }
     /**
      * @internal
      */
     get _closed() {
-        return __classPrivateFieldGet(this, _Connection_closed, "f");
+        return this.#closed;
     }
     /**
      * @internal
      */
     get _sessions() {
-        return __classPrivateFieldGet(this, _Connection_sessions, "f");
+        return this.#sessions;
     }
     /**
      * @param sessionId - The session id
      * @returns The current CDP session if it exists
      */
     session(sessionId) {
-        return __classPrivateFieldGet(this, _Connection_sessions, "f").get(sessionId) || null;
+        return this.#sessions.get(sessionId) || null;
     }
     url() {
-        return __classPrivateFieldGet(this, _Connection_url, "f");
+        return this.#url;
     }
     send(method, ...paramArgs) {
         // There is only ever 1 param arg passed, but the Protocol defines it as an
@@ -210,13 +193,13 @@
         // type-inference.
         // So now we check if there are any params or not and deal with them accordingly.
         const params = paramArgs.length ? paramArgs[0] : undefined;
-        return this._rawSend(__classPrivateFieldGet(this, _Connection_callbacks, "f"), method, params);
+        return this._rawSend(this.#callbacks, method, params);
     }
     /**
      * @internal
      */
     _rawSend(callbacks, method, params, sessionId) {
-        return callbacks.create(method, __classPrivateFieldGet(this, _Connection_timeout, "f"), id => {
+        return callbacks.create(method, this.#timeout, id => {
             const stringifiedMessage = JSON.stringify({
                 method,
                 params,
@@ -224,7 +207,7 @@
                 sessionId,
             });
             debugProtocolSend(stringifiedMessage);
-            __classPrivateFieldGet(this, _Connection_transport, "f").send(stringifiedMessage);
+            this.#transport.send(stringifiedMessage);
         });
     }
     /**
@@ -237,9 +220,9 @@
      * @internal
      */
     async onMessage(message) {
-        if (__classPrivateFieldGet(this, _Connection_delay, "f")) {
+        if (this.#delay) {
             await new Promise(f => {
-                return setTimeout(f, __classPrivateFieldGet(this, _Connection_delay, "f"));
+                return setTimeout(f, this.#delay);
             });
         }
         debugProtocolReceive(message);
@@ -247,66 +230,80 @@
         if (object.method === 'Target.attachedToTarget') {
             const sessionId = object.params.sessionId;
             const session = new CDPSessionImpl(this, object.params.targetInfo.type, sessionId);
-            __classPrivateFieldGet(this, _Connection_sessions, "f").set(sessionId, session);
+            this.#sessions.set(sessionId, session);
             this.emit('sessionattached', session);
-            const parentSession = __classPrivateFieldGet(this, _Connection_sessions, "f").get(object.sessionId);
+            const parentSession = this.#sessions.get(object.sessionId);
             if (parentSession) {
                 parentSession.emit('sessionattached', session);
             }
         }
         else if (object.method === 'Target.detachedFromTarget') {
-            const session = __classPrivateFieldGet(this, _Connection_sessions, "f").get(object.params.sessionId);
+            const session = this.#sessions.get(object.params.sessionId);
             if (session) {
                 session._onClosed();
-                __classPrivateFieldGet(this, _Connection_sessions, "f").delete(object.params.sessionId);
+                this.#sessions.delete(object.params.sessionId);
                 this.emit('sessiondetached', session);
-                const parentSession = __classPrivateFieldGet(this, _Connection_sessions, "f").get(object.sessionId);
+                const parentSession = this.#sessions.get(object.sessionId);
                 if (parentSession) {
                     parentSession.emit('sessiondetached', session);
                 }
             }
         }
         if (object.sessionId) {
-            const session = __classPrivateFieldGet(this, _Connection_sessions, "f").get(object.sessionId);
+            const session = this.#sessions.get(object.sessionId);
             if (session) {
                 session._onMessage(object);
             }
         }
         else if (object.id) {
             if (object.error) {
-                __classPrivateFieldGet(this, _Connection_callbacks, "f").reject(object.id, createProtocolErrorMessage(object), object.error.message);
+                this.#callbacks.reject(object.id, createProtocolErrorMessage(object), object.error.message);
             }
             else {
-                __classPrivateFieldGet(this, _Connection_callbacks, "f").resolve(object.id, object.result);
+                this.#callbacks.resolve(object.id, object.result);
             }
         }
         else {
             this.emit(object.method, object.params);
         }
     }
+    #onClose() {
+        if (this.#closed) {
+            return;
+        }
+        this.#closed = true;
+        this.#transport.onmessage = undefined;
+        this.#transport.onclose = undefined;
+        this.#callbacks.clear();
+        for (const session of this.#sessions.values()) {
+            session._onClosed();
+        }
+        this.#sessions.clear();
+        this.emit(ConnectionEmittedEvents.Disconnected);
+    }
     dispose() {
-        __classPrivateFieldGet(this, _Connection_instances, "m", _Connection_onClose).call(this);
-        __classPrivateFieldGet(this, _Connection_transport, "f").close();
+        this.#onClose();
+        this.#transport.close();
     }
     /**
      * @internal
      */
     isAutoAttached(targetId) {
-        return !__classPrivateFieldGet(this, _Connection_manuallyAttached, "f").has(targetId);
+        return !this.#manuallyAttached.has(targetId);
     }
     /**
      * @internal
      */
     async _createSession(targetInfo, isAutoAttachEmulated = true) {
         if (!isAutoAttachEmulated) {
-            __classPrivateFieldGet(this, _Connection_manuallyAttached, "f").add(targetInfo.targetId);
+            this.#manuallyAttached.add(targetInfo.targetId);
         }
         const { sessionId } = await this.send('Target.attachToTarget', {
             targetId: targetInfo.targetId,
             flatten: true,
         });
-        __classPrivateFieldGet(this, _Connection_manuallyAttached, "f").delete(targetInfo.targetId);
-        const session = __classPrivateFieldGet(this, _Connection_sessions, "f").get(sessionId);
+        this.#manuallyAttached.delete(targetInfo.targetId);
+        const session = this.#sessions.get(sessionId);
         if (!session) {
             throw new Error('CDPSession creation failed.');
         }
@@ -320,20 +317,6 @@
         return await this._createSession(targetInfo, false);
     }
 }
-_Connection_url = new WeakMap(), _Connection_transport = new WeakMap(), _Connection_delay = new WeakMap(), _Connection_timeout = new WeakMap(), _Connection_sessions = new WeakMap(), _Connection_closed = new WeakMap(), _Connection_manuallyAttached = new WeakMap(), _Connection_callbacks = new WeakMap(), _Connection_instances = new WeakSet(), _Connection_onClose = function _Connection_onClose() {
-    if (__classPrivateFieldGet(this, _Connection_closed, "f")) {
-        return;
-    }
-    __classPrivateFieldSet(this, _Connection_closed, true, "f");
-    __classPrivateFieldGet(this, _Connection_transport, "f").onmessage = undefined;
-    __classPrivateFieldGet(this, _Connection_transport, "f").onclose = undefined;
-    __classPrivateFieldGet(this, _Connection_callbacks, "f").clear();
-    for (const session of __classPrivateFieldGet(this, _Connection_sessions, "f").values()) {
-        session._onClosed();
-    }
-    __classPrivateFieldGet(this, _Connection_sessions, "f").clear();
-    this.emit(ConnectionEmittedEvents.Disconnected);
-};
 /**
  * Internal events that the CDPSession class emits.
  *
@@ -401,29 +384,29 @@
  * @internal
  */
 export class CDPSessionImpl extends CDPSession {
+    #sessionId;
+    #targetType;
+    #callbacks = new CallbackRegistry();
+    #connection;
     /**
      * @internal
      */
     constructor(connection, targetType, sessionId) {
         super();
-        _CDPSessionImpl_sessionId.set(this, void 0);
-        _CDPSessionImpl_targetType.set(this, void 0);
-        _CDPSessionImpl_callbacks.set(this, new CallbackRegistry());
-        _CDPSessionImpl_connection.set(this, void 0);
-        __classPrivateFieldSet(this, _CDPSessionImpl_connection, connection, "f");
-        __classPrivateFieldSet(this, _CDPSessionImpl_targetType, targetType, "f");
-        __classPrivateFieldSet(this, _CDPSessionImpl_sessionId, sessionId, "f");
+        this.#connection = connection;
+        this.#targetType = targetType;
+        this.#sessionId = sessionId;
     }
     connection() {
-        return __classPrivateFieldGet(this, _CDPSessionImpl_connection, "f");
+        return this.#connection;
     }
     send(method, ...paramArgs) {
-        if (!__classPrivateFieldGet(this, _CDPSessionImpl_connection, "f")) {
-            return Promise.reject(new TargetCloseError(`Protocol error (${method}): Session closed. Most likely the ${__classPrivateFieldGet(this, _CDPSessionImpl_targetType, "f")} has been closed.`));
+        if (!this.#connection) {
+            return Promise.reject(new TargetCloseError(`Protocol error (${method}): Session closed. Most likely the ${this.#targetType} has been closed.`));
         }
         // See the comment in Connection#send explaining why we do this.
         const params = paramArgs.length ? paramArgs[0] : undefined;
-        return __classPrivateFieldGet(this, _CDPSessionImpl_connection, "f")._rawSend(__classPrivateFieldGet(this, _CDPSessionImpl_callbacks, "f"), method, params, __classPrivateFieldGet(this, _CDPSessionImpl_sessionId, "f"));
+        return this.#connection._rawSend(this.#callbacks, method, params, this.#sessionId);
     }
     /**
      * @internal
@@ -431,10 +414,10 @@
     _onMessage(object) {
         if (object.id) {
             if (object.error) {
-                __classPrivateFieldGet(this, _CDPSessionImpl_callbacks, "f").reject(object.id, createProtocolErrorMessage(object), object.error.message);
+                this.#callbacks.reject(object.id, createProtocolErrorMessage(object), object.error.message);
             }
             else {
-                __classPrivateFieldGet(this, _CDPSessionImpl_callbacks, "f").resolve(object.id, object.result);
+                this.#callbacks.resolve(object.id, object.result);
             }
         }
         else {
@@ -447,29 +430,28 @@
      * won't emit any events and can't be used to send messages.
      */
     async detach() {
-        if (!__classPrivateFieldGet(this, _CDPSessionImpl_connection, "f")) {
-            throw new Error(`Session already detached. Most likely the ${__classPrivateFieldGet(this, _CDPSessionImpl_targetType, "f")} has been closed.`);
+        if (!this.#connection) {
+            throw new Error(`Session already detached. Most likely the ${this.#targetType} has been closed.`);
         }
-        await __classPrivateFieldGet(this, _CDPSessionImpl_connection, "f").send('Target.detachFromTarget', {
-            sessionId: __classPrivateFieldGet(this, _CDPSessionImpl_sessionId, "f"),
+        await this.#connection.send('Target.detachFromTarget', {
+            sessionId: this.#sessionId,
         });
     }
     /**
      * @internal
      */
     _onClosed() {
-        __classPrivateFieldGet(this, _CDPSessionImpl_callbacks, "f").clear();
-        __classPrivateFieldSet(this, _CDPSessionImpl_connection, undefined, "f");
+        this.#callbacks.clear();
+        this.#connection = undefined;
         this.emit(CDPSessionEmittedEvents.Disconnected);
     }
     /**
      * Returns the session's id.
      */
     id() {
-        return __classPrivateFieldGet(this, _CDPSessionImpl_sessionId, "f");
+        return this.#sessionId;
     }
 }
-_CDPSessionImpl_sessionId = new WeakMap(), _CDPSessionImpl_targetType = new WeakMap(), _CDPSessionImpl_callbacks = new WeakMap(), _CDPSessionImpl_connection = new WeakMap();
 function createProtocolErrorMessage(object) {
     let message = `${object.error.message}`;
     // TODO: remove the type checks when we stop connecting to BiDi with a CDP
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.js.map
index 682306a..7844287 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.js.map
@@ -1 +1 @@
-{"version":3,"file":"Connection.js","sourceRoot":"","sources":["../../../../src/common/Connection.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Connection.js","sourceRoot":"","sources":["../../../../src/common/Connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAG7C,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AACjC,OAAO,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AAErC,MAAM,iBAAiB,GAAG,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC7D,MAAM,oBAAoB,GAAG,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAOhE;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,YAAY,EAAE,MAAM,CAAC,yBAAyB,CAAC;CACvC,CAAC;AAOX;;GAEG;AACH,SAAS,4BAA4B;IACnC,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,OAAO,GAAW,EAAE;QAClB,OAAO,EAAE,EAAE,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,QAAQ;IACnB,GAAG,CAAS;IACZ,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IAC7B,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAW,CAAC;IACvC,MAAM,CAAiC;IACvC,MAAM,CAAS;IAEf,YAAY,EAAU,EAAE,KAAa,EAAE,OAAgB;QACrD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CACnB,YAAY,CACV,IAAI,CAAC,MAAM,EACX,GAAG,KAAK,4GAA4G,CACrH,CACF,CAAC;YACJ,CAAC,EAAE,OAAO,CAAC,CAAC;SACb;IACH,CAAC;IAED,OAAO,CAAC,KAAc;QACpB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,KAAY;QACjB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IAC3B,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,YAAY,GAAG,4BAA4B,EAAE,CAAC;IAE9C,MAAM,CACJ,KAAa,EACb,OAA2B,EAC3B,OAA6B;QAE7B,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI;YACF,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SACtB;QAAC,OAAO,KAAK,EAAE;YACd,sEAAsE;YACtE,YAAY;YACZ,QAAQ,CAAC,OAAO;iBACb,YAAY,EAAE;iBACd,KAAK,CAAC,UAAU,CAAC;iBACjB,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YACL,QAAQ,CAAC,MAAM,CAAC,KAAc,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC;SACb;QACD,0CAA0C;QAC1C,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAClD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,EAAU,EAAE,OAAe,EAAE,eAAwB;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CACL,QAAkB,EAClB,YAAoC,EACpC,eAAwB;QAExB,MAAM,OAAO,GAAG,YAAY,YAAY,aAAa,CAAC;QACtD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;QAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;QAEtD,QAAQ,CAAC,MAAM,CACb,YAAY,CACV,KAAK,EACL,mBAAmB,QAAQ,CAAC,KAAK,MAAM,OAAO,EAAE,EAChD,eAAe,CAChB,CACF,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,EAAU,EAAE,KAAc;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;YAC/C,yDAAyD;YACzD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;SAC/D;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,YAAY;IAC1C,IAAI,CAAS;IACb,UAAU,CAAsB;IAChC,MAAM,CAAS;IACf,QAAQ,CAAS;IACjB,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC9C,OAAO,GAAG,KAAK,CAAC;IAChB,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;IACtC,UAAU,GAAG,IAAI,gBAAgB,EAAE,CAAC;IAEpC,YACE,GAAW,EACX,SAA8B,EAC9B,KAAK,GAAG,CAAC,EACT,OAAgB;QAEhB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,MAAO,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,OAAmB;QACpC,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,SAAiB;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IAC/C,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,CACF,MAAS,EACT,GAAG,SAAoD;QAEvD,2EAA2E;QAC3E,0CAA0C;QAC1C,sFAAsF;QACtF,yEAAyE;QACzE,kBAAkB;QAClB,iFAAiF;QACjF,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,QAAQ,CACN,SAA2B,EAC3B,MAAS,EACT,MAAoD,EACpD,SAAkB;QAElB,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE;YAClD,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;gBACxC,MAAM;gBACN,MAAM;gBACN,EAAE;gBACF,SAAS;aACV,CAAC,CAAC;YACH,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC3C,CAAC,CAAuD,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,SAAS,CAAC,OAAe;QACvC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;gBACpB,OAAO,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;SACJ;QACD,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,MAAM,CAAC,MAAM,KAAK,yBAAyB,EAAE;YAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;YAC1C,MAAM,OAAO,GAAG,IAAI,cAAc,CAChC,IAAI,EACJ,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAC7B,SAAS,CACV,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;YACtC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,aAAa,EAAE;gBACjB,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;aAChD;SACF;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,2BAA2B,EAAE;YACxD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC/C,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;gBACtC,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC3D,IAAI,aAAa,EAAE;oBACjB,aAAa,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;iBAChD;aACF;SACF;QACD,IAAI,MAAM,CAAC,SAAS,EAAE;YACpB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aAC5B;SACF;aAAM,IAAI,MAAM,CAAC,EAAE,EAAE;YACpB,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,IAAI,CAAC,UAAU,CAAC,MAAM,CACpB,MAAM,CAAC,EAAE,EACT,0BAA0B,CAAC,MAAM,CAAC,EAClC,MAAM,CAAC,KAAK,CAAC,OAAO,CACrB,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;aACnD;SACF;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;SACzC;IACH,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO;SACR;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE;YAC7C,OAAO,CAAC,SAAS,EAAE,CAAC;SACrB;QACD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,QAAgB;QAC7B,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,UAAsC,EACtC,oBAAoB,GAAG,IAAI;QAE3B,IAAI,CAAC,oBAAoB,EAAE;YACzB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;SACjD;QACD,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAC3D,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;SAChD;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CACjB,UAAsC;QAEtC,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;CACF;AAaD;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,YAAY,EAAE,MAAM,CAAC,yBAAyB,CAAC;CACvC,CAAC;AAEX;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,OAAO,UAAW,SAAQ,YAAY;IAC1C;;OAEG;IACH;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,UAAU;QACR,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAMD,IAAI;QAGF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,EAAE;QACA,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,UAAU;IAC5C,UAAU,CAAS;IACnB,WAAW,CAAS;IACpB,UAAU,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACpC,WAAW,CAAc;IAEzB;;OAEG;IACH,YAAY,UAAsB,EAAE,UAAkB,EAAE,SAAiB;QACvE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAEQ,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEQ,IAAI,CACX,MAAS,EACT,GAAG,SAAoD;QAEvD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,gBAAgB,CAClB,mBAAmB,MAAM,sCACvB,IAAI,CAAC,WACP,mBAAmB,CACpB,CACF,CAAC;SACH;QACD,gEAAgE;QAChE,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAC9B,IAAI,CAAC,UAAU,EACf,MAAM,EACN,MAAM,EACN,IAAI,CAAC,UAAU,CAChB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,MAAiC;QAC1C,IAAI,MAAM,CAAC,EAAE,EAAE;YACb,IAAI,MAAM,CAAC,KAAK,EAAE;gBAChB,IAAI,CAAC,UAAU,CAAC,MAAM,CACpB,MAAM,CAAC,EAAE,EACT,0BAA0B,CAAC,MAAM,CAAC,EAClC,MAAM,CAAC,KAAK,CAAC,OAAO,CACrB,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;aACnD;SACF;aAAM;YACL,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;SACzC;IACH,CAAC;IAED;;;OAGG;IACM,KAAK,CAAC,MAAM;QACnB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,MAAM,IAAI,KAAK,CACb,6CACE,IAAI,CAAC,WACP,mBAAmB,CACpB,CAAC;SACH;QACD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,yBAAyB,EAAE;YACrD,SAAS,EAAE,IAAI,CAAC,UAAU;SAC3B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,SAAS;QACP,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACM,EAAE;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AAED,SAAS,0BAA0B,CAAC,MAEnC;IACC,IAAI,OAAO,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACxC,0EAA0E;IAC1E,UAAU;IACV,IACE,MAAM,CAAC,KAAK;QACZ,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QAChC,MAAM,IAAI,MAAM,CAAC,KAAK,EACtB;QACA,OAAO,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KACpC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CACnB,KAAoB,EACpB,OAAe,EACf,eAAwB;IAExB,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,KAAK,CAAC,eAAe,GAAG,eAAe,IAAI,KAAK,CAAC,eAAe,CAAC;IACjE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAY;IAC9C,OAAO,KAAK,YAAY,gBAAgB,CAAC;AAC3C,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.js
index 8c721e1..7a7867f 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.js
@@ -13,66 +13,53 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _ConsoleMessage_type, _ConsoleMessage_text, _ConsoleMessage_args, _ConsoleMessage_stackTraceLocations;
 /**
  * ConsoleMessage objects are dispatched by page via the 'console' event.
  * @public
  */
 export class ConsoleMessage {
+    #type;
+    #text;
+    #args;
+    #stackTraceLocations;
     /**
      * @public
      */
     constructor(type, text, args, stackTraceLocations) {
-        _ConsoleMessage_type.set(this, void 0);
-        _ConsoleMessage_text.set(this, void 0);
-        _ConsoleMessage_args.set(this, void 0);
-        _ConsoleMessage_stackTraceLocations.set(this, void 0);
-        __classPrivateFieldSet(this, _ConsoleMessage_type, type, "f");
-        __classPrivateFieldSet(this, _ConsoleMessage_text, text, "f");
-        __classPrivateFieldSet(this, _ConsoleMessage_args, args, "f");
-        __classPrivateFieldSet(this, _ConsoleMessage_stackTraceLocations, stackTraceLocations, "f");
+        this.#type = type;
+        this.#text = text;
+        this.#args = args;
+        this.#stackTraceLocations = stackTraceLocations;
     }
     /**
      * The type of the console message.
      */
     type() {
-        return __classPrivateFieldGet(this, _ConsoleMessage_type, "f");
+        return this.#type;
     }
     /**
      * The text of the console message.
      */
     text() {
-        return __classPrivateFieldGet(this, _ConsoleMessage_text, "f");
+        return this.#text;
     }
     /**
      * An array of arguments passed to the console.
      */
     args() {
-        return __classPrivateFieldGet(this, _ConsoleMessage_args, "f");
+        return this.#args;
     }
     /**
      * The location of the console message.
      */
     location() {
-        return __classPrivateFieldGet(this, _ConsoleMessage_stackTraceLocations, "f")[0] ?? {};
+        return this.#stackTraceLocations[0] ?? {};
     }
     /**
      * The array of locations on the stack of the console message.
      */
     stackTrace() {
-        return __classPrivateFieldGet(this, _ConsoleMessage_stackTraceLocations, "f");
+        return this.#stackTraceLocations;
     }
 }
-_ConsoleMessage_type = new WeakMap(), _ConsoleMessage_text = new WeakMap(), _ConsoleMessage_args = new WeakMap(), _ConsoleMessage_stackTraceLocations = new WeakMap();
 //# sourceMappingURL=ConsoleMessage.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.js.map
index c60e406..ed54fff 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.js.map
@@ -1 +1 @@
-{"version":3,"file":"ConsoleMessage.js","sourceRoot":"","sources":["../../../../src/common/ConsoleMessage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;AAiDH;;;GAGG;AACH,MAAM,OAAO,cAAc;IAMzB;;OAEG;IACH,YACE,IAAwB,EACxB,IAAY,EACZ,IAAgB,EAChB,mBAA6C;QAZ/C,uCAA0B;QAC1B,uCAAc;QACd,uCAAkB;QAClB,sDAA+C;QAW7C,uBAAA,IAAI,wBAAS,IAAI,MAAA,CAAC;QAClB,uBAAA,IAAI,wBAAS,IAAI,MAAA,CAAC;QAClB,uBAAA,IAAI,wBAAS,IAAI,MAAA,CAAC;QAClB,uBAAA,IAAI,uCAAwB,mBAAmB,MAAA,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,uBAAA,IAAI,4BAAM,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,uBAAA,IAAI,4BAAM,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,uBAAA,IAAI,4BAAM,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,uBAAA,IAAI,2CAAqB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,uBAAA,IAAI,2CAAqB,CAAC;IACnC,CAAC;CACF"}
\ No newline at end of file
+{"version":3,"file":"ConsoleMessage.js","sourceRoot":"","sources":["../../../../src/common/ConsoleMessage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAiDH;;;GAGG;AACH,MAAM,OAAO,cAAc;IACzB,KAAK,CAAqB;IAC1B,KAAK,CAAS;IACd,KAAK,CAAa;IAClB,oBAAoB,CAA2B;IAE/C;;OAEG;IACH,YACE,IAAwB,EACxB,IAAY,EACZ,IAAgB,EAChB,mBAA6C;QAE7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.js
index 88ffb64..c89b0a9 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Coverage_jsCoverage, _Coverage_cssCoverage, _JSCoverage_instances, _JSCoverage_client, _JSCoverage_enabled, _JSCoverage_scriptURLs, _JSCoverage_scriptSources, _JSCoverage_eventListeners, _JSCoverage_resetOnNavigation, _JSCoverage_reportAnonymousScripts, _JSCoverage_includeRawScriptCoverage, _JSCoverage_onExecutionContextsCleared, _JSCoverage_onScriptParsed, _CSSCoverage_instances, _CSSCoverage_client, _CSSCoverage_enabled, _CSSCoverage_stylesheetURLs, _CSSCoverage_stylesheetSources, _CSSCoverage_eventListeners, _CSSCoverage_resetOnNavigation, _CSSCoverage_onExecutionContextsCleared, _CSSCoverage_onStyleSheet;
 import { assert } from '../util/assert.js';
 import { addEventListener, debugError, PuppeteerURL, removeEventListeners, } from './util.js';
 /**
@@ -65,11 +53,11 @@
  * @public
  */
 export class Coverage {
+    #jsCoverage;
+    #cssCoverage;
     constructor(client) {
-        _Coverage_jsCoverage.set(this, void 0);
-        _Coverage_cssCoverage.set(this, void 0);
-        __classPrivateFieldSet(this, _Coverage_jsCoverage, new JSCoverage(client), "f");
-        __classPrivateFieldSet(this, _Coverage_cssCoverage, new CSSCoverage(client), "f");
+        this.#jsCoverage = new JSCoverage(client);
+        this.#cssCoverage = new CSSCoverage(client);
     }
     /**
      * @param options - Set of configurable options for coverage defaults to
@@ -85,7 +73,7 @@
      * comment is present, in which case that will the be URL).
      */
     async startJSCoverage(options = {}) {
-        return await __classPrivateFieldGet(this, _Coverage_jsCoverage, "f").start(options);
+        return await this.#jsCoverage.start(options);
     }
     /**
      * Promise that resolves to the array of coverage reports for
@@ -96,7 +84,7 @@
      * However, scripts with sourceURLs are reported.
      */
     async stopJSCoverage() {
-        return await __classPrivateFieldGet(this, _Coverage_jsCoverage, "f").stop();
+        return await this.#jsCoverage.stop();
     }
     /**
      * @param options - Set of configurable options for coverage, defaults to
@@ -104,7 +92,7 @@
      * @returns Promise that resolves when coverage is started.
      */
     async startCSSCoverage(options = {}) {
-        return await __classPrivateFieldGet(this, _Coverage_cssCoverage, "f").start(options);
+        return await this.#cssCoverage.start(options);
     }
     /**
      * Promise that resolves to the array of coverage reports
@@ -115,67 +103,93 @@
      * without sourceURLs.
      */
     async stopCSSCoverage() {
-        return await __classPrivateFieldGet(this, _Coverage_cssCoverage, "f").stop();
+        return await this.#cssCoverage.stop();
     }
 }
-_Coverage_jsCoverage = new WeakMap(), _Coverage_cssCoverage = new WeakMap();
 /**
  * @public
  */
 export class JSCoverage {
+    #client;
+    #enabled = false;
+    #scriptURLs = new Map();
+    #scriptSources = new Map();
+    #eventListeners = [];
+    #resetOnNavigation = false;
+    #reportAnonymousScripts = false;
+    #includeRawScriptCoverage = false;
     constructor(client) {
-        _JSCoverage_instances.add(this);
-        _JSCoverage_client.set(this, void 0);
-        _JSCoverage_enabled.set(this, false);
-        _JSCoverage_scriptURLs.set(this, new Map());
-        _JSCoverage_scriptSources.set(this, new Map());
-        _JSCoverage_eventListeners.set(this, []);
-        _JSCoverage_resetOnNavigation.set(this, false);
-        _JSCoverage_reportAnonymousScripts.set(this, false);
-        _JSCoverage_includeRawScriptCoverage.set(this, false);
-        __classPrivateFieldSet(this, _JSCoverage_client, client, "f");
+        this.#client = client;
     }
     async start(options = {}) {
-        assert(!__classPrivateFieldGet(this, _JSCoverage_enabled, "f"), 'JSCoverage is already enabled');
+        assert(!this.#enabled, 'JSCoverage is already enabled');
         const { resetOnNavigation = true, reportAnonymousScripts = false, includeRawScriptCoverage = false, useBlockCoverage = true, } = options;
-        __classPrivateFieldSet(this, _JSCoverage_resetOnNavigation, resetOnNavigation, "f");
-        __classPrivateFieldSet(this, _JSCoverage_reportAnonymousScripts, reportAnonymousScripts, "f");
-        __classPrivateFieldSet(this, _JSCoverage_includeRawScriptCoverage, includeRawScriptCoverage, "f");
-        __classPrivateFieldSet(this, _JSCoverage_enabled, true, "f");
-        __classPrivateFieldGet(this, _JSCoverage_scriptURLs, "f").clear();
-        __classPrivateFieldGet(this, _JSCoverage_scriptSources, "f").clear();
-        __classPrivateFieldSet(this, _JSCoverage_eventListeners, [
-            addEventListener(__classPrivateFieldGet(this, _JSCoverage_client, "f"), 'Debugger.scriptParsed', __classPrivateFieldGet(this, _JSCoverage_instances, "m", _JSCoverage_onScriptParsed).bind(this)),
-            addEventListener(__classPrivateFieldGet(this, _JSCoverage_client, "f"), 'Runtime.executionContextsCleared', __classPrivateFieldGet(this, _JSCoverage_instances, "m", _JSCoverage_onExecutionContextsCleared).bind(this)),
-        ], "f");
+        this.#resetOnNavigation = resetOnNavigation;
+        this.#reportAnonymousScripts = reportAnonymousScripts;
+        this.#includeRawScriptCoverage = includeRawScriptCoverage;
+        this.#enabled = true;
+        this.#scriptURLs.clear();
+        this.#scriptSources.clear();
+        this.#eventListeners = [
+            addEventListener(this.#client, 'Debugger.scriptParsed', this.#onScriptParsed.bind(this)),
+            addEventListener(this.#client, 'Runtime.executionContextsCleared', this.#onExecutionContextsCleared.bind(this)),
+        ];
         await Promise.all([
-            __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Profiler.enable'),
-            __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Profiler.startPreciseCoverage', {
-                callCount: __classPrivateFieldGet(this, _JSCoverage_includeRawScriptCoverage, "f"),
+            this.#client.send('Profiler.enable'),
+            this.#client.send('Profiler.startPreciseCoverage', {
+                callCount: this.#includeRawScriptCoverage,
                 detailed: useBlockCoverage,
             }),
-            __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Debugger.enable'),
-            __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Debugger.setSkipAllPauses', { skip: true }),
+            this.#client.send('Debugger.enable'),
+            this.#client.send('Debugger.setSkipAllPauses', { skip: true }),
         ]);
     }
+    #onExecutionContextsCleared() {
+        if (!this.#resetOnNavigation) {
+            return;
+        }
+        this.#scriptURLs.clear();
+        this.#scriptSources.clear();
+    }
+    async #onScriptParsed(event) {
+        // Ignore puppeteer-injected scripts
+        if (PuppeteerURL.isPuppeteerURL(event.url)) {
+            return;
+        }
+        // Ignore other anonymous scripts unless the reportAnonymousScripts option is true.
+        if (!event.url && !this.#reportAnonymousScripts) {
+            return;
+        }
+        try {
+            const response = await this.#client.send('Debugger.getScriptSource', {
+                scriptId: event.scriptId,
+            });
+            this.#scriptURLs.set(event.scriptId, event.url);
+            this.#scriptSources.set(event.scriptId, response.scriptSource);
+        }
+        catch (error) {
+            // This might happen if the page has already navigated away.
+            debugError(error);
+        }
+    }
     async stop() {
-        assert(__classPrivateFieldGet(this, _JSCoverage_enabled, "f"), 'JSCoverage is not enabled');
-        __classPrivateFieldSet(this, _JSCoverage_enabled, false, "f");
+        assert(this.#enabled, 'JSCoverage is not enabled');
+        this.#enabled = false;
         const result = await Promise.all([
-            __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Profiler.takePreciseCoverage'),
-            __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Profiler.stopPreciseCoverage'),
-            __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Profiler.disable'),
-            __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Debugger.disable'),
+            this.#client.send('Profiler.takePreciseCoverage'),
+            this.#client.send('Profiler.stopPreciseCoverage'),
+            this.#client.send('Profiler.disable'),
+            this.#client.send('Debugger.disable'),
         ]);
-        removeEventListeners(__classPrivateFieldGet(this, _JSCoverage_eventListeners, "f"));
+        removeEventListeners(this.#eventListeners);
         const coverage = [];
         const profileResponse = result[0];
         for (const entry of profileResponse.result) {
-            let url = __classPrivateFieldGet(this, _JSCoverage_scriptURLs, "f").get(entry.scriptId);
-            if (!url && __classPrivateFieldGet(this, _JSCoverage_reportAnonymousScripts, "f")) {
+            let url = this.#scriptURLs.get(entry.scriptId);
+            if (!url && this.#reportAnonymousScripts) {
                 url = 'debugger://VM' + entry.scriptId;
             }
-            const text = __classPrivateFieldGet(this, _JSCoverage_scriptSources, "f").get(entry.scriptId);
+            const text = this.#scriptSources.get(entry.scriptId);
             if (text === undefined || url === undefined) {
                 continue;
             }
@@ -184,7 +198,7 @@
                 flattenRanges.push(...func.ranges);
             }
             const ranges = convertToDisjointRanges(flattenRanges);
-            if (!__classPrivateFieldGet(this, _JSCoverage_includeRawScriptCoverage, "f")) {
+            if (!this.#includeRawScriptCoverage) {
                 coverage.push({ url, ranges, text });
             }
             else {
@@ -194,73 +208,70 @@
         return coverage;
     }
 }
-_JSCoverage_client = new WeakMap(), _JSCoverage_enabled = new WeakMap(), _JSCoverage_scriptURLs = new WeakMap(), _JSCoverage_scriptSources = new WeakMap(), _JSCoverage_eventListeners = new WeakMap(), _JSCoverage_resetOnNavigation = new WeakMap(), _JSCoverage_reportAnonymousScripts = new WeakMap(), _JSCoverage_includeRawScriptCoverage = new WeakMap(), _JSCoverage_instances = new WeakSet(), _JSCoverage_onExecutionContextsCleared = function _JSCoverage_onExecutionContextsCleared() {
-    if (!__classPrivateFieldGet(this, _JSCoverage_resetOnNavigation, "f")) {
-        return;
-    }
-    __classPrivateFieldGet(this, _JSCoverage_scriptURLs, "f").clear();
-    __classPrivateFieldGet(this, _JSCoverage_scriptSources, "f").clear();
-}, _JSCoverage_onScriptParsed = async function _JSCoverage_onScriptParsed(event) {
-    // Ignore puppeteer-injected scripts
-    if (PuppeteerURL.isPuppeteerURL(event.url)) {
-        return;
-    }
-    // Ignore other anonymous scripts unless the reportAnonymousScripts option is true.
-    if (!event.url && !__classPrivateFieldGet(this, _JSCoverage_reportAnonymousScripts, "f")) {
-        return;
-    }
-    try {
-        const response = await __classPrivateFieldGet(this, _JSCoverage_client, "f").send('Debugger.getScriptSource', {
-            scriptId: event.scriptId,
-        });
-        __classPrivateFieldGet(this, _JSCoverage_scriptURLs, "f").set(event.scriptId, event.url);
-        __classPrivateFieldGet(this, _JSCoverage_scriptSources, "f").set(event.scriptId, response.scriptSource);
-    }
-    catch (error) {
-        // This might happen if the page has already navigated away.
-        debugError(error);
-    }
-};
 /**
  * @public
  */
 export class CSSCoverage {
+    #client;
+    #enabled = false;
+    #stylesheetURLs = new Map();
+    #stylesheetSources = new Map();
+    #eventListeners = [];
+    #resetOnNavigation = false;
     constructor(client) {
-        _CSSCoverage_instances.add(this);
-        _CSSCoverage_client.set(this, void 0);
-        _CSSCoverage_enabled.set(this, false);
-        _CSSCoverage_stylesheetURLs.set(this, new Map());
-        _CSSCoverage_stylesheetSources.set(this, new Map());
-        _CSSCoverage_eventListeners.set(this, []);
-        _CSSCoverage_resetOnNavigation.set(this, false);
-        __classPrivateFieldSet(this, _CSSCoverage_client, client, "f");
+        this.#client = client;
     }
     async start(options = {}) {
-        assert(!__classPrivateFieldGet(this, _CSSCoverage_enabled, "f"), 'CSSCoverage is already enabled');
+        assert(!this.#enabled, 'CSSCoverage is already enabled');
         const { resetOnNavigation = true } = options;
-        __classPrivateFieldSet(this, _CSSCoverage_resetOnNavigation, resetOnNavigation, "f");
-        __classPrivateFieldSet(this, _CSSCoverage_enabled, true, "f");
-        __classPrivateFieldGet(this, _CSSCoverage_stylesheetURLs, "f").clear();
-        __classPrivateFieldGet(this, _CSSCoverage_stylesheetSources, "f").clear();
-        __classPrivateFieldSet(this, _CSSCoverage_eventListeners, [
-            addEventListener(__classPrivateFieldGet(this, _CSSCoverage_client, "f"), 'CSS.styleSheetAdded', __classPrivateFieldGet(this, _CSSCoverage_instances, "m", _CSSCoverage_onStyleSheet).bind(this)),
-            addEventListener(__classPrivateFieldGet(this, _CSSCoverage_client, "f"), 'Runtime.executionContextsCleared', __classPrivateFieldGet(this, _CSSCoverage_instances, "m", _CSSCoverage_onExecutionContextsCleared).bind(this)),
-        ], "f");
+        this.#resetOnNavigation = resetOnNavigation;
+        this.#enabled = true;
+        this.#stylesheetURLs.clear();
+        this.#stylesheetSources.clear();
+        this.#eventListeners = [
+            addEventListener(this.#client, 'CSS.styleSheetAdded', this.#onStyleSheet.bind(this)),
+            addEventListener(this.#client, 'Runtime.executionContextsCleared', this.#onExecutionContextsCleared.bind(this)),
+        ];
         await Promise.all([
-            __classPrivateFieldGet(this, _CSSCoverage_client, "f").send('DOM.enable'),
-            __classPrivateFieldGet(this, _CSSCoverage_client, "f").send('CSS.enable'),
-            __classPrivateFieldGet(this, _CSSCoverage_client, "f").send('CSS.startRuleUsageTracking'),
+            this.#client.send('DOM.enable'),
+            this.#client.send('CSS.enable'),
+            this.#client.send('CSS.startRuleUsageTracking'),
         ]);
     }
+    #onExecutionContextsCleared() {
+        if (!this.#resetOnNavigation) {
+            return;
+        }
+        this.#stylesheetURLs.clear();
+        this.#stylesheetSources.clear();
+    }
+    async #onStyleSheet(event) {
+        const header = event.header;
+        // Ignore anonymous scripts
+        if (!header.sourceURL) {
+            return;
+        }
+        try {
+            const response = await this.#client.send('CSS.getStyleSheetText', {
+                styleSheetId: header.styleSheetId,
+            });
+            this.#stylesheetURLs.set(header.styleSheetId, header.sourceURL);
+            this.#stylesheetSources.set(header.styleSheetId, response.text);
+        }
+        catch (error) {
+            // This might happen if the page has already navigated away.
+            debugError(error);
+        }
+    }
     async stop() {
-        assert(__classPrivateFieldGet(this, _CSSCoverage_enabled, "f"), 'CSSCoverage is not enabled');
-        __classPrivateFieldSet(this, _CSSCoverage_enabled, false, "f");
-        const ruleTrackingResponse = await __classPrivateFieldGet(this, _CSSCoverage_client, "f").send('CSS.stopRuleUsageTracking');
+        assert(this.#enabled, 'CSSCoverage is not enabled');
+        this.#enabled = false;
+        const ruleTrackingResponse = await this.#client.send('CSS.stopRuleUsageTracking');
         await Promise.all([
-            __classPrivateFieldGet(this, _CSSCoverage_client, "f").send('CSS.disable'),
-            __classPrivateFieldGet(this, _CSSCoverage_client, "f").send('DOM.disable'),
+            this.#client.send('CSS.disable'),
+            this.#client.send('DOM.disable'),
         ]);
-        removeEventListeners(__classPrivateFieldGet(this, _CSSCoverage_eventListeners, "f"));
+        removeEventListeners(this.#eventListeners);
         // aggregate by styleSheetId
         const styleSheetIdToCoverage = new Map();
         for (const entry of ruleTrackingResponse.ruleUsage) {
@@ -276,10 +287,10 @@
             });
         }
         const coverage = [];
-        for (const styleSheetId of __classPrivateFieldGet(this, _CSSCoverage_stylesheetURLs, "f").keys()) {
-            const url = __classPrivateFieldGet(this, _CSSCoverage_stylesheetURLs, "f").get(styleSheetId);
+        for (const styleSheetId of this.#stylesheetURLs.keys()) {
+            const url = this.#stylesheetURLs.get(styleSheetId);
             assert(typeof url !== 'undefined', `Stylesheet URL is undefined (styleSheetId=${styleSheetId})`);
-            const text = __classPrivateFieldGet(this, _CSSCoverage_stylesheetSources, "f").get(styleSheetId);
+            const text = this.#stylesheetSources.get(styleSheetId);
             assert(typeof text !== 'undefined', `Stylesheet text is undefined (styleSheetId=${styleSheetId})`);
             const ranges = convertToDisjointRanges(styleSheetIdToCoverage.get(styleSheetId) || []);
             coverage.push({ url, ranges, text });
@@ -287,30 +298,6 @@
         return coverage;
     }
 }
-_CSSCoverage_client = new WeakMap(), _CSSCoverage_enabled = new WeakMap(), _CSSCoverage_stylesheetURLs = new WeakMap(), _CSSCoverage_stylesheetSources = new WeakMap(), _CSSCoverage_eventListeners = new WeakMap(), _CSSCoverage_resetOnNavigation = new WeakMap(), _CSSCoverage_instances = new WeakSet(), _CSSCoverage_onExecutionContextsCleared = function _CSSCoverage_onExecutionContextsCleared() {
-    if (!__classPrivateFieldGet(this, _CSSCoverage_resetOnNavigation, "f")) {
-        return;
-    }
-    __classPrivateFieldGet(this, _CSSCoverage_stylesheetURLs, "f").clear();
-    __classPrivateFieldGet(this, _CSSCoverage_stylesheetSources, "f").clear();
-}, _CSSCoverage_onStyleSheet = async function _CSSCoverage_onStyleSheet(event) {
-    const header = event.header;
-    // Ignore anonymous scripts
-    if (!header.sourceURL) {
-        return;
-    }
-    try {
-        const response = await __classPrivateFieldGet(this, _CSSCoverage_client, "f").send('CSS.getStyleSheetText', {
-            styleSheetId: header.styleSheetId,
-        });
-        __classPrivateFieldGet(this, _CSSCoverage_stylesheetURLs, "f").set(header.styleSheetId, header.sourceURL);
-        __classPrivateFieldGet(this, _CSSCoverage_stylesheetSources, "f").set(header.styleSheetId, response.text);
-    }
-    catch (error) {
-        // This might happen if the page has already navigated away.
-        debugError(error);
-    }
-};
 function convertToDisjointRanges(nestedRanges) {
     const points = [];
     for (const range of nestedRanges) {
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.js.map
index 58f3a02..c31b549 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.js.map
@@ -1 +1 @@
-{"version":3,"file":"Coverage.js","sourceRoot":"","sources":["../../../../src/common/Coverage.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Coverage.js","sourceRoot":"","sources":["../../../../src/common/Coverage.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/CustomQueryHandler.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/CustomQueryHandler.js
index 0ec6856..bab3e5e 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/CustomQueryHandler.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/CustomQueryHandler.js
@@ -13,16 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
-    if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
-    return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
-};
-var _CustomQueryHandlerRegistry_handlers;
 import { assert } from '../util/assert.js';
 import { interpolateFunction, stringifyFunction } from '../util/Function.js';
 import { QueryHandler } from './QueryHandler.js';
@@ -40,14 +30,12 @@
  * @internal
  */
 export class CustomQueryHandlerRegistry {
-    constructor() {
-        _CustomQueryHandlerRegistry_handlers.set(this, new Map());
-    }
+    #handlers = new Map();
     /**
      * @internal
      */
     get(name) {
-        const handler = __classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f").get(name);
+        const handler = this.#handlers.get(name);
         return handler ? handler[1] : undefined;
     }
     /**
@@ -72,27 +60,24 @@
      * @internal
      */
     register(name, handler) {
-        var _a;
-        if (__classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f").has(name)) {
+        if (this.#handlers.has(name)) {
             throw new Error(`Cannot register over existing handler: ${name}`);
         }
-        assert(!__classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f").has(name), `Cannot register over existing handler: ${name}`);
+        assert(!this.#handlers.has(name), `Cannot register over existing handler: ${name}`);
         assert(/^[a-zA-Z]+$/.test(name), `Custom query handler names may only contain [a-zA-Z]`);
         assert(handler.queryAll || handler.queryOne, `At least one query method must be implemented.`);
-        const Handler = (_a = class extends QueryHandler {
-            },
-            __setFunctionName(_a, "Handler"),
-            _a.querySelectorAll = interpolateFunction((node, selector, PuppeteerUtil) => {
+        const Handler = class extends QueryHandler {
+            static querySelectorAll = interpolateFunction((node, selector, PuppeteerUtil) => {
                 return PuppeteerUtil.customQuerySelectors
                     .get(PLACEHOLDER('name'))
                     .querySelectorAll(node, selector);
-            }, { name: JSON.stringify(name) }),
-            _a.querySelector = interpolateFunction((node, selector, PuppeteerUtil) => {
+            }, { name: JSON.stringify(name) });
+            static querySelector = interpolateFunction((node, selector, PuppeteerUtil) => {
                 return PuppeteerUtil.customQuerySelectors
                     .get(PLACEHOLDER('name'))
                     .querySelector(node, selector);
-            }, { name: JSON.stringify(name) }),
-            _a);
+            }, { name: JSON.stringify(name) });
+        };
         const registerScript = interpolateFunction((PuppeteerUtil) => {
             PuppeteerUtil.customQuerySelectors.register(PLACEHOLDER('name'), {
                 queryAll: PLACEHOLDER('queryAll'),
@@ -107,7 +92,7 @@
                 ? stringifyFunction(handler.queryOne)
                 : String(undefined),
         }).toString();
-        __classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f").set(name, [registerScript, Handler]);
+        this.#handlers.set(name, [registerScript, Handler]);
         scriptInjector.append(registerScript);
     }
     /**
@@ -119,12 +104,12 @@
      * @internal
      */
     unregister(name) {
-        const handler = __classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f").get(name);
+        const handler = this.#handlers.get(name);
         if (!handler) {
             throw new Error(`Cannot unregister unknown handler: ${name}`);
         }
         scriptInjector.pop(handler[0]);
-        __classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f").delete(name);
+        this.#handlers.delete(name);
     }
     /**
      * Gets the names of all {@link CustomQueryHandler | custom query handlers}.
@@ -132,7 +117,7 @@
      * @internal
      */
     names() {
-        return [...__classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f").keys()];
+        return [...this.#handlers.keys()];
     }
     /**
      * Unregisters all custom query handlers.
@@ -140,13 +125,12 @@
      * @internal
      */
     clear() {
-        for (const [registerScript] of __classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f")) {
+        for (const [registerScript] of this.#handlers) {
             scriptInjector.pop(registerScript);
         }
-        __classPrivateFieldGet(this, _CustomQueryHandlerRegistry_handlers, "f").clear();
+        this.#handlers.clear();
     }
 }
-_CustomQueryHandlerRegistry_handlers = new WeakMap();
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/CustomQueryHandler.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/CustomQueryHandler.js.map
index c1fa573..dc55a71 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/CustomQueryHandler.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/CustomQueryHandler.js.map
@@ -1 +1 @@
-{"version":3,"file":"CustomQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/CustomQueryHandler.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"CustomQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/CustomQueryHandler.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceRequestPrompt.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceRequestPrompt.js
index fe7888b..afbcc94 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceRequestPrompt.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceRequestPrompt.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _DeviceRequestPrompt_instances, _DeviceRequestPrompt_client, _DeviceRequestPrompt_timeoutSettings, _DeviceRequestPrompt_id, _DeviceRequestPrompt_handled, _DeviceRequestPrompt_updateDevicesHandle, _DeviceRequestPrompt_waitForDevicePromises, _DeviceRequestPrompt_updateDevices, _DeviceRequestPromptManager_instances, _DeviceRequestPromptManager_client, _DeviceRequestPromptManager_timeoutSettings, _DeviceRequestPromptManager_deviceRequestPrompDeferreds, _DeviceRequestPromptManager_onDeviceRequestPrompted;
 import { assert } from '../util/assert.js';
 import { Deferred } from '../util/Deferred.js';
 /**
@@ -34,6 +22,14 @@
  */
 export class DeviceRequestPromptDevice {
     /**
+     * Device id during a prompt.
+     */
+    id;
+    /**
+     * Device name as it appears in a prompt.
+     */
+    name;
+    /**
      * @internal
      */
     constructor(id, name) {
@@ -64,29 +60,47 @@
  * @public
  */
 export class DeviceRequestPrompt {
+    #client;
+    #timeoutSettings;
+    #id;
+    #handled = false;
+    #updateDevicesHandle = this.#updateDevices.bind(this);
+    #waitForDevicePromises = new Set();
+    /**
+     * Current list of selectable devices.
+     */
+    devices = [];
     /**
      * @internal
      */
     constructor(client, timeoutSettings, firstEvent) {
-        _DeviceRequestPrompt_instances.add(this);
-        _DeviceRequestPrompt_client.set(this, void 0);
-        _DeviceRequestPrompt_timeoutSettings.set(this, void 0);
-        _DeviceRequestPrompt_id.set(this, void 0);
-        _DeviceRequestPrompt_handled.set(this, false);
-        _DeviceRequestPrompt_updateDevicesHandle.set(this, __classPrivateFieldGet(this, _DeviceRequestPrompt_instances, "m", _DeviceRequestPrompt_updateDevices).bind(this));
-        _DeviceRequestPrompt_waitForDevicePromises.set(this, new Set());
-        /**
-         * Current list of selectable devices.
-         */
-        this.devices = [];
-        __classPrivateFieldSet(this, _DeviceRequestPrompt_client, client, "f");
-        __classPrivateFieldSet(this, _DeviceRequestPrompt_timeoutSettings, timeoutSettings, "f");
-        __classPrivateFieldSet(this, _DeviceRequestPrompt_id, firstEvent.id, "f");
-        __classPrivateFieldGet(this, _DeviceRequestPrompt_client, "f").on('DeviceAccess.deviceRequestPrompted', __classPrivateFieldGet(this, _DeviceRequestPrompt_updateDevicesHandle, "f"));
-        __classPrivateFieldGet(this, _DeviceRequestPrompt_client, "f").on('Target.detachedFromTarget', () => {
-            __classPrivateFieldSet(this, _DeviceRequestPrompt_client, null, "f");
+        this.#client = client;
+        this.#timeoutSettings = timeoutSettings;
+        this.#id = firstEvent.id;
+        this.#client.on('DeviceAccess.deviceRequestPrompted', this.#updateDevicesHandle);
+        this.#client.on('Target.detachedFromTarget', () => {
+            this.#client = null;
         });
-        __classPrivateFieldGet(this, _DeviceRequestPrompt_instances, "m", _DeviceRequestPrompt_updateDevices).call(this, firstEvent);
+        this.#updateDevices(firstEvent);
+    }
+    #updateDevices(event) {
+        if (event.id !== this.#id) {
+            return;
+        }
+        for (const rawDevice of event.devices) {
+            if (this.devices.some(device => {
+                return device.id === rawDevice.id;
+            })) {
+                continue;
+            }
+            const newDevice = new DeviceRequestPromptDevice(rawDevice.id, rawDevice.name);
+            this.devices.push(newDevice);
+            for (const waitForDevicePromise of this.#waitForDevicePromises) {
+                if (waitForDevicePromise.filter(newDevice)) {
+                    waitForDevicePromise.promise.resolve(newDevice);
+                }
+            }
+        }
     }
     /**
      * Resolve to the first device in the prompt matching a filter.
@@ -97,31 +111,31 @@
                 return device;
             }
         }
-        const { timeout = __classPrivateFieldGet(this, _DeviceRequestPrompt_timeoutSettings, "f").timeout() } = options;
+        const { timeout = this.#timeoutSettings.timeout() } = options;
         const deferred = Deferred.create({
             message: `Waiting for \`DeviceRequestPromptDevice\` failed: ${timeout}ms exceeded`,
             timeout,
         });
         const handle = { filter, promise: deferred };
-        __classPrivateFieldGet(this, _DeviceRequestPrompt_waitForDevicePromises, "f").add(handle);
+        this.#waitForDevicePromises.add(handle);
         try {
             return await deferred.valueOrThrow();
         }
         finally {
-            __classPrivateFieldGet(this, _DeviceRequestPrompt_waitForDevicePromises, "f").delete(handle);
+            this.#waitForDevicePromises.delete(handle);
         }
     }
     /**
      * Select a device in the prompt's list.
      */
     async select(device) {
-        assert(__classPrivateFieldGet(this, _DeviceRequestPrompt_client, "f") !== null, 'Cannot select device through detached session!');
+        assert(this.#client !== null, 'Cannot select device through detached session!');
         assert(this.devices.includes(device), 'Cannot select unknown device!');
-        assert(!__classPrivateFieldGet(this, _DeviceRequestPrompt_handled, "f"), 'Cannot select DeviceRequestPrompt which is already handled!');
-        __classPrivateFieldGet(this, _DeviceRequestPrompt_client, "f").off('DeviceAccess.deviceRequestPrompted', __classPrivateFieldGet(this, _DeviceRequestPrompt_updateDevicesHandle, "f"));
-        __classPrivateFieldSet(this, _DeviceRequestPrompt_handled, true, "f");
-        return __classPrivateFieldGet(this, _DeviceRequestPrompt_client, "f").send('DeviceAccess.selectPrompt', {
-            id: __classPrivateFieldGet(this, _DeviceRequestPrompt_id, "f"),
+        assert(!this.#handled, 'Cannot select DeviceRequestPrompt which is already handled!');
+        this.#client.off('DeviceAccess.deviceRequestPrompted', this.#updateDevicesHandle);
+        this.#handled = true;
+        return this.#client.send('DeviceAccess.selectPrompt', {
+            id: this.#id,
             deviceId: device.id,
         });
     }
@@ -129,51 +143,31 @@
      * Cancel the prompt.
      */
     async cancel() {
-        assert(__classPrivateFieldGet(this, _DeviceRequestPrompt_client, "f") !== null, 'Cannot cancel prompt through detached session!');
-        assert(!__classPrivateFieldGet(this, _DeviceRequestPrompt_handled, "f"), 'Cannot cancel DeviceRequestPrompt which is already handled!');
-        __classPrivateFieldGet(this, _DeviceRequestPrompt_client, "f").off('DeviceAccess.deviceRequestPrompted', __classPrivateFieldGet(this, _DeviceRequestPrompt_updateDevicesHandle, "f"));
-        __classPrivateFieldSet(this, _DeviceRequestPrompt_handled, true, "f");
-        return __classPrivateFieldGet(this, _DeviceRequestPrompt_client, "f").send('DeviceAccess.cancelPrompt', { id: __classPrivateFieldGet(this, _DeviceRequestPrompt_id, "f") });
+        assert(this.#client !== null, 'Cannot cancel prompt through detached session!');
+        assert(!this.#handled, 'Cannot cancel DeviceRequestPrompt which is already handled!');
+        this.#client.off('DeviceAccess.deviceRequestPrompted', this.#updateDevicesHandle);
+        this.#handled = true;
+        return this.#client.send('DeviceAccess.cancelPrompt', { id: this.#id });
     }
 }
-_DeviceRequestPrompt_client = new WeakMap(), _DeviceRequestPrompt_timeoutSettings = new WeakMap(), _DeviceRequestPrompt_id = new WeakMap(), _DeviceRequestPrompt_handled = new WeakMap(), _DeviceRequestPrompt_updateDevicesHandle = new WeakMap(), _DeviceRequestPrompt_waitForDevicePromises = new WeakMap(), _DeviceRequestPrompt_instances = new WeakSet(), _DeviceRequestPrompt_updateDevices = function _DeviceRequestPrompt_updateDevices(event) {
-    if (event.id !== __classPrivateFieldGet(this, _DeviceRequestPrompt_id, "f")) {
-        return;
-    }
-    for (const rawDevice of event.devices) {
-        if (this.devices.some(device => {
-            return device.id === rawDevice.id;
-        })) {
-            continue;
-        }
-        const newDevice = new DeviceRequestPromptDevice(rawDevice.id, rawDevice.name);
-        this.devices.push(newDevice);
-        for (const waitForDevicePromise of __classPrivateFieldGet(this, _DeviceRequestPrompt_waitForDevicePromises, "f")) {
-            if (waitForDevicePromise.filter(newDevice)) {
-                waitForDevicePromise.promise.resolve(newDevice);
-            }
-        }
-    }
-};
 /**
  * @internal
  */
 export class DeviceRequestPromptManager {
+    #client;
+    #timeoutSettings;
+    #deviceRequestPrompDeferreds = new Set();
     /**
      * @internal
      */
     constructor(client, timeoutSettings) {
-        _DeviceRequestPromptManager_instances.add(this);
-        _DeviceRequestPromptManager_client.set(this, void 0);
-        _DeviceRequestPromptManager_timeoutSettings.set(this, void 0);
-        _DeviceRequestPromptManager_deviceRequestPrompDeferreds.set(this, new Set());
-        __classPrivateFieldSet(this, _DeviceRequestPromptManager_client, client, "f");
-        __classPrivateFieldSet(this, _DeviceRequestPromptManager_timeoutSettings, timeoutSettings, "f");
-        __classPrivateFieldGet(this, _DeviceRequestPromptManager_client, "f").on('DeviceAccess.deviceRequestPrompted', event => {
-            __classPrivateFieldGet(this, _DeviceRequestPromptManager_instances, "m", _DeviceRequestPromptManager_onDeviceRequestPrompted).call(this, event);
+        this.#client = client;
+        this.#timeoutSettings = timeoutSettings;
+        this.#client.on('DeviceAccess.deviceRequestPrompted', event => {
+            this.#onDeviceRequestPrompted(event);
         });
-        __classPrivateFieldGet(this, _DeviceRequestPromptManager_client, "f").on('Target.detachedFromTarget', () => {
-            __classPrivateFieldSet(this, _DeviceRequestPromptManager_client, null, "f");
+        this.#client.on('Target.detachedFromTarget', () => {
+            this.#client = null;
         });
     }
     /**
@@ -181,18 +175,18 @@
      * requestDevice.
      */
     async waitForDevicePrompt(options = {}) {
-        assert(__classPrivateFieldGet(this, _DeviceRequestPromptManager_client, "f") !== null, 'Cannot wait for device prompt through detached session!');
-        const needsEnable = __classPrivateFieldGet(this, _DeviceRequestPromptManager_deviceRequestPrompDeferreds, "f").size === 0;
+        assert(this.#client !== null, 'Cannot wait for device prompt through detached session!');
+        const needsEnable = this.#deviceRequestPrompDeferreds.size === 0;
         let enablePromise;
         if (needsEnable) {
-            enablePromise = __classPrivateFieldGet(this, _DeviceRequestPromptManager_client, "f").send('DeviceAccess.enable');
+            enablePromise = this.#client.send('DeviceAccess.enable');
         }
-        const { timeout = __classPrivateFieldGet(this, _DeviceRequestPromptManager_timeoutSettings, "f").timeout() } = options;
+        const { timeout = this.#timeoutSettings.timeout() } = options;
         const deferred = Deferred.create({
             message: `Waiting for \`DeviceRequestPrompt\` failed: ${timeout}ms exceeded`,
             timeout,
         });
-        __classPrivateFieldGet(this, _DeviceRequestPromptManager_deviceRequestPrompDeferreds, "f").add(deferred);
+        this.#deviceRequestPrompDeferreds.add(deferred);
         try {
             const [result] = await Promise.all([
                 deferred.valueOrThrow(),
@@ -201,19 +195,22 @@
             return result;
         }
         finally {
-            __classPrivateFieldGet(this, _DeviceRequestPromptManager_deviceRequestPrompDeferreds, "f").delete(deferred);
+            this.#deviceRequestPrompDeferreds.delete(deferred);
         }
     }
+    /**
+     * @internal
+     */
+    #onDeviceRequestPrompted(event) {
+        if (!this.#deviceRequestPrompDeferreds.size) {
+            return;
+        }
+        assert(this.#client !== null);
+        const devicePrompt = new DeviceRequestPrompt(this.#client, this.#timeoutSettings, event);
+        for (const promise of this.#deviceRequestPrompDeferreds) {
+            promise.resolve(devicePrompt);
+        }
+        this.#deviceRequestPrompDeferreds.clear();
+    }
 }
-_DeviceRequestPromptManager_client = new WeakMap(), _DeviceRequestPromptManager_timeoutSettings = new WeakMap(), _DeviceRequestPromptManager_deviceRequestPrompDeferreds = new WeakMap(), _DeviceRequestPromptManager_instances = new WeakSet(), _DeviceRequestPromptManager_onDeviceRequestPrompted = function _DeviceRequestPromptManager_onDeviceRequestPrompted(event) {
-    if (!__classPrivateFieldGet(this, _DeviceRequestPromptManager_deviceRequestPrompDeferreds, "f").size) {
-        return;
-    }
-    assert(__classPrivateFieldGet(this, _DeviceRequestPromptManager_client, "f") !== null);
-    const devicePrompt = new DeviceRequestPrompt(__classPrivateFieldGet(this, _DeviceRequestPromptManager_client, "f"), __classPrivateFieldGet(this, _DeviceRequestPromptManager_timeoutSettings, "f"), event);
-    for (const promise of __classPrivateFieldGet(this, _DeviceRequestPromptManager_deviceRequestPrompDeferreds, "f")) {
-        promise.resolve(devicePrompt);
-    }
-    __classPrivateFieldGet(this, _DeviceRequestPromptManager_deviceRequestPrompDeferreds, "f").clear();
-};
 //# sourceMappingURL=DeviceRequestPrompt.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceRequestPrompt.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceRequestPrompt.js.map
index c630946..33c2a15 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceRequestPrompt.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceRequestPrompt.js.map
@@ -1 +1 @@
-{"version":3,"file":"DeviceRequestPrompt.js","sourceRoot":"","sources":["../../../../src/common/DeviceRequestPrompt.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"DeviceRequestPrompt.js","sourceRoot":"","sources":["../../../../src/common/DeviceRequestPrompt.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.d.ts
index 99c6418..d1e8533 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.d.ts
@@ -14,61 +14,23 @@
  * limitations under the License.
  */
 import { Protocol } from 'devtools-protocol';
+import { Dialog as BaseDialog } from '../api/Dialog.js';
 import { CDPSession } from './Connection.js';
 /**
- * Dialog instances are dispatched by the {@link Page} via the `dialog` event.
- *
- * @remarks
- *
- * @example
- *
- * ```ts
- * import puppeteer from 'puppeteer';
- *
- * (async () => {
- *   const browser = await puppeteer.launch();
- *   const page = await browser.newPage();
- *   page.on('dialog', async dialog => {
- *     console.log(dialog.message());
- *     await dialog.dismiss();
- *     await browser.close();
- *   });
- *   page.evaluate(() => alert('1'));
- * })();
- * ```
- *
- * @public
+ * @internal
  */
-export declare class Dialog {
+export declare class CDPDialog extends BaseDialog {
     #private;
     /**
      * @internal
      */
     constructor(client: CDPSession, type: Protocol.Page.DialogType, message: string, defaultValue?: string);
     /**
-     * The type of the dialog.
+     * @internal
      */
-    type(): Protocol.Page.DialogType;
-    /**
-     * The message displayed in the dialog.
-     */
-    message(): string;
-    /**
-     * The default value of the prompt, or an empty string if the dialog
-     * is not a `prompt`.
-     */
-    defaultValue(): string;
-    /**
-     * A promise that resolves when the dialog has been accepted.
-     *
-     * @param promptText - optional text that will be entered in the dialog
-     * prompt. Has no effect if the dialog's type is not `prompt`.
-     *
-     */
-    accept(promptText?: string): Promise<void>;
-    /**
-     * A promise which will resolve once the dialog has been dismissed
-     */
-    dismiss(): Promise<void>;
+    sendCommand(options: {
+        accept: boolean;
+        text?: string;
+    }): Promise<void>;
 }
 //# sourceMappingURL=Dialog.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.d.ts.map
index 5f3b1c5..08bbb54 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/common/Dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAI3C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,MAAM;;IAOjB;;OAEG;gBAED,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAC9B,OAAO,EAAE,MAAM,EACf,YAAY,SAAK;IAQnB;;OAEG;IACH,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU;IAIhC;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACH,YAAY,IAAI,MAAM;IAItB;;;;;;OAMG;IACG,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAO/B"}
\ No newline at end of file
+{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../src/common/Dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,MAAM,IAAI,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C;;GAEG;AACH,qBAAa,SAAU,SAAQ,UAAU;;IAGvC;;OAEG;gBAED,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,EAC9B,OAAO,EAAE,MAAM,EACf,YAAY,SAAK;IAMnB;;OAEG;IACY,WAAW,CAAC,OAAO,EAAE;QAClC,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,IAAI,CAAC;CAMlB"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.js
index 32370fe..642a9ef 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.js
@@ -13,102 +13,27 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Dialog_client, _Dialog_type, _Dialog_message, _Dialog_defaultValue, _Dialog_handled;
-import { assert } from '../util/assert.js';
+import { Dialog as BaseDialog } from '../api/Dialog.js';
 /**
- * Dialog instances are dispatched by the {@link Page} via the `dialog` event.
- *
- * @remarks
- *
- * @example
- *
- * ```ts
- * import puppeteer from 'puppeteer';
- *
- * (async () => {
- *   const browser = await puppeteer.launch();
- *   const page = await browser.newPage();
- *   page.on('dialog', async dialog => {
- *     console.log(dialog.message());
- *     await dialog.dismiss();
- *     await browser.close();
- *   });
- *   page.evaluate(() => alert('1'));
- * })();
- * ```
- *
- * @public
+ * @internal
  */
-export class Dialog {
+export class CDPDialog extends BaseDialog {
+    #client;
     /**
      * @internal
      */
     constructor(client, type, message, defaultValue = '') {
-        _Dialog_client.set(this, void 0);
-        _Dialog_type.set(this, void 0);
-        _Dialog_message.set(this, void 0);
-        _Dialog_defaultValue.set(this, void 0);
-        _Dialog_handled.set(this, false);
-        __classPrivateFieldSet(this, _Dialog_client, client, "f");
-        __classPrivateFieldSet(this, _Dialog_type, type, "f");
-        __classPrivateFieldSet(this, _Dialog_message, message, "f");
-        __classPrivateFieldSet(this, _Dialog_defaultValue, defaultValue, "f");
+        super(type, message, defaultValue);
+        this.#client = client;
     }
     /**
-     * The type of the dialog.
+     * @internal
      */
-    type() {
-        return __classPrivateFieldGet(this, _Dialog_type, "f");
-    }
-    /**
-     * The message displayed in the dialog.
-     */
-    message() {
-        return __classPrivateFieldGet(this, _Dialog_message, "f");
-    }
-    /**
-     * The default value of the prompt, or an empty string if the dialog
-     * is not a `prompt`.
-     */
-    defaultValue() {
-        return __classPrivateFieldGet(this, _Dialog_defaultValue, "f");
-    }
-    /**
-     * A promise that resolves when the dialog has been accepted.
-     *
-     * @param promptText - optional text that will be entered in the dialog
-     * prompt. Has no effect if the dialog's type is not `prompt`.
-     *
-     */
-    async accept(promptText) {
-        assert(!__classPrivateFieldGet(this, _Dialog_handled, "f"), 'Cannot accept dialog which is already handled!');
-        __classPrivateFieldSet(this, _Dialog_handled, true, "f");
-        await __classPrivateFieldGet(this, _Dialog_client, "f").send('Page.handleJavaScriptDialog', {
-            accept: true,
-            promptText: promptText,
-        });
-    }
-    /**
-     * A promise which will resolve once the dialog has been dismissed
-     */
-    async dismiss() {
-        assert(!__classPrivateFieldGet(this, _Dialog_handled, "f"), 'Cannot dismiss dialog which is already handled!');
-        __classPrivateFieldSet(this, _Dialog_handled, true, "f");
-        await __classPrivateFieldGet(this, _Dialog_client, "f").send('Page.handleJavaScriptDialog', {
-            accept: false,
+    async sendCommand(options) {
+        await this.#client.send('Page.handleJavaScriptDialog', {
+            accept: options.accept,
+            promptText: options.text,
         });
     }
 }
-_Dialog_client = new WeakMap(), _Dialog_type = new WeakMap(), _Dialog_message = new WeakMap(), _Dialog_defaultValue = new WeakMap(), _Dialog_handled = new WeakMap();
 //# sourceMappingURL=Dialog.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.js.map
index 61e8462..0159726 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.js.map
@@ -1 +1 @@
-{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../src/common/Dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;AAIH,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAIzC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAO,MAAM;IAOjB;;OAEG;IACH,YACE,MAAkB,EAClB,IAA8B,EAC9B,OAAe,EACf,YAAY,GAAG,EAAE;QAbnB,iCAAoB;QACpB,+BAAgC;QAChC,kCAAiB;QACjB,uCAAsB;QACtB,0BAAW,KAAK,EAAC;QAWf,uBAAA,IAAI,kBAAW,MAAM,MAAA,CAAC;QACtB,uBAAA,IAAI,gBAAS,IAAI,MAAA,CAAC;QAClB,uBAAA,IAAI,mBAAY,OAAO,MAAA,CAAC;QACxB,uBAAA,IAAI,wBAAiB,YAAY,MAAA,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI;QACF,OAAO,uBAAA,IAAI,oBAAM,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,uBAAA,IAAI,uBAAS,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,YAAY;QACV,OAAO,uBAAA,IAAI,4BAAc,CAAC;IAC5B,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,UAAmB;QAC9B,MAAM,CAAC,CAAC,uBAAA,IAAI,uBAAS,EAAE,gDAAgD,CAAC,CAAC;QACzE,uBAAA,IAAI,mBAAY,IAAI,MAAA,CAAC;QACrB,MAAM,uBAAA,IAAI,sBAAQ,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACrD,MAAM,EAAE,IAAI;YACZ,UAAU,EAAE,UAAU;SACvB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,CAAC,CAAC,uBAAA,IAAI,uBAAS,EAAE,iDAAiD,CAAC,CAAC;QAC1E,uBAAA,IAAI,mBAAY,IAAI,MAAA,CAAC;QACrB,MAAM,uBAAA,IAAI,sBAAQ,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACrD,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;IACL,CAAC;CACF"}
\ No newline at end of file
+{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../src/common/Dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,MAAM,IAAI,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAItD;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,UAAU;IACvC,OAAO,CAAa;IAEpB;;OAEG;IACH,YACE,MAAkB,EAClB,IAA8B,EAC9B,OAAe,EACf,YAAY,GAAG,EAAE;QAEjB,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,WAAW,CAAC,OAG1B;QACC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE;YACrD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,IAAI;SACzB,CAAC,CAAC;IACL,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ElementHandle.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ElementHandle.d.ts
index c732dfc..60265c4 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ElementHandle.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ElementHandle.d.ts
@@ -15,7 +15,7 @@
  */
 /// <reference types="node" />
 import { Protocol } from 'devtools-protocol';
-import { BoundingBox, BoxModel, ClickOptions, ElementHandle, Offset, Point } from '../api/ElementHandle.js';
+import { AutofillData, BoundingBox, BoxModel, ClickOptions, ElementHandle, Offset, Point } from '../api/ElementHandle.js';
 import { KeyPressOptions, KeyboardTypeOptions } from '../api/Input.js';
 import { ScreenshotOptions } from '../api/Page.js';
 import { CDPSession } from './Connection.js';
@@ -84,5 +84,6 @@
     boundingBox(): Promise<BoundingBox | null>;
     boxModel(): Promise<BoxModel | null>;
     screenshot(this: CDPElementHandle<Element>, options?: ScreenshotOptions): Promise<string | Buffer>;
+    autofill(data: AutofillData): Promise<void>;
 }
 //# sourceMappingURL=ElementHandle.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ElementHandle.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ElementHandle.d.ts.map
index 134b5b8..6399652 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ElementHandle.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ElementHandle.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"ElementHandle.d.ts","sourceRoot":"","sources":["../../../../src/common/ElementHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ElementHandle.d.ts","sourceRoot":"","sources":["../../../../src/common/ElementHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ElementHandle.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ElementHandle.js
index 73786ed..72c0ec2 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ElementHandle.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ElementHandle.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _CDPElementHandle_instances, _CDPElementHandle_frame, _CDPElementHandle_frameManager_get, _CDPElementHandle_page_get, _CDPElementHandle_getOOPIFOffsets, _CDPElementHandle_getBoxModel, _CDPElementHandle_fromProtocolQuad, _CDPElementHandle_intersectQuadWithViewport;
 import { ElementHandle, } from '../api/ElementHandle.js';
 import { assert } from '../util/assert.js';
 import { CDPJSHandle } from './JSHandle.js';
@@ -42,11 +30,10 @@
  * @internal
  */
 export class CDPElementHandle extends ElementHandle {
+    #frame;
     constructor(context, remoteObject, frame) {
         super(new CDPJSHandle(context, remoteObject));
-        _CDPElementHandle_instances.add(this);
-        _CDPElementHandle_frame.set(this, void 0);
-        __classPrivateFieldSet(this, _CDPElementHandle_frame, frame, "f");
+        this.#frame = frame;
     }
     /**
      * @internal
@@ -63,8 +50,14 @@
     remoteObject() {
         return this.handle.remoteObject();
     }
+    get #frameManager() {
+        return this.#frame._frameManager;
+    }
+    get #page() {
+        return this.#frame.page();
+    }
     get frame() {
-        return __classPrivateFieldGet(this, _CDPElementHandle_frame, "f");
+        return this.#frame;
     }
     async $(selector) {
         return super.$(selector);
@@ -82,7 +75,7 @@
         if (typeof nodeInfo.node.frameId !== 'string') {
             return null;
         }
-        return __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_frameManager_get).frame(nodeInfo.node.frameId);
+        return this.#frameManager.frame(nodeInfo.node.frameId);
     }
     async scrollIntoView() {
         await this.assertConnectedElement();
@@ -97,6 +90,33 @@
             await super.scrollIntoView();
         }
     }
+    async #getOOPIFOffsets(frame) {
+        let offsetX = 0;
+        let offsetY = 0;
+        let currentFrame = frame;
+        while (currentFrame && currentFrame.parentFrame()) {
+            const parent = currentFrame.parentFrame();
+            if (!currentFrame.isOOPFrame() || !parent) {
+                currentFrame = parent;
+                continue;
+            }
+            const { backendNodeId } = await parent._client().send('DOM.getFrameOwner', {
+                frameId: currentFrame._id,
+            });
+            const result = await parent._client().send('DOM.getBoxModel', {
+                backendNodeId: backendNodeId,
+            });
+            if (!result) {
+                break;
+            }
+            const contentBoxQuad = result.model.content;
+            const topLeftCorner = this.#fromProtocolQuad(contentBoxQuad)[0];
+            offsetX += topLeftCorner.x;
+            offsetY += topLeftCorner.y;
+            currentFrame = parent;
+        }
+        return { offsetX, offsetY };
+    }
     async clickablePoint(offset) {
         const [result, layoutMetrics] = await Promise.all([
             this.client
@@ -104,7 +124,7 @@
                 objectId: this.id,
             })
                 .catch(debugError),
-            __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get)._client().send('Page.getLayoutMetrics'),
+            this.#page._client().send('Page.getLayoutMetrics'),
         ]);
         if (!result || !result.quads.length) {
             throw new Error('Node is either not clickable or not an HTMLElement');
@@ -112,16 +132,16 @@
         // Filter out quads that have too small area to click into.
         // Fallback to `layoutViewport` in case of using Firefox.
         const { clientWidth, clientHeight } = layoutMetrics.cssLayoutViewport || layoutMetrics.layoutViewport;
-        const { offsetX, offsetY } = await __classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_getOOPIFOffsets).call(this, __classPrivateFieldGet(this, _CDPElementHandle_frame, "f"));
+        const { offsetX, offsetY } = await this.#getOOPIFOffsets(this.#frame);
         const quads = result.quads
             .map(quad => {
-            return __classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_fromProtocolQuad).call(this, quad);
+            return this.#fromProtocolQuad(quad);
         })
             .map(quad => {
             return applyOffsetsToQuad(quad, offsetX, offsetY);
         })
             .map(quad => {
-            return __classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_intersectQuadWithViewport).call(this, quad, clientWidth, clientHeight);
+            return this.#intersectQuadWithViewport(quad, clientWidth, clientHeight);
         })
             .filter(quad => {
             return computeQuadArea(quad) > 1;
@@ -162,6 +182,30 @@
             y: y / 4,
         };
     }
+    #getBoxModel() {
+        const params = {
+            objectId: this.id,
+        };
+        return this.client.send('DOM.getBoxModel', params).catch(error => {
+            return debugError(error);
+        });
+    }
+    #fromProtocolQuad(quad) {
+        return [
+            { x: quad[0], y: quad[1] },
+            { x: quad[2], y: quad[3] },
+            { x: quad[4], y: quad[5] },
+            { x: quad[6], y: quad[7] },
+        ];
+    }
+    #intersectQuadWithViewport(quad, width, height) {
+        return quad.map(point => {
+            return {
+                x: Math.min(Math.max(point.x, 0), width),
+                y: Math.min(Math.max(point.y, 0), height),
+            };
+        });
+    }
     /**
      * This method scrolls element into view if needed, and then
      * uses {@link Page.mouse} to hover over the center of the element.
@@ -170,7 +214,7 @@
     async hover() {
         await this.scrollIntoViewIfNeeded();
         const { x, y } = await this.clickablePoint();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).mouse.move(x, y);
+        await this.#page.mouse.move(x, y);
     }
     /**
      * This method scrolls element into view if needed, and then
@@ -180,38 +224,38 @@
     async click(options = {}) {
         await this.scrollIntoViewIfNeeded();
         const { x, y } = await this.clickablePoint(options.offset);
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).mouse.click(x, y, options);
+        await this.#page.mouse.click(x, y, options);
     }
     /**
      * This method creates and captures a dragevent from the element.
      */
     async drag(target) {
-        assert(__classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).isDragInterceptionEnabled(), 'Drag Interception is not enabled!');
+        assert(this.#page.isDragInterceptionEnabled(), 'Drag Interception is not enabled!');
         await this.scrollIntoViewIfNeeded();
         const start = await this.clickablePoint();
-        return await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).mouse.drag(start, target);
+        return await this.#page.mouse.drag(start, target);
     }
     async dragEnter(data = { items: [], dragOperationsMask: 1 }) {
         await this.scrollIntoViewIfNeeded();
         const target = await this.clickablePoint();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).mouse.dragEnter(target, data);
+        await this.#page.mouse.dragEnter(target, data);
     }
     async dragOver(data = { items: [], dragOperationsMask: 1 }) {
         await this.scrollIntoViewIfNeeded();
         const target = await this.clickablePoint();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).mouse.dragOver(target, data);
+        await this.#page.mouse.dragOver(target, data);
     }
     async drop(data = { items: [], dragOperationsMask: 1 }) {
         await this.scrollIntoViewIfNeeded();
         const destination = await this.clickablePoint();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).mouse.drop(destination, data);
+        await this.#page.mouse.drop(destination, data);
     }
     async dragAndDrop(target, options) {
-        assert(__classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).isDragInterceptionEnabled(), 'Drag Interception is not enabled!');
+        assert(this.#page.isDragInterceptionEnabled(), 'Drag Interception is not enabled!');
         await this.scrollIntoViewIfNeeded();
         const startPoint = await this.clickablePoint();
         const targetPoint = await target.clickablePoint();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).mouse.dragAndDrop(startPoint, targetPoint, options);
+        await this.#page.mouse.dragAndDrop(startPoint, targetPoint, options);
     }
     async uploadFile(...filePaths) {
         const isMultiple = await this.evaluate(element => {
@@ -264,37 +308,37 @@
     async tap() {
         await this.scrollIntoViewIfNeeded();
         const { x, y } = await this.clickablePoint();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).touchscreen.touchStart(x, y);
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).touchscreen.touchEnd();
+        await this.#page.touchscreen.touchStart(x, y);
+        await this.#page.touchscreen.touchEnd();
     }
     async touchStart() {
         await this.scrollIntoViewIfNeeded();
         const { x, y } = await this.clickablePoint();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).touchscreen.touchStart(x, y);
+        await this.#page.touchscreen.touchStart(x, y);
     }
     async touchMove() {
         await this.scrollIntoViewIfNeeded();
         const { x, y } = await this.clickablePoint();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).touchscreen.touchMove(x, y);
+        await this.#page.touchscreen.touchMove(x, y);
     }
     async touchEnd() {
         await this.scrollIntoViewIfNeeded();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).touchscreen.touchEnd();
+        await this.#page.touchscreen.touchEnd();
     }
     async type(text, options) {
         await this.focus();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).keyboard.type(text, options);
+        await this.#page.keyboard.type(text, options);
     }
     async press(key, options) {
         await this.focus();
-        await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).keyboard.press(key, options);
+        await this.#page.keyboard.press(key, options);
     }
     async boundingBox() {
-        const result = await __classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_getBoxModel).call(this);
+        const result = await this.#getBoxModel();
         if (!result) {
             return null;
         }
-        const { offsetX, offsetY } = await __classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_getOOPIFOffsets).call(this, __classPrivateFieldGet(this, _CDPElementHandle_frame, "f"));
+        const { offsetX, offsetY } = await this.#getOOPIFOffsets(this.#frame);
         const quad = result.model.border;
         const x = Math.min(quad[0], quad[2], quad[4], quad[6]);
         const y = Math.min(quad[1], quad[3], quad[5], quad[7]);
@@ -303,17 +347,17 @@
         return { x: x + offsetX, y: y + offsetY, width, height };
     }
     async boxModel() {
-        const result = await __classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_getBoxModel).call(this);
+        const result = await this.#getBoxModel();
         if (!result) {
             return null;
         }
-        const { offsetX, offsetY } = await __classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_getOOPIFOffsets).call(this, __classPrivateFieldGet(this, _CDPElementHandle_frame, "f"));
+        const { offsetX, offsetY } = await this.#getOOPIFOffsets(this.#frame);
         const { content, padding, border, margin, width, height } = result.model;
         return {
-            content: applyOffsetsToQuad(__classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_fromProtocolQuad).call(this, content), offsetX, offsetY),
-            padding: applyOffsetsToQuad(__classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_fromProtocolQuad).call(this, padding), offsetX, offsetY),
-            border: applyOffsetsToQuad(__classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_fromProtocolQuad).call(this, border), offsetX, offsetY),
-            margin: applyOffsetsToQuad(__classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_fromProtocolQuad).call(this, margin), offsetX, offsetY),
+            content: applyOffsetsToQuad(this.#fromProtocolQuad(content), offsetX, offsetY),
+            padding: applyOffsetsToQuad(this.#fromProtocolQuad(padding), offsetX, offsetY),
+            border: applyOffsetsToQuad(this.#fromProtocolQuad(border), offsetX, offsetY),
+            margin: applyOffsetsToQuad(this.#fromProtocolQuad(margin), offsetX, offsetY),
             width,
             height,
         };
@@ -322,7 +366,7 @@
         let needsViewportReset = false;
         let boundingBox = await this.boundingBox();
         assert(boundingBox, 'Node is either not visible or not an HTMLElement');
-        const viewport = __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).viewport();
+        const viewport = this.#page.viewport();
         if (viewport &&
             (boundingBox.width > viewport.width ||
                 boundingBox.height > viewport.height)) {
@@ -330,7 +374,7 @@
                 width: Math.max(viewport.width, Math.ceil(boundingBox.width)),
                 height: Math.max(viewport.height, Math.ceil(boundingBox.height)),
             };
-            await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).setViewport(Object.assign({}, viewport, newViewport));
+            await this.#page.setViewport(Object.assign({}, viewport, newViewport));
             needsViewportReset = true;
         }
         await this.scrollIntoViewIfNeeded();
@@ -344,67 +388,27 @@
         const clip = Object.assign({}, boundingBox);
         clip.x += pageX;
         clip.y += pageY;
-        const imageData = await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).screenshot(Object.assign({}, {
+        const imageData = await this.#page.screenshot(Object.assign({}, {
             clip,
         }, options));
         if (needsViewportReset && viewport) {
-            await __classPrivateFieldGet(this, _CDPElementHandle_instances, "a", _CDPElementHandle_page_get).setViewport(viewport);
+            await this.#page.setViewport(viewport);
         }
         return imageData;
     }
-}
-_CDPElementHandle_frame = new WeakMap(), _CDPElementHandle_instances = new WeakSet(), _CDPElementHandle_frameManager_get = function _CDPElementHandle_frameManager_get() {
-    return __classPrivateFieldGet(this, _CDPElementHandle_frame, "f")._frameManager;
-}, _CDPElementHandle_page_get = function _CDPElementHandle_page_get() {
-    return __classPrivateFieldGet(this, _CDPElementHandle_frame, "f").page();
-}, _CDPElementHandle_getOOPIFOffsets = async function _CDPElementHandle_getOOPIFOffsets(frame) {
-    let offsetX = 0;
-    let offsetY = 0;
-    let currentFrame = frame;
-    while (currentFrame && currentFrame.parentFrame()) {
-        const parent = currentFrame.parentFrame();
-        if (!currentFrame.isOOPFrame() || !parent) {
-            currentFrame = parent;
-            continue;
-        }
-        const { backendNodeId } = await parent._client().send('DOM.getFrameOwner', {
-            frameId: currentFrame._id,
+    async autofill(data) {
+        const nodeInfo = await this.client.send('DOM.describeNode', {
+            objectId: this.handle.id,
         });
-        const result = await parent._client().send('DOM.getBoxModel', {
-            backendNodeId: backendNodeId,
+        const fieldId = nodeInfo.node.backendNodeId;
+        const frameId = this.#frame._id;
+        await this.client.send('Autofill.trigger', {
+            fieldId,
+            frameId,
+            card: data.creditCard,
         });
-        if (!result) {
-            break;
-        }
-        const contentBoxQuad = result.model.content;
-        const topLeftCorner = __classPrivateFieldGet(this, _CDPElementHandle_instances, "m", _CDPElementHandle_fromProtocolQuad).call(this, contentBoxQuad)[0];
-        offsetX += topLeftCorner.x;
-        offsetY += topLeftCorner.y;
-        currentFrame = parent;
     }
-    return { offsetX, offsetY };
-}, _CDPElementHandle_getBoxModel = function _CDPElementHandle_getBoxModel() {
-    const params = {
-        objectId: this.id,
-    };
-    return this.client.send('DOM.getBoxModel', params).catch(error => {
-        return debugError(error);
-    });
-}, _CDPElementHandle_fromProtocolQuad = function _CDPElementHandle_fromProtocolQuad(quad) {
-    return [
-        { x: quad[0], y: quad[1] },
-        { x: quad[2], y: quad[3] },
-        { x: quad[4], y: quad[5] },
-        { x: quad[6], y: quad[7] },
-    ];
-}, _CDPElementHandle_intersectQuadWithViewport = function _CDPElementHandle_intersectQuadWithViewport(quad, width, height) {
-    return quad.map(point => {
-        return {
-            x: Math.min(Math.max(point.x, 0), width),
-            y: Math.min(Math.max(point.y, 0), height),
-        };
-    });
-};
+}
 function computeQuadArea(quad) {
     /* Compute sum of all directed areas of adjacent triangles
        https://en.wikipedia.org/wiki/Polygon#Simple_polygons
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ElementHandle.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ElementHandle.js.map
index 39f4405..a179d26 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ElementHandle.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ElementHandle.js.map
@@ -1 +1 @@
-{"version":3,"file":"ElementHandle.js","sourceRoot":"","sources":["../../../../src/common/ElementHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ElementHandle.js","sourceRoot":"","sources":["../../../../src/common/ElementHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/EmulationManager.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/EmulationManager.js
index f47cce2..a948ff6 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/EmulationManager.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/EmulationManager.js
@@ -1,30 +1,18 @@
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _EmulationManager_client, _EmulationManager_emulatingMobile, _EmulationManager_hasTouch, _EmulationManager_javascriptEnabled;
 import { assert } from '../util/assert.js';
 import { isErrorLike } from '../util/ErrorLike.js';
 /**
  * @internal
  */
 export class EmulationManager {
+    #client;
+    #emulatingMobile = false;
+    #hasTouch = false;
+    #javascriptEnabled = true;
     constructor(client) {
-        _EmulationManager_client.set(this, void 0);
-        _EmulationManager_emulatingMobile.set(this, false);
-        _EmulationManager_hasTouch.set(this, false);
-        _EmulationManager_javascriptEnabled.set(this, true);
-        __classPrivateFieldSet(this, _EmulationManager_client, client, "f");
+        this.#client = client;
     }
     get javascriptEnabled() {
-        return __classPrivateFieldGet(this, _EmulationManager_javascriptEnabled, "f");
+        return this.#javascriptEnabled;
     }
     async emulateViewport(viewport) {
         const mobile = viewport.isMobile || false;
@@ -36,36 +24,36 @@
             : { angle: 0, type: 'portraitPrimary' };
         const hasTouch = viewport.hasTouch || false;
         await Promise.all([
-            __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setDeviceMetricsOverride', {
+            this.#client.send('Emulation.setDeviceMetricsOverride', {
                 mobile,
                 width,
                 height,
                 deviceScaleFactor,
                 screenOrientation,
             }),
-            __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setTouchEmulationEnabled', {
+            this.#client.send('Emulation.setTouchEmulationEnabled', {
                 enabled: hasTouch,
             }),
         ]);
-        const reloadNeeded = __classPrivateFieldGet(this, _EmulationManager_emulatingMobile, "f") !== mobile || __classPrivateFieldGet(this, _EmulationManager_hasTouch, "f") !== hasTouch;
-        __classPrivateFieldSet(this, _EmulationManager_emulatingMobile, mobile, "f");
-        __classPrivateFieldSet(this, _EmulationManager_hasTouch, hasTouch, "f");
+        const reloadNeeded = this.#emulatingMobile !== mobile || this.#hasTouch !== hasTouch;
+        this.#emulatingMobile = mobile;
+        this.#hasTouch = hasTouch;
         return reloadNeeded;
     }
     async emulateIdleState(overrides) {
         if (overrides) {
-            await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setIdleOverride', {
+            await this.#client.send('Emulation.setIdleOverride', {
                 isUserActive: overrides.isUserActive,
                 isScreenUnlocked: overrides.isScreenUnlocked,
             });
         }
         else {
-            await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.clearIdleOverride');
+            await this.#client.send('Emulation.clearIdleOverride');
         }
     }
     async emulateTimezone(timezoneId) {
         try {
-            await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setTimezoneOverride', {
+            await this.#client.send('Emulation.setTimezoneOverride', {
                 timezoneId: timezoneId || '',
             });
         }
@@ -87,7 +75,7 @@
         ]);
         try {
             assert(!type || visionDeficiencies.has(type), `Unsupported vision deficiency: ${type}`);
-            await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setEmulatedVisionDeficiency', {
+            await this.#client.send('Emulation.setEmulatedVisionDeficiency', {
                 type: type || 'none',
             });
         }
@@ -97,20 +85,20 @@
     }
     async emulateCPUThrottling(factor) {
         assert(factor === null || factor >= 1, 'Throttling rate should be greater or equal to 1');
-        await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setCPUThrottlingRate', {
+        await this.#client.send('Emulation.setCPUThrottlingRate', {
             rate: factor ?? 1,
         });
     }
     async emulateMediaFeatures(features) {
         if (!features) {
-            await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setEmulatedMedia', {});
+            await this.#client.send('Emulation.setEmulatedMedia', {});
         }
         if (Array.isArray(features)) {
             for (const mediaFeature of features) {
                 const name = mediaFeature.name;
                 assert(/^(?:prefers-(?:color-scheme|reduced-motion)|color-gamut)$/.test(name), 'Unsupported media feature: ' + name);
             }
-            await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setEmulatedMedia', {
+            await this.#client.send('Emulation.setEmulatedMedia', {
                 features: features,
             });
         }
@@ -119,7 +107,7 @@
         assert(type === 'screen' ||
             type === 'print' ||
             (type ?? undefined) === undefined, 'Unsupported media type: ' + type);
-        await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setEmulatedMedia', {
+        await this.#client.send('Emulation.setEmulatedMedia', {
             media: type || '',
         });
     }
@@ -134,7 +122,7 @@
         if (accuracy < 0) {
             throw new Error(`Invalid accuracy "${accuracy}": precondition 0 <= ACCURACY failed.`);
         }
-        await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setGeolocationOverride', {
+        await this.#client.send('Emulation.setGeolocationOverride', {
             longitude,
             latitude,
             accuracy,
@@ -144,25 +132,24 @@
      * Resets default white background
      */
     async resetDefaultBackgroundColor() {
-        await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setDefaultBackgroundColorOverride');
+        await this.#client.send('Emulation.setDefaultBackgroundColorOverride');
     }
     /**
      * Hides default white background
      */
     async setTransparentBackgroundColor() {
-        await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setDefaultBackgroundColorOverride', {
+        await this.#client.send('Emulation.setDefaultBackgroundColorOverride', {
             color: { r: 0, g: 0, b: 0, a: 0 },
         });
     }
     async setJavaScriptEnabled(enabled) {
-        if (__classPrivateFieldGet(this, _EmulationManager_javascriptEnabled, "f") === enabled) {
+        if (this.#javascriptEnabled === enabled) {
             return;
         }
-        __classPrivateFieldSet(this, _EmulationManager_javascriptEnabled, enabled, "f");
-        await __classPrivateFieldGet(this, _EmulationManager_client, "f").send('Emulation.setScriptExecutionDisabled', {
+        this.#javascriptEnabled = enabled;
+        await this.#client.send('Emulation.setScriptExecutionDisabled', {
             value: !enabled,
         });
     }
 }
-_EmulationManager_client = new WeakMap(), _EmulationManager_emulatingMobile = new WeakMap(), _EmulationManager_hasTouch = new WeakMap(), _EmulationManager_javascriptEnabled = new WeakMap();
 //# sourceMappingURL=EmulationManager.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/EmulationManager.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/EmulationManager.js.map
index af29470..83f8df9 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/EmulationManager.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/EmulationManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"EmulationManager.js","sourceRoot":"","sources":["../../../../src/common/EmulationManager.ts"],"names":[],"mappings":";;;;;;;;;;;;AAkBA,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAKjD;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAM3B,YAAY,MAAkB;QAL9B,2CAAoB;QACpB,4CAAmB,KAAK,EAAC;QACzB,qCAAY,KAAK,EAAC;QAClB,8CAAqB,IAAI,EAAC;QAGxB,uBAAA,IAAI,4BAAW,MAAM,MAAA,CAAC;IACxB,CAAC;IAED,IAAI,iBAAiB;QACnB,OAAO,uBAAA,IAAI,2CAAmB,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAkB;QACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,IAAI,KAAK,CAAC;QAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,MAAM,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,IAAI,CAAC,CAAC;QAC1D,MAAM,iBAAiB,GACrB,QAAQ,CAAC,WAAW;YAClB,CAAC,CAAC,EAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAC;YACvC,CAAC,CAAC,EAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,KAAK,CAAC;QAE5C,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,uBAAA,IAAI,gCAAQ,CAAC,IAAI,CAAC,oCAAoC,EAAE;gBACtD,MAAM;gBACN,KAAK;gBACL,MAAM;gBACN,iBAAiB;gBACjB,iBAAiB;aAClB,CAAC;YACF,uBAAA,IAAI,gCAAQ,CAAC,IAAI,CAAC,oCAAoC,EAAE;gBACtD,OAAO,EAAE,QAAQ;aAClB,CAAC;SACH,CAAC,CAAC;QAEH,MAAM,YAAY,GAChB,uBAAA,IAAI,yCAAiB,KAAK,MAAM,IAAI,uBAAA,IAAI,kCAAU,KAAK,QAAQ,CAAC;QAClE,uBAAA,IAAI,qCAAoB,MAAM,MAAA,CAAC;QAC/B,uBAAA,IAAI,8BAAa,QAAQ,MAAA,CAAC;QAC1B,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAGtB;QACC,IAAI,SAAS,EAAE;YACb,MAAM,uBAAA,IAAI,gCAAQ,CAAC,IAAI,CAAC,2BAA2B,EAAE;gBACnD,YAAY,EAAE,SAAS,CAAC,YAAY;gBACpC,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;aAC7C,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,uBAAA,IAAI,gCAAQ,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;SACxD;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAmB;QACvC,IAAI;YACF,MAAM,uBAAA,IAAI,gCAAQ,CAAC,IAAI,CAAC,+BAA+B,EAAE;gBACvD,UAAU,EAAE,UAAU,IAAI,EAAE;aAC7B,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE;gBACpE,MAAM,IAAI,KAAK,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;aACvD;YACD,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAED,KAAK,CAAC,uBAAuB,CAC3B,IAAoE;QAEpE,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAEhC;YACA,MAAM;YACN,eAAe;YACf,eAAe;YACf,cAAc;YACd,YAAY;YACZ,YAAY;SACb,CAAC,CAAC;QACH,IAAI;YACF,MAAM,CACJ,CAAC,IAAI,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EACrC,kCAAkC,IAAI,EAAE,CACzC,CAAC;YACF,MAAM,uBAAA,IAAI,gCAAQ,CAAC,IAAI,CAAC,uCAAuC,EAAE;gBAC/D,IAAI,EAAE,IAAI,IAAI,MAAM;aACrB,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,KAAK,CAAC;SACb;IACH,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAAqB;QAC9C,MAAM,CACJ,MAAM,KAAK,IAAI,IAAI,MAAM,IAAI,CAAC,EAC9B,iDAAiD,CAClD,CAAC;QACF,MAAM,uBAAA,IAAI,gCAAQ,CAAC,IAAI,CAAC,gCAAgC,EAAE;YACxD,IAAI,EAAE,MAAM,IAAI,CAAC;SAClB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,QAAyB;QAClD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,uBAAA,IAAI,gCAAQ,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;SAC3D;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3B,KAAK,MAAM,YAAY,IAAI,QAAQ,EAAE;gBACnC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;gBAC/B,MAAM,CACJ,2DAA2D,CAAC,IAAI,CAC9D,IAAI,CACL,EACD,6BAA6B,GAAG,IAAI,CACrC,CAAC;aACH;YACD,MAAM,uBAAA,IAAI,gCAAQ,CAAC,IAAI,CAAC,4BAA4B,EAAE;gBACpD,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAC;SACJ;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAAa;QAClC,MAAM,CACJ,IAAI,KAAK,QAAQ;YACf,IAAI,KAAK,OAAO;YAChB,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,SAAS,EACnC,0BAA0B,GAAG,IAAI,CAClC,CAAC;QACF,MAAM,uBAAA,IAAI,gCAAQ,CAAC,IAAI,CAAC,4BAA4B,EAAE;YACpD,KAAK,EAAE,IAAI,IAAI,EAAE;SAClB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAA2B;QAC9C,MAAM,EAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,CAAC,EAAC,GAAG,OAAO,CAAC;QACpD,IAAI,SAAS,GAAG,CAAC,GAAG,IAAI,SAAS,GAAG,GAAG,EAAE;YACvC,MAAM,IAAI,KAAK,CACb,sBAAsB,SAAS,kDAAkD,CAClF,CAAC;SACH;QACD,IAAI,QAAQ,GAAG,CAAC,EAAE,IAAI,QAAQ,GAAG,EAAE,EAAE;YACnC,MAAM,IAAI,KAAK,CACb,qBAAqB,QAAQ,+CAA+C,CAC7E,CAAC;SACH;QACD,IAAI,QAAQ,GAAG,CAAC,EAAE;YAChB,MAAM,IAAI,KAAK,CACb,qBAAqB,QAAQ,uCAAuC,CACrE,CAAC;SACH;QACD,MAAM,uBAAA,IAAI,gCAAQ,CAAC,IAAI,CAAC,kCAAkC,EAAE;YAC1D,SAAS;YACT,QAAQ;YACR,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,2BAA2B;QAC/B,MAAM,uBAAA,IAAI,gCAAQ,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,6BAA6B;QACjC,MAAM,uBAAA,IAAI,gCAAQ,CAAC,IAAI,CAAC,6CAA6C,EAAE;YACrE,KAAK,EAAE,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,OAAgB;QACzC,IAAI,uBAAA,IAAI,2CAAmB,KAAK,OAAO,EAAE;YACvC,OAAO;SACR;QACD,uBAAA,IAAI,uCAAsB,OAAO,MAAA,CAAC;QAClC,MAAM,uBAAA,IAAI,gCAAQ,CAAC,IAAI,CAAC,sCAAsC,EAAE;YAC9D,KAAK,EAAE,CAAC,OAAO;SAChB,CAAC,CAAC;IACL,CAAC;CACF"}
\ No newline at end of file
+{"version":3,"file":"EmulationManager.js","sourceRoot":"","sources":["../../../../src/common/EmulationManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js
index d387292..f319355 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _ProtocolError_code, _ProtocolError_originalMessage;
 /**
  * @deprecated Do not use.
  *
@@ -58,33 +46,29 @@
  * @public
  */
 export class ProtocolError extends CustomError {
-    constructor() {
-        super(...arguments);
-        _ProtocolError_code.set(this, void 0);
-        _ProtocolError_originalMessage.set(this, '');
-    }
+    #code;
+    #originalMessage = '';
     set code(code) {
-        __classPrivateFieldSet(this, _ProtocolError_code, code, "f");
+        this.#code = code;
     }
     /**
      * @readonly
      * @public
      */
     get code() {
-        return __classPrivateFieldGet(this, _ProtocolError_code, "f");
+        return this.#code;
     }
     set originalMessage(originalMessage) {
-        __classPrivateFieldSet(this, _ProtocolError_originalMessage, originalMessage, "f");
+        this.#originalMessage = originalMessage;
     }
     /**
      * @readonly
      * @public
      */
     get originalMessage() {
-        return __classPrivateFieldGet(this, _ProtocolError_originalMessage, "f");
+        return this.#originalMessage;
     }
 }
-_ProtocolError_code = new WeakMap(), _ProtocolError_originalMessage = new WeakMap();
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js.map
index d12dea4..6e83a74 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js.map
@@ -1 +1 @@
-{"version":3,"file":"Errors.js","sourceRoot":"","sources":["../../../../src/common/Errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;AAEH;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC;;OAEG;IACH,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,YAAa,SAAQ,WAAW;CAAG;AAEhD;;;;GAIG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAA9C;;QACE,sCAAe;QACf,yCAAmB,EAAE,EAAC;IAuBxB,CAAC;IArBC,IAAI,IAAI,CAAC,IAAwB;QAC/B,uBAAA,IAAI,uBAAS,IAAI,MAAA,CAAC;IACpB,CAAC;IACD;;;OAGG;IACH,IAAI,IAAI;QACN,OAAO,uBAAA,IAAI,2BAAM,CAAC;IACpB,CAAC;IAED,IAAI,eAAe,CAAC,eAAuB;QACzC,uBAAA,IAAI,kCAAoB,eAAe,MAAA,CAAC;IAC1C,CAAC;IACD;;;OAGG;IACH,IAAI,eAAe;QACjB,OAAO,uBAAA,IAAI,sCAAiB,CAAC;IAC/B,CAAC;CACF;;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,aAAa;CAAG;AAYtD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,MAAM,GAAoB,MAAM,CAAC,MAAM,CAAC;IACnD,YAAY;IACZ,aAAa;CACd,CAAC,CAAC"}
\ No newline at end of file
+{"version":3,"file":"Errors.js","sourceRoot":"","sources":["../../../../src/common/Errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;;;GAIG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC;;OAEG;IACH,YAAY,OAAgB;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,YAAa,SAAQ,WAAW;CAAG;AAEhD;;;;GAIG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,KAAK,CAAU;IACf,gBAAgB,GAAG,EAAE,CAAC;IAEtB,IAAI,IAAI,CAAC,IAAwB;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IACD;;;OAGG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,eAAe,CAAC,eAAuB;QACzC,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC1C,CAAC;IACD;;;OAGG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,aAAa;CAAG;AAYtD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,MAAM,MAAM,GAAoB,MAAM,CAAC,MAAM,CAAC;IACnD,YAAY;IACZ,aAAa;CACd,CAAC,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js
index f8e0aae..6dfc14d 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js
@@ -27,11 +27,12 @@
  * @public
  */
 export class EventEmitter {
+    emitter;
+    eventsMap = new Map();
     /**
      * @internal
      */
     constructor() {
-        this.eventsMap = new Map();
         this.emitter = mitt(this.eventsMap);
     }
     /**
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js.map
index cc0bfa8..a7b4ab5 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js.map
@@ -1 +1 @@
-{"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../../../../src/common/EventEmitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,IAAgC,MAAM,iCAAiC,CAAC;AA8B/E;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,YAAY;IAIvB;;OAEG;IACH;QALQ,cAAS,GAAkD,IAAI,GAAG,EAAE,CAAC;QAM3E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,EAAE,CAAC,KAAgB,EAAE,OAAqB;QACxC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,KAAgB,EAAE,OAAqB;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,KAAgB,EAAE,OAAqB;QACpD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,KAAgB,EAAE,OAAqB;QACjD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,KAAgB,EAAE,SAAmB;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,KAAgB,EAAE,OAAqB;QAC1C,MAAM,WAAW,GAAiB,SAAS,CAAC,EAAE;YAC5C,OAAO,CAAC,SAAS,CAAC,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,KAAgB;QAC5B,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,KAAiB;QAClC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SACxB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,mBAAmB,CAAC,KAAgB;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IAChD,CAAC;CACF"}
\ No newline at end of file
+{"version":3,"file":"EventEmitter.js","sourceRoot":"","sources":["../../../../src/common/EventEmitter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,IAAgC,MAAM,iCAAiC,CAAC;AA8B/E;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,YAAY;IACf,OAAO,CAAwC;IAC/C,SAAS,GAAkD,IAAI,GAAG,EAAE,CAAC;IAE7E;;OAEG;IACH;QACE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,EAAE,CAAC,KAAgB,EAAE,OAAqB;QACxC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,KAAgB,EAAE,OAAqB;QACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,KAAgB,EAAE,OAAqB;QACpD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,KAAgB,EAAE,OAAqB;QACjD,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,KAAgB,EAAE,SAAmB;QACxC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,KAAgB,EAAE,OAAqB;QAC1C,MAAM,WAAW,GAAiB,SAAS,CAAC,EAAE;YAC5C,OAAO,CAAC,SAAS,CAAC,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC/B,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,KAAgB;QAC5B,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,KAAiB;QAClC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;SACxB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,mBAAmB,CAAC,KAAgB;QAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;IAChD,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.d.ts.map
index 76160cb..f874aab 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"ExecutionContext.d.ts","sourceRoot":"","sources":["../../../../src/common/ExecutionContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AAMzD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAIjD,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,YAAY,CAAC;AAgBnD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,gBAAgB;;IAC3B,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;gBAGpB,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,2BAA2B,EAC5D,KAAK,CAAC,EAAE,aAAa;IAYvB,IAAI,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAmCpD;IAeD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACG,QAAQ,CACZ,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAIrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACG,cAAc,CAClB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CA+IjD"}
\ No newline at end of file
+{"version":3,"file":"ExecutionContext.d.ts","sourceRoot":"","sources":["../../../../src/common/ExecutionContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,aAAa,MAAM,yBAAyB,CAAC;AAMzD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAIjD,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,YAAY,CAAC;AAgBnD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,gBAAgB;;IAC3B,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;gBAGpB,MAAM,EAAE,UAAU,EAClB,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,2BAA2B,EAC5D,KAAK,CAAC,EAAE,aAAa;IAYvB,IAAI,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAsCpD;IAeD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACG,QAAQ,CACZ,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAIrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;IACG,cAAc,CAClB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;CA+IjD"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.js
index 20fc186..e44f824 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _ExecutionContext_instances, _ExecutionContext_bindingsInstalled, _ExecutionContext_puppeteerUtil, _ExecutionContext_installGlobalBinding, _ExecutionContext_evaluate;
 import { AsyncIterableUtil } from '../util/AsyncIterableUtil.js';
 import { stringifyFunction } from '../util/Function.js';
 import { ARIAQueryHandler } from './AriaQueryHandler.js';
@@ -61,10 +49,11 @@
  * @internal
  */
 export class ExecutionContext {
+    _client;
+    _world;
+    _contextId;
+    _contextName;
     constructor(client, contextPayload, world) {
-        _ExecutionContext_instances.add(this);
-        _ExecutionContext_bindingsInstalled.set(this, false);
-        _ExecutionContext_puppeteerUtil.set(this, void 0);
         this._client = client;
         this._world = world;
         this._contextId = contextPayload.id;
@@ -72,31 +61,46 @@
             this._contextName = contextPayload.name;
         }
     }
+    #bindingsInstalled = false;
+    #puppeteerUtil;
     get puppeteerUtil() {
         let promise = Promise.resolve();
-        if (!__classPrivateFieldGet(this, _ExecutionContext_bindingsInstalled, "f")) {
+        if (!this.#bindingsInstalled) {
             promise = Promise.all([
-                __classPrivateFieldGet(this, _ExecutionContext_instances, "m", _ExecutionContext_installGlobalBinding).call(this, new Binding('__ariaQuerySelector', ARIAQueryHandler.queryOne)),
-                __classPrivateFieldGet(this, _ExecutionContext_instances, "m", _ExecutionContext_installGlobalBinding).call(this, new Binding('__ariaQuerySelectorAll', (async (element, selector) => {
+                this.#installGlobalBinding(new Binding('__ariaQuerySelector', ARIAQueryHandler.queryOne)),
+                this.#installGlobalBinding(new Binding('__ariaQuerySelectorAll', (async (element, selector) => {
                     const results = ARIAQueryHandler.queryAll(element, selector);
                     return element.executionContext().evaluateHandle((...elements) => {
                         return elements;
                     }, ...(await AsyncIterableUtil.collect(results)));
                 }))),
             ]);
-            __classPrivateFieldSet(this, _ExecutionContext_bindingsInstalled, true, "f");
+            this.#bindingsInstalled = true;
         }
         scriptInjector.inject(script => {
-            if (__classPrivateFieldGet(this, _ExecutionContext_puppeteerUtil, "f")) {
-                void __classPrivateFieldGet(this, _ExecutionContext_puppeteerUtil, "f").then(handle => {
+            if (this.#puppeteerUtil) {
+                void this.#puppeteerUtil.then(handle => {
                     void handle.dispose();
                 });
             }
-            __classPrivateFieldSet(this, _ExecutionContext_puppeteerUtil, promise.then(() => {
+            this.#puppeteerUtil = promise.then(() => {
                 return this.evaluateHandle(script);
-            }), "f");
-        }, !__classPrivateFieldGet(this, _ExecutionContext_puppeteerUtil, "f"));
-        return __classPrivateFieldGet(this, _ExecutionContext_puppeteerUtil, "f");
+            });
+        }, !this.#puppeteerUtil);
+        return this.#puppeteerUtil;
+    }
+    async #installGlobalBinding(binding) {
+        try {
+            if (this._world) {
+                this._world._bindings.set(binding.name, binding);
+                await this._world._addBindingToContext(this, binding.name);
+            }
+        }
+        catch {
+            // If the binding cannot be added, then either the browser doesn't support
+            // bindings (e.g. Firefox) or the context is broken. Either breakage is
+            // okay, so we ignore the error.
+        }
     }
     /**
      * Evaluates the given function.
@@ -139,7 +143,7 @@
      * returned.
      */
     async evaluate(pageFunction, ...args) {
-        return await __classPrivateFieldGet(this, _ExecutionContext_instances, "m", _ExecutionContext_evaluate).call(this, true, pageFunction, ...args);
+        return await this.#evaluate(true, pageFunction, ...args);
     }
     /**
      * Evaluates the given function.
@@ -191,118 +195,106 @@
      * {@link ElementHandle | element handle}.
      */
     async evaluateHandle(pageFunction, ...args) {
-        return __classPrivateFieldGet(this, _ExecutionContext_instances, "m", _ExecutionContext_evaluate).call(this, false, pageFunction, ...args);
+        return this.#evaluate(false, pageFunction, ...args);
     }
-}
-_ExecutionContext_bindingsInstalled = new WeakMap(), _ExecutionContext_puppeteerUtil = new WeakMap(), _ExecutionContext_instances = new WeakSet(), _ExecutionContext_installGlobalBinding = async function _ExecutionContext_installGlobalBinding(binding) {
-    try {
-        if (this._world) {
-            this._world._bindings.set(binding.name, binding);
-            await this._world._addBindingToContext(this, binding.name);
+    async #evaluate(returnByValue, pageFunction, ...args) {
+        const sourceUrlComment = getSourceUrlComment(getSourcePuppeteerURLIfAvailable(pageFunction)?.toString() ??
+            PuppeteerURL.INTERNAL_URL);
+        if (isString(pageFunction)) {
+            const contextId = this._contextId;
+            const expression = pageFunction;
+            const expressionWithSourceUrl = SOURCE_URL_REGEX.test(expression)
+                ? expression
+                : `${expression}\n${sourceUrlComment}\n`;
+            const { exceptionDetails, result: remoteObject } = await this._client
+                .send('Runtime.evaluate', {
+                expression: expressionWithSourceUrl,
+                contextId,
+                returnByValue,
+                awaitPromise: true,
+                userGesture: true,
+            })
+                .catch(rewriteError);
+            if (exceptionDetails) {
+                throw createEvaluationError(exceptionDetails);
+            }
+            return returnByValue
+                ? valueFromRemoteObject(remoteObject)
+                : createJSHandle(this, remoteObject);
         }
-    }
-    catch {
-        // If the binding cannot be added, then either the browser doesn't support
-        // bindings (e.g. Firefox) or the context is broken. Either breakage is
-        // okay, so we ignore the error.
-    }
-}, _ExecutionContext_evaluate = async function _ExecutionContext_evaluate(returnByValue, pageFunction, ...args) {
-    const sourceUrlComment = getSourceUrlComment(getSourcePuppeteerURLIfAvailable(pageFunction)?.toString() ??
-        PuppeteerURL.INTERNAL_URL);
-    if (isString(pageFunction)) {
-        const contextId = this._contextId;
-        const expression = pageFunction;
-        const expressionWithSourceUrl = SOURCE_URL_REGEX.test(expression)
-            ? expression
-            : `${expression}\n${sourceUrlComment}\n`;
-        const { exceptionDetails, result: remoteObject } = await this._client
-            .send('Runtime.evaluate', {
-            expression: expressionWithSourceUrl,
-            contextId,
-            returnByValue,
-            awaitPromise: true,
-            userGesture: true,
-        })
-            .catch(rewriteError);
+        const functionDeclaration = stringifyFunction(pageFunction);
+        const functionDeclarationWithSourceUrl = SOURCE_URL_REGEX.test(functionDeclaration)
+            ? functionDeclaration
+            : `${functionDeclaration}\n${sourceUrlComment}\n`;
+        let callFunctionOnPromise;
+        try {
+            callFunctionOnPromise = this._client.send('Runtime.callFunctionOn', {
+                functionDeclaration: functionDeclarationWithSourceUrl,
+                executionContextId: this._contextId,
+                arguments: await Promise.all(args.map(convertArgument.bind(this))),
+                returnByValue,
+                awaitPromise: true,
+                userGesture: true,
+            });
+        }
+        catch (error) {
+            if (error instanceof TypeError &&
+                error.message.startsWith('Converting circular structure to JSON')) {
+                error.message += ' Recursive objects are not allowed.';
+            }
+            throw error;
+        }
+        const { exceptionDetails, result: remoteObject } = await callFunctionOnPromise.catch(rewriteError);
         if (exceptionDetails) {
             throw createEvaluationError(exceptionDetails);
         }
         return returnByValue
             ? valueFromRemoteObject(remoteObject)
             : createJSHandle(this, remoteObject);
-    }
-    const functionDeclaration = stringifyFunction(pageFunction);
-    const functionDeclarationWithSourceUrl = SOURCE_URL_REGEX.test(functionDeclaration)
-        ? functionDeclaration
-        : `${functionDeclaration}\n${sourceUrlComment}\n`;
-    let callFunctionOnPromise;
-    try {
-        callFunctionOnPromise = this._client.send('Runtime.callFunctionOn', {
-            functionDeclaration: functionDeclarationWithSourceUrl,
-            executionContextId: this._contextId,
-            arguments: await Promise.all(args.map(convertArgument.bind(this))),
-            returnByValue,
-            awaitPromise: true,
-            userGesture: true,
-        });
-    }
-    catch (error) {
-        if (error instanceof TypeError &&
-            error.message.startsWith('Converting circular structure to JSON')) {
-            error.message += ' Recursive objects are not allowed.';
-        }
-        throw error;
-    }
-    const { exceptionDetails, result: remoteObject } = await callFunctionOnPromise.catch(rewriteError);
-    if (exceptionDetails) {
-        throw createEvaluationError(exceptionDetails);
-    }
-    return returnByValue
-        ? valueFromRemoteObject(remoteObject)
-        : createJSHandle(this, remoteObject);
-    async function convertArgument(arg) {
-        if (arg instanceof LazyArg) {
-            arg = await arg.get(this);
-        }
-        if (typeof arg === 'bigint') {
-            // eslint-disable-line valid-typeof
-            return { unserializableValue: `${arg.toString()}n` };
-        }
-        if (Object.is(arg, -0)) {
-            return { unserializableValue: '-0' };
-        }
-        if (Object.is(arg, Infinity)) {
-            return { unserializableValue: 'Infinity' };
-        }
-        if (Object.is(arg, -Infinity)) {
-            return { unserializableValue: '-Infinity' };
-        }
-        if (Object.is(arg, NaN)) {
-            return { unserializableValue: 'NaN' };
-        }
-        const objectHandle = arg && (arg instanceof CDPJSHandle || arg instanceof CDPElementHandle)
-            ? arg
-            : null;
-        if (objectHandle) {
-            if (objectHandle.executionContext() !== this) {
-                throw new Error('JSHandles can be evaluated only in the context they were created!');
+        async function convertArgument(arg) {
+            if (arg instanceof LazyArg) {
+                arg = await arg.get(this);
             }
-            if (objectHandle.disposed) {
-                throw new Error('JSHandle is disposed!');
+            if (typeof arg === 'bigint') {
+                // eslint-disable-line valid-typeof
+                return { unserializableValue: `${arg.toString()}n` };
             }
-            if (objectHandle.remoteObject().unserializableValue) {
-                return {
-                    unserializableValue: objectHandle.remoteObject().unserializableValue,
-                };
+            if (Object.is(arg, -0)) {
+                return { unserializableValue: '-0' };
             }
-            if (!objectHandle.remoteObject().objectId) {
-                return { value: objectHandle.remoteObject().value };
+            if (Object.is(arg, Infinity)) {
+                return { unserializableValue: 'Infinity' };
             }
-            return { objectId: objectHandle.remoteObject().objectId };
+            if (Object.is(arg, -Infinity)) {
+                return { unserializableValue: '-Infinity' };
+            }
+            if (Object.is(arg, NaN)) {
+                return { unserializableValue: 'NaN' };
+            }
+            const objectHandle = arg && (arg instanceof CDPJSHandle || arg instanceof CDPElementHandle)
+                ? arg
+                : null;
+            if (objectHandle) {
+                if (objectHandle.executionContext() !== this) {
+                    throw new Error('JSHandles can be evaluated only in the context they were created!');
+                }
+                if (objectHandle.disposed) {
+                    throw new Error('JSHandle is disposed!');
+                }
+                if (objectHandle.remoteObject().unserializableValue) {
+                    return {
+                        unserializableValue: objectHandle.remoteObject().unserializableValue,
+                    };
+                }
+                if (!objectHandle.remoteObject().objectId) {
+                    return { value: objectHandle.remoteObject().value };
+                }
+                return { objectId: objectHandle.remoteObject().objectId };
+            }
+            return { value: arg };
         }
-        return { value: arg };
     }
-};
+}
 const rewriteError = (error) => {
     if (error.message.includes('Object reference chain is too long')) {
         return { result: { type: 'undefined' } };
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.js.map
index f1b649c..3eb0d45 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.js.map
@@ -1 +1 @@
-{"version":3,"file":"ExecutionContext.js","sourceRoot":"","sources":["../../../../src/common/ExecutionContext.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ExecutionContext.js","sourceRoot":"","sources":["../../../../src/common/ExecutionContext.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.js
index 6d61684..33b9f5b 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _FileChooser_element, _FileChooser_multiple, _FileChooser_handled;
 import { assert } from '../util/assert.js';
 /**
  * File choosers let you react to the page requesting for a file.
@@ -49,15 +37,15 @@
  * @public
  */
 export class FileChooser {
+    #element;
+    #multiple;
+    #handled = false;
     /**
      * @internal
      */
     constructor(element, event) {
-        _FileChooser_element.set(this, void 0);
-        _FileChooser_multiple.set(this, void 0);
-        _FileChooser_handled.set(this, false);
-        __classPrivateFieldSet(this, _FileChooser_element, element, "f");
-        __classPrivateFieldSet(this, _FileChooser_multiple, event.mode !== 'selectSingle', "f");
+        this.#element = element;
+        this.#multiple = event.mode !== 'selectSingle';
     }
     /**
      * Whether file chooser allow for
@@ -65,7 +53,7 @@
      * file selection.
      */
     isMultiple() {
-        return __classPrivateFieldGet(this, _FileChooser_multiple, "f");
+        return this.#multiple;
     }
     /**
      * Accept the file chooser request with the given file paths.
@@ -77,17 +65,16 @@
      * absolute.
      */
     async accept(paths) {
-        assert(!__classPrivateFieldGet(this, _FileChooser_handled, "f"), 'Cannot accept FileChooser which is already handled!');
-        __classPrivateFieldSet(this, _FileChooser_handled, true, "f");
-        await __classPrivateFieldGet(this, _FileChooser_element, "f").uploadFile(...paths);
+        assert(!this.#handled, 'Cannot accept FileChooser which is already handled!');
+        this.#handled = true;
+        await this.#element.uploadFile(...paths);
     }
     /**
      * Closes the file chooser without selecting any files.
      */
     cancel() {
-        assert(!__classPrivateFieldGet(this, _FileChooser_handled, "f"), 'Cannot cancel FileChooser which is already handled!');
-        __classPrivateFieldSet(this, _FileChooser_handled, true, "f");
+        assert(!this.#handled, 'Cannot cancel FileChooser which is already handled!');
+        this.#handled = true;
     }
 }
-_FileChooser_element = new WeakMap(), _FileChooser_multiple = new WeakMap(), _FileChooser_handled = new WeakMap();
 //# sourceMappingURL=FileChooser.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.js.map
index 8643f44..246628b 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.js.map
@@ -1 +1 @@
-{"version":3,"file":"FileChooser.js","sourceRoot":"","sources":["../../../../src/common/FileChooser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;AAKH,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,WAAW;IAKtB;;OAEG;IACH,YACE,OAAwC,EACxC,KAA2C;QAT7C,uCAA0C;QAC1C,wCAAmB;QACnB,+BAAW,KAAK,EAAC;QASf,uBAAA,IAAI,wBAAY,OAAO,MAAA,CAAC;QACxB,uBAAA,IAAI,yBAAa,KAAK,CAAC,IAAI,KAAK,cAAc,MAAA,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,OAAO,uBAAA,IAAI,6BAAU,CAAC;IACxB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CAAC,KAAe;QAC1B,MAAM,CACJ,CAAC,uBAAA,IAAI,4BAAS,EACd,qDAAqD,CACtD,CAAC;QACF,uBAAA,IAAI,wBAAY,IAAI,MAAA,CAAC;QACrB,MAAM,uBAAA,IAAI,4BAAS,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,MAAM,CACJ,CAAC,uBAAA,IAAI,4BAAS,EACd,qDAAqD,CACtD,CAAC;QACF,uBAAA,IAAI,wBAAY,IAAI,MAAA,CAAC;IACvB,CAAC;CACF"}
\ No newline at end of file
+{"version":3,"file":"FileChooser.js","sourceRoot":"","sources":["../../../../src/common/FileChooser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,WAAW;IACtB,QAAQ,CAAkC;IAC1C,SAAS,CAAU;IACnB,QAAQ,GAAG,KAAK,CAAC;IAEjB;;OAEG;IACH,YACE,OAAwC,EACxC,KAA2C;QAE3C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CAAC,KAAe;QAC1B,MAAM,CACJ,CAAC,IAAI,CAAC,QAAQ,EACd,qDAAqD,CACtD,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,MAAM,CACJ,CAAC,IAAI,CAAC,QAAQ,EACd,qDAAqD,CACtD,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FirefoxTargetManager.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FirefoxTargetManager.d.ts
index 1077905..2bb36ae 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FirefoxTargetManager.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FirefoxTargetManager.d.ts
@@ -16,7 +16,7 @@
 import { TargetFilterCallback } from '../api/Browser.js';
 import { CDPSession, Connection } from './Connection.js';
 import { EventEmitter } from './EventEmitter.js';
-import { Target } from './Target.js';
+import { CDPTarget } from './Target.js';
 import { TargetFactory, TargetInterceptor, TargetManager } from './TargetManager.js';
 /**
  * FirefoxTargetManager implements target management using
@@ -39,7 +39,7 @@
     removeTargetInterceptor(client: CDPSession | Connection, interceptor: TargetInterceptor): void;
     setupAttachmentListeners(session: CDPSession | Connection): void;
     removeSessionListeners(session: CDPSession): void;
-    getAvailableTargets(): Map<string, Target>;
+    getAvailableTargets(): Map<string, CDPTarget>;
     dispose(): void;
     initialize(): Promise<void>;
 }
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FirefoxTargetManager.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FirefoxTargetManager.d.ts.map
index 8c5fa7b..7487c7f 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FirefoxTargetManager.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FirefoxTargetManager.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"FirefoxTargetManager.d.ts","sourceRoot":"","sources":["../../../../src/common/FirefoxTargetManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAIvD,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EACL,aAAa,EACb,iBAAiB,EAEjB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;GAaG;AACH,qBAAa,oBACX,SAAQ,YACR,YAAW,aAAa;;gBA8CtB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,oBAAoB,CAAC,EAAE,oBAAoB;IAa7C,oBAAoB,CAClB,MAAM,EAAE,UAAU,GAAG,UAAU,EAC/B,WAAW,EAAE,iBAAiB,GAC7B,IAAI;IAMP,uBAAuB,CACrB,MAAM,EAAE,UAAU,GAAG,UAAU,EAC/B,WAAW,EAAE,iBAAiB,GAC7B,IAAI;IAUP,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI;IAehE,sBAAsB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAUjD,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI1C,OAAO,IAAI,IAAI;IAKT,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CA6FlC"}
\ No newline at end of file
+{"version":3,"file":"FirefoxTargetManager.d.ts","sourceRoot":"","sources":["../../../../src/common/FirefoxTargetManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,oBAAoB,EAAC,MAAM,mBAAmB,CAAC;AAIvD,OAAO,EAAC,UAAU,EAAE,UAAU,EAAC,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EACL,aAAa,EACb,iBAAiB,EAEjB,aAAa,EACd,MAAM,oBAAoB,CAAC;AAE5B;;;;;;;;;;;;;GAaG;AACH,qBAAa,oBACX,SAAQ,YACR,YAAW,aAAa;;gBA+CtB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,aAAa,EAC5B,oBAAoB,CAAC,EAAE,oBAAoB;IAa7C,oBAAoB,CAClB,MAAM,EAAE,UAAU,GAAG,UAAU,EAC/B,WAAW,EAAE,iBAAiB,GAC7B,IAAI;IAMP,uBAAuB,CACrB,MAAM,EAAE,UAAU,GAAG,UAAU,EAC/B,WAAW,EAAE,iBAAiB,GAC7B,IAAI;IAUP,wBAAwB,CAAC,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI;IAehE,sBAAsB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI;IAUjD,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC;IAI7C,OAAO,IAAI,IAAI;IAKT,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CA2FlC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FirefoxTargetManager.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FirefoxTargetManager.js
index f504bed..7ad8118 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FirefoxTargetManager.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FirefoxTargetManager.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _FirefoxTargetManager_instances, _FirefoxTargetManager_connection, _FirefoxTargetManager_discoveredTargetsByTargetId, _FirefoxTargetManager_availableTargetsByTargetId, _FirefoxTargetManager_availableTargetsBySessionId, _FirefoxTargetManager_ignoredTargets, _FirefoxTargetManager_targetFilterCallback, _FirefoxTargetManager_targetFactory, _FirefoxTargetManager_targetInterceptors, _FirefoxTargetManager_attachedToTargetListenersBySession, _FirefoxTargetManager_initializeDeferred, _FirefoxTargetManager_targetsIdsForInit, _FirefoxTargetManager_onSessionDetached, _FirefoxTargetManager_onTargetCreated, _FirefoxTargetManager_onTargetDestroyed, _FirefoxTargetManager_onAttachedToTarget, _FirefoxTargetManager_finishInitializationIfReady;
 import { assert } from '../util/assert.js';
 import { Deferred } from '../util/Deferred.js';
 import { Connection } from './Connection.js';
@@ -44,151 +32,151 @@
  *   @internal
  */
 export class FirefoxTargetManager extends EventEmitter {
+    #connection;
+    /**
+     * Keeps track of the following events: 'Target.targetCreated',
+     * 'Target.targetDestroyed'.
+     *
+     * A target becomes discovered when 'Target.targetCreated' is received.
+     * A target is removed from this map once 'Target.targetDestroyed' is
+     * received.
+     *
+     * `targetFilterCallback` has no effect on this map.
+     */
+    #discoveredTargetsByTargetId = new Map();
+    /**
+     * Keeps track of targets that were created via 'Target.targetCreated'
+     * and which one are not filtered out by `targetFilterCallback`.
+     *
+     * The target is removed from here once it's been destroyed.
+     */
+    #availableTargetsByTargetId = new Map();
+    /**
+     * Tracks which sessions attach to which target.
+     */
+    #availableTargetsBySessionId = new Map();
+    /**
+     * If a target was filtered out by `targetFilterCallback`, we still receive
+     * events about it from CDP, but we don't forward them to the rest of Puppeteer.
+     */
+    #ignoredTargets = new Set();
+    #targetFilterCallback;
+    #targetFactory;
+    #targetInterceptors = new WeakMap();
+    #attachedToTargetListenersBySession = new WeakMap();
+    #initializeDeferred = Deferred.create();
+    #targetsIdsForInit = new Set();
     constructor(connection, targetFactory, targetFilterCallback) {
         super();
-        _FirefoxTargetManager_instances.add(this);
-        _FirefoxTargetManager_connection.set(this, void 0);
-        /**
-         * Keeps track of the following events: 'Target.targetCreated',
-         * 'Target.targetDestroyed'.
-         *
-         * A target becomes discovered when 'Target.targetCreated' is received.
-         * A target is removed from this map once 'Target.targetDestroyed' is
-         * received.
-         *
-         * `targetFilterCallback` has no effect on this map.
-         */
-        _FirefoxTargetManager_discoveredTargetsByTargetId.set(this, new Map());
-        /**
-         * Keeps track of targets that were created via 'Target.targetCreated'
-         * and which one are not filtered out by `targetFilterCallback`.
-         *
-         * The target is removed from here once it's been destroyed.
-         */
-        _FirefoxTargetManager_availableTargetsByTargetId.set(this, new Map());
-        /**
-         * Tracks which sessions attach to which target.
-         */
-        _FirefoxTargetManager_availableTargetsBySessionId.set(this, new Map());
-        /**
-         * If a target was filtered out by `targetFilterCallback`, we still receive
-         * events about it from CDP, but we don't forward them to the rest of Puppeteer.
-         */
-        _FirefoxTargetManager_ignoredTargets.set(this, new Set());
-        _FirefoxTargetManager_targetFilterCallback.set(this, void 0);
-        _FirefoxTargetManager_targetFactory.set(this, void 0);
-        _FirefoxTargetManager_targetInterceptors.set(this, new WeakMap());
-        _FirefoxTargetManager_attachedToTargetListenersBySession.set(this, new WeakMap());
-        _FirefoxTargetManager_initializeDeferred.set(this, Deferred.create());
-        _FirefoxTargetManager_targetsIdsForInit.set(this, new Set());
-        _FirefoxTargetManager_onSessionDetached.set(this, (session) => {
-            this.removeSessionListeners(session);
-            __classPrivateFieldGet(this, _FirefoxTargetManager_targetInterceptors, "f").delete(session);
-            __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsBySessionId, "f").delete(session.id());
-        });
-        _FirefoxTargetManager_onTargetCreated.set(this, async (event) => {
-            if (__classPrivateFieldGet(this, _FirefoxTargetManager_discoveredTargetsByTargetId, "f").has(event.targetInfo.targetId)) {
-                return;
-            }
-            __classPrivateFieldGet(this, _FirefoxTargetManager_discoveredTargetsByTargetId, "f").set(event.targetInfo.targetId, event.targetInfo);
-            if (event.targetInfo.type === 'browser' && event.targetInfo.attached) {
-                const target = __classPrivateFieldGet(this, _FirefoxTargetManager_targetFactory, "f").call(this, event.targetInfo, undefined);
-                __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsByTargetId, "f").set(event.targetInfo.targetId, target);
-                __classPrivateFieldGet(this, _FirefoxTargetManager_instances, "m", _FirefoxTargetManager_finishInitializationIfReady).call(this, target._targetId);
-                return;
-            }
-            if (__classPrivateFieldGet(this, _FirefoxTargetManager_targetFilterCallback, "f") &&
-                !__classPrivateFieldGet(this, _FirefoxTargetManager_targetFilterCallback, "f").call(this, event.targetInfo)) {
-                __classPrivateFieldGet(this, _FirefoxTargetManager_ignoredTargets, "f").add(event.targetInfo.targetId);
-                __classPrivateFieldGet(this, _FirefoxTargetManager_instances, "m", _FirefoxTargetManager_finishInitializationIfReady).call(this, event.targetInfo.targetId);
-                return;
-            }
-            const target = __classPrivateFieldGet(this, _FirefoxTargetManager_targetFactory, "f").call(this, event.targetInfo, undefined);
-            __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsByTargetId, "f").set(event.targetInfo.targetId, target);
-            this.emit("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, target);
-            __classPrivateFieldGet(this, _FirefoxTargetManager_instances, "m", _FirefoxTargetManager_finishInitializationIfReady).call(this, target._targetId);
-        });
-        _FirefoxTargetManager_onTargetDestroyed.set(this, (event) => {
-            __classPrivateFieldGet(this, _FirefoxTargetManager_discoveredTargetsByTargetId, "f").delete(event.targetId);
-            __classPrivateFieldGet(this, _FirefoxTargetManager_instances, "m", _FirefoxTargetManager_finishInitializationIfReady).call(this, event.targetId);
-            const target = __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsByTargetId, "f").get(event.targetId);
-            if (target) {
-                this.emit("targetGone" /* TargetManagerEmittedEvents.TargetGone */, target);
-                __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsByTargetId, "f").delete(event.targetId);
-            }
-        });
-        _FirefoxTargetManager_onAttachedToTarget.set(this, async (parentSession, event) => {
-            const targetInfo = event.targetInfo;
-            const session = __classPrivateFieldGet(this, _FirefoxTargetManager_connection, "f").session(event.sessionId);
-            if (!session) {
-                throw new Error(`Session ${event.sessionId} was not created.`);
-            }
-            const target = __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsByTargetId, "f").get(targetInfo.targetId);
-            assert(target, `Target ${targetInfo.targetId} is missing`);
-            this.setupAttachmentListeners(session);
-            __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsBySessionId, "f").set(session.id(), __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsByTargetId, "f").get(targetInfo.targetId));
-            for (const hook of __classPrivateFieldGet(this, _FirefoxTargetManager_targetInterceptors, "f").get(parentSession) || []) {
-                if (!(parentSession instanceof Connection)) {
-                    assert(__classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsBySessionId, "f").has(parentSession.id()));
-                }
-                await hook(target, parentSession instanceof Connection
-                    ? null
-                    : __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsBySessionId, "f").get(parentSession.id()));
-            }
-        });
-        __classPrivateFieldSet(this, _FirefoxTargetManager_connection, connection, "f");
-        __classPrivateFieldSet(this, _FirefoxTargetManager_targetFilterCallback, targetFilterCallback, "f");
-        __classPrivateFieldSet(this, _FirefoxTargetManager_targetFactory, targetFactory, "f");
-        __classPrivateFieldGet(this, _FirefoxTargetManager_connection, "f").on('Target.targetCreated', __classPrivateFieldGet(this, _FirefoxTargetManager_onTargetCreated, "f"));
-        __classPrivateFieldGet(this, _FirefoxTargetManager_connection, "f").on('Target.targetDestroyed', __classPrivateFieldGet(this, _FirefoxTargetManager_onTargetDestroyed, "f"));
-        __classPrivateFieldGet(this, _FirefoxTargetManager_connection, "f").on('sessiondetached', __classPrivateFieldGet(this, _FirefoxTargetManager_onSessionDetached, "f"));
-        this.setupAttachmentListeners(__classPrivateFieldGet(this, _FirefoxTargetManager_connection, "f"));
+        this.#connection = connection;
+        this.#targetFilterCallback = targetFilterCallback;
+        this.#targetFactory = targetFactory;
+        this.#connection.on('Target.targetCreated', this.#onTargetCreated);
+        this.#connection.on('Target.targetDestroyed', this.#onTargetDestroyed);
+        this.#connection.on('sessiondetached', this.#onSessionDetached);
+        this.setupAttachmentListeners(this.#connection);
     }
     addTargetInterceptor(client, interceptor) {
-        const interceptors = __classPrivateFieldGet(this, _FirefoxTargetManager_targetInterceptors, "f").get(client) || [];
+        const interceptors = this.#targetInterceptors.get(client) || [];
         interceptors.push(interceptor);
-        __classPrivateFieldGet(this, _FirefoxTargetManager_targetInterceptors, "f").set(client, interceptors);
+        this.#targetInterceptors.set(client, interceptors);
     }
     removeTargetInterceptor(client, interceptor) {
-        const interceptors = __classPrivateFieldGet(this, _FirefoxTargetManager_targetInterceptors, "f").get(client) || [];
-        __classPrivateFieldGet(this, _FirefoxTargetManager_targetInterceptors, "f").set(client, interceptors.filter(currentInterceptor => {
+        const interceptors = this.#targetInterceptors.get(client) || [];
+        this.#targetInterceptors.set(client, interceptors.filter(currentInterceptor => {
             return currentInterceptor !== interceptor;
         }));
     }
     setupAttachmentListeners(session) {
         const listener = (event) => {
-            return __classPrivateFieldGet(this, _FirefoxTargetManager_onAttachedToTarget, "f").call(this, session, event);
+            return this.#onAttachedToTarget(session, event);
         };
-        assert(!__classPrivateFieldGet(this, _FirefoxTargetManager_attachedToTargetListenersBySession, "f").has(session));
-        __classPrivateFieldGet(this, _FirefoxTargetManager_attachedToTargetListenersBySession, "f").set(session, listener);
+        assert(!this.#attachedToTargetListenersBySession.has(session));
+        this.#attachedToTargetListenersBySession.set(session, listener);
         session.on('Target.attachedToTarget', listener);
     }
+    #onSessionDetached = (session) => {
+        this.removeSessionListeners(session);
+        this.#targetInterceptors.delete(session);
+        this.#availableTargetsBySessionId.delete(session.id());
+    };
     removeSessionListeners(session) {
-        if (__classPrivateFieldGet(this, _FirefoxTargetManager_attachedToTargetListenersBySession, "f").has(session)) {
-            session.off('Target.attachedToTarget', __classPrivateFieldGet(this, _FirefoxTargetManager_attachedToTargetListenersBySession, "f").get(session));
-            __classPrivateFieldGet(this, _FirefoxTargetManager_attachedToTargetListenersBySession, "f").delete(session);
+        if (this.#attachedToTargetListenersBySession.has(session)) {
+            session.off('Target.attachedToTarget', this.#attachedToTargetListenersBySession.get(session));
+            this.#attachedToTargetListenersBySession.delete(session);
         }
     }
     getAvailableTargets() {
-        return __classPrivateFieldGet(this, _FirefoxTargetManager_availableTargetsByTargetId, "f");
+        return this.#availableTargetsByTargetId;
     }
     dispose() {
-        __classPrivateFieldGet(this, _FirefoxTargetManager_connection, "f").off('Target.targetCreated', __classPrivateFieldGet(this, _FirefoxTargetManager_onTargetCreated, "f"));
-        __classPrivateFieldGet(this, _FirefoxTargetManager_connection, "f").off('Target.targetDestroyed', __classPrivateFieldGet(this, _FirefoxTargetManager_onTargetDestroyed, "f"));
+        this.#connection.off('Target.targetCreated', this.#onTargetCreated);
+        this.#connection.off('Target.targetDestroyed', this.#onTargetDestroyed);
     }
     async initialize() {
-        await __classPrivateFieldGet(this, _FirefoxTargetManager_connection, "f").send('Target.setDiscoverTargets', {
+        await this.#connection.send('Target.setDiscoverTargets', {
             discover: true,
             filter: [{}],
         });
-        __classPrivateFieldSet(this, _FirefoxTargetManager_targetsIdsForInit, new Set(__classPrivateFieldGet(this, _FirefoxTargetManager_discoveredTargetsByTargetId, "f").keys()), "f");
-        await __classPrivateFieldGet(this, _FirefoxTargetManager_initializeDeferred, "f").valueOrThrow();
+        this.#targetsIdsForInit = new Set(this.#discoveredTargetsByTargetId.keys());
+        await this.#initializeDeferred.valueOrThrow();
+    }
+    #onTargetCreated = async (event) => {
+        if (this.#discoveredTargetsByTargetId.has(event.targetInfo.targetId)) {
+            return;
+        }
+        this.#discoveredTargetsByTargetId.set(event.targetInfo.targetId, event.targetInfo);
+        if (event.targetInfo.type === 'browser' && event.targetInfo.attached) {
+            const target = this.#targetFactory(event.targetInfo, undefined);
+            target._initialize();
+            this.#availableTargetsByTargetId.set(event.targetInfo.targetId, target);
+            this.#finishInitializationIfReady(target._targetId);
+            return;
+        }
+        const target = this.#targetFactory(event.targetInfo, undefined);
+        if (this.#targetFilterCallback && !this.#targetFilterCallback(target)) {
+            this.#ignoredTargets.add(event.targetInfo.targetId);
+            this.#finishInitializationIfReady(event.targetInfo.targetId);
+            return;
+        }
+        target._initialize();
+        this.#availableTargetsByTargetId.set(event.targetInfo.targetId, target);
+        this.emit("targetAvailable" /* TargetManagerEmittedEvents.TargetAvailable */, target);
+        this.#finishInitializationIfReady(target._targetId);
+    };
+    #onTargetDestroyed = (event) => {
+        this.#discoveredTargetsByTargetId.delete(event.targetId);
+        this.#finishInitializationIfReady(event.targetId);
+        const target = this.#availableTargetsByTargetId.get(event.targetId);
+        if (target) {
+            this.emit("targetGone" /* TargetManagerEmittedEvents.TargetGone */, target);
+            this.#availableTargetsByTargetId.delete(event.targetId);
+        }
+    };
+    #onAttachedToTarget = async (parentSession, event) => {
+        const targetInfo = event.targetInfo;
+        const session = this.#connection.session(event.sessionId);
+        if (!session) {
+            throw new Error(`Session ${event.sessionId} was not created.`);
+        }
+        const target = this.#availableTargetsByTargetId.get(targetInfo.targetId);
+        assert(target, `Target ${targetInfo.targetId} is missing`);
+        this.setupAttachmentListeners(session);
+        this.#availableTargetsBySessionId.set(session.id(), this.#availableTargetsByTargetId.get(targetInfo.targetId));
+        for (const hook of this.#targetInterceptors.get(parentSession) || []) {
+            if (!(parentSession instanceof Connection)) {
+                assert(this.#availableTargetsBySessionId.has(parentSession.id()));
+            }
+            await hook(target, parentSession instanceof Connection
+                ? null
+                : this.#availableTargetsBySessionId.get(parentSession.id()));
+        }
+    };
+    #finishInitializationIfReady(targetId) {
+        this.#targetsIdsForInit.delete(targetId);
+        if (this.#targetsIdsForInit.size === 0) {
+            this.#initializeDeferred.resolve();
+        }
     }
 }
-_FirefoxTargetManager_connection = new WeakMap(), _FirefoxTargetManager_discoveredTargetsByTargetId = new WeakMap(), _FirefoxTargetManager_availableTargetsByTargetId = new WeakMap(), _FirefoxTargetManager_availableTargetsBySessionId = new WeakMap(), _FirefoxTargetManager_ignoredTargets = new WeakMap(), _FirefoxTargetManager_targetFilterCallback = new WeakMap(), _FirefoxTargetManager_targetFactory = new WeakMap(), _FirefoxTargetManager_targetInterceptors = new WeakMap(), _FirefoxTargetManager_attachedToTargetListenersBySession = new WeakMap(), _FirefoxTargetManager_initializeDeferred = new WeakMap(), _FirefoxTargetManager_targetsIdsForInit = new WeakMap(), _FirefoxTargetManager_onSessionDetached = new WeakMap(), _FirefoxTargetManager_onTargetCreated = new WeakMap(), _FirefoxTargetManager_onTargetDestroyed = new WeakMap(), _FirefoxTargetManager_onAttachedToTarget = new WeakMap(), _FirefoxTargetManager_instances = new WeakSet(), _FirefoxTargetManager_finishInitializationIfReady = function _FirefoxTargetManager_finishInitializationIfReady(targetId) {
-    __classPrivateFieldGet(this, _FirefoxTargetManager_targetsIdsForInit, "f").delete(targetId);
-    if (__classPrivateFieldGet(this, _FirefoxTargetManager_targetsIdsForInit, "f").size === 0) {
-        __classPrivateFieldGet(this, _FirefoxTargetManager_initializeDeferred, "f").resolve();
-    }
-};
 //# sourceMappingURL=FirefoxTargetManager.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FirefoxTargetManager.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FirefoxTargetManager.js.map
index 1e5a3cc..2a59150 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FirefoxTargetManager.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FirefoxTargetManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"FirefoxTargetManager.js","sourceRoot":"","sources":["../../../../src/common/FirefoxTargetManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"FirefoxTargetManager.js","sourceRoot":"","sources":["../../../../src/common/FirefoxTargetManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Frame.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Frame.d.ts
index eb9a426..7e26718 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Frame.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Frame.d.ts
@@ -15,14 +15,14 @@
  */
 import { Protocol } from 'devtools-protocol';
 import { ElementHandle } from '../api/ElementHandle.js';
-import { Frame as BaseFrame, FrameAddScriptTagOptions, FrameAddStyleTagOptions } from '../api/Frame.js';
+import { Frame as BaseFrame } from '../api/Frame.js';
 import { HTTPResponse } from '../api/HTTPResponse.js';
 import { Page, WaitTimeoutOptions } from '../api/Page.js';
 import { CDPSession } from './Connection.js';
 import { DeviceRequestPrompt, DeviceRequestPromptManager } from './DeviceRequestPrompt.js';
 import { ExecutionContext } from './ExecutionContext.js';
 import { FrameManager } from './FrameManager.js';
-import { IsolatedWorld, IsolatedWorldChart } from './IsolatedWorld.js';
+import { IsolatedWorld } from './IsolatedWorld.js';
 import { PuppeteerLifeCycleEvent } from './LifecycleWatcher.js';
 import { EvaluateFunc, EvaluateFuncWith, HandleFor, NodeFor } from './types.js';
 /**
@@ -30,11 +30,9 @@
  */
 export declare class Frame extends BaseFrame {
     #private;
-    worlds: IsolatedWorldChart;
     _frameManager: FrameManager;
     _id: string;
     _loaderId: string;
-    _name?: string;
     _hasStartedLoading: boolean;
     _lifecycleEvents: Set<string>;
     _parentId?: string;
@@ -79,9 +77,6 @@
     parentFrame(): Frame | null;
     childFrames(): Frame[];
     isDetached(): boolean;
-    addScriptTag(options: FrameAddScriptTagOptions): Promise<ElementHandle<HTMLScriptElement>>;
-    addStyleTag(options: Omit<FrameAddStyleTagOptions, 'url'>): Promise<ElementHandle<HTMLStyleElement>>;
-    addStyleTag(options: FrameAddStyleTagOptions): Promise<ElementHandle<HTMLLinkElement>>;
     title(): Promise<string>;
     _deviceRequestPromptManager(): DeviceRequestPromptManager;
     waitForDevicePrompt(options?: WaitTimeoutOptions): Promise<DeviceRequestPrompt>;
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Frame.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Frame.d.ts.map
index 0fd5edc..588cbe2 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Frame.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Frame.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Frame.d.ts","sourceRoot":"","sources":["../../../../src/common/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Frame.d.ts","sourceRoot":"","sources":["../../../../src/common/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Frame.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Frame.js
index 2797a22..6b4918b 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Frame.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Frame.js
@@ -13,49 +13,39 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Frame_url, _Frame_detached, _Frame_client;
-import { Frame as BaseFrame, } from '../api/Frame.js';
+import { Frame as BaseFrame } from '../api/Frame.js';
 import { assert } from '../util/assert.js';
 import { Deferred } from '../util/Deferred.js';
 import { isErrorLike } from '../util/ErrorLike.js';
 import { IsolatedWorld } from './IsolatedWorld.js';
 import { MAIN_WORLD, PUPPETEER_WORLD } from './IsolatedWorlds.js';
-import { LazyArg } from './LazyArg.js';
 import { LifecycleWatcher } from './LifecycleWatcher.js';
-import { importFSPromises, withSourcePuppeteerURLIfNone } from './util.js';
+import { withSourcePuppeteerURLIfNone } from './util.js';
 /**
  * @internal
  */
 export class Frame extends BaseFrame {
+    #url = '';
+    #detached = false;
+    #client;
+    _frameManager;
+    _id;
+    _loaderId = '';
+    _hasStartedLoading = false;
+    _lifecycleEvents = new Set();
+    _parentId;
     constructor(frameManager, frameId, parentFrameId, client) {
         super();
-        _Frame_url.set(this, '');
-        _Frame_detached.set(this, false);
-        _Frame_client.set(this, void 0);
-        this._loaderId = '';
-        this._hasStartedLoading = false;
-        this._lifecycleEvents = new Set();
         this._frameManager = frameManager;
-        __classPrivateFieldSet(this, _Frame_url, '', "f");
+        this.#url = '';
         this._id = frameId;
         this._parentId = parentFrameId;
-        __classPrivateFieldSet(this, _Frame_detached, false, "f");
+        this.#detached = false;
         this._loaderId = '';
         this.updateClient(client);
     }
     updateClient(client) {
-        __classPrivateFieldSet(this, _Frame_client, client, "f");
+        this.#client = client;
         this.worlds = {
             [MAIN_WORLD]: new IsolatedWorld(this),
             [PUPPETEER_WORLD]: new IsolatedWorld(this),
@@ -65,14 +55,14 @@
         return this._frameManager.page();
     }
     isOOPFrame() {
-        return __classPrivateFieldGet(this, _Frame_client, "f") !== this._frameManager.client;
+        return this.#client !== this._frameManager.client;
     }
     async goto(url, options = {}) {
         const { referer = this._frameManager.networkManager.extraHTTPHeaders()['referer'], referrerPolicy = this._frameManager.networkManager.extraHTTPHeaders()['referer-policy'], waitUntil = ['load'], timeout = this._frameManager.timeoutSettings.navigationTimeout(), } = options;
         let ensureNewDocumentNavigation = false;
         const watcher = new LifecycleWatcher(this._frameManager, this, waitUntil, timeout);
         let error = await Deferred.race([
-            navigate(__classPrivateFieldGet(this, _Frame_client, "f"), url, referer, referrerPolicy, this._id),
+            navigate(this.#client, url, referer, referrerPolicy, this._id),
             watcher.terminationPromise(),
         ]);
         if (!error) {
@@ -135,7 +125,7 @@
         }
     }
     _client() {
-        return __classPrivateFieldGet(this, _Frame_client, "f");
+        return this.#client;
     }
     executionContext() {
         return this.worlds[MAIN_WORLD].executionContext();
@@ -187,7 +177,7 @@
         return this._name || '';
     }
     url() {
-        return __classPrivateFieldGet(this, _Frame_url, "f");
+        return this.#url;
     }
     parentFrame() {
         return this._frameManager._frameTree.parentFrame(this._id) || null;
@@ -196,91 +186,14 @@
         return this._frameManager._frameTree.childFrames(this._id);
     }
     isDetached() {
-        return __classPrivateFieldGet(this, _Frame_detached, "f");
-    }
-    async addScriptTag(options) {
-        let { content = '', type } = options;
-        const { path } = options;
-        if (+!!options.url + +!!path + +!!content !== 1) {
-            throw new Error('Exactly one of `url`, `path`, or `content` must be specified.');
-        }
-        if (path) {
-            const fs = await importFSPromises();
-            content = await fs.readFile(path, 'utf8');
-            content += `//# sourceURL=${path.replace(/\n/g, '')}`;
-        }
-        type = type ?? 'text/javascript';
-        return this.mainRealm().transferHandle(await this.isolatedRealm().evaluateHandle(async ({ Deferred }, { url, id, type, content }) => {
-            const deferred = Deferred.create();
-            const script = document.createElement('script');
-            script.type = type;
-            script.text = content;
-            if (url) {
-                script.src = url;
-                script.addEventListener('load', () => {
-                    return deferred.resolve();
-                }, { once: true });
-                script.addEventListener('error', event => {
-                    deferred.reject(new Error(event.message ?? 'Could not load script'));
-                }, { once: true });
-            }
-            else {
-                deferred.resolve();
-            }
-            if (id) {
-                script.id = id;
-            }
-            document.head.appendChild(script);
-            await deferred.valueOrThrow();
-            return script;
-        }, LazyArg.create(context => {
-            return context.puppeteerUtil;
-        }), { ...options, type, content }));
-    }
-    async addStyleTag(options) {
-        let { content = '' } = options;
-        const { path } = options;
-        if (+!!options.url + +!!path + +!!content !== 1) {
-            throw new Error('Exactly one of `url`, `path`, or `content` must be specified.');
-        }
-        if (path) {
-            const fs = await importFSPromises();
-            content = await fs.readFile(path, 'utf8');
-            content += '/*# sourceURL=' + path.replace(/\n/g, '') + '*/';
-            options.content = content;
-        }
-        return this.mainRealm().transferHandle(await this.isolatedRealm().evaluateHandle(async ({ Deferred }, { url, content }) => {
-            const deferred = Deferred.create();
-            let element;
-            if (!url) {
-                element = document.createElement('style');
-                element.appendChild(document.createTextNode(content));
-            }
-            else {
-                const link = document.createElement('link');
-                link.rel = 'stylesheet';
-                link.href = url;
-                element = link;
-            }
-            element.addEventListener('load', () => {
-                deferred.resolve();
-            }, { once: true });
-            element.addEventListener('error', event => {
-                deferred.reject(new Error(event.message ?? 'Could not load style'));
-            }, { once: true });
-            document.head.appendChild(element);
-            await deferred.valueOrThrow();
-            return element;
-        }, LazyArg.create(context => {
-            return context.puppeteerUtil;
-        }), options));
+        return this.#detached;
     }
     async title() {
         return this.isolatedRealm().title();
     }
     _deviceRequestPromptManager() {
         if (this.isOOPFrame()) {
-            return this._frameManager._deviceRequestPromptManager(__classPrivateFieldGet(this, _Frame_client, "f"));
+            return this._frameManager._deviceRequestPromptManager(this.#client);
         }
         const parentFrame = this.parentFrame();
         assert(parentFrame !== null);
@@ -291,10 +204,10 @@
     }
     _navigated(framePayload) {
         this._name = framePayload.name;
-        __classPrivateFieldSet(this, _Frame_url, `${framePayload.url}${framePayload.urlFragment || ''}`, "f");
+        this.#url = `${framePayload.url}${framePayload.urlFragment || ''}`;
     }
     _navigatedWithinDocument(url) {
-        __classPrivateFieldSet(this, _Frame_url, url, "f");
+        this.#url = url;
     }
     _onLifecycleEvent(loaderId, name) {
         if (name === 'init') {
@@ -311,10 +224,9 @@
         this._hasStartedLoading = true;
     }
     _detach() {
-        __classPrivateFieldSet(this, _Frame_detached, true, "f");
+        this.#detached = true;
         this.worlds[MAIN_WORLD]._detach();
         this.worlds[PUPPETEER_WORLD]._detach();
     }
 }
-_Frame_url = new WeakMap(), _Frame_detached = new WeakMap(), _Frame_client = new WeakMap();
 //# sourceMappingURL=Frame.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Frame.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Frame.js.map
index 0127e50..d038965 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Frame.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Frame.js.map
@@ -1 +1 @@
-{"version":3,"file":"Frame.js","sourceRoot":"","sources":["../../../../src/common/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Frame.js","sourceRoot":"","sources":["../../../../src/common/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.d.ts
index ffd384b..8c33eb4 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.d.ts
@@ -21,7 +21,7 @@
 import { Frame } from './Frame.js';
 import { FrameTree } from './FrameTree.js';
 import { NetworkManager } from './NetworkManager.js';
-import { Target } from './Target.js';
+import { CDPTarget } from './Target.js';
 import { TimeoutSettings } from './TimeoutSettings.js';
 /**
  * @internal
@@ -66,7 +66,7 @@
     mainFrame(): Frame;
     frames(): Frame[];
     frame(frameId: string): Frame | null;
-    onAttachedToTarget(target: Target): void;
+    onAttachedToTarget(target: CDPTarget): void;
     /**
      * @internal
      */
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.d.ts.map
index 68395fd..21ef68e 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"FrameManager.d.ts","sourceRoot":"","sources":["../../../../src/common/FrameManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAIpC,OAAO,EAAC,UAAU,EAAsB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAC,0BAA0B,EAAC,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAGzC,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AACnC,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAGrD;;GAEG;AACH,eAAO,MAAM,kBAAkB,gCAAgC,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;CAWrC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,YAAY;;IAO5C;;OAEG;IACH,UAAU,mBAA0B;IAcpC,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,IAAI,MAAM,IAAI,UAAU,CAEvB;gBAGC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,IAAI,EACV,iBAAiB,EAAE,OAAO,EAC1B,eAAe,EAAE,eAAe;IAUlC,OAAO,CAAC,mBAAmB;IAwCrB,UAAU,CAAC,MAAM,GAAE,UAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BlE,oBAAoB,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,UAAyB,GACjC,gBAAgB;IAMnB,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,UAAyB,GACjC,gBAAgB,GAAG,SAAS;IAI/B,IAAI,IAAI,IAAI;IAIZ,SAAS,IAAI,KAAK;IAMlB,MAAM,IAAI,KAAK,EAAE;IAIjB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAIpC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAaxC;;OAEG;IACH,2BAA2B,CAAC,MAAM,EAAE,UAAU,GAAG,0BAA0B;CAuP5E"}
\ No newline at end of file
+{"version":3,"file":"FrameManager.d.ts","sourceRoot":"","sources":["../../../../src/common/FrameManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAIpC,OAAO,EAAC,UAAU,EAAsB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAC,0BAA0B,EAAC,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAGzC,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAGrD;;GAEG;AACH,eAAO,MAAM,kBAAkB,gCAAgC,CAAC;AAEhE;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;CAWrC,CAAC;AAEF;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,YAAY;;IAO5C;;OAEG;IACH,UAAU,mBAA0B;IAcpC,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED,IAAI,MAAM,IAAI,UAAU,CAEvB;gBAGC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,IAAI,EACV,iBAAiB,EAAE,OAAO,EAC1B,eAAe,EAAE,eAAe;IAUlC,OAAO,CAAC,mBAAmB;IAwCrB,UAAU,CAAC,MAAM,GAAE,UAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BlE,oBAAoB,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,UAAyB,GACjC,gBAAgB;IAMnB,uBAAuB,CACrB,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE,UAAyB,GACjC,gBAAgB,GAAG,SAAS;IAI/B,IAAI,IAAI,IAAI;IAIZ,SAAS,IAAI,KAAK;IAMlB,MAAM,IAAI,KAAK,EAAE;IAIjB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAIpC,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAa3C;;OAEG;IACH,2BAA2B,CAAC,MAAM,EAAE,UAAU,GAAG,0BAA0B;CAuP5E"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js
index c138bad..f382124 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _FrameManager_instances, _FrameManager_page, _FrameManager_networkManager, _FrameManager_timeoutSettings, _FrameManager_contextIdToContext, _FrameManager_isolatedWorlds, _FrameManager_client, _FrameManager_frameNavigatedReceived, _FrameManager_deviceRequestPromptManagerMap, _FrameManager_onLifecycleEvent, _FrameManager_onFrameStartedLoading, _FrameManager_onFrameStoppedLoading, _FrameManager_handleFrameTree, _FrameManager_onFrameAttached, _FrameManager_onFrameNavigated, _FrameManager_createIsolatedWorld, _FrameManager_onFrameNavigatedWithinDocument, _FrameManager_onFrameDetached, _FrameManager_onExecutionContextCreated, _FrameManager_onExecutionContextDestroyed, _FrameManager_onExecutionContextsCleared, _FrameManager_removeFramesRecursively;
 import { assert } from '../util/assert.js';
 import { isErrorLike } from '../util/ErrorLike.js';
 import { isTargetClosedError } from './Connection.js';
@@ -62,90 +50,89 @@
  * @internal
  */
 export class FrameManager extends EventEmitter {
+    #page;
+    #networkManager;
+    #timeoutSettings;
+    #contextIdToContext = new Map();
+    #isolatedWorlds = new Set();
+    #client;
+    /**
+     * @internal
+     */
+    _frameTree = new FrameTree();
+    /**
+     * Set of frame IDs stored to indicate if a frame has received a
+     * frameNavigated event so that frame tree responses could be ignored as the
+     * frameNavigated event usually contains the latest information.
+     */
+    #frameNavigatedReceived = new Set();
+    #deviceRequestPromptManagerMap = new WeakMap();
     get timeoutSettings() {
-        return __classPrivateFieldGet(this, _FrameManager_timeoutSettings, "f");
+        return this.#timeoutSettings;
     }
     get networkManager() {
-        return __classPrivateFieldGet(this, _FrameManager_networkManager, "f");
+        return this.#networkManager;
     }
     get client() {
-        return __classPrivateFieldGet(this, _FrameManager_client, "f");
+        return this.#client;
     }
     constructor(client, page, ignoreHTTPSErrors, timeoutSettings) {
         super();
-        _FrameManager_instances.add(this);
-        _FrameManager_page.set(this, void 0);
-        _FrameManager_networkManager.set(this, void 0);
-        _FrameManager_timeoutSettings.set(this, void 0);
-        _FrameManager_contextIdToContext.set(this, new Map());
-        _FrameManager_isolatedWorlds.set(this, new Set());
-        _FrameManager_client.set(this, void 0);
-        /**
-         * @internal
-         */
-        this._frameTree = new FrameTree();
-        /**
-         * Set of frame IDs stored to indicate if a frame has received a
-         * frameNavigated event so that frame tree responses could be ignored as the
-         * frameNavigated event usually contains the latest information.
-         */
-        _FrameManager_frameNavigatedReceived.set(this, new Set());
-        _FrameManager_deviceRequestPromptManagerMap.set(this, new WeakMap());
-        __classPrivateFieldSet(this, _FrameManager_client, client, "f");
-        __classPrivateFieldSet(this, _FrameManager_page, page, "f");
-        __classPrivateFieldSet(this, _FrameManager_networkManager, new NetworkManager(client, ignoreHTTPSErrors, this), "f");
-        __classPrivateFieldSet(this, _FrameManager_timeoutSettings, timeoutSettings, "f");
-        this.setupEventListeners(__classPrivateFieldGet(this, _FrameManager_client, "f"));
+        this.#client = client;
+        this.#page = page;
+        this.#networkManager = new NetworkManager(client, ignoreHTTPSErrors, this);
+        this.#timeoutSettings = timeoutSettings;
+        this.setupEventListeners(this.#client);
     }
     setupEventListeners(session) {
         session.on('Page.frameAttached', event => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onFrameAttached).call(this, session, event.frameId, event.parentFrameId);
+            this.#onFrameAttached(session, event.frameId, event.parentFrameId);
         });
         session.on('Page.frameNavigated', event => {
-            __classPrivateFieldGet(this, _FrameManager_frameNavigatedReceived, "f").add(event.frame.id);
-            void __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onFrameNavigated).call(this, event.frame);
+            this.#frameNavigatedReceived.add(event.frame.id);
+            void this.#onFrameNavigated(event.frame);
         });
         session.on('Page.navigatedWithinDocument', event => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onFrameNavigatedWithinDocument).call(this, event.frameId, event.url);
+            this.#onFrameNavigatedWithinDocument(event.frameId, event.url);
         });
         session.on('Page.frameDetached', (event) => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onFrameDetached).call(this, event.frameId, event.reason);
+            this.#onFrameDetached(event.frameId, event.reason);
         });
         session.on('Page.frameStartedLoading', event => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onFrameStartedLoading).call(this, event.frameId);
+            this.#onFrameStartedLoading(event.frameId);
         });
         session.on('Page.frameStoppedLoading', event => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onFrameStoppedLoading).call(this, event.frameId);
+            this.#onFrameStoppedLoading(event.frameId);
         });
         session.on('Runtime.executionContextCreated', event => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onExecutionContextCreated).call(this, event.context, session);
+            this.#onExecutionContextCreated(event.context, session);
         });
         session.on('Runtime.executionContextDestroyed', event => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onExecutionContextDestroyed).call(this, event.executionContextId, session);
+            this.#onExecutionContextDestroyed(event.executionContextId, session);
         });
         session.on('Runtime.executionContextsCleared', () => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onExecutionContextsCleared).call(this, session);
+            this.#onExecutionContextsCleared(session);
         });
         session.on('Page.lifecycleEvent', event => {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onLifecycleEvent).call(this, event);
+            this.#onLifecycleEvent(event);
         });
     }
-    async initialize(client = __classPrivateFieldGet(this, _FrameManager_client, "f")) {
+    async initialize(client = this.#client) {
         try {
             const result = await Promise.all([
                 client.send('Page.enable'),
                 client.send('Page.getFrameTree'),
             ]);
             const { frameTree } = result[1];
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_handleFrameTree).call(this, client, frameTree);
+            this.#handleFrameTree(client, frameTree);
             await Promise.all([
                 client.send('Page.setLifecycleEventsEnabled', { enabled: true }),
                 client.send('Runtime.enable').then(() => {
-                    return __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_createIsolatedWorld).call(this, client, UTILITY_WORLD_NAME);
+                    return this.#createIsolatedWorld(client, UTILITY_WORLD_NAME);
                 }),
                 // TODO: Network manager is not aware of OOP iframes yet.
-                client === __classPrivateFieldGet(this, _FrameManager_client, "f")
-                    ? __classPrivateFieldGet(this, _FrameManager_networkManager, "f").initialize()
+                client === this.#client
+                    ? this.#networkManager.initialize()
                     : Promise.resolve(),
             ]);
         }
@@ -157,16 +144,16 @@
             throw error;
         }
     }
-    executionContextById(contextId, session = __classPrivateFieldGet(this, _FrameManager_client, "f")) {
+    executionContextById(contextId, session = this.#client) {
         const context = this.getExecutionContextById(contextId, session);
         assert(context, 'INTERNAL ERROR: missing context with id = ' + contextId);
         return context;
     }
-    getExecutionContextById(contextId, session = __classPrivateFieldGet(this, _FrameManager_client, "f")) {
-        return __classPrivateFieldGet(this, _FrameManager_contextIdToContext, "f").get(`${session.id()}:${contextId}`);
+    getExecutionContextById(contextId, session = this.#client) {
+        return this.#contextIdToContext.get(`${session.id()}:${contextId}`);
     }
     page() {
-        return __classPrivateFieldGet(this, _FrameManager_page, "f");
+        return this.#page;
     }
     mainFrame() {
         const mainFrame = this._frameTree.getMainFrame();
@@ -194,191 +181,203 @@
      * @internal
      */
     _deviceRequestPromptManager(client) {
-        let manager = __classPrivateFieldGet(this, _FrameManager_deviceRequestPromptManagerMap, "f").get(client);
+        let manager = this.#deviceRequestPromptManagerMap.get(client);
         if (manager === undefined) {
-            manager = new DeviceRequestPromptManager(client, __classPrivateFieldGet(this, _FrameManager_timeoutSettings, "f"));
-            __classPrivateFieldGet(this, _FrameManager_deviceRequestPromptManagerMap, "f").set(client, manager);
+            manager = new DeviceRequestPromptManager(client, this.#timeoutSettings);
+            this.#deviceRequestPromptManagerMap.set(client, manager);
         }
         return manager;
     }
-}
-_FrameManager_page = new WeakMap(), _FrameManager_networkManager = new WeakMap(), _FrameManager_timeoutSettings = new WeakMap(), _FrameManager_contextIdToContext = new WeakMap(), _FrameManager_isolatedWorlds = new WeakMap(), _FrameManager_client = new WeakMap(), _FrameManager_frameNavigatedReceived = new WeakMap(), _FrameManager_deviceRequestPromptManagerMap = new WeakMap(), _FrameManager_instances = new WeakSet(), _FrameManager_onLifecycleEvent = function _FrameManager_onLifecycleEvent(event) {
-    const frame = this.frame(event.frameId);
-    if (!frame) {
-        return;
-    }
-    frame._onLifecycleEvent(event.loaderId, event.name);
-    this.emit(FrameManagerEmittedEvents.LifecycleEvent, frame);
-}, _FrameManager_onFrameStartedLoading = function _FrameManager_onFrameStartedLoading(frameId) {
-    const frame = this.frame(frameId);
-    if (!frame) {
-        return;
-    }
-    frame._onLoadingStarted();
-}, _FrameManager_onFrameStoppedLoading = function _FrameManager_onFrameStoppedLoading(frameId) {
-    const frame = this.frame(frameId);
-    if (!frame) {
-        return;
-    }
-    frame._onLoadingStopped();
-    this.emit(FrameManagerEmittedEvents.LifecycleEvent, frame);
-}, _FrameManager_handleFrameTree = function _FrameManager_handleFrameTree(session, frameTree) {
-    if (frameTree.frame.parentId) {
-        __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onFrameAttached).call(this, session, frameTree.frame.id, frameTree.frame.parentId);
-    }
-    if (!__classPrivateFieldGet(this, _FrameManager_frameNavigatedReceived, "f").has(frameTree.frame.id)) {
-        void __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_onFrameNavigated).call(this, frameTree.frame);
-    }
-    else {
-        __classPrivateFieldGet(this, _FrameManager_frameNavigatedReceived, "f").delete(frameTree.frame.id);
-    }
-    if (!frameTree.childFrames) {
-        return;
-    }
-    for (const child of frameTree.childFrames) {
-        __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_handleFrameTree).call(this, session, child);
-    }
-}, _FrameManager_onFrameAttached = function _FrameManager_onFrameAttached(session, frameId, parentFrameId) {
-    let frame = this.frame(frameId);
-    if (frame) {
-        if (session && frame.isOOPFrame()) {
-            // If an OOP iframes becomes a normal iframe again
-            // it is first attached to the parent page before
-            // the target is removed.
-            frame.updateClient(session);
-        }
-        return;
-    }
-    frame = new CDPFrame(this, frameId, parentFrameId, session);
-    this._frameTree.addFrame(frame);
-    this.emit(FrameManagerEmittedEvents.FrameAttached, frame);
-}, _FrameManager_onFrameNavigated = async function _FrameManager_onFrameNavigated(framePayload) {
-    const frameId = framePayload.id;
-    const isMainFrame = !framePayload.parentId;
-    let frame = this._frameTree.getById(frameId);
-    // Detach all child frames first.
-    if (frame) {
-        for (const child of frame.childFrames()) {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_removeFramesRecursively).call(this, child);
-        }
-    }
-    // Update or create main frame.
-    if (isMainFrame) {
-        if (frame) {
-            // Update frame id to retain frame identity on cross-process navigation.
-            this._frameTree.removeFrame(frame);
-            frame._id = frameId;
-        }
-        else {
-            // Initial main frame navigation.
-            frame = new CDPFrame(this, frameId, undefined, __classPrivateFieldGet(this, _FrameManager_client, "f"));
-        }
-        this._frameTree.addFrame(frame);
-    }
-    frame = await this._frameTree.waitForFrame(frameId);
-    frame._navigated(framePayload);
-    this.emit(FrameManagerEmittedEvents.FrameNavigated, frame);
-}, _FrameManager_createIsolatedWorld = async function _FrameManager_createIsolatedWorld(session, name) {
-    const key = `${session.id()}:${name}`;
-    if (__classPrivateFieldGet(this, _FrameManager_isolatedWorlds, "f").has(key)) {
-        return;
-    }
-    await session.send('Page.addScriptToEvaluateOnNewDocument', {
-        source: `//# sourceURL=${PuppeteerURL.INTERNAL_URL}`,
-        worldName: name,
-    });
-    await Promise.all(this.frames()
-        .filter(frame => {
-        return frame._client() === session;
-    })
-        .map(frame => {
-        // Frames might be removed before we send this, so we don't want to
-        // throw an error.
-        return session
-            .send('Page.createIsolatedWorld', {
-            frameId: frame._id,
-            worldName: name,
-            grantUniveralAccess: true,
-        })
-            .catch(debugError);
-    }));
-    __classPrivateFieldGet(this, _FrameManager_isolatedWorlds, "f").add(key);
-}, _FrameManager_onFrameNavigatedWithinDocument = function _FrameManager_onFrameNavigatedWithinDocument(frameId, url) {
-    const frame = this.frame(frameId);
-    if (!frame) {
-        return;
-    }
-    frame._navigatedWithinDocument(url);
-    this.emit(FrameManagerEmittedEvents.FrameNavigatedWithinDocument, frame);
-    this.emit(FrameManagerEmittedEvents.FrameNavigated, frame);
-}, _FrameManager_onFrameDetached = function _FrameManager_onFrameDetached(frameId, reason) {
-    const frame = this.frame(frameId);
-    if (reason === 'remove') {
-        // Only remove the frame if the reason for the detached event is
-        // an actual removement of the frame.
-        // For frames that become OOP iframes, the reason would be 'swap'.
-        if (frame) {
-            __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_removeFramesRecursively).call(this, frame);
-        }
-    }
-    else if (reason === 'swap') {
-        this.emit(FrameManagerEmittedEvents.FrameSwapped, frame);
-    }
-}, _FrameManager_onExecutionContextCreated = function _FrameManager_onExecutionContextCreated(contextPayload, session) {
-    const auxData = contextPayload.auxData;
-    const frameId = auxData && auxData.frameId;
-    const frame = typeof frameId === 'string' ? this.frame(frameId) : undefined;
-    let world;
-    if (frame) {
-        // Only care about execution contexts created for the current session.
-        if (frame._client() !== session) {
+    #onLifecycleEvent(event) {
+        const frame = this.frame(event.frameId);
+        if (!frame) {
             return;
         }
-        if (contextPayload.auxData && contextPayload.auxData['isDefault']) {
-            world = frame.worlds[MAIN_WORLD];
+        frame._onLifecycleEvent(event.loaderId, event.name);
+        this.emit(FrameManagerEmittedEvents.LifecycleEvent, frame);
+    }
+    #onFrameStartedLoading(frameId) {
+        const frame = this.frame(frameId);
+        if (!frame) {
+            return;
         }
-        else if (contextPayload.name === UTILITY_WORLD_NAME &&
-            !frame.worlds[PUPPETEER_WORLD].hasContext()) {
-            // In case of multiple sessions to the same target, there's a race between
-            // connections so we might end up creating multiple isolated worlds.
-            // We can use either.
-            world = frame.worlds[PUPPETEER_WORLD];
+        frame._onLoadingStarted();
+    }
+    #onFrameStoppedLoading(frameId) {
+        const frame = this.frame(frameId);
+        if (!frame) {
+            return;
+        }
+        frame._onLoadingStopped();
+        this.emit(FrameManagerEmittedEvents.LifecycleEvent, frame);
+    }
+    #handleFrameTree(session, frameTree) {
+        if (frameTree.frame.parentId) {
+            this.#onFrameAttached(session, frameTree.frame.id, frameTree.frame.parentId);
+        }
+        if (!this.#frameNavigatedReceived.has(frameTree.frame.id)) {
+            void this.#onFrameNavigated(frameTree.frame);
+        }
+        else {
+            this.#frameNavigatedReceived.delete(frameTree.frame.id);
+        }
+        if (!frameTree.childFrames) {
+            return;
+        }
+        for (const child of frameTree.childFrames) {
+            this.#handleFrameTree(session, child);
         }
     }
-    const context = new ExecutionContext(frame?._client() || __classPrivateFieldGet(this, _FrameManager_client, "f"), contextPayload, world);
-    if (world) {
-        world.setContext(context);
-    }
-    const key = `${session.id()}:${contextPayload.id}`;
-    __classPrivateFieldGet(this, _FrameManager_contextIdToContext, "f").set(key, context);
-}, _FrameManager_onExecutionContextDestroyed = function _FrameManager_onExecutionContextDestroyed(executionContextId, session) {
-    const key = `${session.id()}:${executionContextId}`;
-    const context = __classPrivateFieldGet(this, _FrameManager_contextIdToContext, "f").get(key);
-    if (!context) {
-        return;
-    }
-    __classPrivateFieldGet(this, _FrameManager_contextIdToContext, "f").delete(key);
-    if (context._world) {
-        context._world.clearContext();
-    }
-}, _FrameManager_onExecutionContextsCleared = function _FrameManager_onExecutionContextsCleared(session) {
-    for (const [key, context] of __classPrivateFieldGet(this, _FrameManager_contextIdToContext, "f").entries()) {
-        // Make sure to only clear execution contexts that belong
-        // to the current session.
-        if (context._client !== session) {
-            continue;
+    #onFrameAttached(session, frameId, parentFrameId) {
+        let frame = this.frame(frameId);
+        if (frame) {
+            if (session && frame.isOOPFrame()) {
+                // If an OOP iframes becomes a normal iframe again
+                // it is first attached to the parent page before
+                // the target is removed.
+                frame.updateClient(session);
+            }
+            return;
         }
+        frame = new CDPFrame(this, frameId, parentFrameId, session);
+        this._frameTree.addFrame(frame);
+        this.emit(FrameManagerEmittedEvents.FrameAttached, frame);
+    }
+    async #onFrameNavigated(framePayload) {
+        const frameId = framePayload.id;
+        const isMainFrame = !framePayload.parentId;
+        let frame = this._frameTree.getById(frameId);
+        // Detach all child frames first.
+        if (frame) {
+            for (const child of frame.childFrames()) {
+                this.#removeFramesRecursively(child);
+            }
+        }
+        // Update or create main frame.
+        if (isMainFrame) {
+            if (frame) {
+                // Update frame id to retain frame identity on cross-process navigation.
+                this._frameTree.removeFrame(frame);
+                frame._id = frameId;
+            }
+            else {
+                // Initial main frame navigation.
+                frame = new CDPFrame(this, frameId, undefined, this.#client);
+            }
+            this._frameTree.addFrame(frame);
+        }
+        frame = await this._frameTree.waitForFrame(frameId);
+        frame._navigated(framePayload);
+        this.emit(FrameManagerEmittedEvents.FrameNavigated, frame);
+    }
+    async #createIsolatedWorld(session, name) {
+        const key = `${session.id()}:${name}`;
+        if (this.#isolatedWorlds.has(key)) {
+            return;
+        }
+        await session.send('Page.addScriptToEvaluateOnNewDocument', {
+            source: `//# sourceURL=${PuppeteerURL.INTERNAL_URL}`,
+            worldName: name,
+        });
+        await Promise.all(this.frames()
+            .filter(frame => {
+            return frame._client() === session;
+        })
+            .map(frame => {
+            // Frames might be removed before we send this, so we don't want to
+            // throw an error.
+            return session
+                .send('Page.createIsolatedWorld', {
+                frameId: frame._id,
+                worldName: name,
+                grantUniveralAccess: true,
+            })
+                .catch(debugError);
+        }));
+        this.#isolatedWorlds.add(key);
+    }
+    #onFrameNavigatedWithinDocument(frameId, url) {
+        const frame = this.frame(frameId);
+        if (!frame) {
+            return;
+        }
+        frame._navigatedWithinDocument(url);
+        this.emit(FrameManagerEmittedEvents.FrameNavigatedWithinDocument, frame);
+        this.emit(FrameManagerEmittedEvents.FrameNavigated, frame);
+    }
+    #onFrameDetached(frameId, reason) {
+        const frame = this.frame(frameId);
+        if (reason === 'remove') {
+            // Only remove the frame if the reason for the detached event is
+            // an actual removement of the frame.
+            // For frames that become OOP iframes, the reason would be 'swap'.
+            if (frame) {
+                this.#removeFramesRecursively(frame);
+            }
+        }
+        else if (reason === 'swap') {
+            this.emit(FrameManagerEmittedEvents.FrameSwapped, frame);
+        }
+    }
+    #onExecutionContextCreated(contextPayload, session) {
+        const auxData = contextPayload.auxData;
+        const frameId = auxData && auxData.frameId;
+        const frame = typeof frameId === 'string' ? this.frame(frameId) : undefined;
+        let world;
+        if (frame) {
+            // Only care about execution contexts created for the current session.
+            if (frame._client() !== session) {
+                return;
+            }
+            if (contextPayload.auxData && contextPayload.auxData['isDefault']) {
+                world = frame.worlds[MAIN_WORLD];
+            }
+            else if (contextPayload.name === UTILITY_WORLD_NAME &&
+                !frame.worlds[PUPPETEER_WORLD].hasContext()) {
+                // In case of multiple sessions to the same target, there's a race between
+                // connections so we might end up creating multiple isolated worlds.
+                // We can use either.
+                world = frame.worlds[PUPPETEER_WORLD];
+            }
+        }
+        const context = new ExecutionContext(frame?._client() || this.#client, contextPayload, world);
+        if (world) {
+            world.setContext(context);
+        }
+        const key = `${session.id()}:${contextPayload.id}`;
+        this.#contextIdToContext.set(key, context);
+    }
+    #onExecutionContextDestroyed(executionContextId, session) {
+        const key = `${session.id()}:${executionContextId}`;
+        const context = this.#contextIdToContext.get(key);
+        if (!context) {
+            return;
+        }
+        this.#contextIdToContext.delete(key);
         if (context._world) {
             context._world.clearContext();
         }
-        __classPrivateFieldGet(this, _FrameManager_contextIdToContext, "f").delete(key);
     }
-}, _FrameManager_removeFramesRecursively = function _FrameManager_removeFramesRecursively(frame) {
-    for (const child of frame.childFrames()) {
-        __classPrivateFieldGet(this, _FrameManager_instances, "m", _FrameManager_removeFramesRecursively).call(this, child);
+    #onExecutionContextsCleared(session) {
+        for (const [key, context] of this.#contextIdToContext.entries()) {
+            // Make sure to only clear execution contexts that belong
+            // to the current session.
+            if (context._client !== session) {
+                continue;
+            }
+            if (context._world) {
+                context._world.clearContext();
+            }
+            this.#contextIdToContext.delete(key);
+        }
     }
-    frame._detach();
-    this._frameTree.removeFrame(frame);
-    this.emit(FrameManagerEmittedEvents.FrameDetached, frame);
-};
+    #removeFramesRecursively(frame) {
+        for (const child of frame.childFrames()) {
+            this.#removeFramesRecursively(child);
+        }
+        frame._detach();
+        this._frameTree.removeFrame(frame);
+        this.emit(FrameManagerEmittedEvents.FrameDetached, frame);
+    }
+}
 //# sourceMappingURL=FrameManager.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js.map
index e01f548..7373e67 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"FrameManager.js","sourceRoot":"","sources":["../../../../src/common/FrameManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"FrameManager.js","sourceRoot":"","sources":["../../../../src/common/FrameManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameTree.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameTree.js
index df89d4b..a3413e0 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameTree.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameTree.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _FrameTree_frames, _FrameTree_parentIds, _FrameTree_childIds, _FrameTree_mainFrame, _FrameTree_waitRequests;
 import { Deferred } from '../util/Deferred.js';
 /**
  * Keeps track of the page frame tree and it's is managed by
@@ -34,20 +22,18 @@
  * @internal
  */
 export class FrameTree {
-    constructor() {
-        _FrameTree_frames.set(this, new Map());
-        // frameID -> parentFrameID
-        _FrameTree_parentIds.set(this, new Map());
-        // frameID -> childFrameIDs
-        _FrameTree_childIds.set(this, new Map());
-        _FrameTree_mainFrame.set(this, void 0);
-        _FrameTree_waitRequests.set(this, new Map());
-    }
+    #frames = new Map();
+    // frameID -> parentFrameID
+    #parentIds = new Map();
+    // frameID -> childFrameIDs
+    #childIds = new Map();
+    #mainFrame;
+    #waitRequests = new Map();
     getMainFrame() {
-        return __classPrivateFieldGet(this, _FrameTree_mainFrame, "f");
+        return this.#mainFrame;
     }
     getById(frameId) {
-        return __classPrivateFieldGet(this, _FrameTree_frames, "f").get(frameId);
+        return this.#frames.get(frameId);
     }
     /**
      * Returns a promise that is resolved once the frame with
@@ -59,41 +45,41 @@
             return Promise.resolve(frame);
         }
         const deferred = Deferred.create();
-        const callbacks = __classPrivateFieldGet(this, _FrameTree_waitRequests, "f").get(frameId) || new Set();
+        const callbacks = this.#waitRequests.get(frameId) || new Set();
         callbacks.add(deferred);
         return deferred.valueOrThrow();
     }
     frames() {
-        return Array.from(__classPrivateFieldGet(this, _FrameTree_frames, "f").values());
+        return Array.from(this.#frames.values());
     }
     addFrame(frame) {
-        __classPrivateFieldGet(this, _FrameTree_frames, "f").set(frame._id, frame);
+        this.#frames.set(frame._id, frame);
         if (frame._parentId) {
-            __classPrivateFieldGet(this, _FrameTree_parentIds, "f").set(frame._id, frame._parentId);
-            if (!__classPrivateFieldGet(this, _FrameTree_childIds, "f").has(frame._parentId)) {
-                __classPrivateFieldGet(this, _FrameTree_childIds, "f").set(frame._parentId, new Set());
+            this.#parentIds.set(frame._id, frame._parentId);
+            if (!this.#childIds.has(frame._parentId)) {
+                this.#childIds.set(frame._parentId, new Set());
             }
-            __classPrivateFieldGet(this, _FrameTree_childIds, "f").get(frame._parentId).add(frame._id);
+            this.#childIds.get(frame._parentId).add(frame._id);
         }
-        else {
-            __classPrivateFieldSet(this, _FrameTree_mainFrame, frame, "f");
+        else if (!this.#mainFrame) {
+            this.#mainFrame = frame;
         }
-        __classPrivateFieldGet(this, _FrameTree_waitRequests, "f").get(frame._id)?.forEach(request => {
+        this.#waitRequests.get(frame._id)?.forEach(request => {
             return request.resolve(frame);
         });
     }
     removeFrame(frame) {
-        __classPrivateFieldGet(this, _FrameTree_frames, "f").delete(frame._id);
-        __classPrivateFieldGet(this, _FrameTree_parentIds, "f").delete(frame._id);
+        this.#frames.delete(frame._id);
+        this.#parentIds.delete(frame._id);
         if (frame._parentId) {
-            __classPrivateFieldGet(this, _FrameTree_childIds, "f").get(frame._parentId)?.delete(frame._id);
+            this.#childIds.get(frame._parentId)?.delete(frame._id);
         }
         else {
-            __classPrivateFieldSet(this, _FrameTree_mainFrame, undefined, "f");
+            this.#mainFrame = undefined;
         }
     }
     childFrames(frameId) {
-        const childIds = __classPrivateFieldGet(this, _FrameTree_childIds, "f").get(frameId);
+        const childIds = this.#childIds.get(frameId);
         if (!childIds) {
             return [];
         }
@@ -106,9 +92,8 @@
         });
     }
     parentFrame(frameId) {
-        const parentId = __classPrivateFieldGet(this, _FrameTree_parentIds, "f").get(frameId);
+        const parentId = this.#parentIds.get(frameId);
         return parentId ? this.getById(parentId) : undefined;
     }
 }
-_FrameTree_frames = new WeakMap(), _FrameTree_parentIds = new WeakMap(), _FrameTree_childIds = new WeakMap(), _FrameTree_mainFrame = new WeakMap(), _FrameTree_waitRequests = new WeakMap();
 //# sourceMappingURL=FrameTree.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameTree.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameTree.js.map
index 09db695..1f30633 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameTree.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameTree.js.map
@@ -1 +1 @@
-{"version":3,"file":"FrameTree.js","sourceRoot":"","sources":["../../../../src/common/FrameTree.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"FrameTree.js","sourceRoot":"","sources":["../../../../src/common/FrameTree.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js
index e40eccb..60473b5 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js
@@ -1,15 +1,3 @@
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _HTTPRequest_instances, _HTTPRequest_client, _HTTPRequest_isNavigationRequest, _HTTPRequest_allowInterception, _HTTPRequest_interceptionHandled, _HTTPRequest_url, _HTTPRequest_resourceType, _HTTPRequest_method, _HTTPRequest_postData, _HTTPRequest_headers, _HTTPRequest_frame, _HTTPRequest_continueRequestOverrides, _HTTPRequest_responseForRequest, _HTTPRequest_abortErrorReason, _HTTPRequest_interceptResolutionState, _HTTPRequest_interceptHandlers, _HTTPRequest_initiator, _HTTPRequest_continue, _HTTPRequest_respond, _HTTPRequest_abort;
 import { headersArray, HTTPRequest as BaseHTTPRequest, InterceptResolutionAction, STATUS_TEXTS, } from '../api/HTTPRequest.js';
 import { assert } from '../util/assert.js';
 import { debugError, isString } from './util.js';
@@ -17,121 +5,124 @@
  * @internal
  */
 export class HTTPRequest extends BaseHTTPRequest {
+    _requestId;
+    _interceptionId;
+    _failureText = null;
+    _response = null;
+    _fromMemoryCache = false;
+    _redirectChain;
+    #client;
+    #isNavigationRequest;
+    #allowInterception;
+    #interceptionHandled = false;
+    #url;
+    #resourceType;
+    #method;
+    #postData;
+    #headers = {};
+    #frame;
+    #continueRequestOverrides;
+    #responseForRequest = null;
+    #abortErrorReason = null;
+    #interceptResolutionState = {
+        action: InterceptResolutionAction.None,
+    };
+    #interceptHandlers;
+    #initiator;
     get client() {
-        return __classPrivateFieldGet(this, _HTTPRequest_client, "f");
+        return this.#client;
     }
     constructor(client, frame, interceptionId, allowInterception, data, redirectChain) {
         super();
-        _HTTPRequest_instances.add(this);
-        this._failureText = null;
-        this._response = null;
-        this._fromMemoryCache = false;
-        _HTTPRequest_client.set(this, void 0);
-        _HTTPRequest_isNavigationRequest.set(this, void 0);
-        _HTTPRequest_allowInterception.set(this, void 0);
-        _HTTPRequest_interceptionHandled.set(this, false);
-        _HTTPRequest_url.set(this, void 0);
-        _HTTPRequest_resourceType.set(this, void 0);
-        _HTTPRequest_method.set(this, void 0);
-        _HTTPRequest_postData.set(this, void 0);
-        _HTTPRequest_headers.set(this, {});
-        _HTTPRequest_frame.set(this, void 0);
-        _HTTPRequest_continueRequestOverrides.set(this, void 0);
-        _HTTPRequest_responseForRequest.set(this, null);
-        _HTTPRequest_abortErrorReason.set(this, null);
-        _HTTPRequest_interceptResolutionState.set(this, {
-            action: InterceptResolutionAction.None,
-        });
-        _HTTPRequest_interceptHandlers.set(this, void 0);
-        _HTTPRequest_initiator.set(this, void 0);
-        __classPrivateFieldSet(this, _HTTPRequest_client, client, "f");
+        this.#client = client;
         this._requestId = data.requestId;
-        __classPrivateFieldSet(this, _HTTPRequest_isNavigationRequest, data.requestId === data.loaderId && data.type === 'Document', "f");
+        this.#isNavigationRequest =
+            data.requestId === data.loaderId && data.type === 'Document';
         this._interceptionId = interceptionId;
-        __classPrivateFieldSet(this, _HTTPRequest_allowInterception, allowInterception, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_url, data.request.url, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_resourceType, (data.type || 'other').toLowerCase(), "f");
-        __classPrivateFieldSet(this, _HTTPRequest_method, data.request.method, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_postData, data.request.postData, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_frame, frame, "f");
+        this.#allowInterception = allowInterception;
+        this.#url = data.request.url;
+        this.#resourceType = (data.type || 'other').toLowerCase();
+        this.#method = data.request.method;
+        this.#postData = data.request.postData;
+        this.#frame = frame;
         this._redirectChain = redirectChain;
-        __classPrivateFieldSet(this, _HTTPRequest_continueRequestOverrides, {}, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_interceptHandlers, [], "f");
-        __classPrivateFieldSet(this, _HTTPRequest_initiator, data.initiator, "f");
+        this.#continueRequestOverrides = {};
+        this.#interceptHandlers = [];
+        this.#initiator = data.initiator;
         for (const [key, value] of Object.entries(data.request.headers)) {
-            __classPrivateFieldGet(this, _HTTPRequest_headers, "f")[key.toLowerCase()] = value;
+            this.#headers[key.toLowerCase()] = value;
         }
     }
     url() {
-        return __classPrivateFieldGet(this, _HTTPRequest_url, "f");
+        return this.#url;
     }
     continueRequestOverrides() {
-        assert(__classPrivateFieldGet(this, _HTTPRequest_allowInterception, "f"), 'Request Interception is not enabled!');
-        return __classPrivateFieldGet(this, _HTTPRequest_continueRequestOverrides, "f");
+        assert(this.#allowInterception, 'Request Interception is not enabled!');
+        return this.#continueRequestOverrides;
     }
     responseForRequest() {
-        assert(__classPrivateFieldGet(this, _HTTPRequest_allowInterception, "f"), 'Request Interception is not enabled!');
-        return __classPrivateFieldGet(this, _HTTPRequest_responseForRequest, "f");
+        assert(this.#allowInterception, 'Request Interception is not enabled!');
+        return this.#responseForRequest;
     }
     abortErrorReason() {
-        assert(__classPrivateFieldGet(this, _HTTPRequest_allowInterception, "f"), 'Request Interception is not enabled!');
-        return __classPrivateFieldGet(this, _HTTPRequest_abortErrorReason, "f");
+        assert(this.#allowInterception, 'Request Interception is not enabled!');
+        return this.#abortErrorReason;
     }
     interceptResolutionState() {
-        if (!__classPrivateFieldGet(this, _HTTPRequest_allowInterception, "f")) {
+        if (!this.#allowInterception) {
             return { action: InterceptResolutionAction.Disabled };
         }
-        if (__classPrivateFieldGet(this, _HTTPRequest_interceptionHandled, "f")) {
+        if (this.#interceptionHandled) {
             return { action: InterceptResolutionAction.AlreadyHandled };
         }
-        return { ...__classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f") };
+        return { ...this.#interceptResolutionState };
     }
     isInterceptResolutionHandled() {
-        return __classPrivateFieldGet(this, _HTTPRequest_interceptionHandled, "f");
+        return this.#interceptionHandled;
     }
     enqueueInterceptAction(pendingHandler) {
-        __classPrivateFieldGet(this, _HTTPRequest_interceptHandlers, "f").push(pendingHandler);
+        this.#interceptHandlers.push(pendingHandler);
     }
     async finalizeInterceptions() {
-        await __classPrivateFieldGet(this, _HTTPRequest_interceptHandlers, "f").reduce((promiseChain, interceptAction) => {
+        await this.#interceptHandlers.reduce((promiseChain, interceptAction) => {
             return promiseChain.then(interceptAction);
         }, Promise.resolve());
         const { action } = this.interceptResolutionState();
         switch (action) {
             case 'abort':
-                return __classPrivateFieldGet(this, _HTTPRequest_instances, "m", _HTTPRequest_abort).call(this, __classPrivateFieldGet(this, _HTTPRequest_abortErrorReason, "f"));
+                return this.#abort(this.#abortErrorReason);
             case 'respond':
-                if (__classPrivateFieldGet(this, _HTTPRequest_responseForRequest, "f") === null) {
+                if (this.#responseForRequest === null) {
                     throw new Error('Response is missing for the interception');
                 }
-                return __classPrivateFieldGet(this, _HTTPRequest_instances, "m", _HTTPRequest_respond).call(this, __classPrivateFieldGet(this, _HTTPRequest_responseForRequest, "f"));
+                return this.#respond(this.#responseForRequest);
             case 'continue':
-                return __classPrivateFieldGet(this, _HTTPRequest_instances, "m", _HTTPRequest_continue).call(this, __classPrivateFieldGet(this, _HTTPRequest_continueRequestOverrides, "f"));
+                return this.#continue(this.#continueRequestOverrides);
         }
     }
     resourceType() {
-        return __classPrivateFieldGet(this, _HTTPRequest_resourceType, "f");
+        return this.#resourceType;
     }
     method() {
-        return __classPrivateFieldGet(this, _HTTPRequest_method, "f");
+        return this.#method;
     }
     postData() {
-        return __classPrivateFieldGet(this, _HTTPRequest_postData, "f");
+        return this.#postData;
     }
     headers() {
-        return __classPrivateFieldGet(this, _HTTPRequest_headers, "f");
+        return this.#headers;
     }
     response() {
         return this._response;
     }
     frame() {
-        return __classPrivateFieldGet(this, _HTTPRequest_frame, "f");
+        return this.#frame;
     }
     isNavigationRequest() {
-        return __classPrivateFieldGet(this, _HTTPRequest_isNavigationRequest, "f");
+        return this.#isNavigationRequest;
     }
     initiator() {
-        return __classPrivateFieldGet(this, _HTTPRequest_initiator, "f");
+        return this.#initiator;
     }
     redirectChain() {
         return this._redirectChain.slice();
@@ -146,153 +137,155 @@
     }
     async continue(overrides = {}, priority) {
         // Request interception is not supported for data: urls.
-        if (__classPrivateFieldGet(this, _HTTPRequest_url, "f").startsWith('data:')) {
+        if (this.#url.startsWith('data:')) {
             return;
         }
-        assert(__classPrivateFieldGet(this, _HTTPRequest_allowInterception, "f"), 'Request Interception is not enabled!');
-        assert(!__classPrivateFieldGet(this, _HTTPRequest_interceptionHandled, "f"), 'Request is already handled!');
+        assert(this.#allowInterception, 'Request Interception is not enabled!');
+        assert(!this.#interceptionHandled, 'Request is already handled!');
         if (priority === undefined) {
-            return __classPrivateFieldGet(this, _HTTPRequest_instances, "m", _HTTPRequest_continue).call(this, overrides);
+            return this.#continue(overrides);
         }
-        __classPrivateFieldSet(this, _HTTPRequest_continueRequestOverrides, overrides, "f");
-        if (__classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").priority === undefined ||
-            priority > __classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").priority) {
-            __classPrivateFieldSet(this, _HTTPRequest_interceptResolutionState, {
+        this.#continueRequestOverrides = overrides;
+        if (this.#interceptResolutionState.priority === undefined ||
+            priority > this.#interceptResolutionState.priority) {
+            this.#interceptResolutionState = {
                 action: InterceptResolutionAction.Continue,
                 priority,
-            }, "f");
+            };
             return;
         }
-        if (priority === __classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").priority) {
-            if (__classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").action === 'abort' ||
-                __classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").action === 'respond') {
+        if (priority === this.#interceptResolutionState.priority) {
+            if (this.#interceptResolutionState.action === 'abort' ||
+                this.#interceptResolutionState.action === 'respond') {
                 return;
             }
-            __classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").action =
+            this.#interceptResolutionState.action =
                 InterceptResolutionAction.Continue;
         }
         return;
     }
+    async #continue(overrides = {}) {
+        const { url, method, postData, headers } = overrides;
+        this.#interceptionHandled = true;
+        const postDataBinaryBase64 = postData
+            ? Buffer.from(postData).toString('base64')
+            : undefined;
+        if (this._interceptionId === undefined) {
+            throw new Error('HTTPRequest is missing _interceptionId needed for Fetch.continueRequest');
+        }
+        await this.#client
+            .send('Fetch.continueRequest', {
+            requestId: this._interceptionId,
+            url,
+            method,
+            postData: postDataBinaryBase64,
+            headers: headers ? headersArray(headers) : undefined,
+        })
+            .catch(error => {
+            this.#interceptionHandled = false;
+            return handleError(error);
+        });
+    }
     async respond(response, priority) {
         // Mocking responses for dataURL requests is not currently supported.
-        if (__classPrivateFieldGet(this, _HTTPRequest_url, "f").startsWith('data:')) {
+        if (this.#url.startsWith('data:')) {
             return;
         }
-        assert(__classPrivateFieldGet(this, _HTTPRequest_allowInterception, "f"), 'Request Interception is not enabled!');
-        assert(!__classPrivateFieldGet(this, _HTTPRequest_interceptionHandled, "f"), 'Request is already handled!');
+        assert(this.#allowInterception, 'Request Interception is not enabled!');
+        assert(!this.#interceptionHandled, 'Request is already handled!');
         if (priority === undefined) {
-            return __classPrivateFieldGet(this, _HTTPRequest_instances, "m", _HTTPRequest_respond).call(this, response);
+            return this.#respond(response);
         }
-        __classPrivateFieldSet(this, _HTTPRequest_responseForRequest, response, "f");
-        if (__classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").priority === undefined ||
-            priority > __classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").priority) {
-            __classPrivateFieldSet(this, _HTTPRequest_interceptResolutionState, {
+        this.#responseForRequest = response;
+        if (this.#interceptResolutionState.priority === undefined ||
+            priority > this.#interceptResolutionState.priority) {
+            this.#interceptResolutionState = {
                 action: InterceptResolutionAction.Respond,
                 priority,
-            }, "f");
+            };
             return;
         }
-        if (priority === __classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").priority) {
-            if (__classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").action === 'abort') {
+        if (priority === this.#interceptResolutionState.priority) {
+            if (this.#interceptResolutionState.action === 'abort') {
                 return;
             }
-            __classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").action = InterceptResolutionAction.Respond;
+            this.#interceptResolutionState.action = InterceptResolutionAction.Respond;
         }
     }
+    async #respond(response) {
+        this.#interceptionHandled = true;
+        const responseBody = response.body && isString(response.body)
+            ? Buffer.from(response.body)
+            : response.body || null;
+        const responseHeaders = {};
+        if (response.headers) {
+            for (const header of Object.keys(response.headers)) {
+                const value = response.headers[header];
+                responseHeaders[header.toLowerCase()] = Array.isArray(value)
+                    ? value.map(item => {
+                        return String(item);
+                    })
+                    : String(value);
+            }
+        }
+        if (response.contentType) {
+            responseHeaders['content-type'] = response.contentType;
+        }
+        if (responseBody && !('content-length' in responseHeaders)) {
+            responseHeaders['content-length'] = String(Buffer.byteLength(responseBody));
+        }
+        const status = response.status || 200;
+        if (this._interceptionId === undefined) {
+            throw new Error('HTTPRequest is missing _interceptionId needed for Fetch.fulfillRequest');
+        }
+        await this.#client
+            .send('Fetch.fulfillRequest', {
+            requestId: this._interceptionId,
+            responseCode: status,
+            responsePhrase: STATUS_TEXTS[status],
+            responseHeaders: headersArray(responseHeaders),
+            body: responseBody ? responseBody.toString('base64') : undefined,
+        })
+            .catch(error => {
+            this.#interceptionHandled = false;
+            return handleError(error);
+        });
+    }
     async abort(errorCode = 'failed', priority) {
         // Request interception is not supported for data: urls.
-        if (__classPrivateFieldGet(this, _HTTPRequest_url, "f").startsWith('data:')) {
+        if (this.#url.startsWith('data:')) {
             return;
         }
         const errorReason = errorReasons[errorCode];
         assert(errorReason, 'Unknown error code: ' + errorCode);
-        assert(__classPrivateFieldGet(this, _HTTPRequest_allowInterception, "f"), 'Request Interception is not enabled!');
-        assert(!__classPrivateFieldGet(this, _HTTPRequest_interceptionHandled, "f"), 'Request is already handled!');
+        assert(this.#allowInterception, 'Request Interception is not enabled!');
+        assert(!this.#interceptionHandled, 'Request is already handled!');
         if (priority === undefined) {
-            return __classPrivateFieldGet(this, _HTTPRequest_instances, "m", _HTTPRequest_abort).call(this, errorReason);
+            return this.#abort(errorReason);
         }
-        __classPrivateFieldSet(this, _HTTPRequest_abortErrorReason, errorReason, "f");
-        if (__classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").priority === undefined ||
-            priority >= __classPrivateFieldGet(this, _HTTPRequest_interceptResolutionState, "f").priority) {
-            __classPrivateFieldSet(this, _HTTPRequest_interceptResolutionState, {
+        this.#abortErrorReason = errorReason;
+        if (this.#interceptResolutionState.priority === undefined ||
+            priority >= this.#interceptResolutionState.priority) {
+            this.#interceptResolutionState = {
                 action: InterceptResolutionAction.Abort,
                 priority,
-            }, "f");
+            };
             return;
         }
     }
-}
-_HTTPRequest_client = new WeakMap(), _HTTPRequest_isNavigationRequest = new WeakMap(), _HTTPRequest_allowInterception = new WeakMap(), _HTTPRequest_interceptionHandled = new WeakMap(), _HTTPRequest_url = new WeakMap(), _HTTPRequest_resourceType = new WeakMap(), _HTTPRequest_method = new WeakMap(), _HTTPRequest_postData = new WeakMap(), _HTTPRequest_headers = new WeakMap(), _HTTPRequest_frame = new WeakMap(), _HTTPRequest_continueRequestOverrides = new WeakMap(), _HTTPRequest_responseForRequest = new WeakMap(), _HTTPRequest_abortErrorReason = new WeakMap(), _HTTPRequest_interceptResolutionState = new WeakMap(), _HTTPRequest_interceptHandlers = new WeakMap(), _HTTPRequest_initiator = new WeakMap(), _HTTPRequest_instances = new WeakSet(), _HTTPRequest_continue = async function _HTTPRequest_continue(overrides = {}) {
-    const { url, method, postData, headers } = overrides;
-    __classPrivateFieldSet(this, _HTTPRequest_interceptionHandled, true, "f");
-    const postDataBinaryBase64 = postData
-        ? Buffer.from(postData).toString('base64')
-        : undefined;
-    if (this._interceptionId === undefined) {
-        throw new Error('HTTPRequest is missing _interceptionId needed for Fetch.continueRequest');
-    }
-    await __classPrivateFieldGet(this, _HTTPRequest_client, "f")
-        .send('Fetch.continueRequest', {
-        requestId: this._interceptionId,
-        url,
-        method,
-        postData: postDataBinaryBase64,
-        headers: headers ? headersArray(headers) : undefined,
-    })
-        .catch(error => {
-        __classPrivateFieldSet(this, _HTTPRequest_interceptionHandled, false, "f");
-        return handleError(error);
-    });
-}, _HTTPRequest_respond = async function _HTTPRequest_respond(response) {
-    __classPrivateFieldSet(this, _HTTPRequest_interceptionHandled, true, "f");
-    const responseBody = response.body && isString(response.body)
-        ? Buffer.from(response.body)
-        : response.body || null;
-    const responseHeaders = {};
-    if (response.headers) {
-        for (const header of Object.keys(response.headers)) {
-            const value = response.headers[header];
-            responseHeaders[header.toLowerCase()] = Array.isArray(value)
-                ? value.map(item => {
-                    return String(item);
-                })
-                : String(value);
+    async #abort(errorReason) {
+        this.#interceptionHandled = true;
+        if (this._interceptionId === undefined) {
+            throw new Error('HTTPRequest is missing _interceptionId needed for Fetch.failRequest');
         }
+        await this.#client
+            .send('Fetch.failRequest', {
+            requestId: this._interceptionId,
+            errorReason: errorReason || 'Failed',
+        })
+            .catch(handleError);
     }
-    if (response.contentType) {
-        responseHeaders['content-type'] = response.contentType;
-    }
-    if (responseBody && !('content-length' in responseHeaders)) {
-        responseHeaders['content-length'] = String(Buffer.byteLength(responseBody));
-    }
-    const status = response.status || 200;
-    if (this._interceptionId === undefined) {
-        throw new Error('HTTPRequest is missing _interceptionId needed for Fetch.fulfillRequest');
-    }
-    await __classPrivateFieldGet(this, _HTTPRequest_client, "f")
-        .send('Fetch.fulfillRequest', {
-        requestId: this._interceptionId,
-        responseCode: status,
-        responsePhrase: STATUS_TEXTS[status],
-        responseHeaders: headersArray(responseHeaders),
-        body: responseBody ? responseBody.toString('base64') : undefined,
-    })
-        .catch(error => {
-        __classPrivateFieldSet(this, _HTTPRequest_interceptionHandled, false, "f");
-        return handleError(error);
-    });
-}, _HTTPRequest_abort = async function _HTTPRequest_abort(errorReason) {
-    __classPrivateFieldSet(this, _HTTPRequest_interceptionHandled, true, "f");
-    if (this._interceptionId === undefined) {
-        throw new Error('HTTPRequest is missing _interceptionId needed for Fetch.failRequest');
-    }
-    await __classPrivateFieldGet(this, _HTTPRequest_client, "f")
-        .send('Fetch.failRequest', {
-        requestId: this._interceptionId,
-        errorReason: errorReason || 'Failed',
-    })
-        .catch(handleError);
-};
+}
 const errorReasons = {
     aborted: 'Aborted',
     accessdenied: 'AccessDenied',
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js.map
index 9653665..6c86c35 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js.map
@@ -1 +1 @@
-{"version":3,"file":"HTTPRequest.js","sourceRoot":"","sources":["../../../../src/common/HTTPRequest.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"HTTPRequest.js","sourceRoot":"","sources":["../../../../src/common/HTTPRequest.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js
index b8745da..d94baf4 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js
@@ -1,15 +1,3 @@
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _HTTPResponse_instances, _HTTPResponse_client, _HTTPResponse_request, _HTTPResponse_contentPromise, _HTTPResponse_bodyLoadedDeferred, _HTTPResponse_remoteAddress, _HTTPResponse_status, _HTTPResponse_statusText, _HTTPResponse_url, _HTTPResponse_fromDiskCache, _HTTPResponse_fromServiceWorker, _HTTPResponse_headers, _HTTPResponse_securityDetails, _HTTPResponse_timing, _HTTPResponse_parseStatusTextFromExtrInfo;
 import { HTTPResponse as BaseHTTPResponse, } from '../api/HTTPResponse.js';
 import { Deferred } from '../util/Deferred.js';
 import { ProtocolError } from './Errors.js';
@@ -18,81 +6,99 @@
  * @internal
  */
 export class HTTPResponse extends BaseHTTPResponse {
+    #client;
+    #request;
+    #contentPromise = null;
+    #bodyLoadedDeferred = Deferred.create();
+    #remoteAddress;
+    #status;
+    #statusText;
+    #url;
+    #fromDiskCache;
+    #fromServiceWorker;
+    #headers = {};
+    #securityDetails;
+    #timing;
     constructor(client, request, responsePayload, extraInfo) {
         super();
-        _HTTPResponse_instances.add(this);
-        _HTTPResponse_client.set(this, void 0);
-        _HTTPResponse_request.set(this, void 0);
-        _HTTPResponse_contentPromise.set(this, null);
-        _HTTPResponse_bodyLoadedDeferred.set(this, Deferred.create());
-        _HTTPResponse_remoteAddress.set(this, void 0);
-        _HTTPResponse_status.set(this, void 0);
-        _HTTPResponse_statusText.set(this, void 0);
-        _HTTPResponse_url.set(this, void 0);
-        _HTTPResponse_fromDiskCache.set(this, void 0);
-        _HTTPResponse_fromServiceWorker.set(this, void 0);
-        _HTTPResponse_headers.set(this, {});
-        _HTTPResponse_securityDetails.set(this, void 0);
-        _HTTPResponse_timing.set(this, void 0);
-        __classPrivateFieldSet(this, _HTTPResponse_client, client, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_request, request, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_remoteAddress, {
+        this.#client = client;
+        this.#request = request;
+        this.#remoteAddress = {
             ip: responsePayload.remoteIPAddress,
             port: responsePayload.remotePort,
-        }, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_statusText, __classPrivateFieldGet(this, _HTTPResponse_instances, "m", _HTTPResponse_parseStatusTextFromExtrInfo).call(this, extraInfo) ||
-            responsePayload.statusText, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_url, request.url(), "f");
-        __classPrivateFieldSet(this, _HTTPResponse_fromDiskCache, !!responsePayload.fromDiskCache, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_fromServiceWorker, !!responsePayload.fromServiceWorker, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_status, extraInfo ? extraInfo.statusCode : responsePayload.status, "f");
+        };
+        this.#statusText =
+            this.#parseStatusTextFromExtrInfo(extraInfo) ||
+                responsePayload.statusText;
+        this.#url = request.url();
+        this.#fromDiskCache = !!responsePayload.fromDiskCache;
+        this.#fromServiceWorker = !!responsePayload.fromServiceWorker;
+        this.#status = extraInfo ? extraInfo.statusCode : responsePayload.status;
         const headers = extraInfo ? extraInfo.headers : responsePayload.headers;
         for (const [key, value] of Object.entries(headers)) {
-            __classPrivateFieldGet(this, _HTTPResponse_headers, "f")[key.toLowerCase()] = value;
+            this.#headers[key.toLowerCase()] = value;
         }
-        __classPrivateFieldSet(this, _HTTPResponse_securityDetails, responsePayload.securityDetails
+        this.#securityDetails = responsePayload.securityDetails
             ? new SecurityDetails(responsePayload.securityDetails)
-            : null, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_timing, responsePayload.timing || null, "f");
+            : null;
+        this.#timing = responsePayload.timing || null;
+    }
+    #parseStatusTextFromExtrInfo(extraInfo) {
+        if (!extraInfo || !extraInfo.headersText) {
+            return;
+        }
+        const firstLine = extraInfo.headersText.split('\r', 1)[0];
+        if (!firstLine) {
+            return;
+        }
+        const match = firstLine.match(/[^ ]* [^ ]* (.*)/);
+        if (!match) {
+            return;
+        }
+        const statusText = match[1];
+        if (!statusText) {
+            return;
+        }
+        return statusText;
     }
     _resolveBody(err) {
         if (err) {
-            return __classPrivateFieldGet(this, _HTTPResponse_bodyLoadedDeferred, "f").resolve(err);
+            return this.#bodyLoadedDeferred.resolve(err);
         }
-        return __classPrivateFieldGet(this, _HTTPResponse_bodyLoadedDeferred, "f").resolve();
+        return this.#bodyLoadedDeferred.resolve();
     }
     remoteAddress() {
-        return __classPrivateFieldGet(this, _HTTPResponse_remoteAddress, "f");
+        return this.#remoteAddress;
     }
     url() {
-        return __classPrivateFieldGet(this, _HTTPResponse_url, "f");
+        return this.#url;
     }
     status() {
-        return __classPrivateFieldGet(this, _HTTPResponse_status, "f");
+        return this.#status;
     }
     statusText() {
-        return __classPrivateFieldGet(this, _HTTPResponse_statusText, "f");
+        return this.#statusText;
     }
     headers() {
-        return __classPrivateFieldGet(this, _HTTPResponse_headers, "f");
+        return this.#headers;
     }
     securityDetails() {
-        return __classPrivateFieldGet(this, _HTTPResponse_securityDetails, "f");
+        return this.#securityDetails;
     }
     timing() {
-        return __classPrivateFieldGet(this, _HTTPResponse_timing, "f");
+        return this.#timing;
     }
     buffer() {
-        if (!__classPrivateFieldGet(this, _HTTPResponse_contentPromise, "f")) {
-            __classPrivateFieldSet(this, _HTTPResponse_contentPromise, __classPrivateFieldGet(this, _HTTPResponse_bodyLoadedDeferred, "f")
+        if (!this.#contentPromise) {
+            this.#contentPromise = this.#bodyLoadedDeferred
                 .valueOrThrow()
                 .then(async (error) => {
                 if (error) {
                     throw error;
                 }
                 try {
-                    const response = await __classPrivateFieldGet(this, _HTTPResponse_client, "f").send('Network.getResponseBody', {
-                        requestId: __classPrivateFieldGet(this, _HTTPResponse_request, "f")._requestId,
+                    const response = await this.#client.send('Network.getResponseBody', {
+                        requestId: this.#request._requestId,
                     });
                     return Buffer.from(response.body, response.base64Encoded ? 'base64' : 'utf8');
                 }
@@ -104,39 +110,21 @@
                     }
                     throw error;
                 }
-            }), "f");
+            });
         }
-        return __classPrivateFieldGet(this, _HTTPResponse_contentPromise, "f");
+        return this.#contentPromise;
     }
     request() {
-        return __classPrivateFieldGet(this, _HTTPResponse_request, "f");
+        return this.#request;
     }
     fromCache() {
-        return __classPrivateFieldGet(this, _HTTPResponse_fromDiskCache, "f") || __classPrivateFieldGet(this, _HTTPResponse_request, "f")._fromMemoryCache;
+        return this.#fromDiskCache || this.#request._fromMemoryCache;
     }
     fromServiceWorker() {
-        return __classPrivateFieldGet(this, _HTTPResponse_fromServiceWorker, "f");
+        return this.#fromServiceWorker;
     }
     frame() {
-        return __classPrivateFieldGet(this, _HTTPResponse_request, "f").frame();
+        return this.#request.frame();
     }
 }
-_HTTPResponse_client = new WeakMap(), _HTTPResponse_request = new WeakMap(), _HTTPResponse_contentPromise = new WeakMap(), _HTTPResponse_bodyLoadedDeferred = new WeakMap(), _HTTPResponse_remoteAddress = new WeakMap(), _HTTPResponse_status = new WeakMap(), _HTTPResponse_statusText = new WeakMap(), _HTTPResponse_url = new WeakMap(), _HTTPResponse_fromDiskCache = new WeakMap(), _HTTPResponse_fromServiceWorker = new WeakMap(), _HTTPResponse_headers = new WeakMap(), _HTTPResponse_securityDetails = new WeakMap(), _HTTPResponse_timing = new WeakMap(), _HTTPResponse_instances = new WeakSet(), _HTTPResponse_parseStatusTextFromExtrInfo = function _HTTPResponse_parseStatusTextFromExtrInfo(extraInfo) {
-    if (!extraInfo || !extraInfo.headersText) {
-        return;
-    }
-    const firstLine = extraInfo.headersText.split('\r', 1)[0];
-    if (!firstLine) {
-        return;
-    }
-    const match = firstLine.match(/[^ ]* [^ ]* (.*)/);
-    if (!match) {
-        return;
-    }
-    const statusText = match[1];
-    if (!statusText) {
-        return;
-    }
-    return statusText;
-};
 //# sourceMappingURL=HTTPResponse.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js.map
index 2ce55ee..2ae458b 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js.map
@@ -1 +1 @@
-{"version":3,"file":"HTTPResponse.js","sourceRoot":"","sources":["../../../../src/common/HTTPResponse.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"HTTPResponse.js","sourceRoot":"","sources":["../../../../src/common/HTTPResponse.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.js
index 07a9945..18a6fd7 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _CDPKeyboard_instances, _CDPKeyboard_client, _CDPKeyboard_pressedKeys, _CDPKeyboard_modifierBit, _CDPKeyboard_keyDescriptionForString, _CDPMouse_instances, _CDPMouse_client, _CDPMouse_keyboard, _CDPMouse__state, _CDPMouse_state_get, _CDPMouse_transactions, _CDPMouse_createTransaction, _CDPMouse_withTransaction, _CDPTouchscreen_client, _CDPTouchscreen_keyboard;
 import { Keyboard, Mouse, MouseButton, Touchscreen, } from '../api/Input.js';
 import { assert } from '../util/assert.js';
 import { _keyDefinitions } from './USKeyboardLayout.js';
@@ -32,30 +20,29 @@
  * @internal
  */
 export class CDPKeyboard extends Keyboard {
+    #client;
+    #pressedKeys = new Set();
+    /**
+     * @internal
+     */
+    _modifiers = 0;
     /**
      * @internal
      */
     constructor(client) {
         super();
-        _CDPKeyboard_instances.add(this);
-        _CDPKeyboard_client.set(this, void 0);
-        _CDPKeyboard_pressedKeys.set(this, new Set());
-        /**
-         * @internal
-         */
-        this._modifiers = 0;
-        __classPrivateFieldSet(this, _CDPKeyboard_client, client, "f");
+        this.#client = client;
     }
     async down(key, options = {
         text: undefined,
         commands: [],
     }) {
-        const description = __classPrivateFieldGet(this, _CDPKeyboard_instances, "m", _CDPKeyboard_keyDescriptionForString).call(this, key);
-        const autoRepeat = __classPrivateFieldGet(this, _CDPKeyboard_pressedKeys, "f").has(description.code);
-        __classPrivateFieldGet(this, _CDPKeyboard_pressedKeys, "f").add(description.code);
-        this._modifiers |= __classPrivateFieldGet(this, _CDPKeyboard_instances, "m", _CDPKeyboard_modifierBit).call(this, description.key);
+        const description = this.#keyDescriptionForString(key);
+        const autoRepeat = this.#pressedKeys.has(description.code);
+        this.#pressedKeys.add(description.code);
+        this._modifiers |= this.#modifierBit(description.key);
         const text = options.text === undefined ? description.text : options.text;
-        await __classPrivateFieldGet(this, _CDPKeyboard_client, "f").send('Input.dispatchKeyEvent', {
+        await this.#client.send('Input.dispatchKeyEvent', {
             type: text ? 'keyDown' : 'rawKeyDown',
             modifiers: this._modifiers,
             windowsVirtualKeyCode: description.keyCode,
@@ -69,11 +56,70 @@
             commands: options.commands,
         });
     }
+    #modifierBit(key) {
+        if (key === 'Alt') {
+            return 1;
+        }
+        if (key === 'Control') {
+            return 2;
+        }
+        if (key === 'Meta') {
+            return 4;
+        }
+        if (key === 'Shift') {
+            return 8;
+        }
+        return 0;
+    }
+    #keyDescriptionForString(keyString) {
+        const shift = this._modifiers & 8;
+        const description = {
+            key: '',
+            keyCode: 0,
+            code: '',
+            text: '',
+            location: 0,
+        };
+        const definition = _keyDefinitions[keyString];
+        assert(definition, `Unknown key: "${keyString}"`);
+        if (definition.key) {
+            description.key = definition.key;
+        }
+        if (shift && definition.shiftKey) {
+            description.key = definition.shiftKey;
+        }
+        if (definition.keyCode) {
+            description.keyCode = definition.keyCode;
+        }
+        if (shift && definition.shiftKeyCode) {
+            description.keyCode = definition.shiftKeyCode;
+        }
+        if (definition.code) {
+            description.code = definition.code;
+        }
+        if (definition.location) {
+            description.location = definition.location;
+        }
+        if (description.key.length === 1) {
+            description.text = description.key;
+        }
+        if (definition.text) {
+            description.text = definition.text;
+        }
+        if (shift && definition.shiftText) {
+            description.text = definition.shiftText;
+        }
+        // if any modifiers besides shift are pressed, no text should be sent
+        if (this._modifiers & ~8) {
+            description.text = '';
+        }
+        return description;
+    }
     async up(key) {
-        const description = __classPrivateFieldGet(this, _CDPKeyboard_instances, "m", _CDPKeyboard_keyDescriptionForString).call(this, key);
-        this._modifiers &= ~__classPrivateFieldGet(this, _CDPKeyboard_instances, "m", _CDPKeyboard_modifierBit).call(this, description.key);
-        __classPrivateFieldGet(this, _CDPKeyboard_pressedKeys, "f").delete(description.code);
-        await __classPrivateFieldGet(this, _CDPKeyboard_client, "f").send('Input.dispatchKeyEvent', {
+        const description = this.#keyDescriptionForString(key);
+        this._modifiers &= ~this.#modifierBit(description.key);
+        this.#pressedKeys.delete(description.code);
+        await this.#client.send('Input.dispatchKeyEvent', {
             type: 'keyUp',
             modifiers: this._modifiers,
             key: description.key,
@@ -83,7 +129,7 @@
         });
     }
     async sendCharacter(char) {
-        await __classPrivateFieldGet(this, _CDPKeyboard_client, "f").send('Input.insertText', { text: char });
+        await this.#client.send('Input.insertText', { text: char });
     }
     charIsKey(char) {
         return !!_keyDefinitions[char];
@@ -115,64 +161,6 @@
         await this.up(key);
     }
 }
-_CDPKeyboard_client = new WeakMap(), _CDPKeyboard_pressedKeys = new WeakMap(), _CDPKeyboard_instances = new WeakSet(), _CDPKeyboard_modifierBit = function _CDPKeyboard_modifierBit(key) {
-    if (key === 'Alt') {
-        return 1;
-    }
-    if (key === 'Control') {
-        return 2;
-    }
-    if (key === 'Meta') {
-        return 4;
-    }
-    if (key === 'Shift') {
-        return 8;
-    }
-    return 0;
-}, _CDPKeyboard_keyDescriptionForString = function _CDPKeyboard_keyDescriptionForString(keyString) {
-    const shift = this._modifiers & 8;
-    const description = {
-        key: '',
-        keyCode: 0,
-        code: '',
-        text: '',
-        location: 0,
-    };
-    const definition = _keyDefinitions[keyString];
-    assert(definition, `Unknown key: "${keyString}"`);
-    if (definition.key) {
-        description.key = definition.key;
-    }
-    if (shift && definition.shiftKey) {
-        description.key = definition.shiftKey;
-    }
-    if (definition.keyCode) {
-        description.keyCode = definition.keyCode;
-    }
-    if (shift && definition.shiftKeyCode) {
-        description.keyCode = definition.shiftKeyCode;
-    }
-    if (definition.code) {
-        description.code = definition.code;
-    }
-    if (definition.location) {
-        description.location = definition.location;
-    }
-    if (description.key.length === 1) {
-        description.text = description.key;
-    }
-    if (definition.text) {
-        description.text = definition.text;
-    }
-    if (shift && definition.shiftText) {
-        description.text = definition.shiftText;
-    }
-    // if any modifiers besides shift are pressed, no text should be sent
-    if (this._modifiers & ~8) {
-        description.text = '';
-    }
-    return description;
-};
 const getFlag = (button) => {
     switch (button) {
         case MouseButton.Left:
@@ -213,22 +201,56 @@
  * @internal
  */
 export class CDPMouse extends Mouse {
+    #client;
+    #keyboard;
     /**
      * @internal
      */
     constructor(client, keyboard) {
         super();
-        _CDPMouse_instances.add(this);
-        _CDPMouse_client.set(this, void 0);
-        _CDPMouse_keyboard.set(this, void 0);
-        _CDPMouse__state.set(this, {
-            position: { x: 0, y: 0 },
-            buttons: 0 /* MouseButtonFlag.None */,
-        });
-        // Transactions can run in parallel, so we store each of thme in this array.
-        _CDPMouse_transactions.set(this, []);
-        __classPrivateFieldSet(this, _CDPMouse_client, client, "f");
-        __classPrivateFieldSet(this, _CDPMouse_keyboard, keyboard, "f");
+        this.#client = client;
+        this.#keyboard = keyboard;
+    }
+    #_state = {
+        position: { x: 0, y: 0 },
+        buttons: 0 /* MouseButtonFlag.None */,
+    };
+    get #state() {
+        return Object.assign({ ...this.#_state }, ...this.#transactions);
+    }
+    // Transactions can run in parallel, so we store each of thme in this array.
+    #transactions = [];
+    #createTransaction() {
+        const transaction = {};
+        this.#transactions.push(transaction);
+        const popTransaction = () => {
+            this.#transactions.splice(this.#transactions.indexOf(transaction), 1);
+        };
+        return {
+            update: (updates) => {
+                Object.assign(transaction, updates);
+            },
+            commit: () => {
+                this.#_state = { ...this.#_state, ...transaction };
+                popTransaction();
+            },
+            rollback: popTransaction,
+        };
+    }
+    /**
+     * This is a shortcut for a typical update, commit/rollback lifecycle based on
+     * the error of the action.
+     */
+    async #withTransaction(action) {
+        const { update, commit, rollback } = this.#createTransaction();
+        try {
+            await action(update);
+            commit();
+        }
+        catch (error) {
+            rollback();
+            throw error;
+        }
     }
     async reset() {
         const actions = [];
@@ -239,31 +261,31 @@
             [16 /* MouseButtonFlag.Forward */, MouseButton.Forward],
             [8 /* MouseButtonFlag.Back */, MouseButton.Back],
         ]) {
-            if (__classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get).buttons & flag) {
+            if (this.#state.buttons & flag) {
                 actions.push(this.up({ button: button }));
             }
         }
-        if (__classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get).position.x !== 0 || __classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get).position.y !== 0) {
+        if (this.#state.position.x !== 0 || this.#state.position.y !== 0) {
             actions.push(this.move(0, 0));
         }
         await Promise.all(actions);
     }
     async move(x, y, options = {}) {
         const { steps = 1 } = options;
-        const from = __classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get).position;
+        const from = this.#state.position;
         const to = { x, y };
         for (let i = 1; i <= steps; i++) {
-            await __classPrivateFieldGet(this, _CDPMouse_instances, "m", _CDPMouse_withTransaction).call(this, updateState => {
+            await this.#withTransaction(updateState => {
                 updateState({
                     position: {
                         x: from.x + (to.x - from.x) * (i / steps),
                         y: from.y + (to.y - from.y) * (i / steps),
                     },
                 });
-                const { buttons, position } = __classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get);
-                return __classPrivateFieldGet(this, _CDPMouse_client, "f").send('Input.dispatchMouseEvent', {
+                const { buttons, position } = this.#state;
+                return this.#client.send('Input.dispatchMouseEvent', {
                     type: 'mouseMoved',
-                    modifiers: __classPrivateFieldGet(this, _CDPMouse_keyboard, "f")._modifiers,
+                    modifiers: this.#keyboard._modifiers,
                     buttons,
                     button: getButtonFromPressedButtons(buttons),
                     ...position,
@@ -277,17 +299,17 @@
         if (!flag) {
             throw new Error(`Unsupported mouse button: ${button}`);
         }
-        if (__classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get).buttons & flag) {
+        if (this.#state.buttons & flag) {
             throw new Error(`'${button}' is already pressed.`);
         }
-        await __classPrivateFieldGet(this, _CDPMouse_instances, "m", _CDPMouse_withTransaction).call(this, updateState => {
+        await this.#withTransaction(updateState => {
             updateState({
-                buttons: __classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get).buttons | flag,
+                buttons: this.#state.buttons | flag,
             });
-            const { buttons, position } = __classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get);
-            return __classPrivateFieldGet(this, _CDPMouse_client, "f").send('Input.dispatchMouseEvent', {
+            const { buttons, position } = this.#state;
+            return this.#client.send('Input.dispatchMouseEvent', {
                 type: 'mousePressed',
-                modifiers: __classPrivateFieldGet(this, _CDPMouse_keyboard, "f")._modifiers,
+                modifiers: this.#keyboard._modifiers,
                 clickCount,
                 buttons,
                 button,
@@ -301,17 +323,17 @@
         if (!flag) {
             throw new Error(`Unsupported mouse button: ${button}`);
         }
-        if (!(__classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get).buttons & flag)) {
+        if (!(this.#state.buttons & flag)) {
             throw new Error(`'${button}' is not pressed.`);
         }
-        await __classPrivateFieldGet(this, _CDPMouse_instances, "m", _CDPMouse_withTransaction).call(this, updateState => {
+        await this.#withTransaction(updateState => {
             updateState({
-                buttons: __classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get).buttons & ~flag,
+                buttons: this.#state.buttons & ~flag,
             });
-            const { buttons, position } = __classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get);
-            return __classPrivateFieldGet(this, _CDPMouse_client, "f").send('Input.dispatchMouseEvent', {
+            const { buttons, position } = this.#state;
+            return this.#client.send('Input.dispatchMouseEvent', {
                 type: 'mouseReleased',
-                modifiers: __classPrivateFieldGet(this, _CDPMouse_keyboard, "f")._modifiers,
+                modifiers: this.#keyboard._modifiers,
                 clickCount,
                 buttons,
                 button,
@@ -343,11 +365,11 @@
     }
     async wheel(options = {}) {
         const { deltaX = 0, deltaY = 0 } = options;
-        const { position, buttons } = __classPrivateFieldGet(this, _CDPMouse_instances, "a", _CDPMouse_state_get);
-        await __classPrivateFieldGet(this, _CDPMouse_client, "f").send('Input.dispatchMouseEvent', {
+        const { position, buttons } = this.#state;
+        await this.#client.send('Input.dispatchMouseEvent', {
             type: 'mouseWheel',
             pointerType: 'mouse',
-            modifiers: __classPrivateFieldGet(this, _CDPMouse_keyboard, "f")._modifiers,
+            modifiers: this.#keyboard._modifiers,
             deltaY,
             deltaX,
             buttons,
@@ -356,7 +378,7 @@
     }
     async drag(start, target) {
         const promise = new Promise(resolve => {
-            __classPrivateFieldGet(this, _CDPMouse_client, "f").once('Input.dragIntercepted', event => {
+            this.#client.once('Input.dragIntercepted', event => {
                 return resolve(event.data);
             });
         });
@@ -366,29 +388,29 @@
         return promise;
     }
     async dragEnter(target, data) {
-        await __classPrivateFieldGet(this, _CDPMouse_client, "f").send('Input.dispatchDragEvent', {
+        await this.#client.send('Input.dispatchDragEvent', {
             type: 'dragEnter',
             x: target.x,
             y: target.y,
-            modifiers: __classPrivateFieldGet(this, _CDPMouse_keyboard, "f")._modifiers,
+            modifiers: this.#keyboard._modifiers,
             data,
         });
     }
     async dragOver(target, data) {
-        await __classPrivateFieldGet(this, _CDPMouse_client, "f").send('Input.dispatchDragEvent', {
+        await this.#client.send('Input.dispatchDragEvent', {
             type: 'dragOver',
             x: target.x,
             y: target.y,
-            modifiers: __classPrivateFieldGet(this, _CDPMouse_keyboard, "f")._modifiers,
+            modifiers: this.#keyboard._modifiers,
             data,
         });
     }
     async drop(target, data) {
-        await __classPrivateFieldGet(this, _CDPMouse_client, "f").send('Input.dispatchDragEvent', {
+        await this.#client.send('Input.dispatchDragEvent', {
             type: 'drop',
             x: target.x,
             y: target.y,
-            modifiers: __classPrivateFieldGet(this, _CDPMouse_keyboard, "f")._modifiers,
+            modifiers: this.#keyboard._modifiers,
             data,
         });
     }
@@ -406,53 +428,19 @@
         await this.up();
     }
 }
-_CDPMouse_client = new WeakMap(), _CDPMouse_keyboard = new WeakMap(), _CDPMouse__state = new WeakMap(), _CDPMouse_transactions = new WeakMap(), _CDPMouse_instances = new WeakSet(), _CDPMouse_state_get = function _CDPMouse_state_get() {
-    return Object.assign({ ...__classPrivateFieldGet(this, _CDPMouse__state, "f") }, ...__classPrivateFieldGet(this, _CDPMouse_transactions, "f"));
-}, _CDPMouse_createTransaction = function _CDPMouse_createTransaction() {
-    const transaction = {};
-    __classPrivateFieldGet(this, _CDPMouse_transactions, "f").push(transaction);
-    const popTransaction = () => {
-        __classPrivateFieldGet(this, _CDPMouse_transactions, "f").splice(__classPrivateFieldGet(this, _CDPMouse_transactions, "f").indexOf(transaction), 1);
-    };
-    return {
-        update: (updates) => {
-            Object.assign(transaction, updates);
-        },
-        commit: () => {
-            __classPrivateFieldSet(this, _CDPMouse__state, { ...__classPrivateFieldGet(this, _CDPMouse__state, "f"), ...transaction }, "f");
-            popTransaction();
-        },
-        rollback: popTransaction,
-    };
-}, _CDPMouse_withTransaction = 
-/**
- * This is a shortcut for a typical update, commit/rollback lifecycle based on
- * the error of the action.
- */
-async function _CDPMouse_withTransaction(action) {
-    const { update, commit, rollback } = __classPrivateFieldGet(this, _CDPMouse_instances, "m", _CDPMouse_createTransaction).call(this);
-    try {
-        await action(update);
-        commit();
-    }
-    catch (error) {
-        rollback();
-        throw error;
-    }
-};
 /**
  * @internal
  */
 export class CDPTouchscreen extends Touchscreen {
+    #client;
+    #keyboard;
     /**
      * @internal
      */
     constructor(client, keyboard) {
         super();
-        _CDPTouchscreen_client.set(this, void 0);
-        _CDPTouchscreen_keyboard.set(this, void 0);
-        __classPrivateFieldSet(this, _CDPTouchscreen_client, client, "f");
-        __classPrivateFieldSet(this, _CDPTouchscreen_keyboard, keyboard, "f");
+        this.#client = client;
+        this.#keyboard = keyboard;
     }
     async tap(x, y) {
         await this.touchStart(x, y);
@@ -460,27 +448,26 @@
     }
     async touchStart(x, y) {
         const touchPoints = [{ x: Math.round(x), y: Math.round(y) }];
-        await __classPrivateFieldGet(this, _CDPTouchscreen_client, "f").send('Input.dispatchTouchEvent', {
+        await this.#client.send('Input.dispatchTouchEvent', {
             type: 'touchStart',
             touchPoints,
-            modifiers: __classPrivateFieldGet(this, _CDPTouchscreen_keyboard, "f")._modifiers,
+            modifiers: this.#keyboard._modifiers,
         });
     }
     async touchMove(x, y) {
         const movePoints = [{ x: Math.round(x), y: Math.round(y) }];
-        await __classPrivateFieldGet(this, _CDPTouchscreen_client, "f").send('Input.dispatchTouchEvent', {
+        await this.#client.send('Input.dispatchTouchEvent', {
             type: 'touchMove',
             touchPoints: movePoints,
-            modifiers: __classPrivateFieldGet(this, _CDPTouchscreen_keyboard, "f")._modifiers,
+            modifiers: this.#keyboard._modifiers,
         });
     }
     async touchEnd() {
-        await __classPrivateFieldGet(this, _CDPTouchscreen_client, "f").send('Input.dispatchTouchEvent', {
+        await this.#client.send('Input.dispatchTouchEvent', {
             type: 'touchEnd',
             touchPoints: [],
-            modifiers: __classPrivateFieldGet(this, _CDPTouchscreen_keyboard, "f")._modifiers,
+            modifiers: this.#keyboard._modifiers,
         });
     }
 }
-_CDPTouchscreen_client = new WeakMap(), _CDPTouchscreen_keyboard = new WeakMap();
 //# sourceMappingURL=Input.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.js.map
index 57e2dc1..5d7550e 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.js.map
@@ -1 +1 @@
-{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/common/Input.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../src/common/Input.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/IsolatedWorld.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/IsolatedWorld.js
index e602bf7..8519a45 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/IsolatedWorld.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/IsolatedWorld.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _IsolatedWorld_instances, _IsolatedWorld_frame, _IsolatedWorld_document, _IsolatedWorld_context, _IsolatedWorld_detached, _IsolatedWorld_contextBindings, _IsolatedWorld_bindings, _IsolatedWorld_taskManager, _IsolatedWorld_client_get, _IsolatedWorld_frameManager_get, _IsolatedWorld_timeoutSettings_get, _IsolatedWorld_mutex, _IsolatedWorld_onBindingCalled, _Mutex_locked, _Mutex_acquirers;
 import { assert } from '../util/assert.js';
 import { Deferred } from '../util/Deferred.js';
 import { MAIN_WORLD, PUPPETEER_WORLD } from './IsolatedWorlds.js';
@@ -35,88 +23,64 @@
  * @internal
  */
 export class IsolatedWorld {
+    #frame;
+    #document;
+    #context = Deferred.create();
+    #detached = false;
+    // Set of bindings that have been registered in the current context.
+    #contextBindings = new Set();
+    // Contains mapping from functions that should be bound to Puppeteer functions.
+    #bindings = new Map();
+    #taskManager = new TaskManager();
     get taskManager() {
-        return __classPrivateFieldGet(this, _IsolatedWorld_taskManager, "f");
+        return this.#taskManager;
     }
     get _bindings() {
-        return __classPrivateFieldGet(this, _IsolatedWorld_bindings, "f");
+        return this.#bindings;
     }
     constructor(frame) {
-        _IsolatedWorld_instances.add(this);
-        _IsolatedWorld_frame.set(this, void 0);
-        _IsolatedWorld_document.set(this, void 0);
-        _IsolatedWorld_context.set(this, Deferred.create());
-        _IsolatedWorld_detached.set(this, false);
-        // Set of bindings that have been registered in the current context.
-        _IsolatedWorld_contextBindings.set(this, new Set());
-        // Contains mapping from functions that should be bound to Puppeteer functions.
-        _IsolatedWorld_bindings.set(this, new Map());
-        _IsolatedWorld_taskManager.set(this, new TaskManager());
-        // If multiple waitFor are set up asynchronously, we need to wait for the
-        // first one to set up the binding in the page before running the others.
-        _IsolatedWorld_mutex.set(this, new Mutex());
-        _IsolatedWorld_onBindingCalled.set(this, async (event) => {
-            let payload;
-            try {
-                payload = JSON.parse(event.payload);
-            }
-            catch {
-                // The binding was either called by something in the page or it was
-                // called before our wrapper was initialized.
-                return;
-            }
-            const { type, name, seq, args, isTrivial } = payload;
-            if (type !== 'internal') {
-                return;
-            }
-            if (!__classPrivateFieldGet(this, _IsolatedWorld_contextBindings, "f").has(name)) {
-                return;
-            }
-            try {
-                const context = await __classPrivateFieldGet(this, _IsolatedWorld_context, "f").valueOrThrow();
-                if (event.executionContextId !== context._contextId) {
-                    return;
-                }
-                const binding = this._bindings.get(name);
-                await binding?.run(context, seq, args, isTrivial);
-            }
-            catch (err) {
-                debugError(err);
-            }
-        });
         // Keep own reference to client because it might differ from the FrameManager's
         // client for OOP iframes.
-        __classPrivateFieldSet(this, _IsolatedWorld_frame, frame, "f");
-        __classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_client_get).on('Runtime.bindingCalled', __classPrivateFieldGet(this, _IsolatedWorld_onBindingCalled, "f"));
+        this.#frame = frame;
+        this.#client.on('Runtime.bindingCalled', this.#onBindingCalled);
+    }
+    get #client() {
+        return this.#frame._client();
+    }
+    get #frameManager() {
+        return this.#frame._frameManager;
+    }
+    get #timeoutSettings() {
+        return this.#frameManager.timeoutSettings;
     }
     frame() {
-        return __classPrivateFieldGet(this, _IsolatedWorld_frame, "f");
+        return this.#frame;
     }
     clearContext() {
-        __classPrivateFieldSet(this, _IsolatedWorld_document, undefined, "f");
-        __classPrivateFieldSet(this, _IsolatedWorld_context, Deferred.create(), "f");
+        this.#document = undefined;
+        this.#context = Deferred.create();
     }
     setContext(context) {
-        __classPrivateFieldGet(this, _IsolatedWorld_contextBindings, "f").clear();
-        __classPrivateFieldGet(this, _IsolatedWorld_context, "f").resolve(context);
-        void __classPrivateFieldGet(this, _IsolatedWorld_taskManager, "f").rerunAll();
+        this.#contextBindings.clear();
+        this.#context.resolve(context);
+        void this.#taskManager.rerunAll();
     }
     hasContext() {
-        return __classPrivateFieldGet(this, _IsolatedWorld_context, "f").resolved();
+        return this.#context.resolved();
     }
     _detach() {
-        __classPrivateFieldSet(this, _IsolatedWorld_detached, true, "f");
-        __classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_client_get).off('Runtime.bindingCalled', __classPrivateFieldGet(this, _IsolatedWorld_onBindingCalled, "f"));
-        __classPrivateFieldGet(this, _IsolatedWorld_taskManager, "f").terminateAll(new Error('waitForFunction failed: frame got detached.'));
+        this.#detached = true;
+        this.#client.off('Runtime.bindingCalled', this.#onBindingCalled);
+        this.#taskManager.terminateAll(new Error('waitForFunction failed: frame got detached.'));
     }
     executionContext() {
-        if (__classPrivateFieldGet(this, _IsolatedWorld_detached, "f")) {
-            throw new Error(`Execution context is not available in detached frame "${__classPrivateFieldGet(this, _IsolatedWorld_frame, "f").url()}" (are you trying to evaluate?)`);
+        if (this.#detached) {
+            throw new Error(`Execution context is not available in detached frame "${this.#frame.url()}" (are you trying to evaluate?)`);
         }
-        if (__classPrivateFieldGet(this, _IsolatedWorld_context, "f") === null) {
+        if (this.#context === null) {
             throw new Error(`Execution content promise is missing`);
         }
-        return __classPrivateFieldGet(this, _IsolatedWorld_context, "f").valueOrThrow();
+        return this.#context.valueOrThrow();
     }
     async evaluateHandle(pageFunction, ...args) {
         pageFunction = withSourcePuppeteerURLIfNone(this.evaluateHandle.name, pageFunction);
@@ -137,14 +101,14 @@
         return document.$$(selector);
     }
     async document() {
-        if (__classPrivateFieldGet(this, _IsolatedWorld_document, "f")) {
-            return __classPrivateFieldGet(this, _IsolatedWorld_document, "f");
+        if (this.#document) {
+            return this.#document;
         }
         const context = await this.executionContext();
-        __classPrivateFieldSet(this, _IsolatedWorld_document, await context.evaluateHandle(() => {
+        this.#document = await context.evaluateHandle(() => {
             return document;
-        }), "f");
-        return __classPrivateFieldGet(this, _IsolatedWorld_document, "f");
+        });
+        return this.#document;
     }
     async $x(expression) {
         const document = await this.document();
@@ -164,9 +128,9 @@
         return await this.evaluate(getPageContent);
     }
     async setContent(html, options = {}) {
-        const { waitUntil = ['load'], timeout = __classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_timeoutSettings_get).navigationTimeout(), } = options;
+        const { waitUntil = ['load'], timeout = this.#timeoutSettings.navigationTimeout(), } = options;
         await setPageContent(this, html);
-        const watcher = new LifecycleWatcher(__classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_frameManager_get), __classPrivateFieldGet(this, _IsolatedWorld_frame, "f"), waitUntil, timeout);
+        const watcher = new LifecycleWatcher(this.#frameManager, this.#frame, waitUntil, timeout);
         const error = await Deferred.race([
             watcher.terminationPromise(),
             watcher.lifecyclePromise(),
@@ -213,11 +177,14 @@
         await handle.type(text, options);
         await handle.dispose();
     }
+    // If multiple waitFor are set up asynchronously, we need to wait for the
+    // first one to set up the binding in the page before running the others.
+    #mutex = new Mutex();
     async _addBindingToContext(context, name) {
-        if (__classPrivateFieldGet(this, _IsolatedWorld_contextBindings, "f").has(name)) {
+        if (this.#contextBindings.has(name)) {
             return;
         }
-        await __classPrivateFieldGet(this, _IsolatedWorld_mutex, "f").acquire();
+        await this.#mutex.acquire();
         try {
             await context._client.send('Runtime.addBinding', context._contextName
                 ? {
@@ -229,7 +196,7 @@
                     executionContextId: context._contextId,
                 });
             await context.evaluate(addPageBinding, 'internal', name);
-            __classPrivateFieldGet(this, _IsolatedWorld_contextBindings, "f").add(name);
+            this.#contextBindings.add(name);
         }
         catch (error) {
             // We could have tried to evaluate in a context which was already
@@ -248,11 +215,40 @@
             debugError(error);
         }
         finally {
-            __classPrivateFieldGet(this, _IsolatedWorld_mutex, "f").release();
+            this.#mutex.release();
         }
     }
+    #onBindingCalled = async (event) => {
+        let payload;
+        try {
+            payload = JSON.parse(event.payload);
+        }
+        catch {
+            // The binding was either called by something in the page or it was
+            // called before our wrapper was initialized.
+            return;
+        }
+        const { type, name, seq, args, isTrivial } = payload;
+        if (type !== 'internal') {
+            return;
+        }
+        if (!this.#contextBindings.has(name)) {
+            return;
+        }
+        try {
+            const context = await this.#context.valueOrThrow();
+            if (event.executionContextId !== context._contextId) {
+                return;
+            }
+            const binding = this._bindings.get(name);
+            await binding?.run(context, seq, args, isTrivial);
+        }
+        catch (err) {
+            debugError(err);
+        }
+    };
     waitForFunction(pageFunction, options = {}, ...args) {
-        const { polling = 'raf', timeout = __classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_timeoutSettings_get).timeout(), root, signal, } = options;
+        const { polling = 'raf', timeout = this.#timeoutSettings.timeout(), root, signal, } = options;
         if (typeof polling === 'number' && polling < 0) {
             throw new Error('Cannot poll with non-positive interval');
         }
@@ -271,7 +267,7 @@
     }
     async adoptBackendNode(backendNodeId) {
         const executionContext = await this.executionContext();
-        const { object } = await __classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_client_get).send('DOM.resolveNode', {
+        const { object } = await this.#client.send('DOM.resolveNode', {
             backendNodeId: backendNodeId,
             executionContextId: executionContext._contextId,
         });
@@ -280,7 +276,7 @@
     async adoptHandle(handle) {
         const context = await this.executionContext();
         assert(handle.executionContext() !== context, 'Cannot adopt handle that already belongs to this execution context');
-        const nodeInfo = await __classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_client_get).send('DOM.describeNode', {
+        const nodeInfo = await this.#client.send('DOM.describeNode', {
             objectId: handle.id,
         });
         return (await this.adoptBackendNode(nodeInfo.node.backendNodeId));
@@ -290,7 +286,7 @@
         if (handle.executionContext() === context) {
             return handle;
         }
-        const info = await __classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_client_get).send('DOM.describeNode', {
+        const info = await this.#client.send('DOM.describeNode', {
             objectId: handle.remoteObject().objectId,
         });
         const newHandle = (await this.adoptBackendNode(info.node.backendNodeId));
@@ -298,36 +294,26 @@
         return newHandle;
     }
 }
-_IsolatedWorld_frame = new WeakMap(), _IsolatedWorld_document = new WeakMap(), _IsolatedWorld_context = new WeakMap(), _IsolatedWorld_detached = new WeakMap(), _IsolatedWorld_contextBindings = new WeakMap(), _IsolatedWorld_bindings = new WeakMap(), _IsolatedWorld_taskManager = new WeakMap(), _IsolatedWorld_mutex = new WeakMap(), _IsolatedWorld_onBindingCalled = new WeakMap(), _IsolatedWorld_instances = new WeakSet(), _IsolatedWorld_client_get = function _IsolatedWorld_client_get() {
-    return __classPrivateFieldGet(this, _IsolatedWorld_frame, "f")._client();
-}, _IsolatedWorld_frameManager_get = function _IsolatedWorld_frameManager_get() {
-    return __classPrivateFieldGet(this, _IsolatedWorld_frame, "f")._frameManager;
-}, _IsolatedWorld_timeoutSettings_get = function _IsolatedWorld_timeoutSettings_get() {
-    return __classPrivateFieldGet(this, _IsolatedWorld_instances, "a", _IsolatedWorld_frameManager_get).timeoutSettings;
-};
 class Mutex {
-    constructor() {
-        _Mutex_locked.set(this, false);
-        _Mutex_acquirers.set(this, []);
-    }
+    #locked = false;
+    #acquirers = [];
     // This is FIFO.
     acquire() {
-        if (!__classPrivateFieldGet(this, _Mutex_locked, "f")) {
-            __classPrivateFieldSet(this, _Mutex_locked, true, "f");
+        if (!this.#locked) {
+            this.#locked = true;
             return Promise.resolve();
         }
         const deferred = Deferred.create();
-        __classPrivateFieldGet(this, _Mutex_acquirers, "f").push(deferred.resolve.bind(deferred));
+        this.#acquirers.push(deferred.resolve.bind(deferred));
         return deferred.valueOrThrow();
     }
     release() {
-        const resolve = __classPrivateFieldGet(this, _Mutex_acquirers, "f").shift();
+        const resolve = this.#acquirers.shift();
         if (!resolve) {
-            __classPrivateFieldSet(this, _Mutex_locked, false, "f");
+            this.#locked = false;
             return;
         }
         resolve();
     }
 }
-_Mutex_locked = new WeakMap(), _Mutex_acquirers = new WeakMap();
 //# sourceMappingURL=IsolatedWorld.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/IsolatedWorld.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/IsolatedWorld.js.map
index 251999b..a286e39 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/IsolatedWorld.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/IsolatedWorld.js.map
@@ -1 +1 @@
-{"version":3,"file":"IsolatedWorld.js","sourceRoot":"","sources":["../../../../src/common/IsolatedWorld.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"IsolatedWorld.js","sourceRoot":"","sources":["../../../../src/common/IsolatedWorld.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.d.ts
index 9c8ede3..8c8b20f 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.d.ts
@@ -19,16 +19,11 @@
 import type { CDPElementHandle } from './ElementHandle.js';
 import { ExecutionContext } from './ExecutionContext.js';
 import { EvaluateFuncWith, HandleFor, HandleOr } from './types.js';
-declare const __JSHandleSymbol: unique symbol;
 /**
  * @internal
  */
 export declare class CDPJSHandle<T = unknown> extends JSHandle<T> {
     #private;
-    /**
-     * Used for nominally typing {@link JSHandle}.
-     */
-    [__JSHandleSymbol]?: T;
     get disposed(): boolean;
     constructor(context: ExecutionContext, remoteObject: Protocol.Runtime.RemoteObject);
     executionContext(): ExecutionContext;
@@ -55,5 +50,4 @@
     get id(): string | undefined;
     remoteObject(): Protocol.Runtime.RemoteObject;
 }
-export {};
 //# sourceMappingURL=JSHandle.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.d.ts.map
index b8c2b5a..a433149 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"JSHandle.d.ts","sourceRoot":"","sources":["../../../../src/common/JSHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,YAAY,CAAC;AAQjE,OAAO,CAAC,MAAM,gBAAgB,EAAE,OAAO,MAAM,CAAC;AAE9C;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;;IACvD;;OAEG;IACH,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC;IAMvB,IAAa,QAAQ,IAAI,OAAO,CAE/B;gBAGC,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY;IAOpC,gBAAgB,IAAI,gBAAgB;IAI7C,IAAa,MAAM,IAAI,UAAU,CAEhC;IAED;;OAEG;IACY,QAAQ,CACrB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAQrC;;OAEG;IACY,cAAc,CAC3B,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAYjC,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EAC1C,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACZ,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAS7D,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAkB/C,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC;IAatC;;;OAGG;IACM,SAAS,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IAIpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B,QAAQ,IAAI,MAAM;IAQ3B,IAAa,EAAE,IAAI,MAAM,GAAG,SAAS,CAEpC;IAEQ,YAAY,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY;CAGvD"}
\ No newline at end of file
+{"version":3,"file":"JSHandle.d.ts","sourceRoot":"","sources":["../../../../src/common/JSHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,YAAY,CAAC;AAQjE;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,CAAC,CAAC,CAAC;;IAKvD,IAAa,QAAQ,IAAI,OAAO,CAE/B;gBAGC,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY;IAOpC,gBAAgB,IAAI,gBAAgB;IAI7C,IAAa,MAAM,IAAI,UAAU,CAEhC;IAED;;OAEG;IACY,QAAQ,CACrB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAQrC;;OAEG;IACY,cAAc,CAC3B,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAYjC,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EAC1C,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACZ,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAS7D,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAkB/C,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC;IAatC;;;OAGG;IACM,SAAS,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IAIpC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B,QAAQ,IAAI,MAAM;IAQ3B,IAAa,EAAE,IAAI,MAAM,GAAG,SAAS,CAEpC;IAEQ,YAAY,IAAI,QAAQ,CAAC,OAAO,CAAC,YAAY;CAGvD"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.js
index f44c399..adfd1d3 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _CDPJSHandle_disposed, _CDPJSHandle_context, _CDPJSHandle_remoteObject;
 import { JSHandle } from '../api/JSHandle.js';
 import { assert } from '../util/assert.js';
 import { createJSHandle, releaseObject, valueFromRemoteObject, withSourcePuppeteerURLIfNone, } from './util.js';
@@ -32,22 +20,22 @@
  * @internal
  */
 export class CDPJSHandle extends JSHandle {
+    #disposed = false;
+    #context;
+    #remoteObject;
     get disposed() {
-        return __classPrivateFieldGet(this, _CDPJSHandle_disposed, "f");
+        return this.#disposed;
     }
     constructor(context, remoteObject) {
         super();
-        _CDPJSHandle_disposed.set(this, false);
-        _CDPJSHandle_context.set(this, void 0);
-        _CDPJSHandle_remoteObject.set(this, void 0);
-        __classPrivateFieldSet(this, _CDPJSHandle_context, context, "f");
-        __classPrivateFieldSet(this, _CDPJSHandle_remoteObject, remoteObject, "f");
+        this.#context = context;
+        this.#remoteObject = remoteObject;
     }
     executionContext() {
-        return __classPrivateFieldGet(this, _CDPJSHandle_context, "f");
+        return this.#context;
     }
     get client() {
-        return __classPrivateFieldGet(this, _CDPJSHandle_context, "f")._client;
+        return this.#context._client;
     }
     /**
      * @see {@link ExecutionContext.evaluate} for more details.
@@ -69,11 +57,11 @@
         }, propertyName);
     }
     async getProperties() {
-        assert(__classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f").objectId);
+        assert(this.#remoteObject.objectId);
         // We use Runtime.getProperties rather than iterative building because the
         // iterative approach might create a distorted snapshot.
         const response = await this.client.send('Runtime.getProperties', {
-            objectId: __classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f").objectId,
+            objectId: this.#remoteObject.objectId,
             ownProperties: true,
         });
         const result = new Map();
@@ -81,13 +69,13 @@
             if (!property.enumerable || !property.value) {
                 continue;
             }
-            result.set(property.name, createJSHandle(__classPrivateFieldGet(this, _CDPJSHandle_context, "f"), property.value));
+            result.set(property.name, createJSHandle(this.#context, property.value));
         }
         return result;
     }
     async jsonValue() {
-        if (!__classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f").objectId) {
-            return valueFromRemoteObject(__classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f"));
+        if (!this.#remoteObject.objectId) {
+            return valueFromRemoteObject(this.#remoteObject);
         }
         const value = await this.evaluate(object => {
             return object;
@@ -105,25 +93,24 @@
         return null;
     }
     async dispose() {
-        if (__classPrivateFieldGet(this, _CDPJSHandle_disposed, "f")) {
+        if (this.#disposed) {
             return;
         }
-        __classPrivateFieldSet(this, _CDPJSHandle_disposed, true, "f");
-        await releaseObject(this.client, __classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f"));
+        this.#disposed = true;
+        await releaseObject(this.client, this.#remoteObject);
     }
     toString() {
-        if (!__classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f").objectId) {
-            return 'JSHandle:' + valueFromRemoteObject(__classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f"));
+        if (!this.#remoteObject.objectId) {
+            return 'JSHandle:' + valueFromRemoteObject(this.#remoteObject);
         }
-        const type = __classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f").subtype || __classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f").type;
+        const type = this.#remoteObject.subtype || this.#remoteObject.type;
         return 'JSHandle@' + type;
     }
     get id() {
-        return __classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f").objectId;
+        return this.#remoteObject.objectId;
     }
     remoteObject() {
-        return __classPrivateFieldGet(this, _CDPJSHandle_remoteObject, "f");
+        return this.#remoteObject;
     }
 }
-_CDPJSHandle_disposed = new WeakMap(), _CDPJSHandle_context = new WeakMap(), _CDPJSHandle_remoteObject = new WeakMap();
 //# sourceMappingURL=JSHandle.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.js.map
index 81dc45e..7fa6992 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.js.map
@@ -1 +1 @@
-{"version":3,"file":"JSHandle.js","sourceRoot":"","sources":["../../../../src/common/JSHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"JSHandle.js","sourceRoot":"","sources":["../../../../src/common/JSHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/LazyArg.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/LazyArg.js
index 304a0a7..cd44a88 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/LazyArg.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/LazyArg.js
@@ -13,34 +13,21 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _LazyArg_get;
 /**
  * @internal
  */
 export class LazyArg {
+    static create = (get) => {
+        // We don't want to introduce LazyArg to the type system, otherwise we would
+        // have to make it public.
+        return new LazyArg(get);
+    };
+    #get;
     constructor(get) {
-        _LazyArg_get.set(this, void 0);
-        __classPrivateFieldSet(this, _LazyArg_get, get, "f");
+        this.#get = get;
     }
     async get(context) {
-        return __classPrivateFieldGet(this, _LazyArg_get, "f").call(this, context);
+        return this.#get(context);
     }
 }
-_LazyArg_get = new WeakMap();
-LazyArg.create = (get) => {
-    // We don't want to introduce LazyArg to the type system, otherwise we would
-    // have to make it public.
-    return new LazyArg(get);
-};
 //# sourceMappingURL=LazyArg.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/LazyArg.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/LazyArg.js.map
index 32d971a..0658325 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/LazyArg.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/LazyArg.js.map
@@ -1 +1 @@
-{"version":3,"file":"LazyArg.js","sourceRoot":"","sources":["../../../../src/common/LazyArg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;AAYH;;GAEG;AACH,MAAM,OAAO,OAAO;IAUlB,YAAoB,GAAyC;QAD7D,+BAA2C;QAEzC,uBAAA,IAAI,gBAAQ,GAAG,MAAA,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAgB;QACxB,OAAO,uBAAA,IAAI,oBAAK,MAAT,IAAI,EAAM,OAAO,CAAC,CAAC;IAC5B,CAAC;;;AAfM,cAAM,GAAG,CACd,GAAsD,EACnD,EAAE;IACL,4EAA4E;IAC5E,0BAA0B;IAC1B,OAAO,IAAI,OAAO,CAAC,GAAG,CAAiB,CAAC;AAC1C,CAAC,AANY,CAMX"}
\ No newline at end of file
+{"version":3,"file":"LazyArg.js","sourceRoot":"","sources":["../../../../src/common/LazyArg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAYH;;GAEG;AACH,MAAM,OAAO,OAAO;IAClB,MAAM,CAAC,MAAM,GAAG,CACd,GAAsD,EACnD,EAAE;QACL,4EAA4E;QAC5E,0BAA0B;QAC1B,OAAO,IAAI,OAAO,CAAC,GAAG,CAAiB,CAAC;IAC1C,CAAC,CAAC;IAEF,IAAI,CAAuC;IAC3C,YAAoB,GAAyC;QAC3D,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,OAAgB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.js
index d71964a..dea304b 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _LifecycleWatcher_instances, _LifecycleWatcher_expectedLifecycle, _LifecycleWatcher_frameManager, _LifecycleWatcher_frame, _LifecycleWatcher_timeout, _LifecycleWatcher_navigationRequest, _LifecycleWatcher_eventListeners, _LifecycleWatcher_initialLoaderId, _LifecycleWatcher_terminationDeferred, _LifecycleWatcher_sameDocumentNavigationDeferred, _LifecycleWatcher_lifecycleDeferred, _LifecycleWatcher_newDocumentNavigationDeferred, _LifecycleWatcher_hasSameDocumentNavigation, _LifecycleWatcher_swapped, _LifecycleWatcher_navigationResponseReceived, _LifecycleWatcher_onRequest, _LifecycleWatcher_onRequestFailed, _LifecycleWatcher_onResponse, _LifecycleWatcher_onFrameDetached, _LifecycleWatcher_terminate, _LifecycleWatcher_navigatedWithinDocument, _LifecycleWatcher_navigated, _LifecycleWatcher_frameSwapped, _LifecycleWatcher_checkLifecycleComplete;
 import { assert } from '../util/assert.js';
 import { Deferred } from '../util/Deferred.js';
 import { CDPSessionEmittedEvents } from './Connection.js';
@@ -41,149 +29,156 @@
  * @internal
  */
 export class LifecycleWatcher {
+    #expectedLifecycle;
+    #frameManager;
+    #frame;
+    #timeout;
+    #navigationRequest = null;
+    #eventListeners;
+    #initialLoaderId;
+    #terminationDeferred;
+    #sameDocumentNavigationDeferred = Deferred.create();
+    #lifecycleDeferred = Deferred.create();
+    #newDocumentNavigationDeferred = Deferred.create();
+    #hasSameDocumentNavigation;
+    #swapped;
+    #navigationResponseReceived;
     constructor(frameManager, frame, waitUntil, timeout) {
-        _LifecycleWatcher_instances.add(this);
-        _LifecycleWatcher_expectedLifecycle.set(this, void 0);
-        _LifecycleWatcher_frameManager.set(this, void 0);
-        _LifecycleWatcher_frame.set(this, void 0);
-        _LifecycleWatcher_timeout.set(this, void 0);
-        _LifecycleWatcher_navigationRequest.set(this, null);
-        _LifecycleWatcher_eventListeners.set(this, void 0);
-        _LifecycleWatcher_initialLoaderId.set(this, void 0);
-        _LifecycleWatcher_terminationDeferred.set(this, void 0);
-        _LifecycleWatcher_sameDocumentNavigationDeferred.set(this, Deferred.create());
-        _LifecycleWatcher_lifecycleDeferred.set(this, Deferred.create());
-        _LifecycleWatcher_newDocumentNavigationDeferred.set(this, Deferred.create());
-        _LifecycleWatcher_hasSameDocumentNavigation.set(this, void 0);
-        _LifecycleWatcher_swapped.set(this, void 0);
-        _LifecycleWatcher_navigationResponseReceived.set(this, void 0);
         if (Array.isArray(waitUntil)) {
             waitUntil = waitUntil.slice();
         }
         else if (typeof waitUntil === 'string') {
             waitUntil = [waitUntil];
         }
-        __classPrivateFieldSet(this, _LifecycleWatcher_initialLoaderId, frame._loaderId, "f");
-        __classPrivateFieldSet(this, _LifecycleWatcher_expectedLifecycle, waitUntil.map(value => {
+        this.#initialLoaderId = frame._loaderId;
+        this.#expectedLifecycle = waitUntil.map(value => {
             const protocolEvent = puppeteerToProtocolLifecycle.get(value);
             assert(protocolEvent, 'Unknown value for options.waitUntil: ' + value);
             return protocolEvent;
-        }), "f");
-        __classPrivateFieldSet(this, _LifecycleWatcher_frameManager, frameManager, "f");
-        __classPrivateFieldSet(this, _LifecycleWatcher_frame, frame, "f");
-        __classPrivateFieldSet(this, _LifecycleWatcher_timeout, timeout, "f");
-        __classPrivateFieldSet(this, _LifecycleWatcher_eventListeners, [
-            addEventListener(frameManager.client, CDPSessionEmittedEvents.Disconnected, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_terminate).bind(this, new Error('Navigation failed because browser has disconnected!'))),
-            addEventListener(__classPrivateFieldGet(this, _LifecycleWatcher_frameManager, "f"), FrameManagerEmittedEvents.LifecycleEvent, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_checkLifecycleComplete).bind(this)),
-            addEventListener(__classPrivateFieldGet(this, _LifecycleWatcher_frameManager, "f"), FrameManagerEmittedEvents.FrameNavigatedWithinDocument, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_navigatedWithinDocument).bind(this)),
-            addEventListener(__classPrivateFieldGet(this, _LifecycleWatcher_frameManager, "f"), FrameManagerEmittedEvents.FrameNavigated, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_navigated).bind(this)),
-            addEventListener(__classPrivateFieldGet(this, _LifecycleWatcher_frameManager, "f"), FrameManagerEmittedEvents.FrameSwapped, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_frameSwapped).bind(this)),
-            addEventListener(__classPrivateFieldGet(this, _LifecycleWatcher_frameManager, "f"), FrameManagerEmittedEvents.FrameDetached, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_onFrameDetached).bind(this)),
-            addEventListener(__classPrivateFieldGet(this, _LifecycleWatcher_frameManager, "f").networkManager, NetworkManagerEmittedEvents.Request, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_onRequest).bind(this)),
-            addEventListener(__classPrivateFieldGet(this, _LifecycleWatcher_frameManager, "f").networkManager, NetworkManagerEmittedEvents.Response, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_onResponse).bind(this)),
-            addEventListener(__classPrivateFieldGet(this, _LifecycleWatcher_frameManager, "f").networkManager, NetworkManagerEmittedEvents.RequestFailed, __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_onRequestFailed).bind(this)),
-        ], "f");
-        __classPrivateFieldSet(this, _LifecycleWatcher_terminationDeferred, Deferred.create({
-            timeout: __classPrivateFieldGet(this, _LifecycleWatcher_timeout, "f"),
-            message: `Navigation timeout of ${__classPrivateFieldGet(this, _LifecycleWatcher_timeout, "f")} ms exceeded`,
-        }), "f");
-        __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_checkLifecycleComplete).call(this);
+        });
+        this.#frameManager = frameManager;
+        this.#frame = frame;
+        this.#timeout = timeout;
+        this.#eventListeners = [
+            addEventListener(frameManager.client, CDPSessionEmittedEvents.Disconnected, this.#terminate.bind(this, new Error('Navigation failed because browser has disconnected!'))),
+            addEventListener(this.#frameManager, FrameManagerEmittedEvents.LifecycleEvent, this.#checkLifecycleComplete.bind(this)),
+            addEventListener(this.#frameManager, FrameManagerEmittedEvents.FrameNavigatedWithinDocument, this.#navigatedWithinDocument.bind(this)),
+            addEventListener(this.#frameManager, FrameManagerEmittedEvents.FrameNavigated, this.#navigated.bind(this)),
+            addEventListener(this.#frameManager, FrameManagerEmittedEvents.FrameSwapped, this.#frameSwapped.bind(this)),
+            addEventListener(this.#frameManager, FrameManagerEmittedEvents.FrameDetached, this.#onFrameDetached.bind(this)),
+            addEventListener(this.#frameManager.networkManager, NetworkManagerEmittedEvents.Request, this.#onRequest.bind(this)),
+            addEventListener(this.#frameManager.networkManager, NetworkManagerEmittedEvents.Response, this.#onResponse.bind(this)),
+            addEventListener(this.#frameManager.networkManager, NetworkManagerEmittedEvents.RequestFailed, this.#onRequestFailed.bind(this)),
+        ];
+        this.#terminationDeferred = Deferred.create({
+            timeout: this.#timeout,
+            message: `Navigation timeout of ${this.#timeout} ms exceeded`,
+        });
+        this.#checkLifecycleComplete();
+    }
+    #onRequest(request) {
+        if (request.frame() !== this.#frame || !request.isNavigationRequest()) {
+            return;
+        }
+        this.#navigationRequest = request;
+        // Resolve previous navigation response in case there are multiple
+        // navigation requests reported by the backend. This generally should not
+        // happen by it looks like it's possible.
+        this.#navigationResponseReceived?.resolve();
+        this.#navigationResponseReceived = Deferred.create();
+        if (request.response() !== null) {
+            this.#navigationResponseReceived?.resolve();
+        }
+    }
+    #onRequestFailed(request) {
+        if (this.#navigationRequest?._requestId !== request._requestId) {
+            return;
+        }
+        this.#navigationResponseReceived?.resolve();
+    }
+    #onResponse(response) {
+        if (this.#navigationRequest?._requestId !== response.request()._requestId) {
+            return;
+        }
+        this.#navigationResponseReceived?.resolve();
+    }
+    #onFrameDetached(frame) {
+        if (this.#frame === frame) {
+            this.#terminationDeferred.resolve(new Error('Navigating frame was detached'));
+            return;
+        }
+        this.#checkLifecycleComplete();
     }
     async navigationResponse() {
         // Continue with a possibly null response.
-        await __classPrivateFieldGet(this, _LifecycleWatcher_navigationResponseReceived, "f")?.valueOrThrow();
-        return __classPrivateFieldGet(this, _LifecycleWatcher_navigationRequest, "f") ? __classPrivateFieldGet(this, _LifecycleWatcher_navigationRequest, "f").response() : null;
+        await this.#navigationResponseReceived?.valueOrThrow();
+        return this.#navigationRequest ? this.#navigationRequest.response() : null;
+    }
+    #terminate(error) {
+        this.#terminationDeferred.resolve(error);
     }
     sameDocumentNavigationPromise() {
-        return __classPrivateFieldGet(this, _LifecycleWatcher_sameDocumentNavigationDeferred, "f").valueOrThrow();
+        return this.#sameDocumentNavigationDeferred.valueOrThrow();
     }
     newDocumentNavigationPromise() {
-        return __classPrivateFieldGet(this, _LifecycleWatcher_newDocumentNavigationDeferred, "f").valueOrThrow();
+        return this.#newDocumentNavigationDeferred.valueOrThrow();
     }
     lifecyclePromise() {
-        return __classPrivateFieldGet(this, _LifecycleWatcher_lifecycleDeferred, "f").valueOrThrow();
+        return this.#lifecycleDeferred.valueOrThrow();
     }
     terminationPromise() {
-        return __classPrivateFieldGet(this, _LifecycleWatcher_terminationDeferred, "f").valueOrThrow();
+        return this.#terminationDeferred.valueOrThrow();
+    }
+    #navigatedWithinDocument(frame) {
+        if (frame !== this.#frame) {
+            return;
+        }
+        this.#hasSameDocumentNavigation = true;
+        this.#checkLifecycleComplete();
+    }
+    #navigated(frame) {
+        if (frame !== this.#frame) {
+            return;
+        }
+        this.#checkLifecycleComplete();
+    }
+    #frameSwapped(frame) {
+        if (frame !== this.#frame) {
+            return;
+        }
+        this.#swapped = true;
+        this.#checkLifecycleComplete();
+    }
+    #checkLifecycleComplete() {
+        // We expect navigation to commit.
+        if (!checkLifecycle(this.#frame, this.#expectedLifecycle)) {
+            return;
+        }
+        this.#lifecycleDeferred.resolve();
+        if (this.#hasSameDocumentNavigation) {
+            this.#sameDocumentNavigationDeferred.resolve(undefined);
+        }
+        if (this.#swapped || this.#frame._loaderId !== this.#initialLoaderId) {
+            this.#newDocumentNavigationDeferred.resolve(undefined);
+        }
+        function checkLifecycle(frame, expectedLifecycle) {
+            for (const event of expectedLifecycle) {
+                if (!frame._lifecycleEvents.has(event)) {
+                    return false;
+                }
+            }
+            for (const child of frame.childFrames()) {
+                if (child._hasStartedLoading &&
+                    !checkLifecycle(child, expectedLifecycle)) {
+                    return false;
+                }
+            }
+            return true;
+        }
     }
     dispose() {
-        removeEventListeners(__classPrivateFieldGet(this, _LifecycleWatcher_eventListeners, "f"));
-        __classPrivateFieldGet(this, _LifecycleWatcher_terminationDeferred, "f").resolve(new Error('LifecycleWatcher disposed'));
+        removeEventListeners(this.#eventListeners);
+        this.#terminationDeferred.resolve(new Error('LifecycleWatcher disposed'));
     }
 }
-_LifecycleWatcher_expectedLifecycle = new WeakMap(), _LifecycleWatcher_frameManager = new WeakMap(), _LifecycleWatcher_frame = new WeakMap(), _LifecycleWatcher_timeout = new WeakMap(), _LifecycleWatcher_navigationRequest = new WeakMap(), _LifecycleWatcher_eventListeners = new WeakMap(), _LifecycleWatcher_initialLoaderId = new WeakMap(), _LifecycleWatcher_terminationDeferred = new WeakMap(), _LifecycleWatcher_sameDocumentNavigationDeferred = new WeakMap(), _LifecycleWatcher_lifecycleDeferred = new WeakMap(), _LifecycleWatcher_newDocumentNavigationDeferred = new WeakMap(), _LifecycleWatcher_hasSameDocumentNavigation = new WeakMap(), _LifecycleWatcher_swapped = new WeakMap(), _LifecycleWatcher_navigationResponseReceived = new WeakMap(), _LifecycleWatcher_instances = new WeakSet(), _LifecycleWatcher_onRequest = function _LifecycleWatcher_onRequest(request) {
-    if (request.frame() !== __classPrivateFieldGet(this, _LifecycleWatcher_frame, "f") || !request.isNavigationRequest()) {
-        return;
-    }
-    __classPrivateFieldSet(this, _LifecycleWatcher_navigationRequest, request, "f");
-    // Resolve previous navigation response in case there are multiple
-    // navigation requests reported by the backend. This generally should not
-    // happen by it looks like it's possible.
-    __classPrivateFieldGet(this, _LifecycleWatcher_navigationResponseReceived, "f")?.resolve();
-    __classPrivateFieldSet(this, _LifecycleWatcher_navigationResponseReceived, Deferred.create(), "f");
-    if (request.response() !== null) {
-        __classPrivateFieldGet(this, _LifecycleWatcher_navigationResponseReceived, "f")?.resolve();
-    }
-}, _LifecycleWatcher_onRequestFailed = function _LifecycleWatcher_onRequestFailed(request) {
-    if (__classPrivateFieldGet(this, _LifecycleWatcher_navigationRequest, "f")?._requestId !== request._requestId) {
-        return;
-    }
-    __classPrivateFieldGet(this, _LifecycleWatcher_navigationResponseReceived, "f")?.resolve();
-}, _LifecycleWatcher_onResponse = function _LifecycleWatcher_onResponse(response) {
-    if (__classPrivateFieldGet(this, _LifecycleWatcher_navigationRequest, "f")?._requestId !== response.request()._requestId) {
-        return;
-    }
-    __classPrivateFieldGet(this, _LifecycleWatcher_navigationResponseReceived, "f")?.resolve();
-}, _LifecycleWatcher_onFrameDetached = function _LifecycleWatcher_onFrameDetached(frame) {
-    if (__classPrivateFieldGet(this, _LifecycleWatcher_frame, "f") === frame) {
-        __classPrivateFieldGet(this, _LifecycleWatcher_terminationDeferred, "f").resolve(new Error('Navigating frame was detached'));
-        return;
-    }
-    __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_checkLifecycleComplete).call(this);
-}, _LifecycleWatcher_terminate = function _LifecycleWatcher_terminate(error) {
-    __classPrivateFieldGet(this, _LifecycleWatcher_terminationDeferred, "f").resolve(error);
-}, _LifecycleWatcher_navigatedWithinDocument = function _LifecycleWatcher_navigatedWithinDocument(frame) {
-    if (frame !== __classPrivateFieldGet(this, _LifecycleWatcher_frame, "f")) {
-        return;
-    }
-    __classPrivateFieldSet(this, _LifecycleWatcher_hasSameDocumentNavigation, true, "f");
-    __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_checkLifecycleComplete).call(this);
-}, _LifecycleWatcher_navigated = function _LifecycleWatcher_navigated(frame) {
-    if (frame !== __classPrivateFieldGet(this, _LifecycleWatcher_frame, "f")) {
-        return;
-    }
-    __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_checkLifecycleComplete).call(this);
-}, _LifecycleWatcher_frameSwapped = function _LifecycleWatcher_frameSwapped(frame) {
-    if (frame !== __classPrivateFieldGet(this, _LifecycleWatcher_frame, "f")) {
-        return;
-    }
-    __classPrivateFieldSet(this, _LifecycleWatcher_swapped, true, "f");
-    __classPrivateFieldGet(this, _LifecycleWatcher_instances, "m", _LifecycleWatcher_checkLifecycleComplete).call(this);
-}, _LifecycleWatcher_checkLifecycleComplete = function _LifecycleWatcher_checkLifecycleComplete() {
-    // We expect navigation to commit.
-    if (!checkLifecycle(__classPrivateFieldGet(this, _LifecycleWatcher_frame, "f"), __classPrivateFieldGet(this, _LifecycleWatcher_expectedLifecycle, "f"))) {
-        return;
-    }
-    __classPrivateFieldGet(this, _LifecycleWatcher_lifecycleDeferred, "f").resolve();
-    if (__classPrivateFieldGet(this, _LifecycleWatcher_hasSameDocumentNavigation, "f")) {
-        __classPrivateFieldGet(this, _LifecycleWatcher_sameDocumentNavigationDeferred, "f").resolve(undefined);
-    }
-    if (__classPrivateFieldGet(this, _LifecycleWatcher_swapped, "f") || __classPrivateFieldGet(this, _LifecycleWatcher_frame, "f")._loaderId !== __classPrivateFieldGet(this, _LifecycleWatcher_initialLoaderId, "f")) {
-        __classPrivateFieldGet(this, _LifecycleWatcher_newDocumentNavigationDeferred, "f").resolve(undefined);
-    }
-    function checkLifecycle(frame, expectedLifecycle) {
-        for (const event of expectedLifecycle) {
-            if (!frame._lifecycleEvents.has(event)) {
-                return false;
-            }
-        }
-        for (const child of frame.childFrames()) {
-            if (child._hasStartedLoading &&
-                !checkLifecycle(child, expectedLifecycle)) {
-                return false;
-            }
-        }
-        return true;
-    }
-};
 //# sourceMappingURL=LifecycleWatcher.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.js.map
index ff12ef5..4b47436 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.js.map
@@ -1 +1 @@
-{"version":3,"file":"LifecycleWatcher.js","sourceRoot":"","sources":["../../../../src/common/LifecycleWatcher.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"LifecycleWatcher.js","sourceRoot":"","sources":["../../../../src/common/LifecycleWatcher.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkEventManager.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkEventManager.d.ts
index 818e1f8..fe91961 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkEventManager.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkEventManager.d.ts
@@ -18,11 +18,11 @@
 /**
  * @internal
  */
-export type QueuedEventGroup = {
+export interface QueuedEventGroup {
     responseReceivedEvent: Protocol.Network.ResponseReceivedEvent;
     loadingFinishedEvent?: Protocol.Network.LoadingFinishedEvent;
     loadingFailedEvent?: Protocol.Network.LoadingFailedEvent;
-};
+}
 /**
  * @internal
  */
@@ -30,10 +30,10 @@
 /**
  * @internal
  */
-export type RedirectInfo = {
+export interface RedirectInfo {
     event: Protocol.Network.RequestWillBeSentEvent;
     fetchRequestId?: FetchRequestId;
-};
+}
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkEventManager.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkEventManager.d.ts.map
index 6a6f518..558d325 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkEventManager.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkEventManager.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"NetworkEventManager.d.ts","sourceRoot":"","sources":["../../../../src/common/NetworkEventManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,qBAAqB,EAAE,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC;IAC9D,oBAAoB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC;IAC7D,kBAAkB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC;CAC1D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC;IAC/C,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAGF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC;;;;GAIG;AACH,qBAAa,mBAAmB;;IA2D9B,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAQhD,iBAAiB,CACf,gBAAgB,EAAE,gBAAgB,GACjC,QAAQ,CAAC,OAAO,CAAC,8BAA8B,EAAE;IASpD,OAAO,CAAC,kBAAkB;IAO1B,iBAAiB,CACf,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,GACzB,IAAI;IAIP,sBAAsB,CACpB,cAAc,EAAE,cAAc,GAC7B,YAAY,GAAG,SAAS;IAI3B,qBAAqB,IAAI,MAAM;IAU/B,sBAAsB,CACpB,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,sBAAsB,GAC7C,IAAI;IAIP,oBAAoB,CAClB,gBAAgB,EAAE,gBAAgB,GACjC,QAAQ,CAAC,OAAO,CAAC,sBAAsB,GAAG,SAAS;IAItD,uBAAuB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAIjE,gBAAgB,CACd,gBAAgB,EAAE,gBAAgB,GACjC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,GAAG,SAAS;IAIhD,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAI7D,kBAAkB,CAChB,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,GACvC,IAAI;IAIP,UAAU,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,WAAW,GAAG,SAAS;IAIvE,YAAY,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAI5E,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAIvD,mBAAmB,CACjB,gBAAgB,EAAE,gBAAgB,GACjC,gBAAgB,GAAG,SAAS;IAI/B,eAAe,CACb,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,gBAAgB,GACtB,IAAI;IAIP,sBAAsB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;CAGjE"}
\ No newline at end of file
+{"version":3,"file":"NetworkEventManager.d.ts","sourceRoot":"","sources":["../../../../src/common/NetworkEventManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,qBAAqB,EAAE,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAAC;IAC9D,oBAAoB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC;IAC7D,kBAAkB,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC;AAEpC;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,sBAAsB,CAAC;IAC/C,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAGD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEtC;;;;GAIG;AACH,qBAAa,mBAAmB;;IA2D9B,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAQhD,iBAAiB,CACf,gBAAgB,EAAE,gBAAgB,GACjC,QAAQ,CAAC,OAAO,CAAC,8BAA8B,EAAE;IASpD,OAAO,CAAC,kBAAkB;IAO1B,iBAAiB,CACf,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,YAAY,GACzB,IAAI;IAIP,sBAAsB,CACpB,cAAc,EAAE,cAAc,GAC7B,YAAY,GAAG,SAAS;IAI3B,qBAAqB,IAAI,MAAM;IAU/B,sBAAsB,CACpB,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,sBAAsB,GAC7C,IAAI;IAIP,oBAAoB,CAClB,gBAAgB,EAAE,gBAAgB,GACjC,QAAQ,CAAC,OAAO,CAAC,sBAAsB,GAAG,SAAS;IAItD,uBAAuB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAIjE,gBAAgB,CACd,gBAAgB,EAAE,gBAAgB,GACjC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,GAAG,SAAS;IAIhD,mBAAmB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAI7D,kBAAkB,CAChB,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB,GACvC,IAAI;IAIP,UAAU,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,WAAW,GAAG,SAAS;IAIvE,YAAY,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IAI5E,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;IAIvD,mBAAmB,CACjB,gBAAgB,EAAE,gBAAgB,GACjC,gBAAgB,GAAG,SAAS;IAI/B,eAAe,CACb,gBAAgB,EAAE,gBAAgB,EAClC,KAAK,EAAE,gBAAgB,GACtB,IAAI;IAIP,sBAAsB,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI;CAGjE"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkEventManager.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkEventManager.js
index 39ce479..d28ebbd 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkEventManager.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkEventManager.js
@@ -13,85 +13,77 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _NetworkEventManager_requestWillBeSentMap, _NetworkEventManager_requestPausedMap, _NetworkEventManager_httpRequestsMap, _NetworkEventManager_responseReceivedExtraInfoMap, _NetworkEventManager_queuedRedirectInfoMap, _NetworkEventManager_queuedEventGroupMap;
 /**
  * Helper class to track network events by request ID
  *
  * @internal
  */
 export class NetworkEventManager {
-    constructor() {
-        /**
-         * There are four possible orders of events:
-         * A. `_onRequestWillBeSent`
-         * B. `_onRequestWillBeSent`, `_onRequestPaused`
-         * C. `_onRequestPaused`, `_onRequestWillBeSent`
-         * D. `_onRequestPaused`, `_onRequestWillBeSent`, `_onRequestPaused`,
-         * `_onRequestWillBeSent`, `_onRequestPaused`, `_onRequestPaused`
-         * (see crbug.com/1196004)
-         *
-         * For `_onRequest` we need the event from `_onRequestWillBeSent` and
-         * optionally the `interceptionId` from `_onRequestPaused`.
-         *
-         * If request interception is disabled, call `_onRequest` once per call to
-         * `_onRequestWillBeSent`.
-         * If request interception is enabled, call `_onRequest` once per call to
-         * `_onRequestPaused` (once per `interceptionId`).
-         *
-         * Events are stored to allow for subsequent events to call `_onRequest`.
-         *
-         * Note that (chains of) redirect requests have the same `requestId` (!) as
-         * the original request. We have to anticipate series of events like these:
-         * A. `_onRequestWillBeSent`,
-         * `_onRequestWillBeSent`, ...
-         * B. `_onRequestWillBeSent`, `_onRequestPaused`,
-         * `_onRequestWillBeSent`, `_onRequestPaused`, ...
-         * C. `_onRequestWillBeSent`, `_onRequestPaused`,
-         * `_onRequestPaused`, `_onRequestWillBeSent`, ...
-         * D. `_onRequestPaused`, `_onRequestWillBeSent`,
-         * `_onRequestPaused`, `_onRequestWillBeSent`, `_onRequestPaused`,
-         * `_onRequestWillBeSent`, `_onRequestPaused`, `_onRequestPaused`, ...
-         * (see crbug.com/1196004)
-         */
-        _NetworkEventManager_requestWillBeSentMap.set(this, new Map());
-        _NetworkEventManager_requestPausedMap.set(this, new Map());
-        _NetworkEventManager_httpRequestsMap.set(this, new Map());
-        /*
-         * The below maps are used to reconcile Network.responseReceivedExtraInfo
-         * events with their corresponding request. Each response and redirect
-         * response gets an ExtraInfo event, and we don't know which will come first.
-         * This means that we have to store a Response or an ExtraInfo for each
-         * response, and emit the event when we get both of them. In addition, to
-         * handle redirects, we have to make them Arrays to represent the chain of
-         * events.
-         */
-        _NetworkEventManager_responseReceivedExtraInfoMap.set(this, new Map());
-        _NetworkEventManager_queuedRedirectInfoMap.set(this, new Map());
-        _NetworkEventManager_queuedEventGroupMap.set(this, new Map());
-    }
+    /**
+     * There are four possible orders of events:
+     * A. `_onRequestWillBeSent`
+     * B. `_onRequestWillBeSent`, `_onRequestPaused`
+     * C. `_onRequestPaused`, `_onRequestWillBeSent`
+     * D. `_onRequestPaused`, `_onRequestWillBeSent`, `_onRequestPaused`,
+     * `_onRequestWillBeSent`, `_onRequestPaused`, `_onRequestPaused`
+     * (see crbug.com/1196004)
+     *
+     * For `_onRequest` we need the event from `_onRequestWillBeSent` and
+     * optionally the `interceptionId` from `_onRequestPaused`.
+     *
+     * If request interception is disabled, call `_onRequest` once per call to
+     * `_onRequestWillBeSent`.
+     * If request interception is enabled, call `_onRequest` once per call to
+     * `_onRequestPaused` (once per `interceptionId`).
+     *
+     * Events are stored to allow for subsequent events to call `_onRequest`.
+     *
+     * Note that (chains of) redirect requests have the same `requestId` (!) as
+     * the original request. We have to anticipate series of events like these:
+     * A. `_onRequestWillBeSent`,
+     * `_onRequestWillBeSent`, ...
+     * B. `_onRequestWillBeSent`, `_onRequestPaused`,
+     * `_onRequestWillBeSent`, `_onRequestPaused`, ...
+     * C. `_onRequestWillBeSent`, `_onRequestPaused`,
+     * `_onRequestPaused`, `_onRequestWillBeSent`, ...
+     * D. `_onRequestPaused`, `_onRequestWillBeSent`,
+     * `_onRequestPaused`, `_onRequestWillBeSent`, `_onRequestPaused`,
+     * `_onRequestWillBeSent`, `_onRequestPaused`, `_onRequestPaused`, ...
+     * (see crbug.com/1196004)
+     */
+    #requestWillBeSentMap = new Map();
+    #requestPausedMap = new Map();
+    #httpRequestsMap = new Map();
+    /*
+     * The below maps are used to reconcile Network.responseReceivedExtraInfo
+     * events with their corresponding request. Each response and redirect
+     * response gets an ExtraInfo event, and we don't know which will come first.
+     * This means that we have to store a Response or an ExtraInfo for each
+     * response, and emit the event when we get both of them. In addition, to
+     * handle redirects, we have to make them Arrays to represent the chain of
+     * events.
+     */
+    #responseReceivedExtraInfoMap = new Map();
+    #queuedRedirectInfoMap = new Map();
+    #queuedEventGroupMap = new Map();
     forget(networkRequestId) {
-        __classPrivateFieldGet(this, _NetworkEventManager_requestWillBeSentMap, "f").delete(networkRequestId);
-        __classPrivateFieldGet(this, _NetworkEventManager_requestPausedMap, "f").delete(networkRequestId);
-        __classPrivateFieldGet(this, _NetworkEventManager_queuedEventGroupMap, "f").delete(networkRequestId);
-        __classPrivateFieldGet(this, _NetworkEventManager_queuedRedirectInfoMap, "f").delete(networkRequestId);
-        __classPrivateFieldGet(this, _NetworkEventManager_responseReceivedExtraInfoMap, "f").delete(networkRequestId);
+        this.#requestWillBeSentMap.delete(networkRequestId);
+        this.#requestPausedMap.delete(networkRequestId);
+        this.#queuedEventGroupMap.delete(networkRequestId);
+        this.#queuedRedirectInfoMap.delete(networkRequestId);
+        this.#responseReceivedExtraInfoMap.delete(networkRequestId);
     }
     responseExtraInfo(networkRequestId) {
-        if (!__classPrivateFieldGet(this, _NetworkEventManager_responseReceivedExtraInfoMap, "f").has(networkRequestId)) {
-            __classPrivateFieldGet(this, _NetworkEventManager_responseReceivedExtraInfoMap, "f").set(networkRequestId, []);
+        if (!this.#responseReceivedExtraInfoMap.has(networkRequestId)) {
+            this.#responseReceivedExtraInfoMap.set(networkRequestId, []);
         }
-        return __classPrivateFieldGet(this, _NetworkEventManager_responseReceivedExtraInfoMap, "f").get(networkRequestId);
+        return this.#responseReceivedExtraInfoMap.get(networkRequestId);
     }
     queuedRedirectInfo(fetchRequestId) {
-        if (!__classPrivateFieldGet(this, _NetworkEventManager_queuedRedirectInfoMap, "f").has(fetchRequestId)) {
-            __classPrivateFieldGet(this, _NetworkEventManager_queuedRedirectInfoMap, "f").set(fetchRequestId, []);
+        if (!this.#queuedRedirectInfoMap.has(fetchRequestId)) {
+            this.#queuedRedirectInfoMap.set(fetchRequestId, []);
         }
-        return __classPrivateFieldGet(this, _NetworkEventManager_queuedRedirectInfoMap, "f").get(fetchRequestId);
+        return this.#queuedRedirectInfoMap.get(fetchRequestId);
     }
     queueRedirectInfo(fetchRequestId, redirectInfo) {
         this.queuedRedirectInfo(fetchRequestId).push(redirectInfo);
@@ -101,7 +93,7 @@
     }
     inFlightRequestsCount() {
         let inFlightRequestCounter = 0;
-        for (const request of __classPrivateFieldGet(this, _NetworkEventManager_httpRequestsMap, "f").values()) {
+        for (const request of this.#httpRequestsMap.values()) {
             if (!request.response()) {
                 inFlightRequestCounter++;
             }
@@ -109,41 +101,40 @@
         return inFlightRequestCounter;
     }
     storeRequestWillBeSent(networkRequestId, event) {
-        __classPrivateFieldGet(this, _NetworkEventManager_requestWillBeSentMap, "f").set(networkRequestId, event);
+        this.#requestWillBeSentMap.set(networkRequestId, event);
     }
     getRequestWillBeSent(networkRequestId) {
-        return __classPrivateFieldGet(this, _NetworkEventManager_requestWillBeSentMap, "f").get(networkRequestId);
+        return this.#requestWillBeSentMap.get(networkRequestId);
     }
     forgetRequestWillBeSent(networkRequestId) {
-        __classPrivateFieldGet(this, _NetworkEventManager_requestWillBeSentMap, "f").delete(networkRequestId);
+        this.#requestWillBeSentMap.delete(networkRequestId);
     }
     getRequestPaused(networkRequestId) {
-        return __classPrivateFieldGet(this, _NetworkEventManager_requestPausedMap, "f").get(networkRequestId);
+        return this.#requestPausedMap.get(networkRequestId);
     }
     forgetRequestPaused(networkRequestId) {
-        __classPrivateFieldGet(this, _NetworkEventManager_requestPausedMap, "f").delete(networkRequestId);
+        this.#requestPausedMap.delete(networkRequestId);
     }
     storeRequestPaused(networkRequestId, event) {
-        __classPrivateFieldGet(this, _NetworkEventManager_requestPausedMap, "f").set(networkRequestId, event);
+        this.#requestPausedMap.set(networkRequestId, event);
     }
     getRequest(networkRequestId) {
-        return __classPrivateFieldGet(this, _NetworkEventManager_httpRequestsMap, "f").get(networkRequestId);
+        return this.#httpRequestsMap.get(networkRequestId);
     }
     storeRequest(networkRequestId, request) {
-        __classPrivateFieldGet(this, _NetworkEventManager_httpRequestsMap, "f").set(networkRequestId, request);
+        this.#httpRequestsMap.set(networkRequestId, request);
     }
     forgetRequest(networkRequestId) {
-        __classPrivateFieldGet(this, _NetworkEventManager_httpRequestsMap, "f").delete(networkRequestId);
+        this.#httpRequestsMap.delete(networkRequestId);
     }
     getQueuedEventGroup(networkRequestId) {
-        return __classPrivateFieldGet(this, _NetworkEventManager_queuedEventGroupMap, "f").get(networkRequestId);
+        return this.#queuedEventGroupMap.get(networkRequestId);
     }
     queueEventGroup(networkRequestId, event) {
-        __classPrivateFieldGet(this, _NetworkEventManager_queuedEventGroupMap, "f").set(networkRequestId, event);
+        this.#queuedEventGroupMap.set(networkRequestId, event);
     }
     forgetQueuedEventGroup(networkRequestId) {
-        __classPrivateFieldGet(this, _NetworkEventManager_queuedEventGroupMap, "f").delete(networkRequestId);
+        this.#queuedEventGroupMap.delete(networkRequestId);
     }
 }
-_NetworkEventManager_requestWillBeSentMap = new WeakMap(), _NetworkEventManager_requestPausedMap = new WeakMap(), _NetworkEventManager_httpRequestsMap = new WeakMap(), _NetworkEventManager_responseReceivedExtraInfoMap = new WeakMap(), _NetworkEventManager_queuedRedirectInfoMap = new WeakMap(), _NetworkEventManager_queuedEventGroupMap = new WeakMap();
 //# sourceMappingURL=NetworkEventManager.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkEventManager.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkEventManager.js.map
index 4e632dd..00ae75d 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkEventManager.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkEventManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"NetworkEventManager.js","sourceRoot":"","sources":["../../../../src/common/NetworkEventManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"NetworkEventManager.js","sourceRoot":"","sources":["../../../../src/common/NetworkEventManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js
index 4aa62ac..25539ed 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _NetworkManager_instances, _NetworkManager_client, _NetworkManager_ignoreHTTPSErrors, _NetworkManager_frameManager, _NetworkManager_networkEventManager, _NetworkManager_extraHTTPHeaders, _NetworkManager_credentials, _NetworkManager_attemptedAuthentications, _NetworkManager_userRequestInterceptionEnabled, _NetworkManager_protocolRequestInterceptionEnabled, _NetworkManager_userCacheDisabled, _NetworkManager_emulatedNetworkConditions, _NetworkManager_deferredInit, _NetworkManager_updateNetworkConditions, _NetworkManager_updateProtocolRequestInterception, _NetworkManager_cacheDisabled, _NetworkManager_updateProtocolCacheDisabled, _NetworkManager_onRequestWillBeSent, _NetworkManager_onAuthRequired, _NetworkManager_onRequestPaused, _NetworkManager_patchRequestEventHeaders, _NetworkManager_onRequestWithoutNetworkInstrumentation, _NetworkManager_onRequest, _NetworkManager_onRequestServedFromCache, _NetworkManager_handleRequestRedirect, _NetworkManager_emitResponseEvent, _NetworkManager_onResponseReceived, _NetworkManager_onResponseReceivedExtraInfo, _NetworkManager_forgetRequest, _NetworkManager_onLoadingFinished, _NetworkManager_emitLoadingFinished, _NetworkManager_onLoadingFailed, _NetworkManager_emitLoadingFailed;
 import { assert } from '../util/assert.js';
 import { createDebuggableDeferred } from '../util/DebuggableDeferred.js';
 import { EventEmitter } from './EventEmitter.js';
@@ -49,56 +37,55 @@
  * @internal
  */
 export class NetworkManager extends EventEmitter {
+    #client;
+    #ignoreHTTPSErrors;
+    #frameManager;
+    #networkEventManager = new NetworkEventManager();
+    #extraHTTPHeaders = {};
+    #credentials;
+    #attemptedAuthentications = new Set();
+    #userRequestInterceptionEnabled = false;
+    #protocolRequestInterceptionEnabled = false;
+    #userCacheDisabled = false;
+    #emulatedNetworkConditions = {
+        offline: false,
+        upload: -1,
+        download: -1,
+        latency: 0,
+    };
+    #deferredInit;
     constructor(client, ignoreHTTPSErrors, frameManager) {
         super();
-        _NetworkManager_instances.add(this);
-        _NetworkManager_client.set(this, void 0);
-        _NetworkManager_ignoreHTTPSErrors.set(this, void 0);
-        _NetworkManager_frameManager.set(this, void 0);
-        _NetworkManager_networkEventManager.set(this, new NetworkEventManager());
-        _NetworkManager_extraHTTPHeaders.set(this, {});
-        _NetworkManager_credentials.set(this, void 0);
-        _NetworkManager_attemptedAuthentications.set(this, new Set());
-        _NetworkManager_userRequestInterceptionEnabled.set(this, false);
-        _NetworkManager_protocolRequestInterceptionEnabled.set(this, false);
-        _NetworkManager_userCacheDisabled.set(this, false);
-        _NetworkManager_emulatedNetworkConditions.set(this, {
-            offline: false,
-            upload: -1,
-            download: -1,
-            latency: 0,
-        });
-        _NetworkManager_deferredInit.set(this, void 0);
-        __classPrivateFieldSet(this, _NetworkManager_client, client, "f");
-        __classPrivateFieldSet(this, _NetworkManager_ignoreHTTPSErrors, ignoreHTTPSErrors, "f");
-        __classPrivateFieldSet(this, _NetworkManager_frameManager, frameManager, "f");
-        __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Fetch.requestPaused', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestPaused).bind(this));
-        __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Fetch.authRequired', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onAuthRequired).bind(this));
-        __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.requestWillBeSent', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestWillBeSent).bind(this));
-        __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.requestServedFromCache', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestServedFromCache).bind(this));
-        __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.responseReceived', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onResponseReceived).bind(this));
-        __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.loadingFinished', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onLoadingFinished).bind(this));
-        __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.loadingFailed', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onLoadingFailed).bind(this));
-        __classPrivateFieldGet(this, _NetworkManager_client, "f").on('Network.responseReceivedExtraInfo', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onResponseReceivedExtraInfo).bind(this));
+        this.#client = client;
+        this.#ignoreHTTPSErrors = ignoreHTTPSErrors;
+        this.#frameManager = frameManager;
+        this.#client.on('Fetch.requestPaused', this.#onRequestPaused.bind(this));
+        this.#client.on('Fetch.authRequired', this.#onAuthRequired.bind(this));
+        this.#client.on('Network.requestWillBeSent', this.#onRequestWillBeSent.bind(this));
+        this.#client.on('Network.requestServedFromCache', this.#onRequestServedFromCache.bind(this));
+        this.#client.on('Network.responseReceived', this.#onResponseReceived.bind(this));
+        this.#client.on('Network.loadingFinished', this.#onLoadingFinished.bind(this));
+        this.#client.on('Network.loadingFailed', this.#onLoadingFailed.bind(this));
+        this.#client.on('Network.responseReceivedExtraInfo', this.#onResponseReceivedExtraInfo.bind(this));
     }
     /**
      * Initialize calls should avoid async dependencies between CDP calls as those
      * might not resolve until after the target is resumed causing a deadlock.
      */
     initialize() {
-        if (__classPrivateFieldGet(this, _NetworkManager_deferredInit, "f")) {
-            return __classPrivateFieldGet(this, _NetworkManager_deferredInit, "f").valueOrThrow();
+        if (this.#deferredInit) {
+            return this.#deferredInit.valueOrThrow();
         }
-        __classPrivateFieldSet(this, _NetworkManager_deferredInit, createDebuggableDeferred('NetworkManager initialization timed out'), "f");
+        this.#deferredInit = createDebuggableDeferred('NetworkManager initialization timed out');
         const init = Promise.all([
-            __classPrivateFieldGet(this, _NetworkManager_ignoreHTTPSErrors, "f")
-                ? __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Security.setIgnoreCertificateErrors', {
+            this.#ignoreHTTPSErrors
+                ? this.#client.send('Security.setIgnoreCertificateErrors', {
                     ignore: true,
                 })
                 : null,
-            __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.enable'),
+            this.#client.send('Network.enable'),
         ]);
-        const deferredInitPromise = __classPrivateFieldGet(this, _NetworkManager_deferredInit, "f");
+        const deferredInitPromise = this.#deferredInit;
         init
             .then(() => {
             deferredInitPromise.resolve();
@@ -106,349 +93,375 @@
             .catch(err => {
             deferredInitPromise.reject(err);
         });
-        return __classPrivateFieldGet(this, _NetworkManager_deferredInit, "f").valueOrThrow();
+        return this.#deferredInit.valueOrThrow();
     }
     async authenticate(credentials) {
-        __classPrivateFieldSet(this, _NetworkManager_credentials, credentials, "f");
-        await __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_updateProtocolRequestInterception).call(this);
+        this.#credentials = credentials;
+        await this.#updateProtocolRequestInterception();
     }
     async setExtraHTTPHeaders(extraHTTPHeaders) {
-        __classPrivateFieldSet(this, _NetworkManager_extraHTTPHeaders, {}, "f");
+        this.#extraHTTPHeaders = {};
         for (const key of Object.keys(extraHTTPHeaders)) {
             const value = extraHTTPHeaders[key];
             assert(isString(value), `Expected value of header "${key}" to be String, but "${typeof value}" is found.`);
-            __classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f")[key.toLowerCase()] = value;
+            this.#extraHTTPHeaders[key.toLowerCase()] = value;
         }
-        await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.setExtraHTTPHeaders', {
-            headers: __classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f"),
+        await this.#client.send('Network.setExtraHTTPHeaders', {
+            headers: this.#extraHTTPHeaders,
         });
     }
     extraHTTPHeaders() {
-        return Object.assign({}, __classPrivateFieldGet(this, _NetworkManager_extraHTTPHeaders, "f"));
+        return Object.assign({}, this.#extraHTTPHeaders);
     }
     inFlightRequestsCount() {
-        return __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").inFlightRequestsCount();
+        return this.#networkEventManager.inFlightRequestsCount();
     }
     async setOfflineMode(value) {
-        __classPrivateFieldGet(this, _NetworkManager_emulatedNetworkConditions, "f").offline = value;
-        await __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_updateNetworkConditions).call(this);
+        this.#emulatedNetworkConditions.offline = value;
+        await this.#updateNetworkConditions();
     }
     async emulateNetworkConditions(networkConditions) {
-        __classPrivateFieldGet(this, _NetworkManager_emulatedNetworkConditions, "f").upload = networkConditions
+        this.#emulatedNetworkConditions.upload = networkConditions
             ? networkConditions.upload
             : -1;
-        __classPrivateFieldGet(this, _NetworkManager_emulatedNetworkConditions, "f").download = networkConditions
+        this.#emulatedNetworkConditions.download = networkConditions
             ? networkConditions.download
             : -1;
-        __classPrivateFieldGet(this, _NetworkManager_emulatedNetworkConditions, "f").latency = networkConditions
+        this.#emulatedNetworkConditions.latency = networkConditions
             ? networkConditions.latency
             : 0;
-        await __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_updateNetworkConditions).call(this);
+        await this.#updateNetworkConditions();
+    }
+    async #updateNetworkConditions() {
+        await this.#client.send('Network.emulateNetworkConditions', {
+            offline: this.#emulatedNetworkConditions.offline,
+            latency: this.#emulatedNetworkConditions.latency,
+            uploadThroughput: this.#emulatedNetworkConditions.upload,
+            downloadThroughput: this.#emulatedNetworkConditions.download,
+        });
     }
     async setUserAgent(userAgent, userAgentMetadata) {
-        await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.setUserAgentOverride', {
+        await this.#client.send('Network.setUserAgentOverride', {
             userAgent: userAgent,
             userAgentMetadata: userAgentMetadata,
         });
     }
     async setCacheEnabled(enabled) {
-        __classPrivateFieldSet(this, _NetworkManager_userCacheDisabled, !enabled, "f");
-        await __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_updateProtocolCacheDisabled).call(this);
+        this.#userCacheDisabled = !enabled;
+        await this.#updateProtocolCacheDisabled();
     }
     async setRequestInterception(value) {
-        __classPrivateFieldSet(this, _NetworkManager_userRequestInterceptionEnabled, value, "f");
-        await __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_updateProtocolRequestInterception).call(this);
+        this.#userRequestInterceptionEnabled = value;
+        await this.#updateProtocolRequestInterception();
     }
-}
-_NetworkManager_client = new WeakMap(), _NetworkManager_ignoreHTTPSErrors = new WeakMap(), _NetworkManager_frameManager = new WeakMap(), _NetworkManager_networkEventManager = new WeakMap(), _NetworkManager_extraHTTPHeaders = new WeakMap(), _NetworkManager_credentials = new WeakMap(), _NetworkManager_attemptedAuthentications = new WeakMap(), _NetworkManager_userRequestInterceptionEnabled = new WeakMap(), _NetworkManager_protocolRequestInterceptionEnabled = new WeakMap(), _NetworkManager_userCacheDisabled = new WeakMap(), _NetworkManager_emulatedNetworkConditions = new WeakMap(), _NetworkManager_deferredInit = new WeakMap(), _NetworkManager_instances = new WeakSet(), _NetworkManager_updateNetworkConditions = async function _NetworkManager_updateNetworkConditions() {
-    await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.emulateNetworkConditions', {
-        offline: __classPrivateFieldGet(this, _NetworkManager_emulatedNetworkConditions, "f").offline,
-        latency: __classPrivateFieldGet(this, _NetworkManager_emulatedNetworkConditions, "f").latency,
-        uploadThroughput: __classPrivateFieldGet(this, _NetworkManager_emulatedNetworkConditions, "f").upload,
-        downloadThroughput: __classPrivateFieldGet(this, _NetworkManager_emulatedNetworkConditions, "f").download,
-    });
-}, _NetworkManager_updateProtocolRequestInterception = async function _NetworkManager_updateProtocolRequestInterception() {
-    const enabled = __classPrivateFieldGet(this, _NetworkManager_userRequestInterceptionEnabled, "f") || !!__classPrivateFieldGet(this, _NetworkManager_credentials, "f");
-    if (enabled === __classPrivateFieldGet(this, _NetworkManager_protocolRequestInterceptionEnabled, "f")) {
-        return;
-    }
-    __classPrivateFieldSet(this, _NetworkManager_protocolRequestInterceptionEnabled, enabled, "f");
-    if (enabled) {
-        await Promise.all([
-            __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_updateProtocolCacheDisabled).call(this),
-            __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Fetch.enable', {
-                handleAuthRequests: true,
-                patterns: [{ urlPattern: '*' }],
-            }),
-        ]);
-    }
-    else {
-        await Promise.all([
-            __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_updateProtocolCacheDisabled).call(this),
-            __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Fetch.disable'),
-        ]);
-    }
-}, _NetworkManager_cacheDisabled = function _NetworkManager_cacheDisabled() {
-    return __classPrivateFieldGet(this, _NetworkManager_userCacheDisabled, "f");
-}, _NetworkManager_updateProtocolCacheDisabled = async function _NetworkManager_updateProtocolCacheDisabled() {
-    await __classPrivateFieldGet(this, _NetworkManager_client, "f").send('Network.setCacheDisabled', {
-        cacheDisabled: __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_cacheDisabled).call(this),
-    });
-}, _NetworkManager_onRequestWillBeSent = function _NetworkManager_onRequestWillBeSent(event) {
-    // Request interception doesn't happen for data URLs with Network Service.
-    if (__classPrivateFieldGet(this, _NetworkManager_userRequestInterceptionEnabled, "f") &&
-        !event.request.url.startsWith('data:')) {
-        const { requestId: networkRequestId } = event;
-        __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").storeRequestWillBeSent(networkRequestId, event);
-        /**
-         * CDP may have sent a Fetch.requestPaused event already. Check for it.
-         */
-        const requestPausedEvent = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequestPaused(networkRequestId);
-        if (requestPausedEvent) {
-            const { requestId: fetchRequestId } = requestPausedEvent;
-            __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_patchRequestEventHeaders).call(this, event, requestPausedEvent);
-            __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, event, fetchRequestId);
-            __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetRequestPaused(networkRequestId);
+    async #updateProtocolRequestInterception() {
+        const enabled = this.#userRequestInterceptionEnabled || !!this.#credentials;
+        if (enabled === this.#protocolRequestInterceptionEnabled) {
+            return;
         }
-        return;
+        this.#protocolRequestInterceptionEnabled = enabled;
+        if (enabled) {
+            await Promise.all([
+                this.#updateProtocolCacheDisabled(),
+                this.#client.send('Fetch.enable', {
+                    handleAuthRequests: true,
+                    patterns: [{ urlPattern: '*' }],
+                }),
+            ]);
+        }
+        else {
+            await Promise.all([
+                this.#updateProtocolCacheDisabled(),
+                this.#client.send('Fetch.disable'),
+            ]);
+        }
     }
-    __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, event, undefined);
-}, _NetworkManager_onAuthRequired = function _NetworkManager_onAuthRequired(event) {
-    let response = 'Default';
-    if (__classPrivateFieldGet(this, _NetworkManager_attemptedAuthentications, "f").has(event.requestId)) {
-        response = 'CancelAuth';
+    #cacheDisabled() {
+        return this.#userCacheDisabled;
     }
-    else if (__classPrivateFieldGet(this, _NetworkManager_credentials, "f")) {
-        response = 'ProvideCredentials';
-        __classPrivateFieldGet(this, _NetworkManager_attemptedAuthentications, "f").add(event.requestId);
+    async #updateProtocolCacheDisabled() {
+        await this.#client.send('Network.setCacheDisabled', {
+            cacheDisabled: this.#cacheDisabled(),
+        });
     }
-    const { username, password } = __classPrivateFieldGet(this, _NetworkManager_credentials, "f") || {
-        username: undefined,
-        password: undefined,
-    };
-    __classPrivateFieldGet(this, _NetworkManager_client, "f")
-        .send('Fetch.continueWithAuth', {
-        requestId: event.requestId,
-        authChallengeResponse: { response, username, password },
-    })
-        .catch(debugError);
-}, _NetworkManager_onRequestPaused = function _NetworkManager_onRequestPaused(event) {
-    if (!__classPrivateFieldGet(this, _NetworkManager_userRequestInterceptionEnabled, "f") &&
-        __classPrivateFieldGet(this, _NetworkManager_protocolRequestInterceptionEnabled, "f")) {
-        __classPrivateFieldGet(this, _NetworkManager_client, "f")
-            .send('Fetch.continueRequest', {
+    #onRequestWillBeSent(event) {
+        // Request interception doesn't happen for data URLs with Network Service.
+        if (this.#userRequestInterceptionEnabled &&
+            !event.request.url.startsWith('data:')) {
+            const { requestId: networkRequestId } = event;
+            this.#networkEventManager.storeRequestWillBeSent(networkRequestId, event);
+            /**
+             * CDP may have sent a Fetch.requestPaused event already. Check for it.
+             */
+            const requestPausedEvent = this.#networkEventManager.getRequestPaused(networkRequestId);
+            if (requestPausedEvent) {
+                const { requestId: fetchRequestId } = requestPausedEvent;
+                this.#patchRequestEventHeaders(event, requestPausedEvent);
+                this.#onRequest(event, fetchRequestId);
+                this.#networkEventManager.forgetRequestPaused(networkRequestId);
+            }
+            return;
+        }
+        this.#onRequest(event, undefined);
+    }
+    #onAuthRequired(event) {
+        let response = 'Default';
+        if (this.#attemptedAuthentications.has(event.requestId)) {
+            response = 'CancelAuth';
+        }
+        else if (this.#credentials) {
+            response = 'ProvideCredentials';
+            this.#attemptedAuthentications.add(event.requestId);
+        }
+        const { username, password } = this.#credentials || {
+            username: undefined,
+            password: undefined,
+        };
+        this.#client
+            .send('Fetch.continueWithAuth', {
             requestId: event.requestId,
+            authChallengeResponse: { response, username, password },
         })
             .catch(debugError);
     }
-    const { networkId: networkRequestId, requestId: fetchRequestId } = event;
-    if (!networkRequestId) {
-        __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequestWithoutNetworkInstrumentation).call(this, event);
-        return;
-    }
-    const requestWillBeSentEvent = (() => {
-        const requestWillBeSentEvent = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequestWillBeSent(networkRequestId);
-        // redirect requests have the same `requestId`,
-        if (requestWillBeSentEvent &&
-            (requestWillBeSentEvent.request.url !== event.request.url ||
-                requestWillBeSentEvent.request.method !== event.request.method)) {
-            __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetRequestWillBeSent(networkRequestId);
+    /**
+     * CDP may send a Fetch.requestPaused without or before a
+     * Network.requestWillBeSent
+     *
+     * CDP may send multiple Fetch.requestPaused
+     * for the same Network.requestWillBeSent.
+     */
+    #onRequestPaused(event) {
+        if (!this.#userRequestInterceptionEnabled &&
+            this.#protocolRequestInterceptionEnabled) {
+            this.#client
+                .send('Fetch.continueRequest', {
+                requestId: event.requestId,
+            })
+                .catch(debugError);
+        }
+        const { networkId: networkRequestId, requestId: fetchRequestId } = event;
+        if (!networkRequestId) {
+            this.#onRequestWithoutNetworkInstrumentation(event);
             return;
         }
-        return requestWillBeSentEvent;
-    })();
-    if (requestWillBeSentEvent) {
-        __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_patchRequestEventHeaders).call(this, requestWillBeSentEvent, event);
-        __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, requestWillBeSentEvent, fetchRequestId);
+        const requestWillBeSentEvent = (() => {
+            const requestWillBeSentEvent = this.#networkEventManager.getRequestWillBeSent(networkRequestId);
+            // redirect requests have the same `requestId`,
+            if (requestWillBeSentEvent &&
+                (requestWillBeSentEvent.request.url !== event.request.url ||
+                    requestWillBeSentEvent.request.method !== event.request.method)) {
+                this.#networkEventManager.forgetRequestWillBeSent(networkRequestId);
+                return;
+            }
+            return requestWillBeSentEvent;
+        })();
+        if (requestWillBeSentEvent) {
+            this.#patchRequestEventHeaders(requestWillBeSentEvent, event);
+            this.#onRequest(requestWillBeSentEvent, fetchRequestId);
+        }
+        else {
+            this.#networkEventManager.storeRequestPaused(networkRequestId, event);
+        }
     }
-    else {
-        __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").storeRequestPaused(networkRequestId, event);
+    #patchRequestEventHeaders(requestWillBeSentEvent, requestPausedEvent) {
+        requestWillBeSentEvent.request.headers = {
+            ...requestWillBeSentEvent.request.headers,
+            // includes extra headers, like: Accept, Origin
+            ...requestPausedEvent.request.headers,
+        };
     }
-}, _NetworkManager_patchRequestEventHeaders = function _NetworkManager_patchRequestEventHeaders(requestWillBeSentEvent, requestPausedEvent) {
-    requestWillBeSentEvent.request.headers = {
-        ...requestWillBeSentEvent.request.headers,
-        // includes extra headers, like: Accept, Origin
-        ...requestPausedEvent.request.headers,
-    };
-}, _NetworkManager_onRequestWithoutNetworkInstrumentation = function _NetworkManager_onRequestWithoutNetworkInstrumentation(event) {
-    // If an event has no networkId it should not have any network events. We
-    // still want to dispatch it for the interception by the user.
-    const frame = event.frameId
-        ? __classPrivateFieldGet(this, _NetworkManager_frameManager, "f").frame(event.frameId)
-        : null;
-    const request = new HTTPRequest(__classPrivateFieldGet(this, _NetworkManager_client, "f"), frame, event.requestId, __classPrivateFieldGet(this, _NetworkManager_userRequestInterceptionEnabled, "f"), event, []);
-    this.emit(NetworkManagerEmittedEvents.Request, request);
-    void request.finalizeInterceptions();
-}, _NetworkManager_onRequest = function _NetworkManager_onRequest(event, fetchRequestId) {
-    let redirectChain = [];
-    if (event.redirectResponse) {
-        // We want to emit a response and requestfinished for the
-        // redirectResponse, but we can't do so unless we have a
-        // responseExtraInfo ready to pair it up with. If we don't have any
-        // responseExtraInfos saved in our queue, they we have to wait until
-        // the next one to emit response and requestfinished, *and* we should
-        // also wait to emit this Request too because it should come after the
-        // response/requestfinished.
-        let redirectResponseExtraInfo = null;
-        if (event.redirectHasExtraInfo) {
-            redirectResponseExtraInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f")
+    #onRequestWithoutNetworkInstrumentation(event) {
+        // If an event has no networkId it should not have any network events. We
+        // still want to dispatch it for the interception by the user.
+        const frame = event.frameId
+            ? this.#frameManager.frame(event.frameId)
+            : null;
+        const request = new HTTPRequest(this.#client, frame, event.requestId, this.#userRequestInterceptionEnabled, event, []);
+        this.emit(NetworkManagerEmittedEvents.Request, request);
+        void request.finalizeInterceptions();
+    }
+    #onRequest(event, fetchRequestId) {
+        let redirectChain = [];
+        if (event.redirectResponse) {
+            // We want to emit a response and requestfinished for the
+            // redirectResponse, but we can't do so unless we have a
+            // responseExtraInfo ready to pair it up with. If we don't have any
+            // responseExtraInfos saved in our queue, they we have to wait until
+            // the next one to emit response and requestfinished, *and* we should
+            // also wait to emit this Request too because it should come after the
+            // response/requestfinished.
+            let redirectResponseExtraInfo = null;
+            if (event.redirectHasExtraInfo) {
+                redirectResponseExtraInfo = this.#networkEventManager
+                    .responseExtraInfo(event.requestId)
+                    .shift();
+                if (!redirectResponseExtraInfo) {
+                    this.#networkEventManager.queueRedirectInfo(event.requestId, {
+                        event,
+                        fetchRequestId,
+                    });
+                    return;
+                }
+            }
+            const request = this.#networkEventManager.getRequest(event.requestId);
+            // If we connect late to the target, we could have missed the
+            // requestWillBeSent event.
+            if (request) {
+                this.#handleRequestRedirect(request, event.redirectResponse, redirectResponseExtraInfo);
+                redirectChain = request._redirectChain;
+            }
+        }
+        const frame = event.frameId
+            ? this.#frameManager.frame(event.frameId)
+            : null;
+        const request = new HTTPRequest(this.#client, frame, fetchRequestId, this.#userRequestInterceptionEnabled, event, redirectChain);
+        this.#networkEventManager.storeRequest(event.requestId, request);
+        this.emit(NetworkManagerEmittedEvents.Request, request);
+        void request.finalizeInterceptions();
+    }
+    #onRequestServedFromCache(event) {
+        const request = this.#networkEventManager.getRequest(event.requestId);
+        if (request) {
+            request._fromMemoryCache = true;
+        }
+        this.emit(NetworkManagerEmittedEvents.RequestServedFromCache, request);
+    }
+    #handleRequestRedirect(request, responsePayload, extraInfo) {
+        const response = new HTTPResponse(this.#client, request, responsePayload, extraInfo);
+        request._response = response;
+        request._redirectChain.push(request);
+        response._resolveBody(new Error('Response body is unavailable for redirect responses'));
+        this.#forgetRequest(request, false);
+        this.emit(NetworkManagerEmittedEvents.Response, response);
+        this.emit(NetworkManagerEmittedEvents.RequestFinished, request);
+    }
+    #emitResponseEvent(responseReceived, extraInfo) {
+        const request = this.#networkEventManager.getRequest(responseReceived.requestId);
+        // FileUpload sends a response without a matching request.
+        if (!request) {
+            return;
+        }
+        const extraInfos = this.#networkEventManager.responseExtraInfo(responseReceived.requestId);
+        if (extraInfos.length) {
+            debugError(new Error('Unexpected extraInfo events for request ' +
+                responseReceived.requestId));
+        }
+        // Chromium sends wrong extraInfo events for responses served from cache.
+        // See https://github.com/puppeteer/puppeteer/issues/9965 and
+        // https://crbug.com/1340398.
+        if (responseReceived.response.fromDiskCache) {
+            extraInfo = null;
+        }
+        const response = new HTTPResponse(this.#client, request, responseReceived.response, extraInfo);
+        request._response = response;
+        this.emit(NetworkManagerEmittedEvents.Response, response);
+    }
+    #onResponseReceived(event) {
+        const request = this.#networkEventManager.getRequest(event.requestId);
+        let extraInfo = null;
+        if (request && !request._fromMemoryCache && event.hasExtraInfo) {
+            extraInfo = this.#networkEventManager
                 .responseExtraInfo(event.requestId)
                 .shift();
-            if (!redirectResponseExtraInfo) {
-                __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").queueRedirectInfo(event.requestId, {
-                    event,
-                    fetchRequestId,
+            if (!extraInfo) {
+                // Wait until we get the corresponding ExtraInfo event.
+                this.#networkEventManager.queueEventGroup(event.requestId, {
+                    responseReceivedEvent: event,
                 });
                 return;
             }
         }
-        const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
-        // If we connect late to the target, we could have missed the
-        // requestWillBeSent event.
-        if (request) {
-            __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_handleRequestRedirect).call(this, request, event.redirectResponse, redirectResponseExtraInfo);
-            redirectChain = request._redirectChain;
-        }
+        this.#emitResponseEvent(event, extraInfo);
     }
-    const frame = event.frameId
-        ? __classPrivateFieldGet(this, _NetworkManager_frameManager, "f").frame(event.frameId)
-        : null;
-    const request = new HTTPRequest(__classPrivateFieldGet(this, _NetworkManager_client, "f"), frame, fetchRequestId, __classPrivateFieldGet(this, _NetworkManager_userRequestInterceptionEnabled, "f"), event, redirectChain);
-    __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").storeRequest(event.requestId, request);
-    this.emit(NetworkManagerEmittedEvents.Request, request);
-    void request.finalizeInterceptions();
-}, _NetworkManager_onRequestServedFromCache = function _NetworkManager_onRequestServedFromCache(event) {
-    const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
-    if (request) {
-        request._fromMemoryCache = true;
-    }
-    this.emit(NetworkManagerEmittedEvents.RequestServedFromCache, request);
-}, _NetworkManager_handleRequestRedirect = function _NetworkManager_handleRequestRedirect(request, responsePayload, extraInfo) {
-    const response = new HTTPResponse(__classPrivateFieldGet(this, _NetworkManager_client, "f"), request, responsePayload, extraInfo);
-    request._response = response;
-    request._redirectChain.push(request);
-    response._resolveBody(new Error('Response body is unavailable for redirect responses'));
-    __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, false);
-    this.emit(NetworkManagerEmittedEvents.Response, response);
-    this.emit(NetworkManagerEmittedEvents.RequestFinished, request);
-}, _NetworkManager_emitResponseEvent = function _NetworkManager_emitResponseEvent(responseReceived, extraInfo) {
-    const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(responseReceived.requestId);
-    // FileUpload sends a response without a matching request.
-    if (!request) {
-        return;
-    }
-    const extraInfos = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").responseExtraInfo(responseReceived.requestId);
-    if (extraInfos.length) {
-        debugError(new Error('Unexpected extraInfo events for request ' +
-            responseReceived.requestId));
-    }
-    // Chromium sends wrong extraInfo events for responses served from cache.
-    // See https://github.com/puppeteer/puppeteer/issues/9965 and
-    // https://crbug.com/1340398.
-    if (responseReceived.response.fromDiskCache) {
-        extraInfo = null;
-    }
-    const response = new HTTPResponse(__classPrivateFieldGet(this, _NetworkManager_client, "f"), request, responseReceived.response, extraInfo);
-    request._response = response;
-    this.emit(NetworkManagerEmittedEvents.Response, response);
-}, _NetworkManager_onResponseReceived = function _NetworkManager_onResponseReceived(event) {
-    const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
-    let extraInfo = null;
-    if (request && !request._fromMemoryCache && event.hasExtraInfo) {
-        extraInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f")
-            .responseExtraInfo(event.requestId)
-            .shift();
-        if (!extraInfo) {
-            // Wait until we get the corresponding ExtraInfo event.
-            __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").queueEventGroup(event.requestId, {
-                responseReceivedEvent: event,
-            });
+    #onResponseReceivedExtraInfo(event) {
+        // We may have skipped a redirect response/request pair due to waiting for
+        // this ExtraInfo event. If so, continue that work now that we have the
+        // request.
+        const redirectInfo = this.#networkEventManager.takeQueuedRedirectInfo(event.requestId);
+        if (redirectInfo) {
+            this.#networkEventManager.responseExtraInfo(event.requestId).push(event);
+            this.#onRequest(redirectInfo.event, redirectInfo.fetchRequestId);
             return;
         }
-    }
-    __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitResponseEvent).call(this, event, extraInfo);
-}, _NetworkManager_onResponseReceivedExtraInfo = function _NetworkManager_onResponseReceivedExtraInfo(event) {
-    // We may have skipped a redirect response/request pair due to waiting for
-    // this ExtraInfo event. If so, continue that work now that we have the
-    // request.
-    const redirectInfo = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").takeQueuedRedirectInfo(event.requestId);
-    if (redirectInfo) {
-        __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").responseExtraInfo(event.requestId).push(event);
-        __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onRequest).call(this, redirectInfo.event, redirectInfo.fetchRequestId);
-        return;
-    }
-    // We may have skipped response and loading events because we didn't have
-    // this ExtraInfo event yet. If so, emit those events now.
-    const queuedEvents = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getQueuedEventGroup(event.requestId);
-    if (queuedEvents) {
-        __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetQueuedEventGroup(event.requestId);
-        __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitResponseEvent).call(this, queuedEvents.responseReceivedEvent, event);
-        if (queuedEvents.loadingFinishedEvent) {
-            __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFinished).call(this, queuedEvents.loadingFinishedEvent);
+        // We may have skipped response and loading events because we didn't have
+        // this ExtraInfo event yet. If so, emit those events now.
+        const queuedEvents = this.#networkEventManager.getQueuedEventGroup(event.requestId);
+        if (queuedEvents) {
+            this.#networkEventManager.forgetQueuedEventGroup(event.requestId);
+            this.#emitResponseEvent(queuedEvents.responseReceivedEvent, event);
+            if (queuedEvents.loadingFinishedEvent) {
+                this.#emitLoadingFinished(queuedEvents.loadingFinishedEvent);
+            }
+            if (queuedEvents.loadingFailedEvent) {
+                this.#emitLoadingFailed(queuedEvents.loadingFailedEvent);
+            }
+            return;
         }
-        if (queuedEvents.loadingFailedEvent) {
-            __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFailed).call(this, queuedEvents.loadingFailedEvent);
+        // Wait until we get another event that can use this ExtraInfo event.
+        this.#networkEventManager.responseExtraInfo(event.requestId).push(event);
+    }
+    #forgetRequest(request, events) {
+        const requestId = request._requestId;
+        const interceptionId = request._interceptionId;
+        this.#networkEventManager.forgetRequest(requestId);
+        interceptionId !== undefined &&
+            this.#attemptedAuthentications.delete(interceptionId);
+        if (events) {
+            this.#networkEventManager.forget(requestId);
         }
-        return;
     }
-    // Wait until we get another event that can use this ExtraInfo event.
-    __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").responseExtraInfo(event.requestId).push(event);
-}, _NetworkManager_forgetRequest = function _NetworkManager_forgetRequest(request, events) {
-    const requestId = request._requestId;
-    const interceptionId = request._interceptionId;
-    __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forgetRequest(requestId);
-    interceptionId !== undefined &&
-        __classPrivateFieldGet(this, _NetworkManager_attemptedAuthentications, "f").delete(interceptionId);
-    if (events) {
-        __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").forget(requestId);
+    #onLoadingFinished(event) {
+        // If the response event for this request is still waiting on a
+        // corresponding ExtraInfo event, then wait to emit this event too.
+        const queuedEvents = this.#networkEventManager.getQueuedEventGroup(event.requestId);
+        if (queuedEvents) {
+            queuedEvents.loadingFinishedEvent = event;
+        }
+        else {
+            this.#emitLoadingFinished(event);
+        }
     }
-}, _NetworkManager_onLoadingFinished = function _NetworkManager_onLoadingFinished(event) {
-    // If the response event for this request is still waiting on a
-    // corresponding ExtraInfo event, then wait to emit this event too.
-    const queuedEvents = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getQueuedEventGroup(event.requestId);
-    if (queuedEvents) {
-        queuedEvents.loadingFinishedEvent = event;
+    #emitLoadingFinished(event) {
+        const request = this.#networkEventManager.getRequest(event.requestId);
+        // For certain requestIds we never receive requestWillBeSent event.
+        // @see https://crbug.com/750469
+        if (!request) {
+            return;
+        }
+        // Under certain conditions we never get the Network.responseReceived
+        // event from protocol. @see https://crbug.com/883475
+        if (request.response()) {
+            request.response()?._resolveBody(null);
+        }
+        this.#forgetRequest(request, true);
+        this.emit(NetworkManagerEmittedEvents.RequestFinished, request);
     }
-    else {
-        __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFinished).call(this, event);
+    #onLoadingFailed(event) {
+        // If the response event for this request is still waiting on a
+        // corresponding ExtraInfo event, then wait to emit this event too.
+        const queuedEvents = this.#networkEventManager.getQueuedEventGroup(event.requestId);
+        if (queuedEvents) {
+            queuedEvents.loadingFailedEvent = event;
+        }
+        else {
+            this.#emitLoadingFailed(event);
+        }
     }
-}, _NetworkManager_emitLoadingFinished = function _NetworkManager_emitLoadingFinished(event) {
-    const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
-    // For certain requestIds we never receive requestWillBeSent event.
-    // @see https://crbug.com/750469
-    if (!request) {
-        return;
+    #emitLoadingFailed(event) {
+        const request = this.#networkEventManager.getRequest(event.requestId);
+        // For certain requestIds we never receive requestWillBeSent event.
+        // @see https://crbug.com/750469
+        if (!request) {
+            return;
+        }
+        request._failureText = event.errorText;
+        const response = request.response();
+        if (response) {
+            response._resolveBody(null);
+        }
+        this.#forgetRequest(request, true);
+        this.emit(NetworkManagerEmittedEvents.RequestFailed, request);
     }
-    // Under certain conditions we never get the Network.responseReceived
-    // event from protocol. @see https://crbug.com/883475
-    if (request.response()) {
-        request.response()?._resolveBody(null);
-    }
-    __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
-    this.emit(NetworkManagerEmittedEvents.RequestFinished, request);
-}, _NetworkManager_onLoadingFailed = function _NetworkManager_onLoadingFailed(event) {
-    // If the response event for this request is still waiting on a
-    // corresponding ExtraInfo event, then wait to emit this event too.
-    const queuedEvents = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getQueuedEventGroup(event.requestId);
-    if (queuedEvents) {
-        queuedEvents.loadingFailedEvent = event;
-    }
-    else {
-        __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_emitLoadingFailed).call(this, event);
-    }
-}, _NetworkManager_emitLoadingFailed = function _NetworkManager_emitLoadingFailed(event) {
-    const request = __classPrivateFieldGet(this, _NetworkManager_networkEventManager, "f").getRequest(event.requestId);
-    // For certain requestIds we never receive requestWillBeSent event.
-    // @see https://crbug.com/750469
-    if (!request) {
-        return;
-    }
-    request._failureText = event.errorText;
-    const response = request.response();
-    if (response) {
-        response._resolveBody(null);
-    }
-    __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_forgetRequest).call(this, request, true);
-    this.emit(NetworkManagerEmittedEvents.RequestFailed, request);
-};
+}
 //# sourceMappingURL=NetworkManager.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js.map
index 01d7cae..969150f 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"NetworkManager.js","sourceRoot":"","sources":["../../../../src/common/NetworkManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"NetworkManager.js","sourceRoot":"","sources":["../../../../src/common/NetworkManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/NodeWebSocketTransport.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/NodeWebSocketTransport.js
index 6331f13..9c2fe53 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/NodeWebSocketTransport.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/NodeWebSocketTransport.js
@@ -1,15 +1,3 @@
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _NodeWebSocketTransport_ws;
 /**
  * Copyright 2018 Google Inc. All rights reserved.
  *
@@ -48,28 +36,29 @@
             ws.addEventListener('error', reject);
         });
     }
+    #ws;
+    onmessage;
+    onclose;
     constructor(ws) {
-        _NodeWebSocketTransport_ws.set(this, void 0);
-        __classPrivateFieldSet(this, _NodeWebSocketTransport_ws, ws, "f");
-        __classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").addEventListener('message', event => {
+        this.#ws = ws;
+        this.#ws.addEventListener('message', event => {
             if (this.onmessage) {
                 this.onmessage.call(null, event.data);
             }
         });
-        __classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").addEventListener('close', () => {
+        this.#ws.addEventListener('close', () => {
             if (this.onclose) {
                 this.onclose.call(null);
             }
         });
         // Silently ignore all errors - we don't know what to do with them.
-        __classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").addEventListener('error', () => { });
+        this.#ws.addEventListener('error', () => { });
     }
     send(message) {
-        __classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").send(message);
+        this.#ws.send(message);
     }
     close() {
-        __classPrivateFieldGet(this, _NodeWebSocketTransport_ws, "f").close();
+        this.#ws.close();
     }
 }
-_NodeWebSocketTransport_ws = new WeakMap();
 //# sourceMappingURL=NodeWebSocketTransport.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/NodeWebSocketTransport.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/NodeWebSocketTransport.js.map
index 6bc18ca..b2c7511 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/NodeWebSocketTransport.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/NodeWebSocketTransport.js.map
@@ -1 +1 @@
-{"version":3,"file":"NodeWebSocketTransport.js","sourceRoot":"","sources":["../../../../src/common/NodeWebSocketTransport.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,aAAa,MAAM,IAAI,CAAC;AAG/B,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAEvD;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACjC,MAAM,CAAC,MAAM,CACX,GAAW,EACX,OAAgC;QAEhC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,EAAE;gBACpC,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,KAAK;gBACxB,UAAU,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;gBAC7B,OAAO,EAAE;oBACP,YAAY,EAAE,aAAa,cAAc,EAAE;oBAC3C,GAAG,OAAO;iBACX;aACF,CAAC,CAAC;YAEH,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC/B,OAAO,OAAO,CAAC,IAAI,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAMD,YAAY,EAAiB;QAJ7B,6CAAmB;QAKjB,uBAAA,IAAI,8BAAO,EAAE,MAAA,CAAC;QACd,uBAAA,IAAI,kCAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YAC3C,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;QACH,uBAAA,IAAI,kCAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACtC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,mEAAmE;QACnE,uBAAA,IAAI,kCAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,uBAAA,IAAI,kCAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACH,uBAAA,IAAI,kCAAI,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF"}
\ No newline at end of file
+{"version":3,"file":"NodeWebSocketTransport.js","sourceRoot":"","sources":["../../../../src/common/NodeWebSocketTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,aAAa,MAAM,IAAI,CAAC;AAG/B,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAEvD;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACjC,MAAM,CAAC,MAAM,CACX,GAAW,EACX,OAAgC;QAEhC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,EAAE;gBACpC,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,KAAK;gBACxB,UAAU,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI;gBAC7B,OAAO,EAAE;oBACP,YAAY,EAAE,aAAa,cAAc,EAAE;oBAC3C,GAAG,OAAO;iBACX;aACF,CAAC,CAAC;YAEH,EAAE,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC/B,OAAO,OAAO,CAAC,IAAI,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAgB;IACnB,SAAS,CAAyC;IAClD,OAAO,CAAc;IAErB,YAAY,EAAiB;QAC3B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YAC3C,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aACvC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;YACtC,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;QACH,mEAAmE;QACnE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/PQueryHandler.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/PQueryHandler.js
index fef68e4..d48a71b 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/PQueryHandler.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/PQueryHandler.js
@@ -18,11 +18,11 @@
  * @internal
  */
 export class PQueryHandler extends QueryHandler {
+    static querySelectorAll = (element, selector, { pQuerySelectorAll }) => {
+        return pQuerySelectorAll(element, selector);
+    };
+    static querySelector = (element, selector, { pQuerySelector }) => {
+        return pQuerySelector(element, selector);
+    };
 }
-PQueryHandler.querySelectorAll = (element, selector, { pQuerySelectorAll }) => {
-    return pQuerySelectorAll(element, selector);
-};
-PQueryHandler.querySelector = (element, selector, { pQuerySelector }) => {
-    return pQuerySelector(element, selector);
-};
 //# sourceMappingURL=PQueryHandler.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/PQueryHandler.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/PQueryHandler.js.map
index 6fc56b3..17a6fa7 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/PQueryHandler.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/PQueryHandler.js.map
@@ -1 +1 @@
-{"version":3,"file":"PQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/PQueryHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,YAAY,EAAkC,MAAM,mBAAmB,CAAC;AAEhF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,YAAY;;AAC7B,8BAAgB,GAAqB,CACnD,OAAO,EACP,QAAQ,EACR,EAAC,iBAAiB,EAAC,EACnB,EAAE;IACF,OAAO,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC,CAAC;AACc,2BAAa,GAAkB,CAC7C,OAAO,EACP,QAAQ,EACR,EAAC,cAAc,EAAC,EAChB,EAAE;IACF,OAAO,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAC3C,CAAC,CAAC"}
\ No newline at end of file
+{"version":3,"file":"PQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/PQueryHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,YAAY,EAAkC,MAAM,mBAAmB,CAAC;AAEhF;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,YAAY;IAC7C,MAAM,CAAU,gBAAgB,GAAqB,CACnD,OAAO,EACP,QAAQ,EACR,EAAC,iBAAiB,EAAC,EACnB,EAAE;QACF,OAAO,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC;IACF,MAAM,CAAU,aAAa,GAAkB,CAC7C,OAAO,EACP,QAAQ,EACR,EAAC,cAAc,EAAC,EAChB,EAAE;QACF,OAAO,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.d.ts
index c678317..ce6aee4 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.d.ts
@@ -19,8 +19,7 @@
 import { Protocol } from 'devtools-protocol';
 import type { Browser } from '../api/Browser.js';
 import type { BrowserContext } from '../api/BrowserContext.js';
-import { ElementHandle } from '../api/ElementHandle.js';
-import { Frame, FrameAddScriptTagOptions, FrameAddStyleTagOptions } from '../api/Frame.js';
+import { Frame } from '../api/Frame.js';
 import { HTTPRequest } from '../api/HTTPRequest.js';
 import { HTTPResponse } from '../api/HTTPResponse.js';
 import { JSHandle } from '../api/JSHandle.js';
@@ -31,11 +30,10 @@
 import { DeviceRequestPrompt } from './DeviceRequestPrompt.js';
 import { FileChooser } from './FileChooser.js';
 import { CDPKeyboard, CDPMouse, CDPTouchscreen } from './Input.js';
-import { WaitForSelectorOptions } from './IsolatedWorld.js';
 import { Credentials, NetworkConditions } from './NetworkManager.js';
 import { PDFOptions } from './PDFOptions.js';
 import { Viewport } from './PuppeteerViewport.js';
-import { Target } from './Target.js';
+import { CDPTarget } from './Target.js';
 import { TaskQueue } from './TaskQueue.js';
 import { Tracing } from './Tracing.js';
 import { EvaluateFunc, HandleFor } from './types.js';
@@ -48,11 +46,11 @@
     /**
      * @internal
      */
-    static _create(client: CDPSession, target: Target, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue): Promise<CDPPage>;
+    static _create(client: CDPSession, target: CDPTarget, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue): Promise<CDPPage>;
     /**
      * @internal
      */
-    constructor(client: CDPSession, target: Target, ignoreHTTPSErrors: boolean, screenshotTaskQueue: TaskQueue);
+    constructor(client: CDPSession, target: CDPTarget, ignoreHTTPSErrors: boolean, screenshotTaskQueue: TaskQueue);
     /**
      * @internal
      */
@@ -62,7 +60,7 @@
     isJavaScriptEnabled(): boolean;
     waitForFileChooser(options?: WaitTimeoutOptions): Promise<FileChooser>;
     setGeolocation(options: GeolocationOptions): Promise<void>;
-    target(): Target;
+    target(): CDPTarget;
     browser(): Browser;
     browserContext(): BrowserContext;
     mainFrame(): Frame;
@@ -86,9 +84,6 @@
     cookies(...urls: string[]): Promise<Protocol.Network.Cookie[]>;
     deleteCookie(...cookies: Protocol.Network.DeleteCookiesRequest[]): Promise<void>;
     setCookie(...cookies: Protocol.Network.CookieParam[]): Promise<void>;
-    addScriptTag(options: FrameAddScriptTagOptions): Promise<ElementHandle<HTMLScriptElement>>;
-    addStyleTag(options: Omit<FrameAddStyleTagOptions, 'url'>): Promise<ElementHandle<HTMLStyleElement>>;
-    addStyleTag(options: FrameAddStyleTagOptions): Promise<ElementHandle<HTMLLinkElement>>;
     exposeFunction(name: string, pptrFunction: Function | {
         default: Function;
     }): Promise<void>;
@@ -105,6 +100,7 @@
         referrerPolicy?: string;
     }): Promise<HTTPResponse | null>;
     reload(options?: WaitForOptions): Promise<HTTPResponse | null>;
+    createCDPSession(): Promise<CDPSession>;
     waitForRequest(urlOrPredicate: string | ((req: HTTPRequest) => boolean | Promise<boolean>), options?: {
         timeout?: number;
     }): Promise<HTTPRequest>;
@@ -152,7 +148,6 @@
     }): Promise<void>;
     isClosed(): boolean;
     get mouse(): CDPMouse;
-    waitForXPath(xpath: string, options?: WaitForSelectorOptions): Promise<ElementHandle<Node> | null>;
     /**
      * This method is typically coupled with an action that triggers a device
      * request from an api such as WebBluetooth.
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.d.ts.map
index 03f06cb..45cc490 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../src/common/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../src/common/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.js
index ea0df63..3260bdc 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _CDPPage_instances, _CDPPage_closed, _CDPPage_client, _CDPPage_target, _CDPPage_keyboard, _CDPPage_mouse, _CDPPage_timeoutSettings, _CDPPage_touchscreen, _CDPPage_accessibility, _CDPPage_frameManager, _CDPPage_emulationManager, _CDPPage_tracing, _CDPPage_bindings, _CDPPage_exposedFunctions, _CDPPage_coverage, _CDPPage_viewport, _CDPPage_screenshotTaskQueue, _CDPPage_workers, _CDPPage_fileChooserDeferreds, _CDPPage_sessionCloseDeferred, _CDPPage_serviceWorkerBypassed, _CDPPage_userDragInterceptionEnabled, _CDPPage_onDetachedFromTarget, _CDPPage_onAttachedToTarget, _CDPPage_initialize, _CDPPage_onFileChooser, _CDPPage_onTargetCrashed, _CDPPage_onLogEntryAdded, _CDPPage_emitMetrics, _CDPPage_buildMetricsObject, _CDPPage_handleException, _CDPPage_onConsoleAPI, _CDPPage_onBindingCalled, _CDPPage_addConsoleMessage, _CDPPage_onDialog, _CDPPage_go, _CDPPage_screenshotTask;
 import { Page, } from '../api/Page.js';
 import { assert } from '../util/assert.js';
 import { Deferred } from '../util/Deferred.js';
@@ -34,7 +22,7 @@
 import { CDPSessionEmittedEvents, isTargetClosedError, } from './Connection.js';
 import { ConsoleMessage } from './ConsoleMessage.js';
 import { Coverage } from './Coverage.js';
-import { Dialog } from './Dialog.js';
+import { CDPDialog } from './Dialog.js';
 import { EmulationManager } from './EmulationManager.js';
 import { TargetCloseError } from './Errors.js';
 import { FileChooser } from './FileChooser.js';
@@ -44,7 +32,7 @@
 import { NetworkManagerEmittedEvents, } from './NetworkManager.js';
 import { TimeoutSettings } from './TimeoutSettings.js';
 import { Tracing } from './Tracing.js';
-import { createClientError, createJSHandle, debugError, evaluationString, getReadableAsBuffer, getReadableFromProtocolStream, isString, pageBindingInitString, releaseObject, valueFromRemoteObject, waitForEvent, waitWithTimeout, withSourcePuppeteerURLIfNone, } from './util.js';
+import { createClientError, createJSHandle, debugError, evaluationString, getReadableAsBuffer, getReadableFromProtocolStream, isString, pageBindingInitString, releaseObject, validateDialogType, valueFromRemoteObject, waitForEvent, waitWithTimeout, withSourcePuppeteerURLIfNone, } from './util.js';
 import { WebWorker } from './WebWorker.js';
 /**
  * @internal
@@ -55,7 +43,7 @@
      */
     static async _create(client, target, ignoreHTTPSErrors, defaultViewport, screenshotTaskQueue) {
         const page = new CDPPage(client, target, ignoreHTTPSErrors, screenshotTaskQueue);
-        await __classPrivateFieldGet(page, _CDPPage_instances, "m", _CDPPage_initialize).call(page);
+        await page.#initialize();
         if (defaultViewport) {
             try {
                 await page.setViewport(defaultViewport);
@@ -71,85 +59,60 @@
         }
         return page;
     }
+    #closed = false;
+    #client;
+    #target;
+    #keyboard;
+    #mouse;
+    #timeoutSettings = new TimeoutSettings();
+    #touchscreen;
+    #accessibility;
+    #frameManager;
+    #emulationManager;
+    #tracing;
+    #bindings = new Map();
+    #exposedFunctions = new Map();
+    #coverage;
+    #viewport;
+    #screenshotTaskQueue;
+    #workers = new Map();
+    #fileChooserDeferreds = new Set();
+    #sessionCloseDeferred = Deferred.create();
+    #serviceWorkerBypassed = false;
+    #userDragInterceptionEnabled = false;
     /**
      * @internal
      */
     constructor(client, target, ignoreHTTPSErrors, screenshotTaskQueue) {
         super();
-        _CDPPage_instances.add(this);
-        _CDPPage_closed.set(this, false);
-        _CDPPage_client.set(this, void 0);
-        _CDPPage_target.set(this, void 0);
-        _CDPPage_keyboard.set(this, void 0);
-        _CDPPage_mouse.set(this, void 0);
-        _CDPPage_timeoutSettings.set(this, new TimeoutSettings());
-        _CDPPage_touchscreen.set(this, void 0);
-        _CDPPage_accessibility.set(this, void 0);
-        _CDPPage_frameManager.set(this, void 0);
-        _CDPPage_emulationManager.set(this, void 0);
-        _CDPPage_tracing.set(this, void 0);
-        _CDPPage_bindings.set(this, new Map());
-        _CDPPage_exposedFunctions.set(this, new Map());
-        _CDPPage_coverage.set(this, void 0);
-        _CDPPage_viewport.set(this, void 0);
-        _CDPPage_screenshotTaskQueue.set(this, void 0);
-        _CDPPage_workers.set(this, new Map());
-        _CDPPage_fileChooserDeferreds.set(this, new Set());
-        _CDPPage_sessionCloseDeferred.set(this, Deferred.create());
-        _CDPPage_serviceWorkerBypassed.set(this, false);
-        _CDPPage_userDragInterceptionEnabled.set(this, false);
-        _CDPPage_onDetachedFromTarget.set(this, (target) => {
-            const sessionId = target._session()?.id();
-            const worker = __classPrivateFieldGet(this, _CDPPage_workers, "f").get(sessionId);
-            if (!worker) {
-                return;
-            }
-            __classPrivateFieldGet(this, _CDPPage_workers, "f").delete(sessionId);
-            this.emit("workerdestroyed" /* PageEmittedEvents.WorkerDestroyed */, worker);
-        });
-        _CDPPage_onAttachedToTarget.set(this, (createdTarget) => {
-            __classPrivateFieldGet(this, _CDPPage_frameManager, "f").onAttachedToTarget(createdTarget);
-            if (createdTarget._getTargetInfo().type === 'worker') {
-                const session = createdTarget._session();
-                assert(session);
-                const worker = new WebWorker(session, createdTarget.url(), __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_addConsoleMessage).bind(this), __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_handleException).bind(this));
-                __classPrivateFieldGet(this, _CDPPage_workers, "f").set(session.id(), worker);
-                this.emit("workercreated" /* PageEmittedEvents.WorkerCreated */, worker);
-            }
-            if (createdTarget._session()) {
-                __classPrivateFieldGet(this, _CDPPage_target, "f")
-                    ._targetManager()
-                    .addTargetInterceptor(createdTarget._session(), __classPrivateFieldGet(this, _CDPPage_onAttachedToTarget, "f"));
-            }
-        });
-        __classPrivateFieldSet(this, _CDPPage_client, client, "f");
-        __classPrivateFieldSet(this, _CDPPage_target, target, "f");
-        __classPrivateFieldSet(this, _CDPPage_keyboard, new CDPKeyboard(client), "f");
-        __classPrivateFieldSet(this, _CDPPage_mouse, new CDPMouse(client, __classPrivateFieldGet(this, _CDPPage_keyboard, "f")), "f");
-        __classPrivateFieldSet(this, _CDPPage_touchscreen, new CDPTouchscreen(client, __classPrivateFieldGet(this, _CDPPage_keyboard, "f")), "f");
-        __classPrivateFieldSet(this, _CDPPage_accessibility, new Accessibility(client), "f");
-        __classPrivateFieldSet(this, _CDPPage_frameManager, new FrameManager(client, this, ignoreHTTPSErrors, __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f")), "f");
-        __classPrivateFieldSet(this, _CDPPage_emulationManager, new EmulationManager(client), "f");
-        __classPrivateFieldSet(this, _CDPPage_tracing, new Tracing(client), "f");
-        __classPrivateFieldSet(this, _CDPPage_coverage, new Coverage(client), "f");
-        __classPrivateFieldSet(this, _CDPPage_screenshotTaskQueue, screenshotTaskQueue, "f");
-        __classPrivateFieldSet(this, _CDPPage_viewport, null, "f");
-        __classPrivateFieldGet(this, _CDPPage_target, "f")
+        this.#client = client;
+        this.#target = target;
+        this.#keyboard = new CDPKeyboard(client);
+        this.#mouse = new CDPMouse(client, this.#keyboard);
+        this.#touchscreen = new CDPTouchscreen(client, this.#keyboard);
+        this.#accessibility = new Accessibility(client);
+        this.#frameManager = new FrameManager(client, this, ignoreHTTPSErrors, this.#timeoutSettings);
+        this.#emulationManager = new EmulationManager(client);
+        this.#tracing = new Tracing(client);
+        this.#coverage = new Coverage(client);
+        this.#screenshotTaskQueue = screenshotTaskQueue;
+        this.#viewport = null;
+        this.#target
             ._targetManager()
-            .addTargetInterceptor(__classPrivateFieldGet(this, _CDPPage_client, "f"), __classPrivateFieldGet(this, _CDPPage_onAttachedToTarget, "f"));
-        __classPrivateFieldGet(this, _CDPPage_target, "f")
+            .addTargetInterceptor(this.#client, this.#onAttachedToTarget);
+        this.#target
             ._targetManager()
-            .on("targetGone" /* TargetManagerEmittedEvents.TargetGone */, __classPrivateFieldGet(this, _CDPPage_onDetachedFromTarget, "f"));
-        __classPrivateFieldGet(this, _CDPPage_frameManager, "f").on(FrameManagerEmittedEvents.FrameAttached, event => {
+            .on("targetGone" /* TargetManagerEmittedEvents.TargetGone */, this.#onDetachedFromTarget);
+        this.#frameManager.on(FrameManagerEmittedEvents.FrameAttached, event => {
             return this.emit("frameattached" /* PageEmittedEvents.FrameAttached */, event);
         });
-        __classPrivateFieldGet(this, _CDPPage_frameManager, "f").on(FrameManagerEmittedEvents.FrameDetached, event => {
+        this.#frameManager.on(FrameManagerEmittedEvents.FrameDetached, event => {
             return this.emit("framedetached" /* PageEmittedEvents.FrameDetached */, event);
         });
-        __classPrivateFieldGet(this, _CDPPage_frameManager, "f").on(FrameManagerEmittedEvents.FrameNavigated, event => {
+        this.#frameManager.on(FrameManagerEmittedEvents.FrameNavigated, event => {
             return this.emit("framenavigated" /* PageEmittedEvents.FrameNavigated */, event);
         });
-        const networkManager = __classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager;
+        const networkManager = this.#frameManager.networkManager;
         networkManager.on(NetworkManagerEmittedEvents.Request, event => {
             return this.emit("request" /* PageEmittedEvents.Request */, event);
         });
@@ -166,7 +129,7 @@
             return this.emit("requestfinished" /* PageEmittedEvents.RequestFinished */, event);
         });
         client.once(CDPSessionEmittedEvents.Disconnected, () => {
-            return __classPrivateFieldGet(this, _CDPPage_sessionCloseDeferred, "f").resolve(new TargetCloseError('Target closed'));
+            return this.#sessionCloseDeferred.resolve(new TargetCloseError('Target closed'));
         });
         client.on('Page.domContentEventFired', () => {
             return this.emit("domcontentloaded" /* PageEmittedEvents.DOMContentLoaded */);
@@ -175,69 +138,124 @@
             return this.emit("load" /* PageEmittedEvents.Load */);
         });
         client.on('Runtime.consoleAPICalled', event => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_onConsoleAPI).call(this, event);
+            return this.#onConsoleAPI(event);
         });
         client.on('Runtime.bindingCalled', event => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_onBindingCalled).call(this, event);
+            return this.#onBindingCalled(event);
         });
         client.on('Page.javascriptDialogOpening', event => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_onDialog).call(this, event);
+            return this.#onDialog(event);
         });
         client.on('Runtime.exceptionThrown', exception => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_handleException).call(this, exception.exceptionDetails);
+            return this.#handleException(exception.exceptionDetails);
         });
         client.on('Inspector.targetCrashed', () => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_onTargetCrashed).call(this);
+            return this.#onTargetCrashed();
         });
         client.on('Performance.metrics', event => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_emitMetrics).call(this, event);
+            return this.#emitMetrics(event);
         });
         client.on('Log.entryAdded', event => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_onLogEntryAdded).call(this, event);
+            return this.#onLogEntryAdded(event);
         });
         client.on('Page.fileChooserOpened', event => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_onFileChooser).call(this, event);
+            return this.#onFileChooser(event);
         });
-        __classPrivateFieldGet(this, _CDPPage_target, "f")._isClosedDeferred
+        this.#target._isClosedDeferred
             .valueOrThrow()
             .then(() => {
-            __classPrivateFieldGet(this, _CDPPage_target, "f")
+            this.#target
                 ._targetManager()
-                .removeTargetInterceptor(__classPrivateFieldGet(this, _CDPPage_client, "f"), __classPrivateFieldGet(this, _CDPPage_onAttachedToTarget, "f"));
-            __classPrivateFieldGet(this, _CDPPage_target, "f")
+                .removeTargetInterceptor(this.#client, this.#onAttachedToTarget);
+            this.#target
                 ._targetManager()
-                .off("targetGone" /* TargetManagerEmittedEvents.TargetGone */, __classPrivateFieldGet(this, _CDPPage_onDetachedFromTarget, "f"));
+                .off("targetGone" /* TargetManagerEmittedEvents.TargetGone */, this.#onDetachedFromTarget);
             this.emit("close" /* PageEmittedEvents.Close */);
-            __classPrivateFieldSet(this, _CDPPage_closed, true, "f");
+            this.#closed = true;
         })
             .catch(debugError);
     }
+    #onDetachedFromTarget = (target) => {
+        const sessionId = target._session()?.id();
+        const worker = this.#workers.get(sessionId);
+        if (!worker) {
+            return;
+        }
+        this.#workers.delete(sessionId);
+        this.emit("workerdestroyed" /* PageEmittedEvents.WorkerDestroyed */, worker);
+    };
+    #onAttachedToTarget = (createdTarget) => {
+        this.#frameManager.onAttachedToTarget(createdTarget);
+        if (createdTarget._getTargetInfo().type === 'worker') {
+            const session = createdTarget._session();
+            assert(session);
+            const worker = new WebWorker(session, createdTarget.url(), this.#addConsoleMessage.bind(this), this.#handleException.bind(this));
+            this.#workers.set(session.id(), worker);
+            this.emit("workercreated" /* PageEmittedEvents.WorkerCreated */, worker);
+        }
+        if (createdTarget._session()) {
+            this.#target
+                ._targetManager()
+                .addTargetInterceptor(createdTarget._session(), this.#onAttachedToTarget);
+        }
+    };
+    async #initialize() {
+        try {
+            await Promise.all([
+                this.#frameManager.initialize(),
+                this.#client.send('Performance.enable'),
+                this.#client.send('Log.enable'),
+            ]);
+        }
+        catch (err) {
+            if (isErrorLike(err) && isTargetClosedError(err)) {
+                debugError(err);
+            }
+            else {
+                throw err;
+            }
+        }
+    }
+    async #onFileChooser(event) {
+        if (!this.#fileChooserDeferreds.size) {
+            return;
+        }
+        const frame = this.#frameManager.frame(event.frameId);
+        assert(frame, 'This should never happen.');
+        // This is guaranteed to be an HTMLInputElement handle by the event.
+        const handle = (await frame.worlds[MAIN_WORLD].adoptBackendNode(event.backendNodeId));
+        const fileChooser = new FileChooser(handle, event);
+        for (const promise of this.#fileChooserDeferreds) {
+            promise.resolve(fileChooser);
+        }
+        this.#fileChooserDeferreds.clear();
+    }
     /**
      * @internal
      */
     _client() {
-        return __classPrivateFieldGet(this, _CDPPage_client, "f");
+        return this.#client;
     }
     isServiceWorkerBypassed() {
-        return __classPrivateFieldGet(this, _CDPPage_serviceWorkerBypassed, "f");
+        return this.#serviceWorkerBypassed;
     }
     isDragInterceptionEnabled() {
-        return __classPrivateFieldGet(this, _CDPPage_userDragInterceptionEnabled, "f");
+        return this.#userDragInterceptionEnabled;
     }
     isJavaScriptEnabled() {
-        return __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").javascriptEnabled;
+        return this.#emulationManager.javascriptEnabled;
     }
     waitForFileChooser(options = {}) {
-        const needsEnable = __classPrivateFieldGet(this, _CDPPage_fileChooserDeferreds, "f").size === 0;
-        const { timeout = __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f").timeout() } = options;
+        const needsEnable = this.#fileChooserDeferreds.size === 0;
+        const { timeout = this.#timeoutSettings.timeout() } = options;
         const deferred = Deferred.create({
             message: `Waiting for \`FileChooser\` failed: ${timeout}ms exceeded`,
             timeout,
         });
-        __classPrivateFieldGet(this, _CDPPage_fileChooserDeferreds, "f").add(deferred);
+        this.#fileChooserDeferreds.add(deferred);
         let enablePromise;
         if (needsEnable) {
-            enablePromise = __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.setInterceptFileChooserDialog', {
+            enablePromise = this.#client.send('Page.setInterceptFileChooserDialog', {
                 enabled: true,
             });
         }
@@ -246,71 +264,85 @@
             return result;
         })
             .catch(error => {
-            __classPrivateFieldGet(this, _CDPPage_fileChooserDeferreds, "f").delete(deferred);
+            this.#fileChooserDeferreds.delete(deferred);
             throw error;
         });
     }
     async setGeolocation(options) {
-        return await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").setGeolocation(options);
+        return await this.#emulationManager.setGeolocation(options);
     }
     target() {
-        return __classPrivateFieldGet(this, _CDPPage_target, "f");
+        return this.#target;
     }
     browser() {
-        return __classPrivateFieldGet(this, _CDPPage_target, "f").browser();
+        return this.#target.browser();
     }
     browserContext() {
-        return __classPrivateFieldGet(this, _CDPPage_target, "f").browserContext();
+        return this.#target.browserContext();
+    }
+    #onTargetCrashed() {
+        this.emit('error', new Error('Page crashed!'));
+    }
+    #onLogEntryAdded(event) {
+        const { level, text, args, source, url, lineNumber } = event.entry;
+        if (args) {
+            args.map(arg => {
+                return releaseObject(this.#client, arg);
+            });
+        }
+        if (source !== 'worker') {
+            this.emit("console" /* PageEmittedEvents.Console */, new ConsoleMessage(level, text, [], [{ url, lineNumber }]));
+        }
     }
     mainFrame() {
-        return __classPrivateFieldGet(this, _CDPPage_frameManager, "f").mainFrame();
+        return this.#frameManager.mainFrame();
     }
     get keyboard() {
-        return __classPrivateFieldGet(this, _CDPPage_keyboard, "f");
+        return this.#keyboard;
     }
     get touchscreen() {
-        return __classPrivateFieldGet(this, _CDPPage_touchscreen, "f");
+        return this.#touchscreen;
     }
     get coverage() {
-        return __classPrivateFieldGet(this, _CDPPage_coverage, "f");
+        return this.#coverage;
     }
     get tracing() {
-        return __classPrivateFieldGet(this, _CDPPage_tracing, "f");
+        return this.#tracing;
     }
     get accessibility() {
-        return __classPrivateFieldGet(this, _CDPPage_accessibility, "f");
+        return this.#accessibility;
     }
     frames() {
-        return __classPrivateFieldGet(this, _CDPPage_frameManager, "f").frames();
+        return this.#frameManager.frames();
     }
     workers() {
-        return Array.from(__classPrivateFieldGet(this, _CDPPage_workers, "f").values());
+        return Array.from(this.#workers.values());
     }
     async setRequestInterception(value) {
-        return __classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager.setRequestInterception(value);
+        return this.#frameManager.networkManager.setRequestInterception(value);
     }
     async setBypassServiceWorker(bypass) {
-        __classPrivateFieldSet(this, _CDPPage_serviceWorkerBypassed, bypass, "f");
-        return __classPrivateFieldGet(this, _CDPPage_client, "f").send('Network.setBypassServiceWorker', { bypass });
+        this.#serviceWorkerBypassed = bypass;
+        return this.#client.send('Network.setBypassServiceWorker', { bypass });
     }
     async setDragInterception(enabled) {
-        __classPrivateFieldSet(this, _CDPPage_userDragInterceptionEnabled, enabled, "f");
-        return __classPrivateFieldGet(this, _CDPPage_client, "f").send('Input.setInterceptDrags', { enabled });
+        this.#userDragInterceptionEnabled = enabled;
+        return this.#client.send('Input.setInterceptDrags', { enabled });
     }
     setOfflineMode(enabled) {
-        return __classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager.setOfflineMode(enabled);
+        return this.#frameManager.networkManager.setOfflineMode(enabled);
     }
     emulateNetworkConditions(networkConditions) {
-        return __classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager.emulateNetworkConditions(networkConditions);
+        return this.#frameManager.networkManager.emulateNetworkConditions(networkConditions);
     }
     setDefaultNavigationTimeout(timeout) {
-        __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f").setDefaultNavigationTimeout(timeout);
+        this.#timeoutSettings.setDefaultNavigationTimeout(timeout);
     }
     setDefaultTimeout(timeout) {
-        __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f").setDefaultTimeout(timeout);
+        this.#timeoutSettings.setDefaultTimeout(timeout);
     }
     getDefaultTimeout() {
-        return __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f").timeout();
+        return this.#timeoutSettings.timeout();
     }
     async evaluateHandle(pageFunction, ...args) {
         pageFunction = withSourcePuppeteerURLIfNone(this.evaluateHandle.name, pageFunction);
@@ -327,7 +359,7 @@
         return createJSHandle(context, response.objects);
     }
     async cookies(...urls) {
-        const originalCookies = (await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Network.getCookies', {
+        const originalCookies = (await this.#client.send('Network.getCookies', {
             urls: urls.length ? urls : [this.url()],
         })).cookies;
         const unsupportedCookieAttributes = ['priority'];
@@ -346,7 +378,7 @@
             if (!cookie.url && pageURL.startsWith('http')) {
                 item.url = pageURL;
             }
-            await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Network.deleteCookies', item);
+            await this.#client.send('Network.deleteCookies', item);
         }
     }
     async setCookie(...cookies) {
@@ -363,17 +395,11 @@
         });
         await this.deleteCookie(...items);
         if (items.length) {
-            await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Network.setCookies', { cookies: items });
+            await this.#client.send('Network.setCookies', { cookies: items });
         }
     }
-    async addScriptTag(options) {
-        return this.mainFrame().addScriptTag(options);
-    }
-    async addStyleTag(options) {
-        return this.mainFrame().addStyleTag(options);
-    }
     async exposeFunction(name, pptrFunction) {
-        if (__classPrivateFieldGet(this, _CDPPage_bindings, "f").has(name)) {
+        if (this.#bindings.has(name)) {
             throw new Error(`Failed to add page binding with name ${name}: window['${name}'] already exists!`);
         }
         let binding;
@@ -385,23 +411,23 @@
                 binding = new Binding(name, pptrFunction.default);
                 break;
         }
-        __classPrivateFieldGet(this, _CDPPage_bindings, "f").set(name, binding);
+        this.#bindings.set(name, binding);
         const expression = pageBindingInitString('exposedFun', name);
-        await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Runtime.addBinding', { name });
-        const { identifier } = await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.addScriptToEvaluateOnNewDocument', {
+        await this.#client.send('Runtime.addBinding', { name });
+        const { identifier } = await this.#client.send('Page.addScriptToEvaluateOnNewDocument', {
             source: expression,
         });
-        __classPrivateFieldGet(this, _CDPPage_exposedFunctions, "f").set(name, identifier);
+        this.#exposedFunctions.set(name, identifier);
         await Promise.all(this.frames().map(frame => {
             return frame.evaluate(expression).catch(debugError);
         }));
     }
     async removeExposedFunction(name) {
-        const exposedFun = __classPrivateFieldGet(this, _CDPPage_exposedFunctions, "f").get(name);
+        const exposedFun = this.#exposedFunctions.get(name);
         if (!exposedFun) {
             throw new Error(`Failed to remove page binding with name ${name}: window['${name}'] does not exists!`);
         }
-        await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Runtime.removeBinding', { name });
+        await this.#client.send('Runtime.removeBinding', { name });
         await this.removeScriptToEvaluateOnNewDocument(exposedFun);
         await Promise.all(this.frames().map(frame => {
             return frame
@@ -412,21 +438,122 @@
             }, name)
                 .catch(debugError);
         }));
-        __classPrivateFieldGet(this, _CDPPage_exposedFunctions, "f").delete(name);
-        __classPrivateFieldGet(this, _CDPPage_bindings, "f").delete(name);
+        this.#exposedFunctions.delete(name);
+        this.#bindings.delete(name);
     }
     async authenticate(credentials) {
-        return __classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager.authenticate(credentials);
+        return this.#frameManager.networkManager.authenticate(credentials);
     }
     async setExtraHTTPHeaders(headers) {
-        return __classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager.setExtraHTTPHeaders(headers);
+        return this.#frameManager.networkManager.setExtraHTTPHeaders(headers);
     }
     async setUserAgent(userAgent, userAgentMetadata) {
-        return __classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager.setUserAgent(userAgent, userAgentMetadata);
+        return this.#frameManager.networkManager.setUserAgent(userAgent, userAgentMetadata);
     }
     async metrics() {
-        const response = await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Performance.getMetrics');
-        return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_buildMetricsObject).call(this, response.metrics);
+        const response = await this.#client.send('Performance.getMetrics');
+        return this.#buildMetricsObject(response.metrics);
+    }
+    #emitMetrics(event) {
+        this.emit("metrics" /* PageEmittedEvents.Metrics */, {
+            title: event.title,
+            metrics: this.#buildMetricsObject(event.metrics),
+        });
+    }
+    #buildMetricsObject(metrics) {
+        const result = {};
+        for (const metric of metrics || []) {
+            if (supportedMetrics.has(metric.name)) {
+                result[metric.name] = metric.value;
+            }
+        }
+        return result;
+    }
+    #handleException(exceptionDetails) {
+        this.emit("pageerror" /* PageEmittedEvents.PageError */, createClientError(exceptionDetails));
+    }
+    async #onConsoleAPI(event) {
+        if (event.executionContextId === 0) {
+            // DevTools protocol stores the last 1000 console messages. These
+            // messages are always reported even for removed execution contexts. In
+            // this case, they are marked with executionContextId = 0 and are
+            // reported upon enabling Runtime agent.
+            //
+            // Ignore these messages since:
+            // - there's no execution context we can use to operate with message
+            //   arguments
+            // - these messages are reported before Puppeteer clients can subscribe
+            //   to the 'console'
+            //   page event.
+            //
+            // @see https://github.com/puppeteer/puppeteer/issues/3865
+            return;
+        }
+        const context = this.#frameManager.getExecutionContextById(event.executionContextId, this.#client);
+        if (!context) {
+            debugError(new Error(`ExecutionContext not found for a console message: ${JSON.stringify(event)}`));
+            return;
+        }
+        const values = event.args.map(arg => {
+            return createJSHandle(context, arg);
+        });
+        this.#addConsoleMessage(event.type, values, event.stackTrace);
+    }
+    async #onBindingCalled(event) {
+        let payload;
+        try {
+            payload = JSON.parse(event.payload);
+        }
+        catch {
+            // The binding was either called by something in the page or it was
+            // called before our wrapper was initialized.
+            return;
+        }
+        const { type, name, seq, args, isTrivial } = payload;
+        if (type !== 'exposedFun') {
+            return;
+        }
+        const context = this.#frameManager.executionContextById(event.executionContextId, this.#client);
+        if (!context) {
+            return;
+        }
+        const binding = this.#bindings.get(name);
+        await binding?.run(context, seq, args, isTrivial);
+    }
+    #addConsoleMessage(eventType, args, stackTrace) {
+        if (!this.listenerCount("console" /* PageEmittedEvents.Console */)) {
+            args.forEach(arg => {
+                return arg.dispose();
+            });
+            return;
+        }
+        const textTokens = [];
+        for (const arg of args) {
+            const remoteObject = arg.remoteObject();
+            if (remoteObject.objectId) {
+                textTokens.push(arg.toString());
+            }
+            else {
+                textTokens.push(valueFromRemoteObject(remoteObject));
+            }
+        }
+        const stackTraceLocations = [];
+        if (stackTrace) {
+            for (const callFrame of stackTrace.callFrames) {
+                stackTraceLocations.push({
+                    url: callFrame.url,
+                    lineNumber: callFrame.lineNumber,
+                    columnNumber: callFrame.columnNumber,
+                });
+            }
+        }
+        const message = new ConsoleMessage(eventType, textTokens.join(' '), args, stackTraceLocations);
+        this.emit("console" /* PageEmittedEvents.Console */, message);
+    }
+    #onDialog(event) {
+        const type = validateDialogType(event.type);
+        const dialog = new CDPDialog(this.#client, type, event.message, event.defaultPrompt);
+        this.emit("dialog" /* PageEmittedEvents.Dialog */, dialog);
     }
     url() {
         return this.mainFrame().url();
@@ -443,13 +570,16 @@
     async reload(options) {
         const result = await Promise.all([
             this.waitForNavigation(options),
-            __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.reload'),
+            this.#client.send('Page.reload'),
         ]);
         return result[0];
     }
+    async createCDPSession() {
+        return await this.target().createCDPSession();
+    }
     async waitForRequest(urlOrPredicate, options = {}) {
-        const { timeout = __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f").timeout() } = options;
-        return waitForEvent(__classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager, NetworkManagerEmittedEvents.Request, async (request) => {
+        const { timeout = this.#timeoutSettings.timeout() } = options;
+        return waitForEvent(this.#frameManager.networkManager, NetworkManagerEmittedEvents.Request, async (request) => {
             if (isString(urlOrPredicate)) {
                 return urlOrPredicate === request.url();
             }
@@ -457,11 +587,11 @@
                 return !!(await urlOrPredicate(request));
             }
             return false;
-        }, timeout, __classPrivateFieldGet(this, _CDPPage_sessionCloseDeferred, "f").valueOrThrow());
+        }, timeout, this.#sessionCloseDeferred.valueOrThrow());
     }
     async waitForResponse(urlOrPredicate, options = {}) {
-        const { timeout = __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f").timeout() } = options;
-        return waitForEvent(__classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager, NetworkManagerEmittedEvents.Response, async (response) => {
+        const { timeout = this.#timeoutSettings.timeout() } = options;
+        return waitForEvent(this.#frameManager.networkManager, NetworkManagerEmittedEvents.Response, async (response) => {
             if (isString(urlOrPredicate)) {
                 return urlOrPredicate === response.url();
             }
@@ -469,14 +599,14 @@
                 return !!(await urlOrPredicate(response));
             }
             return false;
-        }, timeout, __classPrivateFieldGet(this, _CDPPage_sessionCloseDeferred, "f").valueOrThrow());
+        }, timeout, this.#sessionCloseDeferred.valueOrThrow());
     }
     async waitForNetworkIdle(options = {}) {
-        const { idleTime = 500, timeout = __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f").timeout() } = options;
-        await this._waitForNetworkIdle(__classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager, idleTime, timeout, __classPrivateFieldGet(this, _CDPPage_sessionCloseDeferred, "f"));
+        const { idleTime = 500, timeout = this.#timeoutSettings.timeout() } = options;
+        await this._waitForNetworkIdle(this.#frameManager.networkManager, idleTime, timeout, this.#sessionCloseDeferred);
     }
     async waitForFrame(urlOrPredicate, options = {}) {
-        const { timeout = __classPrivateFieldGet(this, _CDPPage_timeoutSettings, "f").timeout() } = options;
+        const { timeout = this.#timeoutSettings.timeout() } = options;
         let predicate;
         if (isString(urlOrPredicate)) {
             predicate = (frame) => {
@@ -493,8 +623,8 @@
             };
         }
         const eventRace = Deferred.race([
-            waitForEvent(__classPrivateFieldGet(this, _CDPPage_frameManager, "f"), FrameManagerEmittedEvents.FrameAttached, predicate, timeout, __classPrivateFieldGet(this, _CDPPage_sessionCloseDeferred, "f").valueOrThrow()),
-            waitForEvent(__classPrivateFieldGet(this, _CDPPage_frameManager, "f"), FrameManagerEmittedEvents.FrameNavigated, predicate, timeout, __classPrivateFieldGet(this, _CDPPage_sessionCloseDeferred, "f").valueOrThrow()),
+            waitForEvent(this.#frameManager, FrameManagerEmittedEvents.FrameAttached, predicate, timeout, this.#sessionCloseDeferred.valueOrThrow()),
+            waitForEvent(this.#frameManager, FrameManagerEmittedEvents.FrameNavigated, predicate, timeout, this.#sessionCloseDeferred.valueOrThrow()),
             ...this.frames().map(async (frame) => {
                 if (await predicate(frame)) {
                     return frame;
@@ -505,47 +635,59 @@
         return eventRace;
     }
     async goBack(options = {}) {
-        return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_go).call(this, -1, options);
+        return this.#go(-1, options);
     }
     async goForward(options = {}) {
-        return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_go).call(this, +1, options);
+        return this.#go(+1, options);
+    }
+    async #go(delta, options) {
+        const history = await this.#client.send('Page.getNavigationHistory');
+        const entry = history.entries[history.currentIndex + delta];
+        if (!entry) {
+            return null;
+        }
+        const result = await Promise.all([
+            this.waitForNavigation(options),
+            this.#client.send('Page.navigateToHistoryEntry', { entryId: entry.id }),
+        ]);
+        return result[0];
     }
     async bringToFront() {
-        await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.bringToFront');
+        await this.#client.send('Page.bringToFront');
     }
     async setJavaScriptEnabled(enabled) {
-        return await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").setJavaScriptEnabled(enabled);
+        return await this.#emulationManager.setJavaScriptEnabled(enabled);
     }
     async setBypassCSP(enabled) {
-        await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.setBypassCSP', { enabled });
+        await this.#client.send('Page.setBypassCSP', { enabled });
     }
     async emulateMediaType(type) {
-        return await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").emulateMediaType(type);
+        return await this.#emulationManager.emulateMediaType(type);
     }
     async emulateCPUThrottling(factor) {
-        return await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").emulateCPUThrottling(factor);
+        return await this.#emulationManager.emulateCPUThrottling(factor);
     }
     async emulateMediaFeatures(features) {
-        return await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").emulateMediaFeatures(features);
+        return await this.#emulationManager.emulateMediaFeatures(features);
     }
     async emulateTimezone(timezoneId) {
-        return await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").emulateTimezone(timezoneId);
+        return await this.#emulationManager.emulateTimezone(timezoneId);
     }
     async emulateIdleState(overrides) {
-        return await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").emulateIdleState(overrides);
+        return await this.#emulationManager.emulateIdleState(overrides);
     }
     async emulateVisionDeficiency(type) {
-        return await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").emulateVisionDeficiency(type);
+        return await this.#emulationManager.emulateVisionDeficiency(type);
     }
     async setViewport(viewport) {
-        const needsReload = await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").emulateViewport(viewport);
-        __classPrivateFieldSet(this, _CDPPage_viewport, viewport, "f");
+        const needsReload = await this.#emulationManager.emulateViewport(viewport);
+        this.#viewport = viewport;
         if (needsReload) {
             await this.reload();
         }
     }
     viewport() {
-        return __classPrivateFieldGet(this, _CDPPage_viewport, "f");
+        return this.#viewport;
     }
     async evaluate(pageFunction, ...args) {
         pageFunction = withSourcePuppeteerURLIfNone(this.evaluate.name, pageFunction);
@@ -553,18 +695,18 @@
     }
     async evaluateOnNewDocument(pageFunction, ...args) {
         const source = evaluationString(pageFunction, ...args);
-        const { identifier } = await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.addScriptToEvaluateOnNewDocument', {
+        const { identifier } = await this.#client.send('Page.addScriptToEvaluateOnNewDocument', {
             source,
         });
         return { identifier };
     }
     async removeScriptToEvaluateOnNewDocument(identifier) {
-        await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.removeScriptToEvaluateOnNewDocument', {
+        await this.#client.send('Page.removeScriptToEvaluateOnNewDocument', {
             identifier,
         });
     }
     async setCacheEnabled(enabled = true) {
-        await __classPrivateFieldGet(this, _CDPPage_frameManager, "f").networkManager.setCacheEnabled(enabled);
+        await this.#frameManager.networkManager.setCacheEnabled(enabled);
     }
     async screenshot(options = {}) {
         let screenshotType = "png" /* Protocol.Page.CaptureScreenshotRequestFormat.Png */;
@@ -619,16 +761,81 @@
             assert(options.clip.width !== 0, 'Expected options.clip.width not to be 0.');
             assert(options.clip.height !== 0, 'Expected options.clip.height not to be 0.');
         }
-        return __classPrivateFieldGet(this, _CDPPage_screenshotTaskQueue, "f").postTask(() => {
-            return __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_screenshotTask).call(this, screenshotType, options);
+        return this.#screenshotTaskQueue.postTask(() => {
+            return this.#screenshotTask(screenshotType, options);
         });
     }
+    async #screenshotTask(format, options = {}) {
+        await this.#client.send('Target.activateTarget', {
+            targetId: this.#target._targetId,
+        });
+        let clip = options.clip ? processClip(options.clip) : undefined;
+        let captureBeyondViewport = options.captureBeyondViewport ?? true;
+        const fromSurface = options.fromSurface;
+        if (options.fullPage) {
+            // Overwrite clip for full page.
+            clip = undefined;
+            if (!captureBeyondViewport) {
+                const metrics = await this.#client.send('Page.getLayoutMetrics');
+                // Fallback to `contentSize` in case of using Firefox.
+                const { width, height } = metrics.cssContentSize || metrics.contentSize;
+                const { isMobile = false, deviceScaleFactor = 1, isLandscape = false, } = this.#viewport || {};
+                const screenOrientation = isLandscape
+                    ? { angle: 90, type: 'landscapePrimary' }
+                    : { angle: 0, type: 'portraitPrimary' };
+                await this.#client.send('Emulation.setDeviceMetricsOverride', {
+                    mobile: isMobile,
+                    width,
+                    height,
+                    deviceScaleFactor,
+                    screenOrientation,
+                });
+            }
+        }
+        else if (!clip) {
+            captureBeyondViewport = false;
+        }
+        const shouldSetDefaultBackground = options.omitBackground && (format === 'png' || format === 'webp');
+        if (shouldSetDefaultBackground) {
+            await this.#emulationManager.setTransparentBackgroundColor();
+        }
+        const result = await this.#client.send('Page.captureScreenshot', {
+            format,
+            optimizeForSpeed: options.optimizeForSpeed,
+            quality: options.quality,
+            clip: clip && {
+                ...clip,
+                scale: clip.scale ?? 1,
+            },
+            captureBeyondViewport,
+            fromSurface,
+        });
+        if (shouldSetDefaultBackground) {
+            await this.#emulationManager.resetDefaultBackgroundColor();
+        }
+        if (options.fullPage && this.#viewport) {
+            await this.setViewport(this.#viewport);
+        }
+        if (options.encoding === 'base64') {
+            return result.data;
+        }
+        const buffer = Buffer.from(result.data, 'base64');
+        await this._maybeWriteBufferToFile(options.path, buffer);
+        return buffer;
+        function processClip(clip) {
+            const x = Math.round(clip.x);
+            const y = Math.round(clip.y);
+            const width = Math.round(clip.width + clip.x - x);
+            const height = Math.round(clip.height + clip.y - y);
+            return { x, y, width, height, scale: clip.scale };
+        }
+    }
     async createPDFStream(options = {}) {
         const { landscape, displayHeaderFooter, headerTemplate, footerTemplate, printBackground, scale, width: paperWidth, height: paperHeight, margin, pageRanges, preferCSSPageSize, omitBackground, timeout, } = this._getPDFOptions(options);
         if (omitBackground) {
-            await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").setTransparentBackgroundColor();
+            await this.#emulationManager.setTransparentBackgroundColor();
         }
-        const printCommandPromise = __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.printToPDF', {
+        const printCommandPromise = this.#client.send('Page.printToPDF', {
             transferMode: 'ReturnAsStream',
             landscape,
             displayHeaderFooter,
@@ -647,10 +854,10 @@
         });
         const result = await waitWithTimeout(printCommandPromise, 'Page.printToPDF', timeout);
         if (omitBackground) {
-            await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").resetDefaultBackgroundColor();
+            await this.#emulationManager.resetDefaultBackgroundColor();
         }
         assert(result.stream, '`stream` is missing from `Page.printToPDF');
-        return getReadableFromProtocolStream(__classPrivateFieldGet(this, _CDPPage_client, "f"), result.stream);
+        return getReadableFromProtocolStream(this.#client, result.stream);
     }
     async pdf(options = {}) {
         const { path = undefined } = options;
@@ -663,27 +870,24 @@
         return this.mainFrame().title();
     }
     async close(options = { runBeforeUnload: undefined }) {
-        const connection = __classPrivateFieldGet(this, _CDPPage_client, "f").connection();
+        const connection = this.#client.connection();
         assert(connection, 'Protocol error: Connection closed. Most likely the page has been closed.');
         const runBeforeUnload = !!options.runBeforeUnload;
         if (runBeforeUnload) {
-            await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.close');
+            await this.#client.send('Page.close');
         }
         else {
             await connection.send('Target.closeTarget', {
-                targetId: __classPrivateFieldGet(this, _CDPPage_target, "f")._targetId,
+                targetId: this.#target._targetId,
             });
-            await __classPrivateFieldGet(this, _CDPPage_target, "f")._isClosedDeferred.valueOrThrow();
+            await this.#target._isClosedDeferred.valueOrThrow();
         }
     }
     isClosed() {
-        return __classPrivateFieldGet(this, _CDPPage_closed, "f");
+        return this.#closed;
     }
     get mouse() {
-        return __classPrivateFieldGet(this, _CDPPage_mouse, "f");
-    }
-    waitForXPath(xpath, options = {}) {
-        return this.mainFrame().waitForXPath(xpath, options);
+        return this.#mouse;
     }
     /**
      * This method is typically coupled with an action that triggers a device
@@ -712,227 +916,6 @@
         return this.mainFrame().waitForDevicePrompt(options);
     }
 }
-_CDPPage_closed = new WeakMap(), _CDPPage_client = new WeakMap(), _CDPPage_target = new WeakMap(), _CDPPage_keyboard = new WeakMap(), _CDPPage_mouse = new WeakMap(), _CDPPage_timeoutSettings = new WeakMap(), _CDPPage_touchscreen = new WeakMap(), _CDPPage_accessibility = new WeakMap(), _CDPPage_frameManager = new WeakMap(), _CDPPage_emulationManager = new WeakMap(), _CDPPage_tracing = new WeakMap(), _CDPPage_bindings = new WeakMap(), _CDPPage_exposedFunctions = new WeakMap(), _CDPPage_coverage = new WeakMap(), _CDPPage_viewport = new WeakMap(), _CDPPage_screenshotTaskQueue = new WeakMap(), _CDPPage_workers = new WeakMap(), _CDPPage_fileChooserDeferreds = new WeakMap(), _CDPPage_sessionCloseDeferred = new WeakMap(), _CDPPage_serviceWorkerBypassed = new WeakMap(), _CDPPage_userDragInterceptionEnabled = new WeakMap(), _CDPPage_onDetachedFromTarget = new WeakMap(), _CDPPage_onAttachedToTarget = new WeakMap(), _CDPPage_instances = new WeakSet(), _CDPPage_initialize = async function _CDPPage_initialize() {
-    try {
-        await Promise.all([
-            __classPrivateFieldGet(this, _CDPPage_frameManager, "f").initialize(),
-            __classPrivateFieldGet(this, _CDPPage_client, "f").send('Performance.enable'),
-            __classPrivateFieldGet(this, _CDPPage_client, "f").send('Log.enable'),
-        ]);
-    }
-    catch (err) {
-        if (isErrorLike(err) && isTargetClosedError(err)) {
-            debugError(err);
-        }
-        else {
-            throw err;
-        }
-    }
-}, _CDPPage_onFileChooser = async function _CDPPage_onFileChooser(event) {
-    if (!__classPrivateFieldGet(this, _CDPPage_fileChooserDeferreds, "f").size) {
-        return;
-    }
-    const frame = __classPrivateFieldGet(this, _CDPPage_frameManager, "f").frame(event.frameId);
-    assert(frame, 'This should never happen.');
-    // This is guaranteed to be an HTMLInputElement handle by the event.
-    const handle = (await frame.worlds[MAIN_WORLD].adoptBackendNode(event.backendNodeId));
-    const fileChooser = new FileChooser(handle, event);
-    for (const promise of __classPrivateFieldGet(this, _CDPPage_fileChooserDeferreds, "f")) {
-        promise.resolve(fileChooser);
-    }
-    __classPrivateFieldGet(this, _CDPPage_fileChooserDeferreds, "f").clear();
-}, _CDPPage_onTargetCrashed = function _CDPPage_onTargetCrashed() {
-    this.emit('error', new Error('Page crashed!'));
-}, _CDPPage_onLogEntryAdded = function _CDPPage_onLogEntryAdded(event) {
-    const { level, text, args, source, url, lineNumber } = event.entry;
-    if (args) {
-        args.map(arg => {
-            return releaseObject(__classPrivateFieldGet(this, _CDPPage_client, "f"), arg);
-        });
-    }
-    if (source !== 'worker') {
-        this.emit("console" /* PageEmittedEvents.Console */, new ConsoleMessage(level, text, [], [{ url, lineNumber }]));
-    }
-}, _CDPPage_emitMetrics = function _CDPPage_emitMetrics(event) {
-    this.emit("metrics" /* PageEmittedEvents.Metrics */, {
-        title: event.title,
-        metrics: __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_buildMetricsObject).call(this, event.metrics),
-    });
-}, _CDPPage_buildMetricsObject = function _CDPPage_buildMetricsObject(metrics) {
-    const result = {};
-    for (const metric of metrics || []) {
-        if (supportedMetrics.has(metric.name)) {
-            result[metric.name] = metric.value;
-        }
-    }
-    return result;
-}, _CDPPage_handleException = function _CDPPage_handleException(exceptionDetails) {
-    this.emit("pageerror" /* PageEmittedEvents.PageError */, createClientError(exceptionDetails));
-}, _CDPPage_onConsoleAPI = async function _CDPPage_onConsoleAPI(event) {
-    if (event.executionContextId === 0) {
-        // DevTools protocol stores the last 1000 console messages. These
-        // messages are always reported even for removed execution contexts. In
-        // this case, they are marked with executionContextId = 0 and are
-        // reported upon enabling Runtime agent.
-        //
-        // Ignore these messages since:
-        // - there's no execution context we can use to operate with message
-        //   arguments
-        // - these messages are reported before Puppeteer clients can subscribe
-        //   to the 'console'
-        //   page event.
-        //
-        // @see https://github.com/puppeteer/puppeteer/issues/3865
-        return;
-    }
-    const context = __classPrivateFieldGet(this, _CDPPage_frameManager, "f").getExecutionContextById(event.executionContextId, __classPrivateFieldGet(this, _CDPPage_client, "f"));
-    if (!context) {
-        debugError(new Error(`ExecutionContext not found for a console message: ${JSON.stringify(event)}`));
-        return;
-    }
-    const values = event.args.map(arg => {
-        return createJSHandle(context, arg);
-    });
-    __classPrivateFieldGet(this, _CDPPage_instances, "m", _CDPPage_addConsoleMessage).call(this, event.type, values, event.stackTrace);
-}, _CDPPage_onBindingCalled = async function _CDPPage_onBindingCalled(event) {
-    let payload;
-    try {
-        payload = JSON.parse(event.payload);
-    }
-    catch {
-        // The binding was either called by something in the page or it was
-        // called before our wrapper was initialized.
-        return;
-    }
-    const { type, name, seq, args, isTrivial } = payload;
-    if (type !== 'exposedFun') {
-        return;
-    }
-    const context = __classPrivateFieldGet(this, _CDPPage_frameManager, "f").executionContextById(event.executionContextId, __classPrivateFieldGet(this, _CDPPage_client, "f"));
-    if (!context) {
-        return;
-    }
-    const binding = __classPrivateFieldGet(this, _CDPPage_bindings, "f").get(name);
-    await binding?.run(context, seq, args, isTrivial);
-}, _CDPPage_addConsoleMessage = function _CDPPage_addConsoleMessage(eventType, args, stackTrace) {
-    if (!this.listenerCount("console" /* PageEmittedEvents.Console */)) {
-        args.forEach(arg => {
-            return arg.dispose();
-        });
-        return;
-    }
-    const textTokens = [];
-    for (const arg of args) {
-        const remoteObject = arg.remoteObject();
-        if (remoteObject.objectId) {
-            textTokens.push(arg.toString());
-        }
-        else {
-            textTokens.push(valueFromRemoteObject(remoteObject));
-        }
-    }
-    const stackTraceLocations = [];
-    if (stackTrace) {
-        for (const callFrame of stackTrace.callFrames) {
-            stackTraceLocations.push({
-                url: callFrame.url,
-                lineNumber: callFrame.lineNumber,
-                columnNumber: callFrame.columnNumber,
-            });
-        }
-    }
-    const message = new ConsoleMessage(eventType, textTokens.join(' '), args, stackTraceLocations);
-    this.emit("console" /* PageEmittedEvents.Console */, message);
-}, _CDPPage_onDialog = function _CDPPage_onDialog(event) {
-    let dialogType = null;
-    const validDialogTypes = new Set([
-        'alert',
-        'confirm',
-        'prompt',
-        'beforeunload',
-    ]);
-    if (validDialogTypes.has(event.type)) {
-        dialogType = event.type;
-    }
-    assert(dialogType, 'Unknown javascript dialog type: ' + event.type);
-    const dialog = new Dialog(__classPrivateFieldGet(this, _CDPPage_client, "f"), dialogType, event.message, event.defaultPrompt);
-    this.emit("dialog" /* PageEmittedEvents.Dialog */, dialog);
-}, _CDPPage_go = async function _CDPPage_go(delta, options) {
-    const history = await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.getNavigationHistory');
-    const entry = history.entries[history.currentIndex + delta];
-    if (!entry) {
-        return null;
-    }
-    const result = await Promise.all([
-        this.waitForNavigation(options),
-        __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.navigateToHistoryEntry', { entryId: entry.id }),
-    ]);
-    return result[0];
-}, _CDPPage_screenshotTask = async function _CDPPage_screenshotTask(format, options = {}) {
-    await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Target.activateTarget', {
-        targetId: __classPrivateFieldGet(this, _CDPPage_target, "f")._targetId,
-    });
-    let clip = options.clip ? processClip(options.clip) : undefined;
-    let captureBeyondViewport = options.captureBeyondViewport ?? true;
-    const fromSurface = options.fromSurface;
-    if (options.fullPage) {
-        // Overwrite clip for full page.
-        clip = undefined;
-        if (!captureBeyondViewport) {
-            const metrics = await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.getLayoutMetrics');
-            // Fallback to `contentSize` in case of using Firefox.
-            const { width, height } = metrics.cssContentSize || metrics.contentSize;
-            const { isMobile = false, deviceScaleFactor = 1, isLandscape = false, } = __classPrivateFieldGet(this, _CDPPage_viewport, "f") || {};
-            const screenOrientation = isLandscape
-                ? { angle: 90, type: 'landscapePrimary' }
-                : { angle: 0, type: 'portraitPrimary' };
-            await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Emulation.setDeviceMetricsOverride', {
-                mobile: isMobile,
-                width,
-                height,
-                deviceScaleFactor,
-                screenOrientation,
-            });
-        }
-    }
-    else if (!clip) {
-        captureBeyondViewport = false;
-    }
-    const shouldSetDefaultBackground = options.omitBackground && (format === 'png' || format === 'webp');
-    if (shouldSetDefaultBackground) {
-        await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").setTransparentBackgroundColor();
-    }
-    const result = await __classPrivateFieldGet(this, _CDPPage_client, "f").send('Page.captureScreenshot', {
-        format,
-        optimizeForSpeed: options.optimizeForSpeed,
-        quality: options.quality,
-        clip: clip && {
-            ...clip,
-            scale: clip.scale ?? 1,
-        },
-        captureBeyondViewport,
-        fromSurface,
-    });
-    if (shouldSetDefaultBackground) {
-        await __classPrivateFieldGet(this, _CDPPage_emulationManager, "f").resetDefaultBackgroundColor();
-    }
-    if (options.fullPage && __classPrivateFieldGet(this, _CDPPage_viewport, "f")) {
-        await this.setViewport(__classPrivateFieldGet(this, _CDPPage_viewport, "f"));
-    }
-    if (options.encoding === 'base64') {
-        return result.data;
-    }
-    const buffer = Buffer.from(result.data, 'base64');
-    await this._maybeWriteBufferToFile(options.path, buffer);
-    return buffer;
-    function processClip(clip) {
-        const x = Math.round(clip.x);
-        const y = Math.round(clip.y);
-        const width = Math.round(clip.width + clip.x - x);
-        const height = Math.round(clip.height + clip.y - y);
-        return { x, y, width, height, scale: clip.scale };
-    }
-};
 const supportedMetrics = new Set([
     'Timestamp',
     'Documents',
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.js.map
index c121c7e..f81e0fc 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.js.map
@@ -1 +1 @@
-{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../../src/common/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../../src/common/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/PierceQueryHandler.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/PierceQueryHandler.js
index 2b4bbcf..e898511 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/PierceQueryHandler.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/PierceQueryHandler.js
@@ -18,11 +18,11 @@
  * @internal
  */
 export class PierceQueryHandler extends QueryHandler {
+    static querySelector = (element, selector, { pierceQuerySelector }) => {
+        return pierceQuerySelector(element, selector);
+    };
+    static querySelectorAll = (element, selector, { pierceQuerySelectorAll }) => {
+        return pierceQuerySelectorAll(element, selector);
+    };
 }
-PierceQueryHandler.querySelector = (element, selector, { pierceQuerySelector }) => {
-    return pierceQuerySelector(element, selector);
-};
-PierceQueryHandler.querySelectorAll = (element, selector, { pierceQuerySelectorAll }) => {
-    return pierceQuerySelectorAll(element, selector);
-};
 //# sourceMappingURL=PierceQueryHandler.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/PierceQueryHandler.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/PierceQueryHandler.js.map
index 8022f19..39d0454 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/PierceQueryHandler.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/PierceQueryHandler.js.map
@@ -1 +1 @@
-{"version":3,"file":"PierceQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/PierceQueryHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE/C;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,YAAY;;AAClC,gCAAa,GAAG,CAC9B,OAAa,EACb,QAAgB,EAChB,EAAC,mBAAmB,EAAgB,EACvB,EAAE;IACf,OAAO,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAChD,CAAC,CAAC;AACc,mCAAgB,GAAG,CACjC,OAAa,EACb,QAAgB,EAChB,EAAC,sBAAsB,EAAgB,EACvB,EAAE;IAClB,OAAO,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACnD,CAAC,CAAC"}
\ No newline at end of file
+{"version":3,"file":"PierceQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/PierceQueryHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE/C;;GAEG;AACH,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IAClD,MAAM,CAAU,aAAa,GAAG,CAC9B,OAAa,EACb,QAAgB,EAChB,EAAC,mBAAmB,EAAgB,EACvB,EAAE;QACf,OAAO,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC;IACF,MAAM,CAAU,gBAAgB,GAAG,CACjC,OAAa,EACb,QAAgB,EAChB,EAAC,sBAAsB,EAAgB,EACvB,EAAE;QAClB,OAAO,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.js
index ea4ae59..6f98e4d 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.js
@@ -27,6 +27,13 @@
  */
 export class Puppeteer {
     /**
+     * Operations for {@link CustomQueryHandler | custom query handlers}. See
+     * {@link CustomQueryHandlerRegistry}.
+     *
+     * @internal
+     */
+    static customQueryHandlers = customQueryHandlers;
+    /**
      * Registers a {@link CustomQueryHandler | custom query handler}.
      *
      * @remarks
@@ -72,11 +79,15 @@
     /**
      * @internal
      */
+    _isPuppeteerCore;
+    /**
+     * @internal
+     */
+    _changedProduct = false;
+    /**
+     * @internal
+     */
     constructor(settings) {
-        /**
-         * @internal
-         */
-        this._changedProduct = false;
         this._isPuppeteerCore = settings.isPuppeteerCore;
         this.connect = this.connect.bind(this);
     }
@@ -92,11 +103,4 @@
         return _connectToCDPBrowser(options);
     }
 }
-/**
- * Operations for {@link CustomQueryHandler | custom query handlers}. See
- * {@link CustomQueryHandlerRegistry}.
- *
- * @internal
- */
-Puppeteer.customQueryHandlers = customQueryHandlers;
 //# sourceMappingURL=Puppeteer.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.js.map
index 7e82ab7..b5217b7 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.js.map
@@ -1 +1 @@
-{"version":3,"file":"Puppeteer.js","sourceRoot":"","sources":["../../../../src/common/Puppeteer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAEL,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAqB,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAyBhF;;;;;;;;;GASG;AACH,MAAM,OAAO,SAAS;IASpB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,0BAA0B,CAC/B,IAAY,EACZ,YAAgC;QAEhC,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,4BAA4B,CAAC,IAAY;QAC9C,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,uBAAuB;QAC5B,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,wBAAwB;QAC7B,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAWD;;OAEG;IACH,YAAY,QAAiC;QAR7C;;WAEG;QACO,oBAAe,GAAG,KAAK,CAAC;QAMhC,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,eAAe,CAAC;QAEjD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,OAAuB;QAC7B,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;;AAtFD;;;;;GAKG;AACI,6BAAmB,GAAG,mBAAmB,AAAtB,CAAuB"}
\ No newline at end of file
+{"version":3,"file":"Puppeteer.js","sourceRoot":"","sources":["../../../../src/common/Puppeteer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAEL,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAqB,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AAyBhF;;;;;;;;;GASG;AACH,MAAM,OAAO,SAAS;IACpB;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;IAEjD;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,MAAM,CAAC,0BAA0B,CAC/B,IAAY,EACZ,YAAgC;QAEhC,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,4BAA4B,CAAC,IAAY;QAC9C,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,uBAAuB;QAC5B,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,wBAAwB;QAC7B,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAU;IAC1B;;OAEG;IACO,eAAe,GAAG,KAAK,CAAC;IAElC;;OAEG;IACH,YAAY,QAAiC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,eAAe,CAAC;QAEjD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,OAAuB;QAC7B,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.js
index d10a7e3..6f26ef0 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.js
@@ -22,6 +22,9 @@
  * @internal
  */
 export class QueryHandler {
+    // Either one of these may be implemented, but at least one must be.
+    static querySelectorAll;
+    static querySelector;
     static get _querySelector() {
         if (this.querySelector) {
             return this.querySelector;
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.js.map
index 68fdb33..8b95f55 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.js.map
@@ -1 +1 @@
-{"version":3,"file":"QueryHandler.js","sourceRoot":"","sources":["../../../../src/common/QueryHandler.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"QueryHandler.js","sourceRoot":"","sources":["../../../../src/common/QueryHandler.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ScriptInjector.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ScriptInjector.js
index 20b388f..25ef9c6 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ScriptInjector.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ScriptInjector.js
@@ -1,55 +1,41 @@
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var _ScriptInjector_instances, _ScriptInjector_updated, _ScriptInjector_amendments, _ScriptInjector_update, _ScriptInjector_get;
 import { source as injectedSource } from '../generated/injected.js';
 class ScriptInjector {
-    constructor() {
-        _ScriptInjector_instances.add(this);
-        _ScriptInjector_updated.set(this, false);
-        _ScriptInjector_amendments.set(this, new Set());
-    }
+    #updated = false;
+    #amendments = new Set();
     // Appends a statement of the form `(PuppeteerUtil) => {...}`.
     append(statement) {
-        __classPrivateFieldGet(this, _ScriptInjector_instances, "m", _ScriptInjector_update).call(this, () => {
-            __classPrivateFieldGet(this, _ScriptInjector_amendments, "f").add(statement);
+        this.#update(() => {
+            this.#amendments.add(statement);
         });
     }
     pop(statement) {
-        __classPrivateFieldGet(this, _ScriptInjector_instances, "m", _ScriptInjector_update).call(this, () => {
-            __classPrivateFieldGet(this, _ScriptInjector_amendments, "f").delete(statement);
+        this.#update(() => {
+            this.#amendments.delete(statement);
         });
     }
     inject(inject, force = false) {
-        if (__classPrivateFieldGet(this, _ScriptInjector_updated, "f") || force) {
-            inject(__classPrivateFieldGet(this, _ScriptInjector_instances, "m", _ScriptInjector_get).call(this));
+        if (this.#updated || force) {
+            inject(this.#get());
         }
-        __classPrivateFieldSet(this, _ScriptInjector_updated, false, "f");
+        this.#updated = false;
     }
-}
-_ScriptInjector_updated = new WeakMap(), _ScriptInjector_amendments = new WeakMap(), _ScriptInjector_instances = new WeakSet(), _ScriptInjector_update = function _ScriptInjector_update(callback) {
-    callback();
-    __classPrivateFieldSet(this, _ScriptInjector_updated, true, "f");
-}, _ScriptInjector_get = function _ScriptInjector_get() {
-    return `(() => {
+    #update(callback) {
+        callback();
+        this.#updated = true;
+    }
+    #get() {
+        return `(() => {
       const module = {};
       ${injectedSource}
-      ${[...__classPrivateFieldGet(this, _ScriptInjector_amendments, "f")]
-        .map(statement => {
-        return `(${statement})(module.exports.default);`;
-    })
-        .join('')}
+      ${[...this.#amendments]
+            .map(statement => {
+            return `(${statement})(module.exports.default);`;
+        })
+            .join('')}
       return module.exports.default;
     })()`;
-};
+    }
+}
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ScriptInjector.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ScriptInjector.js.map
index f2ef056..feed68b 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/ScriptInjector.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/ScriptInjector.js.map
@@ -1 +1 @@
-{"version":3,"file":"ScriptInjector.js","sourceRoot":"","sources":["../../../../src/common/ScriptInjector.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAC,MAAM,IAAI,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAElE,MAAM,cAAc;IAApB;;QACE,kCAAW,KAAK,EAAC;QACjB,qCAAc,IAAI,GAAG,EAAU,EAAC;IAuClC,CAAC;IArCC,8DAA8D;IAC9D,MAAM,CAAC,SAAiB;QACtB,uBAAA,IAAI,yDAAQ,MAAZ,IAAI,EAAS,GAAG,EAAE;YAChB,uBAAA,IAAI,kCAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,SAAiB;QACnB,uBAAA,IAAI,yDAAQ,MAAZ,IAAI,EAAS,GAAG,EAAE;YAChB,uBAAA,IAAI,kCAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAgC,EAAE,KAAK,GAAG,KAAK;QACpD,IAAI,uBAAA,IAAI,+BAAS,IAAI,KAAK,EAAE;YAC1B,MAAM,CAAC,uBAAA,IAAI,sDAAK,MAAT,IAAI,CAAO,CAAC,CAAC;SACrB;QACD,uBAAA,IAAI,2BAAY,KAAK,MAAA,CAAC;IACxB,CAAC;CAmBF;yLAjBS,QAAoB;IAC1B,QAAQ,EAAE,CAAC;IACX,uBAAA,IAAI,2BAAY,IAAI,MAAA,CAAC;AACvB,CAAC;IAGC,OAAO;;QAEH,cAAc;QACd,CAAC,GAAG,uBAAA,IAAI,kCAAY,CAAC;SACpB,GAAG,CAAC,SAAS,CAAC,EAAE;QACf,OAAO,IAAI,SAAS,4BAA4B,CAAC;IACnD,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC;;SAER,CAAC;AACR,CAAC;AAGH;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC"}
\ No newline at end of file
+{"version":3,"file":"ScriptInjector.js","sourceRoot":"","sources":["../../../../src/common/ScriptInjector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,IAAI,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAElE,MAAM,cAAc;IAClB,QAAQ,GAAG,KAAK,CAAC;IACjB,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEhC,8DAA8D;IAC9D,MAAM,CAAC,SAAiB;QACtB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,SAAiB;QACnB,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAgC,EAAE,KAAK,GAAG,KAAK;QACpD,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE;YAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SACrB;QACD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,OAAO,CAAC,QAAoB;QAC1B,QAAQ,EAAE,CAAC;QACX,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACvB,CAAC;IAED,IAAI;QACF,OAAO;;QAEH,cAAc;QACd,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;aACpB,GAAG,CAAC,SAAS,CAAC,EAAE;YACf,OAAO,IAAI,SAAS,4BAA4B,CAAC;QACnD,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC;;SAER,CAAC;IACR,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.js
index b3ca7b3..958a937 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _SecurityDetails_subjectName, _SecurityDetails_issuer, _SecurityDetails_validFrom, _SecurityDetails_validTo, _SecurityDetails_protocol, _SecurityDetails_sanList;
 /**
  * The SecurityDetails class represents the security details of a
  * response that was received over a secure connection.
@@ -32,61 +20,60 @@
  * @public
  */
 export class SecurityDetails {
+    #subjectName;
+    #issuer;
+    #validFrom;
+    #validTo;
+    #protocol;
+    #sanList;
     /**
      * @internal
      */
     constructor(securityPayload) {
-        _SecurityDetails_subjectName.set(this, void 0);
-        _SecurityDetails_issuer.set(this, void 0);
-        _SecurityDetails_validFrom.set(this, void 0);
-        _SecurityDetails_validTo.set(this, void 0);
-        _SecurityDetails_protocol.set(this, void 0);
-        _SecurityDetails_sanList.set(this, void 0);
-        __classPrivateFieldSet(this, _SecurityDetails_subjectName, securityPayload.subjectName, "f");
-        __classPrivateFieldSet(this, _SecurityDetails_issuer, securityPayload.issuer, "f");
-        __classPrivateFieldSet(this, _SecurityDetails_validFrom, securityPayload.validFrom, "f");
-        __classPrivateFieldSet(this, _SecurityDetails_validTo, securityPayload.validTo, "f");
-        __classPrivateFieldSet(this, _SecurityDetails_protocol, securityPayload.protocol, "f");
-        __classPrivateFieldSet(this, _SecurityDetails_sanList, securityPayload.sanList, "f");
+        this.#subjectName = securityPayload.subjectName;
+        this.#issuer = securityPayload.issuer;
+        this.#validFrom = securityPayload.validFrom;
+        this.#validTo = securityPayload.validTo;
+        this.#protocol = securityPayload.protocol;
+        this.#sanList = securityPayload.sanList;
     }
     /**
      * The name of the issuer of the certificate.
      */
     issuer() {
-        return __classPrivateFieldGet(this, _SecurityDetails_issuer, "f");
+        return this.#issuer;
     }
     /**
      * {@link https://en.wikipedia.org/wiki/Unix_time | Unix timestamp}
      * marking the start of the certificate's validity.
      */
     validFrom() {
-        return __classPrivateFieldGet(this, _SecurityDetails_validFrom, "f");
+        return this.#validFrom;
     }
     /**
      * {@link https://en.wikipedia.org/wiki/Unix_time | Unix timestamp}
      * marking the end of the certificate's validity.
      */
     validTo() {
-        return __classPrivateFieldGet(this, _SecurityDetails_validTo, "f");
+        return this.#validTo;
     }
     /**
      * The security protocol being used, e.g. "TLS 1.2".
      */
     protocol() {
-        return __classPrivateFieldGet(this, _SecurityDetails_protocol, "f");
+        return this.#protocol;
     }
     /**
      * The name of the subject to which the certificate was issued.
      */
     subjectName() {
-        return __classPrivateFieldGet(this, _SecurityDetails_subjectName, "f");
+        return this.#subjectName;
     }
     /**
      * The list of {@link https://en.wikipedia.org/wiki/Subject_Alternative_Name | subject alternative names (SANs)} of the certificate.
      */
     subjectAlternativeNames() {
-        return __classPrivateFieldGet(this, _SecurityDetails_sanList, "f");
+        return this.#sanList;
     }
 }
-_SecurityDetails_subjectName = new WeakMap(), _SecurityDetails_issuer = new WeakMap(), _SecurityDetails_validFrom = new WeakMap(), _SecurityDetails_validTo = new WeakMap(), _SecurityDetails_protocol = new WeakMap(), _SecurityDetails_sanList = new WeakMap();
 //# sourceMappingURL=SecurityDetails.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.js.map
index cbc37ec..8af57bf 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.js.map
@@ -1 +1 @@
-{"version":3,"file":"SecurityDetails.js","sourceRoot":"","sources":["../../../../src/common/SecurityDetails.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;AAIH;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAQ1B;;OAEG;IACH,YAAY,eAAiD;QAV7D,+CAAqB;QACrB,0CAAgB;QAChB,6CAAmB;QACnB,2CAAiB;QACjB,4CAAkB;QAClB,2CAAmB;QAMjB,uBAAA,IAAI,gCAAgB,eAAe,CAAC,WAAW,MAAA,CAAC;QAChD,uBAAA,IAAI,2BAAW,eAAe,CAAC,MAAM,MAAA,CAAC;QACtC,uBAAA,IAAI,8BAAc,eAAe,CAAC,SAAS,MAAA,CAAC;QAC5C,uBAAA,IAAI,4BAAY,eAAe,CAAC,OAAO,MAAA,CAAC;QACxC,uBAAA,IAAI,6BAAa,eAAe,CAAC,QAAQ,MAAA,CAAC;QAC1C,uBAAA,IAAI,4BAAY,eAAe,CAAC,OAAO,MAAA,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,uBAAA,IAAI,+BAAQ,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,OAAO,uBAAA,IAAI,kCAAW,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,uBAAA,IAAI,gCAAS,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,uBAAA,IAAI,iCAAU,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,uBAAA,IAAI,oCAAa,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,uBAAuB;QACrB,OAAO,uBAAA,IAAI,gCAAS,CAAC;IACvB,CAAC;CACF"}
\ No newline at end of file
+{"version":3,"file":"SecurityDetails.js","sourceRoot":"","sources":["../../../../src/common/SecurityDetails.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAC1B,YAAY,CAAS;IACrB,OAAO,CAAS;IAChB,UAAU,CAAS;IACnB,QAAQ,CAAS;IACjB,SAAS,CAAS;IAClB,QAAQ,CAAW;IAEnB;;OAEG;IACH,YAAY,eAAiD;QAC3D,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,uBAAuB;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.d.ts
index 33437a7..f6ca571 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.d.ts
@@ -17,6 +17,7 @@
 import type { Browser } from '../api/Browser.js';
 import type { BrowserContext } from '../api/BrowserContext.js';
 import { Page } from '../api/Page.js';
+import { Target, TargetType } from '../api/Target.js';
 import { Deferred } from '../util/Deferred.js';
 import { CDPSession } from './Connection.js';
 import { Viewport } from './PuppeteerViewport.js';
@@ -31,14 +32,9 @@
     ABORTED = "aborted"
 }
 /**
- * Target represents a
- * {@link https://chromedevtools.github.io/devtools-protocol/tot/Target/ | CDP target}.
- * In CDP a target is something that can be debugged such a frame, a page or a
- * worker.
- *
- * @public
+ * @internal
  */
-export declare class Target {
+export declare class CDPTarget extends Target {
     #private;
     /**
      * @internal
@@ -53,9 +49,11 @@
      */
     _targetId: string;
     /**
+     * To initialize the target for use, call initialize.
+     *
      * @internal
      */
-    constructor(targetInfo: Protocol.Target.TargetInfo, session: CDPSession | undefined, browserContext: BrowserContext, targetManager: TargetManager, sessionFactory: (isAutoAttachEmulated: boolean) => Promise<CDPSession>);
+    constructor(targetInfo: Protocol.Target.TargetInfo, session: CDPSession | undefined, browserContext: BrowserContext | undefined, targetManager: TargetManager | undefined, sessionFactory: ((isAutoAttachEmulated: boolean) => Promise<CDPSession>) | undefined);
     /**
      * @internal
      */
@@ -64,10 +62,9 @@
      * @internal
      */
     protected _sessionFactory(): (isAutoAttachEmulated: boolean) => Promise<CDPSession>;
-    /**
-     * Creates a Chrome Devtools Protocol session attached to the target.
-     */
     createCDPSession(): Promise<CDPSession>;
+    url(): string;
+    type(): TargetType;
     /**
      * @internal
      */
@@ -76,30 +73,8 @@
      * @internal
      */
     _getTargetInfo(): Protocol.Target.TargetInfo;
-    /**
-     * If the target is not of type `"service_worker"` or `"shared_worker"`, returns `null`.
-     */
-    worker(): Promise<WebWorker | null>;
-    url(): string;
-    /**
-     * Identifies what kind of target this is.
-     *
-     * @remarks
-     *
-     * See {@link https://developer.chrome.com/extensions/background_pages | docs} for more info about background pages.
-     */
-    type(): 'page' | 'background_page' | 'service_worker' | 'shared_worker' | 'other' | 'browser' | 'webview';
-    /**
-     * Get the browser the target belongs to.
-     */
     browser(): Browser;
-    /**
-     * Get the browser context the target belongs to.
-     */
     browserContext(): BrowserContext;
-    /**
-     * Get the target that opened this target. Top-level targets return `null`.
-     */
     opener(): Target | undefined;
     /**
      * @internal
@@ -108,41 +83,36 @@
     /**
      * @internal
      */
-    protected _initialize(): void;
+    _initialize(): void;
     /**
      * @internal
      */
     protected _checkIfInitialized(): void;
-    /**
-     * If the target is not of type `"page"`, `"webview"` or `"background_page"`,
-     * returns `null`.
-     */
-    page(): Promise<Page | null>;
 }
 /**
  * @internal
  */
-export declare class PageTarget extends Target {
+export declare class PageTarget extends CDPTarget {
     #private;
     protected pagePromise?: Promise<Page>;
     /**
      * @internal
      */
     constructor(targetInfo: Protocol.Target.TargetInfo, session: CDPSession | undefined, browserContext: BrowserContext, targetManager: TargetManager, sessionFactory: (isAutoAttachEmulated: boolean) => Promise<CDPSession>, ignoreHTTPSErrors: boolean, defaultViewport: Viewport | null, screenshotTaskQueue: TaskQueue);
-    protected _initialize(): void;
+    _initialize(): void;
     page(): Promise<Page | null>;
     _checkIfInitialized(): void;
 }
 /**
  * @internal
  */
-export declare class WorkerTarget extends Target {
+export declare class WorkerTarget extends CDPTarget {
     #private;
     worker(): Promise<WebWorker | null>;
 }
 /**
  * @internal
  */
-export declare class OtherTarget extends Target {
+export declare class OtherTarget extends CDPTarget {
 }
 //# sourceMappingURL=Target.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.d.ts.map
index 16de6e3..e5f31d0 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Target.d.ts","sourceRoot":"","sources":["../../../../src/common/Target.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Target.d.ts","sourceRoot":"","sources":["../../../../src/common/Target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAC,IAAI,EAAoB,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,qBAAa,SAAU,SAAQ,MAAM;;IASnC;;OAEG;IACH,oBAAoB,iCAA2C;IAC/D;;OAEG;IACH,iBAAiB,iBAA2B;IAC5C;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;OAIG;gBAED,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EACtC,OAAO,EAAE,UAAU,GAAG,SAAS,EAC/B,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,cAAc,EACV,CAAC,CAAC,oBAAoB,EAAE,OAAO,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,GACxD,SAAS;IAWf;;OAEG;IACH,QAAQ,IAAI,UAAU,GAAG,SAAS;IAIlC;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,CAC3B,oBAAoB,EAAE,OAAO,KAC1B,OAAO,CAAC,UAAU,CAAC;IAOf,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC;IAOvC,GAAG,IAAI,MAAM;IAIb,IAAI,IAAI,UAAU;IAoB3B;;OAEG;IACH,cAAc,IAAI,aAAa;IAO/B;;OAEG;IACH,cAAc,IAAI,QAAQ,CAAC,MAAM,CAAC,UAAU;IAInC,OAAO,IAAI,OAAO;IAOlB,cAAc,IAAI,cAAc;IAOhC,MAAM,IAAI,MAAM,GAAG,SAAS;IAQrC;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI;IAKhE;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB;;OAEG;IACH,SAAS,CAAC,mBAAmB,IAAI,IAAI;CAKtC;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,SAAS;;IAEvC,SAAS,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAItC;;OAEG;gBAED,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EACtC,OAAO,EAAE,UAAU,GAAG,SAAS,EAC/B,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,CAAC,oBAAoB,EAAE,OAAO,KAAK,OAAO,CAAC,UAAU,CAAC,EACtE,iBAAiB,EAAE,OAAO,EAC1B,eAAe,EAAE,QAAQ,GAAG,IAAI,EAChC,mBAAmB,EAAE,SAAS;IAQvB,WAAW,IAAI,IAAI;IA0Bb,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAoBlC,mBAAmB,IAAI,IAAI;CAQrC;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,SAAS;;IAG1B,MAAM,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;CAmBnD;AAED;;GAEG;AACH,qBAAa,WAAY,SAAQ,SAAS;CAAG"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.js
index 10817bc..3b9b94c 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.js
@@ -13,18 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Target_browserContext, _Target_session, _Target_targetInfo, _Target_targetManager, _Target_sessionFactory, _PageTarget_defaultViewport, _PageTarget_screenshotTaskQueue, _PageTarget_ignoreHTTPSErrors, _WorkerTarget_workerPromise;
+import { Target, TargetType } from '../api/Target.js';
 import { Deferred } from '../util/Deferred.js';
 import { CDPPage } from './Page.js';
 import { debugError } from './util.js';
@@ -38,114 +27,112 @@
     InitializationStatus["ABORTED"] = "aborted";
 })(InitializationStatus || (InitializationStatus = {}));
 /**
- * Target represents a
- * {@link https://chromedevtools.github.io/devtools-protocol/tot/Target/ | CDP target}.
- * In CDP a target is something that can be debugged such a frame, a page or a
- * worker.
- *
- * @public
+ * @internal
  */
-export class Target {
+export class CDPTarget extends Target {
+    #browserContext;
+    #session;
+    #targetInfo;
+    #targetManager;
+    #sessionFactory;
     /**
      * @internal
      */
+    _initializedDeferred = Deferred.create();
+    /**
+     * @internal
+     */
+    _isClosedDeferred = Deferred.create();
+    /**
+     * @internal
+     */
+    _targetId;
+    /**
+     * To initialize the target for use, call initialize.
+     *
+     * @internal
+     */
     constructor(targetInfo, session, browserContext, targetManager, sessionFactory) {
-        _Target_browserContext.set(this, void 0);
-        _Target_session.set(this, void 0);
-        _Target_targetInfo.set(this, void 0);
-        _Target_targetManager.set(this, void 0);
-        _Target_sessionFactory.set(this, void 0);
-        /**
-         * @internal
-         */
-        this._initializedDeferred = Deferred.create();
-        /**
-         * @internal
-         */
-        this._isClosedDeferred = Deferred.create();
-        __classPrivateFieldSet(this, _Target_session, session, "f");
-        __classPrivateFieldSet(this, _Target_targetManager, targetManager, "f");
-        __classPrivateFieldSet(this, _Target_targetInfo, targetInfo, "f");
-        __classPrivateFieldSet(this, _Target_browserContext, browserContext, "f");
+        super();
+        this.#session = session;
+        this.#targetManager = targetManager;
+        this.#targetInfo = targetInfo;
+        this.#browserContext = browserContext;
         this._targetId = targetInfo.targetId;
-        __classPrivateFieldSet(this, _Target_sessionFactory, sessionFactory, "f");
-        this._initialize();
+        this.#sessionFactory = sessionFactory;
     }
     /**
      * @internal
      */
     _session() {
-        return __classPrivateFieldGet(this, _Target_session, "f");
+        return this.#session;
     }
     /**
      * @internal
      */
     _sessionFactory() {
-        return __classPrivateFieldGet(this, _Target_sessionFactory, "f");
+        if (!this.#sessionFactory) {
+            throw new Error('sessionFactory is not initialized');
+        }
+        return this.#sessionFactory;
     }
-    /**
-     * Creates a Chrome Devtools Protocol session attached to the target.
-     */
     createCDPSession() {
-        return __classPrivateFieldGet(this, _Target_sessionFactory, "f").call(this, false);
+        if (!this.#sessionFactory) {
+            throw new Error('sessionFactory is not initialized');
+        }
+        return this.#sessionFactory(false);
+    }
+    url() {
+        return this.#targetInfo.url;
+    }
+    type() {
+        const type = this.#targetInfo.type;
+        switch (type) {
+            case 'page':
+                return TargetType.PAGE;
+            case 'background_page':
+                return TargetType.BACKGROUND_PAGE;
+            case 'service_worker':
+                return TargetType.SERVICE_WORKER;
+            case 'shared_worker':
+                return TargetType.SHARED_WORKER;
+            case 'browser':
+                return TargetType.BROWSER;
+            case 'webview':
+                return TargetType.WEBVIEW;
+            default:
+                return TargetType.OTHER;
+        }
     }
     /**
      * @internal
      */
     _targetManager() {
-        return __classPrivateFieldGet(this, _Target_targetManager, "f");
+        if (!this.#targetManager) {
+            throw new Error('targetManager is not initialized');
+        }
+        return this.#targetManager;
     }
     /**
      * @internal
      */
     _getTargetInfo() {
-        return __classPrivateFieldGet(this, _Target_targetInfo, "f");
+        return this.#targetInfo;
     }
-    /**
-     * If the target is not of type `"service_worker"` or `"shared_worker"`, returns `null`.
-     */
-    async worker() {
-        return null;
-    }
-    url() {
-        return __classPrivateFieldGet(this, _Target_targetInfo, "f").url;
-    }
-    /**
-     * Identifies what kind of target this is.
-     *
-     * @remarks
-     *
-     * See {@link https://developer.chrome.com/extensions/background_pages | docs} for more info about background pages.
-     */
-    type() {
-        const type = __classPrivateFieldGet(this, _Target_targetInfo, "f").type;
-        if (type === 'page' ||
-            type === 'background_page' ||
-            type === 'service_worker' ||
-            type === 'shared_worker' ||
-            type === 'browser' ||
-            type === 'webview') {
-            return type;
-        }
-        return 'other';
-    }
-    /**
-     * Get the browser the target belongs to.
-     */
     browser() {
-        return __classPrivateFieldGet(this, _Target_browserContext, "f").browser();
+        if (!this.#browserContext) {
+            throw new Error('browserContext is not initialised');
+        }
+        return this.#browserContext.browser();
     }
-    /**
-     * Get the browser context the target belongs to.
-     */
     browserContext() {
-        return __classPrivateFieldGet(this, _Target_browserContext, "f");
+        if (!this.#browserContext) {
+            throw new Error('browserContext is not initialised');
+        }
+        return this.#browserContext;
     }
-    /**
-     * Get the target that opened this target. Top-level targets return `null`.
-     */
     opener() {
-        const { openerId } = __classPrivateFieldGet(this, _Target_targetInfo, "f");
+        const { openerId } = this.#targetInfo;
         if (!openerId) {
             return;
         }
@@ -155,7 +142,7 @@
      * @internal
      */
     _targetInfoChanged(targetInfo) {
-        __classPrivateFieldSet(this, _Target_targetInfo, targetInfo, "f");
+        this.#targetInfo = targetInfo;
         this._checkIfInitialized();
     }
     /**
@@ -172,30 +159,23 @@
             this._initializedDeferred.resolve(InitializationStatus.SUCCESS);
         }
     }
-    /**
-     * If the target is not of type `"page"`, `"webview"` or `"background_page"`,
-     * returns `null`.
-     */
-    async page() {
-        return null;
-    }
 }
-_Target_browserContext = new WeakMap(), _Target_session = new WeakMap(), _Target_targetInfo = new WeakMap(), _Target_targetManager = new WeakMap(), _Target_sessionFactory = new WeakMap();
 /**
  * @internal
  */
-export class PageTarget extends Target {
+export class PageTarget extends CDPTarget {
+    #defaultViewport;
+    pagePromise;
+    #screenshotTaskQueue;
+    #ignoreHTTPSErrors;
     /**
      * @internal
      */
     constructor(targetInfo, session, browserContext, targetManager, sessionFactory, ignoreHTTPSErrors, defaultViewport, screenshotTaskQueue) {
         super(targetInfo, session, browserContext, targetManager, sessionFactory);
-        _PageTarget_defaultViewport.set(this, void 0);
-        _PageTarget_screenshotTaskQueue.set(this, void 0);
-        _PageTarget_ignoreHTTPSErrors.set(this, void 0);
-        __classPrivateFieldSet(this, _PageTarget_ignoreHTTPSErrors, ignoreHTTPSErrors, "f");
-        __classPrivateFieldSet(this, _PageTarget_defaultViewport, defaultViewport ?? undefined, "f");
-        __classPrivateFieldSet(this, _PageTarget_screenshotTaskQueue, screenshotTaskQueue, "f");
+        this.#ignoreHTTPSErrors = ignoreHTTPSErrors;
+        this.#defaultViewport = defaultViewport ?? undefined;
+        this.#screenshotTaskQueue = screenshotTaskQueue;
     }
     _initialize() {
         this._initializedDeferred
@@ -228,7 +208,7 @@
             this.pagePromise = (session
                 ? Promise.resolve(session)
                 : this._sessionFactory()(/* isAutoAttachEmulated=*/ false)).then(client => {
-                return CDPPage._create(client, this, __classPrivateFieldGet(this, _PageTarget_ignoreHTTPSErrors, "f"), __classPrivateFieldGet(this, _PageTarget_defaultViewport, "f") ?? null, __classPrivateFieldGet(this, _PageTarget_screenshotTaskQueue, "f"));
+                return CDPPage._create(client, this, this.#ignoreHTTPSErrors, this.#defaultViewport ?? null, this.#screenshotTaskQueue);
             });
         }
         return (await this.pagePromise) ?? null;
@@ -242,32 +222,27 @@
         }
     }
 }
-_PageTarget_defaultViewport = new WeakMap(), _PageTarget_screenshotTaskQueue = new WeakMap(), _PageTarget_ignoreHTTPSErrors = new WeakMap();
 /**
  * @internal
  */
-export class WorkerTarget extends Target {
-    constructor() {
-        super(...arguments);
-        _WorkerTarget_workerPromise.set(this, void 0);
-    }
+export class WorkerTarget extends CDPTarget {
+    #workerPromise;
     async worker() {
-        if (!__classPrivateFieldGet(this, _WorkerTarget_workerPromise, "f")) {
+        if (!this.#workerPromise) {
             const session = this._session();
             // TODO(einbinder): Make workers send their console logs.
-            __classPrivateFieldSet(this, _WorkerTarget_workerPromise, (session
+            this.#workerPromise = (session
                 ? Promise.resolve(session)
                 : this._sessionFactory()(/* isAutoAttachEmulated=*/ false)).then(client => {
                 return new WebWorker(client, this._getTargetInfo().url, () => { } /* consoleAPICalled */, () => { } /* exceptionThrown */);
-            }), "f");
+            });
         }
-        return __classPrivateFieldGet(this, _WorkerTarget_workerPromise, "f");
+        return this.#workerPromise;
     }
 }
-_WorkerTarget_workerPromise = new WeakMap();
 /**
  * @internal
  */
-export class OtherTarget extends Target {
+export class OtherTarget extends CDPTarget {
 }
 //# sourceMappingURL=Target.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.js.map
index 3ecd94f..b8f56aa 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.js.map
@@ -1 +1 @@
-{"version":3,"file":"Target.js","sourceRoot":"","sources":["../../../../src/common/Target.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Target.js","sourceRoot":"","sources":["../../../../src/common/Target.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/TargetManager.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/TargetManager.d.ts
index ca1b22a..51fec1f 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/TargetManager.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/TargetManager.d.ts
@@ -16,15 +16,15 @@
 import { Protocol } from 'devtools-protocol';
 import { CDPSession } from './Connection.js';
 import { EventEmitter } from './EventEmitter.js';
-import { Target } from './Target.js';
+import { CDPTarget } from './Target.js';
 /**
  * @internal
  */
-export type TargetFactory = (targetInfo: Protocol.Target.TargetInfo, session?: CDPSession) => Target;
+export type TargetFactory = (targetInfo: Protocol.Target.TargetInfo, session?: CDPSession) => CDPTarget;
 /**
  * @internal
  */
-export type TargetInterceptor = (createdTarget: Target, parentTarget: Target | null) => void;
+export type TargetInterceptor = (createdTarget: CDPTarget, parentTarget: CDPTarget | null) => void;
 /**
  * TargetManager encapsulates all interactions with CDP targets and is
  * responsible for coordinating the configuration of targets with the rest of
@@ -37,7 +37,7 @@
  * @internal
  */
 export interface TargetManager extends EventEmitter {
-    getAvailableTargets(): Map<string, Target>;
+    getAvailableTargets(): Map<string, CDPTarget>;
     initialize(): Promise<void>;
     dispose(): void;
     addTargetInterceptor(session: CDPSession, interceptor: TargetInterceptor): void;
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/TargetManager.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/TargetManager.d.ts.map
index 3cc2b8c..d3f828b 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/TargetManager.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/TargetManager.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"TargetManager.d.ts","sourceRoot":"","sources":["../../../../src/common/TargetManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAC;AAEnC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EACtC,OAAO,CAAC,EAAE,UAAU,KACjB,MAAM,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,GAAG,IAAI,KACxB,IAAI,CAAC;AAEV;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,IAAI,CAAC;IAChB,oBAAoB,CAClB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,iBAAiB,GAC7B,IAAI,CAAC;IACR,uBAAuB,CACrB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,iBAAiB,GAC7B,IAAI,CAAC;CACT;AAED;;GAEG;AACH,0BAAkB,0BAA0B;IAC1C,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB;;OAEG;IACH,aAAa,kBAAkB;CAChC"}
\ No newline at end of file
+{"version":3,"file":"TargetManager.d.ts","sourceRoot":"","sources":["../../../../src/common/TargetManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAE3C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,UAAU,EACtC,OAAO,CAAC,EAAE,UAAU,KACjB,SAAS,CAAC;AAEf;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,aAAa,EAAE,SAAS,EACxB,YAAY,EAAE,SAAS,GAAG,IAAI,KAC3B,IAAI,CAAC;AAEV;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC9C,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,IAAI,CAAC;IAChB,oBAAoB,CAClB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,iBAAiB,GAC7B,IAAI,CAAC;IACR,uBAAuB,CACrB,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,iBAAiB,GAC7B,IAAI,CAAC;CACT;AAED;;GAEG;AACH,0BAAkB,0BAA0B;IAC1C,gBAAgB,qBAAqB;IACrC,eAAe,oBAAoB;IACnC,UAAU,eAAe;IACzB;;OAEG;IACH,aAAa,kBAAkB;CAChC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js
index 374f84e..aaa15de 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js
@@ -13,35 +13,22 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _TaskQueue_chain;
 /**
  * @internal
  */
 export class TaskQueue {
+    #chain;
     constructor() {
-        _TaskQueue_chain.set(this, void 0);
-        __classPrivateFieldSet(this, _TaskQueue_chain, Promise.resolve(), "f");
+        this.#chain = Promise.resolve();
     }
     postTask(task) {
-        const result = __classPrivateFieldGet(this, _TaskQueue_chain, "f").then(task);
-        __classPrivateFieldSet(this, _TaskQueue_chain, result.then(() => {
+        const result = this.#chain.then(task);
+        this.#chain = result.then(() => {
             return undefined;
         }, () => {
             return undefined;
-        }), "f");
+        });
         return result;
     }
 }
-_TaskQueue_chain = new WeakMap();
 //# sourceMappingURL=TaskQueue.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js.map
index 3c47515..7c0fd67 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js.map
@@ -1 +1 @@
-{"version":3,"file":"TaskQueue.js","sourceRoot":"","sources":["../../../../src/common/TaskQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;AAEH;;GAEG;AACH,MAAM,OAAO,SAAS;IAGpB;QAFA,mCAAsB;QAGpB,uBAAA,IAAI,oBAAU,OAAO,CAAC,OAAO,EAAE,MAAA,CAAC;IAClC,CAAC;IAED,QAAQ,CAAI,IAAsB;QAChC,MAAM,MAAM,GAAG,uBAAA,IAAI,wBAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,uBAAA,IAAI,oBAAU,MAAM,CAAC,IAAI,CACvB,GAAG,EAAE;YACH,OAAO,SAAS,CAAC;QACnB,CAAC,EACD,GAAG,EAAE;YACH,OAAO,SAAS,CAAC;QACnB,CAAC,CACF,MAAA,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
\ No newline at end of file
+{"version":3,"file":"TaskQueue.js","sourceRoot":"","sources":["../../../../src/common/TaskQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;;GAEG;AACH,MAAM,OAAO,SAAS;IACpB,MAAM,CAAgB;IAEtB;QACE,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IAED,QAAQ,CAAI,IAAsB;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CACvB,GAAG,EAAE;YACH,OAAO,SAAS,CAAC;QACnB,CAAC,EACD,GAAG,EAAE;YACH,OAAO,SAAS,CAAC;QACnB,CAAC,CACF,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/TextQueryHandler.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/TextQueryHandler.js
index e20cf3c..9f6431a 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/TextQueryHandler.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/TextQueryHandler.js
@@ -18,8 +18,8 @@
  * @internal
  */
 export class TextQueryHandler extends QueryHandler {
+    static querySelectorAll = (element, selector, { textQuerySelectorAll }) => {
+        return textQuerySelectorAll(element, selector);
+    };
 }
-TextQueryHandler.querySelectorAll = (element, selector, { textQuerySelectorAll }) => {
-    return textQuerySelectorAll(element, selector);
-};
 //# sourceMappingURL=TextQueryHandler.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/TextQueryHandler.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/TextQueryHandler.js.map
index ce685b5..abb29c4 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/TextQueryHandler.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/TextQueryHandler.js.map
@@ -1 +1 @@
-{"version":3,"file":"TextQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/TextQueryHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,YAAY,EAAmB,MAAM,mBAAmB,CAAC;AAEjE;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,YAAY;;AAChC,iCAAgB,GAAqB,CACnD,OAAO,EACP,QAAQ,EACR,EAAC,oBAAoB,EAAC,EACtB,EAAE;IACF,OAAO,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACjD,CAAC,CAAC"}
\ No newline at end of file
+{"version":3,"file":"TextQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/TextQueryHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,YAAY,EAAmB,MAAM,mBAAmB,CAAC;AAEjE;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAChD,MAAM,CAAU,gBAAgB,GAAqB,CACnD,OAAO,EACP,QAAQ,EACR,EAAC,oBAAoB,EAAC,EACtB,EAAE;QACF,OAAO,oBAAoB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACjD,CAAC,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.js
index 4e12285..54ccc34 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.js
@@ -13,50 +13,37 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _TimeoutSettings_defaultTimeout, _TimeoutSettings_defaultNavigationTimeout;
 const DEFAULT_TIMEOUT = 30000;
 /**
  * @internal
  */
 export class TimeoutSettings {
+    #defaultTimeout;
+    #defaultNavigationTimeout;
     constructor() {
-        _TimeoutSettings_defaultTimeout.set(this, void 0);
-        _TimeoutSettings_defaultNavigationTimeout.set(this, void 0);
-        __classPrivateFieldSet(this, _TimeoutSettings_defaultTimeout, null, "f");
-        __classPrivateFieldSet(this, _TimeoutSettings_defaultNavigationTimeout, null, "f");
+        this.#defaultTimeout = null;
+        this.#defaultNavigationTimeout = null;
     }
     setDefaultTimeout(timeout) {
-        __classPrivateFieldSet(this, _TimeoutSettings_defaultTimeout, timeout, "f");
+        this.#defaultTimeout = timeout;
     }
     setDefaultNavigationTimeout(timeout) {
-        __classPrivateFieldSet(this, _TimeoutSettings_defaultNavigationTimeout, timeout, "f");
+        this.#defaultNavigationTimeout = timeout;
     }
     navigationTimeout() {
-        if (__classPrivateFieldGet(this, _TimeoutSettings_defaultNavigationTimeout, "f") !== null) {
-            return __classPrivateFieldGet(this, _TimeoutSettings_defaultNavigationTimeout, "f");
+        if (this.#defaultNavigationTimeout !== null) {
+            return this.#defaultNavigationTimeout;
         }
-        if (__classPrivateFieldGet(this, _TimeoutSettings_defaultTimeout, "f") !== null) {
-            return __classPrivateFieldGet(this, _TimeoutSettings_defaultTimeout, "f");
+        if (this.#defaultTimeout !== null) {
+            return this.#defaultTimeout;
         }
         return DEFAULT_TIMEOUT;
     }
     timeout() {
-        if (__classPrivateFieldGet(this, _TimeoutSettings_defaultTimeout, "f") !== null) {
-            return __classPrivateFieldGet(this, _TimeoutSettings_defaultTimeout, "f");
+        if (this.#defaultTimeout !== null) {
+            return this.#defaultTimeout;
         }
         return DEFAULT_TIMEOUT;
     }
 }
-_TimeoutSettings_defaultTimeout = new WeakMap(), _TimeoutSettings_defaultNavigationTimeout = new WeakMap();
 //# sourceMappingURL=TimeoutSettings.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.js.map
index 5e90907..cb0a754 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.js.map
@@ -1 +1 @@
-{"version":3,"file":"TimeoutSettings.js","sourceRoot":"","sources":["../../../../src/common/TimeoutSettings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;;;;;;;;;;;AAEH,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B;;GAEG;AACH,MAAM,OAAO,eAAe;IAI1B;QAHA,kDAA+B;QAC/B,4DAAyC;QAGvC,uBAAA,IAAI,mCAAmB,IAAI,MAAA,CAAC;QAC5B,uBAAA,IAAI,6CAA6B,IAAI,MAAA,CAAC;IACxC,CAAC;IAED,iBAAiB,CAAC,OAAe;QAC/B,uBAAA,IAAI,mCAAmB,OAAO,MAAA,CAAC;IACjC,CAAC;IAED,2BAA2B,CAAC,OAAe;QACzC,uBAAA,IAAI,6CAA6B,OAAO,MAAA,CAAC;IAC3C,CAAC;IAED,iBAAiB;QACf,IAAI,uBAAA,IAAI,iDAA0B,KAAK,IAAI,EAAE;YAC3C,OAAO,uBAAA,IAAI,iDAA0B,CAAC;SACvC;QACD,IAAI,uBAAA,IAAI,uCAAgB,KAAK,IAAI,EAAE;YACjC,OAAO,uBAAA,IAAI,uCAAgB,CAAC;SAC7B;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,OAAO;QACL,IAAI,uBAAA,IAAI,uCAAgB,KAAK,IAAI,EAAE;YACjC,OAAO,uBAAA,IAAI,uCAAgB,CAAC;SAC7B;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;CACF"}
\ No newline at end of file
+{"version":3,"file":"TimeoutSettings.js","sourceRoot":"","sources":["../../../../src/common/TimeoutSettings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B;;GAEG;AACH,MAAM,OAAO,eAAe;IAC1B,eAAe,CAAgB;IAC/B,yBAAyB,CAAgB;IAEzC;QACE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;IACxC,CAAC;IAED,iBAAiB,CAAC,OAAe;QAC/B,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;IACjC,CAAC;IAED,2BAA2B,CAAC,OAAe;QACzC,IAAI,CAAC,yBAAyB,GAAG,OAAO,CAAC;IAC3C,CAAC;IAED,iBAAiB;QACf,IAAI,IAAI,CAAC,yBAAyB,KAAK,IAAI,EAAE;YAC3C,OAAO,IAAI,CAAC,yBAAyB,CAAC;SACvC;QACD,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YACjC,OAAO,IAAI,CAAC,eAAe,CAAC;SAC7B;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;IAED,OAAO;QACL,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE;YACjC,OAAO,IAAI,CAAC,eAAe,CAAC;SAC7B;QACD,OAAO,eAAe,CAAC;IACzB,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.js
index cceee0c..1addc68 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.js
@@ -1,15 +1,3 @@
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Tracing_client, _Tracing_recording, _Tracing_path;
 /**
  * Copyright 2017 Google Inc. All rights reserved.
  *
@@ -46,14 +34,14 @@
  * @public
  */
 export class Tracing {
+    #client;
+    #recording = false;
+    #path;
     /**
      * @internal
      */
     constructor(client) {
-        _Tracing_client.set(this, void 0);
-        _Tracing_recording.set(this, false);
-        _Tracing_path.set(this, void 0);
-        __classPrivateFieldSet(this, _Tracing_client, client, "f");
+        this.#client = client;
     }
     /**
      * Starts a trace for the current page.
@@ -63,7 +51,7 @@
      * @param options - Optional `TracingOptions`.
      */
     async start(options = {}) {
-        assert(!__classPrivateFieldGet(this, _Tracing_recording, "f"), 'Cannot start recording trace while already recording trace.');
+        assert(!this.#recording, 'Cannot start recording trace while already recording trace.');
         const defaultCategories = [
             '-*',
             'devtools.timeline',
@@ -91,9 +79,9 @@
         const includedCategories = categories.filter(cat => {
             return !cat.startsWith('-');
         });
-        __classPrivateFieldSet(this, _Tracing_path, path, "f");
-        __classPrivateFieldSet(this, _Tracing_recording, true, "f");
-        await __classPrivateFieldGet(this, _Tracing_client, "f").send('Tracing.start', {
+        this.#path = path;
+        this.#recording = true;
+        await this.#client.send('Tracing.start', {
             transferMode: 'ReturnAsStream',
             traceConfig: {
                 excludedCategories,
@@ -107,10 +95,10 @@
      */
     async stop() {
         const contentDeferred = Deferred.create();
-        __classPrivateFieldGet(this, _Tracing_client, "f").once('Tracing.tracingComplete', async (event) => {
+        this.#client.once('Tracing.tracingComplete', async (event) => {
             try {
-                const readable = await getReadableFromProtocolStream(__classPrivateFieldGet(this, _Tracing_client, "f"), event.stream);
-                const buffer = await getReadableAsBuffer(readable, __classPrivateFieldGet(this, _Tracing_path, "f"));
+                const readable = await getReadableFromProtocolStream(this.#client, event.stream);
+                const buffer = await getReadableAsBuffer(readable, this.#path);
                 contentDeferred.resolve(buffer ?? undefined);
             }
             catch (error) {
@@ -122,10 +110,9 @@
                 }
             }
         });
-        await __classPrivateFieldGet(this, _Tracing_client, "f").send('Tracing.end');
-        __classPrivateFieldSet(this, _Tracing_recording, false, "f");
+        await this.#client.send('Tracing.end');
+        this.#recording = false;
         return contentDeferred.valueOrThrow();
     }
 }
-_Tracing_client = new WeakMap(), _Tracing_recording = new WeakMap(), _Tracing_path = new WeakMap();
 //# sourceMappingURL=Tracing.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.js.map
index 07cc03a..bb6f7c7 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.js.map
@@ -1 +1 @@
-{"version":3,"file":"Tracing.js","sourceRoot":"","sources":["../../../../src/common/Tracing.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Tracing.js","sourceRoot":"","sources":["../../../../src/common/Tracing.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/WaitTask.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/WaitTask.d.ts.map
index 4f12420..77f500a 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/WaitTask.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/WaitTask.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"WaitTask.d.ts","sourceRoot":"","sources":["../../../../src/common/WaitTask.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAStC,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;IACrC,IAAI,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,QAAQ,CAAC,CAAC,GAAG,OAAO;;gBAgB7B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,eAAe,EACxB,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EACjD,GAAG,IAAI,EAAE,OAAO,EAAE;IAuCpB,IAAI,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAElC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsEtB,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B7C;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS;CAiC/C;AAED;;GAEG;AACH,qBAAa,WAAW;;IAGtB,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI;IAI9B,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI;IAIjC,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAO3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAOhC"}
\ No newline at end of file
+{"version":3,"file":"WaitTask.d.ts","sourceRoot":"","sources":["../../../../src/common/WaitTask.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAStC,OAAO,EAAC,SAAS,EAAC,MAAM,YAAY,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;IACrC,IAAI,CAAC,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;GAEG;AACH,qBAAa,QAAQ,CAAC,CAAC,GAAG,OAAO;;gBAgB7B,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,eAAe,EACxB,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,EACjD,GAAG,IAAI,EAAE,OAAO,EAAE;IAuCpB,IAAI,MAAM,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAElC;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsEtB,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B7C;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS;CAgC/C;AAED;;GAEG;AACH,qBAAa,WAAW;;IAGtB,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI;IAI9B,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI;IAIjC,YAAY,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAO3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAOhC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/WaitTask.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/WaitTask.js
index 1319a79..5ee0699 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/WaitTask.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/WaitTask.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _WaitTask_world, _WaitTask_polling, _WaitTask_root, _WaitTask_fn, _WaitTask_args, _WaitTask_timeout, _WaitTask_result, _WaitTask_poller, _WaitTask_signal, _TaskManager_tasks;
 import { Deferred } from '../util/Deferred.js';
 import { isErrorLike } from '../util/ErrorLike.js';
 import { stringifyFunction } from '../util/Function.js';
@@ -34,86 +22,86 @@
  * @internal
  */
 export class WaitTask {
+    #world;
+    #polling;
+    #root;
+    #fn;
+    #args;
+    #timeout;
+    #result = Deferred.create();
+    #poller;
+    #signal;
     constructor(world, options, fn, ...args) {
-        _WaitTask_world.set(this, void 0);
-        _WaitTask_polling.set(this, void 0);
-        _WaitTask_root.set(this, void 0);
-        _WaitTask_fn.set(this, void 0);
-        _WaitTask_args.set(this, void 0);
-        _WaitTask_timeout.set(this, void 0);
-        _WaitTask_result.set(this, Deferred.create());
-        _WaitTask_poller.set(this, void 0);
-        _WaitTask_signal.set(this, void 0);
-        __classPrivateFieldSet(this, _WaitTask_world, world, "f");
-        __classPrivateFieldSet(this, _WaitTask_polling, options.polling, "f");
-        __classPrivateFieldSet(this, _WaitTask_root, options.root, "f");
-        __classPrivateFieldSet(this, _WaitTask_signal, options.signal, "f");
-        __classPrivateFieldGet(this, _WaitTask_signal, "f")?.addEventListener('abort', () => {
-            void this.terminate(__classPrivateFieldGet(this, _WaitTask_signal, "f")?.reason);
+        this.#world = world;
+        this.#polling = options.polling;
+        this.#root = options.root;
+        this.#signal = options.signal;
+        this.#signal?.addEventListener('abort', () => {
+            void this.terminate(this.#signal?.reason);
         }, {
             once: true,
         });
         switch (typeof fn) {
             case 'string':
-                __classPrivateFieldSet(this, _WaitTask_fn, `() => {return (${fn});}`, "f");
+                this.#fn = `() => {return (${fn});}`;
                 break;
             default:
-                __classPrivateFieldSet(this, _WaitTask_fn, stringifyFunction(fn), "f");
+                this.#fn = stringifyFunction(fn);
                 break;
         }
-        __classPrivateFieldSet(this, _WaitTask_args, args, "f");
-        __classPrivateFieldGet(this, _WaitTask_world, "f").taskManager.add(this);
+        this.#args = args;
+        this.#world.taskManager.add(this);
         if (options.timeout) {
-            __classPrivateFieldSet(this, _WaitTask_timeout, setTimeout(() => {
+            this.#timeout = setTimeout(() => {
                 void this.terminate(new TimeoutError(`Waiting failed: ${options.timeout}ms exceeded`));
-            }, options.timeout), "f");
+            }, options.timeout);
         }
         void this.rerun();
     }
     get result() {
-        return __classPrivateFieldGet(this, _WaitTask_result, "f").valueOrThrow();
+        return this.#result.valueOrThrow();
     }
     async rerun() {
         try {
-            switch (__classPrivateFieldGet(this, _WaitTask_polling, "f")) {
+            switch (this.#polling) {
                 case 'raf':
-                    __classPrivateFieldSet(this, _WaitTask_poller, await __classPrivateFieldGet(this, _WaitTask_world, "f").evaluateHandle(({ RAFPoller, createFunction }, fn, ...args) => {
+                    this.#poller = await this.#world.evaluateHandle(({ RAFPoller, createFunction }, fn, ...args) => {
                         const fun = createFunction(fn);
                         return new RAFPoller(() => {
                             return fun(...args);
                         });
                     }, LazyArg.create(context => {
                         return context.puppeteerUtil;
-                    }), __classPrivateFieldGet(this, _WaitTask_fn, "f"), ...__classPrivateFieldGet(this, _WaitTask_args, "f")), "f");
+                    }), this.#fn, ...this.#args);
                     break;
                 case 'mutation':
-                    __classPrivateFieldSet(this, _WaitTask_poller, await __classPrivateFieldGet(this, _WaitTask_world, "f").evaluateHandle(({ MutationPoller, createFunction }, root, fn, ...args) => {
+                    this.#poller = await this.#world.evaluateHandle(({ MutationPoller, createFunction }, root, fn, ...args) => {
                         const fun = createFunction(fn);
                         return new MutationPoller(() => {
                             return fun(...args);
                         }, root || document);
                     }, LazyArg.create(context => {
                         return context.puppeteerUtil;
-                    }), __classPrivateFieldGet(this, _WaitTask_root, "f"), __classPrivateFieldGet(this, _WaitTask_fn, "f"), ...__classPrivateFieldGet(this, _WaitTask_args, "f")), "f");
+                    }), this.#root, this.#fn, ...this.#args);
                     break;
                 default:
-                    __classPrivateFieldSet(this, _WaitTask_poller, await __classPrivateFieldGet(this, _WaitTask_world, "f").evaluateHandle(({ IntervalPoller, createFunction }, ms, fn, ...args) => {
+                    this.#poller = await this.#world.evaluateHandle(({ IntervalPoller, createFunction }, ms, fn, ...args) => {
                         const fun = createFunction(fn);
                         return new IntervalPoller(() => {
                             return fun(...args);
                         }, ms);
                     }, LazyArg.create(context => {
                         return context.puppeteerUtil;
-                    }), __classPrivateFieldGet(this, _WaitTask_polling, "f"), __classPrivateFieldGet(this, _WaitTask_fn, "f"), ...__classPrivateFieldGet(this, _WaitTask_args, "f")), "f");
+                    }), this.#polling, this.#fn, ...this.#args);
                     break;
             }
-            await __classPrivateFieldGet(this, _WaitTask_poller, "f").evaluate(poller => {
+            await this.#poller.evaluate(poller => {
                 void poller.start();
             });
-            const result = await __classPrivateFieldGet(this, _WaitTask_poller, "f").evaluateHandle(poller => {
+            const result = await this.#poller.evaluateHandle(poller => {
                 return poller.result();
             });
-            __classPrivateFieldGet(this, _WaitTask_result, "f").resolve(result);
+            this.#result.resolve(result);
             await this.terminate();
         }
         catch (error) {
@@ -124,21 +112,21 @@
         }
     }
     async terminate(error) {
-        __classPrivateFieldGet(this, _WaitTask_world, "f").taskManager.delete(this);
-        if (__classPrivateFieldGet(this, _WaitTask_timeout, "f")) {
-            clearTimeout(__classPrivateFieldGet(this, _WaitTask_timeout, "f"));
+        this.#world.taskManager.delete(this);
+        if (this.#timeout) {
+            clearTimeout(this.#timeout);
         }
-        if (error && !__classPrivateFieldGet(this, _WaitTask_result, "f").finished()) {
-            __classPrivateFieldGet(this, _WaitTask_result, "f").reject(error);
+        if (error && !this.#result.finished()) {
+            this.#result.reject(error);
         }
-        if (__classPrivateFieldGet(this, _WaitTask_poller, "f")) {
+        if (this.#poller) {
             try {
-                await __classPrivateFieldGet(this, _WaitTask_poller, "f").evaluateHandle(async (poller) => {
+                await this.#poller.evaluateHandle(async (poller) => {
                     await poller.stop();
                 });
-                if (__classPrivateFieldGet(this, _WaitTask_poller, "f")) {
-                    await __classPrivateFieldGet(this, _WaitTask_poller, "f").dispose();
-                    __classPrivateFieldSet(this, _WaitTask_poller, undefined, "f");
+                if (this.#poller) {
+                    await this.#poller.dispose();
+                    this.#poller = undefined;
                 }
             }
             catch {
@@ -169,37 +157,32 @@
             }
             return error;
         }
-        // @ts-expect-error TODO: uncomment once cause is supported in Node types.
         return new Error('WaitTask failed with an error', {
             cause: error,
         });
     }
 }
-_WaitTask_world = new WeakMap(), _WaitTask_polling = new WeakMap(), _WaitTask_root = new WeakMap(), _WaitTask_fn = new WeakMap(), _WaitTask_args = new WeakMap(), _WaitTask_timeout = new WeakMap(), _WaitTask_result = new WeakMap(), _WaitTask_poller = new WeakMap(), _WaitTask_signal = new WeakMap();
 /**
  * @internal
  */
 export class TaskManager {
-    constructor() {
-        _TaskManager_tasks.set(this, new Set());
-    }
+    #tasks = new Set();
     add(task) {
-        __classPrivateFieldGet(this, _TaskManager_tasks, "f").add(task);
+        this.#tasks.add(task);
     }
     delete(task) {
-        __classPrivateFieldGet(this, _TaskManager_tasks, "f").delete(task);
+        this.#tasks.delete(task);
     }
     terminateAll(error) {
-        for (const task of __classPrivateFieldGet(this, _TaskManager_tasks, "f")) {
+        for (const task of this.#tasks) {
             void task.terminate(error);
         }
-        __classPrivateFieldGet(this, _TaskManager_tasks, "f").clear();
+        this.#tasks.clear();
     }
     async rerunAll() {
-        await Promise.all([...__classPrivateFieldGet(this, _TaskManager_tasks, "f")].map(task => {
+        await Promise.all([...this.#tasks].map(task => {
             return task.rerun();
         }));
     }
 }
-_TaskManager_tasks = new WeakMap();
 //# sourceMappingURL=WaitTask.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/WaitTask.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/WaitTask.js.map
index cbe79d0..c3f7cd1 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/WaitTask.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/WaitTask.js.map
@@ -1 +1 @@
-{"version":3,"file":"WaitTask.js","sourceRoot":"","sources":["../../../../src/common/WaitTask.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"WaitTask.js","sourceRoot":"","sources":["../../../../src/common/WaitTask.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/WebWorker.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/WebWorker.js
index d090517..c77b670 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/WebWorker.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/WebWorker.js
@@ -1,15 +1,3 @@
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _WebWorker_executionContext, _WebWorker_client, _WebWorker_url;
 import { Deferred } from '../util/Deferred.js';
 import { EventEmitter } from './EventEmitter.js';
 import { ExecutionContext } from './ExecutionContext.js';
@@ -42,23 +30,23 @@
  * @public
  */
 export class WebWorker extends EventEmitter {
+    #executionContext = Deferred.create();
+    #client;
+    #url;
     /**
      * @internal
      */
     constructor(client, url, consoleAPICalled, exceptionThrown) {
         super();
-        _WebWorker_executionContext.set(this, Deferred.create());
-        _WebWorker_client.set(this, void 0);
-        _WebWorker_url.set(this, void 0);
-        __classPrivateFieldSet(this, _WebWorker_client, client, "f");
-        __classPrivateFieldSet(this, _WebWorker_url, url, "f");
-        __classPrivateFieldGet(this, _WebWorker_client, "f").once('Runtime.executionContextCreated', async (event) => {
+        this.#client = client;
+        this.#url = url;
+        this.#client.once('Runtime.executionContextCreated', async (event) => {
             const context = new ExecutionContext(client, event.context);
-            __classPrivateFieldGet(this, _WebWorker_executionContext, "f").resolve(context);
+            this.#executionContext.resolve(context);
         });
-        __classPrivateFieldGet(this, _WebWorker_client, "f").on('Runtime.consoleAPICalled', async (event) => {
+        this.#client.on('Runtime.consoleAPICalled', async (event) => {
             try {
-                const context = await __classPrivateFieldGet(this, _WebWorker_executionContext, "f").valueOrThrow();
+                const context = await this.#executionContext.valueOrThrow();
                 return consoleAPICalled(event.type, event.args.map((object) => {
                     return new CDPJSHandle(context, object);
                 }), event.stackTrace);
@@ -67,29 +55,29 @@
                 debugError(err);
             }
         });
-        __classPrivateFieldGet(this, _WebWorker_client, "f").on('Runtime.exceptionThrown', exception => {
+        this.#client.on('Runtime.exceptionThrown', exception => {
             return exceptionThrown(exception.exceptionDetails);
         });
         // This might fail if the target is closed before we receive all execution contexts.
-        __classPrivateFieldGet(this, _WebWorker_client, "f").send('Runtime.enable').catch(debugError);
+        this.#client.send('Runtime.enable').catch(debugError);
     }
     /**
      * @internal
      */
     async executionContext() {
-        return __classPrivateFieldGet(this, _WebWorker_executionContext, "f").valueOrThrow();
+        return this.#executionContext.valueOrThrow();
     }
     /**
      * The URL of this web worker.
      */
     url() {
-        return __classPrivateFieldGet(this, _WebWorker_url, "f");
+        return this.#url;
     }
     /**
      * The CDP session client the WebWorker belongs to.
      */
     get client() {
-        return __classPrivateFieldGet(this, _WebWorker_client, "f");
+        return this.#client;
     }
     /**
      * If the function passed to the `worker.evaluate` returns a Promise, then
@@ -107,7 +95,7 @@
      */
     async evaluate(pageFunction, ...args) {
         pageFunction = withSourcePuppeteerURLIfNone(this.evaluate.name, pageFunction);
-        const context = await __classPrivateFieldGet(this, _WebWorker_executionContext, "f").valueOrThrow();
+        const context = await this.#executionContext.valueOrThrow();
         return context.evaluate(pageFunction, ...args);
     }
     /**
@@ -124,9 +112,8 @@
      */
     async evaluateHandle(pageFunction, ...args) {
         pageFunction = withSourcePuppeteerURLIfNone(this.evaluateHandle.name, pageFunction);
-        const context = await __classPrivateFieldGet(this, _WebWorker_executionContext, "f").valueOrThrow();
+        const context = await this.#executionContext.valueOrThrow();
         return context.evaluateHandle(pageFunction, ...args);
     }
 }
-_WebWorker_executionContext = new WeakMap(), _WebWorker_client = new WeakMap(), _WebWorker_url = new WeakMap();
 //# sourceMappingURL=WebWorker.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/WebWorker.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/WebWorker.js.map
index 141f32e..578a88e 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/WebWorker.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/WebWorker.js.map
@@ -1 +1 @@
-{"version":3,"file":"WebWorker.js","sourceRoot":"","sources":["../../../../src/common/WebWorker.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"WebWorker.js","sourceRoot":"","sources":["../../../../src/common/WebWorker.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/XPathQueryHandler.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/XPathQueryHandler.js
index 72a517c..d392470 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/XPathQueryHandler.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/XPathQueryHandler.js
@@ -18,8 +18,8 @@
  * @internal
  */
 export class XPathQueryHandler extends QueryHandler {
+    static querySelectorAll = (element, selector, { xpathQuerySelectorAll }) => {
+        return xpathQuerySelectorAll(element, selector);
+    };
 }
-XPathQueryHandler.querySelectorAll = (element, selector, { xpathQuerySelectorAll }) => {
-    return xpathQuerySelectorAll(element, selector);
-};
 //# sourceMappingURL=XPathQueryHandler.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/XPathQueryHandler.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/XPathQueryHandler.js.map
index 5aed681..d5e07a3 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/XPathQueryHandler.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/XPathQueryHandler.js.map
@@ -1 +1 @@
-{"version":3,"file":"XPathQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/XPathQueryHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,YAAY,EAAmB,MAAM,mBAAmB,CAAC;AAEjE;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,YAAY;;AACjC,kCAAgB,GAAqB,CACnD,OAAO,EACP,QAAQ,EACR,EAAC,qBAAqB,EAAC,EACvB,EAAE;IACF,OAAO,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAClD,CAAC,CAAC"}
\ No newline at end of file
+{"version":3,"file":"XPathQueryHandler.js","sourceRoot":"","sources":["../../../../src/common/XPathQueryHandler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,YAAY,EAAmB,MAAM,mBAAmB,CAAC;AAEjE;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACjD,MAAM,CAAU,gBAAgB,GAAqB,CACnD,OAAO,EACP,QAAQ,EACR,EAAC,qBAAqB,EAAC,EACvB,EAAE;QACF,OAAO,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BidiOverCDP.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BidiOverCDP.js
index 0ec558d..25e2dfe 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BidiOverCDP.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BidiOverCDP.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _CDPConnectionAdapter_cdp, _CDPConnectionAdapter_adapters, _CDPConnectionAdapter_browser, _CDPClientAdapter_closed, _CDPClientAdapter_client, _CDPClientAdapter_forwardMessage, _NoOpTransport_onMessage;
 import * as BidiMapper from 'chromium-bidi/lib/cjs/bidiMapper/bidiMapper.js';
 import { TargetCloseError } from '../Errors.js';
 import { Connection as BidiPPtrConnection } from './Connection.js';
@@ -60,36 +48,35 @@
  * @internal
  */
 class CDPConnectionAdapter {
+    #cdp;
+    #adapters = new Map();
+    #browser;
     constructor(cdp) {
-        _CDPConnectionAdapter_cdp.set(this, void 0);
-        _CDPConnectionAdapter_adapters.set(this, new Map());
-        _CDPConnectionAdapter_browser.set(this, void 0);
-        __classPrivateFieldSet(this, _CDPConnectionAdapter_cdp, cdp, "f");
-        __classPrivateFieldSet(this, _CDPConnectionAdapter_browser, new CDPClientAdapter(cdp), "f");
+        this.#cdp = cdp;
+        this.#browser = new CDPClientAdapter(cdp);
     }
     browserClient() {
-        return __classPrivateFieldGet(this, _CDPConnectionAdapter_browser, "f");
+        return this.#browser;
     }
     getCdpClient(id) {
-        const session = __classPrivateFieldGet(this, _CDPConnectionAdapter_cdp, "f").session(id);
+        const session = this.#cdp.session(id);
         if (!session) {
             throw new Error('Unknown CDP session with id' + id);
         }
-        if (!__classPrivateFieldGet(this, _CDPConnectionAdapter_adapters, "f").has(session)) {
-            const adapter = new CDPClientAdapter(session);
-            __classPrivateFieldGet(this, _CDPConnectionAdapter_adapters, "f").set(session, adapter);
+        if (!this.#adapters.has(session)) {
+            const adapter = new CDPClientAdapter(session, id, this.#browser);
+            this.#adapters.set(session, adapter);
             return adapter;
         }
-        return __classPrivateFieldGet(this, _CDPConnectionAdapter_adapters, "f").get(session);
+        return this.#adapters.get(session);
     }
     close() {
-        __classPrivateFieldGet(this, _CDPConnectionAdapter_browser, "f").close();
-        for (const adapter of __classPrivateFieldGet(this, _CDPConnectionAdapter_adapters, "f").values()) {
+        this.#browser.close();
+        for (const adapter of this.#adapters.values()) {
             adapter.close();
         }
     }
 }
-_CDPConnectionAdapter_cdp = new WeakMap(), _CDPConnectionAdapter_adapters = new WeakMap(), _CDPConnectionAdapter_browser = new WeakMap();
 /**
  * Wrapper on top of CDPSession/CDPConnection to satisfy CDP interface that
  * BidiServer needs.
@@ -97,65 +84,67 @@
  * @internal
  */
 class CDPClientAdapter extends BidiMapper.EventEmitter {
-    constructor(client) {
+    #closed = false;
+    #client;
+    sessionId = undefined;
+    #browserClient;
+    constructor(client, sessionId, browserClient) {
         super();
-        _CDPClientAdapter_closed.set(this, false);
-        _CDPClientAdapter_client.set(this, void 0);
-        _CDPClientAdapter_forwardMessage.set(this, (method, event) => {
-            this.emit(method, event);
-        });
-        __classPrivateFieldSet(this, _CDPClientAdapter_client, client, "f");
-        __classPrivateFieldGet(this, _CDPClientAdapter_client, "f").on('*', __classPrivateFieldGet(this, _CDPClientAdapter_forwardMessage, "f"));
+        this.#client = client;
+        this.sessionId = sessionId;
+        this.#browserClient = browserClient;
+        this.#client.on('*', this.#forwardMessage);
     }
+    browserClient() {
+        return this.#browserClient;
+    }
+    #forwardMessage = (method, event) => {
+        this.emit(method, event);
+    };
     async sendCommand(method, ...params) {
-        if (__classPrivateFieldGet(this, _CDPClientAdapter_closed, "f")) {
+        if (this.#closed) {
             return;
         }
         try {
-            return await __classPrivateFieldGet(this, _CDPClientAdapter_client, "f").send(method, ...params);
+            return await this.#client.send(method, ...params);
         }
         catch (err) {
-            if (__classPrivateFieldGet(this, _CDPClientAdapter_closed, "f")) {
+            if (this.#closed) {
                 return;
             }
             throw err;
         }
     }
     close() {
-        __classPrivateFieldGet(this, _CDPClientAdapter_client, "f").off('*', __classPrivateFieldGet(this, _CDPClientAdapter_forwardMessage, "f"));
-        __classPrivateFieldSet(this, _CDPClientAdapter_closed, true, "f");
+        this.#client.off('*', this.#forwardMessage);
+        this.#closed = true;
     }
     isCloseError(error) {
         return error instanceof TargetCloseError;
     }
 }
-_CDPClientAdapter_closed = new WeakMap(), _CDPClientAdapter_client = new WeakMap(), _CDPClientAdapter_forwardMessage = new WeakMap();
 /**
  * This transport is given to the BiDi server instance and allows Puppeteer
  * to send and receive commands to the BiDiServer.
  * @internal
  */
 class NoOpTransport extends BidiMapper.EventEmitter {
-    constructor() {
-        super(...arguments);
-        _NoOpTransport_onMessage.set(this, async (_m) => {
-            return;
-        });
-    }
+    #onMessage = async (_m) => {
+        return;
+    };
     emitMessage(message) {
-        void __classPrivateFieldGet(this, _NoOpTransport_onMessage, "f").call(this, message);
+        void this.#onMessage(message);
     }
     setOnMessage(onMessage) {
-        __classPrivateFieldSet(this, _NoOpTransport_onMessage, onMessage, "f");
+        this.#onMessage = onMessage;
     }
     async sendMessage(message) {
         this.emit('bidiResponse', message);
     }
     close() {
-        __classPrivateFieldSet(this, _NoOpTransport_onMessage, async (_m) => {
+        this.#onMessage = async (_m) => {
             return;
-        }, "f");
+        };
     }
 }
-_NoOpTransport_onMessage = new WeakMap();
 //# sourceMappingURL=BidiOverCDP.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BidiOverCDP.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BidiOverCDP.js.map
index 0e92dfe..3acbd19 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BidiOverCDP.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BidiOverCDP.js.map
@@ -1 +1 @@
-{"version":3,"file":"BidiOverCDP.js","sourceRoot":"","sources":["../../../../../src/common/bidi/BidiOverCDP.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"BidiOverCDP.js","sourceRoot":"","sources":["../../../../../src/common/bidi/BidiOverCDP.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Browser.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Browser.d.ts
index 089a215..060082f 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Browser.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Browser.d.ts
@@ -19,15 +19,17 @@
 import { Browser as BrowserBase, BrowserCloseCallback, BrowserContextOptions } from '../../api/Browser.js';
 import { BrowserContext as BrowserContextBase } from '../../api/BrowserContext.js';
 import { Page } from '../../api/Page.js';
+import { Target } from '../../api/Target.js';
 import { Viewport } from '../PuppeteerViewport.js';
 import { BrowserContext } from './BrowserContext.js';
 import { Connection } from './Connection.js';
+import { BiDiTarget } from './Target.js';
 /**
  * @internal
  */
 export declare class Browser extends BrowserBase {
     #private;
-    static readonly subscribeModules: Bidi.Session.SubscriptionRequestEvent[];
+    static readonly subscribeModules: string[];
     static readonly subscribeCdpEvents: Bidi.Cdp.EventNames[];
     static create(opts: Options): Promise<Browser>;
     constructor(opts: Options & {
@@ -46,11 +48,15 @@
      * return a single instance of {@link BrowserContext}.
      */
     browserContexts(): BrowserContext[];
+    _closeContext(browserContext: BrowserContext): Promise<void>;
     /**
      * Returns the default browser context. The default browser context cannot be closed.
      */
     defaultBrowserContext(): BrowserContext;
     newPage(): Promise<Page>;
+    targets(): Target[];
+    _getTargetById(id: string): BiDiTarget;
+    target(): Target;
 }
 interface Options {
     process?: ChildProcess;
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Browser.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Browser.d.ts.map
index 5993379..bf10771 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Browser.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Browser.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Browser.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EACL,OAAO,IAAI,WAAW,EACtB,oBAAoB,EACpB,qBAAqB,EAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,cAAc,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAG3C;;GAEG;AACH,qBAAa,OAAQ,SAAQ,WAAW;;IACtC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAIvE;IACF,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAOvD;WAKW,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBAwClD,IAAI,EAAE,OAAO,GAAG;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB;IAoBH,IAAI,UAAU,IAAI,UAAU,CAE3B;IAEQ,UAAU,IAAI,MAAM;IAId,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAU5B,WAAW,IAAI,OAAO;IAItB,OAAO,IAAI,YAAY,GAAG,IAAI;IAIxB,6BAA6B,CAC1C,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,OAAO,CAAC,kBAAkB,CAAC;IAQf,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAIzC;;;OAGG;IACM,eAAe,IAAI,cAAc,EAAE;IAK5C;;OAEG;IACM,qBAAqB,IAAI,cAAc;IAIvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAGlC;AAED,UAAU,OAAO;IACf,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
\ No newline at end of file
+{"version":3,"file":"Browser.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAEH,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAE3C,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EACL,OAAO,IAAI,WAAW,EACtB,oBAAoB,EAEpB,qBAAqB,EAEtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,cAAc,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAC,IAAI,EAAC,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAE3C,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAKnD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAIL,UAAU,EACX,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,qBAAa,OAAQ,SAAQ,WAAW;;IAEtC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAIxC;IACF,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAUvD;WAEW,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBA4DlD,IAAI,EAAE,OAAO,GAAG;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB;IAkGH,IAAI,UAAU,IAAI,UAAU,CAE3B;IAEQ,UAAU,IAAI,MAAM;IAId,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B,WAAW,IAAI,OAAO;IAItB,OAAO,IAAI,YAAY,GAAG,IAAI;IAIxB,6BAA6B,CAC1C,QAAQ,CAAC,EAAE,qBAAqB,GAC/B,OAAO,CAAC,kBAAkB,CAAC;IAUf,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAIzC;;;OAGG;IACM,eAAe,IAAI,cAAc,EAAE;IAKtC,aAAa,CAAC,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlE;;OAEG;IACM,qBAAqB,IAAI,cAAc;IAIvC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,OAAO,IAAI,MAAM,EAAE;IAI5B,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU;IAQ7B,MAAM,IAAI,MAAM;CAG1B;AAED,UAAU,OAAO;IACf,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Browser.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Browser.js
index 2c408f2..dd19f10 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Browser.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Browser.js
@@ -13,25 +13,32 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Browser_browserName, _Browser_browserVersion, _Browser_process, _Browser_closeCallback, _Browser_connection, _Browser_defaultViewport, _Browser_defaultContext;
 import { Browser as BrowserBase, } from '../../api/Browser.js';
 import { BrowserContext } from './BrowserContext.js';
+import { BrowsingContext, BrowsingContextEmittedEvents, } from './BrowsingContext.js';
+import { BiDiBrowserTarget, BiDiBrowsingContextTarget, BiDiPageTarget, } from './Target.js';
 import { debugError } from './utils.js';
 /**
  * @internal
  */
 export class Browser extends BrowserBase {
+    // TODO: Update generator to include fully module
+    static subscribeModules = [
+        'browsingContext',
+        'network',
+        'log',
+    ];
+    static subscribeCdpEvents = [
+        // Coverage
+        'cdp.Debugger.scriptParsed',
+        'cdp.CSS.styleSheetAdded',
+        'cdp.Runtime.executionContextsCleared',
+        // Tracing
+        'cdp.Tracing.tracingComplete',
+        // TODO: subscribe to all CDP events in the future.
+        'cdp.Network.requestWillBeSent',
+        'cdp.Debugger.scriptParsed',
+    ];
     static async create(opts) {
         let browserName = '';
         let browserVersion = '';
@@ -56,66 +63,151 @@
                 ? Browser.subscribeModules
                 : [...Browser.subscribeModules, ...Browser.subscribeCdpEvents],
         });
-        return new Browser({
+        const browser = new Browser({
             ...opts,
             browserName,
             browserVersion,
         });
+        await browser.#getTree();
+        return browser;
     }
+    #browserName = '';
+    #browserVersion = '';
+    #process;
+    #closeCallback;
+    #connection;
+    #defaultViewport;
+    #defaultContext;
+    #targets = new Map();
+    #contexts = [];
+    #browserTarget;
+    #connectionEventHandlers = new Map([
+        ['browsingContext.contextCreated', this.#onContextCreated.bind(this)],
+        ['browsingContext.contextDestroyed', this.#onContextDestroyed.bind(this)],
+        ['browsingContext.domContentLoaded', this.#onContextDomLoaded.bind(this)],
+        ['browsingContext.fragmentNavigated', this.#onContextNavigation.bind(this)],
+        ['browsingContext.navigationStarted', this.#onContextNavigation.bind(this)],
+    ]);
     constructor(opts) {
         super();
-        _Browser_browserName.set(this, '');
-        _Browser_browserVersion.set(this, '');
-        _Browser_process.set(this, void 0);
-        _Browser_closeCallback.set(this, void 0);
-        _Browser_connection.set(this, void 0);
-        _Browser_defaultViewport.set(this, void 0);
-        _Browser_defaultContext.set(this, void 0);
-        __classPrivateFieldSet(this, _Browser_process, opts.process, "f");
-        __classPrivateFieldSet(this, _Browser_closeCallback, opts.closeCallback, "f");
-        __classPrivateFieldSet(this, _Browser_connection, opts.connection, "f");
-        __classPrivateFieldSet(this, _Browser_defaultViewport, opts.defaultViewport, "f");
-        __classPrivateFieldSet(this, _Browser_browserName, opts.browserName, "f");
-        __classPrivateFieldSet(this, _Browser_browserVersion, opts.browserVersion, "f");
-        __classPrivateFieldGet(this, _Browser_process, "f")?.once('close', () => {
-            __classPrivateFieldGet(this, _Browser_connection, "f").dispose();
+        this.#process = opts.process;
+        this.#closeCallback = opts.closeCallback;
+        this.#connection = opts.connection;
+        this.#defaultViewport = opts.defaultViewport;
+        this.#browserName = opts.browserName;
+        this.#browserVersion = opts.browserVersion;
+        this.#process?.once('close', () => {
+            this.#connection.dispose();
             this.emit("disconnected" /* BrowserEmittedEvents.Disconnected */);
         });
-        __classPrivateFieldSet(this, _Browser_defaultContext, new BrowserContext(this, {
-            defaultViewport: __classPrivateFieldGet(this, _Browser_defaultViewport, "f"),
+        this.#defaultContext = new BrowserContext(this, {
+            defaultViewport: this.#defaultViewport,
             isDefault: true,
-        }), "f");
+        });
+        this.#browserTarget = new BiDiBrowserTarget(this.#defaultContext);
+        this.#contexts.push(this.#defaultContext);
+        for (const [eventName, handler] of this.#connectionEventHandlers) {
+            this.#connection.on(eventName, handler);
+        }
+    }
+    #onContextDomLoaded(event) {
+        const context = this.#connection.getBrowsingContext(event.context);
+        context.url = event.url;
+        const target = this.#targets.get(event.context);
+        if (target) {
+            this.emit("targetchanged" /* BrowserEmittedEvents.TargetChanged */, target);
+        }
+    }
+    #onContextNavigation(event) {
+        const context = this.#connection.getBrowsingContext(event.context);
+        context.url = event.url;
+        const target = this.#targets.get(event.context);
+        if (target) {
+            this.emit("targetchanged" /* BrowserEmittedEvents.TargetChanged */, target);
+            target
+                .browserContext()
+                .emit("targetchanged" /* BrowserContextEmittedEvents.TargetChanged */, target);
+        }
+    }
+    #onContextCreated(event) {
+        const context = new BrowsingContext(this.#connection, event);
+        this.#connection.registerBrowsingContexts(context);
+        // TODO: once more browsing context types are supported, this should be
+        // updated to support those. Currently, all top-level contexts are treated
+        // as pages.
+        const browserContext = this.browserContexts().at(-1);
+        if (!browserContext) {
+            throw new Error('Missing browser contexts');
+        }
+        const target = !context.parent
+            ? new BiDiPageTarget(browserContext, context)
+            : new BiDiBrowsingContextTarget(browserContext, context);
+        this.#targets.set(event.context, target);
+        this.emit("targetcreated" /* BrowserEmittedEvents.TargetCreated */, target);
+        target
+            .browserContext()
+            .emit("targetcreated" /* BrowserContextEmittedEvents.TargetCreated */, target);
+        if (context.parent) {
+            const topLevel = this.#connection.getTopLevelContext(context.parent);
+            topLevel.emit(BrowsingContextEmittedEvents.Created, context);
+        }
+    }
+    async #getTree() {
+        const { result } = await this.#connection.send('browsingContext.getTree', {});
+        for (const context of result.contexts) {
+            this.#onContextCreated(context);
+        }
+    }
+    async #onContextDestroyed(event) {
+        const context = this.#connection.getBrowsingContext(event.context);
+        const topLevelContext = this.#connection.getTopLevelContext(event.context);
+        topLevelContext.emit(BrowsingContextEmittedEvents.Destroyed, context);
+        const target = this.#targets.get(event.context);
+        const page = await target?.page();
+        await page?.close().catch(debugError);
+        this.#targets.delete(event.context);
+        if (target) {
+            this.emit("targetdestroyed" /* BrowserEmittedEvents.TargetDestroyed */, target);
+            target
+                .browserContext()
+                .emit("targetdestroyed" /* BrowserContextEmittedEvents.TargetDestroyed */, target);
+        }
     }
     get connection() {
-        return __classPrivateFieldGet(this, _Browser_connection, "f");
+        return this.#connection;
     }
     wsEndpoint() {
-        return __classPrivateFieldGet(this, _Browser_connection, "f").url;
+        return this.#connection.url;
     }
     async close() {
-        if (__classPrivateFieldGet(this, _Browser_connection, "f").closed) {
+        for (const [eventName, handler] of this.#connectionEventHandlers) {
+            this.#connection.off(eventName, handler);
+        }
+        if (this.#connection.closed) {
             return;
         }
         // TODO: implement browser.close.
         // await this.#connection.send('browser.close', {});
-        __classPrivateFieldGet(this, _Browser_connection, "f").dispose();
-        await __classPrivateFieldGet(this, _Browser_closeCallback, "f")?.call(null);
+        this.#connection.dispose();
+        await this.#closeCallback?.call(null);
     }
     isConnected() {
-        return !__classPrivateFieldGet(this, _Browser_connection, "f").closed;
+        return !this.#connection.closed;
     }
     process() {
-        return __classPrivateFieldGet(this, _Browser_process, "f") ?? null;
+        return this.#process ?? null;
     }
     async createIncognitoBrowserContext(_options) {
         // TODO: implement incognito context https://github.com/w3c/webdriver-bidi/issues/289.
-        return new BrowserContext(this, {
-            defaultViewport: __classPrivateFieldGet(this, _Browser_defaultViewport, "f"),
+        const context = new BrowserContext(this, {
+            defaultViewport: this.#defaultViewport,
             isDefault: false,
         });
+        this.#contexts.push(context);
+        return context;
     }
     async version() {
-        return `${__classPrivateFieldGet(this, _Browser_browserName, "f")}/${__classPrivateFieldGet(this, _Browser_browserVersion, "f")}`;
+        return `${this.#browserName}/${this.#browserVersion}`;
     }
     /**
      * Returns an array of all open browser contexts. In a newly created browser, this will
@@ -123,30 +215,40 @@
      */
     browserContexts() {
         // TODO: implement incognito context https://github.com/w3c/webdriver-bidi/issues/289.
-        return [__classPrivateFieldGet(this, _Browser_defaultContext, "f")];
+        return this.#contexts;
+    }
+    async _closeContext(browserContext) {
+        this.#contexts = this.#contexts.filter(c => {
+            return c !== browserContext;
+        });
+        for (const target of browserContext.targets()) {
+            const page = await target?.page();
+            await page?.close().catch(error => {
+                debugError(error);
+            });
+        }
     }
     /**
      * Returns the default browser context. The default browser context cannot be closed.
      */
     defaultBrowserContext() {
-        return __classPrivateFieldGet(this, _Browser_defaultContext, "f");
+        return this.#defaultContext;
     }
     newPage() {
-        return __classPrivateFieldGet(this, _Browser_defaultContext, "f").newPage();
+        return this.#defaultContext.newPage();
+    }
+    targets() {
+        return [this.#browserTarget, ...Array.from(this.#targets.values())];
+    }
+    _getTargetById(id) {
+        const target = this.#targets.get(id);
+        if (!target) {
+            throw new Error('Target not found');
+        }
+        return target;
+    }
+    target() {
+        return this.#browserTarget;
     }
 }
-_Browser_browserName = new WeakMap(), _Browser_browserVersion = new WeakMap(), _Browser_process = new WeakMap(), _Browser_closeCallback = new WeakMap(), _Browser_connection = new WeakMap(), _Browser_defaultViewport = new WeakMap(), _Browser_defaultContext = new WeakMap();
-Browser.subscribeModules = [
-    'browsingContext',
-    'network',
-    'log',
-];
-Browser.subscribeCdpEvents = [
-    // Coverage
-    'cdp.Debugger.scriptParsed',
-    'cdp.CSS.styleSheetAdded',
-    'cdp.Runtime.executionContextsCleared',
-    // Tracing
-    'cdp.Tracing.tracingComplete',
-];
 //# sourceMappingURL=Browser.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Browser.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Browser.js.map
index af444e5..5092bbf 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Browser.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Browser.js.map
@@ -1 +1 @@
-{"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Browser.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Browser.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,EACL,OAAO,IAAI,WAAW,GAKvB,MAAM,sBAAsB,CAAC;AAO9B,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,eAAe,EACf,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,iBAAiB,EACjB,yBAAyB,EACzB,cAAc,GAEf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AAEtC;;GAEG;AACH,MAAM,OAAO,OAAQ,SAAQ,WAAW;IACtC,iDAAiD;IACjD,MAAM,CAAU,gBAAgB,GAAa;QAC3C,iBAAiB;QACjB,SAAS;QACT,KAAK;KACN,CAAC;IACF,MAAM,CAAU,kBAAkB,GAA0B;QAC1D,WAAW;QACX,2BAA2B;QAC3B,yBAAyB;QACzB,sCAAsC;QACtC,UAAU;QACV,6BAA6B;QAC7B,mDAAmD;QACnD,+BAA+B;QAC/B,2BAA2B;KAC5B,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAa;QAC/B,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,cAAc,GAAG,EAAE,CAAC;QAExB,mDAAmD;QACnD,IAAI;YACF,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE;gBACzD,YAAY,EAAE;oBACZ,WAAW,EAAE;wBACX,mBAAmB,EAAE,IAAI,CAAC,iBAAiB;qBAC5C;iBACF;aACF,CAAC,CAAC;YACH,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,WAAW,IAAI,EAAE,CAAC;YACpD,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,cAAc,IAAI,EAAE,CAAC;SAC3D;QAAC,OAAO,GAAG,EAAE;YACZ,uCAAuC;YACvC,UAAU,CAAC,GAAG,CAAC,CAAC;SACjB;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC9C,MAAM,EAAE,WAAW,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC;gBACzD,CAAC,CAAC,OAAO,CAAC,gBAAgB;gBAC1B,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,gBAAgB,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;SACjE,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,GAAG,IAAI;YACP,WAAW;YACX,cAAc;SACf,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QAEzB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,YAAY,GAAG,EAAE,CAAC;IAClB,eAAe,GAAG,EAAE,CAAC;IACrB,QAAQ,CAAgB;IACxB,cAAc,CAAwB;IACtC,WAAW,CAAa;IACxB,gBAAgB,CAAkB;IAClC,eAAe,CAAiB;IAChC,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;IACzC,SAAS,GAAqB,EAAE,CAAC;IACjC,cAAc,CAAoB;IAElC,wBAAwB,GAAG,IAAI,GAAG,CAGhC;QACA,CAAC,gCAAgC,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC,kCAAkC,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,CAAC,kCAAkC,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,CAAC,mCAAmC,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3E,CAAC,mCAAmC,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC5E,CAAC,CAAC;IAEH,YACE,IAGC;QAED,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC;QAE3C,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YAChC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,wDAAmC,CAAC;QAC/C,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE;YAC9C,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE1C,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAChE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SACzC;IACH,CAAC;IAED,mBAAmB,CAAC,KAAgC;QAClD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,IAAI,2DAAqC,MAAM,CAAC,CAAC;SACvD;IACH,CAAC;IAED,oBAAoB,CAAC,KAA0C;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,IAAI,2DAAqC,MAAM,CAAC,CAAC;YACtD,MAAM;iBACH,cAAc,EAAE;iBAChB,IAAI,kEAA4C,MAAM,CAAC,CAAC;SAC5D;IACH,CAAC;IAED,iBAAiB,CAAC,KAAoD;QACpE,MAAM,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QACnD,uEAAuE;QACvE,0EAA0E;QAC1E,YAAY;QACZ,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC7C;QACD,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,MAAM;YAC5B,CAAC,CAAC,IAAI,cAAc,CAAC,cAAc,EAAE,OAAO,CAAC;YAC7C,CAAC,CAAC,IAAI,yBAAyB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAEzC,IAAI,CAAC,IAAI,2DAAqC,MAAM,CAAC,CAAC;QACtD,MAAM;aACH,cAAc,EAAE;aAChB,IAAI,kEAA4C,MAAM,CAAC,CAAC;QAE3D,IAAI,OAAO,CAAC,MAAM,EAAE;YAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACrE,QAAQ,CAAC,IAAI,CAAC,4BAA4B,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SAC9D;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;QAC5E,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE;YACrC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACjC;IACH,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,KAAsD;QAEtD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3E,eAAe,CAAC,IAAI,CAAC,4BAA4B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,MAAM,EAAE,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,IAAI,+DAAuC,MAAM,CAAC,CAAC;YACxD,MAAM;iBACH,cAAc,EAAE;iBAChB,IAAI,sEAA8C,MAAM,CAAC,CAAC;SAC9D;IACH,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEQ,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;IAC9B,CAAC;IAEQ,KAAK,CAAC,KAAK;QAClB,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,wBAAwB,EAAE;YAChE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SAC1C;QACD,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YAC3B,OAAO;SACR;QACD,iCAAiC;QACjC,oDAAoD;QACpD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAEQ,WAAW;QAClB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IAClC,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;IAC/B,CAAC;IAEQ,KAAK,CAAC,6BAA6B,CAC1C,QAAgC;QAEhC,sFAAsF;QACtF,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,EAAE;YACvC,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,OAAO,CAAC;IACjB,CAAC;IAEQ,KAAK,CAAC,OAAO;QACpB,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;IACxD,CAAC;IAED;;;OAGG;IACM,eAAe;QACtB,sFAAsF;QACtF,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,cAA8B;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACzC,OAAO,CAAC,KAAK,cAAc,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,MAAM,IAAI,cAAc,CAAC,OAAO,EAAE,EAAE;YAC7C,MAAM,IAAI,GAAG,MAAM,MAAM,EAAE,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAChC,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;OAEG;IACM,qBAAqB;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;IAEQ,OAAO;QACd,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,cAAc,CAAC,EAAU;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowserContext.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowserContext.d.ts
index c012c7a..f9a54d3 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowserContext.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowserContext.d.ts
@@ -15,6 +15,7 @@
  */
 import { BrowserContext as BrowserContextBase } from '../../api/BrowserContext.js';
 import { Page as PageBase } from '../../api/Page.js';
+import { Target } from '../../api/Target.js';
 import { Viewport } from '../PuppeteerViewport.js';
 import { Browser } from './Browser.js';
 import { Connection } from './Connection.js';
@@ -28,11 +29,16 @@
 export declare class BrowserContext extends BrowserContextBase {
     #private;
     constructor(browser: Browser, options: BrowserContextOptions);
+    targets(): Target[];
+    waitForTarget(predicate: (x: Target) => boolean | Promise<boolean>, options?: {
+        timeout?: number;
+    }): Promise<Target>;
     get connection(): Connection;
     newPage(): Promise<PageBase>;
     close(): Promise<void>;
     browser(): Browser;
     pages(): Promise<PageBase[]>;
+    isIncognito(): boolean;
 }
 export {};
 //# sourceMappingURL=BrowserContext.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowserContext.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowserContext.d.ts.map
index 60a416d..17a527e 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowserContext.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowserContext.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"BrowserContext.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/BrowserContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,cAAc,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAC,IAAI,IAAI,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAEnD,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAI3C,UAAU,qBAAqB;IAC7B,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;;gBASxC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IAa5D,IAAI,UAAU,IAAI,UAAU,CAE3B;IAgCc,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;IAuB5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5B,OAAO,IAAI,OAAO;IAIZ,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;CAI5C"}
\ No newline at end of file
+{"version":3,"file":"BrowserContext.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/BrowserContext.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,cAAc,IAAI,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AACjF,OAAO,EAAC,IAAI,IAAI,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,MAAM,EAAC,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAEjD,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAG3C,UAAU,qBAAqB;IAC7B,eAAe,EAAE,QAAQ,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,kBAAkB;;gBAMxC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB;IAQnD,OAAO,IAAI,MAAM,EAAE;IAMnB,aAAa,CACpB,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,EACpD,OAAO,GAAE;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAM,GAC/B,OAAO,CAAC,MAAM,CAAC;IAMlB,IAAI,UAAU,IAAI,UAAU,CAE3B;IAEc,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC;IA4B5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,OAAO,IAAI,OAAO;IAIZ,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAWlC,WAAW,IAAI,OAAO;CAGhC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowserContext.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowserContext.js
index 2c63d95..591099a 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowserContext.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowserContext.js
@@ -13,107 +13,79 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _BrowserContext_instances, _BrowserContext_browser, _BrowserContext_connection, _BrowserContext_defaultViewport, _BrowserContext_pages, _BrowserContext_onContextDestroyedBind, _BrowserContext_init, _BrowserContext_isDefault, _BrowserContext_getTree, _BrowserContext_onContextDestroyed;
 import { BrowserContext as BrowserContextBase } from '../../api/BrowserContext.js';
-import { Deferred } from '../../util/Deferred.js';
-import { Page } from './Page.js';
-import { debugError } from './utils.js';
 /**
  * @internal
  */
 export class BrowserContext extends BrowserContextBase {
+    #browser;
+    #connection;
+    #defaultViewport;
+    #isDefault = false;
     constructor(browser, options) {
         super();
-        _BrowserContext_instances.add(this);
-        _BrowserContext_browser.set(this, void 0);
-        _BrowserContext_connection.set(this, void 0);
-        _BrowserContext_defaultViewport.set(this, void 0);
-        _BrowserContext_pages.set(this, new Map());
-        _BrowserContext_onContextDestroyedBind.set(this, __classPrivateFieldGet(this, _BrowserContext_instances, "m", _BrowserContext_onContextDestroyed).bind(this));
-        _BrowserContext_init.set(this, Deferred.create());
-        _BrowserContext_isDefault.set(this, false);
-        __classPrivateFieldSet(this, _BrowserContext_browser, browser, "f");
-        __classPrivateFieldSet(this, _BrowserContext_connection, __classPrivateFieldGet(this, _BrowserContext_browser, "f").connection, "f");
-        __classPrivateFieldSet(this, _BrowserContext_defaultViewport, options.defaultViewport, "f");
-        __classPrivateFieldGet(this, _BrowserContext_connection, "f").on('browsingContext.contextDestroyed', __classPrivateFieldGet(this, _BrowserContext_onContextDestroyedBind, "f"));
-        __classPrivateFieldSet(this, _BrowserContext_isDefault, options.isDefault, "f");
-        __classPrivateFieldGet(this, _BrowserContext_instances, "m", _BrowserContext_getTree).call(this).catch(debugError);
+        this.#browser = browser;
+        this.#connection = this.#browser.connection;
+        this.#defaultViewport = options.defaultViewport;
+        this.#isDefault = options.isDefault;
+    }
+    targets() {
+        return this.#browser.targets().filter(target => {
+            return target.browserContext() === this;
+        });
+    }
+    waitForTarget(predicate, options = {}) {
+        return this.#browser.waitForTarget(target => {
+            return target.browserContext() === this && predicate(target);
+        }, options);
     }
     get connection() {
-        return __classPrivateFieldGet(this, _BrowserContext_connection, "f");
+        return this.#connection;
     }
     async newPage() {
-        await __classPrivateFieldGet(this, _BrowserContext_init, "f").valueOrThrow();
-        const { result } = await __classPrivateFieldGet(this, _BrowserContext_connection, "f").send('browsingContext.create', {
-            type: 'tab',
+        const { result } = await this.#connection.send('browsingContext.create', {
+            type: "tab" /* Bidi.BrowsingContext.CreateType.Tab */,
         });
-        const page = new Page(this, {
-            context: result.context,
-            children: [],
-        });
-        if (__classPrivateFieldGet(this, _BrowserContext_defaultViewport, "f")) {
+        const target = this.#browser._getTargetById(result.context);
+        // TODO: once BiDi has some concept matching BrowserContext, the newly
+        // created contexts should get automatically assigned to the right
+        // BrowserContext. For now, we assume that only explicitly created pages go
+        // to the current BrowserContext. Otherwise, the contexts get assigned to
+        // the default BrowserContext by the Browser.
+        target._setBrowserContext(this);
+        const page = await target.page();
+        if (!page) {
+            throw new Error('Page is not found');
+        }
+        if (this.#defaultViewport) {
             try {
-                await page.setViewport(__classPrivateFieldGet(this, _BrowserContext_defaultViewport, "f"));
+                await page.setViewport(this.#defaultViewport);
             }
             catch {
                 // No support for setViewport in Firefox.
             }
         }
-        __classPrivateFieldGet(this, _BrowserContext_pages, "f").set(result.context, page);
         return page;
     }
     async close() {
-        await __classPrivateFieldGet(this, _BrowserContext_init, "f").valueOrThrow();
-        if (__classPrivateFieldGet(this, _BrowserContext_isDefault, "f")) {
+        if (this.#isDefault) {
             throw new Error('Default context cannot be closed!');
         }
-        for (const page of __classPrivateFieldGet(this, _BrowserContext_pages, "f").values()) {
-            await page?.close().catch(error => {
-                debugError(error);
-            });
-        }
-        __classPrivateFieldGet(this, _BrowserContext_pages, "f").clear();
+        await this.#browser._closeContext(this);
     }
     browser() {
-        return __classPrivateFieldGet(this, _BrowserContext_browser, "f");
+        return this.#browser;
     }
     async pages() {
-        await __classPrivateFieldGet(this, _BrowserContext_init, "f").valueOrThrow();
-        return [...__classPrivateFieldGet(this, _BrowserContext_pages, "f").values()];
+        const results = await Promise.all([...this.targets()].map(t => {
+            return t.page();
+        }));
+        return results.filter((p) => {
+            return p !== null;
+        });
+    }
+    isIncognito() {
+        return !this.#isDefault;
     }
 }
-_BrowserContext_browser = new WeakMap(), _BrowserContext_connection = new WeakMap(), _BrowserContext_defaultViewport = new WeakMap(), _BrowserContext_pages = new WeakMap(), _BrowserContext_onContextDestroyedBind = new WeakMap(), _BrowserContext_init = new WeakMap(), _BrowserContext_isDefault = new WeakMap(), _BrowserContext_instances = new WeakSet(), _BrowserContext_getTree = async function _BrowserContext_getTree() {
-    if (!__classPrivateFieldGet(this, _BrowserContext_isDefault, "f")) {
-        __classPrivateFieldGet(this, _BrowserContext_init, "f").resolve();
-        return;
-    }
-    try {
-        const { result } = await __classPrivateFieldGet(this, _BrowserContext_connection, "f").send('browsingContext.getTree', {});
-        for (const context of result.contexts) {
-            const page = new Page(this, context);
-            __classPrivateFieldGet(this, _BrowserContext_pages, "f").set(context.context, page);
-        }
-        __classPrivateFieldGet(this, _BrowserContext_init, "f").resolve();
-    }
-    catch (err) {
-        __classPrivateFieldGet(this, _BrowserContext_init, "f").reject(err);
-    }
-}, _BrowserContext_onContextDestroyed = async function _BrowserContext_onContextDestroyed(event) {
-    const page = __classPrivateFieldGet(this, _BrowserContext_pages, "f").get(event.context);
-    await page?.close().catch(error => {
-        debugError(error);
-    });
-    __classPrivateFieldGet(this, _BrowserContext_pages, "f").delete(event.context);
-};
 //# sourceMappingURL=BrowserContext.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowserContext.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowserContext.js.map
index 74f3218..c04ca7d 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowserContext.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowserContext.js.map
@@ -1 +1 @@
-{"version":3,"file":"BrowserContext.js","sourceRoot":"","sources":["../../../../../src/common/bidi/BrowserContext.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"BrowserContext.js","sourceRoot":"","sources":["../../../../../src/common/bidi/BrowserContext.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowsingContext.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowsingContext.d.ts
index a402f90..3b29209 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowsingContext.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowsingContext.d.ts
@@ -4,7 +4,6 @@
 import type { CDPSession, Connection as CDPConnection } from '../Connection.js';
 import { EventEmitter } from '../EventEmitter.js';
 import { PuppeteerLifeCycleEvent } from '../LifecycleWatcher.js';
-import { TimeoutSettings } from '../TimeoutSettings.js';
 import { Connection } from './Connection.js';
 import { Realm } from './Realm.js';
 /**
@@ -14,34 +13,58 @@
 /**
  * @internal
  */
+export declare const cdpSessions: Map<string, CDPSessionWrapper>;
+/**
+ * @internal
+ */
 export declare class CDPSessionWrapper extends EventEmitter implements CDPSession {
     #private;
-    constructor(context: BrowsingContext);
+    constructor(context: BrowsingContext, sessionId?: string);
     connection(): CDPConnection | undefined;
     send<T extends keyof ProtocolMapping.Commands>(method: T, ...paramArgs: ProtocolMapping.Commands[T]['paramsType']): Promise<ProtocolMapping.Commands[T]['returnType']>;
     detach(): Promise<void>;
     id(): string;
 }
 /**
+ * Internal events that the BrowsingContext class emits.
+ *
+ * @internal
+ */
+export declare const BrowsingContextEmittedEvents: {
+    /**
+     * Emitted on the top-level context, when a descendant context is created.
+     */
+    readonly Created: symbol;
+    /**
+     * Emitted on the top-level context, when a descendant context or the
+     * top-level context itself is destroyed.
+     */
+    readonly Destroyed: symbol;
+};
+/**
  * @internal
  */
 export declare class BrowsingContext extends Realm {
     #private;
-    constructor(connection: Connection, timeoutSettings: TimeoutSettings, info: Bidi.BrowsingContext.Info);
+    constructor(connection: Connection, info: Bidi.BrowsingContext.Info);
     createSandboxRealm(sandbox: string): Realm;
     get url(): string;
+    set url(value: string);
     get id(): string;
+    get parent(): string | undefined | null;
     get cdpSession(): CDPSession;
     navigated(url: string): void;
-    goto(url: string, options?: {
+    goto(url: string, options: {
         referer?: string;
         referrerPolicy?: string;
-        timeout?: number;
+        timeout: number;
         waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[];
     }): Promise<string | null>;
-    reload(options?: WaitForOptions): Promise<void>;
+    reload(options: WaitForOptions & {
+        timeout: number;
+    }): Promise<void>;
     setContent(html: string, options: {
-        timeout?: number;
+        timeout: number;
         waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[];
     }): Promise<void>;
     content(): Promise<string>;
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowsingContext.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowsingContext.d.ts.map
index bc12eac..478e4e7 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowsingContext.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowsingContext.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"BrowsingContext.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/BrowsingContext.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AACnE,OAAO,eAAe,MAAM,6CAA6C,CAAC;AAE1E,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AAGjD,OAAO,KAAK,EAAC,UAAU,EAAE,UAAU,IAAI,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAE9E,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,uBAAuB,EAAC,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,0BAA0B,sCAMrC,CAAC;AAaH;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,YAAa,YAAW,UAAU;;gBAI3D,OAAO,EAAE,eAAe;IAepC,UAAU,IAAI,aAAa,GAAG,SAAS;IAGjC,IAAI,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,QAAQ,EACjD,MAAM,EAAE,CAAC,EACT,GAAG,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GACtD,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAUrD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,EAAE,IAAI,MAAM;CAIb;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,KAAK;;gBAOtC,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;IAiBjC,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,KAAK;IAI1C,IAAI,GAAG,IAAI,MAAM,CAEhB;IAED,IAAI,EAAE,IAAI,MAAM,CAEf;IAED,IAAI,UAAU,IAAI,UAAU,CAE3B;IAED,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAItB,IAAI,CACR,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,CAAC;KAC5D,GACL,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAiCnB,MAAM,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBnD,UAAU,CACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,CAAC;KACjE,GACA,OAAO,CAAC,IAAI,CAAC;IAwBV,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAI1B,cAAc,CAAC,CAAC,SAAS,MAAM,eAAe,CAAC,QAAQ,EAC3D,MAAM,EAAE,CAAC,EACT,GAAG,SAAS,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GACtD,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAIrD,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAMxB,OAAO,IAAI,IAAI;CAIhB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,GACzD,OAAO,CAAC,uBAAuB,EAAE,MAAM,GAAG,kBAAkB,CAAC,CAoB/D"}
\ No newline at end of file
+{"version":3,"file":"BrowsingContext.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/BrowsingContext.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowsingContext.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowsingContext.js
index e7b1e7b..1f27675 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowsingContext.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowsingContext.js
@@ -1,21 +1,10 @@
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _CDPSessionWrapper_context, _CDPSessionWrapper_sessionId, _BrowsingContext_timeoutSettings, _BrowsingContext_id, _BrowsingContext_url, _BrowsingContext_cdpSession;
 import { assert } from '../../util/assert.js';
 import { Deferred } from '../../util/Deferred.js';
-import { ProtocolError, TimeoutError } from '../Errors.js';
+import { ProtocolError, TargetCloseError, TimeoutError } from '../Errors.js';
 import { EventEmitter } from '../EventEmitter.js';
 import { getPageContent, setPageContent, waitWithTimeout } from '../util.js';
 import { Realm } from './Realm.js';
+import { debugError } from './utils.js';
 /**
  * @internal
  */
@@ -27,94 +16,136 @@
  * @internal
  */
 const lifeCycleToReadinessState = new Map([
-    ['load', 'complete'],
-    ['domcontentloaded', 'interactive'],
+    ['load', "complete" /* Bidi.BrowsingContext.ReadinessState.Complete */],
+    ['domcontentloaded', "interactive" /* Bidi.BrowsingContext.ReadinessState.Interactive */],
 ]);
 /**
  * @internal
  */
+export const cdpSessions = new Map();
+/**
+ * @internal
+ */
 export class CDPSessionWrapper extends EventEmitter {
-    constructor(context) {
+    #context;
+    #sessionId = Deferred.create();
+    #detached = false;
+    constructor(context, sessionId) {
         super();
-        _CDPSessionWrapper_context.set(this, void 0);
-        _CDPSessionWrapper_sessionId.set(this, Deferred.create());
-        __classPrivateFieldSet(this, _CDPSessionWrapper_context, context, "f");
-        context.connection
-            .send('cdp.getSession', {
-            context: context.id,
-        })
-            .then(session => {
-            __classPrivateFieldGet(this, _CDPSessionWrapper_sessionId, "f").resolve(session.result.session);
-        })
-            .catch(err => {
-            __classPrivateFieldGet(this, _CDPSessionWrapper_sessionId, "f").reject(err);
-        });
+        this.#context = context;
+        if (sessionId) {
+            this.#sessionId.resolve(sessionId);
+            cdpSessions.set(sessionId, this);
+        }
+        else {
+            context.connection
+                .send('cdp.getSession', {
+                context: context.id,
+            })
+                .then(session => {
+                this.#sessionId.resolve(session.result.session);
+                cdpSessions.set(session.result.session, this);
+            })
+                .catch(err => {
+                this.#sessionId.reject(err);
+            });
+        }
     }
     connection() {
         return undefined;
     }
     async send(method, ...paramArgs) {
-        const session = await __classPrivateFieldGet(this, _CDPSessionWrapper_sessionId, "f").valueOrThrow();
-        const result = await __classPrivateFieldGet(this, _CDPSessionWrapper_context, "f").connection.send('cdp.sendCommand', {
+        if (this.#detached) {
+            throw new TargetCloseError(`Protocol error (${method}): Session closed. Most likely the page has been closed.`);
+        }
+        const session = await this.#sessionId.valueOrThrow();
+        const { result } = await this.#context.connection.send('cdp.sendCommand', {
             method: method,
             params: paramArgs[0],
             session,
         });
         return result.result;
     }
-    detach() {
-        throw new Error('Method not implemented.');
+    async detach() {
+        cdpSessions.delete(this.id());
+        await this.#context.cdpSession.send('Target.detachFromTarget', {
+            sessionId: this.id(),
+        });
+        this.#detached = true;
     }
     id() {
-        const val = __classPrivateFieldGet(this, _CDPSessionWrapper_sessionId, "f").value();
+        const val = this.#sessionId.value();
         return val instanceof Error || val === undefined ? '' : val;
     }
 }
-_CDPSessionWrapper_context = new WeakMap(), _CDPSessionWrapper_sessionId = new WeakMap();
+/**
+ * Internal events that the BrowsingContext class emits.
+ *
+ * @internal
+ */
+export const BrowsingContextEmittedEvents = {
+    /**
+     * Emitted on the top-level context, when a descendant context is created.
+     */
+    Created: Symbol('BrowsingContext.created'),
+    /**
+     * Emitted on the top-level context, when a descendant context or the
+     * top-level context itself is destroyed.
+     */
+    Destroyed: Symbol('BrowsingContext.destroyed'),
+};
 /**
  * @internal
  */
 export class BrowsingContext extends Realm {
-    constructor(connection, timeoutSettings, info) {
+    #id;
+    #url;
+    #cdpSession;
+    #parent;
+    constructor(connection, info) {
         super(connection, info.context);
-        _BrowsingContext_timeoutSettings.set(this, void 0);
-        _BrowsingContext_id.set(this, void 0);
-        _BrowsingContext_url.set(this, void 0);
-        _BrowsingContext_cdpSession.set(this, void 0);
         this.connection = connection;
-        __classPrivateFieldSet(this, _BrowsingContext_timeoutSettings, timeoutSettings, "f");
-        __classPrivateFieldSet(this, _BrowsingContext_id, info.context, "f");
-        __classPrivateFieldSet(this, _BrowsingContext_url, info.url, "f");
-        __classPrivateFieldSet(this, _BrowsingContext_cdpSession, new CDPSessionWrapper(this), "f");
-        this.on('browsingContext.fragmentNavigated', (info) => {
-            __classPrivateFieldSet(this, _BrowsingContext_url, info.url, "f");
-        });
+        this.#id = info.context;
+        this.#url = info.url;
+        this.#parent = info.parent;
+        this.#cdpSession = new CDPSessionWrapper(this);
+        this.on('browsingContext.domContentLoaded', this.#updateUrl.bind(this));
+        this.on('browsingContext.load', this.#updateUrl.bind(this));
+    }
+    #updateUrl(info) {
+        this.url = info.url;
     }
     createSandboxRealm(sandbox) {
-        return new Realm(this.connection, __classPrivateFieldGet(this, _BrowsingContext_id, "f"), sandbox);
+        return new Realm(this.connection, this.#id, sandbox);
     }
     get url() {
-        return __classPrivateFieldGet(this, _BrowsingContext_url, "f");
+        return this.#url;
+    }
+    set url(value) {
+        this.#url = value;
     }
     get id() {
-        return __classPrivateFieldGet(this, _BrowsingContext_id, "f");
+        return this.#id;
+    }
+    get parent() {
+        return this.#parent;
     }
     get cdpSession() {
-        return __classPrivateFieldGet(this, _BrowsingContext_cdpSession, "f");
+        return this.#cdpSession;
     }
     navigated(url) {
-        __classPrivateFieldSet(this, _BrowsingContext_url, url, "f");
+        this.#url = url;
     }
-    async goto(url, options = {}) {
-        const { waitUntil = 'load', timeout = __classPrivateFieldGet(this, _BrowsingContext_timeoutSettings, "f").navigationTimeout(), } = options;
+    async goto(url, options) {
+        const { waitUntil = 'load', timeout } = options;
         const readinessState = lifeCycleToReadinessState.get(getWaitUntilSingle(waitUntil));
         try {
             const { result } = await waitWithTimeout(this.connection.send('browsingContext.navigate', {
                 url: url,
-                context: __classPrivateFieldGet(this, _BrowsingContext_id, "f"),
+                context: this.#id,
                 wait: readinessState,
             }), 'Navigation', timeout);
-            __classPrivateFieldSet(this, _BrowsingContext_url, result.url, "f");
+            this.#url = result.url;
             return result.navigation;
         }
         catch (error) {
@@ -127,16 +158,16 @@
             throw error;
         }
     }
-    async reload(options = {}) {
-        const { waitUntil = 'load', timeout = __classPrivateFieldGet(this, _BrowsingContext_timeoutSettings, "f").navigationTimeout(), } = options;
+    async reload(options) {
+        const { waitUntil = 'load', timeout } = options;
         const readinessState = lifeCycleToReadinessState.get(getWaitUntilSingle(waitUntil));
         await waitWithTimeout(this.connection.send('browsingContext.reload', {
-            context: __classPrivateFieldGet(this, _BrowsingContext_id, "f"),
+            context: this.#id,
             wait: readinessState,
         }), 'Navigation', timeout);
     }
     async setContent(html, options) {
-        const { waitUntil = 'load', timeout = __classPrivateFieldGet(this, _BrowsingContext_timeoutSettings, "f").navigationTimeout(), } = options;
+        const { waitUntil = 'load', timeout } = options;
         const waitUntilEvent = lifeCycleToSubscribedEvent.get(getWaitUntilSingle(waitUntil));
         await Promise.all([
             setPageContent(this, html),
@@ -151,7 +182,7 @@
         return await this.evaluate(getPageContent);
     }
     async sendCDPCommand(method, ...paramArgs) {
-        return __classPrivateFieldGet(this, _BrowsingContext_cdpSession, "f").send(method, ...paramArgs);
+        return this.#cdpSession.send(method, ...paramArgs);
     }
     title() {
         return this.evaluate(() => {
@@ -160,10 +191,10 @@
     }
     dispose() {
         this.removeAllListeners();
-        this.connection.unregisterBrowsingContexts(__classPrivateFieldGet(this, _BrowsingContext_id, "f"));
+        this.connection.unregisterBrowsingContexts(this.#id);
+        void this.#cdpSession.detach().catch(debugError);
     }
 }
-_BrowsingContext_timeoutSettings = new WeakMap(), _BrowsingContext_id = new WeakMap(), _BrowsingContext_url = new WeakMap(), _BrowsingContext_cdpSession = new WeakMap();
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowsingContext.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowsingContext.js.map
index c3171f3..be18a69 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowsingContext.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/BrowsingContext.js.map
@@ -1 +1 @@
-{"version":3,"file":"BrowsingContext.js","sourceRoot":"","sources":["../../../../../src/common/bidi/BrowsingContext.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"BrowsingContext.js","sourceRoot":"","sources":["../../../../../src/common/bidi/BrowsingContext.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Connection.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Connection.d.ts
index 3fddccd..33fcf1d 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Connection.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Connection.d.ts
@@ -17,11 +17,6 @@
 import { ConnectionTransport } from '../ConnectionTransport.js';
 import { EventEmitter } from '../EventEmitter.js';
 import { BrowsingContext } from './BrowsingContext.js';
-type Capability = {
-    acceptInsecureCerts?: boolean;
-    browserName?: string;
-    browserVersion?: string;
-};
 /**
  * @internal
  */
@@ -32,11 +27,11 @@
     };
     'script.callFunction': {
         params: Bidi.Script.CallFunctionParameters;
-        returnType: Bidi.Script.CallFunctionResult;
+        returnType: Bidi.Script.EvaluateResult;
     };
     'script.disown': {
         params: Bidi.Script.DisownParameters;
-        returnType: Bidi.Script.DisownResult;
+        returnType: Bidi.EmptyResult;
     };
     'script.addPreloadScript': {
         params: Bidi.Script.AddPreloadScriptParameters;
@@ -48,7 +43,7 @@
     };
     'browsingContext.close': {
         params: Bidi.BrowsingContext.CloseParameters;
-        returnType: Bidi.Message.EmptyResult;
+        returnType: Bidi.EmptyResult;
     };
     'browsingContext.getTree': {
         params: Bidi.BrowsingContext.GetTreeParameters;
@@ -60,7 +55,7 @@
     };
     'browsingContext.reload': {
         params: Bidi.BrowsingContext.ReloadParameters;
-        returnType: Bidi.Message.EmptyResult;
+        returnType: Bidi.EmptyResult;
     };
     'browsingContext.print': {
         params: Bidi.BrowsingContext.PrintParameters;
@@ -70,26 +65,21 @@
         params: Bidi.BrowsingContext.CaptureScreenshotParameters;
         returnType: Bidi.BrowsingContext.CaptureScreenshotResult;
     };
+    'browsingContext.handleUserPrompt': {
+        params: Bidi.BrowsingContext.HandleUserPromptParameters;
+        returnType: Bidi.EmptyResult;
+    };
     'input.performActions': {
         params: Bidi.Input.PerformActionsParameters;
-        returnType: Bidi.Message.EmptyResult;
+        returnType: Bidi.EmptyResult;
     };
     'input.releaseActions': {
         params: Bidi.Input.ReleaseActionsParameters;
-        returnType: Bidi.Message.EmptyResult;
+        returnType: Bidi.EmptyResult;
     };
     'session.new': {
-        params: {
-            capabilities?: {
-                alwaysMatch?: Capability;
-            };
-        };
-        returnType: {
-            result: {
-                sessionId: string;
-                capabilities: Capability;
-            };
-        };
+        params: Bidi.Session.NewParameters;
+        returnType: Bidi.Session.NewResult;
     };
     'session.status': {
         params: object;
@@ -97,18 +87,18 @@
     };
     'session.subscribe': {
         params: Bidi.Session.SubscriptionRequest;
-        returnType: Bidi.Message.EmptyResult;
+        returnType: Bidi.EmptyResult;
     };
     'session.unsubscribe': {
         params: Bidi.Session.SubscriptionRequest;
-        returnType: Bidi.Message.EmptyResult;
+        returnType: Bidi.EmptyResult;
     };
     'cdp.sendCommand': {
-        params: Bidi.Cdp.SendCommandParams;
+        params: Bidi.Cdp.SendCommandParameters;
         returnType: Bidi.Cdp.SendCommandResult;
     };
     'cdp.getSession': {
-        params: Bidi.Cdp.GetSessionParams;
+        params: Bidi.Cdp.GetSessionParameters;
         returnType: Bidi.Cdp.GetSessionResult;
     };
 }
@@ -120,12 +110,16 @@
     constructor(url: string, transport: ConnectionTransport, delay?: number, timeout?: number);
     get closed(): boolean;
     get url(): string;
-    send<T extends keyof Commands>(method: T, params: Commands[T]['params']): Promise<Commands[T]['returnType']>;
+    send<T extends keyof Commands>(method: T, params: Commands[T]['params']): Promise<{
+        result: Commands[T]['returnType'];
+    }>;
     /**
      * @internal
      */
     protected onMessage(message: string): Promise<void>;
     registerBrowsingContexts(context: BrowsingContext): void;
+    getBrowsingContext(contextId: string): BrowsingContext;
+    getTopLevelContext(contextId: string): BrowsingContext;
     unregisterBrowsingContexts(id: string): void;
     dispose(): void;
 }
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Connection.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Connection.d.ts.map
index eec9ec9..feb62b8 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Connection.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Connection.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Connection.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Connection.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Connection.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Connection.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Connection.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Connection.js
index 859affc..549d55a 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Connection.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Connection.js
@@ -13,127 +13,137 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Connection_instances, _Connection_url, _Connection_transport, _Connection_delay, _Connection_timeout, _Connection_closed, _Connection_callbacks, _Connection_browsingContexts, _Connection_maybeEmitOnContext, _Connection_onClose;
 import { CallbackRegistry } from '../Connection.js';
 import { debug } from '../Debug.js';
 import { EventEmitter } from '../EventEmitter.js';
+import { cdpSessions } from './BrowsingContext.js';
+import { debugError } from './utils.js';
 const debugProtocolSend = debug('puppeteer:webDriverBiDi:SEND ►');
 const debugProtocolReceive = debug('puppeteer:webDriverBiDi:RECV ◀');
 /**
  * @internal
  */
 export class Connection extends EventEmitter {
+    #url;
+    #transport;
+    #delay;
+    #timeout = 0;
+    #closed = false;
+    #callbacks = new CallbackRegistry();
+    #browsingContexts = new Map();
     constructor(url, transport, delay = 0, timeout) {
         super();
-        _Connection_instances.add(this);
-        _Connection_url.set(this, void 0);
-        _Connection_transport.set(this, void 0);
-        _Connection_delay.set(this, void 0);
-        _Connection_timeout.set(this, 0);
-        _Connection_closed.set(this, false);
-        _Connection_callbacks.set(this, new CallbackRegistry());
-        _Connection_browsingContexts.set(this, new Map());
-        __classPrivateFieldSet(this, _Connection_url, url, "f");
-        __classPrivateFieldSet(this, _Connection_delay, delay, "f");
-        __classPrivateFieldSet(this, _Connection_timeout, timeout ?? 180000, "f");
-        __classPrivateFieldSet(this, _Connection_transport, transport, "f");
-        __classPrivateFieldGet(this, _Connection_transport, "f").onmessage = this.onMessage.bind(this);
-        __classPrivateFieldGet(this, _Connection_transport, "f").onclose = __classPrivateFieldGet(this, _Connection_instances, "m", _Connection_onClose).bind(this);
+        this.#url = url;
+        this.#delay = delay;
+        this.#timeout = timeout ?? 180000;
+        this.#transport = transport;
+        this.#transport.onmessage = this.onMessage.bind(this);
+        this.#transport.onclose = this.#onClose.bind(this);
     }
     get closed() {
-        return __classPrivateFieldGet(this, _Connection_closed, "f");
+        return this.#closed;
     }
     get url() {
-        return __classPrivateFieldGet(this, _Connection_url, "f");
+        return this.#url;
     }
     send(method, params) {
-        return __classPrivateFieldGet(this, _Connection_callbacks, "f").create(method, __classPrivateFieldGet(this, _Connection_timeout, "f"), id => {
+        return this.#callbacks.create(method, this.#timeout, id => {
             const stringifiedMessage = JSON.stringify({
                 id,
                 method,
                 params,
             });
             debugProtocolSend(stringifiedMessage);
-            __classPrivateFieldGet(this, _Connection_transport, "f").send(stringifiedMessage);
+            this.#transport.send(stringifiedMessage);
         });
     }
     /**
      * @internal
      */
     async onMessage(message) {
-        if (__classPrivateFieldGet(this, _Connection_delay, "f")) {
+        if (this.#delay) {
             await new Promise(f => {
-                return setTimeout(f, __classPrivateFieldGet(this, _Connection_delay, "f"));
+                return setTimeout(f, this.#delay);
             });
         }
         debugProtocolReceive(message);
         const object = JSON.parse(message);
-        if ('id' in object) {
+        if ('id' in object && object.id) {
             if ('error' in object) {
-                __classPrivateFieldGet(this, _Connection_callbacks, "f").reject(object.id, createProtocolError(object), object.message);
+                this.#callbacks.reject(object.id, createProtocolError(object), object.message);
             }
             else {
-                __classPrivateFieldGet(this, _Connection_callbacks, "f").resolve(object.id, object);
+                this.#callbacks.resolve(object.id, object);
             }
         }
         else {
-            __classPrivateFieldGet(this, _Connection_instances, "m", _Connection_maybeEmitOnContext).call(this, object);
-            this.emit(object.method, object.params);
-        }
-    }
-    registerBrowsingContexts(context) {
-        __classPrivateFieldGet(this, _Connection_browsingContexts, "f").set(context.id, context);
-    }
-    unregisterBrowsingContexts(id) {
-        __classPrivateFieldGet(this, _Connection_browsingContexts, "f").delete(id);
-    }
-    dispose() {
-        __classPrivateFieldGet(this, _Connection_instances, "m", _Connection_onClose).call(this);
-        __classPrivateFieldGet(this, _Connection_transport, "f").close();
-    }
-}
-_Connection_url = new WeakMap(), _Connection_transport = new WeakMap(), _Connection_delay = new WeakMap(), _Connection_timeout = new WeakMap(), _Connection_closed = new WeakMap(), _Connection_callbacks = new WeakMap(), _Connection_browsingContexts = new WeakMap(), _Connection_instances = new WeakSet(), _Connection_maybeEmitOnContext = function _Connection_maybeEmitOnContext(event) {
-    let context;
-    // Context specific events
-    if ('context' in event.params && event.params.context) {
-        context = __classPrivateFieldGet(this, _Connection_browsingContexts, "f").get(event.params.context);
-        // `log.entryAdded` specific context
-    }
-    else if ('source' in event.params && event.params.source.context) {
-        context = __classPrivateFieldGet(this, _Connection_browsingContexts, "f").get(event.params.source.context);
-    }
-    else if (isCDPEvent(event)) {
-        // TODO: this is not a good solution and we need to find a better one.
-        // Perhaps we need to have a dedicated CDP event emitter or emulate
-        // the CDPSession interface with BiDi?.
-        const cdpSessionId = event.params.session;
-        for (const context of __classPrivateFieldGet(this, _Connection_browsingContexts, "f").values()) {
-            if (context.cdpSession?.id() === cdpSessionId) {
-                context.cdpSession.emit(event.params.event, event.params.params);
+            if ('error' in object || 'id' in object || 'launched' in object) {
+                debugError(object);
+            }
+            else {
+                this.#maybeEmitOnContext(object);
+                this.emit(object.method, object.params);
             }
         }
     }
-    context?.emit(event.method, event.params);
-}, _Connection_onClose = function _Connection_onClose() {
-    if (__classPrivateFieldGet(this, _Connection_closed, "f")) {
-        return;
+    #maybeEmitOnContext(event) {
+        let context;
+        // Context specific events
+        if ('context' in event.params && event.params.context) {
+            context = this.#browsingContexts.get(event.params.context);
+            // `log.entryAdded` specific context
+        }
+        else if ('source' in event.params && event.params.source.context) {
+            context = this.#browsingContexts.get(event.params.source.context);
+        }
+        else if (isCDPEvent(event)) {
+            cdpSessions
+                .get(event.params.session)
+                ?.emit(event.params.event, event.params.params);
+        }
+        context?.emit(event.method, event.params);
     }
-    __classPrivateFieldSet(this, _Connection_closed, true, "f");
-    __classPrivateFieldGet(this, _Connection_transport, "f").onmessage = undefined;
-    __classPrivateFieldGet(this, _Connection_transport, "f").onclose = undefined;
-    __classPrivateFieldGet(this, _Connection_callbacks, "f").clear();
-};
+    registerBrowsingContexts(context) {
+        this.#browsingContexts.set(context.id, context);
+    }
+    getBrowsingContext(contextId) {
+        const currentContext = this.#browsingContexts.get(contextId);
+        if (!currentContext) {
+            throw new Error(`BrowsingContext ${contextId} does not exist.`);
+        }
+        return currentContext;
+    }
+    getTopLevelContext(contextId) {
+        let currentContext = this.#browsingContexts.get(contextId);
+        if (!currentContext) {
+            throw new Error(`BrowsingContext ${contextId} does not exist.`);
+        }
+        while (currentContext.parent) {
+            contextId = currentContext.parent;
+            currentContext = this.#browsingContexts.get(contextId);
+            if (!currentContext) {
+                throw new Error(`BrowsingContext ${contextId} does not exist.`);
+            }
+        }
+        return currentContext;
+    }
+    unregisterBrowsingContexts(id) {
+        this.#browsingContexts.delete(id);
+    }
+    #onClose() {
+        if (this.#closed) {
+            return;
+        }
+        this.#closed = true;
+        this.#transport.onmessage = undefined;
+        this.#transport.onclose = undefined;
+        this.#callbacks.clear();
+    }
+    dispose() {
+        this.#onClose();
+        this.#transport.close();
+    }
+}
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Connection.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Connection.js.map
index 211fdf6..8ffb0db 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Connection.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Connection.js.map
@@ -1 +1 @@
-{"version":3,"file":"Connection.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Connection.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Connection.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAkB,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AAEtC,MAAM,iBAAiB,GAAG,KAAK,CAAC,gCAAgC,CAAC,CAAC;AAClE,MAAM,oBAAoB,GAAG,KAAK,CAAC,gCAAgC,CAAC,CAAC;AA2FrE;;GAEG;AACH,MAAM,OAAO,UAAW,SAAQ,YAAY;IAC1C,IAAI,CAAS;IACb,UAAU,CAAsB;IAChC,MAAM,CAAS;IACf,QAAQ,GAAI,CAAC,CAAC;IACd,OAAO,GAAG,KAAK,CAAC;IAChB,UAAU,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACpC,iBAAiB,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEvD,YACE,GAAW,EACX,SAA8B,EAC9B,KAAK,GAAG,CAAC,EACT,OAAgB;QAEhB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAI,MAAO,CAAC;QAEnC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,CACF,MAAS,EACT,MAA6B;QAE7B,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE;YACxD,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,CAAC;gBACxC,EAAE;gBACF,MAAM;gBACN,MAAM;aACS,CAAC,CAAC;YACnB,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC3C,CAAC,CAAiD,CAAC;IACrD,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,SAAS,CAAC,OAAe;QACvC,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;gBACpB,OAAO,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;SACJ;QACD,oBAAoB,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA8B,CAAC;QAEhE,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,EAAE;YAC/B,IAAI,OAAO,IAAI,MAAM,EAAE;gBACrB,IAAI,CAAC,UAAU,CAAC,MAAM,CACpB,MAAM,CAAC,EAAE,EACT,mBAAmB,CAAC,MAA4B,CAAC,EACjD,MAAM,CAAC,OAAO,CACf,CAAC;aACH;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;aAC5C;SACF;aAAM;YACL,IAAI,OAAO,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,IAAI,UAAU,IAAI,MAAM,EAAE;gBAC/D,UAAU,CAAC,MAAM,CAAC,CAAC;aACpB;iBAAM;gBACL,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;aACzC;SACF;IACH,CAAC;IAED,mBAAmB,CAAC,KAA8B;QAChD,IAAI,OAAoC,CAAC;QACzC,0BAA0B;QAC1B,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YACrD,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3D,oCAAoC;SACrC;aAAM,IAAI,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;YAClE,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACnE;aAAM,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;YAC5B,WAAW;iBACR,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC1B,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACnD;QACD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,wBAAwB,CAAC,OAAwB;QAC/C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,kBAAkB,CAAC,SAAiB;QAClC,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,mBAAmB,SAAS,kBAAkB,CAAC,CAAC;SACjE;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,kBAAkB,CAAC,SAAiB;QAClC,IAAI,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,mBAAmB,SAAS,kBAAkB,CAAC,CAAC;SACjE;QACD,OAAO,cAAc,CAAC,MAAM,EAAE;YAC5B,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC;YAClC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,cAAc,EAAE;gBACnB,MAAM,IAAI,KAAK,CAAC,mBAAmB,SAAS,kBAAkB,CAAC,CAAC;aACjE;SACF;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,0BAA0B,CAAC,EAAU;QACnC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,OAAO;SACR;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,OAAO,GAAG,SAAS,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAA0B;IACrD,IAAI,OAAO,GAAG,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;IAClD,IAAI,MAAM,CAAC,UAAU,EAAE;QACrB,OAAO,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;KACpC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,KAA8B;IAChD,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Dialog.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Dialog.d.ts
new file mode 100644
index 0000000..e3e291b
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Dialog.d.ts
@@ -0,0 +1,36 @@
+/**
+ * Copyright 2017 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import * as Bidi from 'chromium-bidi/lib/cjs/protocol/protocol.js';
+import { Dialog as BaseDialog } from '../../api/Dialog.js';
+import { BrowsingContext } from './BrowsingContext.js';
+/**
+ * @internal
+ */
+export declare class Dialog extends BaseDialog {
+    #private;
+    /**
+     * @internal
+     */
+    constructor(context: BrowsingContext, type: Bidi.BrowsingContext.UserPromptOpenedParameters['type'], message: string, defaultValue?: string);
+    /**
+     * @internal
+     */
+    sendCommand(options: {
+        accept: boolean;
+        text?: string;
+    }): Promise<void>;
+}
+//# sourceMappingURL=Dialog.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Dialog.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Dialog.d.ts.map
new file mode 100644
index 0000000..db665be
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Dialog.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EAAC,MAAM,IAAI,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,qBAAa,MAAO,SAAQ,UAAU;;IAGpC;;OAEG;gBAED,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,MAAM,CAAC,EAC7D,OAAO,EAAE,MAAM,EACf,YAAY,SAAK;IAMnB;;OAEG;IACY,WAAW,CAAC,OAAO,EAAE;QAClC,MAAM,EAAE,OAAO,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,IAAI,CAAC;CAOlB"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Dialog.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Dialog.js
new file mode 100644
index 0000000..a8b4090
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Dialog.js
@@ -0,0 +1,40 @@
+/**
+ * Copyright 2017 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Dialog as BaseDialog } from '../../api/Dialog.js';
+/**
+ * @internal
+ */
+export class Dialog extends BaseDialog {
+    #context;
+    /**
+     * @internal
+     */
+    constructor(context, type, message, defaultValue = '') {
+        super(type, message, defaultValue);
+        this.#context = context;
+    }
+    /**
+     * @internal
+     */
+    async sendCommand(options) {
+        await this.#context.connection.send('browsingContext.handleUserPrompt', {
+            context: this.#context.id,
+            accept: options.accept,
+            userText: options.text,
+        });
+    }
+}
+//# sourceMappingURL=Dialog.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Dialog.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Dialog.js.map
new file mode 100644
index 0000000..8526cee
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Dialog.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Dialog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,MAAM,IAAI,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAIzD;;GAEG;AACH,MAAM,OAAO,MAAO,SAAQ,UAAU;IACpC,QAAQ,CAAkB;IAE1B;;OAEG;IACH,YACE,OAAwB,EACxB,IAA6D,EAC7D,OAAe,EACf,YAAY,GAAG,EAAE;QAEjB,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,WAAW,CAAC,OAG1B;QACC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,kCAAkC,EAAE;YACtE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;YACzB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,QAAQ,EAAE,OAAO,CAAC,IAAI;SACvB,CAAC,CAAC;IACL,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/ElementHandle.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/ElementHandle.d.ts
index b5ad493..890d7d9 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/ElementHandle.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/ElementHandle.d.ts
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 import * as Bidi from 'chromium-bidi/lib/cjs/protocol/protocol.js';
-import { ElementHandle as BaseElementHandle, ClickOptions } from '../../api/ElementHandle.js';
+import { AutofillData, ElementHandle as BaseElementHandle, BoundingBox, ClickOptions } from '../../api/ElementHandle.js';
 import { KeyPressOptions, KeyboardTypeOptions } from '../../api/Input.js';
 import { KeyInput } from '../USKeyboardLayout.js';
 import { Frame } from './Frame.js';
@@ -26,15 +26,17 @@
 export declare class ElementHandle<ElementType extends Node = Element> extends BaseElementHandle<ElementType> {
     #private;
     handle: JSHandle<ElementType>;
-    constructor(realm: Realm, remoteValue: Bidi.CommonDataTypes.RemoteValue, frame: Frame);
+    constructor(realm: Realm, remoteValue: Bidi.Script.RemoteValue, frame: Frame);
     get frame(): Frame;
     context(): Realm;
     get isPrimitiveValue(): boolean;
-    remoteValue(): Bidi.CommonDataTypes.RemoteValue;
+    remoteValue(): Bidi.Script.RemoteValue;
     /**
      * @internal
      */
     assertElementHasWorld(): asserts this;
+    autofill(data: AutofillData): Promise<void>;
+    boundingBox(): Promise<BoundingBox | null>;
     click(this: ElementHandle<Element>, options?: Readonly<ClickOptions>): Promise<void>;
     hover(this: ElementHandle<Element>): Promise<void>;
     tap(this: ElementHandle<Element>): Promise<void>;
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/ElementHandle.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/ElementHandle.d.ts.map
index 80310fa..86dbda1 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/ElementHandle.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/ElementHandle.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"ElementHandle.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/ElementHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EACL,aAAa,IAAI,iBAAiB,EAClC,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAExE,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AACjC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAEjC;;GAEG;AACH,qBAAa,aAAa,CACxB,WAAW,SAAS,IAAI,GAAG,OAAO,CAClC,SAAQ,iBAAiB,CAAC,WAAW,CAAC;;IAC9B,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAIpC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAC7C,KAAK,EAAE,KAAK;IAMd,IAAa,KAAK,IAAI,KAAK,CAE1B;IAED,OAAO,IAAI,KAAK;IAIhB,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW;IAI/C;;OAEG;IACM,qBAAqB,IAAI,OAAO,CAAC,IAAI;IAQ/B,KAAK,CAClB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAC5B,OAAO,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC;IAiBD,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlD,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhD,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvD,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,IAAI,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC;IAKD,KAAK,CAClB,GAAG,EAAE,QAAQ,EACb,OAAO,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC;CAIjB"}
\ No newline at end of file
+{"version":3,"file":"ElementHandle.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/ElementHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EACL,YAAY,EACZ,aAAa,IAAI,iBAAiB,EAClC,WAAW,EACX,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAExE,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AACjC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAEjC;;GAEG;AACH,qBAAa,aAAa,CACxB,WAAW,SAAS,IAAI,GAAG,OAAO,CAClC,SAAQ,iBAAiB,CAAC,WAAW,CAAC;;IAC9B,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAIpC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EACpC,KAAK,EAAE,KAAK;IAMd,IAAa,KAAK,IAAI,KAAK,CAE1B;IAED,OAAO,IAAI,KAAK;IAIhB,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW;IAItC;;OAEG;IACM,qBAAqB,IAAI,OAAO,CAAC,IAAI;IAK/B,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAc3C,WAAW,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAyB1C,KAAK,CAClB,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,EAC5B,OAAO,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,GAC/B,OAAO,CAAC,IAAI,CAAC;IAiBD,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlD,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhD,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvD,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtD,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,IAAI,CACjB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,QAAQ,CAAC,mBAAmB,CAAC,GACtC,OAAO,CAAC,IAAI,CAAC;IAKD,KAAK,CAClB,GAAG,EAAE,QAAQ,EACb,OAAO,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC;CAIjB"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/ElementHandle.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/ElementHandle.js
index 21fa339..42147a0 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/ElementHandle.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/ElementHandle.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _ElementHandle_frame;
 import { ElementHandle as BaseElementHandle, } from '../../api/ElementHandle.js';
 import { assert } from '../../util/assert.js';
 import { JSHandle } from './JSHandle.js';
@@ -32,13 +20,13 @@
  * @internal
  */
 export class ElementHandle extends BaseElementHandle {
+    #frame;
     constructor(realm, remoteValue, frame) {
         super(new JSHandle(realm, remoteValue));
-        _ElementHandle_frame.set(this, void 0);
-        __classPrivateFieldSet(this, _ElementHandle_frame, frame, "f");
+        this.#frame = frame;
     }
     get frame() {
-        return __classPrivateFieldGet(this, _ElementHandle_frame, "f");
+        return this.#frame;
     }
     context() {
         return this.handle.context();
@@ -56,6 +44,38 @@
         // TODO: Should assert element has a Sandbox
         return;
     }
+    async autofill(data) {
+        const client = this.#frame.context().cdpSession;
+        const nodeInfo = await client.send('DOM.describeNode', {
+            objectId: this.handle.id,
+        });
+        const fieldId = nodeInfo.node.backendNodeId;
+        const frameId = this.#frame._id;
+        await client.send('Autofill.trigger', {
+            fieldId,
+            frameId,
+            card: data.creditCard,
+        });
+    }
+    async boundingBox() {
+        if (this.frame.parentFrame()) {
+            throw new Error('Elements within nested iframes are currently not supported.');
+        }
+        const box = await this.frame.isolatedRealm().evaluate(element => {
+            const rect = element.getBoundingClientRect();
+            if (!rect.left && !rect.top && !rect.width && !rect.height) {
+                // TODO(jrandolf): Detect if the element is truly not visible.
+                return null;
+            }
+            return {
+                x: rect.left,
+                y: rect.top,
+                width: rect.width,
+                height: rect.height,
+            };
+        }, this);
+        return box;
+    }
     // ///////////////////
     // // Input methods //
     // ///////////////////
@@ -64,7 +84,7 @@
         const { x = 0, y = 0 } = options?.offset ?? {};
         const remoteValue = this.remoteValue();
         assert('sharedId' in remoteValue);
-        return __classPrivateFieldGet(this, _ElementHandle_frame, "f").page().mouse.click(x, y, Object.assign({}, options, {
+        return this.#frame.page().mouse.click(x, y, Object.assign({}, options, {
             origin: {
                 type: 'element',
                 element: remoteValue,
@@ -75,7 +95,7 @@
         await this.scrollIntoViewIfNeeded();
         const remoteValue = this.remoteValue();
         assert('sharedId' in remoteValue);
-        return __classPrivateFieldGet(this, _ElementHandle_frame, "f").page().mouse.move(0, 0, {
+        return this.#frame.page().mouse.move(0, 0, {
             origin: {
                 type: 'element',
                 element: remoteValue,
@@ -86,7 +106,7 @@
         await this.scrollIntoViewIfNeeded();
         const remoteValue = this.remoteValue();
         assert('sharedId' in remoteValue);
-        return __classPrivateFieldGet(this, _ElementHandle_frame, "f").page().touchscreen.tap(0, 0, {
+        return this.#frame.page().touchscreen.tap(0, 0, {
             origin: {
                 type: 'element',
                 element: remoteValue,
@@ -97,7 +117,7 @@
         await this.scrollIntoViewIfNeeded();
         const remoteValue = this.remoteValue();
         assert('sharedId' in remoteValue);
-        return __classPrivateFieldGet(this, _ElementHandle_frame, "f").page().touchscreen.touchStart(0, 0, {
+        return this.#frame.page().touchscreen.touchStart(0, 0, {
             origin: {
                 type: 'element',
                 element: remoteValue,
@@ -108,7 +128,7 @@
         await this.scrollIntoViewIfNeeded();
         const remoteValue = this.remoteValue();
         assert('sharedId' in remoteValue);
-        return __classPrivateFieldGet(this, _ElementHandle_frame, "f").page().touchscreen.touchMove(0, 0, {
+        return this.#frame.page().touchscreen.touchMove(0, 0, {
             origin: {
                 type: 'element',
                 element: remoteValue,
@@ -117,16 +137,15 @@
     }
     async touchEnd() {
         await this.scrollIntoViewIfNeeded();
-        await __classPrivateFieldGet(this, _ElementHandle_frame, "f").page().touchscreen.touchEnd();
+        await this.#frame.page().touchscreen.touchEnd();
     }
     async type(text, options) {
         await this.focus();
-        await __classPrivateFieldGet(this, _ElementHandle_frame, "f").page().keyboard.type(text, options);
+        await this.#frame.page().keyboard.type(text, options);
     }
     async press(key, options) {
         await this.focus();
-        await __classPrivateFieldGet(this, _ElementHandle_frame, "f").page().keyboard.press(key, options);
+        await this.#frame.page().keyboard.press(key, options);
     }
 }
-_ElementHandle_frame = new WeakMap();
 //# sourceMappingURL=ElementHandle.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/ElementHandle.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/ElementHandle.js.map
index a78bd23..a294f06 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/ElementHandle.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/ElementHandle.js.map
@@ -1 +1 @@
-{"version":3,"file":"ElementHandle.js","sourceRoot":"","sources":["../../../../../src/common/bidi/ElementHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ElementHandle.js","sourceRoot":"","sources":["../../../../../src/common/bidi/ElementHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Frame.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Frame.d.ts.map
index 84c2e14..6a919eb 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Frame.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Frame.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Frame.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Frame.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Frame.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Frame.js
index 3db171e..8e78ef3 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Frame.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Frame.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Frame_page, _Frame_context, _Frame_timeoutSettings, _Frame_abortDeferred;
 import * as Bidi from 'chromium-bidi/lib/cjs/protocol/protocol.js';
 import { Frame as BaseFrame } from '../../api/Frame.js';
 import { Deferred } from '../../util/Deferred.js';
@@ -37,16 +25,18 @@
  * @internal
  */
 export class Frame extends BaseFrame {
+    #page;
+    #context;
+    #timeoutSettings;
+    #abortDeferred = Deferred.create();
+    sandboxes;
+    _id;
     constructor(page, context, timeoutSettings, parentId) {
         super();
-        _Frame_page.set(this, void 0);
-        _Frame_context.set(this, void 0);
-        _Frame_timeoutSettings.set(this, void 0);
-        _Frame_abortDeferred.set(this, Deferred.create());
-        __classPrivateFieldSet(this, _Frame_page, page, "f");
-        __classPrivateFieldSet(this, _Frame_context, context, "f");
-        __classPrivateFieldSet(this, _Frame_timeoutSettings, timeoutSettings, "f");
-        this._id = __classPrivateFieldGet(this, _Frame_context, "f").id;
+        this.#page = page;
+        this.#context = context;
+        this.#timeoutSettings = timeoutSettings;
+        this._id = this.#context.id;
         this._parentId = parentId ?? undefined;
         const puppeteerRealm = context.createSandboxRealm(UTILITY_WORLD_NAME);
         this.sandboxes = {
@@ -63,41 +53,47 @@
         return this.sandboxes[PUPPETEER_SANDBOX];
     }
     page() {
-        return __classPrivateFieldGet(this, _Frame_page, "f");
+        return this.#page;
     }
     name() {
         return this._name || '';
     }
     url() {
-        return __classPrivateFieldGet(this, _Frame_context, "f").url;
+        return this.#context.url;
     }
     parentFrame() {
-        return __classPrivateFieldGet(this, _Frame_page, "f").frame(this._parentId ?? '');
+        return this.#page.frame(this._parentId ?? '');
     }
     childFrames() {
-        return __classPrivateFieldGet(this, _Frame_page, "f").childFrames(__classPrivateFieldGet(this, _Frame_context, "f").id);
+        return this.#page.childFrames(this.#context.id);
     }
     async evaluateHandle(pageFunction, ...args) {
-        return __classPrivateFieldGet(this, _Frame_context, "f").evaluateHandle(pageFunction, ...args);
+        return this.#context.evaluateHandle(pageFunction, ...args);
     }
     async evaluate(pageFunction, ...args) {
-        return __classPrivateFieldGet(this, _Frame_context, "f").evaluate(pageFunction, ...args);
+        return this.#context.evaluate(pageFunction, ...args);
     }
     async goto(url, options) {
-        const navigationId = await __classPrivateFieldGet(this, _Frame_context, "f").goto(url, options);
-        return __classPrivateFieldGet(this, _Frame_page, "f").getNavigationResponse(navigationId);
+        const navigationId = await this.#context.goto(url, {
+            ...options,
+            timeout: options?.timeout ?? this.#timeoutSettings.navigationTimeout(),
+        });
+        return this.#page.getNavigationResponse(navigationId);
     }
     setContent(html, options) {
-        return __classPrivateFieldGet(this, _Frame_context, "f").setContent(html, options);
+        return this.#context.setContent(html, {
+            ...options,
+            timeout: options?.timeout ?? this.#timeoutSettings.navigationTimeout(),
+        });
     }
     content() {
-        return __classPrivateFieldGet(this, _Frame_context, "f").content();
+        return this.#context.content();
     }
     title() {
-        return __classPrivateFieldGet(this, _Frame_context, "f").title();
+        return this.#context.title();
     }
     context() {
-        return __classPrivateFieldGet(this, _Frame_context, "f");
+        return this.#context;
     }
     $(selector) {
         return this.mainRealm().$(selector);
@@ -117,22 +113,30 @@
         return this.mainRealm().$x(expression);
     }
     async waitForNavigation(options = {}) {
-        const { waitUntil = 'load', timeout = __classPrivateFieldGet(this, _Frame_timeoutSettings, "f").navigationTimeout(), } = options;
+        const { waitUntil = 'load', timeout = this.#timeoutSettings.navigationTimeout(), } = options;
         const waitUntilEvent = lifeCycleToSubscribedEvent.get(getWaitUntilSingle(waitUntil));
-        const [info] = await Promise.all([
-            waitForEvent(__classPrivateFieldGet(this, _Frame_context, "f"), waitUntilEvent, () => {
+        const [info] = await Deferred.race([
+            // TODO(lightning00blade): Should also keep tack of
+            // navigationAborted and navigationFailed
+            Promise.all([
+                waitForEvent(this.#context, waitUntilEvent, () => {
+                    return true;
+                }, timeout, this.#abortDeferred.valueOrThrow()),
+                waitForEvent(this.#context, Bidi.ChromiumBidi.BrowsingContext.EventNames.NavigationStarted, () => {
+                    return true;
+                }, timeout, this.#abortDeferred.valueOrThrow()),
+            ]),
+            waitForEvent(this.#context, Bidi.ChromiumBidi.BrowsingContext.EventNames.FragmentNavigated, () => {
                 return true;
-            }, timeout, __classPrivateFieldGet(this, _Frame_abortDeferred, "f").valueOrThrow()),
-            waitForEvent(__classPrivateFieldGet(this, _Frame_context, "f"), Bidi.BrowsingContext.EventNames.FragmentNavigated, () => {
-                return true;
-            }, timeout, __classPrivateFieldGet(this, _Frame_abortDeferred, "f").valueOrThrow()),
+            }, timeout, this.#abortDeferred.valueOrThrow()).then(info => {
+                return [info, undefined];
+            }),
         ]);
-        return __classPrivateFieldGet(this, _Frame_page, "f").getNavigationResponse(info.navigation);
+        return this.#page.getNavigationResponse(info.navigation);
     }
     dispose() {
-        __classPrivateFieldGet(this, _Frame_abortDeferred, "f").reject(new Error('Frame detached'));
-        __classPrivateFieldGet(this, _Frame_context, "f").dispose();
+        this.#abortDeferred.reject(new Error('Frame detached'));
+        this.#context.dispose();
     }
 }
-_Frame_page = new WeakMap(), _Frame_context = new WeakMap(), _Frame_timeoutSettings = new WeakMap(), _Frame_abortDeferred = new WeakMap();
 //# sourceMappingURL=Frame.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Frame.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Frame.js.map
index 847ecfa..ec65546 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Frame.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Frame.js.map
@@ -1 +1 @@
-{"version":3,"file":"Frame.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Frame.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Frame.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAGnE,OAAO,EAAC,KAAK,IAAI,SAAS,EAAC,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAItD,OAAO,EAAC,YAAY,EAAE,4BAA4B,EAAC,MAAM,YAAY,CAAC;AAEtE,OAAO,EAEL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,YAAY,EACZ,iBAAiB,EAEjB,OAAO,GACR,MAAM,cAAc,CAAC;AAEtB;;;GAGG;AACH,MAAM,OAAO,KAAM,SAAQ,SAAS;IAClC,KAAK,CAAO;IACZ,QAAQ,CAAkB;IAC1B,gBAAgB,CAAkB;IAClC,cAAc,GAAG,QAAQ,CAAC,MAAM,EAAS,CAAC;IAC1C,SAAS,CAAe;IACf,GAAG,CAAS;IAErB,YACE,IAAU,EACV,OAAwB,EACxB,eAAgC,EAChC,QAAwB;QAExB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;QACxC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,IAAI,SAAS,CAAC;QAEvC,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QACtE,IAAI,CAAC,SAAS,GAAG;YACf,CAAC,YAAY,CAAC,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE,eAAe,CAAC;YACrD,CAAC,iBAAiB,CAAC,EAAE,IAAI,OAAO,CAAC,cAAc,EAAE,eAAe,CAAC;SAClE,CAAC;QAEF,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAEQ,SAAS;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAEQ,aAAa;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAC3C,CAAC;IAEQ,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEQ,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC1B,CAAC;IAEQ,GAAG;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC3B,CAAC;IAEQ,WAAW;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAEQ,WAAW;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC;IAEQ,KAAK,CAAC,cAAc,CAI3B,YAA2B,EAC3B,GAAG,IAAY;QAEf,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IAC7D,CAAC;IAEQ,KAAK,CAAC,QAAQ,CAIrB,YAA2B,EAC3B,GAAG,IAAY;QAEf,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IACvD,CAAC;IAEQ,KAAK,CAAC,IAAI,CACjB,GAAW,EACX,OAKC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE;YACjD,GAAG,OAAO;YACV,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE;SACvE,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC;IAEQ,UAAU,CACjB,IAAY,EACZ,OAGC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE;YACpC,GAAG,OAAO;YACV,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE;SACvE,CAAC,CAAC;IACL,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACjC,CAAC;IAEQ,KAAK;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEQ,CAAC,CACR,QAAkB;QAElB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEQ,EAAE,CACT,QAAkB;QAElB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAEQ,KAAK,CAQZ,QAAkB,EAClB,YAA2B,EAC3B,GAAG,IAAY;QAEf,YAAY,GAAG,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IACjE,CAAC;IAEQ,MAAM,CAQb,QAAkB,EAClB,YAA2B,EAC3B,GAAG,IAAY;QAEf,YAAY,GAAG,4BAA4B,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IAClE,CAAC;IAEQ,EAAE,CAAC,UAAkB;QAC5B,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAEQ,KAAK,CAAC,iBAAiB,CAC9B,UAGI,EAAE;QAEN,MAAM,EACJ,SAAS,GAAG,MAAM,EAClB,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,GACpD,GAAG,OAAO,CAAC;QAEZ,MAAM,cAAc,GAAG,0BAA0B,CAAC,GAAG,CACnD,kBAAkB,CAAC,SAAS,CAAC,CACpB,CAAC;QAEZ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC;YACjC,mDAAmD;YACnD,yCAAyC;YACzC,OAAO,CAAC,GAAG,CAAC;gBACV,YAAY,CACV,IAAI,CAAC,QAAQ,EACb,cAAc,EACd,GAAG,EAAE;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC,EACD,OAAO,EACP,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CACnC;gBACD,YAAY,CACV,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,UAAU,CAAC,iBAAiB,EAC9D,GAAG,EAAE;oBACH,OAAO,IAAI,CAAC;gBACd,CAAC,EACD,OAAO,EACP,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CACnC;aACF,CAAC;YACF,YAAY,CACV,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,UAAU,CAAC,iBAAiB,EAC9D,GAAG,EAAE;gBACH,OAAO,IAAI,CAAC;YACd,CAAC,EACD,OAAO,EACP,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CACnC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACZ,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;YAC3B,CAAC,CAAC;SACH,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IAED,OAAO;QACL,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPRequest.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPRequest.d.ts
index 6e5b24b..ca5e3c5 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPRequest.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPRequest.d.ts
@@ -25,7 +25,7 @@
     _response: HTTPResponse | null;
     _redirectChain: HTTPRequest[];
     _navigationId: string | null;
-    constructor(event: Bidi.Network.BeforeRequestSentParams, frame: Frame | null, redirectChain: HTTPRequest[]);
+    constructor(event: Bidi.Network.BeforeRequestSentParameters, frame: Frame | null, redirectChain: HTTPRequest[]);
     url(): string;
     resourceType(): ResourceType;
     method(): string;
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPRequest.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPRequest.d.ts.map
index a00062a..1999098 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPRequest.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPRequest.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"HTTPRequest.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/HTTPRequest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACzC,OAAO,EACL,WAAW,IAAI,eAAe,EAC9B,YAAY,EACb,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE/C;;GAEG;AACH,qBAAa,WAAY,SAAQ,eAAe;;IACrC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAQ;IACtC,cAAc,EAAE,WAAW,EAAE,CAAC;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;gBAY3B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAC3C,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,aAAa,EAAE,WAAW,EAAE;IAwBrB,GAAG,IAAI,MAAM;IAIb,YAAY,IAAI,YAAY;IAI5B,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIjC,QAAQ,IAAI,YAAY,GAAG,IAAI;IAI/B,mBAAmB,IAAI,OAAO;IAI9B,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS;IAInC,aAAa,IAAI,WAAW,EAAE;IAI9B,sBAAsB,CAC7B,cAAc,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,GAChD,IAAI;IAKE,KAAK,IAAI,KAAK,GAAG,IAAI;CAG/B"}
\ No newline at end of file
+{"version":3,"file":"HTTPRequest.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/HTTPRequest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACzC,OAAO,EACL,WAAW,IAAI,eAAe,EAC9B,YAAY,EACb,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAE/C;;GAEG;AACH,qBAAa,WAAY,SAAQ,eAAe;;IACrC,SAAS,EAAE,YAAY,GAAG,IAAI,CAAQ;IACtC,cAAc,EAAE,WAAW,EAAE,CAAC;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;gBAY3B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAC/C,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,aAAa,EAAE,WAAW,EAAE;IAwBrB,GAAG,IAAI,MAAM;IAIb,YAAY,IAAI,YAAY;IAI5B,MAAM,IAAI,MAAM;IAIhB,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIjC,QAAQ,IAAI,YAAY,GAAG,IAAI;IAI/B,mBAAmB,IAAI,OAAO;IAI9B,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS;IAInC,aAAa,IAAI,WAAW,EAAE;IAI9B,sBAAsB,CAC7B,cAAc,EAAE,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,GAChD,IAAI;IAKE,KAAK,IAAI,KAAK,GAAG,IAAI;CAG/B"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPRequest.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPRequest.js
index 98edb4b..0d2b2ae 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPRequest.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPRequest.js
@@ -1,61 +1,51 @@
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _HTTPRequest_url, _HTTPRequest_resourceType, _HTTPRequest_method, _HTTPRequest_postData, _HTTPRequest_headers, _HTTPRequest_initiator, _HTTPRequest_frame;
 import { HTTPRequest as BaseHTTPRequest, } from '../../api/HTTPRequest.js';
 /**
  * @internal
  */
 export class HTTPRequest extends BaseHTTPRequest {
+    _response = null;
+    _redirectChain;
+    _navigationId;
+    #url;
+    #resourceType;
+    #method;
+    #postData;
+    #headers = {};
+    #initiator;
+    #frame;
     constructor(event, frame, redirectChain) {
         super();
-        this._response = null;
-        _HTTPRequest_url.set(this, void 0);
-        _HTTPRequest_resourceType.set(this, void 0);
-        _HTTPRequest_method.set(this, void 0);
-        _HTTPRequest_postData.set(this, void 0);
-        _HTTPRequest_headers.set(this, {});
-        _HTTPRequest_initiator.set(this, void 0);
-        _HTTPRequest_frame.set(this, void 0);
-        __classPrivateFieldSet(this, _HTTPRequest_url, event.request.url, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_resourceType, event.initiator.type.toLowerCase(), "f");
-        __classPrivateFieldSet(this, _HTTPRequest_method, event.request.method, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_postData, undefined, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_initiator, event.initiator, "f");
-        __classPrivateFieldSet(this, _HTTPRequest_frame, frame, "f");
+        this.#url = event.request.url;
+        this.#resourceType = event.initiator.type.toLowerCase();
+        this.#method = event.request.method;
+        this.#postData = undefined;
+        this.#initiator = event.initiator;
+        this.#frame = frame;
         this._requestId = event.request.request;
         this._redirectChain = redirectChain ?? [];
         this._navigationId = event.navigation;
-        for (const { name, value } of event.request.headers) {
+        for (const header of event.request.headers) {
             // TODO: How to handle Binary Headers
             // https://w3c.github.io/webdriver-bidi/#type-network-Header
-            if (value) {
-                __classPrivateFieldGet(this, _HTTPRequest_headers, "f")[name.toLowerCase()] = value;
+            if (header.value.type === 'string') {
+                this.#headers[header.name.toLowerCase()] = header.value.value;
             }
         }
     }
     url() {
-        return __classPrivateFieldGet(this, _HTTPRequest_url, "f");
+        return this.#url;
     }
     resourceType() {
-        return __classPrivateFieldGet(this, _HTTPRequest_resourceType, "f");
+        return this.#resourceType;
     }
     method() {
-        return __classPrivateFieldGet(this, _HTTPRequest_method, "f");
+        return this.#method;
     }
     postData() {
-        return __classPrivateFieldGet(this, _HTTPRequest_postData, "f");
+        return this.#postData;
     }
     headers() {
-        return __classPrivateFieldGet(this, _HTTPRequest_headers, "f");
+        return this.#headers;
     }
     response() {
         return this._response;
@@ -64,7 +54,7 @@
         return Boolean(this._navigationId);
     }
     initiator() {
-        return __classPrivateFieldGet(this, _HTTPRequest_initiator, "f");
+        return this.#initiator;
     }
     redirectChain() {
         return this._redirectChain.slice();
@@ -74,8 +64,7 @@
         void pendingHandler();
     }
     frame() {
-        return __classPrivateFieldGet(this, _HTTPRequest_frame, "f");
+        return this.#frame;
     }
 }
-_HTTPRequest_url = new WeakMap(), _HTTPRequest_resourceType = new WeakMap(), _HTTPRequest_method = new WeakMap(), _HTTPRequest_postData = new WeakMap(), _HTTPRequest_headers = new WeakMap(), _HTTPRequest_initiator = new WeakMap(), _HTTPRequest_frame = new WeakMap();
 //# sourceMappingURL=HTTPRequest.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPRequest.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPRequest.js.map
index 535de62..0f66b73 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPRequest.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPRequest.js.map
@@ -1 +1 @@
-{"version":3,"file":"HTTPRequest.js","sourceRoot":"","sources":["../../../../../src/common/bidi/HTTPRequest.ts"],"names":[],"mappings":";;;;;;;;;;;;AAkBA,OAAO,EACL,WAAW,IAAI,eAAe,GAE/B,MAAM,0BAA0B,CAAC;AAIlC;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,eAAe;IAc9C,YACE,KAA2C,EAC3C,KAAmB,EACnB,aAA4B;QAE5B,KAAK,EAAE,CAAC;QAlBD,cAAS,GAAwB,IAAI,CAAC;QAI/C,mCAAa;QACb,4CAA4B;QAE5B,sCAAgB;QAChB,wCAAmB;QACnB,+BAAmC,EAAE,EAAC;QACtC,yCAAmC;QACnC,qCAAqB;QASnB,uBAAA,IAAI,oBAAQ,KAAK,CAAC,OAAO,CAAC,GAAG,MAAA,CAAC;QAC9B,uBAAA,IAAI,6BAAiB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAkB,MAAA,CAAC;QACxE,uBAAA,IAAI,uBAAW,KAAK,CAAC,OAAO,CAAC,MAAM,MAAA,CAAC;QACpC,uBAAA,IAAI,yBAAa,SAAS,MAAA,CAAC;QAC3B,uBAAA,IAAI,0BAAc,KAAK,CAAC,SAAS,MAAA,CAAC;QAClC,uBAAA,IAAI,sBAAU,KAAK,MAAA,CAAC;QAEpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,aAAa,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC;QAEtC,KAAK,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;YACjD,qCAAqC;YACrC,4DAA4D;YAC5D,IAAI,KAAK,EAAE;gBACT,uBAAA,IAAI,4BAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;aAC3C;SACF;IACH,CAAC;IAEQ,GAAG;QACV,OAAO,uBAAA,IAAI,wBAAK,CAAC;IACnB,CAAC;IAEQ,YAAY;QACnB,OAAO,uBAAA,IAAI,iCAAc,CAAC;IAC5B,CAAC;IAEQ,MAAM;QACb,OAAO,uBAAA,IAAI,2BAAQ,CAAC;IACtB,CAAC;IAEQ,QAAQ;QACf,OAAO,uBAAA,IAAI,6BAAU,CAAC;IACxB,CAAC;IAEQ,OAAO;QACd,OAAO,uBAAA,IAAI,4BAAS,CAAC;IACvB,CAAC;IAEQ,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEQ,mBAAmB;QAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAEQ,SAAS;QAChB,OAAO,uBAAA,IAAI,8BAAW,CAAC;IACzB,CAAC;IAEQ,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAEQ,sBAAsB,CAC7B,cAAiD;QAEjD,yDAAyD;QACzD,KAAK,cAAc,EAAE,CAAC;IACxB,CAAC;IAEQ,KAAK;QACZ,OAAO,uBAAA,IAAI,0BAAO,CAAC;IACrB,CAAC;CACF"}
\ No newline at end of file
+{"version":3,"file":"HTTPRequest.js","sourceRoot":"","sources":["../../../../../src/common/bidi/HTTPRequest.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,WAAW,IAAI,eAAe,GAE/B,MAAM,0BAA0B,CAAC;AAIlC;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,eAAe;IACrC,SAAS,GAAwB,IAAI,CAAC;IACtC,cAAc,CAAgB;IACvC,aAAa,CAAgB;IAE7B,IAAI,CAAS;IACb,aAAa,CAAe;IAE5B,OAAO,CAAS;IAChB,SAAS,CAAU;IACnB,QAAQ,GAA2B,EAAE,CAAC;IACtC,UAAU,CAAyB;IACnC,MAAM,CAAe;IAErB,YACE,KAA+C,EAC/C,KAAmB,EACnB,aAA4B;QAE5B,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAkB,CAAC;QACxE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACxC,IAAI,CAAC,cAAc,GAAG,aAAa,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC;QAEtC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;YAC1C,qCAAqC;YACrC,4DAA4D;YAC5D,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;aAC/D;SACF;IACH,CAAC;IAEQ,GAAG;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEQ,YAAY;QACnB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEQ,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEQ,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEQ,mBAAmB;QAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAEQ,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEQ,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IACrC,CAAC;IAEQ,sBAAsB,CAC7B,cAAiD;QAEjD,yDAAyD;QACzD,KAAK,cAAc,EAAE,CAAC;IACxB,CAAC;IAEQ,KAAK;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPResponse.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPResponse.d.ts
index d1da55b..8a0e532 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPResponse.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPResponse.d.ts
@@ -23,7 +23,7 @@
  */
 export declare class HTTPResponse extends BaseHTTPResponse {
     #private;
-    constructor(request: HTTPRequest, responseEvent: Bidi.Network.ResponseCompletedParams);
+    constructor(request: HTTPRequest, { response }: Bidi.Network.ResponseCompletedParameters);
     remoteAddress(): RemoteAddress;
     url(): string;
     status(): number;
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPResponse.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPResponse.d.ts.map
index 3698778..db95040 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPResponse.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPResponse.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"HTTPResponse.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/HTTPResponse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AACnE,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACzC,OAAO,EACL,YAAY,IAAI,gBAAgB,EAChC,aAAa,EACd,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C;;GAEG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;;gBAW9C,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,IAAI,CAAC,OAAO,CAAC,uBAAuB;IAwB5C,aAAa,IAAI,aAAa;IAI9B,GAAG,IAAI,MAAM;IAIb,MAAM,IAAI,MAAM;IAIhB,UAAU,IAAI,MAAM;IAIpB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIjC,OAAO,IAAI,WAAW;IAItB,SAAS,IAAI,OAAO;IAIpB,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI;IAIhD,KAAK,IAAI,KAAK,GAAG,IAAI;CAG/B"}
\ No newline at end of file
+{"version":3,"file":"HTTPResponse.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/HTTPResponse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AACnE,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AAEzC,OAAO,EAAC,KAAK,EAAC,MAAM,oBAAoB,CAAC;AACzC,OAAO,EACL,YAAY,IAAI,gBAAgB,EAChC,aAAa,EACd,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C;;GAEG;AACH,qBAAa,YAAa,SAAQ,gBAAgB;;gBAW9C,OAAO,EAAE,WAAW,EACpB,EAAC,QAAQ,EAAC,EAAE,IAAI,CAAC,OAAO,CAAC,2BAA2B;IA2B7C,aAAa,IAAI,aAAa;IAI9B,GAAG,IAAI,MAAM;IAIb,MAAM,IAAI,MAAM;IAIhB,UAAU,IAAI,MAAM;IAIpB,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIjC,OAAO,IAAI,WAAW;IAItB,SAAS,IAAI,OAAO;IAIpB,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,cAAc,GAAG,IAAI;IAIhD,KAAK,IAAI,KAAK,GAAG,IAAI;CAG/B"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPResponse.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPResponse.js
index 0b6a1f7..fae44fd 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPResponse.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPResponse.js
@@ -1,74 +1,64 @@
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _HTTPResponse_request, _HTTPResponse_remoteAddress, _HTTPResponse_status, _HTTPResponse_statusText, _HTTPResponse_url, _HTTPResponse_fromCache, _HTTPResponse_headers, _HTTPResponse_timings;
 import { HTTPResponse as BaseHTTPResponse, } from '../../api/HTTPResponse.js';
 /**
  * @internal
  */
 export class HTTPResponse extends BaseHTTPResponse {
-    constructor(request, responseEvent) {
+    #request;
+    #remoteAddress;
+    #status;
+    #statusText;
+    #url;
+    #fromCache;
+    #headers = {};
+    #timings;
+    constructor(request, { response }) {
         super();
-        _HTTPResponse_request.set(this, void 0);
-        _HTTPResponse_remoteAddress.set(this, void 0);
-        _HTTPResponse_status.set(this, void 0);
-        _HTTPResponse_statusText.set(this, void 0);
-        _HTTPResponse_url.set(this, void 0);
-        _HTTPResponse_fromCache.set(this, void 0);
-        _HTTPResponse_headers.set(this, {});
-        _HTTPResponse_timings.set(this, void 0);
-        const { response } = responseEvent;
-        __classPrivateFieldSet(this, _HTTPResponse_request, request, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_remoteAddress, {
+        this.#request = request;
+        this.#remoteAddress = {
             ip: '',
             port: -1,
-        }, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_url, response.url, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_fromCache, response.fromCache, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_status, response.status, "f");
-        __classPrivateFieldSet(this, _HTTPResponse_statusText, response.statusText, "f");
-        // TODO: update once BiDi has types
-        __classPrivateFieldSet(this, _HTTPResponse_timings, response.timings ?? null, "f");
+        };
+        this.#url = response.url;
+        this.#fromCache = response.fromCache;
+        this.#status = response.status;
+        this.#statusText = response.statusText;
+        // TODO: File and issue with BiDi spec
+        this.#timings = null;
         // TODO: Removed once the Firefox implementation is compliant with https://w3c.github.io/webdriver-bidi/#get-the-response-data.
         for (const header of response.headers || []) {
-            __classPrivateFieldGet(this, _HTTPResponse_headers, "f")[header.name] = header.value ?? '';
+            // TODO: How to handle Binary Headers
+            // https://w3c.github.io/webdriver-bidi/#type-network-Header
+            if (header.value.type === 'string') {
+                this.#headers[header.name.toLowerCase()] = header.value.value;
+            }
         }
     }
     remoteAddress() {
-        return __classPrivateFieldGet(this, _HTTPResponse_remoteAddress, "f");
+        return this.#remoteAddress;
     }
     url() {
-        return __classPrivateFieldGet(this, _HTTPResponse_url, "f");
+        return this.#url;
     }
     status() {
-        return __classPrivateFieldGet(this, _HTTPResponse_status, "f");
+        return this.#status;
     }
     statusText() {
-        return __classPrivateFieldGet(this, _HTTPResponse_statusText, "f");
+        return this.#statusText;
     }
     headers() {
-        return __classPrivateFieldGet(this, _HTTPResponse_headers, "f");
+        return this.#headers;
     }
     request() {
-        return __classPrivateFieldGet(this, _HTTPResponse_request, "f");
+        return this.#request;
     }
     fromCache() {
-        return __classPrivateFieldGet(this, _HTTPResponse_fromCache, "f");
+        return this.#fromCache;
     }
     timing() {
-        return __classPrivateFieldGet(this, _HTTPResponse_timings, "f");
+        return this.#timings;
     }
     frame() {
-        return __classPrivateFieldGet(this, _HTTPResponse_request, "f").frame();
+        return this.#request.frame();
     }
 }
-_HTTPResponse_request = new WeakMap(), _HTTPResponse_remoteAddress = new WeakMap(), _HTTPResponse_status = new WeakMap(), _HTTPResponse_statusText = new WeakMap(), _HTTPResponse_url = new WeakMap(), _HTTPResponse_fromCache = new WeakMap(), _HTTPResponse_headers = new WeakMap(), _HTTPResponse_timings = new WeakMap();
 //# sourceMappingURL=HTTPResponse.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPResponse.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPResponse.js.map
index fad33ea..b8062c9 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPResponse.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/HTTPResponse.js.map
@@ -1 +1 @@
-{"version":3,"file":"HTTPResponse.js","sourceRoot":"","sources":["../../../../../src/common/bidi/HTTPResponse.ts"],"names":[],"mappings":";;;;;;;;;;;;AAmBA,OAAO,EACL,YAAY,IAAI,gBAAgB,GAEjC,MAAM,2BAA2B,CAAC;AAInC;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,gBAAgB;IAUhD,YACE,OAAoB,EACpB,aAAmD;QAEnD,KAAK,EAAE,CAAC;QAbV,wCAAsB;QACtB,8CAA8B;QAC9B,uCAAgB;QAChB,2CAAoB;QACpB,oCAAa;QACb,0CAAoB;QACpB,gCAAmC,EAAE,EAAC;QACtC,wCAAwC;QAOtC,MAAM,EAAC,QAAQ,EAAC,GAAG,aAAa,CAAC;QACjC,uBAAA,IAAI,yBAAY,OAAO,MAAA,CAAC;QAExB,uBAAA,IAAI,+BAAkB;YACpB,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,CAAC,CAAC;SACT,MAAA,CAAC;QAEF,uBAAA,IAAI,qBAAQ,QAAQ,CAAC,GAAG,MAAA,CAAC;QACzB,uBAAA,IAAI,2BAAc,QAAQ,CAAC,SAAS,MAAA,CAAC;QACrC,uBAAA,IAAI,wBAAW,QAAQ,CAAC,MAAM,MAAA,CAAC;QAC/B,uBAAA,IAAI,4BAAe,QAAQ,CAAC,UAAU,MAAA,CAAC;QACvC,mCAAmC;QACnC,uBAAA,IAAI,yBAAa,QAAgB,CAAC,OAAO,IAAI,IAAI,MAAA,CAAC;QAElD,+HAA+H;QAC/H,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE;YAC3C,uBAAA,IAAI,6BAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SACjD;IACH,CAAC;IAEQ,aAAa;QACpB,OAAO,uBAAA,IAAI,mCAAe,CAAC;IAC7B,CAAC;IAEQ,GAAG;QACV,OAAO,uBAAA,IAAI,yBAAK,CAAC;IACnB,CAAC;IAEQ,MAAM;QACb,OAAO,uBAAA,IAAI,4BAAQ,CAAC;IACtB,CAAC;IAEQ,UAAU;QACjB,OAAO,uBAAA,IAAI,gCAAY,CAAC;IAC1B,CAAC;IAEQ,OAAO;QACd,OAAO,uBAAA,IAAI,6BAAS,CAAC;IACvB,CAAC;IAEQ,OAAO;QACd,OAAO,uBAAA,IAAI,6BAAS,CAAC;IACvB,CAAC;IAEQ,SAAS;QAChB,OAAO,uBAAA,IAAI,+BAAW,CAAC;IACzB,CAAC;IAEQ,MAAM;QACb,OAAO,uBAAA,IAAI,6BAAgB,CAAC;IAC9B,CAAC;IAEQ,KAAK;QACZ,OAAO,uBAAA,IAAI,6BAAS,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACF"}
\ No newline at end of file
+{"version":3,"file":"HTTPResponse.js","sourceRoot":"","sources":["../../../../../src/common/bidi/HTTPResponse.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,YAAY,IAAI,gBAAgB,GAEjC,MAAM,2BAA2B,CAAC;AAInC;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,gBAAgB;IAChD,QAAQ,CAAc;IACtB,cAAc,CAAgB;IAC9B,OAAO,CAAS;IAChB,WAAW,CAAS;IACpB,IAAI,CAAS;IACb,UAAU,CAAU;IACpB,QAAQ,GAA2B,EAAE,CAAC;IACtC,QAAQ,CAAgC;IAExC,YACE,OAAoB,EACpB,EAAC,QAAQ,EAA2C;QAEpD,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,IAAI,CAAC,cAAc,GAAG;YACpB,EAAE,EAAE,EAAE;YACN,IAAI,EAAE,CAAC,CAAC;SACT,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC;QACvC,sCAAsC;QACtC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,+HAA+H;QAC/H,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,IAAI,EAAE,EAAE;YAC3C,qCAAqC;YACrC,4DAA4D;YAC5D,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;aAC/D;SACF;IACH,CAAC;IAEQ,aAAa;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEQ,GAAG;QACV,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEQ,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAEQ,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEQ,MAAM;QACb,OAAO,IAAI,CAAC,QAAe,CAAC;IAC9B,CAAC;IAEQ,KAAK;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Input.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Input.d.ts.map
index fb8caaa..86cb37b 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Input.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Input.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Input.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Input.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Input.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Input.js
index 38b9274..1923e3e 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Input.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Input.js
@@ -13,20 +13,24 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Keyboard_context, _Mouse_context, _Mouse_lastMovePoint, _Touchscreen_context;
-import * as Bidi from 'chromium-bidi/lib/cjs/protocol/protocol.js';
 import { Keyboard as BaseKeyboard, Mouse as BaseMouse, Touchscreen as BaseTouchscreen, MouseButton, } from '../../api/Input.js';
+var SourceActionsType;
+(function (SourceActionsType) {
+    SourceActionsType["None"] = "none";
+    SourceActionsType["Key"] = "key";
+    SourceActionsType["Pointer"] = "pointer";
+    SourceActionsType["Wheel"] = "wheel";
+})(SourceActionsType || (SourceActionsType = {}));
+var ActionType;
+(function (ActionType) {
+    ActionType["Pause"] = "pause";
+    ActionType["KeyDown"] = "keyDown";
+    ActionType["KeyUp"] = "keyUp";
+    ActionType["PointerUp"] = "pointerUp";
+    ActionType["PointerDown"] = "pointerDown";
+    ActionType["PointerMove"] = "pointerMove";
+    ActionType["Scroll"] = "scroll";
+})(ActionType || (ActionType = {}));
 const getBidiKeyValue = (key) => {
     switch (key) {
         case '\r':
@@ -253,24 +257,24 @@
  * @internal
  */
 export class Keyboard extends BaseKeyboard {
+    #context;
     /**
      * @internal
      */
     constructor(context) {
         super();
-        _Keyboard_context.set(this, void 0);
-        __classPrivateFieldSet(this, _Keyboard_context, context, "f");
+        this.#context = context;
     }
     async down(key, _options) {
-        await __classPrivateFieldGet(this, _Keyboard_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Keyboard_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Key,
+                    type: SourceActionsType.Key,
                     id: "__puppeteer_keyboard" /* InputId.Keyboard */,
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.KeyDown,
+                            type: ActionType.KeyDown,
                             value: getBidiKeyValue(key),
                         },
                     ],
@@ -279,15 +283,15 @@
         });
     }
     async up(key) {
-        await __classPrivateFieldGet(this, _Keyboard_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Keyboard_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Key,
+                    type: SourceActionsType.Key,
                     id: "__puppeteer_keyboard" /* InputId.Keyboard */,
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.KeyUp,
+                            type: ActionType.KeyUp,
                             value: getBidiKeyValue(key),
                         },
                     ],
@@ -299,25 +303,25 @@
         const { delay = 0 } = options;
         const actions = [
             {
-                type: Bidi.Input.ActionType.KeyDown,
+                type: ActionType.KeyDown,
                 value: getBidiKeyValue(key),
             },
         ];
         if (delay > 0) {
             actions.push({
-                type: Bidi.Input.ActionType.Pause,
+                type: ActionType.Pause,
                 duration: delay,
             });
         }
         actions.push({
-            type: Bidi.Input.ActionType.KeyUp,
+            type: ActionType.KeyUp,
             value: getBidiKeyValue(key),
         });
-        await __classPrivateFieldGet(this, _Keyboard_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Keyboard_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Key,
+                    type: SourceActionsType.Key,
                     id: "__puppeteer_keyboard" /* InputId.Keyboard */,
                     actions,
                 },
@@ -333,10 +337,10 @@
         if (delay <= 0) {
             for (const value of values) {
                 actions.push({
-                    type: Bidi.Input.ActionType.KeyDown,
+                    type: ActionType.KeyDown,
                     value,
                 }, {
-                    type: Bidi.Input.ActionType.KeyUp,
+                    type: ActionType.KeyUp,
                     value,
                 });
             }
@@ -344,22 +348,22 @@
         else {
             for (const value of values) {
                 actions.push({
-                    type: Bidi.Input.ActionType.KeyDown,
+                    type: ActionType.KeyDown,
                     value,
                 }, {
-                    type: Bidi.Input.ActionType.Pause,
+                    type: ActionType.Pause,
                     duration: delay,
                 }, {
-                    type: Bidi.Input.ActionType.KeyUp,
+                    type: ActionType.KeyUp,
                     value,
                 });
             }
         }
-        await __classPrivateFieldGet(this, _Keyboard_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Keyboard_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Key,
+                    type: SourceActionsType.Key,
                     id: "__puppeteer_keyboard" /* InputId.Keyboard */,
                     actions,
                 },
@@ -367,7 +371,6 @@
         });
     }
 }
-_Keyboard_context = new WeakMap();
 const getBidiButton = (button) => {
     switch (button) {
         case MouseButton.Left:
@@ -386,35 +389,35 @@
  * @internal
  */
 export class Mouse extends BaseMouse {
+    #context;
+    #lastMovePoint;
     /**
      * @internal
      */
     constructor(context) {
         super();
-        _Mouse_context.set(this, void 0);
-        _Mouse_lastMovePoint.set(this, void 0);
-        __classPrivateFieldSet(this, _Mouse_context, context, "f");
+        this.#context = context;
     }
     async reset() {
-        __classPrivateFieldSet(this, _Mouse_lastMovePoint, undefined, "f");
-        await __classPrivateFieldGet(this, _Mouse_context, "f").connection.send('input.releaseActions', {
-            context: __classPrivateFieldGet(this, _Mouse_context, "f").id,
+        this.#lastMovePoint = undefined;
+        await this.#context.connection.send('input.releaseActions', {
+            context: this.#context.id,
         });
     }
     async move(x, y, options = {}) {
-        __classPrivateFieldSet(this, _Mouse_lastMovePoint, {
+        this.#lastMovePoint = {
             x,
             y,
-        }, "f");
-        await __classPrivateFieldGet(this, _Mouse_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Mouse_context, "f").id,
+        };
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Pointer,
+                    type: SourceActionsType.Pointer,
                     id: "__puppeteer_mouse" /* InputId.Mouse */,
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.PointerMove,
+                            type: ActionType.PointerMove,
                             x,
                             y,
                             duration: (options.steps ?? 0) * 50,
@@ -426,15 +429,15 @@
         });
     }
     async down(options = {}) {
-        await __classPrivateFieldGet(this, _Mouse_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Mouse_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Pointer,
+                    type: SourceActionsType.Pointer,
                     id: "__puppeteer_mouse" /* InputId.Mouse */,
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.PointerDown,
+                            type: ActionType.PointerDown,
                             button: getBidiButton(options.button ?? MouseButton.Left),
                         },
                     ],
@@ -443,15 +446,15 @@
         });
     }
     async up(options = {}) {
-        await __classPrivateFieldGet(this, _Mouse_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Mouse_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Pointer,
+                    type: SourceActionsType.Pointer,
                     id: "__puppeteer_mouse" /* InputId.Mouse */,
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.PointerUp,
+                            type: ActionType.PointerUp,
                             button: getBidiButton(options.button ?? MouseButton.Left),
                         },
                     ],
@@ -462,18 +465,18 @@
     async click(x, y, options = {}) {
         const actions = [
             {
-                type: Bidi.Input.ActionType.PointerMove,
+                type: ActionType.PointerMove,
                 x,
                 y,
                 origin: options.origin,
             },
         ];
         const pointerDownAction = {
-            type: Bidi.Input.ActionType.PointerDown,
+            type: ActionType.PointerDown,
             button: getBidiButton(options.button ?? MouseButton.Left),
         };
         const pointerUpAction = {
-            type: Bidi.Input.ActionType.PointerUp,
+            type: ActionType.PointerUp,
             button: pointerDownAction.button,
         };
         for (let i = 1; i < (options.count ?? 1); ++i) {
@@ -482,16 +485,16 @@
         actions.push(pointerDownAction);
         if (options.delay) {
             actions.push({
-                type: Bidi.Input.ActionType.Pause,
+                type: ActionType.Pause,
                 duration: options.delay,
             });
         }
         actions.push(pointerUpAction);
-        await __classPrivateFieldGet(this, _Mouse_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Mouse_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Pointer,
+                    type: SourceActionsType.Pointer,
                     id: "__puppeteer_mouse" /* InputId.Mouse */,
                     actions,
                 },
@@ -499,16 +502,16 @@
         });
     }
     async wheel(options = {}) {
-        await __classPrivateFieldGet(this, _Mouse_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Mouse_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Wheel,
+                    type: SourceActionsType.Wheel,
                     id: "__puppeteer_wheel" /* InputId.Wheel */,
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.Scroll,
-                            ...(__classPrivateFieldGet(this, _Mouse_lastMovePoint, "f") ?? {
+                            type: ActionType.Scroll,
+                            ...(this.#lastMovePoint ?? {
                                 x: 0,
                                 y: 0,
                             }),
@@ -521,42 +524,41 @@
         });
     }
 }
-_Mouse_context = new WeakMap(), _Mouse_lastMovePoint = new WeakMap();
 /**
  * @internal
  */
 export class Touchscreen extends BaseTouchscreen {
+    #context;
     /**
      * @internal
      */
     constructor(context) {
         super();
-        _Touchscreen_context.set(this, void 0);
-        __classPrivateFieldSet(this, _Touchscreen_context, context, "f");
+        this.#context = context;
     }
     async tap(x, y, options = {}) {
         await this.touchStart(x, y, options);
         await this.touchEnd();
     }
     async touchStart(x, y, options = {}) {
-        await __classPrivateFieldGet(this, _Touchscreen_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Touchscreen_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Pointer,
+                    type: SourceActionsType.Pointer,
                     id: "__puppeteer_finger" /* InputId.Finger */,
                     parameters: {
-                        pointerType: Bidi.Input.PointerType.Touch,
+                        pointerType: "touch" /* Bidi.Input.PointerType.Touch */,
                     },
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.PointerMove,
+                            type: ActionType.PointerMove,
                             x,
                             y,
                             origin: options.origin,
                         },
                         {
-                            type: Bidi.Input.ActionType.PointerDown,
+                            type: ActionType.PointerDown,
                             button: 0,
                         },
                     ],
@@ -565,18 +567,18 @@
         });
     }
     async touchMove(x, y, options = {}) {
-        await __classPrivateFieldGet(this, _Touchscreen_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Touchscreen_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Pointer,
+                    type: SourceActionsType.Pointer,
                     id: "__puppeteer_finger" /* InputId.Finger */,
                     parameters: {
-                        pointerType: Bidi.Input.PointerType.Touch,
+                        pointerType: "touch" /* Bidi.Input.PointerType.Touch */,
                     },
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.PointerMove,
+                            type: ActionType.PointerMove,
                             x,
                             y,
                             origin: options.origin,
@@ -587,18 +589,18 @@
         });
     }
     async touchEnd() {
-        await __classPrivateFieldGet(this, _Touchscreen_context, "f").connection.send('input.performActions', {
-            context: __classPrivateFieldGet(this, _Touchscreen_context, "f").id,
+        await this.#context.connection.send('input.performActions', {
+            context: this.#context.id,
             actions: [
                 {
-                    type: Bidi.Input.SourceActionsType.Pointer,
+                    type: SourceActionsType.Pointer,
                     id: "__puppeteer_finger" /* InputId.Finger */,
                     parameters: {
-                        pointerType: Bidi.Input.PointerType.Touch,
+                        pointerType: "touch" /* Bidi.Input.PointerType.Touch */,
                     },
                     actions: [
                         {
-                            type: Bidi.Input.ActionType.PointerUp,
+                            type: ActionType.PointerUp,
                             button: 0,
                         },
                     ],
@@ -607,5 +609,4 @@
         });
     }
 }
-_Touchscreen_context = new WeakMap();
 //# sourceMappingURL=Input.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Input.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Input.js.map
index d27bfe4..bc05b56 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Input.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Input.js.map
@@ -1 +1 @@
-{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Input.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Input.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/JSHandle.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/JSHandle.d.ts
index 4316bd6..effa9a3 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/JSHandle.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/JSHandle.d.ts
@@ -20,7 +20,7 @@
 import { Realm } from './Realm.js';
 export declare class JSHandle<T = unknown> extends BaseJSHandle<T> {
     #private;
-    constructor(realm: Realm, remoteValue: Bidi.CommonDataTypes.RemoteValue);
+    constructor(realm: Realm, remoteValue: Bidi.Script.RemoteValue);
     context(): Realm;
     get disposed(): boolean;
     evaluate<Params extends unknown[], Func extends EvaluateFuncWith<T, Params> = EvaluateFuncWith<T, Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>;
@@ -34,6 +34,6 @@
     get isPrimitiveValue(): boolean;
     toString(): string;
     get id(): string | undefined;
-    remoteValue(): Bidi.CommonDataTypes.RemoteValue;
+    remoteValue(): Bidi.Script.RemoteValue;
 }
 //# sourceMappingURL=JSHandle.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/JSHandle.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/JSHandle.d.ts.map
index 136c198..b88099b 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/JSHandle.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/JSHandle.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"JSHandle.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/JSHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAC,QAAQ,IAAI,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAG5E,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAIjC,qBAAa,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;;gBAK5C,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW;IAMvE,OAAO,IAAI,KAAK;IAIhB,IAAa,QAAQ,IAAI,OAAO,CAE/B;IAEc,QAAQ,CACrB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAQtB,cAAc,CAC3B,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAQjC,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EAC1C,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACZ,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAS9D,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IA8BnD,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC;IAS7B,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI;IAIjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUvC,IAAI,gBAAgB,IAAI,OAAO,CAa9B;IAEQ,QAAQ,IAAI,MAAM;IAQ3B,IAAa,EAAE,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW;CAGhD"}
\ No newline at end of file
+{"version":3,"file":"JSHandle.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/JSHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAC,QAAQ,IAAI,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAC,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAG5E,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAIjC,qBAAa,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;;gBAK5C,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;IAM9D,OAAO,IAAI,KAAK;IAIhB,IAAa,QAAQ,IAAI,OAAO,CAE/B;IAEc,QAAQ,CACrB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;IAQtB,cAAc,CAC3B,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,EAAE,MAAM,CAAC,EAEtE,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAQjC,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EAC1C,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC,GACxB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACZ,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAS9D,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IA8BnD,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC;IAM7B,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI;IAIjC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAavC,IAAI,gBAAgB,IAAI,OAAO,CAa9B;IAEQ,QAAQ,IAAI,MAAM;IAQ3B,IAAa,EAAE,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW;CAGvC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/JSHandle.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/JSHandle.js
index 2b567a5..dd53228 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/JSHandle.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/JSHandle.js
@@ -13,36 +13,24 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _JSHandle_disposed, _JSHandle_realm, _JSHandle_remoteValue;
 import { JSHandle as BaseJSHandle } from '../../api/JSHandle.js';
 import { withSourcePuppeteerURLIfNone } from '../util.js';
 import { BidiSerializer } from './Serializer.js';
 import { releaseReference } from './utils.js';
 export class JSHandle extends BaseJSHandle {
+    #disposed = false;
+    #realm;
+    #remoteValue;
     constructor(realm, remoteValue) {
         super();
-        _JSHandle_disposed.set(this, false);
-        _JSHandle_realm.set(this, void 0);
-        _JSHandle_remoteValue.set(this, void 0);
-        __classPrivateFieldSet(this, _JSHandle_realm, realm, "f");
-        __classPrivateFieldSet(this, _JSHandle_remoteValue, remoteValue, "f");
+        this.#realm = realm;
+        this.#remoteValue = remoteValue;
     }
     context() {
-        return __classPrivateFieldGet(this, _JSHandle_realm, "f");
+        return this.#realm;
     }
     get disposed() {
-        return __classPrivateFieldGet(this, _JSHandle_disposed, "f");
+        return this.#disposed;
     }
     async evaluate(pageFunction, ...args) {
         pageFunction = withSourcePuppeteerURLIfNone(this.evaluate.name, pageFunction);
@@ -83,26 +71,24 @@
         return map;
     }
     async jsonValue() {
-        const value = BidiSerializer.deserialize(__classPrivateFieldGet(this, _JSHandle_remoteValue, "f"));
-        if (__classPrivateFieldGet(this, _JSHandle_remoteValue, "f").type !== 'undefined' && value === undefined) {
-            throw new Error('Could not serialize referenced object');
-        }
-        return value;
+        return await this.evaluate(value => {
+            return value;
+        });
     }
     asElement() {
         return null;
     }
     async dispose() {
-        if (__classPrivateFieldGet(this, _JSHandle_disposed, "f")) {
+        if (this.#disposed) {
             return;
         }
-        __classPrivateFieldSet(this, _JSHandle_disposed, true, "f");
-        if ('handle' in __classPrivateFieldGet(this, _JSHandle_remoteValue, "f")) {
-            await releaseReference(__classPrivateFieldGet(this, _JSHandle_realm, "f"), __classPrivateFieldGet(this, _JSHandle_remoteValue, "f"));
+        this.#disposed = true;
+        if ('handle' in this.#remoteValue) {
+            await releaseReference(this.#realm, this.#remoteValue);
         }
     }
     get isPrimitiveValue() {
-        switch (__classPrivateFieldGet(this, _JSHandle_remoteValue, "f").type) {
+        switch (this.#remoteValue.type) {
             case 'string':
             case 'number':
             case 'bigint':
@@ -116,16 +102,15 @@
     }
     toString() {
         if (this.isPrimitiveValue) {
-            return 'JSHandle:' + BidiSerializer.deserialize(__classPrivateFieldGet(this, _JSHandle_remoteValue, "f"));
+            return 'JSHandle:' + BidiSerializer.deserialize(this.#remoteValue);
         }
-        return 'JSHandle@' + __classPrivateFieldGet(this, _JSHandle_remoteValue, "f").type;
+        return 'JSHandle@' + this.#remoteValue.type;
     }
     get id() {
-        return 'handle' in __classPrivateFieldGet(this, _JSHandle_remoteValue, "f") ? __classPrivateFieldGet(this, _JSHandle_remoteValue, "f").handle : undefined;
+        return 'handle' in this.#remoteValue ? this.#remoteValue.handle : undefined;
     }
     remoteValue() {
-        return __classPrivateFieldGet(this, _JSHandle_remoteValue, "f");
+        return this.#remoteValue;
     }
 }
-_JSHandle_disposed = new WeakMap(), _JSHandle_realm = new WeakMap(), _JSHandle_remoteValue = new WeakMap();
 //# sourceMappingURL=JSHandle.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/JSHandle.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/JSHandle.js.map
index 035312f..31549e0 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/JSHandle.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/JSHandle.js.map
@@ -1 +1 @@
-{"version":3,"file":"JSHandle.js","sourceRoot":"","sources":["../../../../../src/common/bidi/JSHandle.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"JSHandle.js","sourceRoot":"","sources":["../../../../../src/common/bidi/JSHandle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAC,QAAQ,IAAI,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAC,4BAA4B,EAAC,MAAM,YAAY,CAAC;AAGxD,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAC,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAE5C,MAAM,OAAO,QAAsB,SAAQ,YAAe;IACxD,SAAS,GAAG,KAAK,CAAC;IAClB,MAAM,CAAQ;IACd,YAAY,CAA0B;IAEtC,YAAY,KAAY,EAAE,WAAoC;QAC5D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAa,QAAQ;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEQ,KAAK,CAAC,QAAQ,CAIrB,YAA2B,EAC3B,GAAG,IAAY;QAEf,YAAY,GAAG,4BAA4B,CACzC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAClB,YAAY,CACb,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IACpE,CAAC;IAEQ,KAAK,CAAC,cAAc,CAI3B,YAA2B,EAC3B,GAAG,IAAY;QAEf,YAAY,GAAG,4BAA4B,CACzC,IAAI,CAAC,cAAc,CAAC,IAAI,EACxB,YAAY,CACb,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IACpE,CAAC;IAMQ,KAAK,CAAC,WAAW,CACxB,YAAyB;QAEzB,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE;YACxD,OAAO,MAAM,CAAC,YAAiB,CAAC,CAAC;QACnC,CAAC,EAAE,YAAY,CAAC,CAAC;IACnB,CAAC;IAEQ,KAAK,CAAC,aAAa;QAC1B,gFAAgF;QAChF,yDAAyD;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACxC,MAAM,cAAc,GAAG,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;YAC7D,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;gBAC7B,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE;oBAChC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAC1B;aACF;YACD,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,EAAwB,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACb,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CACH,CAAC;QAEF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAU,CAAC,CAAC;YACnC,IAAI,MAAM,EAAE;gBACV,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;aACxB;SACF;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAEQ,KAAK,CAAC,SAAS;QACtB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACjC,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC;IAEQ,SAAS;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,KAAK,CAAC,OAAO;QACpB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,OAAO;SACR;QACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE;YACjC,MAAM,gBAAgB,CACpB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,YAA2C,CACjD,CAAC;SACH;IACH,CAAC;IAED,IAAI,gBAAgB;QAClB,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;YAC9B,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS,CAAC;YACf,KAAK,WAAW,CAAC;YACjB,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC;YAEd;gBACE,OAAO,KAAK,CAAC;SAChB;IACH,CAAC;IAEQ,QAAQ;QACf,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,OAAO,WAAW,GAAG,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACpE;QAED,OAAO,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAC9C,CAAC;IAED,IAAa,EAAE;QACb,OAAO,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/NetworkManager.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/NetworkManager.js
index e9e4f6d..1b2dd23 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/NetworkManager.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/NetworkManager.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _NetworkManager_instances, _NetworkManager_connection, _NetworkManager_page, _NetworkManager_subscribedEvents, _NetworkManager_requestMap, _NetworkManager_navigationMap, _NetworkManager_onBeforeRequestSent, _NetworkManager_onResponseStarted, _NetworkManager_onResponseCompleted, _NetworkManager_onFetchError;
 import { EventEmitter } from '../EventEmitter.js';
 import { NetworkManagerEmittedEvents } from '../NetworkManager.js';
 import { HTTPRequest } from './HTTPRequest.js';
@@ -33,36 +21,79 @@
  * @internal
  */
 export class NetworkManager extends EventEmitter {
+    #connection;
+    #page;
+    #subscribedEvents = new Map([
+        ['network.beforeRequestSent', this.#onBeforeRequestSent.bind(this)],
+        ['network.responseStarted', this.#onResponseStarted.bind(this)],
+        ['network.responseCompleted', this.#onResponseCompleted.bind(this)],
+        ['network.fetchError', this.#onFetchError.bind(this)],
+    ]);
+    #requestMap = new Map();
+    #navigationMap = new Map();
     constructor(connection, page) {
         super();
-        _NetworkManager_instances.add(this);
-        _NetworkManager_connection.set(this, void 0);
-        _NetworkManager_page.set(this, void 0);
-        _NetworkManager_subscribedEvents.set(this, new Map([
-            ['network.beforeRequestSent', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onBeforeRequestSent).bind(this)],
-            ['network.responseStarted', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onResponseStarted).bind(this)],
-            ['network.responseCompleted', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onResponseCompleted).bind(this)],
-            ['network.fetchError', __classPrivateFieldGet(this, _NetworkManager_instances, "m", _NetworkManager_onFetchError).bind(this)],
-        ]));
-        _NetworkManager_requestMap.set(this, new Map());
-        _NetworkManager_navigationMap.set(this, new Map());
-        __classPrivateFieldSet(this, _NetworkManager_connection, connection, "f");
-        __classPrivateFieldSet(this, _NetworkManager_page, page, "f");
+        this.#connection = connection;
+        this.#page = page;
         // TODO: Subscribe to the Frame indivutally
-        for (const [event, subscriber] of __classPrivateFieldGet(this, _NetworkManager_subscribedEvents, "f")) {
-            __classPrivateFieldGet(this, _NetworkManager_connection, "f").on(event, subscriber);
+        for (const [event, subscriber] of this.#subscribedEvents) {
+            this.#connection.on(event, subscriber);
         }
     }
+    #onBeforeRequestSent(event) {
+        const frame = this.#page.frame(event.context ?? '');
+        if (!frame) {
+            return;
+        }
+        const request = this.#requestMap.get(event.request.request);
+        let upsertRequest;
+        if (request) {
+            const requestChain = request._redirectChain;
+            upsertRequest = new HTTPRequest(event, frame, requestChain);
+        }
+        else {
+            upsertRequest = new HTTPRequest(event, frame, []);
+        }
+        this.#requestMap.set(event.request.request, upsertRequest);
+        this.emit(NetworkManagerEmittedEvents.Request, upsertRequest);
+    }
+    #onResponseStarted(_event) { }
+    #onResponseCompleted(event) {
+        const request = this.#requestMap.get(event.request.request);
+        if (!request) {
+            return;
+        }
+        const response = new HTTPResponse(request, event);
+        request._response = response;
+        if (event.navigation) {
+            this.#navigationMap.set(event.navigation, response);
+        }
+        if (response.fromCache()) {
+            this.emit(NetworkManagerEmittedEvents.RequestServedFromCache, request);
+        }
+        this.emit(NetworkManagerEmittedEvents.Response, response);
+        this.emit(NetworkManagerEmittedEvents.RequestFinished, request);
+        this.#requestMap.delete(event.request.request);
+    }
+    #onFetchError(event) {
+        const request = this.#requestMap.get(event.request.request);
+        if (!request) {
+            return;
+        }
+        request._failureText = event.errorText;
+        this.emit(NetworkManagerEmittedEvents.RequestFailed, request);
+        this.#requestMap.delete(event.request.request);
+    }
     getNavigationResponse(navigationId) {
         if (!navigationId) {
             return null;
         }
-        const response = __classPrivateFieldGet(this, _NetworkManager_navigationMap, "f").get(navigationId);
+        const response = this.#navigationMap.get(navigationId);
         return response ?? null;
     }
     inFlightRequestsCount() {
         let inFlightRequestCounter = 0;
-        for (const request of __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").values()) {
+        for (const request of this.#requestMap.values()) {
             if (!request.response() || request._failureText) {
                 inFlightRequestCounter++;
             }
@@ -70,65 +101,24 @@
         return inFlightRequestCounter;
     }
     clearMapAfterFrameDispose(frame) {
-        for (const [id, request] of __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").entries()) {
+        for (const [id, request] of this.#requestMap.entries()) {
             if (request.frame() === frame) {
-                __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").delete(id);
+                this.#requestMap.delete(id);
             }
         }
-        for (const [id, response] of __classPrivateFieldGet(this, _NetworkManager_navigationMap, "f").entries()) {
+        for (const [id, response] of this.#navigationMap.entries()) {
             if (response.frame() === frame) {
-                __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").delete(id);
+                this.#requestMap.delete(id);
             }
         }
     }
     dispose() {
         this.removeAllListeners();
-        __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").clear();
-        __classPrivateFieldGet(this, _NetworkManager_navigationMap, "f").clear();
-        for (const [event, subscriber] of __classPrivateFieldGet(this, _NetworkManager_subscribedEvents, "f")) {
-            __classPrivateFieldGet(this, _NetworkManager_connection, "f").off(event, subscriber);
+        this.#requestMap.clear();
+        this.#navigationMap.clear();
+        for (const [event, subscriber] of this.#subscribedEvents) {
+            this.#connection.off(event, subscriber);
         }
     }
 }
-_NetworkManager_connection = new WeakMap(), _NetworkManager_page = new WeakMap(), _NetworkManager_subscribedEvents = new WeakMap(), _NetworkManager_requestMap = new WeakMap(), _NetworkManager_navigationMap = new WeakMap(), _NetworkManager_instances = new WeakSet(), _NetworkManager_onBeforeRequestSent = function _NetworkManager_onBeforeRequestSent(event) {
-    const frame = __classPrivateFieldGet(this, _NetworkManager_page, "f").frame(event.context ?? '');
-    if (!frame) {
-        return;
-    }
-    const request = __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").get(event.request.request);
-    let upsertRequest;
-    if (request) {
-        const requestChain = request._redirectChain;
-        upsertRequest = new HTTPRequest(event, frame, requestChain);
-    }
-    else {
-        upsertRequest = new HTTPRequest(event, frame, []);
-    }
-    __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").set(event.request.request, upsertRequest);
-    this.emit(NetworkManagerEmittedEvents.Request, upsertRequest);
-}, _NetworkManager_onResponseStarted = function _NetworkManager_onResponseStarted(_event) { }, _NetworkManager_onResponseCompleted = function _NetworkManager_onResponseCompleted(event) {
-    const request = __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").get(event.request.request);
-    if (!request) {
-        return;
-    }
-    const response = new HTTPResponse(request, event);
-    request._response = response;
-    if (event.navigation) {
-        __classPrivateFieldGet(this, _NetworkManager_navigationMap, "f").set(event.navigation, response);
-    }
-    if (response.fromCache()) {
-        this.emit(NetworkManagerEmittedEvents.RequestServedFromCache, request);
-    }
-    this.emit(NetworkManagerEmittedEvents.Response, response);
-    this.emit(NetworkManagerEmittedEvents.RequestFinished, request);
-    __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").delete(event.request.request);
-}, _NetworkManager_onFetchError = function _NetworkManager_onFetchError(event) {
-    const request = __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").get(event.request.request);
-    if (!request) {
-        return;
-    }
-    request._failureText = event.errorText;
-    this.emit(NetworkManagerEmittedEvents.RequestFailed, request);
-    __classPrivateFieldGet(this, _NetworkManager_requestMap, "f").delete(event.request.request);
-};
 //# sourceMappingURL=NetworkManager.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/NetworkManager.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/NetworkManager.js.map
index 5df60e2..452bdba 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/NetworkManager.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/NetworkManager.js.map
@@ -1 +1 @@
-{"version":3,"file":"NetworkManager.js","sourceRoot":"","sources":["../../../../../src/common/bidi/NetworkManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"NetworkManager.js","sourceRoot":"","sources":["../../../../../src/common/bidi/NetworkManager.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Page.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Page.d.ts
index d4bc9c3..1d6b563 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Page.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Page.d.ts
@@ -16,10 +16,10 @@
 /// <reference types="node" />
 /// <reference types="node" />
 import type { Readable } from 'stream';
-import * as Bidi from 'chromium-bidi/lib/cjs/protocol/protocol.js';
 import Protocol from 'devtools-protocol';
 import { GeolocationOptions, MediaFeature, Page as PageBase, ScreenshotOptions, WaitForOptions } from '../../api/Page.js';
 import { Accessibility } from '../Accessibility.js';
+import { CDPSession } from '../Connection.js';
 import { Coverage } from '../Coverage.js';
 import { PDFOptions } from '../PDFOptions.js';
 import { Viewport } from '../PuppeteerViewport.js';
@@ -27,6 +27,7 @@
 import { EvaluateFunc, HandleFor } from '../types.js';
 import { Browser } from './Browser.js';
 import { BrowserContext } from './BrowserContext.js';
+import { BrowsingContext } from './BrowsingContext.js';
 import { Frame } from './Frame.js';
 import { HTTPRequest } from './HTTPRequest.js';
 import { HTTPResponse } from './HTTPResponse.js';
@@ -36,9 +37,8 @@
  */
 export declare class Page extends PageBase {
     #private;
-    constructor(browserContext: BrowserContext, info: Omit<Bidi.BrowsingContext.Info, 'url'> & {
-        url?: string;
-    });
+    constructor(browsingContext: BrowsingContext, browserContext: BrowserContext);
+    _setBrowserContext(browserContext: BrowserContext): void;
     get accessibility(): Accessibility;
     get tracing(): Tracing;
     get coverage(): Coverage;
@@ -99,5 +99,6 @@
         timeout?: number;
     }): Promise<void>;
     title(): Promise<string>;
+    createCDPSession(): Promise<CDPSession>;
 }
 //# sourceMappingURL=Page.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Page.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Page.d.ts.map
index abf80e0..bba25f5 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Page.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Page.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Page.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Page.js
index 7efe1e8..956e88d 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Page.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Page.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Page_instances, _Page_accessibility, _Page_timeoutSettings, _Page_browserContext, _Page_connection, _Page_frameTree, _Page_networkManager, _Page_viewport, _Page_closedDeferred, _Page_subscribedEvents, _Page_networkManagerEvents, _Page_tracing, _Page_coverage, _Page_emulationManager, _Page_mouse, _Page_touchscreen, _Page_keyboard, _Page_onFrameLoaded, _Page_onFrameDOMContentLoaded, _Page_onFrameAttached, _Page_onFrameNavigated, _Page_onFrameDetached, _Page_removeFramesRecursively, _Page_onLogEntryAdded;
 import { Page as PageBase, } from '../../api/Page.js';
 import { assert } from '../../util/assert.js';
 import { Deferred } from '../../util/Deferred.js';
@@ -37,8 +25,9 @@
 import { NetworkManagerEmittedEvents } from '../NetworkManager.js';
 import { TimeoutSettings } from '../TimeoutSettings.js';
 import { Tracing } from '../Tracing.js';
-import { debugError, isString, waitForEvent, waitWithTimeout, withSourcePuppeteerURLIfNone, } from '../util.js';
-import { BrowsingContext } from './BrowsingContext.js';
+import { debugError, isString, validateDialogType, waitForEvent, waitWithTimeout, withSourcePuppeteerURLIfNone, } from '../util.js';
+import { BrowsingContextEmittedEvents, CDPSessionWrapper, } from './BrowsingContext.js';
+import { Dialog } from './Dialog.js';
 import { Frame } from './Frame.js';
 import { Keyboard, Mouse, Touchscreen } from './Input.js';
 import { NetworkManager } from './NetworkManager.js';
@@ -48,127 +37,248 @@
  * @internal
  */
 export class Page extends PageBase {
-    constructor(browserContext, info) {
+    #accessibility;
+    #timeoutSettings = new TimeoutSettings();
+    #connection;
+    #frameTree = new FrameTree();
+    #networkManager;
+    #viewport = null;
+    #closedDeferred = Deferred.create();
+    #subscribedEvents = new Map([
+        ['log.entryAdded', this.#onLogEntryAdded.bind(this)],
+        ['browsingContext.load', this.#onFrameLoaded.bind(this)],
+        [
+            'browsingContext.domContentLoaded',
+            this.#onFrameDOMContentLoaded.bind(this),
+        ],
+        [
+            'browsingContext.navigationStarted',
+            this.#onFrameNavigationStarted.bind(this),
+        ],
+        ['browsingContext.userPromptOpened', this.#onDialog.bind(this)],
+    ]);
+    #networkManagerEvents = new Map([
+        [
+            NetworkManagerEmittedEvents.Request,
+            this.emit.bind(this, "request" /* PageEmittedEvents.Request */),
+        ],
+        [
+            NetworkManagerEmittedEvents.RequestServedFromCache,
+            this.emit.bind(this, "requestservedfromcache" /* PageEmittedEvents.RequestServedFromCache */),
+        ],
+        [
+            NetworkManagerEmittedEvents.RequestFailed,
+            this.emit.bind(this, "requestfailed" /* PageEmittedEvents.RequestFailed */),
+        ],
+        [
+            NetworkManagerEmittedEvents.RequestFinished,
+            this.emit.bind(this, "requestfinished" /* PageEmittedEvents.RequestFinished */),
+        ],
+        [
+            NetworkManagerEmittedEvents.Response,
+            this.emit.bind(this, "response" /* PageEmittedEvents.Response */),
+        ],
+    ]);
+    #browsingContextEvents = new Map([
+        [BrowsingContextEmittedEvents.Created, this.#onContextCreated.bind(this)],
+        [
+            BrowsingContextEmittedEvents.Destroyed,
+            this.#onContextDestroyed.bind(this),
+        ],
+    ]);
+    #tracing;
+    #coverage;
+    #emulationManager;
+    #mouse;
+    #touchscreen;
+    #keyboard;
+    #browsingContext;
+    #browserContext;
+    constructor(browsingContext, browserContext) {
         super();
-        _Page_instances.add(this);
-        _Page_accessibility.set(this, void 0);
-        _Page_timeoutSettings.set(this, new TimeoutSettings());
-        _Page_browserContext.set(this, void 0);
-        _Page_connection.set(this, void 0);
-        _Page_frameTree.set(this, new FrameTree());
-        _Page_networkManager.set(this, void 0);
-        _Page_viewport.set(this, null);
-        _Page_closedDeferred.set(this, Deferred.create());
-        _Page_subscribedEvents.set(this, new Map([
-            ['log.entryAdded', __classPrivateFieldGet(this, _Page_instances, "m", _Page_onLogEntryAdded).bind(this)],
-            ['browsingContext.load', __classPrivateFieldGet(this, _Page_instances, "m", _Page_onFrameLoaded).bind(this)],
-            [
-                'browsingContext.domContentLoaded',
-                __classPrivateFieldGet(this, _Page_instances, "m", _Page_onFrameDOMContentLoaded).bind(this),
-            ],
-            ['browsingContext.contextCreated', __classPrivateFieldGet(this, _Page_instances, "m", _Page_onFrameAttached).bind(this)],
-            ['browsingContext.contextDestroyed', __classPrivateFieldGet(this, _Page_instances, "m", _Page_onFrameDetached).bind(this)],
-            ['browsingContext.fragmentNavigated', __classPrivateFieldGet(this, _Page_instances, "m", _Page_onFrameNavigated).bind(this)],
-        ]));
-        _Page_networkManagerEvents.set(this, new Map([
-            [
-                NetworkManagerEmittedEvents.Request,
-                this.emit.bind(this, "request" /* PageEmittedEvents.Request */),
-            ],
-            [
-                NetworkManagerEmittedEvents.RequestServedFromCache,
-                this.emit.bind(this, "requestservedfromcache" /* PageEmittedEvents.RequestServedFromCache */),
-            ],
-            [
-                NetworkManagerEmittedEvents.RequestFailed,
-                this.emit.bind(this, "requestfailed" /* PageEmittedEvents.RequestFailed */),
-            ],
-            [
-                NetworkManagerEmittedEvents.RequestFinished,
-                this.emit.bind(this, "requestfinished" /* PageEmittedEvents.RequestFinished */),
-            ],
-            [
-                NetworkManagerEmittedEvents.Response,
-                this.emit.bind(this, "response" /* PageEmittedEvents.Response */),
-            ],
-        ]));
-        _Page_tracing.set(this, void 0);
-        _Page_coverage.set(this, void 0);
-        _Page_emulationManager.set(this, void 0);
-        _Page_mouse.set(this, void 0);
-        _Page_touchscreen.set(this, void 0);
-        _Page_keyboard.set(this, void 0);
-        __classPrivateFieldSet(this, _Page_browserContext, browserContext, "f");
-        __classPrivateFieldSet(this, _Page_connection, browserContext.connection, "f");
-        __classPrivateFieldSet(this, _Page_networkManager, new NetworkManager(__classPrivateFieldGet(this, _Page_connection, "f"), this), "f");
-        __classPrivateFieldGet(this, _Page_instances, "m", _Page_onFrameAttached).call(this, {
-            ...info,
-            url: info.url ?? 'about:blank',
-            children: info.children ?? [],
-        });
-        for (const [event, subscriber] of __classPrivateFieldGet(this, _Page_subscribedEvents, "f")) {
-            __classPrivateFieldGet(this, _Page_connection, "f").on(event, subscriber);
+        this.#browsingContext = browsingContext;
+        this.#browserContext = browserContext;
+        this.#connection = browsingContext.connection;
+        for (const [event, subscriber] of this.#browsingContextEvents) {
+            this.#browsingContext.on(event, subscriber);
         }
-        for (const [event, subscriber] of __classPrivateFieldGet(this, _Page_networkManagerEvents, "f")) {
-            __classPrivateFieldGet(this, _Page_networkManager, "f").on(event, subscriber);
+        this.#networkManager = new NetworkManager(this.#connection, this);
+        for (const [event, subscriber] of this.#subscribedEvents) {
+            this.#connection.on(event, subscriber);
         }
+        for (const [event, subscriber] of this.#networkManagerEvents) {
+            this.#networkManager.on(event, subscriber);
+        }
+        const frame = new Frame(this, this.#browsingContext, this.#timeoutSettings, this.#browsingContext.parent);
+        this.#frameTree.addFrame(frame);
+        this.emit("frameattached" /* PageEmittedEvents.FrameAttached */, frame);
         // TODO: https://github.com/w3c/webdriver-bidi/issues/443
-        __classPrivateFieldSet(this, _Page_accessibility, new Accessibility(this.mainFrame().context().cdpSession), "f");
-        __classPrivateFieldSet(this, _Page_tracing, new Tracing(this.mainFrame().context().cdpSession), "f");
-        __classPrivateFieldSet(this, _Page_coverage, new Coverage(this.mainFrame().context().cdpSession), "f");
-        __classPrivateFieldSet(this, _Page_emulationManager, new EmulationManager(this.mainFrame().context().cdpSession), "f");
-        __classPrivateFieldSet(this, _Page_mouse, new Mouse(this.mainFrame().context()), "f");
-        __classPrivateFieldSet(this, _Page_touchscreen, new Touchscreen(this.mainFrame().context()), "f");
-        __classPrivateFieldSet(this, _Page_keyboard, new Keyboard(this.mainFrame().context()), "f");
+        this.#accessibility = new Accessibility(this.mainFrame().context().cdpSession);
+        this.#tracing = new Tracing(this.mainFrame().context().cdpSession);
+        this.#coverage = new Coverage(this.mainFrame().context().cdpSession);
+        this.#emulationManager = new EmulationManager(this.mainFrame().context().cdpSession);
+        this.#mouse = new Mouse(this.mainFrame().context());
+        this.#touchscreen = new Touchscreen(this.mainFrame().context());
+        this.#keyboard = new Keyboard(this.mainFrame().context());
+    }
+    _setBrowserContext(browserContext) {
+        this.#browserContext = browserContext;
     }
     get accessibility() {
-        return __classPrivateFieldGet(this, _Page_accessibility, "f");
+        return this.#accessibility;
     }
     get tracing() {
-        return __classPrivateFieldGet(this, _Page_tracing, "f");
+        return this.#tracing;
     }
     get coverage() {
-        return __classPrivateFieldGet(this, _Page_coverage, "f");
+        return this.#coverage;
     }
     get mouse() {
-        return __classPrivateFieldGet(this, _Page_mouse, "f");
+        return this.#mouse;
     }
     get touchscreen() {
-        return __classPrivateFieldGet(this, _Page_touchscreen, "f");
+        return this.#touchscreen;
     }
     get keyboard() {
-        return __classPrivateFieldGet(this, _Page_keyboard, "f");
+        return this.#keyboard;
     }
     browser() {
-        return __classPrivateFieldGet(this, _Page_browserContext, "f").browser();
+        return this.browserContext().browser();
     }
     browserContext() {
-        return __classPrivateFieldGet(this, _Page_browserContext, "f");
+        return this.#browserContext;
     }
     mainFrame() {
-        const mainFrame = __classPrivateFieldGet(this, _Page_frameTree, "f").getMainFrame();
+        const mainFrame = this.#frameTree.getMainFrame();
         assert(mainFrame, 'Requesting main frame too early!');
         return mainFrame;
     }
     frames() {
-        return Array.from(__classPrivateFieldGet(this, _Page_frameTree, "f").frames());
+        return Array.from(this.#frameTree.frames());
     }
     frame(frameId) {
-        return __classPrivateFieldGet(this, _Page_frameTree, "f").getById(frameId ?? '') || null;
+        return this.#frameTree.getById(frameId ?? '') || null;
     }
     childFrames(frameId) {
-        return __classPrivateFieldGet(this, _Page_frameTree, "f").childFrames(frameId);
+        return this.#frameTree.childFrames(frameId);
     }
-    getNavigationResponse(id) {
-        return __classPrivateFieldGet(this, _Page_networkManager, "f").getNavigationResponse(id);
+    #onFrameLoaded(info) {
+        const frame = this.frame(info.context);
+        if (frame && this.mainFrame() === frame) {
+            this.emit("load" /* PageEmittedEvents.Load */);
+        }
     }
-    async close() {
-        if (__classPrivateFieldGet(this, _Page_closedDeferred, "f").finished()) {
+    #onFrameDOMContentLoaded(info) {
+        const frame = this.frame(info.context);
+        if (frame && this.mainFrame() === frame) {
+            this.emit("domcontentloaded" /* PageEmittedEvents.DOMContentLoaded */);
+        }
+    }
+    #onContextCreated(context) {
+        if (!this.frame(context.id) &&
+            (this.frame(context.parent ?? '') || !this.#frameTree.getMainFrame())) {
+            const frame = new Frame(this, context, this.#timeoutSettings, context.parent);
+            this.#frameTree.addFrame(frame);
+            if (frame !== this.mainFrame()) {
+                this.emit("frameattached" /* PageEmittedEvents.FrameAttached */, frame);
+            }
+        }
+    }
+    async #onFrameNavigationStarted(info) {
+        const frameId = info.context;
+        const frame = this.frame(frameId);
+        if (frame) {
+            // TODO: Investigate if a navigationCompleted event should be in Spec
+            const predicate = (event) => {
+                if (event.context === frame?._id) {
+                    return true;
+                }
+                return false;
+            };
+            await Deferred.race([
+                waitForEvent(this.#connection, 'browsingContext.domContentLoaded', predicate, 0, this.#closedDeferred.valueOrThrow()).catch(debugError),
+                waitForEvent(this.#connection, 'browsingContext.fragmentNavigated', predicate, 0, this.#closedDeferred.valueOrThrow()).catch(debugError),
+            ]);
+            this.emit("framenavigated" /* PageEmittedEvents.FrameNavigated */, frame);
+        }
+    }
+    #onContextDestroyed(context) {
+        const frame = this.frame(context.id);
+        if (frame) {
+            if (frame === this.mainFrame()) {
+                this.emit("close" /* PageEmittedEvents.Close */);
+            }
+            this.#removeFramesRecursively(frame);
+        }
+    }
+    #removeFramesRecursively(frame) {
+        for (const child of frame.childFrames()) {
+            this.#removeFramesRecursively(child);
+        }
+        frame.dispose();
+        this.#networkManager.clearMapAfterFrameDispose(frame);
+        this.#frameTree.removeFrame(frame);
+        this.emit("framedetached" /* PageEmittedEvents.FrameDetached */, frame);
+    }
+    #onLogEntryAdded(event) {
+        const frame = this.frame(event.source.context);
+        if (!frame) {
             return;
         }
-        __classPrivateFieldGet(this, _Page_closedDeferred, "f").resolve(new TargetCloseError('Page closed!'));
-        __classPrivateFieldGet(this, _Page_networkManager, "f").dispose();
-        await __classPrivateFieldGet(this, _Page_connection, "f").send('browsingContext.close', {
+        if (isConsoleLogEntry(event)) {
+            const args = event.args.map(arg => {
+                return getBidiHandle(frame.context(), arg, frame);
+            });
+            const text = args
+                .reduce((value, arg) => {
+                const parsedValue = arg.isPrimitiveValue
+                    ? BidiSerializer.deserialize(arg.remoteValue())
+                    : arg.toString();
+                return `${value} ${parsedValue}`;
+            }, '')
+                .slice(1);
+            this.emit("console" /* PageEmittedEvents.Console */, new ConsoleMessage(event.method, text, args, getStackTraceLocations(event.stackTrace)));
+        }
+        else if (isJavaScriptLogEntry(event)) {
+            let message = event.text ?? '';
+            if (event.stackTrace) {
+                for (const callFrame of event.stackTrace.callFrames) {
+                    const location = callFrame.url +
+                        ':' +
+                        callFrame.lineNumber +
+                        ':' +
+                        callFrame.columnNumber;
+                    const functionName = callFrame.functionName || '<anonymous>';
+                    message += `\n    at ${functionName} (${location})`;
+                }
+            }
+            const error = new Error(message);
+            error.stack = ''; // Don't capture Puppeteer stacktrace.
+            this.emit("pageerror" /* PageEmittedEvents.PageError */, error);
+        }
+        else {
+            debugError(`Unhandled LogEntry with type "${event.type}", text "${event.text}" and level "${event.level}"`);
+        }
+    }
+    #onDialog(event) {
+        const frame = this.frame(event.context);
+        if (!frame) {
+            return;
+        }
+        const type = validateDialogType(event.type);
+        const dialog = new Dialog(frame.context(), type, event.message);
+        this.emit("dialog" /* PageEmittedEvents.Dialog */, dialog);
+    }
+    getNavigationResponse(id) {
+        return this.#networkManager.getNavigationResponse(id);
+    }
+    async close() {
+        if (this.#closedDeferred.finished()) {
+            return;
+        }
+        this.#closedDeferred.resolve(new TargetCloseError('Page closed!'));
+        this.#networkManager.dispose();
+        await this.#connection.send('browsingContext.close', {
             context: this.mainFrame()._id,
         });
         this.emit("close" /* PageEmittedEvents.Close */);
@@ -191,7 +301,12 @@
                 return (response.request().isNavigationRequest() &&
                     response.url() === this.url());
             }),
-            this.mainFrame().context().reload(options),
+            this.mainFrame()
+                .context()
+                .reload({
+                ...options,
+                timeout: options?.timeout ?? this.#timeoutSettings.navigationTimeout(),
+            }),
         ]);
         return response;
     }
@@ -199,13 +314,13 @@
         return this.mainFrame().url();
     }
     setDefaultNavigationTimeout(timeout) {
-        __classPrivateFieldGet(this, _Page_timeoutSettings, "f").setDefaultNavigationTimeout(timeout);
+        this.#timeoutSettings.setDefaultNavigationTimeout(timeout);
     }
     setDefaultTimeout(timeout) {
-        __classPrivateFieldGet(this, _Page_timeoutSettings, "f").setDefaultTimeout(timeout);
+        this.#timeoutSettings.setDefaultTimeout(timeout);
     }
     getDefaultTimeout() {
-        return __classPrivateFieldGet(this, _Page_timeoutSettings, "f").timeout();
+        return this.#timeoutSettings.timeout();
     }
     async setContent(html, options = {}) {
         await this.mainFrame().setContent(html, options);
@@ -214,47 +329,48 @@
         return this.mainFrame().content();
     }
     isJavaScriptEnabled() {
-        return __classPrivateFieldGet(this, _Page_emulationManager, "f").javascriptEnabled;
+        return this.#emulationManager.javascriptEnabled;
     }
     async setGeolocation(options) {
-        return await __classPrivateFieldGet(this, _Page_emulationManager, "f").setGeolocation(options);
+        return await this.#emulationManager.setGeolocation(options);
     }
     async setJavaScriptEnabled(enabled) {
-        return await __classPrivateFieldGet(this, _Page_emulationManager, "f").setJavaScriptEnabled(enabled);
+        return await this.#emulationManager.setJavaScriptEnabled(enabled);
     }
     async emulateMediaType(type) {
-        return await __classPrivateFieldGet(this, _Page_emulationManager, "f").emulateMediaType(type);
+        return await this.#emulationManager.emulateMediaType(type);
     }
     async emulateCPUThrottling(factor) {
-        return await __classPrivateFieldGet(this, _Page_emulationManager, "f").emulateCPUThrottling(factor);
+        return await this.#emulationManager.emulateCPUThrottling(factor);
     }
     async emulateMediaFeatures(features) {
-        return await __classPrivateFieldGet(this, _Page_emulationManager, "f").emulateMediaFeatures(features);
+        return await this.#emulationManager.emulateMediaFeatures(features);
     }
     async emulateTimezone(timezoneId) {
-        return await __classPrivateFieldGet(this, _Page_emulationManager, "f").emulateTimezone(timezoneId);
+        return await this.#emulationManager.emulateTimezone(timezoneId);
     }
     async emulateIdleState(overrides) {
-        return await __classPrivateFieldGet(this, _Page_emulationManager, "f").emulateIdleState(overrides);
+        return await this.#emulationManager.emulateIdleState(overrides);
     }
     async emulateVisionDeficiency(type) {
-        return await __classPrivateFieldGet(this, _Page_emulationManager, "f").emulateVisionDeficiency(type);
+        return await this.#emulationManager.emulateVisionDeficiency(type);
     }
     async setViewport(viewport) {
-        const needsReload = await __classPrivateFieldGet(this, _Page_emulationManager, "f").emulateViewport(viewport);
-        __classPrivateFieldSet(this, _Page_viewport, viewport, "f");
+        const needsReload = await this.#emulationManager.emulateViewport(viewport);
+        this.#viewport = viewport;
         if (needsReload) {
             // TODO: reload seems to hang in BiDi.
             // await this.reload();
         }
     }
     viewport() {
-        return __classPrivateFieldGet(this, _Page_viewport, "f");
+        return this.#viewport;
     }
     async pdf(options = {}) {
         const { path = undefined } = options;
-        const { printBackground: background, margin, landscape, width, height, pageRanges, scale, preferCSSPageSize, timeout, } = this._getPDFOptions(options, 'cm');
-        const { result } = await waitWithTimeout(__classPrivateFieldGet(this, _Page_connection, "f").send('browsingContext.print', {
+        const { printBackground: background, margin, landscape, width, height, pageRanges: ranges, scale, preferCSSPageSize, timeout, } = this._getPDFOptions(options, 'cm');
+        const pageRanges = ranges ? ranges.split(', ') : [];
+        const { result } = await waitWithTimeout(this.#connection.send('browsingContext.print', {
             context: this.mainFrame()._id,
             background,
             margin,
@@ -263,7 +379,7 @@
                 width,
                 height,
             },
-            pageRanges: pageRanges.split(', '),
+            pageRanges,
             scale,
             shrinkToFit: !preferCSSPageSize,
         }), 'browsingContext.print', timeout);
@@ -289,7 +405,7 @@
         if (Object.keys(args).length >= 1) {
             throw new Error('BiDi only supports "encoding" and "path" options');
         }
-        const { result } = await __classPrivateFieldGet(this, _Page_connection, "f").send('browsingContext.captureScreenshot', {
+        const { result } = await this.#connection.send('browsingContext.captureScreenshot', {
             context: this.mainFrame()._id,
         });
         if (encoding === 'base64') {
@@ -300,8 +416,8 @@
         return buffer;
     }
     waitForRequest(urlOrPredicate, options = {}) {
-        const { timeout = __classPrivateFieldGet(this, _Page_timeoutSettings, "f").timeout() } = options;
-        return waitForEvent(__classPrivateFieldGet(this, _Page_networkManager, "f"), NetworkManagerEmittedEvents.Request, async (request) => {
+        const { timeout = this.#timeoutSettings.timeout() } = options;
+        return waitForEvent(this.#networkManager, NetworkManagerEmittedEvents.Request, async (request) => {
             if (isString(urlOrPredicate)) {
                 return urlOrPredicate === request.url();
             }
@@ -309,11 +425,11 @@
                 return !!(await urlOrPredicate(request));
             }
             return false;
-        }, timeout, __classPrivateFieldGet(this, _Page_closedDeferred, "f").valueOrThrow());
+        }, timeout, this.#closedDeferred.valueOrThrow());
     }
     waitForResponse(urlOrPredicate, options = {}) {
-        const { timeout = __classPrivateFieldGet(this, _Page_timeoutSettings, "f").timeout() } = options;
-        return waitForEvent(__classPrivateFieldGet(this, _Page_networkManager, "f"), NetworkManagerEmittedEvents.Response, async (response) => {
+        const { timeout = this.#timeoutSettings.timeout() } = options;
+        return waitForEvent(this.#networkManager, NetworkManagerEmittedEvents.Response, async (response) => {
             if (isString(urlOrPredicate)) {
                 return urlOrPredicate === response.url();
             }
@@ -321,99 +437,25 @@
                 return !!(await urlOrPredicate(response));
             }
             return false;
-        }, timeout, __classPrivateFieldGet(this, _Page_closedDeferred, "f").valueOrThrow());
+        }, timeout, this.#closedDeferred.valueOrThrow());
     }
     async waitForNetworkIdle(options = {}) {
-        const { idleTime = 500, timeout = __classPrivateFieldGet(this, _Page_timeoutSettings, "f").timeout() } = options;
-        await this._waitForNetworkIdle(__classPrivateFieldGet(this, _Page_networkManager, "f"), idleTime, timeout, __classPrivateFieldGet(this, _Page_closedDeferred, "f"));
+        const { idleTime = 500, timeout = this.#timeoutSettings.timeout() } = options;
+        await this._waitForNetworkIdle(this.#networkManager, idleTime, timeout, this.#closedDeferred);
     }
     title() {
         return this.mainFrame().title();
     }
-}
-_Page_accessibility = new WeakMap(), _Page_timeoutSettings = new WeakMap(), _Page_browserContext = new WeakMap(), _Page_connection = new WeakMap(), _Page_frameTree = new WeakMap(), _Page_networkManager = new WeakMap(), _Page_viewport = new WeakMap(), _Page_closedDeferred = new WeakMap(), _Page_subscribedEvents = new WeakMap(), _Page_networkManagerEvents = new WeakMap(), _Page_tracing = new WeakMap(), _Page_coverage = new WeakMap(), _Page_emulationManager = new WeakMap(), _Page_mouse = new WeakMap(), _Page_touchscreen = new WeakMap(), _Page_keyboard = new WeakMap(), _Page_instances = new WeakSet(), _Page_onFrameLoaded = function _Page_onFrameLoaded(info) {
-    const frame = this.frame(info.context);
-    if (frame && this.mainFrame() === frame) {
-        this.emit("load" /* PageEmittedEvents.Load */);
-    }
-}, _Page_onFrameDOMContentLoaded = function _Page_onFrameDOMContentLoaded(info) {
-    const frame = this.frame(info.context);
-    if (frame && this.mainFrame() === frame) {
-        this.emit("domcontentloaded" /* PageEmittedEvents.DOMContentLoaded */);
-    }
-}, _Page_onFrameAttached = function _Page_onFrameAttached(info) {
-    if (!this.frame(info.context) &&
-        (this.frame(info.parent ?? '') || !__classPrivateFieldGet(this, _Page_frameTree, "f").getMainFrame())) {
-        const context = new BrowsingContext(__classPrivateFieldGet(this, _Page_connection, "f"), __classPrivateFieldGet(this, _Page_timeoutSettings, "f"), info);
-        __classPrivateFieldGet(this, _Page_connection, "f").registerBrowsingContexts(context);
-        const frame = new Frame(this, context, __classPrivateFieldGet(this, _Page_timeoutSettings, "f"), info.parent);
-        __classPrivateFieldGet(this, _Page_frameTree, "f").addFrame(frame);
-        this.emit("frameattached" /* PageEmittedEvents.FrameAttached */, frame);
-    }
-}, _Page_onFrameNavigated = async function _Page_onFrameNavigated(info) {
-    const frameId = info.context;
-    let frame = this.frame(frameId);
-    // Detach all child frames first.
-    if (frame) {
-        frame = await __classPrivateFieldGet(this, _Page_frameTree, "f").waitForFrame(frameId);
-        this.emit("framenavigated" /* PageEmittedEvents.FrameNavigated */, frame);
-    }
-}, _Page_onFrameDetached = function _Page_onFrameDetached(info) {
-    const frame = this.frame(info.context);
-    if (frame) {
-        if (frame === this.mainFrame()) {
-            this.emit("close" /* PageEmittedEvents.Close */);
-        }
-        __classPrivateFieldGet(this, _Page_instances, "m", _Page_removeFramesRecursively).call(this, frame);
-    }
-}, _Page_removeFramesRecursively = function _Page_removeFramesRecursively(frame) {
-    for (const child of frame.childFrames()) {
-        __classPrivateFieldGet(this, _Page_instances, "m", _Page_removeFramesRecursively).call(this, child);
-    }
-    frame.dispose();
-    __classPrivateFieldGet(this, _Page_networkManager, "f").clearMapAfterFrameDispose(frame);
-    __classPrivateFieldGet(this, _Page_frameTree, "f").removeFrame(frame);
-    this.emit("framedetached" /* PageEmittedEvents.FrameDetached */, frame);
-}, _Page_onLogEntryAdded = function _Page_onLogEntryAdded(event) {
-    const frame = this.frame(event.source.context);
-    if (!frame) {
-        return;
-    }
-    if (isConsoleLogEntry(event)) {
-        const args = event.args.map(arg => {
-            return getBidiHandle(frame.context(), arg, frame);
+    async createCDPSession() {
+        const { sessionId } = await this.mainFrame()
+            .context()
+            .cdpSession.send('Target.attachToTarget', {
+            targetId: this.mainFrame()._id,
+            flatten: true,
         });
-        const text = args
-            .reduce((value, arg) => {
-            const parsedValue = arg.isPrimitiveValue
-                ? BidiSerializer.deserialize(arg.remoteValue())
-                : arg.toString();
-            return `${value} ${parsedValue}`;
-        }, '')
-            .slice(1);
-        this.emit("console" /* PageEmittedEvents.Console */, new ConsoleMessage(event.method, text, args, getStackTraceLocations(event.stackTrace)));
+        return new CDPSessionWrapper(this.mainFrame().context(), sessionId);
     }
-    else if (isJavaScriptLogEntry(event)) {
-        let message = event.text ?? '';
-        if (event.stackTrace) {
-            for (const callFrame of event.stackTrace.callFrames) {
-                const location = callFrame.url +
-                    ':' +
-                    callFrame.lineNumber +
-                    ':' +
-                    callFrame.columnNumber;
-                const functionName = callFrame.functionName || '<anonymous>';
-                message += `\n    at ${functionName} (${location})`;
-            }
-        }
-        const error = new Error(message);
-        error.stack = ''; // Don't capture Puppeteer stacktrace.
-        this.emit("pageerror" /* PageEmittedEvents.PageError */, error);
-    }
-    else {
-        debugError(`Unhandled LogEntry with type "${event.type}", text "${event.text}" and level "${event.level}"`);
-    }
-};
+}
 function isConsoleLogEntry(event) {
     return event.type === 'console';
 }
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Page.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Page.js.map
index da034df..c5bc2b1 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Page.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Page.js.map
@@ -1 +1 @@
-{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Page.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Page.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Realm.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Realm.d.ts
index af23a76..fba943d 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Realm.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Realm.d.ts
@@ -22,5 +22,5 @@
 /**
  * @internal
  */
-export declare function getBidiHandle(realmOrContext: Realm, result: Bidi.CommonDataTypes.RemoteValue, frame: Frame): JSHandle | ElementHandle<Node>;
+export declare function getBidiHandle(realmOrContext: Realm, result: Bidi.Script.RemoteValue, frame: Frame): JSHandle | ElementHandle<Node>;
 //# sourceMappingURL=Realm.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Realm.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Realm.d.ts.map
index 767ac34..afc4974 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Realm.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Realm.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Realm.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Realm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAOpD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AACjC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAIvC,eAAO,MAAM,gBAAgB,QAAgD,CAAC;AAE9E,eAAO,MAAM,mBAAmB,QAAS,MAAM,KAAG,MAEjD,CAAC;AAEF,qBAAa,KAAM,SAAQ,YAAY;;IACrC,UAAU,EAAE,UAAU,CAAC;gBAKX,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAOhE,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAK/B;IAED,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI5B,SAAS,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACnE,IAAI,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAapD;IAEK,cAAc,CAClB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAI1C,QAAQ,CACZ,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;CA0EtC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,cAAc,EAAE,KAAK,EACrB,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EACxC,KAAK,EAAE,KAAK,GACX,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAKhC"}
\ No newline at end of file
+{"version":3,"file":"Realm.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Realm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAEnE,OAAO,aAAa,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAEhD,OAAO,EAAC,YAAY,EAAE,SAAS,EAAC,MAAM,aAAa,CAAC;AAOpD,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AACjC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAIvC,eAAO,MAAM,gBAAgB,QAAgD,CAAC;AAE9E,eAAO,MAAM,mBAAmB,QAAS,MAAM,KAAG,MAEjD,CAAC;AAEF,qBAAa,KAAM,SAAQ,YAAY;;IACrC,UAAU,EAAE,UAAU,CAAC;gBAKX,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;IAOhE,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAK/B;IAED,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI5B,SAAS,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACnE,IAAI,aAAa,IAAI,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAapD;IAEK,cAAc,CAClB,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAI1C,QAAQ,CACZ,MAAM,SAAS,OAAO,EAAE,EACxB,IAAI,SAAS,YAAY,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,EAExD,YAAY,EAAE,IAAI,GAAG,MAAM,EAC3B,GAAG,IAAI,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;CA4EtC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,cAAc,EAAE,KAAK,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAC/B,KAAK,EAAE,KAAK,GACX,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAKhC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Realm.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Realm.js
index b8c4349..b7b3a82 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Realm.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Realm.js
@@ -1,15 +1,3 @@
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Realm_instances, _Realm_frame, _Realm_id, _Realm_sandbox, _Realm_evaluate;
 import { stringifyFunction } from '../../util/Function.js';
 import { EventEmitter } from '../EventEmitter.js';
 import { scriptInjector } from '../ScriptInjector.js';
@@ -23,25 +11,26 @@
     return `//# sourceURL=${url}`;
 };
 export class Realm extends EventEmitter {
+    connection;
+    #frame;
+    #id;
+    #sandbox;
     constructor(connection, id, sandbox) {
         super();
-        _Realm_instances.add(this);
-        _Realm_frame.set(this, void 0);
-        _Realm_id.set(this, void 0);
-        _Realm_sandbox.set(this, void 0);
         this.connection = connection;
-        __classPrivateFieldSet(this, _Realm_id, id, "f");
-        __classPrivateFieldSet(this, _Realm_sandbox, sandbox, "f");
+        this.#id = id;
+        this.#sandbox = sandbox;
     }
     get target() {
         return {
-            context: __classPrivateFieldGet(this, _Realm_id, "f"),
-            sandbox: __classPrivateFieldGet(this, _Realm_sandbox, "f"),
+            context: this.#id,
+            sandbox: this.#sandbox,
         };
     }
     setFrame(frame) {
-        __classPrivateFieldSet(this, _Realm_frame, frame, "f");
+        this.#frame = frame;
     }
+    internalPuppeteerUtil;
     get puppeteerUtil() {
         const promise = Promise.resolve();
         scriptInjector.inject(script => {
@@ -57,51 +46,53 @@
         return this.internalPuppeteerUtil;
     }
     async evaluateHandle(pageFunction, ...args) {
-        return __classPrivateFieldGet(this, _Realm_instances, "m", _Realm_evaluate).call(this, false, pageFunction, ...args);
+        return this.#evaluate(false, pageFunction, ...args);
     }
     async evaluate(pageFunction, ...args) {
-        return __classPrivateFieldGet(this, _Realm_instances, "m", _Realm_evaluate).call(this, true, pageFunction, ...args);
+        return this.#evaluate(true, pageFunction, ...args);
+    }
+    async #evaluate(returnByValue, pageFunction, ...args) {
+        const sourceUrlComment = getSourceUrlComment(getSourcePuppeteerURLIfAvailable(pageFunction)?.toString() ??
+            PuppeteerURL.INTERNAL_URL);
+        let responsePromise;
+        const resultOwnership = returnByValue
+            ? "none" /* Bidi.Script.ResultOwnership.None */
+            : "root" /* Bidi.Script.ResultOwnership.Root */;
+        if (isString(pageFunction)) {
+            const expression = SOURCE_URL_REGEX.test(pageFunction)
+                ? pageFunction
+                : `${pageFunction}\n${sourceUrlComment}\n`;
+            responsePromise = this.connection.send('script.evaluate', {
+                expression,
+                target: this.target,
+                resultOwnership,
+                awaitPromise: true,
+            });
+        }
+        else {
+            let functionDeclaration = stringifyFunction(pageFunction);
+            functionDeclaration = SOURCE_URL_REGEX.test(functionDeclaration)
+                ? functionDeclaration
+                : `${functionDeclaration}\n${sourceUrlComment}\n`;
+            responsePromise = this.connection.send('script.callFunction', {
+                functionDeclaration,
+                arguments: await Promise.all(args.map(arg => {
+                    return BidiSerializer.serialize(arg, this);
+                })),
+                target: this.target,
+                resultOwnership,
+                awaitPromise: true,
+            });
+        }
+        const { result } = await responsePromise;
+        if ('type' in result && result.type === 'exception') {
+            throw createEvaluationError(result.exceptionDetails);
+        }
+        return returnByValue
+            ? BidiSerializer.deserialize(result.result)
+            : getBidiHandle(this, result.result, this.#frame);
     }
 }
-_Realm_frame = new WeakMap(), _Realm_id = new WeakMap(), _Realm_sandbox = new WeakMap(), _Realm_instances = new WeakSet(), _Realm_evaluate = async function _Realm_evaluate(returnByValue, pageFunction, ...args) {
-    const sourceUrlComment = getSourceUrlComment(getSourcePuppeteerURLIfAvailable(pageFunction)?.toString() ??
-        PuppeteerURL.INTERNAL_URL);
-    let responsePromise;
-    const resultOwnership = returnByValue ? 'none' : 'root';
-    if (isString(pageFunction)) {
-        const expression = SOURCE_URL_REGEX.test(pageFunction)
-            ? pageFunction
-            : `${pageFunction}\n${sourceUrlComment}\n`;
-        responsePromise = this.connection.send('script.evaluate', {
-            expression,
-            target: this.target,
-            resultOwnership,
-            awaitPromise: true,
-        });
-    }
-    else {
-        let functionDeclaration = stringifyFunction(pageFunction);
-        functionDeclaration = SOURCE_URL_REGEX.test(functionDeclaration)
-            ? functionDeclaration
-            : `${functionDeclaration}\n${sourceUrlComment}\n`;
-        responsePromise = this.connection.send('script.callFunction', {
-            functionDeclaration,
-            arguments: await Promise.all(args.map(arg => {
-                return BidiSerializer.serialize(arg, this);
-            })),
-            target: this.target,
-            resultOwnership,
-            awaitPromise: true,
-        });
-    }
-    const { result } = await responsePromise;
-    if ('type' in result && result.type === 'exception') {
-        throw createEvaluationError(result.exceptionDetails);
-    }
-    return returnByValue
-        ? BidiSerializer.deserialize(result.result)
-        : getBidiHandle(this, result.result, __classPrivateFieldGet(this, _Realm_frame, "f"));
-};
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Realm.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Realm.js.map
index b84e306..503a49b 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Realm.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Realm.js.map
@@ -1 +1 @@
-{"version":3,"file":"Realm.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Realm.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Realm.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Realm.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACL,YAAY,EACZ,gCAAgC,EAChC,QAAQ,GACT,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAEjD,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AACvC,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAC,qBAAqB,EAAC,MAAM,YAAY,CAAC;AAEjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,6CAA6C,CAAC;AAE9E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAW,EAAU,EAAE;IACzD,OAAO,iBAAiB,GAAG,EAAE,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,OAAO,KAAM,SAAQ,YAAY;IACrC,UAAU,CAAa;IACvB,MAAM,CAAS;IACf,GAAG,CAAS;IACZ,QAAQ,CAAU;IAElB,YAAY,UAAsB,EAAE,EAAU,EAAE,OAAgB;QAC9D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QACd,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,MAAM;QACR,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,OAAO,EAAE,IAAI,CAAC,QAAQ;SACvB,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,KAAY;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAES,qBAAqB,CAAoC;IACnE,IAAI,aAAa;QACf,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAsB,CAAC;QACtD,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAC7B,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC9B,KAAK,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBAC5C,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;gBACxB,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC7C,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAqC,CAAC;YACzE,CAAC,CAAC,CAAC;QACL,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC,qBAAyD,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,cAAc,CAIlB,YAA2B,EAC3B,GAAG,IAAY;QAEf,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,QAAQ,CAIZ,YAA2B,EAC3B,GAAG,IAAY;QAEf,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;IAkBD,KAAK,CAAC,SAAS,CAIb,aAAsB,EACtB,YAA2B,EAC3B,GAAG,IAAY;QAEf,MAAM,gBAAgB,GAAG,mBAAmB,CAC1C,gCAAgC,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE;YACxD,YAAY,CAAC,YAAY,CAC5B,CAAC;QAEF,IAAI,eAAe,CAAC;QACpB,MAAM,eAAe,GAAG,aAAa;YACnC,CAAC;YACD,CAAC,8CAAiC,CAAC;QACrC,IAAI,QAAQ,CAAC,YAAY,CAAC,EAAE;YAC1B,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC;gBACpD,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,GAAG,YAAY,KAAK,gBAAgB,IAAI,CAAC;YAE7C,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBACxD,UAAU;gBACV,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,eAAe;gBACf,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,mBAAmB,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC1D,mBAAmB,GAAG,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,CAAC;gBAC9D,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,GAAG,mBAAmB,KAAK,gBAAgB,IAAI,CAAC;YACpD,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBAC5D,mBAAmB;gBACnB,SAAS,EAAE,MAAM,OAAO,CAAC,GAAG,CAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;oBACb,OAAO,cAAc,CAAC,SAAS,CAAC,GAAG,EAAE,IAAW,CAAC,CAAC;gBACpD,CAAC,CAAC,CACH;gBACD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,eAAe;gBACf,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;SACJ;QAED,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,eAAe,CAAC;QAEvC,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE;YACnD,MAAM,qBAAqB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;SACtD;QAED,OAAO,aAAa;YAClB,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3C,CAAC,CAAC,aAAa,CAAC,IAAW,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,cAAqB,EACrB,MAA+B,EAC/B,KAAY;IAEZ,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;QACtD,OAAO,IAAI,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;KACzD;IACD,OAAO,IAAI,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;AAC9C,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Sandbox.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Sandbox.js
index bd760dc..d7eea83 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Sandbox.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Sandbox.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Sandbox_document, _Sandbox_realm, _Sandbox_timeoutSettings, _Sandbox_taskManager;
 import { assert } from '../../util/assert.js';
 import { withSourcePuppeteerURLIfNone } from '../util.js';
 import { TaskManager, WaitTask } from '../WaitTask.js';
@@ -46,25 +34,25 @@
  * @internal
  */
 export class Sandbox {
+    #document;
+    #realm;
+    #timeoutSettings;
+    #taskManager = new TaskManager();
     constructor(context, timeoutSettings) {
-        _Sandbox_document.set(this, void 0);
-        _Sandbox_realm.set(this, void 0);
-        _Sandbox_timeoutSettings.set(this, void 0);
-        _Sandbox_taskManager.set(this, new TaskManager());
-        __classPrivateFieldSet(this, _Sandbox_realm, context, "f");
-        __classPrivateFieldSet(this, _Sandbox_timeoutSettings, timeoutSettings, "f");
+        this.#realm = context;
+        this.#timeoutSettings = timeoutSettings;
     }
     get taskManager() {
-        return __classPrivateFieldGet(this, _Sandbox_taskManager, "f");
+        return this.#taskManager;
     }
     async document() {
-        if (__classPrivateFieldGet(this, _Sandbox_document, "f")) {
-            return __classPrivateFieldGet(this, _Sandbox_document, "f");
+        if (this.#document) {
+            return this.#document;
         }
-        __classPrivateFieldSet(this, _Sandbox_document, await __classPrivateFieldGet(this, _Sandbox_realm, "f").evaluateHandle(() => {
+        this.#document = await this.#realm.evaluateHandle(() => {
             return document;
-        }), "f");
-        return __classPrivateFieldGet(this, _Sandbox_document, "f");
+        });
+        return this.#document;
     }
     async $(selector) {
         const document = await this.document();
@@ -90,11 +78,11 @@
     }
     async evaluateHandle(pageFunction, ...args) {
         pageFunction = withSourcePuppeteerURLIfNone(this.evaluateHandle.name, pageFunction);
-        return __classPrivateFieldGet(this, _Sandbox_realm, "f").evaluateHandle(pageFunction, ...args);
+        return this.#realm.evaluateHandle(pageFunction, ...args);
     }
     async evaluate(pageFunction, ...args) {
         pageFunction = withSourcePuppeteerURLIfNone(this.evaluate.name, pageFunction);
-        return __classPrivateFieldGet(this, _Sandbox_realm, "f").evaluate(pageFunction, ...args);
+        return this.#realm.evaluate(pageFunction, ...args);
     }
     async adoptHandle(handle) {
         return (await this.evaluateHandle(node => {
@@ -102,7 +90,7 @@
         }, handle));
     }
     async transferHandle(handle) {
-        if (handle.context() === __classPrivateFieldGet(this, _Sandbox_realm, "f")) {
+        if (handle.context() === this.#realm) {
             return handle;
         }
         const transferredHandle = await this.evaluateHandle(node => {
@@ -112,7 +100,7 @@
         return transferredHandle;
     }
     waitForFunction(pageFunction, options = {}, ...args) {
-        const { polling = 'raf', timeout = __classPrivateFieldGet(this, _Sandbox_timeoutSettings, "f").timeout(), root, signal, } = options;
+        const { polling = 'raf', timeout = this.#timeoutSettings.timeout(), root, signal, } = options;
         if (typeof polling === 'number' && polling < 0) {
             throw new Error('Cannot poll with non-positive interval');
         }
@@ -165,5 +153,4 @@
         await handle.dispose();
     }
 }
-_Sandbox_document = new WeakMap(), _Sandbox_realm = new WeakMap(), _Sandbox_timeoutSettings = new WeakMap(), _Sandbox_taskManager = new WeakMap();
 //# sourceMappingURL=Sandbox.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Sandbox.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Sandbox.js.map
index 44a9f54..c72f1c2 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Sandbox.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Sandbox.js.map
@@ -1 +1 @@
-{"version":3,"file":"Sandbox.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Sandbox.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Sandbox.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Sandbox.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Serializer.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Serializer.d.ts
index a5e3481..375bb2f 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Serializer.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Serializer.d.ts
@@ -19,19 +19,19 @@
  * @internal
  */
 export declare class BidiSerializer {
-    static serializeNumber(arg: number): Bidi.CommonDataTypes.LocalValue;
-    static serializeObject(arg: object | null): Bidi.CommonDataTypes.LocalValue;
-    static serializeRemoveValue(arg: unknown): Bidi.CommonDataTypes.LocalValue;
-    static serialize(arg: unknown, context: BrowsingContext): Promise<Bidi.CommonDataTypes.LocalValue | Bidi.CommonDataTypes.RemoteValue>;
-    static deserializeNumber(value: Bidi.CommonDataTypes.SpecialNumber | number): number;
-    static deserializeLocalValue(result: Bidi.CommonDataTypes.RemoteValue): unknown;
+    static serializeNumber(arg: number): Bidi.Script.LocalValue;
+    static serializeObject(arg: object | null): Bidi.Script.LocalValue;
+    static serializeRemoveValue(arg: unknown): Bidi.Script.LocalValue;
+    static serialize(arg: unknown, context: BrowsingContext): Promise<Bidi.Script.LocalValue>;
+    static deserializeNumber(value: Bidi.Script.SpecialNumber | number): number;
+    static deserializeLocalValue(result: Bidi.Script.RemoteValue): unknown;
     static deserializeTuple([serializedKey, serializedValue]: [
-        Bidi.CommonDataTypes.RemoteValue | string,
-        Bidi.CommonDataTypes.RemoteValue
+        Bidi.Script.RemoteValue | string,
+        Bidi.Script.RemoteValue
     ]): {
         key: unknown;
         value: unknown;
     };
-    static deserialize(result: Bidi.CommonDataTypes.RemoteValue): any;
+    static deserialize(result: Bidi.Script.RemoteValue): any;
 }
 //# sourceMappingURL=Serializer.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Serializer.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Serializer.d.ts.map
index 8552d79..4dc6651 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Serializer.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Serializer.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"Serializer.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Serializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAKnE,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AASrD;;GAEG;AACH,qBAAa,cAAc;IACzB,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU;IAmBpE,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU;IA2D3E,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU;WAgC7D,SAAS,CACpB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,eAAe,GACvB,OAAO,CACR,IAAI,CAAC,eAAe,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CACnE;IA0BD,MAAM,CAAC,iBAAiB,CACtB,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa,GAAG,MAAM,GACjD,MAAM;IAeT,MAAM,CAAC,qBAAqB,CAC1B,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,GACvC,OAAO;IAqDV,MAAM,CAAC,gBAAgB,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE;QACxD,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,MAAM;QACzC,IAAI,CAAC,eAAe,CAAC,WAAW;KACjC,GAAG;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC;IAUlC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,GAAG;CAgBlE"}
\ No newline at end of file
+{"version":3,"file":"Serializer.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Serializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAKnE,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AASrD;;GAEG;AACH,qBAAa,cAAc;IACzB,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;IAmB3D,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;IA2DlE,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;WAgCpD,SAAS,CACpB,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;IA0BlC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,GAAG,MAAM;IAe3E,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,OAAO;IA2DtE,MAAM,CAAC,gBAAgB,CAAC,CAAC,aAAa,EAAE,eAAe,CAAC,EAAE;QACxD,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM;QAChC,IAAI,CAAC,MAAM,CAAC,WAAW;KACxB,GAAG;QAAC,GAAG,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAC;IAUlC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,GAAG;CAgBzD"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Serializer.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Serializer.js
index d7a847e..f6b73ba 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Serializer.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Serializer.js
@@ -169,15 +169,19 @@
     static deserializeLocalValue(result) {
         switch (result.type) {
             case 'array':
-                // TODO: Check expected output when value is undefined
-                return result.value?.map(value => {
-                    return BidiSerializer.deserializeLocalValue(value);
-                });
+                if (result.value) {
+                    return result.value.map(value => {
+                        return BidiSerializer.deserializeLocalValue(value);
+                    });
+                }
+                break;
             case 'set':
-                // TODO: Check expected output when value is undefined
-                return result.value.reduce((acc, value) => {
-                    return acc.add(BidiSerializer.deserializeLocalValue(value));
-                }, new Set());
+                if (result.value) {
+                    return result.value.reduce((acc, value) => {
+                        return acc.add(BidiSerializer.deserializeLocalValue(value));
+                    }, new Set());
+                }
+                break;
             case 'object':
                 if (result.value) {
                     return result.value.reduce((acc, tuple) => {
@@ -188,10 +192,13 @@
                 }
                 break;
             case 'map':
-                return result.value.reduce((acc, tuple) => {
-                    const { key, value } = BidiSerializer.deserializeTuple(tuple);
-                    return acc.set(key, value);
-                }, new Map());
+                if (result.value) {
+                    return result.value?.reduce((acc, tuple) => {
+                        const { key, value } = BidiSerializer.deserializeTuple(tuple);
+                        return acc.set(key, value);
+                    }, new Map());
+                }
+                break;
             case 'promise':
                 return {};
             case 'regexp':
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Serializer.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Serializer.js.map
index 393d1c4..05f33d5 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Serializer.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Serializer.js.map
@@ -1 +1 @@
-{"version":3,"file":"Serializer.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Serializer.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Serializer.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Serializer.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Target.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Target.d.ts
new file mode 100644
index 0000000..53883b3
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Target.d.ts
@@ -0,0 +1,58 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Target, TargetType } from '../../api/Target.js';
+import { CDPSession } from '../Connection.js';
+import type { WebWorker } from '../WebWorker.js';
+import { Browser } from './Browser.js';
+import { BrowserContext } from './BrowserContext.js';
+import { BrowsingContext } from './BrowsingContext.js';
+import { Page } from './Page.js';
+export declare class BiDiTarget extends Target {
+    protected _browserContext: BrowserContext;
+    constructor(browserContext: BrowserContext);
+    worker(): Promise<WebWorker | null>;
+    browser(): Browser;
+    browserContext(): BrowserContext;
+    opener(): Target | undefined;
+    _setBrowserContext(browserContext: BrowserContext): void;
+}
+/**
+ * @internal
+ */
+export declare class BiDiBrowserTarget extends BiDiTarget {
+    url(): string;
+    type(): TargetType;
+}
+/**
+ * @internal
+ */
+export declare class BiDiBrowsingContextTarget extends BiDiTarget {
+    protected _browsingContext: BrowsingContext;
+    constructor(browserContext: BrowserContext, browsingContext: BrowsingContext);
+    url(): string;
+    createCDPSession(): Promise<CDPSession>;
+    type(): TargetType;
+}
+/**
+ * @internal
+ */
+export declare class BiDiPageTarget extends BiDiBrowsingContextTarget {
+    #private;
+    constructor(browserContext: BrowserContext, browsingContext: BrowsingContext);
+    page(): Promise<Page | null>;
+    _setBrowserContext(browserContext: BrowserContext): void;
+}
+//# sourceMappingURL=Target.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Target.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Target.d.ts.map
new file mode 100644
index 0000000..9e49acc
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Target.d.ts.map
@@ -0,0 +1 @@
+{"version":3,"file":"Target.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/Target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AACrC,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAC,eAAe,EAAoB,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE/B,qBAAa,UAAW,SAAQ,MAAM;IACpC,SAAS,CAAC,eAAe,EAAE,cAAc,CAAC;gBAE9B,cAAc,EAAE,cAAc;IAK3B,MAAM,IAAI,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IAIzC,OAAO,IAAI,OAAO;IAIlB,cAAc,IAAI,cAAc;IAIhC,MAAM,IAAI,MAAM,GAAG,SAAS;IAIrC,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;CAGzD;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,UAAU;IACtC,GAAG,IAAI,MAAM;IAIb,IAAI,IAAI,UAAU;CAG5B;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,UAAU;IACvD,SAAS,CAAC,gBAAgB,EAAE,eAAe,CAAC;gBAG1C,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe;IAOzB,GAAG,IAAI,MAAM;IAIP,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC;IAW7C,IAAI,IAAI,UAAU;CAG5B;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,yBAAyB;;gBAIzD,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe;IAOnB,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAIlC,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;CAIlE"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Target.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Target.js
new file mode 100644
index 0000000..0eabb8a
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Target.js
@@ -0,0 +1,92 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { Target, TargetType } from '../../api/Target.js';
+import { CDPSessionWrapper } from './BrowsingContext.js';
+import { Page } from './Page.js';
+export class BiDiTarget extends Target {
+    _browserContext;
+    constructor(browserContext) {
+        super();
+        this._browserContext = browserContext;
+    }
+    async worker() {
+        return null;
+    }
+    browser() {
+        return this._browserContext.browser();
+    }
+    browserContext() {
+        return this._browserContext;
+    }
+    opener() {
+        throw new Error('Not implemented');
+    }
+    _setBrowserContext(browserContext) {
+        this._browserContext = browserContext;
+    }
+}
+/**
+ * @internal
+ */
+export class BiDiBrowserTarget extends BiDiTarget {
+    url() {
+        return '';
+    }
+    type() {
+        return TargetType.BROWSER;
+    }
+}
+/**
+ * @internal
+ */
+export class BiDiBrowsingContextTarget extends BiDiTarget {
+    _browsingContext;
+    constructor(browserContext, browsingContext) {
+        super(browserContext);
+        this._browsingContext = browsingContext;
+    }
+    url() {
+        return this._browsingContext.url;
+    }
+    async createCDPSession() {
+        const { sessionId } = await this._browsingContext.cdpSession.send('Target.attachToTarget', {
+            targetId: this._browsingContext.id,
+            flatten: true,
+        });
+        return new CDPSessionWrapper(this._browsingContext, sessionId);
+    }
+    type() {
+        return TargetType.PAGE;
+    }
+}
+/**
+ * @internal
+ */
+export class BiDiPageTarget extends BiDiBrowsingContextTarget {
+    #page;
+    constructor(browserContext, browsingContext) {
+        super(browserContext, browsingContext);
+        this.#page = new Page(browsingContext, browserContext);
+    }
+    async page() {
+        return this.#page;
+    }
+    _setBrowserContext(browserContext) {
+        super._setBrowserContext(browserContext);
+        this.#page._setBrowserContext(browserContext);
+    }
+}
+//# sourceMappingURL=Target.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Target.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Target.js.map
new file mode 100644
index 0000000..d989eb7
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/Target.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"Target.js","sourceRoot":"","sources":["../../../../../src/common/bidi/Target.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,MAAM,EAAE,UAAU,EAAC,MAAM,qBAAqB,CAAC;AAMvD,OAAO,EAAkB,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE/B,MAAM,OAAO,UAAW,SAAQ,MAAM;IAC1B,eAAe,CAAiB;IAE1C,YAAY,cAA8B;QACxC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IAEQ,KAAK,CAAC,MAAM;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAEQ,OAAO;QACd,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;IAEQ,cAAc;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEQ,MAAM;QACb,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,kBAAkB,CAAC,cAA8B;QAC/C,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,UAAU;IACtC,GAAG;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAEQ,IAAI;QACX,OAAO,UAAU,CAAC,OAAO,CAAC;IAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,yBAA0B,SAAQ,UAAU;IAC7C,gBAAgB,CAAkB;IAE5C,YACE,cAA8B,EAC9B,eAAgC;QAEhC,KAAK,CAAC,cAAc,CAAC,CAAC;QAEtB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;IAC1C,CAAC;IAEQ,GAAG;QACV,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC;IACnC,CAAC;IAEQ,KAAK,CAAC,gBAAgB;QAC7B,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAC7D,uBAAuB,EACvB;YACE,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAClC,OAAO,EAAE,IAAI;SACd,CACF,CAAC;QACF,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACjE,CAAC;IAEQ,IAAI;QACX,OAAO,UAAU,CAAC,IAAI,CAAC;IACzB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,yBAAyB;IAC3D,KAAK,CAAO;IAEZ,YACE,cAA8B,EAC9B,eAAgC;QAEhC,KAAK,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC;QAEvC,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC;IAEQ,KAAK,CAAC,IAAI;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEQ,kBAAkB,CAAC,cAA8B;QACxD,KAAK,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/utils.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/utils.d.ts
index 7e004d2..1d0cff4 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/utils.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/utils.d.ts
@@ -22,7 +22,7 @@
 /**
  * @internal
  */
-export declare function releaseReference(client: Realm, remoteReference: Bidi.CommonDataTypes.RemoteReference): Promise<void>;
+export declare function releaseReference(client: Realm, remoteReference: Bidi.Script.RemoteReference): Promise<void>;
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/utils.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/utils.d.ts.map
index 10234d9..9be193d 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/utils.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/utils.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAKnE,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAGjC;;GAEG;AACH,eAAO,MAAM,UAAU,8BAA2B,CAAC;AACnD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,KAAK,EACb,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,eAAe,GACpD,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,GACpC,OAAO,CAwCT"}
\ No newline at end of file
+{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/common/bidi/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,IAAI,MAAM,4CAA4C,CAAC;AAKnE,OAAO,EAAC,KAAK,EAAC,MAAM,YAAY,CAAC;AAGjC;;GAEG;AACH,eAAO,MAAM,UAAU,8BAA2B,CAAC;AACnD;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,KAAK,EACb,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,GAC3C,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,GACpC,OAAO,CAwCT"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/utils.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/utils.js.map
index 74e5837..8907053 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/utils.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/bidi/utils.js.map
@@ -1 +1 @@
-{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/common/bidi/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAGxC,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACnD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAa,EACb,eAAqD;IAErD,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;QAC3B,OAAO;KACR;IACD,MAAM,MAAM,CAAC,UAAU;SACpB,IAAI,CAAC,eAAe,EAAE;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;KAClC,CAAC;SACD,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;QACpB,sEAAsE;QACtE,iFAAiF;QACjF,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAqC;IAErC,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE;QACtC,OAAO,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACtD;IACD,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAElB,mDAAmD;IACnD,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,IAAI,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,eAAe,EAAE;QACnE,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE;YAC3D,IACE,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC;gBACtC,KAAK,CAAC,GAAG,KAAK,YAAY,CAAC,YAAY,EACvC;gBACA,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1C,UAAU,CAAC,OAAO,CAChB,UAAU,KAAK,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,KAC9C,GAAG,CAAC,YACN,OAAO,GAAG,CAAC,UAAU,iBAAiB,KAAK,CAAC,UAAU,IACpD,KAAK,CAAC,YACR,GAAG,CACJ,CAAC;aACH;iBAAM;gBACL,UAAU,CAAC,IAAI,CACb,UAAU,KAAK,CAAC,YAAY,IAAI,aAAa,KAAK,KAAK,CAAC,GAAG,IACzD,KAAK,CAAC,UACR,IAAI,KAAK,CAAC,YAAY,GAAG,CAC1B,CAAC;aACH;YACD,IAAI,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,eAAe,EAAE;gBAC9C,MAAM;aACP;SACF;KACF;IAED,KAAK,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC;AACf,CAAC"}
\ No newline at end of file
+{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/common/bidi/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAGxC,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACnD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAa,EACb,eAA4C;IAE5C,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE;QAC3B,OAAO;KACR;IACD,MAAM,MAAM,CAAC,UAAU;SACpB,IAAI,CAAC,eAAe,EAAE;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;KAClC,CAAC;SACD,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;QACpB,sEAAsE;QACtE,iFAAiF;QACjF,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAqC;IAErC,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE;QACtC,OAAO,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KACtD;IACD,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;IAElB,mDAAmD;IACnD,MAAM,UAAU,GAAG,EAAE,CAAC;IACtB,IAAI,OAAO,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC,eAAe,EAAE;QACnE,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE;YAC3D,IACE,YAAY,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC;gBACtC,KAAK,CAAC,GAAG,KAAK,YAAY,CAAC,YAAY,EACvC;gBACA,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1C,UAAU,CAAC,OAAO,CAChB,UAAU,KAAK,CAAC,YAAY,IAAI,GAAG,CAAC,YAAY,KAC9C,GAAG,CAAC,YACN,OAAO,GAAG,CAAC,UAAU,iBAAiB,KAAK,CAAC,UAAU,IACpD,KAAK,CAAC,YACR,GAAG,CACJ,CAAC;aACH;iBAAM;gBACL,UAAU,CAAC,IAAI,CACb,UAAU,KAAK,CAAC,YAAY,IAAI,aAAa,KAAK,KAAK,CAAC,GAAG,IACzD,KAAK,CAAC,UACR,IAAI,KAAK,CAAC,YAAY,GAAG,CAC1B,CAAC;aACH;YACD,IAAI,UAAU,CAAC,MAAM,IAAI,KAAK,CAAC,eAAe,EAAE;gBAC9C,MAAM;aACP;SACF;KACF;IAED,KAAK,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC;AACf,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/types.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/types.d.ts
index d2b3c0f..3dd887e 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/types.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/types.d.ts
@@ -19,7 +19,7 @@
 /**
  * @internal
  */
-export type BindingPayload = {
+export interface BindingPayload {
     type: string;
     name: string;
     seq: number;
@@ -28,7 +28,7 @@
      * Determines whether the arguments of the payload are trivial.
      */
     isTrivial: boolean;
-};
+}
 /**
  * @internal
  */
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/types.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/types.d.ts.map
index 5c9c8e1..7177a6a 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/types.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/types.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/common/types.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/common/types.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.d.ts
index d4fa33b..8d2042b 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.d.ts
@@ -150,4 +150,8 @@
  * @internal
  */
 export declare function getPageContent(): string;
+/**
+ * @internal
+ */
+export declare function validateDialogType(type: string): 'alert' | 'confirm' | 'prompt' | 'beforeunload';
 //# sourceMappingURL=util.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.d.ts.map
index 82db0d9..ac8b6b4 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/common/util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;;AAEH,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAGpC,OAAO,EAAC,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAG7C,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAGhD,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAG5D;;GAEG;AACH,eAAO,MAAM,UAAU,8BAA2B,CAAC;AAEnD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,gBAAgB,GACzC,OAAO,CAsDT;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,gBAAgB,GACzC,OAAO,CAsCT;AA0BD;;GAEG;AACH,qBAAa,YAAY;;IACvB,MAAM,CAAC,YAAY,SAAmB;IAEtC,MAAM,CAAC,YAAY,CACjB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,CAAC,QAAQ,GACpB,YAAY;IAOf,MAAM,CAAC,KAAK,QAAS,MAAM,KAAG,YAAY,CAOxC;IAEF,MAAM,CAAC,cAAc,QAAS,MAAM,KAAG,OAAO,CAE5C;IAKF,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,QAAQ,IAAI,MAAM;CAMnB;AAED;;GAEG;AACH,eAAO,MAAM,4BAA4B,+BACzB,MAAM,iBAkBrB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gCAAgC,+BAI1C,YAAY,GAAG,SAKjB,CAAC;AAEF;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,GAC1C,GAAG,CAuBL;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,GAC1C,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAChC,sBAAsB,CAGxB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,kBAAkB,CAAC;IAC5B,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACnC,CAAC,GACD,IAAI,CAKN;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAS,OAAO,kBAEpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAS,OAAO,kBAEpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,QAAS,OAAO,gCAEzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAS,OAAO,kBAEpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,MAAM,QAAS,OAAO,gBAElC,CAAC;AAEF;;GAEG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAClC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,EACnD,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAC7C,OAAO,CAAC,CAAC,CAAC,CAuBZ;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,YAAY,GAC1C,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,CAKhC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,QAAQ,GAAG,MAAM,EACtB,GAAG,IAAI,EAAE,OAAO,EAAE,GACjB,MAAM,CAcR;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CA4C/D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,CAAC,EACrC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,CAAC,CAAC,CAOZ;AAMD;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAC/C,cAAc,aAAa,CAAC,CAC7B,CAcA;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuBxB;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,QAAQ,CAAC,CAiCnB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,EAC5B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAcvC"}
\ No newline at end of file
+{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../src/common/util.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.js b/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.js
index 29c399a..1b44b6d 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _PuppeteerURL_functionName, _PuppeteerURL_siteString;
 import { isNode } from '../environment.js';
 import { assert } from '../util/assert.js';
 import { Deferred } from '../util/Deferred.js';
@@ -140,42 +128,39 @@
  * @internal
  */
 export class PuppeteerURL {
-    constructor() {
-        _PuppeteerURL_functionName.set(this, void 0);
-        _PuppeteerURL_siteString.set(this, void 0);
-    }
+    static INTERNAL_URL = 'pptr:internal';
     static fromCallSite(functionName, site) {
         const url = new PuppeteerURL();
-        __classPrivateFieldSet(url, _PuppeteerURL_functionName, functionName, "f");
-        __classPrivateFieldSet(url, _PuppeteerURL_siteString, site.toString(), "f");
+        url.#functionName = functionName;
+        url.#siteString = site.toString();
         return url;
     }
+    static parse = (url) => {
+        url = url.slice('pptr:'.length);
+        const [functionName = '', siteString = ''] = url.split(';');
+        const puppeteerUrl = new PuppeteerURL();
+        puppeteerUrl.#functionName = functionName;
+        puppeteerUrl.#siteString = decodeURIComponent(siteString);
+        return puppeteerUrl;
+    };
+    static isPuppeteerURL = (url) => {
+        return url.startsWith('pptr:');
+    };
+    #functionName;
+    #siteString;
     get functionName() {
-        return __classPrivateFieldGet(this, _PuppeteerURL_functionName, "f");
+        return this.#functionName;
     }
     get siteString() {
-        return __classPrivateFieldGet(this, _PuppeteerURL_siteString, "f");
+        return this.#siteString;
     }
     toString() {
         return `pptr:${[
-            __classPrivateFieldGet(this, _PuppeteerURL_functionName, "f"),
-            encodeURIComponent(__classPrivateFieldGet(this, _PuppeteerURL_siteString, "f")),
+            this.#functionName,
+            encodeURIComponent(this.#siteString),
         ].join(';')}`;
     }
 }
-_PuppeteerURL_functionName = new WeakMap(), _PuppeteerURL_siteString = new WeakMap();
-PuppeteerURL.INTERNAL_URL = 'pptr:internal';
-PuppeteerURL.parse = (url) => {
-    url = url.slice('pptr:'.length);
-    const [functionName = '', siteString = ''] = url.split(';');
-    const puppeteerUrl = new PuppeteerURL();
-    __classPrivateFieldSet(puppeteerUrl, _PuppeteerURL_functionName, functionName, "f");
-    __classPrivateFieldSet(puppeteerUrl, _PuppeteerURL_siteString, decodeURIComponent(siteString), "f");
-    return puppeteerUrl;
-};
-PuppeteerURL.isPuppeteerURL = (url) => {
-    return url.startsWith('pptr:');
-};
 /**
  * @internal
  */
@@ -304,16 +289,19 @@
             deferred.resolve(event);
         }
     });
-    return Deferred.race([deferred, abortPromise]).then(r => {
-        removeEventListeners([listener]);
-        if (isErrorLike(r)) {
-            throw r;
+    try {
+        const response = await Deferred.race([deferred, abortPromise]);
+        if (isErrorLike(response)) {
+            throw response;
         }
-        return r;
-    }, error => {
-        removeEventListeners([listener]);
+        return response;
+    }
+    catch (error) {
         throw error;
-    });
+    }
+    finally {
+        removeEventListeners([listener]);
+    }
 }
 /**
  * @internal
@@ -513,4 +501,21 @@
     }
     return content;
 }
+/**
+ * @internal
+ */
+export function validateDialogType(type) {
+    let dialogType = null;
+    const validDialogTypes = new Set([
+        'alert',
+        'confirm',
+        'prompt',
+        'beforeunload',
+    ]);
+    if (validDialogTypes.has(type)) {
+        dialogType = type;
+    }
+    assert(dialogType, `Unknown javascript dialog type: ${type}`);
+    return dialogType;
+}
 //# sourceMappingURL=util.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.js.map
index feb8a0f..67c0376 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/common/util.js.map
@@ -1 +1 @@
-{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/common/util.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../src/common/util.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.d.ts
index 2581483..22ce150 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.d.ts
@@ -5,5 +5,5 @@
  *
  * @internal
  */
-export declare const source = "\"use strict\";var C=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var se=Object.prototype.hasOwnProperty;var f=(t,e)=>{for(var n in e)C(t,n,{get:e[n],enumerable:!0})},ie=(t,e,n,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of oe(e))!se.call(t,o)&&o!==n&&C(t,o,{get:()=>e[o],enumerable:!(r=ne(e,o))||r.enumerable});return t};var le=t=>ie(C({},\"__esModule\",{value:!0}),t);var Oe={};f(Oe,{default:()=>Re});module.exports=le(Oe);var T=class extends Error{constructor(e){super(e),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor)}},S=class extends T{},I=class extends T{#e;#t=\"\";set code(e){this.#e=e}get code(){return this.#e}set originalMessage(e){this.#t=e}get originalMessage(){return this.#t}};var qe=Object.freeze({TimeoutError:S,ProtocolError:I});var a=class{#e=!1;#t=!1;#n;#r=()=>{};#o=new Promise(e=>{this.#r=e});#s;constructor(e){this.#s=e&&e.timeout>0?setTimeout(()=>{this.reject(new S(e.message))},e.timeout):void 0}#i(e){clearTimeout(this.#s),this.#n=e,this.#r()}resolve(e){this.#t||this.#e||(this.#e=!0,this.#i(e))}reject(e){this.#t||this.#e||(this.#t=!0,this.#i(e))}resolved(){return this.#e}finished(){return this.#e||this.#t}value(){return this.#n}async valueOrThrow(){if(await this.#o,this.#t)throw this.#n;return this.#n}static create(e){return new a(e)}static async race(e){let n=new Set;try{let r=e.map(o=>o instanceof a?(o.#s&&n.add(o),o.valueOrThrow()):o);return await Promise.race(r)}finally{for(let r of n)r.reject(new Error(\"Timeout cleared\"))}}};var G=new Map,X=t=>{let e=G.get(t);return e||(e=new Function(`return ${t}`)(),G.set(t,e),e)};var R={};f(R,{ariaQuerySelector:()=>ae,ariaQuerySelectorAll:()=>k});var ae=(t,e)=>window.__ariaQuerySelector(t,e),k=async function*(t,e){yield*await window.__ariaQuerySelectorAll(t,e)};var q={};f(q,{customQuerySelectors:()=>M});var O=class{#e=new Map;register(e,n){if(!n.queryOne&&n.queryAll){let r=n.queryAll;n.queryOne=(o,i)=>{for(let s of r(o,i))return s;return null}}else if(n.queryOne&&!n.queryAll){let r=n.queryOne;n.queryAll=(o,i)=>{let s=r(o,i);return s?[s]:[]}}else if(!n.queryOne||!n.queryAll)throw new Error(\"At least one query method must be defined.\");this.#e.set(e,{querySelector:n.queryOne,querySelectorAll:n.queryAll})}unregister(e){this.#e.delete(e)}get(e){return this.#e.get(e)}clear(){this.#e.clear()}},M=new O;var _={};f(_,{pierceQuerySelector:()=>ce,pierceQuerySelectorAll:()=>ue});var ce=(t,e)=>{let n=null,r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&!n&&s.matches(e)&&(n=s)}while(!n&&i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n},ue=(t,e)=>{let n=[],r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&s.matches(e)&&n.push(s)}while(i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n};var m=(t,e)=>{if(!t)throw new Error(e)};var P=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=a.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=new MutationObserver(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())}),this.#n.observe(this.#t,{childList:!0,subtree:!0,attributes:!0})}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(this.#n.disconnect(),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}},E=class{#e;#t;constructor(e){this.#e=e}async start(){let e=this.#t=a.create(),n=await this.#e();if(n){e.resolve(n);return}let r=async()=>{if(e.finished())return;let o=await this.#e();if(!o){window.requestAnimationFrame(r);return}e.resolve(o),await this.stop()};window.requestAnimationFrame(r)}async stop(){m(this.#t,\"Polling never started.\"),this.#t.finished()||this.#t.reject(new Error(\"Polling stopped\"))}result(){return m(this.#t,\"Polling never started.\"),this.#t.valueOrThrow()}},x=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=a.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=setInterval(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())},this.#t)}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(clearInterval(this.#n),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}};var H={};f(H,{pQuerySelector:()=>Ie,pQuerySelectorAll:()=>re});var u=class{static async*map(e,n){for await(let r of e)yield await n(r)}static async*flatMap(e,n){for await(let r of e)yield*n(r)}static async collect(e){let n=[];for await(let r of e)n.push(r);return n}static async first(e){for await(let n of e)return n}};var p={attribute:/\\[\\s*(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)\\s*(?:(?<operator>\\W?=)\\s*(?<value>.+?)\\s*(\\s(?<caseSensitive>[iIsS]))?\\s*)?\\]/gu,id:/#(?<name>[-\\w\\P{ASCII}]+)/gu,class:/\\.(?<name>[-\\w\\P{ASCII}]+)/gu,comma:/\\s*,\\s*/g,combinator:/\\s*[\\s>+~]\\s*/g,\"pseudo-element\":/::(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>\u00B6+)\\))?/gu,\"pseudo-class\":/:(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>\u00B6+)\\))?/gu,universal:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?\\*/gu,type:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)/gu},fe=new Set([\"combinator\",\"comma\"]);var de=t=>{switch(t){case\"pseudo-element\":case\"pseudo-class\":return new RegExp(p[t].source.replace(\"(?<argument>\\xB6+)\",\"(?<argument>.+)\"),\"gu\");default:return p[t]}};function me(t,e){let n=0,r=\"\";for(;e<t.length;e++){let o=t[e];switch(o){case\"(\":++n;break;case\")\":--n;break}if(r+=o,n===0)return r}return r}function he(t,e=p){if(!t)return[];let n=[t];for(let[o,i]of Object.entries(e))for(let s=0;s<n.length;s++){let l=n[s];if(typeof l!=\"string\")continue;i.lastIndex=0;let c=i.exec(l);if(!c)continue;let h=c.index-1,d=[],V=c[0],B=l.slice(0,h+1);B&&d.push(B),d.push({...c.groups,type:o,content:V});let z=l.slice(h+V.length+1);z&&d.push(z),n.splice(s,1,...d)}let r=0;for(let o of n)switch(typeof o){case\"string\":throw new Error(`Unexpected sequence ${o} found at index ${r}`);case\"object\":r+=o.content.length,o.pos=[r-o.content.length,r],fe.has(o.type)&&(o.content=o.content.trim()||\" \");break}return n}var pe=/(['\"])([^\\\\\\n]+?)\\1/g,ye=/\\\\./g;function K(t,e=p){if(t=t.trim(),t===\"\")return[];let n=[];t=t.replace(ye,(i,s)=>(n.push({value:i,offset:s}),\"\\uE000\".repeat(i.length))),t=t.replace(pe,(i,s,l,c)=>(n.push({value:i,offset:c}),`${s}${\"\\uE001\".repeat(l.length)}${s}`));{let i=0,s;for(;(s=t.indexOf(\"(\",i))>-1;){let l=me(t,s);n.push({value:l,offset:s}),t=`${t.substring(0,s)}(${\"\\xB6\".repeat(l.length-2)})${t.substring(s+l.length)}`,i=s+l.length}}let r=he(t,e),o=new Set;for(let i of n.reverse())for(let s of r){let{offset:l,value:c}=i;if(!(s.pos[0]<=l&&l+c.length<=s.pos[1]))continue;let{content:h}=s,d=l-s.pos[0];s.content=h.slice(0,d)+c+h.slice(d+c.length),s.content!==h&&o.add(s)}for(let i of o){let s=de(i.type);if(!s)throw new Error(`Unknown token type: ${i.type}`);s.lastIndex=0;let l=s.exec(i.content);if(!l)throw new Error(`Unable to parse content for ${i.type}: ${i.content}`);Object.assign(i,l.groups)}return r}function*N(t,e){switch(t.type){case\"list\":for(let n of t.list)yield*N(n,t);break;case\"complex\":yield*N(t.left,t),yield*N(t.right,t);break;case\"compound\":yield*t.list.map(n=>[n,t]);break;default:yield[t,e]}}function y(t){let e;return Array.isArray(t)?e=t:e=[...N(t)].map(([n])=>n),e.map(n=>n.content).join(\"\")}p.combinator=/\\s*(>>>>?|[\\s>+~])\\s*/g;var ge=/\\\\[\\s\\S]/g,we=t=>t.length<=1?t:((t[0]==='\"'||t[0]===\"'\")&&t.endsWith(t[0])&&(t=t.slice(1,-1)),t.replace(ge,e=>e[1]));function Y(t){let e=!0,n=K(t);if(n.length===0)return[[],e];let r=[],o=[r],i=[o],s=[];for(let l of n){switch(l.type){case\"combinator\":switch(l.content){case\">>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>\"),o.push(r);continue;case\">>>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>>\"),o.push(r);continue}break;case\"pseudo-element\":if(!l.name.startsWith(\"-p-\"))break;e=!1,s.length&&(r.push(y(s)),s.splice(0)),r.push({name:l.name.slice(3),value:we(l.argument??\"\")});continue;case\"comma\":s.length&&(r.push(y(s)),s.splice(0)),r=[],o=[r],i.push(o);continue}s.push(l)}return s.length&&r.push(y(s)),[i,e]}var Q={};f(Q,{textQuerySelectorAll:()=>b});var Se=new Set([\"checkbox\",\"image\",\"radio\"]),be=t=>t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&!Se.has(t.type),Te=new Set([\"SCRIPT\",\"STYLE\"]),w=t=>!Te.has(t.nodeName)&&!document.head?.contains(t),D=new WeakMap,Z=t=>{for(;t;)D.delete(t),t instanceof ShadowRoot?t=t.host:t=t.parentNode},J=new WeakSet,Pe=new MutationObserver(t=>{for(let e of t)Z(e.target)}),g=t=>{let e=D.get(t);if(e||(e={full:\"\",immediate:[]},!w(t)))return e;let n=\"\";if(be(t))e.full=t.value,e.immediate.push(t.value),t.addEventListener(\"input\",r=>{Z(r.target)},{once:!0,capture:!0});else{for(let r=t.firstChild;r;r=r.nextSibling){if(r.nodeType===Node.TEXT_NODE){e.full+=r.nodeValue??\"\",n+=r.nodeValue??\"\";continue}n&&e.immediate.push(n),n=\"\",r.nodeType===Node.ELEMENT_NODE&&(e.full+=g(r).full)}n&&e.immediate.push(n),t instanceof Element&&t.shadowRoot&&(e.full+=g(t.shadowRoot).full),J.has(t)||(Pe.observe(t,{childList:!0,characterData:!0}),J.add(t))}return D.set(t,e),e};var b=function*(t,e){let n=!1;for(let r of t.childNodes)if(r instanceof Element&&w(r)){let o;r.shadowRoot?o=b(r.shadowRoot,e):o=b(r,e);for(let i of o)yield i,n=!0}n||t instanceof Element&&w(t)&&g(t).full.includes(e)&&(yield t)};var $={};f($,{checkVisibility:()=>xe,pierce:()=>A,pierceAll:()=>L});var Ee=[\"hidden\",\"collapse\"],xe=(t,e)=>{if(!t)return e===!1;if(e===void 0)return t;let n=t.nodeType===Node.TEXT_NODE?t.parentElement:t,r=window.getComputedStyle(n),o=r&&!Ee.includes(r.visibility)&&!Ne(n);return e===o?t:!1};function Ne(t){let e=t.getBoundingClientRect();return e.width===0||e.height===0}var Ae=t=>\"shadowRoot\"in t&&t.shadowRoot instanceof ShadowRoot;function*A(t){Ae(t)?yield t.shadowRoot:yield t}function*L(t){t=A(t).next().value,yield t;let e=[document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT)];for(let n of e){let r;for(;r=n.nextNode();)r.shadowRoot&&(yield r.shadowRoot,e.push(document.createTreeWalker(r.shadowRoot,NodeFilter.SHOW_ELEMENT)))}}var j={};f(j,{xpathQuerySelectorAll:()=>U});var U=function*(t,e){let r=(t.ownerDocument||document).evaluate(e,t,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE),o;for(;o=r.iterateNext();)yield o};var ve=/[-\\w\\P{ASCII}*]/,ee=t=>\"querySelectorAll\"in t,v=class extends Error{constructor(e,n){super(`${e} is not a valid selector: ${n}`)}},F=class{#e;#t;#n=[];#r=void 0;elements;constructor(e,n,r){this.elements=[e],this.#e=n,this.#t=r,this.#o()}async run(){if(typeof this.#r==\"string\")switch(this.#r.trimStart()){case\":scope\":this.#o();break}for(;this.#r!==void 0;this.#o()){let e=this.#r,n=this.#e;typeof e==\"string\"?e[0]&&ve.test(e[0])?this.elements=u.flatMap(this.elements,async function*(r){ee(r)&&(yield*r.querySelectorAll(e))}):this.elements=u.flatMap(this.elements,async function*(r){if(!r.parentElement){if(!ee(r))return;yield*r.querySelectorAll(e);return}let o=0;for(let i of r.parentElement.children)if(++o,i===r)break;yield*r.parentElement.querySelectorAll(`:scope>:nth-child(${o})${e}`)}):this.elements=u.flatMap(this.elements,async function*(r){switch(e.name){case\"text\":yield*b(r,e.value);break;case\"xpath\":yield*U(r,e.value);break;case\"aria\":yield*k(r,e.value);break;default:let o=M.get(e.name);if(!o)throw new v(n,`Unknown selector type: ${e.name}`);yield*o.querySelectorAll(r,e.value)}})}}#o(){if(this.#n.length!==0){this.#r=this.#n.shift();return}if(this.#t.length===0){this.#r=void 0;return}let e=this.#t.shift();switch(e){case\">>>>\":{this.elements=u.flatMap(this.elements,A),this.#o();break}case\">>>\":{this.elements=u.flatMap(this.elements,L),this.#o();break}default:this.#n=e,this.#o();break}}},W=class{#e=new WeakMap;calculate(e,n=[]){if(e===null)return n;e instanceof ShadowRoot&&(e=e.host);let r=this.#e.get(e);if(r)return[...r,...n];let o=0;for(let s=e.previousSibling;s;s=s.previousSibling)++o;let i=this.calculate(e.parentNode,[o]);return this.#e.set(e,i),[...i,...n]}},te=(t,e)=>{if(t.length+e.length===0)return 0;let[n=-1,...r]=t,[o=-1,...i]=e;return n===o?te(r,i):n<o?-1:1},Ce=async function*(t){let e=new Set;for await(let r of t)e.add(r);let n=new W;yield*[...e.values()].map(r=>[r,n.calculate(r)]).sort(([,r],[,o])=>te(r,o)).map(([r])=>r)},re=function(t,e){let n,r;try{[n,r]=Y(e)}catch{return t.querySelectorAll(e)}if(r)return t.querySelectorAll(e);if(n.some(o=>{let i=0;return o.some(s=>(typeof s==\"string\"?++i:i=0,i>1))}))throw new v(e,\"Multiple deep combinators found in sequence.\");return Ce(u.flatMap(n,o=>{let i=new F(t,e,o);return i.run(),i.elements}))},Ie=async function(t,e){for await(let n of re(t,e))return n;return null};var ke=Object.freeze({...R,...q,..._,...H,...Q,...$,...j,Deferred:a,createFunction:X,createTextContent:g,IntervalPoller:x,isSuitableNodeForTextMatching:w,MutationPoller:P,RAFPoller:E}),Re=ke;\n";
+export declare const source = "\"use strict\";var C=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var se=Object.prototype.hasOwnProperty;var u=(t,e)=>{for(var n in e)C(t,n,{get:e[n],enumerable:!0})},ie=(t,e,n,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of oe(e))!se.call(t,o)&&o!==n&&C(t,o,{get:()=>e[o],enumerable:!(r=ne(e,o))||r.enumerable});return t};var le=t=>ie(C({},\"__esModule\",{value:!0}),t);var Oe={};u(Oe,{default:()=>Re});module.exports=le(Oe);var T=class extends Error{constructor(e){super(e),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor)}},S=class extends T{},I=class extends T{#e;#t=\"\";set code(e){this.#e=e}get code(){return this.#e}set originalMessage(e){this.#t=e}get originalMessage(){return this.#t}};var qe=Object.freeze({TimeoutError:S,ProtocolError:I});var f=class t{#e=!1;#t=!1;#n;#r=()=>{};#o=new Promise(e=>{this.#r=e});#s;constructor(e){this.#s=e&&e.timeout>0?setTimeout(()=>{this.reject(new S(e.message))},e.timeout):void 0}#i(e){clearTimeout(this.#s),this.#n=e,this.#r()}resolve(e){this.#t||this.#e||(this.#e=!0,this.#i(e))}reject(e){this.#t||this.#e||(this.#t=!0,this.#i(e))}resolved(){return this.#e}finished(){return this.#e||this.#t}value(){return this.#n}async valueOrThrow(){if(await this.#o,this.#t)throw this.#n;return this.#n}static create(e){return new t(e)}static async race(e){let n=new Set;try{let r=e.map(o=>o instanceof t?(o.#s&&n.add(o),o.valueOrThrow()):o);return await Promise.race(r)}finally{for(let r of n)r.reject(new Error(\"Timeout cleared\"))}}};var G=new Map,X=t=>{let e=G.get(t);return e||(e=new Function(`return ${t}`)(),G.set(t,e),e)};var R={};u(R,{ariaQuerySelector:()=>ae,ariaQuerySelectorAll:()=>k});var ae=(t,e)=>window.__ariaQuerySelector(t,e),k=async function*(t,e){yield*await window.__ariaQuerySelectorAll(t,e)};var q={};u(q,{customQuerySelectors:()=>M});var O=class{#e=new Map;register(e,n){if(!n.queryOne&&n.queryAll){let r=n.queryAll;n.queryOne=(o,i)=>{for(let s of r(o,i))return s;return null}}else if(n.queryOne&&!n.queryAll){let r=n.queryOne;n.queryAll=(o,i)=>{let s=r(o,i);return s?[s]:[]}}else if(!n.queryOne||!n.queryAll)throw new Error(\"At least one query method must be defined.\");this.#e.set(e,{querySelector:n.queryOne,querySelectorAll:n.queryAll})}unregister(e){this.#e.delete(e)}get(e){return this.#e.get(e)}clear(){this.#e.clear()}},M=new O;var D={};u(D,{pierceQuerySelector:()=>ce,pierceQuerySelectorAll:()=>ue});var ce=(t,e)=>{let n=null,r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&!n&&s.matches(e)&&(n=s)}while(!n&&i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n},ue=(t,e)=>{let n=[],r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&s.matches(e)&&n.push(s)}while(i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n};var m=(t,e)=>{if(!t)throw new Error(e)};var P=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=f.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=new MutationObserver(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())}),this.#n.observe(this.#t,{childList:!0,subtree:!0,attributes:!0})}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(this.#n.disconnect(),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}},E=class{#e;#t;constructor(e){this.#e=e}async start(){let e=this.#t=f.create(),n=await this.#e();if(n){e.resolve(n);return}let r=async()=>{if(e.finished())return;let o=await this.#e();if(!o){window.requestAnimationFrame(r);return}e.resolve(o),await this.stop()};window.requestAnimationFrame(r)}async stop(){m(this.#t,\"Polling never started.\"),this.#t.finished()||this.#t.reject(new Error(\"Polling stopped\"))}result(){return m(this.#t,\"Polling never started.\"),this.#t.valueOrThrow()}},x=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=f.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=setInterval(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())},this.#t)}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(clearInterval(this.#n),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}};var H={};u(H,{pQuerySelector:()=>Ie,pQuerySelectorAll:()=>re});var c=class{static async*map(e,n){for await(let r of e)yield await n(r)}static async*flatMap(e,n){for await(let r of e)yield*n(r)}static async collect(e){let n=[];for await(let r of e)n.push(r);return n}static async first(e){for await(let n of e)return n}};var p={attribute:/\\[\\s*(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)\\s*(?:(?<operator>\\W?=)\\s*(?<value>.+?)\\s*(\\s(?<caseSensitive>[iIsS]))?\\s*)?\\]/gu,id:/#(?<name>[-\\w\\P{ASCII}]+)/gu,class:/\\.(?<name>[-\\w\\P{ASCII}]+)/gu,comma:/\\s*,\\s*/g,combinator:/\\s*[\\s>+~]\\s*/g,\"pseudo-element\":/::(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>\u00B6+)\\))?/gu,\"pseudo-class\":/:(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>\u00B6+)\\))?/gu,universal:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?\\*/gu,type:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)/gu},fe=new Set([\"combinator\",\"comma\"]);var de=t=>{switch(t){case\"pseudo-element\":case\"pseudo-class\":return new RegExp(p[t].source.replace(\"(?<argument>\\xB6+)\",\"(?<argument>.+)\"),\"gu\");default:return p[t]}};function me(t,e){let n=0,r=\"\";for(;e<t.length;e++){let o=t[e];switch(o){case\"(\":++n;break;case\")\":--n;break}if(r+=o,n===0)return r}return r}function he(t,e=p){if(!t)return[];let n=[t];for(let[o,i]of Object.entries(e))for(let s=0;s<n.length;s++){let l=n[s];if(typeof l!=\"string\")continue;i.lastIndex=0;let a=i.exec(l);if(!a)continue;let h=a.index-1,d=[],V=a[0],B=l.slice(0,h+1);B&&d.push(B),d.push({...a.groups,type:o,content:V});let z=l.slice(h+V.length+1);z&&d.push(z),n.splice(s,1,...d)}let r=0;for(let o of n)switch(typeof o){case\"string\":throw new Error(`Unexpected sequence ${o} found at index ${r}`);case\"object\":r+=o.content.length,o.pos=[r-o.content.length,r],fe.has(o.type)&&(o.content=o.content.trim()||\" \");break}return n}var pe=/(['\"])([^\\\\\\n]+?)\\1/g,ye=/\\\\./g;function K(t,e=p){if(t=t.trim(),t===\"\")return[];let n=[];t=t.replace(ye,(i,s)=>(n.push({value:i,offset:s}),\"\\uE000\".repeat(i.length))),t=t.replace(pe,(i,s,l,a)=>(n.push({value:i,offset:a}),`${s}${\"\\uE001\".repeat(l.length)}${s}`));{let i=0,s;for(;(s=t.indexOf(\"(\",i))>-1;){let l=me(t,s);n.push({value:l,offset:s}),t=`${t.substring(0,s)}(${\"\\xB6\".repeat(l.length-2)})${t.substring(s+l.length)}`,i=s+l.length}}let r=he(t,e),o=new Set;for(let i of n.reverse())for(let s of r){let{offset:l,value:a}=i;if(!(s.pos[0]<=l&&l+a.length<=s.pos[1]))continue;let{content:h}=s,d=l-s.pos[0];s.content=h.slice(0,d)+a+h.slice(d+a.length),s.content!==h&&o.add(s)}for(let i of o){let s=de(i.type);if(!s)throw new Error(`Unknown token type: ${i.type}`);s.lastIndex=0;let l=s.exec(i.content);if(!l)throw new Error(`Unable to parse content for ${i.type}: ${i.content}`);Object.assign(i,l.groups)}return r}function*N(t,e){switch(t.type){case\"list\":for(let n of t.list)yield*N(n,t);break;case\"complex\":yield*N(t.left,t),yield*N(t.right,t);break;case\"compound\":yield*t.list.map(n=>[n,t]);break;default:yield[t,e]}}function y(t){let e;return Array.isArray(t)?e=t:e=[...N(t)].map(([n])=>n),e.map(n=>n.content).join(\"\")}p.combinator=/\\s*(>>>>?|[\\s>+~])\\s*/g;var ge=/\\\\[\\s\\S]/g,we=t=>t.length<=1?t:((t[0]==='\"'||t[0]===\"'\")&&t.endsWith(t[0])&&(t=t.slice(1,-1)),t.replace(ge,e=>e[1]));function Y(t){let e=!0,n=K(t);if(n.length===0)return[[],e];let r=[],o=[r],i=[o],s=[];for(let l of n){switch(l.type){case\"combinator\":switch(l.content){case\">>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>\"),o.push(r);continue;case\">>>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>>\"),o.push(r);continue}break;case\"pseudo-element\":if(!l.name.startsWith(\"-p-\"))break;e=!1,s.length&&(r.push(y(s)),s.splice(0)),r.push({name:l.name.slice(3),value:we(l.argument??\"\")});continue;case\"comma\":s.length&&(r.push(y(s)),s.splice(0)),r=[],o=[r],i.push(o);continue}s.push(l)}return s.length&&r.push(y(s)),[i,e]}var Q={};u(Q,{textQuerySelectorAll:()=>b});var Se=new Set([\"checkbox\",\"image\",\"radio\"]),be=t=>t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&!Se.has(t.type),Te=new Set([\"SCRIPT\",\"STYLE\"]),w=t=>!Te.has(t.nodeName)&&!document.head?.contains(t),_=new WeakMap,Z=t=>{for(;t;)_.delete(t),t instanceof ShadowRoot?t=t.host:t=t.parentNode},J=new WeakSet,Pe=new MutationObserver(t=>{for(let e of t)Z(e.target)}),g=t=>{let e=_.get(t);if(e||(e={full:\"\",immediate:[]},!w(t)))return e;let n=\"\";if(be(t))e.full=t.value,e.immediate.push(t.value),t.addEventListener(\"input\",r=>{Z(r.target)},{once:!0,capture:!0});else{for(let r=t.firstChild;r;r=r.nextSibling){if(r.nodeType===Node.TEXT_NODE){e.full+=r.nodeValue??\"\",n+=r.nodeValue??\"\";continue}n&&e.immediate.push(n),n=\"\",r.nodeType===Node.ELEMENT_NODE&&(e.full+=g(r).full)}n&&e.immediate.push(n),t instanceof Element&&t.shadowRoot&&(e.full+=g(t.shadowRoot).full),J.has(t)||(Pe.observe(t,{childList:!0,characterData:!0}),J.add(t))}return _.set(t,e),e};var b=function*(t,e){let n=!1;for(let r of t.childNodes)if(r instanceof Element&&w(r)){let o;r.shadowRoot?o=b(r.shadowRoot,e):o=b(r,e);for(let i of o)yield i,n=!0}n||t instanceof Element&&w(t)&&g(t).full.includes(e)&&(yield t)};var $={};u($,{checkVisibility:()=>xe,pierce:()=>A,pierceAll:()=>L});var Ee=[\"hidden\",\"collapse\"],xe=(t,e)=>{if(!t)return e===!1;if(e===void 0)return t;let n=t.nodeType===Node.TEXT_NODE?t.parentElement:t,r=window.getComputedStyle(n),o=r&&!Ee.includes(r.visibility)&&!Ne(n);return e===o?t:!1};function Ne(t){let e=t.getBoundingClientRect();return e.width===0||e.height===0}var Ae=t=>\"shadowRoot\"in t&&t.shadowRoot instanceof ShadowRoot;function*A(t){Ae(t)?yield t.shadowRoot:yield t}function*L(t){t=A(t).next().value,yield t;let e=[document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT)];for(let n of e){let r;for(;r=n.nextNode();)r.shadowRoot&&(yield r.shadowRoot,e.push(document.createTreeWalker(r.shadowRoot,NodeFilter.SHOW_ELEMENT)))}}var j={};u(j,{xpathQuerySelectorAll:()=>U});var U=function*(t,e){let r=(t.ownerDocument||document).evaluate(e,t,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE),o;for(;o=r.iterateNext();)yield o};var ve=/[-\\w\\P{ASCII}*]/,ee=t=>\"querySelectorAll\"in t,v=class extends Error{constructor(e,n){super(`${e} is not a valid selector: ${n}`)}},F=class{#e;#t;#n=[];#r=void 0;elements;constructor(e,n,r){this.elements=[e],this.#e=n,this.#t=r,this.#o()}async run(){if(typeof this.#r==\"string\")switch(this.#r.trimStart()){case\":scope\":this.#o();break}for(;this.#r!==void 0;this.#o()){let e=this.#r,n=this.#e;typeof e==\"string\"?e[0]&&ve.test(e[0])?this.elements=c.flatMap(this.elements,async function*(r){ee(r)&&(yield*r.querySelectorAll(e))}):this.elements=c.flatMap(this.elements,async function*(r){if(!r.parentElement){if(!ee(r))return;yield*r.querySelectorAll(e);return}let o=0;for(let i of r.parentElement.children)if(++o,i===r)break;yield*r.parentElement.querySelectorAll(`:scope>:nth-child(${o})${e}`)}):this.elements=c.flatMap(this.elements,async function*(r){switch(e.name){case\"text\":yield*b(r,e.value);break;case\"xpath\":yield*U(r,e.value);break;case\"aria\":yield*k(r,e.value);break;default:let o=M.get(e.name);if(!o)throw new v(n,`Unknown selector type: ${e.name}`);yield*o.querySelectorAll(r,e.value)}})}}#o(){if(this.#n.length!==0){this.#r=this.#n.shift();return}if(this.#t.length===0){this.#r=void 0;return}let e=this.#t.shift();switch(e){case\">>>>\":{this.elements=c.flatMap(this.elements,A),this.#o();break}case\">>>\":{this.elements=c.flatMap(this.elements,L),this.#o();break}default:this.#n=e,this.#o();break}}},W=class{#e=new WeakMap;calculate(e,n=[]){if(e===null)return n;e instanceof ShadowRoot&&(e=e.host);let r=this.#e.get(e);if(r)return[...r,...n];let o=0;for(let s=e.previousSibling;s;s=s.previousSibling)++o;let i=this.calculate(e.parentNode,[o]);return this.#e.set(e,i),[...i,...n]}},te=(t,e)=>{if(t.length+e.length===0)return 0;let[n=-1,...r]=t,[o=-1,...i]=e;return n===o?te(r,i):n<o?-1:1},Ce=async function*(t){let e=new Set;for await(let r of t)e.add(r);let n=new W;yield*[...e.values()].map(r=>[r,n.calculate(r)]).sort(([,r],[,o])=>te(r,o)).map(([r])=>r)},re=function(t,e){let n,r;try{[n,r]=Y(e)}catch{return t.querySelectorAll(e)}if(r)return t.querySelectorAll(e);if(n.some(o=>{let i=0;return o.some(s=>(typeof s==\"string\"?++i:i=0,i>1))}))throw new v(e,\"Multiple deep combinators found in sequence.\");return Ce(c.flatMap(n,o=>{let i=new F(t,e,o);return i.run(),i.elements}))},Ie=async function(t,e){for await(let n of re(t,e))return n;return null};var ke=Object.freeze({...R,...q,...D,...H,...Q,...$,...j,Deferred:f,createFunction:X,createTextContent:g,IntervalPoller:x,isSuitableNodeForTextMatching:w,MutationPoller:P,RAFPoller:E}),Re=ke;\n";
 //# sourceMappingURL=injected.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.d.ts.map
index 537705e..92f127e7 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"injected.d.ts","sourceRoot":"","sources":["../../../../src/generated/injected.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,skaAA4ja,CAAC"}
\ No newline at end of file
+{"version":3,"file":"injected.d.ts","sourceRoot":"","sources":["../../../../src/generated/injected.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,MAAM,wkaAA8ja,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.js b/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.js
index 329619d..b5ee930 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.js
@@ -5,5 +5,5 @@
  *
  * @internal
  */
-export const source = "\"use strict\";var C=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var se=Object.prototype.hasOwnProperty;var f=(t,e)=>{for(var n in e)C(t,n,{get:e[n],enumerable:!0})},ie=(t,e,n,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of oe(e))!se.call(t,o)&&o!==n&&C(t,o,{get:()=>e[o],enumerable:!(r=ne(e,o))||r.enumerable});return t};var le=t=>ie(C({},\"__esModule\",{value:!0}),t);var Oe={};f(Oe,{default:()=>Re});module.exports=le(Oe);var T=class extends Error{constructor(e){super(e),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor)}},S=class extends T{},I=class extends T{#e;#t=\"\";set code(e){this.#e=e}get code(){return this.#e}set originalMessage(e){this.#t=e}get originalMessage(){return this.#t}};var qe=Object.freeze({TimeoutError:S,ProtocolError:I});var a=class{#e=!1;#t=!1;#n;#r=()=>{};#o=new Promise(e=>{this.#r=e});#s;constructor(e){this.#s=e&&e.timeout>0?setTimeout(()=>{this.reject(new S(e.message))},e.timeout):void 0}#i(e){clearTimeout(this.#s),this.#n=e,this.#r()}resolve(e){this.#t||this.#e||(this.#e=!0,this.#i(e))}reject(e){this.#t||this.#e||(this.#t=!0,this.#i(e))}resolved(){return this.#e}finished(){return this.#e||this.#t}value(){return this.#n}async valueOrThrow(){if(await this.#o,this.#t)throw this.#n;return this.#n}static create(e){return new a(e)}static async race(e){let n=new Set;try{let r=e.map(o=>o instanceof a?(o.#s&&n.add(o),o.valueOrThrow()):o);return await Promise.race(r)}finally{for(let r of n)r.reject(new Error(\"Timeout cleared\"))}}};var G=new Map,X=t=>{let e=G.get(t);return e||(e=new Function(`return ${t}`)(),G.set(t,e),e)};var R={};f(R,{ariaQuerySelector:()=>ae,ariaQuerySelectorAll:()=>k});var ae=(t,e)=>window.__ariaQuerySelector(t,e),k=async function*(t,e){yield*await window.__ariaQuerySelectorAll(t,e)};var q={};f(q,{customQuerySelectors:()=>M});var O=class{#e=new Map;register(e,n){if(!n.queryOne&&n.queryAll){let r=n.queryAll;n.queryOne=(o,i)=>{for(let s of r(o,i))return s;return null}}else if(n.queryOne&&!n.queryAll){let r=n.queryOne;n.queryAll=(o,i)=>{let s=r(o,i);return s?[s]:[]}}else if(!n.queryOne||!n.queryAll)throw new Error(\"At least one query method must be defined.\");this.#e.set(e,{querySelector:n.queryOne,querySelectorAll:n.queryAll})}unregister(e){this.#e.delete(e)}get(e){return this.#e.get(e)}clear(){this.#e.clear()}},M=new O;var _={};f(_,{pierceQuerySelector:()=>ce,pierceQuerySelectorAll:()=>ue});var ce=(t,e)=>{let n=null,r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&!n&&s.matches(e)&&(n=s)}while(!n&&i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n},ue=(t,e)=>{let n=[],r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&s.matches(e)&&n.push(s)}while(i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n};var m=(t,e)=>{if(!t)throw new Error(e)};var P=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=a.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=new MutationObserver(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())}),this.#n.observe(this.#t,{childList:!0,subtree:!0,attributes:!0})}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(this.#n.disconnect(),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}},E=class{#e;#t;constructor(e){this.#e=e}async start(){let e=this.#t=a.create(),n=await this.#e();if(n){e.resolve(n);return}let r=async()=>{if(e.finished())return;let o=await this.#e();if(!o){window.requestAnimationFrame(r);return}e.resolve(o),await this.stop()};window.requestAnimationFrame(r)}async stop(){m(this.#t,\"Polling never started.\"),this.#t.finished()||this.#t.reject(new Error(\"Polling stopped\"))}result(){return m(this.#t,\"Polling never started.\"),this.#t.valueOrThrow()}},x=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=a.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=setInterval(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())},this.#t)}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(clearInterval(this.#n),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}};var H={};f(H,{pQuerySelector:()=>Ie,pQuerySelectorAll:()=>re});var u=class{static async*map(e,n){for await(let r of e)yield await n(r)}static async*flatMap(e,n){for await(let r of e)yield*n(r)}static async collect(e){let n=[];for await(let r of e)n.push(r);return n}static async first(e){for await(let n of e)return n}};var p={attribute:/\\[\\s*(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)\\s*(?:(?<operator>\\W?=)\\s*(?<value>.+?)\\s*(\\s(?<caseSensitive>[iIsS]))?\\s*)?\\]/gu,id:/#(?<name>[-\\w\\P{ASCII}]+)/gu,class:/\\.(?<name>[-\\w\\P{ASCII}]+)/gu,comma:/\\s*,\\s*/g,combinator:/\\s*[\\s>+~]\\s*/g,\"pseudo-element\":/::(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>¶+)\\))?/gu,\"pseudo-class\":/:(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>¶+)\\))?/gu,universal:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?\\*/gu,type:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)/gu},fe=new Set([\"combinator\",\"comma\"]);var de=t=>{switch(t){case\"pseudo-element\":case\"pseudo-class\":return new RegExp(p[t].source.replace(\"(?<argument>\\xB6+)\",\"(?<argument>.+)\"),\"gu\");default:return p[t]}};function me(t,e){let n=0,r=\"\";for(;e<t.length;e++){let o=t[e];switch(o){case\"(\":++n;break;case\")\":--n;break}if(r+=o,n===0)return r}return r}function he(t,e=p){if(!t)return[];let n=[t];for(let[o,i]of Object.entries(e))for(let s=0;s<n.length;s++){let l=n[s];if(typeof l!=\"string\")continue;i.lastIndex=0;let c=i.exec(l);if(!c)continue;let h=c.index-1,d=[],V=c[0],B=l.slice(0,h+1);B&&d.push(B),d.push({...c.groups,type:o,content:V});let z=l.slice(h+V.length+1);z&&d.push(z),n.splice(s,1,...d)}let r=0;for(let o of n)switch(typeof o){case\"string\":throw new Error(`Unexpected sequence ${o} found at index ${r}`);case\"object\":r+=o.content.length,o.pos=[r-o.content.length,r],fe.has(o.type)&&(o.content=o.content.trim()||\" \");break}return n}var pe=/(['\"])([^\\\\\\n]+?)\\1/g,ye=/\\\\./g;function K(t,e=p){if(t=t.trim(),t===\"\")return[];let n=[];t=t.replace(ye,(i,s)=>(n.push({value:i,offset:s}),\"\\uE000\".repeat(i.length))),t=t.replace(pe,(i,s,l,c)=>(n.push({value:i,offset:c}),`${s}${\"\\uE001\".repeat(l.length)}${s}`));{let i=0,s;for(;(s=t.indexOf(\"(\",i))>-1;){let l=me(t,s);n.push({value:l,offset:s}),t=`${t.substring(0,s)}(${\"\\xB6\".repeat(l.length-2)})${t.substring(s+l.length)}`,i=s+l.length}}let r=he(t,e),o=new Set;for(let i of n.reverse())for(let s of r){let{offset:l,value:c}=i;if(!(s.pos[0]<=l&&l+c.length<=s.pos[1]))continue;let{content:h}=s,d=l-s.pos[0];s.content=h.slice(0,d)+c+h.slice(d+c.length),s.content!==h&&o.add(s)}for(let i of o){let s=de(i.type);if(!s)throw new Error(`Unknown token type: ${i.type}`);s.lastIndex=0;let l=s.exec(i.content);if(!l)throw new Error(`Unable to parse content for ${i.type}: ${i.content}`);Object.assign(i,l.groups)}return r}function*N(t,e){switch(t.type){case\"list\":for(let n of t.list)yield*N(n,t);break;case\"complex\":yield*N(t.left,t),yield*N(t.right,t);break;case\"compound\":yield*t.list.map(n=>[n,t]);break;default:yield[t,e]}}function y(t){let e;return Array.isArray(t)?e=t:e=[...N(t)].map(([n])=>n),e.map(n=>n.content).join(\"\")}p.combinator=/\\s*(>>>>?|[\\s>+~])\\s*/g;var ge=/\\\\[\\s\\S]/g,we=t=>t.length<=1?t:((t[0]==='\"'||t[0]===\"'\")&&t.endsWith(t[0])&&(t=t.slice(1,-1)),t.replace(ge,e=>e[1]));function Y(t){let e=!0,n=K(t);if(n.length===0)return[[],e];let r=[],o=[r],i=[o],s=[];for(let l of n){switch(l.type){case\"combinator\":switch(l.content){case\">>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>\"),o.push(r);continue;case\">>>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>>\"),o.push(r);continue}break;case\"pseudo-element\":if(!l.name.startsWith(\"-p-\"))break;e=!1,s.length&&(r.push(y(s)),s.splice(0)),r.push({name:l.name.slice(3),value:we(l.argument??\"\")});continue;case\"comma\":s.length&&(r.push(y(s)),s.splice(0)),r=[],o=[r],i.push(o);continue}s.push(l)}return s.length&&r.push(y(s)),[i,e]}var Q={};f(Q,{textQuerySelectorAll:()=>b});var Se=new Set([\"checkbox\",\"image\",\"radio\"]),be=t=>t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&!Se.has(t.type),Te=new Set([\"SCRIPT\",\"STYLE\"]),w=t=>!Te.has(t.nodeName)&&!document.head?.contains(t),D=new WeakMap,Z=t=>{for(;t;)D.delete(t),t instanceof ShadowRoot?t=t.host:t=t.parentNode},J=new WeakSet,Pe=new MutationObserver(t=>{for(let e of t)Z(e.target)}),g=t=>{let e=D.get(t);if(e||(e={full:\"\",immediate:[]},!w(t)))return e;let n=\"\";if(be(t))e.full=t.value,e.immediate.push(t.value),t.addEventListener(\"input\",r=>{Z(r.target)},{once:!0,capture:!0});else{for(let r=t.firstChild;r;r=r.nextSibling){if(r.nodeType===Node.TEXT_NODE){e.full+=r.nodeValue??\"\",n+=r.nodeValue??\"\";continue}n&&e.immediate.push(n),n=\"\",r.nodeType===Node.ELEMENT_NODE&&(e.full+=g(r).full)}n&&e.immediate.push(n),t instanceof Element&&t.shadowRoot&&(e.full+=g(t.shadowRoot).full),J.has(t)||(Pe.observe(t,{childList:!0,characterData:!0}),J.add(t))}return D.set(t,e),e};var b=function*(t,e){let n=!1;for(let r of t.childNodes)if(r instanceof Element&&w(r)){let o;r.shadowRoot?o=b(r.shadowRoot,e):o=b(r,e);for(let i of o)yield i,n=!0}n||t instanceof Element&&w(t)&&g(t).full.includes(e)&&(yield t)};var $={};f($,{checkVisibility:()=>xe,pierce:()=>A,pierceAll:()=>L});var Ee=[\"hidden\",\"collapse\"],xe=(t,e)=>{if(!t)return e===!1;if(e===void 0)return t;let n=t.nodeType===Node.TEXT_NODE?t.parentElement:t,r=window.getComputedStyle(n),o=r&&!Ee.includes(r.visibility)&&!Ne(n);return e===o?t:!1};function Ne(t){let e=t.getBoundingClientRect();return e.width===0||e.height===0}var Ae=t=>\"shadowRoot\"in t&&t.shadowRoot instanceof ShadowRoot;function*A(t){Ae(t)?yield t.shadowRoot:yield t}function*L(t){t=A(t).next().value,yield t;let e=[document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT)];for(let n of e){let r;for(;r=n.nextNode();)r.shadowRoot&&(yield r.shadowRoot,e.push(document.createTreeWalker(r.shadowRoot,NodeFilter.SHOW_ELEMENT)))}}var j={};f(j,{xpathQuerySelectorAll:()=>U});var U=function*(t,e){let r=(t.ownerDocument||document).evaluate(e,t,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE),o;for(;o=r.iterateNext();)yield o};var ve=/[-\\w\\P{ASCII}*]/,ee=t=>\"querySelectorAll\"in t,v=class extends Error{constructor(e,n){super(`${e} is not a valid selector: ${n}`)}},F=class{#e;#t;#n=[];#r=void 0;elements;constructor(e,n,r){this.elements=[e],this.#e=n,this.#t=r,this.#o()}async run(){if(typeof this.#r==\"string\")switch(this.#r.trimStart()){case\":scope\":this.#o();break}for(;this.#r!==void 0;this.#o()){let e=this.#r,n=this.#e;typeof e==\"string\"?e[0]&&ve.test(e[0])?this.elements=u.flatMap(this.elements,async function*(r){ee(r)&&(yield*r.querySelectorAll(e))}):this.elements=u.flatMap(this.elements,async function*(r){if(!r.parentElement){if(!ee(r))return;yield*r.querySelectorAll(e);return}let o=0;for(let i of r.parentElement.children)if(++o,i===r)break;yield*r.parentElement.querySelectorAll(`:scope>:nth-child(${o})${e}`)}):this.elements=u.flatMap(this.elements,async function*(r){switch(e.name){case\"text\":yield*b(r,e.value);break;case\"xpath\":yield*U(r,e.value);break;case\"aria\":yield*k(r,e.value);break;default:let o=M.get(e.name);if(!o)throw new v(n,`Unknown selector type: ${e.name}`);yield*o.querySelectorAll(r,e.value)}})}}#o(){if(this.#n.length!==0){this.#r=this.#n.shift();return}if(this.#t.length===0){this.#r=void 0;return}let e=this.#t.shift();switch(e){case\">>>>\":{this.elements=u.flatMap(this.elements,A),this.#o();break}case\">>>\":{this.elements=u.flatMap(this.elements,L),this.#o();break}default:this.#n=e,this.#o();break}}},W=class{#e=new WeakMap;calculate(e,n=[]){if(e===null)return n;e instanceof ShadowRoot&&(e=e.host);let r=this.#e.get(e);if(r)return[...r,...n];let o=0;for(let s=e.previousSibling;s;s=s.previousSibling)++o;let i=this.calculate(e.parentNode,[o]);return this.#e.set(e,i),[...i,...n]}},te=(t,e)=>{if(t.length+e.length===0)return 0;let[n=-1,...r]=t,[o=-1,...i]=e;return n===o?te(r,i):n<o?-1:1},Ce=async function*(t){let e=new Set;for await(let r of t)e.add(r);let n=new W;yield*[...e.values()].map(r=>[r,n.calculate(r)]).sort(([,r],[,o])=>te(r,o)).map(([r])=>r)},re=function(t,e){let n,r;try{[n,r]=Y(e)}catch{return t.querySelectorAll(e)}if(r)return t.querySelectorAll(e);if(n.some(o=>{let i=0;return o.some(s=>(typeof s==\"string\"?++i:i=0,i>1))}))throw new v(e,\"Multiple deep combinators found in sequence.\");return Ce(u.flatMap(n,o=>{let i=new F(t,e,o);return i.run(),i.elements}))},Ie=async function(t,e){for await(let n of re(t,e))return n;return null};var ke=Object.freeze({...R,...q,..._,...H,...Q,...$,...j,Deferred:a,createFunction:X,createTextContent:g,IntervalPoller:x,isSuitableNodeForTextMatching:w,MutationPoller:P,RAFPoller:E}),Re=ke;\n";
+export const source = "\"use strict\";var C=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var se=Object.prototype.hasOwnProperty;var u=(t,e)=>{for(var n in e)C(t,n,{get:e[n],enumerable:!0})},ie=(t,e,n,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of oe(e))!se.call(t,o)&&o!==n&&C(t,o,{get:()=>e[o],enumerable:!(r=ne(e,o))||r.enumerable});return t};var le=t=>ie(C({},\"__esModule\",{value:!0}),t);var Oe={};u(Oe,{default:()=>Re});module.exports=le(Oe);var T=class extends Error{constructor(e){super(e),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor)}},S=class extends T{},I=class extends T{#e;#t=\"\";set code(e){this.#e=e}get code(){return this.#e}set originalMessage(e){this.#t=e}get originalMessage(){return this.#t}};var qe=Object.freeze({TimeoutError:S,ProtocolError:I});var f=class t{#e=!1;#t=!1;#n;#r=()=>{};#o=new Promise(e=>{this.#r=e});#s;constructor(e){this.#s=e&&e.timeout>0?setTimeout(()=>{this.reject(new S(e.message))},e.timeout):void 0}#i(e){clearTimeout(this.#s),this.#n=e,this.#r()}resolve(e){this.#t||this.#e||(this.#e=!0,this.#i(e))}reject(e){this.#t||this.#e||(this.#t=!0,this.#i(e))}resolved(){return this.#e}finished(){return this.#e||this.#t}value(){return this.#n}async valueOrThrow(){if(await this.#o,this.#t)throw this.#n;return this.#n}static create(e){return new t(e)}static async race(e){let n=new Set;try{let r=e.map(o=>o instanceof t?(o.#s&&n.add(o),o.valueOrThrow()):o);return await Promise.race(r)}finally{for(let r of n)r.reject(new Error(\"Timeout cleared\"))}}};var G=new Map,X=t=>{let e=G.get(t);return e||(e=new Function(`return ${t}`)(),G.set(t,e),e)};var R={};u(R,{ariaQuerySelector:()=>ae,ariaQuerySelectorAll:()=>k});var ae=(t,e)=>window.__ariaQuerySelector(t,e),k=async function*(t,e){yield*await window.__ariaQuerySelectorAll(t,e)};var q={};u(q,{customQuerySelectors:()=>M});var O=class{#e=new Map;register(e,n){if(!n.queryOne&&n.queryAll){let r=n.queryAll;n.queryOne=(o,i)=>{for(let s of r(o,i))return s;return null}}else if(n.queryOne&&!n.queryAll){let r=n.queryOne;n.queryAll=(o,i)=>{let s=r(o,i);return s?[s]:[]}}else if(!n.queryOne||!n.queryAll)throw new Error(\"At least one query method must be defined.\");this.#e.set(e,{querySelector:n.queryOne,querySelectorAll:n.queryAll})}unregister(e){this.#e.delete(e)}get(e){return this.#e.get(e)}clear(){this.#e.clear()}},M=new O;var D={};u(D,{pierceQuerySelector:()=>ce,pierceQuerySelectorAll:()=>ue});var ce=(t,e)=>{let n=null,r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&!n&&s.matches(e)&&(n=s)}while(!n&&i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n},ue=(t,e)=>{let n=[],r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&s.matches(e)&&n.push(s)}while(i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n};var m=(t,e)=>{if(!t)throw new Error(e)};var P=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=f.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=new MutationObserver(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())}),this.#n.observe(this.#t,{childList:!0,subtree:!0,attributes:!0})}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(this.#n.disconnect(),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}},E=class{#e;#t;constructor(e){this.#e=e}async start(){let e=this.#t=f.create(),n=await this.#e();if(n){e.resolve(n);return}let r=async()=>{if(e.finished())return;let o=await this.#e();if(!o){window.requestAnimationFrame(r);return}e.resolve(o),await this.stop()};window.requestAnimationFrame(r)}async stop(){m(this.#t,\"Polling never started.\"),this.#t.finished()||this.#t.reject(new Error(\"Polling stopped\"))}result(){return m(this.#t,\"Polling never started.\"),this.#t.valueOrThrow()}},x=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=f.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=setInterval(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())},this.#t)}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(clearInterval(this.#n),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}};var H={};u(H,{pQuerySelector:()=>Ie,pQuerySelectorAll:()=>re});var c=class{static async*map(e,n){for await(let r of e)yield await n(r)}static async*flatMap(e,n){for await(let r of e)yield*n(r)}static async collect(e){let n=[];for await(let r of e)n.push(r);return n}static async first(e){for await(let n of e)return n}};var p={attribute:/\\[\\s*(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)\\s*(?:(?<operator>\\W?=)\\s*(?<value>.+?)\\s*(\\s(?<caseSensitive>[iIsS]))?\\s*)?\\]/gu,id:/#(?<name>[-\\w\\P{ASCII}]+)/gu,class:/\\.(?<name>[-\\w\\P{ASCII}]+)/gu,comma:/\\s*,\\s*/g,combinator:/\\s*[\\s>+~]\\s*/g,\"pseudo-element\":/::(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>¶+)\\))?/gu,\"pseudo-class\":/:(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>¶+)\\))?/gu,universal:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?\\*/gu,type:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)/gu},fe=new Set([\"combinator\",\"comma\"]);var de=t=>{switch(t){case\"pseudo-element\":case\"pseudo-class\":return new RegExp(p[t].source.replace(\"(?<argument>\\xB6+)\",\"(?<argument>.+)\"),\"gu\");default:return p[t]}};function me(t,e){let n=0,r=\"\";for(;e<t.length;e++){let o=t[e];switch(o){case\"(\":++n;break;case\")\":--n;break}if(r+=o,n===0)return r}return r}function he(t,e=p){if(!t)return[];let n=[t];for(let[o,i]of Object.entries(e))for(let s=0;s<n.length;s++){let l=n[s];if(typeof l!=\"string\")continue;i.lastIndex=0;let a=i.exec(l);if(!a)continue;let h=a.index-1,d=[],V=a[0],B=l.slice(0,h+1);B&&d.push(B),d.push({...a.groups,type:o,content:V});let z=l.slice(h+V.length+1);z&&d.push(z),n.splice(s,1,...d)}let r=0;for(let o of n)switch(typeof o){case\"string\":throw new Error(`Unexpected sequence ${o} found at index ${r}`);case\"object\":r+=o.content.length,o.pos=[r-o.content.length,r],fe.has(o.type)&&(o.content=o.content.trim()||\" \");break}return n}var pe=/(['\"])([^\\\\\\n]+?)\\1/g,ye=/\\\\./g;function K(t,e=p){if(t=t.trim(),t===\"\")return[];let n=[];t=t.replace(ye,(i,s)=>(n.push({value:i,offset:s}),\"\\uE000\".repeat(i.length))),t=t.replace(pe,(i,s,l,a)=>(n.push({value:i,offset:a}),`${s}${\"\\uE001\".repeat(l.length)}${s}`));{let i=0,s;for(;(s=t.indexOf(\"(\",i))>-1;){let l=me(t,s);n.push({value:l,offset:s}),t=`${t.substring(0,s)}(${\"\\xB6\".repeat(l.length-2)})${t.substring(s+l.length)}`,i=s+l.length}}let r=he(t,e),o=new Set;for(let i of n.reverse())for(let s of r){let{offset:l,value:a}=i;if(!(s.pos[0]<=l&&l+a.length<=s.pos[1]))continue;let{content:h}=s,d=l-s.pos[0];s.content=h.slice(0,d)+a+h.slice(d+a.length),s.content!==h&&o.add(s)}for(let i of o){let s=de(i.type);if(!s)throw new Error(`Unknown token type: ${i.type}`);s.lastIndex=0;let l=s.exec(i.content);if(!l)throw new Error(`Unable to parse content for ${i.type}: ${i.content}`);Object.assign(i,l.groups)}return r}function*N(t,e){switch(t.type){case\"list\":for(let n of t.list)yield*N(n,t);break;case\"complex\":yield*N(t.left,t),yield*N(t.right,t);break;case\"compound\":yield*t.list.map(n=>[n,t]);break;default:yield[t,e]}}function y(t){let e;return Array.isArray(t)?e=t:e=[...N(t)].map(([n])=>n),e.map(n=>n.content).join(\"\")}p.combinator=/\\s*(>>>>?|[\\s>+~])\\s*/g;var ge=/\\\\[\\s\\S]/g,we=t=>t.length<=1?t:((t[0]==='\"'||t[0]===\"'\")&&t.endsWith(t[0])&&(t=t.slice(1,-1)),t.replace(ge,e=>e[1]));function Y(t){let e=!0,n=K(t);if(n.length===0)return[[],e];let r=[],o=[r],i=[o],s=[];for(let l of n){switch(l.type){case\"combinator\":switch(l.content){case\">>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>\"),o.push(r);continue;case\">>>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>>\"),o.push(r);continue}break;case\"pseudo-element\":if(!l.name.startsWith(\"-p-\"))break;e=!1,s.length&&(r.push(y(s)),s.splice(0)),r.push({name:l.name.slice(3),value:we(l.argument??\"\")});continue;case\"comma\":s.length&&(r.push(y(s)),s.splice(0)),r=[],o=[r],i.push(o);continue}s.push(l)}return s.length&&r.push(y(s)),[i,e]}var Q={};u(Q,{textQuerySelectorAll:()=>b});var Se=new Set([\"checkbox\",\"image\",\"radio\"]),be=t=>t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&!Se.has(t.type),Te=new Set([\"SCRIPT\",\"STYLE\"]),w=t=>!Te.has(t.nodeName)&&!document.head?.contains(t),_=new WeakMap,Z=t=>{for(;t;)_.delete(t),t instanceof ShadowRoot?t=t.host:t=t.parentNode},J=new WeakSet,Pe=new MutationObserver(t=>{for(let e of t)Z(e.target)}),g=t=>{let e=_.get(t);if(e||(e={full:\"\",immediate:[]},!w(t)))return e;let n=\"\";if(be(t))e.full=t.value,e.immediate.push(t.value),t.addEventListener(\"input\",r=>{Z(r.target)},{once:!0,capture:!0});else{for(let r=t.firstChild;r;r=r.nextSibling){if(r.nodeType===Node.TEXT_NODE){e.full+=r.nodeValue??\"\",n+=r.nodeValue??\"\";continue}n&&e.immediate.push(n),n=\"\",r.nodeType===Node.ELEMENT_NODE&&(e.full+=g(r).full)}n&&e.immediate.push(n),t instanceof Element&&t.shadowRoot&&(e.full+=g(t.shadowRoot).full),J.has(t)||(Pe.observe(t,{childList:!0,characterData:!0}),J.add(t))}return _.set(t,e),e};var b=function*(t,e){let n=!1;for(let r of t.childNodes)if(r instanceof Element&&w(r)){let o;r.shadowRoot?o=b(r.shadowRoot,e):o=b(r,e);for(let i of o)yield i,n=!0}n||t instanceof Element&&w(t)&&g(t).full.includes(e)&&(yield t)};var $={};u($,{checkVisibility:()=>xe,pierce:()=>A,pierceAll:()=>L});var Ee=[\"hidden\",\"collapse\"],xe=(t,e)=>{if(!t)return e===!1;if(e===void 0)return t;let n=t.nodeType===Node.TEXT_NODE?t.parentElement:t,r=window.getComputedStyle(n),o=r&&!Ee.includes(r.visibility)&&!Ne(n);return e===o?t:!1};function Ne(t){let e=t.getBoundingClientRect();return e.width===0||e.height===0}var Ae=t=>\"shadowRoot\"in t&&t.shadowRoot instanceof ShadowRoot;function*A(t){Ae(t)?yield t.shadowRoot:yield t}function*L(t){t=A(t).next().value,yield t;let e=[document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT)];for(let n of e){let r;for(;r=n.nextNode();)r.shadowRoot&&(yield r.shadowRoot,e.push(document.createTreeWalker(r.shadowRoot,NodeFilter.SHOW_ELEMENT)))}}var j={};u(j,{xpathQuerySelectorAll:()=>U});var U=function*(t,e){let r=(t.ownerDocument||document).evaluate(e,t,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE),o;for(;o=r.iterateNext();)yield o};var ve=/[-\\w\\P{ASCII}*]/,ee=t=>\"querySelectorAll\"in t,v=class extends Error{constructor(e,n){super(`${e} is not a valid selector: ${n}`)}},F=class{#e;#t;#n=[];#r=void 0;elements;constructor(e,n,r){this.elements=[e],this.#e=n,this.#t=r,this.#o()}async run(){if(typeof this.#r==\"string\")switch(this.#r.trimStart()){case\":scope\":this.#o();break}for(;this.#r!==void 0;this.#o()){let e=this.#r,n=this.#e;typeof e==\"string\"?e[0]&&ve.test(e[0])?this.elements=c.flatMap(this.elements,async function*(r){ee(r)&&(yield*r.querySelectorAll(e))}):this.elements=c.flatMap(this.elements,async function*(r){if(!r.parentElement){if(!ee(r))return;yield*r.querySelectorAll(e);return}let o=0;for(let i of r.parentElement.children)if(++o,i===r)break;yield*r.parentElement.querySelectorAll(`:scope>:nth-child(${o})${e}`)}):this.elements=c.flatMap(this.elements,async function*(r){switch(e.name){case\"text\":yield*b(r,e.value);break;case\"xpath\":yield*U(r,e.value);break;case\"aria\":yield*k(r,e.value);break;default:let o=M.get(e.name);if(!o)throw new v(n,`Unknown selector type: ${e.name}`);yield*o.querySelectorAll(r,e.value)}})}}#o(){if(this.#n.length!==0){this.#r=this.#n.shift();return}if(this.#t.length===0){this.#r=void 0;return}let e=this.#t.shift();switch(e){case\">>>>\":{this.elements=c.flatMap(this.elements,A),this.#o();break}case\">>>\":{this.elements=c.flatMap(this.elements,L),this.#o();break}default:this.#n=e,this.#o();break}}},W=class{#e=new WeakMap;calculate(e,n=[]){if(e===null)return n;e instanceof ShadowRoot&&(e=e.host);let r=this.#e.get(e);if(r)return[...r,...n];let o=0;for(let s=e.previousSibling;s;s=s.previousSibling)++o;let i=this.calculate(e.parentNode,[o]);return this.#e.set(e,i),[...i,...n]}},te=(t,e)=>{if(t.length+e.length===0)return 0;let[n=-1,...r]=t,[o=-1,...i]=e;return n===o?te(r,i):n<o?-1:1},Ce=async function*(t){let e=new Set;for await(let r of t)e.add(r);let n=new W;yield*[...e.values()].map(r=>[r,n.calculate(r)]).sort(([,r],[,o])=>te(r,o)).map(([r])=>r)},re=function(t,e){let n,r;try{[n,r]=Y(e)}catch{return t.querySelectorAll(e)}if(r)return t.querySelectorAll(e);if(n.some(o=>{let i=0;return o.some(s=>(typeof s==\"string\"?++i:i=0,i>1))}))throw new v(e,\"Multiple deep combinators found in sequence.\");return Ce(c.flatMap(n,o=>{let i=new F(t,e,o);return i.run(),i.elements}))},Ie=async function(t,e){for await(let n of re(t,e))return n;return null};var ke=Object.freeze({...R,...q,...D,...H,...Q,...$,...j,Deferred:f,createFunction:X,createTextContent:g,IntervalPoller:x,isSuitableNodeForTextMatching:w,MutationPoller:P,RAFPoller:E}),Re=ke;\n";
 //# sourceMappingURL=injected.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.js.map
index e619449..b797b10 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/generated/injected.js.map
@@ -1 +1 @@
-{"version":3,"file":"injected.js","sourceRoot":"","sources":["../../../../src/generated/injected.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,yjaAAyja,CAAC"}
\ No newline at end of file
+{"version":3,"file":"injected.js","sourceRoot":"","sources":["../../../../src/generated/injected.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,2jaAA2ja,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/generated/version.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/generated/version.d.ts
index b7e0ba6..e4e8201 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/generated/version.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/generated/version.d.ts
@@ -1,5 +1,5 @@
 /**
  * @internal
  */
-export declare const packageVersion = "20.8.2";
+export declare const packageVersion = "21.0.1";
 //# sourceMappingURL=version.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/generated/version.js b/node_modules/puppeteer-core/lib/esm/puppeteer/generated/version.js
index 007b8d7..943a4f2 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/generated/version.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/generated/version.js
@@ -1,5 +1,5 @@
 /**
  * @internal
  */
-export const packageVersion = '20.8.2';
+export const packageVersion = '21.0.1';
 //# sourceMappingURL=version.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/CustomQuerySelector.js b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/CustomQuerySelector.js
index a583efb..679ccc8 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/CustomQuerySelector.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/CustomQuerySelector.js
@@ -13,19 +13,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _CustomQuerySelectorRegistry_selectors;
 /**
  * This class mimics the injected {@link CustomQuerySelectorRegistry}.
  */
 class CustomQuerySelectorRegistry {
-    constructor() {
-        _CustomQuerySelectorRegistry_selectors.set(this, new Map());
-    }
+    #selectors = new Map();
     register(name, handler) {
         if (!handler.queryOne && handler.queryAll) {
             const querySelectorAll = handler.queryAll;
@@ -46,21 +38,20 @@
         else if (!handler.queryOne || !handler.queryAll) {
             throw new Error('At least one query method must be defined.');
         }
-        __classPrivateFieldGet(this, _CustomQuerySelectorRegistry_selectors, "f").set(name, {
+        this.#selectors.set(name, {
             querySelector: handler.queryOne,
             querySelectorAll: handler.queryAll,
         });
     }
     unregister(name) {
-        __classPrivateFieldGet(this, _CustomQuerySelectorRegistry_selectors, "f").delete(name);
+        this.#selectors.delete(name);
     }
     get(name) {
-        return __classPrivateFieldGet(this, _CustomQuerySelectorRegistry_selectors, "f").get(name);
+        return this.#selectors.get(name);
     }
     clear() {
-        __classPrivateFieldGet(this, _CustomQuerySelectorRegistry_selectors, "f").clear();
+        this.#selectors.clear();
     }
 }
-_CustomQuerySelectorRegistry_selectors = new WeakMap();
 export const customQuerySelectors = new CustomQuerySelectorRegistry();
 //# sourceMappingURL=CustomQuerySelector.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/CustomQuerySelector.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/CustomQuerySelector.js.map
index bb11917..ad57a09 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/CustomQuerySelector.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/CustomQuerySelector.js.map
@@ -1 +1 @@
-{"version":3,"file":"CustomQuerySelector.js","sourceRoot":"","sources":["../../../../src/injected/CustomQuerySelector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;;;;;;AAUH;;GAEG;AACH,MAAM,2BAA2B;IAAjC;QACE,iDAAa,IAAI,GAAG,EAA+B,EAAC;IAsCtD,CAAC;IApCC,QAAQ,CAAC,IAAY,EAAE,OAA2B;QAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;YACzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACpC,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;oBACrD,OAAO,MAAM,CAAC;iBACf;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;SACH;aAAM,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YAChD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;YACvC,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACpC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC7C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,CAAC,CAAC;SACH;aAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACjD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC/D;QAED,uBAAA,IAAI,8CAAW,CAAC,GAAG,CAAC,IAAI,EAAE;YACxB,aAAa,EAAE,OAAO,CAAC,QAAQ;YAC/B,gBAAgB,EAAE,OAAO,CAAC,QAAS;SACpC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,uBAAA,IAAI,8CAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,uBAAA,IAAI,8CAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK;QACH,uBAAA,IAAI,8CAAW,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,2BAA2B,EAAE,CAAC"}
\ No newline at end of file
+{"version":3,"file":"CustomQuerySelector.js","sourceRoot":"","sources":["../../../../src/injected/CustomQuerySelector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAUH;;GAEG;AACH,MAAM,2BAA2B;IAC/B,UAAU,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEpD,QAAQ,CAAC,IAAY,EAAE,OAA2B;QAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE;YACzC,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;YAC1C,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACpC,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;oBACrD,OAAO,MAAM,CAAC;iBACf;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;SACH;aAAM,IAAI,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YAChD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC;YACvC,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE;gBACpC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC7C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChC,CAAC,CAAC;SACH;aAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE;YACjD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC/D;QAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE;YACxB,aAAa,EAAE,OAAO,CAAC,QAAQ;YAC/B,gBAAgB,EAAE,OAAO,CAAC,QAAS;SACpC,CAAC,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,2BAA2B,EAAE,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/PQuerySelector.js b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/PQuerySelector.js
index ef5aa75..1a5f781 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/PQuerySelector.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/PQuerySelector.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _PQueryEngine_instances, _PQueryEngine_input, _PQueryEngine_complexSelector, _PQueryEngine_compoundSelector, _PQueryEngine_selector, _PQueryEngine_next, _DepthCalculator_cache;
 import { AsyncIterableUtil } from '../util/AsyncIterableUtil.js';
 import { ariaQuerySelectorAll } from './ARIAQuerySelector.js';
 import { customQuerySelectors } from './CustomQuerySelector.js';
@@ -42,20 +30,20 @@
     }
 }
 class PQueryEngine {
+    #input;
+    #complexSelector;
+    #compoundSelector = [];
+    #selector = undefined;
+    elements;
     constructor(element, input, complexSelector) {
-        _PQueryEngine_instances.add(this);
-        _PQueryEngine_input.set(this, void 0);
-        _PQueryEngine_complexSelector.set(this, void 0);
-        _PQueryEngine_compoundSelector.set(this, []);
-        _PQueryEngine_selector.set(this, undefined);
         this.elements = [element];
-        __classPrivateFieldSet(this, _PQueryEngine_input, input, "f");
-        __classPrivateFieldSet(this, _PQueryEngine_complexSelector, complexSelector, "f");
-        __classPrivateFieldGet(this, _PQueryEngine_instances, "m", _PQueryEngine_next).call(this);
+        this.#input = input;
+        this.#complexSelector = complexSelector;
+        this.#next();
     }
     async run() {
-        if (typeof __classPrivateFieldGet(this, _PQueryEngine_selector, "f") === 'string') {
-            switch (__classPrivateFieldGet(this, _PQueryEngine_selector, "f").trimStart()) {
+        if (typeof this.#selector === 'string') {
+            switch (this.#selector.trimStart()) {
                 case ':scope':
                     // `:scope` has some special behavior depending on the node. It always
                     // represents the current node within a compound selector, but by
@@ -63,13 +51,13 @@
                     // represented by `<html>`, but any HTMLElement is not represented by
                     // itself (i.e. `null`). This can be troublesome if our combinators
                     // are used right after so we treat this selector specially.
-                    __classPrivateFieldGet(this, _PQueryEngine_instances, "m", _PQueryEngine_next).call(this);
+                    this.#next();
                     break;
             }
         }
-        for (; __classPrivateFieldGet(this, _PQueryEngine_selector, "f") !== undefined; __classPrivateFieldGet(this, _PQueryEngine_instances, "m", _PQueryEngine_next).call(this)) {
-            const selector = __classPrivateFieldGet(this, _PQueryEngine_selector, "f");
-            const input = __classPrivateFieldGet(this, _PQueryEngine_input, "f");
+        for (; this.#selector !== undefined; this.#next()) {
+            const selector = this.#selector;
+            const input = this.#input;
             if (typeof selector === 'string') {
                 // The regular expression tests if the selector is a type/universal
                 // selector. Any other case means we want to apply the selector onto
@@ -125,38 +113,36 @@
             }
         }
     }
+    #next() {
+        if (this.#compoundSelector.length !== 0) {
+            this.#selector = this.#compoundSelector.shift();
+            return;
+        }
+        if (this.#complexSelector.length === 0) {
+            this.#selector = undefined;
+            return;
+        }
+        const selector = this.#complexSelector.shift();
+        switch (selector) {
+            case ">>>>" /* PCombinator.Child */: {
+                this.elements = AsyncIterableUtil.flatMap(this.elements, pierce);
+                this.#next();
+                break;
+            }
+            case ">>>" /* PCombinator.Descendent */: {
+                this.elements = AsyncIterableUtil.flatMap(this.elements, pierceAll);
+                this.#next();
+                break;
+            }
+            default:
+                this.#compoundSelector = selector;
+                this.#next();
+                break;
+        }
+    }
 }
-_PQueryEngine_input = new WeakMap(), _PQueryEngine_complexSelector = new WeakMap(), _PQueryEngine_compoundSelector = new WeakMap(), _PQueryEngine_selector = new WeakMap(), _PQueryEngine_instances = new WeakSet(), _PQueryEngine_next = function _PQueryEngine_next() {
-    if (__classPrivateFieldGet(this, _PQueryEngine_compoundSelector, "f").length !== 0) {
-        __classPrivateFieldSet(this, _PQueryEngine_selector, __classPrivateFieldGet(this, _PQueryEngine_compoundSelector, "f").shift(), "f");
-        return;
-    }
-    if (__classPrivateFieldGet(this, _PQueryEngine_complexSelector, "f").length === 0) {
-        __classPrivateFieldSet(this, _PQueryEngine_selector, undefined, "f");
-        return;
-    }
-    const selector = __classPrivateFieldGet(this, _PQueryEngine_complexSelector, "f").shift();
-    switch (selector) {
-        case ">>>>" /* PCombinator.Child */: {
-            this.elements = AsyncIterableUtil.flatMap(this.elements, pierce);
-            __classPrivateFieldGet(this, _PQueryEngine_instances, "m", _PQueryEngine_next).call(this);
-            break;
-        }
-        case ">>>" /* PCombinator.Descendent */: {
-            this.elements = AsyncIterableUtil.flatMap(this.elements, pierceAll);
-            __classPrivateFieldGet(this, _PQueryEngine_instances, "m", _PQueryEngine_next).call(this);
-            break;
-        }
-        default:
-            __classPrivateFieldSet(this, _PQueryEngine_compoundSelector, selector, "f");
-            __classPrivateFieldGet(this, _PQueryEngine_instances, "m", _PQueryEngine_next).call(this);
-            break;
-    }
-};
 class DepthCalculator {
-    constructor() {
-        _DepthCalculator_cache.set(this, new WeakMap());
-    }
+    #cache = new WeakMap();
     calculate(node, depth = []) {
         if (node === null) {
             return depth;
@@ -164,7 +150,7 @@
         if (node instanceof ShadowRoot) {
             node = node.host;
         }
-        const cachedDepth = __classPrivateFieldGet(this, _DepthCalculator_cache, "f").get(node);
+        const cachedDepth = this.#cache.get(node);
         if (cachedDepth) {
             return [...cachedDepth, ...depth];
         }
@@ -173,11 +159,10 @@
             ++index;
         }
         const value = this.calculate(node.parentNode, [index]);
-        __classPrivateFieldGet(this, _DepthCalculator_cache, "f").set(node, value);
+        this.#cache.set(node, value);
         return [...value, ...depth];
     }
 }
-_DepthCalculator_cache = new WeakMap();
 const compareDepths = (a, b) => {
     if (a.length + b.length === 0) {
         return 0;
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/PQuerySelector.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/PQuerySelector.js.map
index 78d30d1..ec69cb6 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/PQuerySelector.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/PQuerySelector.js.map
@@ -1 +1 @@
-{"version":3,"file":"PQuerySelector.js","sourceRoot":"","sources":["../../../../src/injected/PQuerySelector.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"PQuerySelector.js","sourceRoot":"","sources":["../../../../src/injected/PQuerySelector.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/PSelectorParser.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/PSelectorParser.d.ts
index 99ed119..1d952ee 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/PSelectorParser.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/PSelectorParser.d.ts
@@ -14,10 +14,10 @@
  * limitations under the License.
  */
 export type CSSSelector = string;
-export type PPseudoSelector = {
+export interface PPseudoSelector {
     name: string;
     value: string;
-};
+}
 export declare const enum PCombinator {
     Descendent = ">>>",
     Child = ">>>>"
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/PSelectorParser.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/PSelectorParser.d.ts.map
index dd0dd37..5a441ba 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/PSelectorParser.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/PSelectorParser.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"PSelectorParser.d.ts","sourceRoot":"","sources":["../../../../src/injected/PSelectorParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AACjC,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AACF,0BAAkB,WAAW;IAC3B,UAAU,QAAQ;IAClB,KAAK,SAAS;CACf;AACD,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,CAAC;AACrE,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,GAAG,WAAW,CAAC,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,EAAE,CAAC;AAiBtD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,GACf,CAAC,QAAQ,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,CAAC,CAkEtD"}
\ No newline at end of file
+{"version":3,"file":"PSelectorParser.d.ts","sourceRoot":"","sources":["../../../../src/injected/PSelectorParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AACjC,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AACD,0BAAkB,WAAW;IAC3B,UAAU,QAAQ;IAClB,KAAK,SAAS;CACf;AACD,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,GAAG,eAAe,CAAC,CAAC;AACrE,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAAC,iBAAiB,GAAG,WAAW,CAAC,CAAC;AACtE,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,EAAE,CAAC;AAiBtD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,GACf,CAAC,QAAQ,EAAE,oBAAoB,EAAE,SAAS,EAAE,OAAO,CAAC,CAkEtD"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/Poller.js b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/Poller.js
index f3c59ae..ce0c840 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/Poller.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/Poller.js
@@ -13,81 +13,68 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _MutationPoller_fn, _MutationPoller_root, _MutationPoller_observer, _MutationPoller_deferred, _RAFPoller_fn, _RAFPoller_deferred, _IntervalPoller_fn, _IntervalPoller_ms, _IntervalPoller_interval, _IntervalPoller_deferred;
 import { assert } from '../util/assert.js';
 import { Deferred } from '../util/Deferred.js';
 /**
  * @internal
  */
 export class MutationPoller {
+    #fn;
+    #root;
+    #observer;
+    #deferred;
     constructor(fn, root) {
-        _MutationPoller_fn.set(this, void 0);
-        _MutationPoller_root.set(this, void 0);
-        _MutationPoller_observer.set(this, void 0);
-        _MutationPoller_deferred.set(this, void 0);
-        __classPrivateFieldSet(this, _MutationPoller_fn, fn, "f");
-        __classPrivateFieldSet(this, _MutationPoller_root, root, "f");
+        this.#fn = fn;
+        this.#root = root;
     }
     async start() {
-        const deferred = (__classPrivateFieldSet(this, _MutationPoller_deferred, Deferred.create(), "f"));
-        const result = await __classPrivateFieldGet(this, _MutationPoller_fn, "f").call(this);
+        const deferred = (this.#deferred = Deferred.create());
+        const result = await this.#fn();
         if (result) {
             deferred.resolve(result);
             return;
         }
-        __classPrivateFieldSet(this, _MutationPoller_observer, new MutationObserver(async () => {
-            const result = await __classPrivateFieldGet(this, _MutationPoller_fn, "f").call(this);
+        this.#observer = new MutationObserver(async () => {
+            const result = await this.#fn();
             if (!result) {
                 return;
             }
             deferred.resolve(result);
             await this.stop();
-        }), "f");
-        __classPrivateFieldGet(this, _MutationPoller_observer, "f").observe(__classPrivateFieldGet(this, _MutationPoller_root, "f"), {
+        });
+        this.#observer.observe(this.#root, {
             childList: true,
             subtree: true,
             attributes: true,
         });
     }
     async stop() {
-        assert(__classPrivateFieldGet(this, _MutationPoller_deferred, "f"), 'Polling never started.');
-        if (!__classPrivateFieldGet(this, _MutationPoller_deferred, "f").finished()) {
-            __classPrivateFieldGet(this, _MutationPoller_deferred, "f").reject(new Error('Polling stopped'));
+        assert(this.#deferred, 'Polling never started.');
+        if (!this.#deferred.finished()) {
+            this.#deferred.reject(new Error('Polling stopped'));
         }
-        if (__classPrivateFieldGet(this, _MutationPoller_observer, "f")) {
-            __classPrivateFieldGet(this, _MutationPoller_observer, "f").disconnect();
-            __classPrivateFieldSet(this, _MutationPoller_observer, undefined, "f");
+        if (this.#observer) {
+            this.#observer.disconnect();
+            this.#observer = undefined;
         }
     }
     result() {
-        assert(__classPrivateFieldGet(this, _MutationPoller_deferred, "f"), 'Polling never started.');
-        return __classPrivateFieldGet(this, _MutationPoller_deferred, "f").valueOrThrow();
+        assert(this.#deferred, 'Polling never started.');
+        return this.#deferred.valueOrThrow();
     }
 }
-_MutationPoller_fn = new WeakMap(), _MutationPoller_root = new WeakMap(), _MutationPoller_observer = new WeakMap(), _MutationPoller_deferred = new WeakMap();
 /**
  * @internal
  */
 export class RAFPoller {
+    #fn;
+    #deferred;
     constructor(fn) {
-        _RAFPoller_fn.set(this, void 0);
-        _RAFPoller_deferred.set(this, void 0);
-        __classPrivateFieldSet(this, _RAFPoller_fn, fn, "f");
+        this.#fn = fn;
     }
     async start() {
-        const deferred = (__classPrivateFieldSet(this, _RAFPoller_deferred, Deferred.create(), "f"));
-        const result = await __classPrivateFieldGet(this, _RAFPoller_fn, "f").call(this);
+        const deferred = (this.#deferred = Deferred.create());
+        const result = await this.#fn();
         if (result) {
             deferred.resolve(result);
             return;
@@ -96,7 +83,7 @@
             if (deferred.finished()) {
                 return;
             }
-            const result = await __classPrivateFieldGet(this, _RAFPoller_fn, "f").call(this);
+            const result = await this.#fn();
             if (!result) {
                 window.requestAnimationFrame(poll);
                 return;
@@ -107,59 +94,57 @@
         window.requestAnimationFrame(poll);
     }
     async stop() {
-        assert(__classPrivateFieldGet(this, _RAFPoller_deferred, "f"), 'Polling never started.');
-        if (!__classPrivateFieldGet(this, _RAFPoller_deferred, "f").finished()) {
-            __classPrivateFieldGet(this, _RAFPoller_deferred, "f").reject(new Error('Polling stopped'));
+        assert(this.#deferred, 'Polling never started.');
+        if (!this.#deferred.finished()) {
+            this.#deferred.reject(new Error('Polling stopped'));
         }
     }
     result() {
-        assert(__classPrivateFieldGet(this, _RAFPoller_deferred, "f"), 'Polling never started.');
-        return __classPrivateFieldGet(this, _RAFPoller_deferred, "f").valueOrThrow();
+        assert(this.#deferred, 'Polling never started.');
+        return this.#deferred.valueOrThrow();
     }
 }
-_RAFPoller_fn = new WeakMap(), _RAFPoller_deferred = new WeakMap();
 /**
  * @internal
  */
 export class IntervalPoller {
+    #fn;
+    #ms;
+    #interval;
+    #deferred;
     constructor(fn, ms) {
-        _IntervalPoller_fn.set(this, void 0);
-        _IntervalPoller_ms.set(this, void 0);
-        _IntervalPoller_interval.set(this, void 0);
-        _IntervalPoller_deferred.set(this, void 0);
-        __classPrivateFieldSet(this, _IntervalPoller_fn, fn, "f");
-        __classPrivateFieldSet(this, _IntervalPoller_ms, ms, "f");
+        this.#fn = fn;
+        this.#ms = ms;
     }
     async start() {
-        const deferred = (__classPrivateFieldSet(this, _IntervalPoller_deferred, Deferred.create(), "f"));
-        const result = await __classPrivateFieldGet(this, _IntervalPoller_fn, "f").call(this);
+        const deferred = (this.#deferred = Deferred.create());
+        const result = await this.#fn();
         if (result) {
             deferred.resolve(result);
             return;
         }
-        __classPrivateFieldSet(this, _IntervalPoller_interval, setInterval(async () => {
-            const result = await __classPrivateFieldGet(this, _IntervalPoller_fn, "f").call(this);
+        this.#interval = setInterval(async () => {
+            const result = await this.#fn();
             if (!result) {
                 return;
             }
             deferred.resolve(result);
             await this.stop();
-        }, __classPrivateFieldGet(this, _IntervalPoller_ms, "f")), "f");
+        }, this.#ms);
     }
     async stop() {
-        assert(__classPrivateFieldGet(this, _IntervalPoller_deferred, "f"), 'Polling never started.');
-        if (!__classPrivateFieldGet(this, _IntervalPoller_deferred, "f").finished()) {
-            __classPrivateFieldGet(this, _IntervalPoller_deferred, "f").reject(new Error('Polling stopped'));
+        assert(this.#deferred, 'Polling never started.');
+        if (!this.#deferred.finished()) {
+            this.#deferred.reject(new Error('Polling stopped'));
         }
-        if (__classPrivateFieldGet(this, _IntervalPoller_interval, "f")) {
-            clearInterval(__classPrivateFieldGet(this, _IntervalPoller_interval, "f"));
-            __classPrivateFieldSet(this, _IntervalPoller_interval, undefined, "f");
+        if (this.#interval) {
+            clearInterval(this.#interval);
+            this.#interval = undefined;
         }
     }
     result() {
-        assert(__classPrivateFieldGet(this, _IntervalPoller_deferred, "f"), 'Polling never started.');
-        return __classPrivateFieldGet(this, _IntervalPoller_deferred, "f").valueOrThrow();
+        assert(this.#deferred, 'Polling never started.');
+        return this.#deferred.valueOrThrow();
     }
 }
-_IntervalPoller_fn = new WeakMap(), _IntervalPoller_ms = new WeakMap(), _IntervalPoller_interval = new WeakMap(), _IntervalPoller_deferred = new WeakMap();
 //# sourceMappingURL=Poller.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/Poller.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/Poller.js.map
index 7847948..b906543 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/Poller.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/Poller.js.map
@@ -1 +1 @@
-{"version":3,"file":"Poller.js","sourceRoot":"","sources":["../../../../src/injected/Poller.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Poller.js","sourceRoot":"","sources":["../../../../src/injected/Poller.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/TextContent.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/TextContent.d.ts
index 63c857b..f61fe34 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/TextContent.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/TextContent.d.ts
@@ -22,10 +22,10 @@
 /**
  * @internal
  */
-export type TextContent = {
+export interface TextContent {
     full: string;
     immediate: string[];
-};
+}
 /**
  * Builds the text content of a node using some custom logic.
  *
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/TextContent.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/TextContent.d.ts.map
index 84a9ad2..ead8a40 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/TextContent.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/TextContent.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"TextContent.d.ts","sourceRoot":"","sources":["../../../../src/injected/TextContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA+BH;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,SAAU,IAAI,KAAG,OAI1D,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IAExB,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CAAC;AA2BF;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,SAAU,IAAI,KAAG,WAsD9C,CAAC"}
\ No newline at end of file
+{"version":3,"file":"TextContent.d.ts","sourceRoot":"","sources":["../../../../src/injected/TextContent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA+BH;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,SAAU,IAAI,KAAG,OAI1D,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,WAAW;IAE1B,IAAI,EAAE,MAAM,CAAC;IAEb,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AA2BD;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,SAAU,IAAI,KAAG,WAsD9C,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/injected.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/injected.d.ts
index ba06495..7e5fa83 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/injected/injected.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/injected/injected.d.ts
@@ -37,7 +37,7 @@
     pierceQuerySelector: (root: Node, selector: string) => Element | null;
     pierceQuerySelectorAll: (element: Node, selector: string) => Element[];
     customQuerySelectors: {
-        "__#36@#selectors": Map<string, CustomQuerySelectors.CustomQuerySelector>;
+        "__#158@#selectors": Map<string, CustomQuerySelectors.CustomQuerySelector>;
         register(name: string, handler: import("../puppeteer-core.js").CustomQueryHandler): void;
         unregister(name: string): void;
         get(name: string): CustomQuerySelectors.CustomQuerySelector | undefined;
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/node/ChromeLauncher.js b/node_modules/puppeteer-core/lib/esm/puppeteer/node/ChromeLauncher.js
index 5b937c9..6a7cdfa 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/node/ChromeLauncher.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/node/ChromeLauncher.js
@@ -35,7 +35,7 @@
             console.warn([
                 '\x1B[1m\x1B[43m\x1B[30m',
                 'Puppeteer old Headless deprecation warning:\x1B[0m\x1B[33m',
-                '  In the near feature `headless: true` will default to the new Headless mode',
+                '  In the near future `headless: true` will default to the new Headless mode',
                 '  for Chrome instead of the old Headless implementation. For more',
                 '  information, please see https://developer.chrome.com/articles/new-headless/.',
                 '  Consider opting in early by passing `headless: "new"` to `puppeteer.launch()`',
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/node/ChromeLauncher.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/node/ChromeLauncher.js.map
index ef5f19c..9982400 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/node/ChromeLauncher.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/node/ChromeLauncher.js.map
@@ -1 +1 @@
-{"version":3,"file":"ChromeLauncher.js","sourceRoot":"","sources":["../../../../src/node/ChromeLauncher.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ChromeLauncher.js","sourceRoot":"","sources":["../../../../src/node/ChromeLauncher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,aAAa,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EACL,2BAA2B,EAC3B,OAAO,IAAI,iBAAiB,EAC5B,oBAAoB,IAAI,4BAA4B,GACrD,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAC,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAOzC,OAAO,EAAC,eAAe,EAAqB,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAC,EAAE,EAAC,MAAM,cAAc,CAAC;AAEhC;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,eAAe;IACjD,YAAY,SAAwB;QAClC,KAAK,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAEQ,MAAM,CAAC,UAAsC,EAAE;QACtD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC;QAC1C,IACE,QAAQ,KAAK,IAAI;YACjB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,QAAQ,KAAK,MAAM;YAChD,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,EAC3D;YACA,OAAO,CAAC,IAAI,CACV;gBACE,yBAAyB;gBACzB,4DAA4D;gBAC5D,6EAA6E;gBAC7E,mEAAmE;gBACnE,gFAAgF;gBAChF,iFAAiF;gBACjF,uHAAuH;aACxH,CAAC,IAAI,CAAC,MAAM,CAAC,CACf,CAAC;SACH;QAED,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,sBAAsB,CACnC,UAAsC,EAAE;QAExC,MAAM,EACJ,iBAAiB,GAAG,KAAK,EACzB,IAAI,GAAG,EAAE,EACT,IAAI,GAAG,KAAK,EACZ,aAAa,EACb,OAAO,EACP,cAAc,GACf,GAAG,OAAO,CAAC;QAEZ,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,iBAAiB,EAAE;YACtB,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;SACpD;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE;YAC3C,eAAe,CAAC,IAAI,CAClB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;gBACxC,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC,CAAC,CACH,CAAC;SACH;aAAM;YACL,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;SAC/B;QAED,IACE,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC/B,OAAO,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;QACpD,CAAC,CAAC,EACF;YACA,IAAI,IAAI,EAAE;gBACR,MAAM,CACJ,CAAC,aAAa,EACd,2EAA2E,CAC5E,CAAC;gBACF,eAAe,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;aACjD;iBAAM;gBACL,eAAe,CAAC,IAAI,CAAC,2BAA2B,aAAa,IAAI,CAAC,EAAE,CAAC,CAAC;aACvE;SACF;QAED,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAE9B,sEAAsE;QACtE,gEAAgE;QAChE,IAAI,gBAAgB,GAAG,eAAe,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YACrD,OAAO,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QACH,IAAI,gBAAgB,GAAG,CAAC,EAAE;YACxB,iBAAiB,GAAG,IAAI,CAAC;YACzB,eAAe,CAAC,IAAI,CAClB,mBAAmB,MAAM,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,CAC1D,CAAC;YACF,gBAAgB,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;SAC/C;QAED,MAAM,WAAW,GAAG,eAAe,CAAC,gBAAgB,CAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,CAAC,OAAO,WAAW,KAAK,QAAQ,EAAE,gCAAgC,CAAC,CAAC;QAE1E,IAAI,gBAAgB,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,gBAAgB,EAAE;YACrB,MAAM,CACJ,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAC3C,+EAA+E,CAChF,CAAC;YACF,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;SACjD;QAED,OAAO;YACL,cAAc,EAAE,gBAAgB;YAChC,IAAI,EAAE,eAAe;YACrB,iBAAiB;YACjB,WAAW;SACZ,CAAC;IACJ,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,gBAAgB,CAC7B,IAAY,EACZ,IAAuB;QAEvB,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI;gBACF,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC;aAChB;YAAC,OAAO,KAAK,EAAE;gBACd,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClB,MAAM,KAAK,CAAC;aACb;SACF;IACH,CAAC;IAEQ,WAAW,CAAC,UAAwC,EAAE;QAC7D,+FAA+F;QAC/F,MAAM,eAAe,GAAG;YACtB,0BAA0B;YAC1B,iCAAiC;YACjC,uCAAuC;YACvC,0CAA0C;YAC1C,oBAAoB;YACpB,0CAA0C;YAC1C,sDAAsD;YACtD,4BAA4B;YAC5B,wBAAwB;YACxB,yBAAyB;YACzB,sBAAsB;YACtB,uDAAuD;YACvD,2FAA2F;YAC3F,wBAAwB;YACxB,mCAAmC;YACnC,0BAA0B;YAC1B,4BAA4B;YAC5B,kCAAkC;YAClC,gBAAgB;YAChB,qBAAqB;YACrB,mEAAmE;YACnE,yCAAyC;YACzC,uCAAuC;YACvC,4CAA4C;YAC5C,qBAAqB;YACrB,4BAA4B;YAC5B,0BAA0B;YAC1B,gBAAgB;YAChB,wBAAwB;YACxB,qBAAqB;SACtB,CAAC;QACF,MAAM,EACJ,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,CAAC,QAAQ,EACpB,IAAI,GAAG,EAAE,EACT,WAAW,GACZ,GAAG,OAAO,CAAC;QACZ,IAAI,WAAW,EAAE;YACf,eAAe,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;SACtE;QACD,IAAI,QAAQ,EAAE;YACZ,eAAe,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;SACvD;QACD,IAAI,QAAQ,EAAE;YACZ,eAAe,CAAC,IAAI,CAClB,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,YAAY,EACpD,mBAAmB,EACnB,cAAc,CACf,CAAC;SACH;QACD,IACE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YACf,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC,CAAC,EACF;YACA,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACrC;QACD,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAC9B,OAAO,eAAe,CAAC;IACzB,CAAC;IAEQ,cAAc,CAAC,OAA8B;QACpD,IAAI,OAAO,EAAE;YACX,OAAO,2BAA2B,CAAC;gBACjC,OAAO,EAAE,iBAAiB,CAAC,MAAM;gBACjC,OAAO,EAAE,wCAAwC,CAAC,OAAO,CAAC;aAC3D,CAAC,CAAC;SACJ;aAAM;YACL,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;SACrC;IACH,CAAC;CACF;AAED,SAAS,wCAAwC,CAC/C,OAA6B;IAE7B,QAAQ,OAAO,EAAE;QACf,KAAK,QAAQ;YACX,OAAO,4BAA4B,CAAC,MAAM,CAAC;QAC7C,KAAK,YAAY;YACf,OAAO,4BAA4B,CAAC,GAAG,CAAC;QAC1C,KAAK,aAAa;YAChB,OAAO,4BAA4B,CAAC,IAAI,CAAC;QAC3C,KAAK,eAAe;YAClB,OAAO,4BAA4B,CAAC,MAAM,CAAC;KAC9C;AACH,CAAC"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/node/PipeTransport.js b/node_modules/puppeteer-core/lib/esm/puppeteer/node/PipeTransport.js
index cb8e2cd..9bf42b8 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/node/PipeTransport.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/node/PipeTransport.js
@@ -1,31 +1,20 @@
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _PipeTransport_instances, _PipeTransport_pipeWrite, _PipeTransport_eventListeners, _PipeTransport_isClosed, _PipeTransport_pendingMessage, _PipeTransport_dispatch;
 import { addEventListener, debugError, removeEventListeners, } from '../common/util.js';
 import { assert } from '../util/assert.js';
 /**
  * @internal
  */
 export class PipeTransport {
+    #pipeWrite;
+    #eventListeners;
+    #isClosed = false;
+    #pendingMessage = '';
+    onclose;
+    onmessage;
     constructor(pipeWrite, pipeRead) {
-        _PipeTransport_instances.add(this);
-        _PipeTransport_pipeWrite.set(this, void 0);
-        _PipeTransport_eventListeners.set(this, void 0);
-        _PipeTransport_isClosed.set(this, false);
-        _PipeTransport_pendingMessage.set(this, '');
-        __classPrivateFieldSet(this, _PipeTransport_pipeWrite, pipeWrite, "f");
-        __classPrivateFieldSet(this, _PipeTransport_eventListeners, [
+        this.#pipeWrite = pipeWrite;
+        this.#eventListeners = [
             addEventListener(pipeRead, 'data', buffer => {
-                return __classPrivateFieldGet(this, _PipeTransport_instances, "m", _PipeTransport_dispatch).call(this, buffer);
+                return this.#dispatch(buffer);
             }),
             addEventListener(pipeRead, 'close', () => {
                 if (this.onclose) {
@@ -34,38 +23,38 @@
             }),
             addEventListener(pipeRead, 'error', debugError),
             addEventListener(pipeWrite, 'error', debugError),
-        ], "f");
+        ];
     }
     send(message) {
-        assert(!__classPrivateFieldGet(this, _PipeTransport_isClosed, "f"), '`PipeTransport` is closed.');
-        __classPrivateFieldGet(this, _PipeTransport_pipeWrite, "f").write(message);
-        __classPrivateFieldGet(this, _PipeTransport_pipeWrite, "f").write('\0');
+        assert(!this.#isClosed, '`PipeTransport` is closed.');
+        this.#pipeWrite.write(message);
+        this.#pipeWrite.write('\0');
+    }
+    #dispatch(buffer) {
+        assert(!this.#isClosed, '`PipeTransport` is closed.');
+        let end = buffer.indexOf('\0');
+        if (end === -1) {
+            this.#pendingMessage += buffer.toString();
+            return;
+        }
+        const message = this.#pendingMessage + buffer.toString(undefined, 0, end);
+        if (this.onmessage) {
+            this.onmessage.call(null, message);
+        }
+        let start = end + 1;
+        end = buffer.indexOf('\0', start);
+        while (end !== -1) {
+            if (this.onmessage) {
+                this.onmessage.call(null, buffer.toString(undefined, start, end));
+            }
+            start = end + 1;
+            end = buffer.indexOf('\0', start);
+        }
+        this.#pendingMessage = buffer.toString(undefined, start);
     }
     close() {
-        __classPrivateFieldSet(this, _PipeTransport_isClosed, true, "f");
-        removeEventListeners(__classPrivateFieldGet(this, _PipeTransport_eventListeners, "f"));
+        this.#isClosed = true;
+        removeEventListeners(this.#eventListeners);
     }
 }
-_PipeTransport_pipeWrite = new WeakMap(), _PipeTransport_eventListeners = new WeakMap(), _PipeTransport_isClosed = new WeakMap(), _PipeTransport_pendingMessage = new WeakMap(), _PipeTransport_instances = new WeakSet(), _PipeTransport_dispatch = function _PipeTransport_dispatch(buffer) {
-    assert(!__classPrivateFieldGet(this, _PipeTransport_isClosed, "f"), '`PipeTransport` is closed.');
-    let end = buffer.indexOf('\0');
-    if (end === -1) {
-        __classPrivateFieldSet(this, _PipeTransport_pendingMessage, __classPrivateFieldGet(this, _PipeTransport_pendingMessage, "f") + buffer.toString(), "f");
-        return;
-    }
-    const message = __classPrivateFieldGet(this, _PipeTransport_pendingMessage, "f") + buffer.toString(undefined, 0, end);
-    if (this.onmessage) {
-        this.onmessage.call(null, message);
-    }
-    let start = end + 1;
-    end = buffer.indexOf('\0', start);
-    while (end !== -1) {
-        if (this.onmessage) {
-            this.onmessage.call(null, buffer.toString(undefined, start, end));
-        }
-        start = end + 1;
-        end = buffer.indexOf('\0', start);
-    }
-    __classPrivateFieldSet(this, _PipeTransport_pendingMessage, buffer.toString(undefined, start), "f");
-};
 //# sourceMappingURL=PipeTransport.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/node/PipeTransport.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/node/PipeTransport.js.map
index 376cfaa..992661b 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/node/PipeTransport.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/node/PipeTransport.js.map
@@ -1 +1 @@
-{"version":3,"file":"PipeTransport.js","sourceRoot":"","sources":["../../../../src/node/PipeTransport.ts"],"names":[],"mappings":";;;;;;;;;;;;AAgBA,OAAO,EACL,gBAAgB,EAChB,UAAU,EAEV,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAEzC;;GAEG;AACH,MAAM,OAAO,aAAa;IAUxB,YACE,SAAgC,EAChC,QAA+B;;QAXjC,2CAAkC;QAClC,gDAA0C;QAE1C,kCAAY,KAAK,EAAC;QAClB,wCAAkB,EAAE,EAAC;QASnB,uBAAA,IAAI,4BAAc,SAAS,MAAA,CAAC;QAC5B,uBAAA,IAAI,iCAAmB;YACrB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;gBAC1C,OAAO,uBAAA,IAAI,yDAAU,MAAd,IAAI,EAAW,MAAM,CAAC,CAAC;YAChC,CAAC,CAAC;YACF,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;gBACvC,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACzB;YACH,CAAC,CAAC;YACF,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC;YAC/C,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;SACjD,MAAA,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,MAAM,CAAC,CAAC,uBAAA,IAAI,+BAAU,EAAE,4BAA4B,CAAC,CAAC;QAEtD,uBAAA,IAAI,gCAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,uBAAA,IAAI,gCAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IA2BD,KAAK;QACH,uBAAA,IAAI,2BAAa,IAAI,MAAA,CAAC;QACtB,oBAAoB,CAAC,uBAAA,IAAI,qCAAgB,CAAC,CAAC;IAC7C,CAAC;CACF;sRA7BW,MAAc;IACtB,MAAM,CAAC,CAAC,uBAAA,IAAI,+BAAU,EAAE,4BAA4B,CAAC,CAAC;IAEtD,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;QACd,+HAAwB,MAAM,CAAC,QAAQ,EAAE,MAAA,CAAC;QAC1C,OAAO;KACR;IACD,MAAM,OAAO,GAAG,uBAAA,IAAI,qCAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IAC1E,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KACpC;IAED,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;IACpB,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE;QACjB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;SACnE;QACD,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;QAChB,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KACnC;IACD,uBAAA,IAAI,iCAAmB,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,MAAA,CAAC;AAC3D,CAAC"}
\ No newline at end of file
+{"version":3,"file":"PipeTransport.js","sourceRoot":"","sources":["../../../../src/node/PipeTransport.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,gBAAgB,EAChB,UAAU,EAEV,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AAEzC;;GAEG;AACH,MAAM,OAAO,aAAa;IACxB,UAAU,CAAwB;IAClC,eAAe,CAA2B;IAE1C,SAAS,GAAG,KAAK,CAAC;IAClB,eAAe,GAAG,EAAE,CAAC;IAErB,OAAO,CAAc;IACrB,SAAS,CAA2B;IAEpC,YACE,SAAgC,EAChC,QAA+B;QAE/B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG;YACrB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;gBAC1C,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC,CAAC;YACF,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;gBACvC,IAAI,IAAI,CAAC,OAAO,EAAE;oBAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACzB;YACH,CAAC,CAAC;YACF,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC;YAC/C,gBAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC;SACjD,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;QAEtD,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC;QAEtD,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;YACd,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO;SACR;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1E,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SACpC;QAED,IAAI,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;QACpB,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,OAAO,GAAG,KAAK,CAAC,CAAC,EAAE;YACjB,IAAI,IAAI,CAAC,SAAS,EAAE;gBAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;aACnE;YACD,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC;YAChB,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACnC;QACD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;CACF"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.d.ts
index 9926363..1c49e09 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.d.ts
@@ -8,12 +8,12 @@
 /**
  * @internal
  */
-export type ResolvedLaunchArgs = {
+export interface ResolvedLaunchArgs {
     isTempUserDataDir: boolean;
     userDataDir: string;
     executablePath: string;
     args: string[];
-};
+}
 /**
  * Describes a launcher - a class that is able to create and launch a browser instance.
  *
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.d.ts.map b/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.d.ts.map
index 3f914a7..d3897fd 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.d.ts.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"ProductLauncher.d.ts","sourceRoot":"","sources":["../../../../src/node/ProductLauncher.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ProductLauncher.d.ts","sourceRoot":"","sources":["../../../../src/node/ProductLauncher.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.js b/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.js
index 063bb2c..cdee2e6 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.js
@@ -1,15 +1,3 @@
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _ProductLauncher_product;
 /**
  * Copyright 2017 Google Inc. All rights reserved.
  *
@@ -41,16 +29,24 @@
  * @public
  */
 export class ProductLauncher {
+    #product;
+    /**
+     * @internal
+     */
+    puppeteer;
+    /**
+     * @internal
+     */
+    actualBrowserRevision;
     /**
      * @internal
      */
     constructor(puppeteer, product) {
-        _ProductLauncher_product.set(this, void 0);
         this.puppeteer = puppeteer;
-        __classPrivateFieldSet(this, _ProductLauncher_product, product, "f");
+        this.#product = product;
     }
     get product() {
-        return __classPrivateFieldGet(this, _ProductLauncher_product, "f");
+        return this.#product;
     }
     async launch(options = {}) {
         const { dumpio = false, env = process.env, handleSIGINT = true, handleSIGTERM = true, handleSIGHUP = true, ignoreHTTPSErrors = false, defaultViewport = { width: 800, height: 600 }, slowMo = 0, timeout = 30000, waitForInitialPage = true, protocol, protocolTimeout, } = options;
@@ -83,7 +79,7 @@
             await this.closeBrowser(browserProcess, connection);
         };
         try {
-            if (__classPrivateFieldGet(this, _ProductLauncher_product, "f") === 'firefox' && protocol === 'webDriverBiDi') {
+            if (this.#product === 'firefox' && protocol === 'webDriverBiDi') {
                 browser = await this.createBiDiBrowser(browserProcess, browserCloseCallback, {
                     timeout,
                     protocolTimeout,
@@ -289,5 +285,4 @@
         return executablePath;
     }
 }
-_ProductLauncher_product = new WeakMap();
 //# sourceMappingURL=ProductLauncher.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.js.map
index 081e0f7..b629632 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/node/ProductLauncher.js.map
@@ -1 +1 @@
-{"version":3,"file":"ProductLauncher.js","sourceRoot":"","sources":["../../../../src/node/ProductLauncher.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"ProductLauncher.js","sourceRoot":"","sources":["../../../../src/node/ProductLauncher.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/node/PuppeteerNode.js b/node_modules/puppeteer-core/lib/esm/puppeteer/node/PuppeteerNode.js
index a2a19e3..583dbd4 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/node/PuppeteerNode.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/node/PuppeteerNode.js
@@ -13,18 +13,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _PuppeteerNode_instances, _PuppeteerNode__launcher, _PuppeteerNode_lastLaunchedProduct, _PuppeteerNode_launcher_get;
 import { Browser as SupportedBrowser, resolveBuildId, detectBrowserPlatform, getInstalledBrowsers, uninstall, } from '@puppeteer/browsers';
 import { Puppeteer, } from '../common/Puppeteer.js';
 import { PUPPETEER_REVISIONS } from '../revisions.js';
@@ -66,19 +54,22 @@
  * @public
  */
 export class PuppeteerNode extends Puppeteer {
+    #_launcher;
+    #lastLaunchedProduct;
+    /**
+     * @internal
+     */
+    defaultBrowserRevision;
+    /**
+     * @internal
+     */
+    configuration = {};
     /**
      * @internal
      */
     constructor(settings) {
         const { configuration, ...commonSettings } = settings;
         super(commonSettings);
-        _PuppeteerNode_instances.add(this);
-        _PuppeteerNode__launcher.set(this, void 0);
-        _PuppeteerNode_lastLaunchedProduct.set(this, void 0);
-        /**
-         * @internal
-         */
-        this.configuration = {};
         if (configuration) {
             this.configuration = configuration;
         }
@@ -144,20 +135,42 @@
      */
     launch(options = {}) {
         const { product = this.defaultProduct } = options;
-        __classPrivateFieldSet(this, _PuppeteerNode_lastLaunchedProduct, product, "f");
-        return __classPrivateFieldGet(this, _PuppeteerNode_instances, "a", _PuppeteerNode_launcher_get).launch(options);
+        this.#lastLaunchedProduct = product;
+        return this.#launcher.launch(options);
+    }
+    /**
+     * @internal
+     */
+    get #launcher() {
+        if (this.#_launcher &&
+            this.#_launcher.product === this.lastLaunchedProduct) {
+            return this.#_launcher;
+        }
+        switch (this.lastLaunchedProduct) {
+            case 'chrome':
+                this.defaultBrowserRevision = PUPPETEER_REVISIONS.chrome;
+                this.#_launcher = new ChromeLauncher(this);
+                break;
+            case 'firefox':
+                this.defaultBrowserRevision = PUPPETEER_REVISIONS.firefox;
+                this.#_launcher = new FirefoxLauncher(this);
+                break;
+            default:
+                throw new Error(`Unknown product: ${this.#lastLaunchedProduct}`);
+        }
+        return this.#_launcher;
     }
     /**
      * The default executable path.
      */
     executablePath(channel) {
-        return __classPrivateFieldGet(this, _PuppeteerNode_instances, "a", _PuppeteerNode_launcher_get).executablePath(channel);
+        return this.#launcher.executablePath(channel);
     }
     /**
      * @internal
      */
     get browserRevision() {
-        return (__classPrivateFieldGet(this, _PuppeteerNode__launcher, "f")?.getActualBrowserRevision() ??
+        return (this.#_launcher?.getActualBrowserRevision() ??
             this.configuration.browserRevision ??
             this.defaultBrowserRevision);
     }
@@ -174,7 +187,7 @@
      * The name of the browser that was last launched.
      */
     get lastLaunchedProduct() {
-        return __classPrivateFieldGet(this, _PuppeteerNode_lastLaunchedProduct, "f") ?? this.defaultProduct;
+        return this.#lastLaunchedProduct ?? this.defaultProduct;
     }
     /**
      * The name of the browser that will be launched by default. For
@@ -193,7 +206,7 @@
      * @returns The name of the browser that is under automation.
      */
     get product() {
-        return __classPrivateFieldGet(this, _PuppeteerNode_instances, "a", _PuppeteerNode_launcher_get).product;
+        return this.#launcher.product;
     }
     /**
      * @param options - Set of configurable options to set on the browser.
@@ -201,7 +214,7 @@
      * @returns The default flags that Chromium will be launched with.
      */
     defaultArgs(options = {}) {
-        return __classPrivateFieldGet(this, _PuppeteerNode_instances, "a", _PuppeteerNode_launcher_get).defaultArgs(options);
+        return this.#launcher.defaultArgs(options);
     }
     /**
      * Removes all non-current Firefox and Chrome binaries in the cache directory
@@ -269,23 +282,4 @@
         }
     }
 }
-_PuppeteerNode__launcher = new WeakMap(), _PuppeteerNode_lastLaunchedProduct = new WeakMap(), _PuppeteerNode_instances = new WeakSet(), _PuppeteerNode_launcher_get = function _PuppeteerNode_launcher_get() {
-    if (__classPrivateFieldGet(this, _PuppeteerNode__launcher, "f") &&
-        __classPrivateFieldGet(this, _PuppeteerNode__launcher, "f").product === this.lastLaunchedProduct) {
-        return __classPrivateFieldGet(this, _PuppeteerNode__launcher, "f");
-    }
-    switch (this.lastLaunchedProduct) {
-        case 'chrome':
-            this.defaultBrowserRevision = PUPPETEER_REVISIONS.chrome;
-            __classPrivateFieldSet(this, _PuppeteerNode__launcher, new ChromeLauncher(this), "f");
-            break;
-        case 'firefox':
-            this.defaultBrowserRevision = PUPPETEER_REVISIONS.firefox;
-            __classPrivateFieldSet(this, _PuppeteerNode__launcher, new FirefoxLauncher(this), "f");
-            break;
-        default:
-            throw new Error(`Unknown product: ${__classPrivateFieldGet(this, _PuppeteerNode_lastLaunchedProduct, "f")}`);
-    }
-    return __classPrivateFieldGet(this, _PuppeteerNode__launcher, "f");
-};
 //# sourceMappingURL=PuppeteerNode.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/node/PuppeteerNode.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/node/PuppeteerNode.js.map
index 169fd94..2fc1f61 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/node/PuppeteerNode.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/node/PuppeteerNode.js.map
@@ -1 +1 @@
-{"version":3,"file":"PuppeteerNode.js","sourceRoot":"","sources":["../../../../src/node/PuppeteerNode.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"PuppeteerNode.js","sourceRoot":"","sources":["../../../../src/node/PuppeteerNode.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.d.ts b/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.d.ts
index 4380684..d8b94fb 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.d.ts
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.d.ts
@@ -17,7 +17,7 @@
  * @internal
  */
 export declare const PUPPETEER_REVISIONS: Readonly<{
-    chrome: "114.0.5735.133";
+    chrome: "115.0.5790.102";
     firefox: "latest";
 }>;
 //# sourceMappingURL=revisions.d.ts.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.js b/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.js
index ff0a04a..6afce62 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.js
@@ -17,7 +17,7 @@
  * @internal
  */
 export const PUPPETEER_REVISIONS = Object.freeze({
-    chrome: '114.0.5735.133',
+    chrome: '115.0.5790.102',
     firefox: 'latest',
 });
 //# sourceMappingURL=revisions.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/util/Deferred.js b/node_modules/puppeteer-core/lib/esm/puppeteer/util/Deferred.js
index 3d04e2d..f908dd7 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/util/Deferred.js
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/util/Deferred.js
@@ -1,15 +1,3 @@
-var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
-    if (kind === "m") throw new TypeError("Private method is not writable");
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
-    return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
-};
-var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
-    if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
-    if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
-    return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
-};
-var _Deferred_instances, _Deferred_isResolved, _Deferred_isRejected, _Deferred_value, _Deferred_resolver, _Deferred_taskPromise, _Deferred_timeoutId, _Deferred_finish;
 import { TimeoutError } from '../common/Errors.js';
 /**
  * Creates and returns a deferred object along with the resolve/reject functions.
@@ -21,51 +9,56 @@
  * @internal
  */
 export class Deferred {
+    #isResolved = false;
+    #isRejected = false;
+    #value;
+    #resolver = () => { };
+    #taskPromise = new Promise(resolve => {
+        this.#resolver = resolve;
+    });
+    #timeoutId;
     constructor(opts) {
-        _Deferred_instances.add(this);
-        _Deferred_isResolved.set(this, false);
-        _Deferred_isRejected.set(this, false);
-        _Deferred_value.set(this, void 0);
-        _Deferred_resolver.set(this, () => { });
-        _Deferred_taskPromise.set(this, new Promise(resolve => {
-            __classPrivateFieldSet(this, _Deferred_resolver, resolve, "f");
-        }));
-        _Deferred_timeoutId.set(this, void 0);
-        __classPrivateFieldSet(this, _Deferred_timeoutId, opts && opts.timeout > 0
-            ? setTimeout(() => {
-                this.reject(new TimeoutError(opts.message));
-            }, opts.timeout)
-            : undefined, "f");
+        this.#timeoutId =
+            opts && opts.timeout > 0
+                ? setTimeout(() => {
+                    this.reject(new TimeoutError(opts.message));
+                }, opts.timeout)
+                : undefined;
+    }
+    #finish(value) {
+        clearTimeout(this.#timeoutId);
+        this.#value = value;
+        this.#resolver();
     }
     resolve(value) {
-        if (__classPrivateFieldGet(this, _Deferred_isRejected, "f") || __classPrivateFieldGet(this, _Deferred_isResolved, "f")) {
+        if (this.#isRejected || this.#isResolved) {
             return;
         }
-        __classPrivateFieldSet(this, _Deferred_isResolved, true, "f");
-        __classPrivateFieldGet(this, _Deferred_instances, "m", _Deferred_finish).call(this, value);
+        this.#isResolved = true;
+        this.#finish(value);
     }
     reject(error) {
-        if (__classPrivateFieldGet(this, _Deferred_isRejected, "f") || __classPrivateFieldGet(this, _Deferred_isResolved, "f")) {
+        if (this.#isRejected || this.#isResolved) {
             return;
         }
-        __classPrivateFieldSet(this, _Deferred_isRejected, true, "f");
-        __classPrivateFieldGet(this, _Deferred_instances, "m", _Deferred_finish).call(this, error);
+        this.#isRejected = true;
+        this.#finish(error);
     }
     resolved() {
-        return __classPrivateFieldGet(this, _Deferred_isResolved, "f");
+        return this.#isResolved;
     }
     finished() {
-        return __classPrivateFieldGet(this, _Deferred_isResolved, "f") || __classPrivateFieldGet(this, _Deferred_isRejected, "f");
+        return this.#isResolved || this.#isRejected;
     }
     value() {
-        return __classPrivateFieldGet(this, _Deferred_value, "f");
+        return this.#value;
     }
     async valueOrThrow() {
-        await __classPrivateFieldGet(this, _Deferred_taskPromise, "f");
-        if (__classPrivateFieldGet(this, _Deferred_isRejected, "f")) {
-            throw __classPrivateFieldGet(this, _Deferred_value, "f");
+        await this.#taskPromise;
+        if (this.#isRejected) {
+            throw this.#value;
         }
-        return __classPrivateFieldGet(this, _Deferred_value, "f");
+        return this.#value;
     }
     static create(opts) {
         return new Deferred(opts);
@@ -75,7 +68,7 @@
         try {
             const promises = awaitables.map(value => {
                 if (value instanceof Deferred) {
-                    if (__classPrivateFieldGet(value, _Deferred_timeoutId, "f")) {
+                    if (value.#timeoutId) {
                         deferredWithTimeout.add(value);
                     }
                     return value.valueOrThrow();
@@ -95,9 +88,4 @@
         }
     }
 }
-_Deferred_isResolved = new WeakMap(), _Deferred_isRejected = new WeakMap(), _Deferred_value = new WeakMap(), _Deferred_resolver = new WeakMap(), _Deferred_taskPromise = new WeakMap(), _Deferred_timeoutId = new WeakMap(), _Deferred_instances = new WeakSet(), _Deferred_finish = function _Deferred_finish(value) {
-    clearTimeout(__classPrivateFieldGet(this, _Deferred_timeoutId, "f"));
-    __classPrivateFieldSet(this, _Deferred_value, value, "f");
-    __classPrivateFieldGet(this, _Deferred_resolver, "f").call(this);
-};
 //# sourceMappingURL=Deferred.js.map
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/puppeteer/util/Deferred.js.map b/node_modules/puppeteer-core/lib/esm/puppeteer/util/Deferred.js.map
index a71b95a..641bdd8 100644
--- a/node_modules/puppeteer-core/lib/esm/puppeteer/util/Deferred.js.map
+++ b/node_modules/puppeteer-core/lib/esm/puppeteer/util/Deferred.js.map
@@ -1 +1 @@
-{"version":3,"file":"Deferred.js","sourceRoot":"","sources":["../../../../src/util/Deferred.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"Deferred.js","sourceRoot":"","sources":["../../../../src/util/Deferred.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/puppeteer-core/lib/esm/third_party/mitt/index.js b/node_modules/puppeteer-core/lib/esm/third_party/mitt/index.js
index bf3d753..6ff68d0 100644
--- a/node_modules/puppeteer-core/lib/esm/third_party/mitt/index.js
+++ b/node_modules/puppeteer-core/lib/esm/third_party/mitt/index.js
@@ -1,3 +1 @@
-function mitt(n){return {all:n=n||new Map,on:function(t,e){var i=n.get(t);i?i.push(e):n.set(t,[e]);},off:function(t,e){var i=n.get(t);i&&(e?i.splice(i.indexOf(e)>>>0,1):n.set(t,[]));},emit:function(t,e){var i=n.get(t);i&&i.slice().map(function(n){n(e);}),(i=n.get("*"))&&i.slice().map(function(n){n(t,e);});}}}
-
-export { mitt as default };
+function n(n){return{all:n=n||new Map,on:function(t,e){var i=n.get(t);i?i.push(e):n.set(t,[e])},off:function(t,e){var i=n.get(t);i&&(e?i.splice(i.indexOf(e)>>>0,1):n.set(t,[]))},emit:function(t,e){var i=n.get(t);i&&i.slice().map((function(n){n(e)})),(i=n.get("*"))&&i.slice().map((function(n){n(t,e)}))}}}export{n as default};
diff --git a/node_modules/puppeteer-core/lib/esm/third_party/rxjs/rxjs.d.ts b/node_modules/puppeteer-core/lib/esm/third_party/rxjs/rxjs.d.ts
new file mode 100644
index 0000000..b9e9e04
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/third_party/rxjs/rxjs.d.ts
@@ -0,0 +1,16 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+export { catchError, defaultIfEmpty, filter, first, ignoreElements, map, mergeMap, raceWith, retry, tap, throwIfEmpty, firstValueFrom, defer, EMPTY, from, fromEvent, merge, race, timer, OperatorFunction, identity, noop, pipe, Observable, } from 'rxjs';
diff --git a/node_modules/puppeteer-core/lib/esm/third_party/rxjs/rxjs.js b/node_modules/puppeteer-core/lib/esm/third_party/rxjs/rxjs.js
new file mode 100644
index 0000000..b05f109
--- /dev/null
+++ b/node_modules/puppeteer-core/lib/esm/third_party/rxjs/rxjs.js
@@ -0,0 +1 @@
+var n=function(t,r){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,t){n.__proto__=t}||function(n,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(n[r]=t[r])},n(t,r)};function t(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");function e(){this.constructor=t}n(t,r),t.prototype=null===r?Object.create(r):(e.prototype=r.prototype,new e)}function r(n,t,r,e){return new(r||(r=Promise))((function(o,i){function u(n){try{s(e.next(n))}catch(n){i(n)}}function c(n){try{s(e.throw(n))}catch(n){i(n)}}function s(n){var t;n.done?o(n.value):(t=n.value,t instanceof r?t:new r((function(n){n(t)}))).then(u,c)}s((e=e.apply(n,t||[])).next())}))}function e(n,t){var r,e,o,i,u={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(s){return function(c){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(u=0)),u;)try{if(r=1,e&&(o=2&c[0]?e.return:c[0]?e.throw||((o=e.return)&&o.call(e),0):e.next)&&!(o=o.call(e,c[1])).done)return o;switch(e=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return u.label++,{value:c[1],done:!1};case 5:u.label++,e=c[1],c=[0];continue;case 7:c=u.ops.pop(),u.trys.pop();continue;default:if(!(o=u.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){u=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){u.label=c[1];break}if(6===c[0]&&u.label<o[1]){u.label=o[1],o=c;break}if(o&&u.label<o[2]){u.label=o[2],u.ops.push(c);break}o[2]&&u.ops.pop(),u.trys.pop();continue}c=t.call(n,u)}catch(n){c=[6,n],e=0}finally{r=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,s])}}}function o(n){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&n[t],e=0;if(r)return r.call(n);if(n&&"number"==typeof n.length)return{next:function(){return n&&e>=n.length&&(n=void 0),{value:n&&n[e++],done:!n}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function i(n,t){var r="function"==typeof Symbol&&n[Symbol.iterator];if(!r)return n;var e,o,i=r.call(n),u=[];try{for(;(void 0===t||t-- >0)&&!(e=i.next()).done;)u.push(e.value)}catch(n){o={error:n}}finally{try{e&&!e.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return u}function u(n,t,r){if(r||2===arguments.length)for(var e,o=0,i=t.length;o<i;o++)!e&&o in t||(e||(e=Array.prototype.slice.call(t,0,o)),e[o]=t[o]);return n.concat(e||Array.prototype.slice.call(t))}function c(n){return this instanceof c?(this.v=n,this):new c(n)}function s(n,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,o=r.apply(n,t||[]),i=[];return e={},u("next"),u("throw"),u("return"),e[Symbol.asyncIterator]=function(){return this},e;function u(n){o[n]&&(e[n]=function(t){return new Promise((function(r,e){i.push([n,t,r,e])>1||s(n,t)}))})}function s(n,t){try{(r=o[n](t)).value instanceof c?Promise.resolve(r.value.v).then(l,a):f(i[0][2],r)}catch(n){f(i[0][3],n)}var r}function l(n){s("next",n)}function a(n){s("throw",n)}function f(n,t){n(t),i.shift(),i.length&&s(i[0][0],i[0][1])}}function l(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,r=n[Symbol.asyncIterator];return r?r.call(n):(n=o(n),t={},e("next"),e("throw"),e("return"),t[Symbol.asyncIterator]=function(){return this},t);function e(r){t[r]=n[r]&&function(t){return new Promise((function(e,o){(function(n,t,r,e){Promise.resolve(e).then((function(t){n({value:t,done:r})}),t)})(e,o,(t=n[r](t)).done,t.value)}))}}}function a(n){return"function"==typeof n}function f(n){var t=n((function(n){Error.call(n),n.stack=(new Error).stack}));return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}"function"==typeof SuppressedError&&SuppressedError;var h=f((function(n){return function(t){n(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map((function(n,t){return t+1+") "+n.toString()})).join("\n  "):"",this.name="UnsubscriptionError",this.errors=t}}));function p(n,t){if(n){var r=n.indexOf(t);0<=r&&n.splice(r,1)}}var v=function(){function n(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}var t;return n.prototype.unsubscribe=function(){var n,t,r,e,c;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var l=o(s),f=l.next();!f.done;f=l.next()){f.value.remove(this)}}catch(t){n={error:t}}finally{try{f&&!f.done&&(t=l.return)&&t.call(l)}finally{if(n)throw n.error}}else s.remove(this);var p=this.initialTeardown;if(a(p))try{p()}catch(n){c=n instanceof h?n.errors:[n]}var v=this._finalizers;if(v){this._finalizers=null;try{for(var d=o(v),y=d.next();!y.done;y=d.next()){var m=y.value;try{b(m)}catch(n){c=null!=c?c:[],n instanceof h?c=u(u([],i(c)),i(n.errors)):c.push(n)}}}catch(n){r={error:n}}finally{try{y&&!y.done&&(e=d.return)&&e.call(d)}finally{if(r)throw r.error}}}if(c)throw new h(c)}},n.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)b(t);else{if(t instanceof n){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(r=this._finalizers)&&void 0!==r?r:[]).push(t)}},n.prototype._hasParent=function(n){var t=this._parentage;return t===n||Array.isArray(t)&&t.includes(n)},n.prototype._addParent=function(n){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n},n.prototype._removeParent=function(n){var t=this._parentage;t===n?this._parentage=null:Array.isArray(t)&&p(t,n)},n.prototype.remove=function(t){var r=this._finalizers;r&&p(r,t),t instanceof n&&t._removeParent(this)},n.EMPTY=((t=new n).closed=!0,t),n}();function d(n){return n instanceof v||n&&"closed"in n&&a(n.remove)&&a(n.add)&&a(n.unsubscribe)}function b(n){a(n)?n():n.unsubscribe()}v.EMPTY;var y={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},m={setTimeout:function(n,t){for(var r=[],e=2;e<arguments.length;e++)r[e-2]=arguments[e];var o=m.delegate;return(null==o?void 0:o.setTimeout)?o.setTimeout.apply(o,u([n,t],i(r))):setTimeout.apply(void 0,u([n,t],i(r)))},clearTimeout:function(n){var t=m.delegate;return((null==t?void 0:t.clearTimeout)||clearTimeout)(n)},delegate:void 0};function w(n){m.setTimeout((function(){throw n}))}function x(){}var g=function(n){function r(t){var r=n.call(this)||this;return r.isStopped=!1,t?(r.destination=t,d(t)&&t.add(r)):r.destination=P,r}return t(r,n),r.create=function(n,t,r){return new I(n,t,r)},r.prototype.next=function(n){this.isStopped||this._next(n)},r.prototype.error=function(n){this.isStopped||(this.isStopped=!0,this._error(n))},r.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},r.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,n.prototype.unsubscribe.call(this),this.destination=null)},r.prototype._next=function(n){this.destination.next(n)},r.prototype._error=function(n){try{this.destination.error(n)}finally{this.unsubscribe()}},r.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},r}(v),_=Function.prototype.bind;function S(n,t){return _.call(n,t)}var E=function(){function n(n){this.partialObserver=n}return n.prototype.next=function(n){var t=this.partialObserver;if(t.next)try{t.next(n)}catch(n){A(n)}},n.prototype.error=function(n){var t=this.partialObserver;if(t.error)try{t.error(n)}catch(n){A(n)}else A(n)},n.prototype.complete=function(){var n=this.partialObserver;if(n.complete)try{n.complete()}catch(n){A(n)}},n}(),I=function(n){function r(t,r,e){var o,i,u=n.call(this)||this;a(t)||!t?o={next:null!=t?t:void 0,error:null!=r?r:void 0,complete:null!=e?e:void 0}:u&&y.useDeprecatedNextContext?((i=Object.create(t)).unsubscribe=function(){return u.unsubscribe()},o={next:t.next&&S(t.next,i),error:t.error&&S(t.error,i),complete:t.complete&&S(t.complete,i)}):o=t;return u.destination=new E(o),u}return t(r,n),r}(g);function A(n){w(n)}var P={closed:!0,next:x,error:function(n){throw n},complete:x},T="function"==typeof Symbol&&Symbol.observable||"@@observable";function O(n){return n}function j(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return k(n)}function k(n){return 0===n.length?O:1===n.length?n[0]:function(t){return n.reduce((function(n,t){return t(n)}),t)}}var z=function(){function n(n){n&&(this._subscribe=n)}return n.prototype.lift=function(t){var r=new n;return r.source=this,r.operator=t,r},n.prototype.subscribe=function(n,t,r){var e,o=this,i=(e=n)&&e instanceof g||function(n){return n&&a(n.next)&&a(n.error)&&a(n.complete)}(e)&&d(e)?n:new I(n,t,r);return function(){var n=o,t=n.operator,r=n.source;i.add(t?t.call(i,r):r?o._subscribe(i):o._trySubscribe(i))}(),i},n.prototype._trySubscribe=function(n){try{return this._subscribe(n)}catch(t){n.error(t)}},n.prototype.forEach=function(n,t){var r=this;return new(t=L(t))((function(t,e){var o=new I({next:function(t){try{n(t)}catch(n){e(n),o.unsubscribe()}},error:e,complete:t});r.subscribe(o)}))},n.prototype._subscribe=function(n){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(n)},n.prototype[T]=function(){return this},n.prototype.pipe=function(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return k(n)(this)},n.prototype.toPromise=function(n){var t=this;return new(n=L(n))((function(n,r){var e;t.subscribe((function(n){return e=n}),(function(n){return r(n)}),(function(){return n(e)}))}))},n.create=function(t){return new n(t)},n}();function L(n){var t;return null!==(t=null!=n?n:y.Promise)&&void 0!==t?t:Promise}function U(n){return function(t){if(function(n){return a(null==n?void 0:n.lift)}(t))return t.lift((function(t){try{return n(t,this)}catch(n){this.error(n)}}));throw new TypeError("Unable to lift unknown Observable type")}}function C(n,t,r,e,o){return new D(n,t,r,e,o)}var D=function(n){function r(t,r,e,o,i,u){var c=n.call(this,t)||this;return c.onFinalize=i,c.shouldUnsubscribe=u,c._next=r?function(n){try{r(n)}catch(n){t.error(n)}}:n.prototype._next,c._error=o?function(n){try{o(n)}catch(n){t.error(n)}finally{this.unsubscribe()}}:n.prototype._error,c._complete=e?function(){try{e()}catch(n){t.error(n)}finally{this.unsubscribe()}}:n.prototype._complete,c}return t(r,n),r.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;n.prototype.unsubscribe.call(this),!r&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},r}(g),N={now:function(){return(N.delegate||Date).now()},delegate:void 0},Y=function(n){function r(t,r){return n.call(this)||this}return t(r,n),r.prototype.schedule=function(n,t){return this},r}(v),q={setInterval:function(n,t){for(var r=[],e=2;e<arguments.length;e++)r[e-2]=arguments[e];var o=q.delegate;return(null==o?void 0:o.setInterval)?o.setInterval.apply(o,u([n,t],i(r))):setInterval.apply(void 0,u([n,t],i(r)))},clearInterval:function(n){var t=q.delegate;return((null==t?void 0:t.clearInterval)||clearInterval)(n)},delegate:void 0},F=function(n){function r(t,r){var e=n.call(this,t,r)||this;return e.scheduler=t,e.work=r,e.pending=!1,e}return t(r,n),r.prototype.schedule=function(n,t){var r;if(void 0===t&&(t=0),this.closed)return this;this.state=n;var e=this.id,o=this.scheduler;return null!=e&&(this.id=this.recycleAsyncId(o,e,t)),this.pending=!0,this.delay=t,this.id=null!==(r=this.id)&&void 0!==r?r:this.requestAsyncId(o,this.id,t),this},r.prototype.requestAsyncId=function(n,t,r){return void 0===r&&(r=0),q.setInterval(n.flush.bind(n,this),r)},r.prototype.recycleAsyncId=function(n,t,r){if(void 0===r&&(r=0),null!=r&&this.delay===r&&!1===this.pending)return t;null!=t&&q.clearInterval(t)},r.prototype.execute=function(n,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var r=this._execute(n,t);if(r)return r;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},r.prototype._execute=function(n,t){var r,e=!1;try{this.work(n)}catch(n){e=!0,r=n||new Error("Scheduled action threw falsy error")}if(e)return this.unsubscribe(),r},r.prototype.unsubscribe=function(){if(!this.closed){var t=this.id,r=this.scheduler,e=r.actions;this.work=this.state=this.scheduler=null,this.pending=!1,p(e,this),null!=t&&(this.id=this.recycleAsyncId(r,t,null)),this.delay=null,n.prototype.unsubscribe.call(this)}},r}(Y),R=function(){function n(t,r){void 0===r&&(r=n.now),this.schedulerActionCtor=t,this.now=r}return n.prototype.schedule=function(n,t,r){return void 0===t&&(t=0),new this.schedulerActionCtor(this,n).schedule(r,t)},n.now=N.now,n}(),M=new(function(n){function r(t,r){void 0===r&&(r=R.now);var e=n.call(this,t,r)||this;return e.actions=[],e._active=!1,e}return t(r,n),r.prototype.flush=function(n){var t=this.actions;if(this._active)t.push(n);else{var r;this._active=!0;do{if(r=n.execute(n.state,n.delay))break}while(n=t.shift());if(this._active=!1,r){for(;n=t.shift();)n.unsubscribe();throw r}}},r}(R))(F),G=new z((function(n){return n.complete()}));function H(n){return n&&a(n.schedule)}function V(n){return n[n.length-1]}var B=function(n){return n&&"number"==typeof n.length&&"function"!=typeof n};function J(n){return a(null==n?void 0:n.then)}function K(n){return a(n[T])}function Q(n){return Symbol.asyncIterator&&a(null==n?void 0:n[Symbol.asyncIterator])}function W(n){return new TypeError("You provided "+(null!==n&&"object"==typeof n?"an invalid object":"'"+n+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}var X="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function Z(n){return a(null==n?void 0:n[X])}function $(n){return s(this,arguments,(function(){var t,r,o;return e(this,(function(e){switch(e.label){case 0:t=n.getReader(),e.label=1;case 1:e.trys.push([1,,9,10]),e.label=2;case 2:return[4,c(t.read())];case 3:return r=e.sent(),o=r.value,r.done?[4,c(void 0)]:[3,5];case 4:return[2,e.sent()];case 5:return[4,c(o)];case 6:return[4,e.sent()];case 7:return e.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}}))}))}function nn(n){return a(null==n?void 0:n.getReader)}function tn(n){if(n instanceof z)return n;if(null!=n){if(K(n))return i=n,new z((function(n){var t=i[T]();if(a(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")}));if(B(n))return e=n,new z((function(n){for(var t=0;t<e.length&&!n.closed;t++)n.next(e[t]);n.complete()}));if(J(n))return r=n,new z((function(n){r.then((function(t){n.closed||(n.next(t),n.complete())}),(function(t){return n.error(t)})).then(null,w)}));if(Q(n))return rn(n);if(Z(n))return t=n,new z((function(n){var r,e;try{for(var i=o(t),u=i.next();!u.done;u=i.next()){var c=u.value;if(n.next(c),n.closed)return}}catch(n){r={error:n}}finally{try{u&&!u.done&&(e=i.return)&&e.call(i)}finally{if(r)throw r.error}}n.complete()}));if(nn(n))return rn($(n))}var t,r,e,i;throw W(n)}function rn(n){return new z((function(t){(function(n,t){var o,i,u,c;return r(this,void 0,void 0,(function(){var r,s;return e(this,(function(e){switch(e.label){case 0:e.trys.push([0,5,6,11]),o=l(n),e.label=1;case 1:return[4,o.next()];case 2:if((i=e.sent()).done)return[3,4];if(r=i.value,t.next(r),t.closed)return[2];e.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return s=e.sent(),u={error:s},[3,11];case 6:return e.trys.push([6,,9,10]),i&&!i.done&&(c=o.return)?[4,c.call(o)]:[3,8];case 7:e.sent(),e.label=8;case 8:return[3,10];case 9:if(u)throw u.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}}))}))})(n,t).catch((function(n){return t.error(n)}))}))}function en(n,t,r,e,o){void 0===e&&(e=0),void 0===o&&(o=!1);var i=t.schedule((function(){r(),o?n.add(this.schedule(null,e)):this.unsubscribe()}),e);if(n.add(i),!o)return i}function on(n,t){return void 0===t&&(t=0),U((function(r,e){r.subscribe(C(e,(function(r){return en(e,n,(function(){return e.next(r)}),t)}),(function(){return en(e,n,(function(){return e.complete()}),t)}),(function(r){return en(e,n,(function(){return e.error(r)}),t)})))}))}function un(n,t){return void 0===t&&(t=0),U((function(r,e){e.add(n.schedule((function(){return r.subscribe(e)}),t))}))}function cn(n,t){if(!n)throw new Error("Iterable cannot be null");return new z((function(r){en(r,t,(function(){var e=n[Symbol.asyncIterator]();en(r,t,(function(){e.next().then((function(n){n.done?r.complete():r.next(n.value)}))}),0,!0)}))}))}function sn(n,t){if(null!=n){if(K(n))return function(n,t){return tn(n).pipe(un(t),on(t))}(n,t);if(B(n))return function(n,t){return new z((function(r){var e=0;return t.schedule((function(){e===n.length?r.complete():(r.next(n[e++]),r.closed||this.schedule())}))}))}(n,t);if(J(n))return function(n,t){return tn(n).pipe(un(t),on(t))}(n,t);if(Q(n))return cn(n,t);if(Z(n))return function(n,t){return new z((function(r){var e;return en(r,t,(function(){e=n[X](),en(r,t,(function(){var n,t,o;try{t=(n=e.next()).value,o=n.done}catch(n){return void r.error(n)}o?r.complete():r.next(t)}),0,!0)})),function(){return a(null==e?void 0:e.return)&&e.return()}}))}(n,t);if(nn(n))return function(n,t){return cn($(n),t)}(n,t)}throw W(n)}function ln(n,t){return t?sn(n,t):tn(n)}var an=f((function(n){return function(){n(this),this.name="EmptyError",this.message="no elements in sequence"}}));function fn(n,t){var r="object"==typeof t;return new Promise((function(e,o){var i=new I({next:function(n){e(n),i.unsubscribe()},error:o,complete:function(){r?e(t.defaultValue):o(new an)}});n.subscribe(i)}))}function hn(n,t){return U((function(r,e){var o=0;r.subscribe(C(e,(function(r){e.next(n.call(t,r,o++))})))}))}var pn=Array.isArray;function vn(n){return hn((function(t){return function(n,t){return pn(t)?n.apply(void 0,u([],i(t))):n(t)}(n,t)}))}function dn(n,t,r){return void 0===r&&(r=1/0),a(t)?dn((function(r,e){return hn((function(n,o){return t(r,n,e,o)}))(tn(n(r,e)))}),r):("number"==typeof t&&(r=t),U((function(t,e){return function(n,t,r,e,o,i,u,c){var s=[],l=0,a=0,f=!1,h=function(){!f||s.length||l||t.complete()},p=function(n){return l<e?v(n):s.push(n)},v=function(n){i&&t.next(n),l++;var c=!1;tn(r(n,a++)).subscribe(C(t,(function(n){null==o||o(n),i?p(n):t.next(n)}),(function(){c=!0}),void 0,(function(){if(c)try{l--;for(var n=function(){var n=s.shift();u?en(t,u,(function(){return v(n)})):v(n)};s.length&&l<e;)n();h()}catch(n){t.error(n)}})))};return n.subscribe(C(t,p,(function(){f=!0,h()}))),function(){null==c||c()}}(t,e,n,r)})))}function bn(n){return new z((function(t){tn(n()).subscribe(t)}))}var yn=["addListener","removeListener"],mn=["addEventListener","removeEventListener"],wn=["on","off"];function xn(n,t,r,e){if(a(r)&&(e=r,r=void 0),e)return xn(n,t,r).pipe(vn(e));var o=i(function(n){return a(n.addEventListener)&&a(n.removeEventListener)}(n)?mn.map((function(e){return function(o){return n[e](t,o,r)}})):function(n){return a(n.addListener)&&a(n.removeListener)}(n)?yn.map(gn(n,t)):function(n){return a(n.on)&&a(n.off)}(n)?wn.map(gn(n,t)):[],2),u=o[0],c=o[1];if(!u&&B(n))return dn((function(n){return xn(n,t,r)}))(tn(n));if(!u)throw new TypeError("Invalid event target");return new z((function(n){var t=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return n.next(1<t.length?t:t[0])};return u(t),function(){return c(t)}}))}function gn(n,t){return function(r){return function(e){return n[r](t,e)}}}function _n(n,t,r){void 0===n&&(n=0),void 0===r&&(r=M);var e=-1;return null!=t&&(H(t)?r=t:e=t),new z((function(t){var o,i=(o=n)instanceof Date&&!isNaN(o)?+n-r.now():n;i<0&&(i=0);var u=0;return r.schedule((function(){t.closed||(t.next(u++),0<=e?this.schedule(void 0,e):t.complete())}),i)}))}function Sn(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];var r=function(n){return H(V(n))?n.pop():void 0}(n),e=function(n,t){return"number"==typeof V(n)?n.pop():t}(n,1/0),o=n;return o.length?1===o.length?tn(o[0]):function(n){return void 0===n&&(n=1/0),dn(O,n)}(e)(ln(o,r)):G}var En=Array.isArray;function In(n,t){return U((function(r,e){var o=0;r.subscribe(C(e,(function(r){return n.call(t,r,o++)&&e.next(r)})))}))}function An(){for(var n,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return 1===(t=1===(n=t).length&&En(n[0])?n[0]:n).length?tn(t[0]):new z(Pn(t))}function Pn(n){return function(t){for(var r=[],e=function(e){r.push(tn(n[e]).subscribe(C(t,(function(n){if(r){for(var o=0;o<r.length;o++)o!==e&&r[o].unsubscribe();r=null}t.next(n)}))))},o=0;r&&!t.closed&&o<n.length;o++)e(o)}}function Tn(n){return U((function(t,r){var e,o=null,i=!1;o=t.subscribe(C(r,void 0,void 0,(function(u){e=tn(n(u,Tn(n)(t))),o?(o.unsubscribe(),o=null,e.subscribe(r)):i=!0}))),i&&(o.unsubscribe(),o=null,e.subscribe(r))}))}function On(n){return U((function(t,r){var e=!1;t.subscribe(C(r,(function(n){e=!0,r.next(n)}),(function(){e||r.next(n),r.complete()})))}))}function jn(){return U((function(n,t){n.subscribe(C(t,x))}))}function kn(n){return void 0===n&&(n=zn),U((function(t,r){var e=!1;t.subscribe(C(r,(function(n){e=!0,r.next(n)}),(function(){return e?r.complete():r.error(n())})))}))}function zn(){return new an}function Ln(n,t){var r=arguments.length>=2;return function(e){return e.pipe(n?In((function(t,r){return n(t,r,e)})):O,(o=1)<=0?function(){return G}:U((function(n,t){var r=0;n.subscribe(C(t,(function(n){++r<=o&&(t.next(n),o<=r&&t.complete())})))})),r?On(t):kn((function(){return new an})));var o}}function Un(){for(var n=[],t=0;t<arguments.length;t++)n[t]=arguments[t];return n.length?U((function(t,r){Pn(u([t],i(n)))(r)})):O}function Cn(n){var t;void 0===n&&(n=1/0);var r=(t=n&&"object"==typeof n?n:{count:n}).count,e=void 0===r?1/0:r,o=t.delay,i=t.resetOnSuccess,u=void 0!==i&&i;return e<=0?O:U((function(n,t){var r,i=0,c=function(){var s=!1;r=n.subscribe(C(t,(function(n){u&&(i=0),t.next(n)}),void 0,(function(n){if(i++<e){var u=function(){r?(r.unsubscribe(),r=null,c()):s=!0};if(null!=o){var l="number"==typeof o?_n(o):tn(o(n,i)),a=C(t,(function(){a.unsubscribe(),u()}),(function(){t.complete()}));l.subscribe(a)}else u()}else t.error(n)}))),s&&(r.unsubscribe(),r=null,c())};c()}))}function Dn(n,t,r){var e=a(n)||t||r?{next:n,error:t,complete:r}:n;return e?U((function(n,t){var r;null===(r=e.subscribe)||void 0===r||r.call(e);var o=!0;n.subscribe(C(t,(function(n){var r;null===(r=e.next)||void 0===r||r.call(e,n),t.next(n)}),(function(){var n;o=!1,null===(n=e.complete)||void 0===n||n.call(e),t.complete()}),(function(n){var r;o=!1,null===(r=e.error)||void 0===r||r.call(e,n),t.error(n)}),(function(){var n,t;o&&(null===(n=e.unsubscribe)||void 0===n||n.call(e)),null===(t=e.finalize)||void 0===t||t.call(e)})))})):O}export{G as EMPTY,z as Observable,Tn as catchError,On as defaultIfEmpty,bn as defer,In as filter,Ln as first,fn as firstValueFrom,ln as from,xn as fromEvent,O as identity,jn as ignoreElements,hn as map,Sn as merge,dn as mergeMap,x as noop,j as pipe,An as race,Un as raceWith,Cn as retry,Dn as tap,kn as throwIfEmpty,_n as timer};
diff --git a/node_modules/puppeteer-core/lib/types.d.ts b/node_modules/puppeteer-core/lib/types.d.ts
index ff4425c..77887b50 100644
--- a/node_modules/puppeteer-core/lib/types.d.ts
+++ b/node_modules/puppeteer-core/lib/types.d.ts
@@ -5,10 +5,6 @@
 import { ProtocolMapping } from 'devtools-protocol/types/protocol-mapping.js';
 import type { Readable } from 'stream';
 
-declare const __JSHandleSymbol: unique symbol;
-
-declare const __JSHandleSymbol_2: unique symbol;
-
 /**
  * The Accessibility class provides methods for inspecting the browser's
  * accessibility tree. The accessibility tree is used by assistive technology
@@ -78,17 +74,13 @@
     private collectInterestingNodes;
 }
 
-/**
- * @public
- */
-export declare type ActionCondition = (element: ElementHandle, signal: AbortSignal) => Promise<void>;
+/* Excluded from this release type: Action */
 
 /**
  * @public
  */
 export declare interface ActionOptions {
     signal?: AbortSignal;
-    conditions: ActionCondition[];
 }
 
 /**
@@ -109,6 +101,19 @@
 /**
  * @public
  */
+export declare interface AutofillData {
+    creditCard: {
+        number: string;
+        name: string;
+        expiryMonth: string;
+        expiryYear: string;
+        cvc: string;
+    };
+}
+
+/**
+ * @public
+ */
 export declare type Awaitable<T> = T | PromiseLike<T>;
 
 /**
@@ -118,6 +123,11 @@
 
 /* Excluded from this release type: AwaitableIterator */
 
+/**
+ * @public
+ */
+export declare type AwaitedLocator<T> = T extends Locator<infer S> ? S : never;
+
 declare type BeginSubclassSelectorTokens = ['.', '#', '[', ':'];
 
 /* Excluded from this release type: Binding */
@@ -631,6 +641,8 @@
 
 /* Excluded from this release type: CDPBrowserContext */
 
+/* Excluded from this release type: CDPDialog */
+
 /* Excluded from this release type: CDPElementHandle */
 
 /* Excluded from this release type: CDPJSHandle */
@@ -690,6 +702,8 @@
 
 /* Excluded from this release type: CDPSessionOnMessageObject */
 
+/* Excluded from this release type: CDPTarget */
+
 /* Excluded from this release type: CDPTouchscreen */
 
 /* Excluded from this release type: ChromeLauncher */
@@ -1231,6 +1245,8 @@
 
 /* Excluded from this release type: DeferredOptions */
 
+/* Excluded from this release type: DelegatedLocator */
+
 /**
  * @public
  */
@@ -1348,6 +1364,7 @@
      * is not a `prompt`.
      */
     defaultValue(): string;
+    /* Excluded from this release type: sendCommand */
     /**
      * A promise that resolves when the dialog has been accepted.
      *
@@ -1810,6 +1827,32 @@
      */
     scrollIntoView(this: ElementHandle<Element>): Promise<void>;
     /* Excluded from this release type: assertElementHasWorld */
+    /**
+     * If the element is a form input, you can use {@link ElementHandle.autofill}
+     * to test if the form is compatible with the browser's autofill
+     * implementation. Throws an error if the form cannot be autofilled.
+     *
+     * @remarks
+     *
+     * Currently, Puppeteer supports auto-filling credit card information only and
+     * in Chrome in the new headless and headful modes only.
+     *
+     * ```ts
+     * // Select an input on the credit card form.
+     * const name = await page.waitForSelector('form #name');
+     * // Trigger autofill with the desired data.
+     * await name.autofill({
+     *   creditCard: {
+     *     number: '4444444444444444',
+     *     name: 'John Smith',
+     *     expiryMonth: '01',
+     *     expiryYear: '2030',
+     *     cvc: '123',
+     *   },
+     * });
+     * ```
+     */
+    autofill(data: AutofillData): Promise<void>;
 }
 
 /* Excluded from this release type: EmulationManager */
@@ -2026,6 +2069,8 @@
     cancel(): void;
 }
 
+/* Excluded from this release type: FilteredLocator */
+
 /* Excluded from this release type: FirefoxLauncher */
 
 /* Excluded from this release type: FirefoxTargetManager */
@@ -2200,14 +2245,23 @@
      */
     evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>;
     /**
-     * Creates a locator for the provided `selector`. See {@link Locator} for
+     * Creates a locator for the provided selector. See {@link Locator} for
      * details and supported actions.
      *
      * @remarks
      * Locators API is experimental and we will not follow semver for breaking
      * change in the Locators API.
      */
-    locator(selector: string): Locator;
+    locator<Selector extends string>(selector: Selector): Locator<NodeFor<Selector>>;
+    /**
+     * Creates a locator for the provided function. See {@link Locator} for
+     * details and supported actions.
+     *
+     * @remarks
+     * Locators API is experimental and we will not follow semver for breaking
+     * change in the Locators API.
+     */
+    locator<Ret>(func: () => Awaitable<Ret>): Locator<Ret>;
     /**
      * Queries the frame for an element matching the given selector.
      *
@@ -2650,6 +2704,8 @@
     signal?: AbortSignal;
 }
 
+/* Excluded from this release type: FunctionLocator */
+
 /**
  * @public
  */
@@ -3189,7 +3245,7 @@
     /**
      * Used for nominally typing {@link JSHandle}.
      */
-    [__JSHandleSymbol]?: T;
+    _?: T;
     /* Excluded from this release type: __constructor */
     /* Excluded from this release type: disposed */
     /* Excluded from this release type: executionContext */
@@ -3566,51 +3622,91 @@
 /* Excluded from this release type: LifecycleWatcher */
 
 /**
- * Locators describe a strategy of locating elements and performing an action on
- * them. If the action fails because the element is not ready for the action,
- * the whole operation is retried. Various preconditions for a successful action
- * are checked automatically.
+ * Locators describe a strategy of locating objects and performing an action on
+ * them. If the action fails because the object is not ready for the action, the
+ * whole operation is retried. Various preconditions for a successful action are
+ * checked automatically.
  *
  * @public
  */
-export declare abstract class Locator extends EventEmitter {
-    /* Excluded from this release type: create */
+export declare abstract class Locator<T> extends EventEmitter {
+    #private;
     /**
      * Creates a race between multiple locators but ensures that only a single one
      * acts.
+     *
+     * @public
      */
-    static race(locators: Locator[]): Locator;
+    static race<Locators extends readonly unknown[] | []>(locators: Locators): Locator<AwaitedLocator<Locators[number]>>;
+    /**
+     * Used for nominally typing {@link Locator}.
+     */
+    _?: T;
+    /* Excluded from this release type: visibility */
+    /* Excluded from this release type: _timeout */
+    /* Excluded from this release type: operators */
+    get timeout(): number;
     on<K extends keyof LocatorEventObject>(eventName: K, handler: (event: LocatorEventObject[K]) => void): this;
     once<K extends keyof LocatorEventObject>(eventName: K, handler: (event: LocatorEventObject[K]) => void): this;
     off<K extends keyof LocatorEventObject>(eventName: K, handler: (event: LocatorEventObject[K]) => void): this;
-    abstract setVisibility(visibility: VisibilityOption): this;
-    abstract setTimeout(timeout: number): this;
-    abstract setEnsureElementIsInTheViewport(value: boolean): this;
-    abstract setWaitForEnabled(value: boolean): this;
-    abstract setWaitForStableBoundingBox(value: boolean): this;
-    abstract click(clickOptions?: ClickOptions & {
-        signal?: AbortSignal;
-    }): Promise<void>;
+    setTimeout(timeout: number): Locator<T>;
+    setVisibility<NodeType extends Node>(this: Locator<NodeType>, visibility: VisibilityOption): Locator<NodeType>;
+    setWaitForEnabled<NodeType extends Node>(this: Locator<NodeType>, value: boolean): Locator<NodeType>;
+    setEnsureElementIsInTheViewport<ElementType extends Element>(this: Locator<ElementType>, value: boolean): Locator<ElementType>;
+    setWaitForStableBoundingBox<ElementType extends Element>(this: Locator<ElementType>, value: boolean): Locator<ElementType>;
+    /* Excluded from this release type: copyOptions */
+    /* Excluded from this release type: _clone */
+    /* Excluded from this release type: _wait */
+    /**
+     * Clones the locator.
+     */
+    clone(): Locator<T>;
+    /**
+     * Waits for the locator to get a handle from the page.
+     *
+     * @public
+     */
+    waitHandle(options?: Readonly<ActionOptions>): Promise<HandleFor<T>>;
+    /**
+     * Waits for the locator to get the serialized value from the page.
+     *
+     * Note this requires the value to be JSON-serializable.
+     *
+     * @public
+     */
+    wait(options?: Readonly<ActionOptions>): Promise<T>;
+    /**
+     * Maps the locator using the provided mapper.
+     *
+     * @public
+     */
+    map<To>(mapper: Mapper<T, To>): Locator<To>;
+    /**
+     * Creates an expectation that is evaluated against located values.
+     *
+     * If the expectations do not match, then the locator will retry.
+     *
+     * @public
+     */
+    filter<S extends T>(predicate: Predicate<T, S>): Locator<S>;
+    click<ElementType extends Element>(this: Locator<ElementType>, options?: Readonly<LocatorClickOptions>): Promise<void>;
     /**
      * Fills out the input identified by the locator using the provided value. The
      * type of the input is determined at runtime and the appropriate fill-out
      * method is chosen based on the type. contenteditable, selector, inputs are
      * supported.
      */
-    abstract fill(value: string, fillOptions?: {
-        signal?: AbortSignal;
-    }): Promise<void>;
-    abstract hover(hoverOptions?: {
-        signal?: AbortSignal;
-    }): Promise<void>;
-    abstract scroll(scrollOptions?: {
-        scrollTop?: number;
-        scrollLeft?: number;
-        signal?: AbortSignal;
-    }): Promise<void>;
+    fill<ElementType extends Element>(this: Locator<ElementType>, value: string, options?: Readonly<ActionOptions>): Promise<void>;
+    hover<ElementType extends Element>(this: Locator<ElementType>, options?: Readonly<ActionOptions>): Promise<void>;
+    scroll<ElementType extends Element>(this: Locator<ElementType>, options?: Readonly<LocatorScrollOptions>): Promise<void>;
 }
 
 /**
+ * @public
+ */
+export declare type LocatorClickOptions = ClickOptions & ActionOptions;
+
+/**
  * All the events that a locator instance may emit.
  *
  * @public
@@ -3629,8 +3725,6 @@
     [LocatorEmittedEvents.Action]: never;
 }
 
-/* Excluded from this release type: LocatorImpl */
-
 /**
  * @public
  */
@@ -3670,10 +3764,25 @@
 /**
  * @public
  */
+export declare interface LocatorScrollOptions extends ActionOptions {
+    scrollTop?: number;
+    scrollLeft?: number;
+}
+
+/**
+ * @public
+ */
 export declare type LowerCasePaperFormat = 'letter' | 'legal' | 'tabloid' | 'ledger' | 'a0' | 'a1' | 'a2' | 'a3' | 'a4' | 'a5' | 'a6';
 
 /* Excluded from this release type: MAIN_WORLD */
 
+/* Excluded from this release type: MappedLocator */
+
+/**
+ * @public
+ */
+export declare type Mapper<From, To> = (value: From) => Awaitable<To>;
+
 /**
  * @public
  */
@@ -3984,6 +4093,8 @@
  */
 export declare type NodeFor<ComplexSelector extends string> = TypeSelectorOfComplexSelector<ComplexSelector> extends infer TypeSelector ? TypeSelector extends keyof HTMLElementTagNameMap | keyof SVGElementTagNameMap ? ElementFor<TypeSelector> : Element : never;
 
+/* Excluded from this release type: NodeLocator */
+
 /* Excluded from this release type: NodeWebSocketTransport */
 
 declare type NonEmptyReadonlyArray<T> = [T, ...(readonly T[])];
@@ -4145,6 +4256,10 @@
      */
     mainFrame(): Frame;
     /**
+     * Creates a Chrome Devtools Protocol session attached to the page.
+     */
+    createCDPSession(): Promise<CDPSession>;
+    /**
      * {@inheritDoc Keyboard}
      */
     get keyboard(): Keyboard;
@@ -4292,14 +4407,23 @@
      */
     getDefaultTimeout(): number;
     /**
-     * Creates a locator for the provided `selector`. See {@link Locator} for
+     * Creates a locator for the provided selector. See {@link Locator} for
      * details and supported actions.
      *
      * @remarks
      * Locators API is experimental and we will not follow semver for breaking
      * change in the Locators API.
      */
-    locator(selector: string): Locator;
+    locator<Selector extends string>(selector: Selector): Locator<NodeFor<Selector>>;
+    /**
+     * Creates a locator for the provided function. See {@link Locator} for
+     * details and supported actions.
+     *
+     * @remarks
+     * Locators API is experimental and we will not follow semver for breaking
+     * change in the Locators API.
+     */
+    locator<Ret>(func: () => Awaitable<Ret>): Locator<Ret>;
     /* Excluded from this release type: locatorRace */
     /**
      * Runs `document.querySelector` within the page. If no element matches the
@@ -4575,7 +4699,6 @@
      */
     addStyleTag(options: Omit<FrameAddStyleTagOptions, 'url'>): Promise<ElementHandle<HTMLStyleElement>>;
     addStyleTag(options: FrameAddStyleTagOptions): Promise<ElementHandle<HTMLLinkElement>>;
-    addStyleTag(options: FrameAddStyleTagOptions): Promise<ElementHandle<HTMLStyleElement | HTMLLinkElement>>;
     /**
      * The method adds a function called `name` on the page's `window` object.
      * When called, the function executes `puppeteerFunction` in node.js and
@@ -6204,6 +6327,11 @@
 }>;
 
 /**
+ * @public
+ */
+export declare type Predicate<From, To extends From = From> = ((value: From) => value is To) | ((value: From) => Awaitable<boolean>);
+
+/**
  * Copyright 2020 Google Inc. All rights reserved.
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -6530,6 +6658,8 @@
 
 /* Excluded from this release type: QueuedEventGroup */
 
+/* Excluded from this release type: RaceLocator */
+
 /* Excluded from this release type: RAFPoller */
 
 /* Excluded from this release type: Realm */
@@ -6580,6 +6710,8 @@
     body: string | Buffer;
 }
 
+/* Excluded from this release type: RETRY_DELAY */
+
 /**
  * @public
  */
@@ -6791,36 +6923,32 @@
  * {@link https://chromedevtools.github.io/devtools-protocol/tot/Target/ | CDP target}.
  * In CDP a target is something that can be debugged such a frame, a page or a
  * worker.
- *
  * @public
  */
 export declare class Target {
-    #private;
-    /* Excluded from this release type: _initializedDeferred */
-    /* Excluded from this release type: _isClosedDeferred */
-    /* Excluded from this release type: _targetId */
     /* Excluded from this release type: __constructor */
-    /* Excluded from this release type: _session */
-    /* Excluded from this release type: _sessionFactory */
-    /**
-     * Creates a Chrome Devtools Protocol session attached to the target.
-     */
-    createCDPSession(): Promise<CDPSession>;
-    /* Excluded from this release type: _targetManager */
-    /* Excluded from this release type: _getTargetInfo */
     /**
      * If the target is not of type `"service_worker"` or `"shared_worker"`, returns `null`.
      */
     worker(): Promise<WebWorker | null>;
+    /**
+     * If the target is not of type `"page"`, `"webview"` or `"background_page"`,
+     * returns `null`.
+     */
+    page(): Promise<Page | null>;
     url(): string;
     /**
+     * Creates a Chrome Devtools Protocol session attached to the target.
+     */
+    createCDPSession(): Promise<CDPSession>;
+    /**
      * Identifies what kind of target this is.
      *
      * @remarks
      *
      * See {@link https://developer.chrome.com/extensions/background_pages | docs} for more info about background pages.
      */
-    type(): 'page' | 'background_page' | 'service_worker' | 'shared_worker' | 'other' | 'browser' | 'webview';
+    type(): TargetType;
     /**
      * Get the browser the target belongs to.
      */
@@ -6833,14 +6961,6 @@
      * Get the target that opened this target. Top-level targets return `null`.
      */
     opener(): Target | undefined;
-    /* Excluded from this release type: _targetInfoChanged */
-    /* Excluded from this release type: _initialize */
-    /* Excluded from this release type: _checkIfInitialized */
-    /**
-     * If the target is not of type `"page"`, `"webview"` or `"background_page"`,
-     * returns `null`.
-     */
-    page(): Promise<Page | null>;
 }
 
 /* Excluded from this release type: TargetCloseError */
@@ -6850,7 +6970,7 @@
 /**
  * @public
  */
-export declare type TargetFilterCallback = (target: Protocol.Target.TargetInfo) => boolean;
+export declare type TargetFilterCallback = (target: Target) => boolean;
 
 /* Excluded from this release type: TargetInterceptor */
 
@@ -6858,6 +6978,19 @@
 
 /* Excluded from this release type: TargetManagerEmittedEvents */
 
+/**
+ * @public
+ */
+export declare enum TargetType {
+    PAGE = "page",
+    BACKGROUND_PAGE = "background_page",
+    SERVICE_WORKER = "service_worker",
+    SHARED_WORKER = "shared_worker",
+    BROWSER = "browser",
+    WEBVIEW = "webview",
+    OTHER = "other"
+}
+
 /* Excluded from this release type: TaskManager */
 
 /* Excluded from this release type: TaskQueue */
@@ -6968,6 +7101,8 @@
 
 /* Excluded from this release type: UTILITY_WORLD_NAME */
 
+/* Excluded from this release type: validateDialogType */
+
 /* Excluded from this release type: valueFromRemoteObject */
 
 /**
diff --git a/node_modules/puppeteer-core/package.json b/node_modules/puppeteer-core/package.json
index 7217bec..2793aa6 100644
--- a/node_modules/puppeteer-core/package.json
+++ b/node_modules/puppeteer-core/package.json
@@ -1,6 +1,6 @@
 {
   "name": "puppeteer-core",
-  "version": "20.8.2",
+  "version": "21.0.1",
   "description": "A high-level API to control headless Chrome over the DevTools Protocol",
   "keywords": [
     "puppeteer",
@@ -144,22 +144,15 @@
   "author": "The Chromium Authors",
   "license": "Apache-2.0",
   "dependencies": {
-    "chromium-bidi": "0.4.16",
+    "chromium-bidi": "0.4.20",
     "cross-fetch": "4.0.0",
     "debug": "4.3.4",
-    "devtools-protocol": "0.0.1135028",
+    "devtools-protocol": "0.0.1147663",
     "ws": "8.13.0",
-    "@puppeteer/browsers": "1.4.5"
-  },
-  "peerDependencies": {
-    "typescript": ">= 4.7.4"
-  },
-  "peerDependenciesMeta": {
-    "typescript": {
-      "optional": true
-    }
+    "@puppeteer/browsers": "1.5.0"
   },
   "devDependencies": {
+    "rxjs": "7.8.1",
     "mitt": "3.0.0",
     "parsel-js": "1.1.0"
   }
diff --git a/node_modules/puppeteer-core/src/api/Browser.ts b/node_modules/puppeteer-core/src/api/Browser.ts
index 63f4766..560c464 100644
--- a/node_modules/puppeteer-core/src/api/Browser.ts
+++ b/node_modules/puppeteer-core/src/api/Browser.ts
@@ -21,10 +21,12 @@
 import {Protocol} from 'devtools-protocol';
 
 import {EventEmitter} from '../common/EventEmitter.js';
-import type {Target} from '../common/Target.js'; // TODO: move to ./api
+import {waitWithTimeout} from '../common/util.js';
+import {Deferred} from '../util/Deferred.js';
 
 import type {BrowserContext} from './BrowserContext.js';
-import type {Page} from './Page.js'; // TODO: move to ./api
+import type {Page} from './Page.js';
+import type {Target} from './Target.js';
 
 /**
  * BrowserContext options.
@@ -51,16 +53,12 @@
 /**
  * @public
  */
-export type TargetFilterCallback = (
-  target: Protocol.Target.TargetInfo
-) => boolean;
+export type TargetFilterCallback = (target: Target) => boolean;
 
 /**
  * @internal
  */
-export type IsPageTargetCallback = (
-  target: Protocol.Target.TargetInfo
-) => boolean;
+export type IsPageTargetCallback = (target: Target) => boolean;
 
 /**
  * @internal
@@ -380,12 +378,35 @@
    * );
    * ```
    */
-  waitForTarget(
+  async waitForTarget(
     predicate: (x: Target) => boolean | Promise<boolean>,
-    options?: WaitForTargetOptions
-  ): Promise<Target>;
-  waitForTarget(): Promise<Target> {
-    throw new Error('Not implemented');
+    options: WaitForTargetOptions = {}
+  ): Promise<Target> {
+    const {timeout = 30000} = options;
+    const targetDeferred = Deferred.create<Target | PromiseLike<Target>>();
+
+    this.on(BrowserEmittedEvents.TargetCreated, check);
+    this.on(BrowserEmittedEvents.TargetChanged, check);
+    try {
+      this.targets().forEach(check);
+      if (!timeout) {
+        return await targetDeferred.valueOrThrow();
+      }
+      return await waitWithTimeout(
+        targetDeferred.valueOrThrow(),
+        'target',
+        timeout
+      );
+    } finally {
+      this.off(BrowserEmittedEvents.TargetCreated, check);
+      this.off(BrowserEmittedEvents.TargetChanged, check);
+    }
+
+    async function check(target: Target): Promise<void> {
+      if ((await predicate(target)) && !targetDeferred.resolved()) {
+        targetDeferred.resolve(target);
+      }
+    }
   }
 
   /**
diff --git a/node_modules/puppeteer-core/src/api/BrowserContext.ts b/node_modules/puppeteer-core/src/api/BrowserContext.ts
index 77fb9b1..fbbf26f 100644
--- a/node_modules/puppeteer-core/src/api/BrowserContext.ts
+++ b/node_modules/puppeteer-core/src/api/BrowserContext.ts
@@ -15,10 +15,10 @@
  */
 
 import {EventEmitter} from '../common/EventEmitter.js';
-import {Target} from '../common/Target.js';
 
 import type {Permission, Browser} from './Browser.js';
 import {Page} from './Page.js';
+import type {Target} from './Target.js';
 
 /**
  * BrowserContexts provide a way to operate multiple independent browser
diff --git a/node_modules/puppeteer-core/src/api/Dialog.ts b/node_modules/puppeteer-core/src/api/Dialog.ts
new file mode 100644
index 0000000..0f350c5
--- /dev/null
+++ b/node_modules/puppeteer-core/src/api/Dialog.ts
@@ -0,0 +1,119 @@
+/**
+ * Copyright 2017 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import {Protocol} from 'devtools-protocol';
+
+import {assert} from '../util/assert.js';
+
+/**
+ * Dialog instances are dispatched by the {@link Page} via the `dialog` event.
+ *
+ * @remarks
+ *
+ * @example
+ *
+ * ```ts
+ * import puppeteer from 'puppeteer';
+ *
+ * (async () => {
+ *   const browser = await puppeteer.launch();
+ *   const page = await browser.newPage();
+ *   page.on('dialog', async dialog => {
+ *     console.log(dialog.message());
+ *     await dialog.dismiss();
+ *     await browser.close();
+ *   });
+ *   page.evaluate(() => alert('1'));
+ * })();
+ * ```
+ *
+ * @public
+ */
+export class Dialog {
+  #type: Protocol.Page.DialogType;
+  #message: string;
+  #defaultValue: string;
+  #handled = false;
+
+  /**
+   * @internal
+   */
+  constructor(
+    type: Protocol.Page.DialogType,
+    message: string,
+    defaultValue = ''
+  ) {
+    this.#type = type;
+    this.#message = message;
+    this.#defaultValue = defaultValue;
+  }
+
+  /**
+   * The type of the dialog.
+   */
+  type(): Protocol.Page.DialogType {
+    return this.#type;
+  }
+
+  /**
+   * The message displayed in the dialog.
+   */
+  message(): string {
+    return this.#message;
+  }
+
+  /**
+   * The default value of the prompt, or an empty string if the dialog
+   * is not a `prompt`.
+   */
+  defaultValue(): string {
+    return this.#defaultValue;
+  }
+
+  /**
+   * @internal
+   */
+  sendCommand(_options: {accept: boolean; text?: string}): Promise<void> {
+    throw new Error('Not implemented');
+  }
+
+  /**
+   * A promise that resolves when the dialog has been accepted.
+   *
+   * @param promptText - optional text that will be entered in the dialog
+   * prompt. Has no effect if the dialog's type is not `prompt`.
+   *
+   */
+  async accept(promptText?: string): Promise<void> {
+    assert(!this.#handled, 'Cannot accept dialog which is already handled!');
+    this.#handled = true;
+    await this.sendCommand({
+      accept: true,
+      text: promptText,
+    });
+  }
+
+  /**
+   * A promise which will resolve once the dialog has been dismissed
+   */
+  async dismiss(): Promise<void> {
+    assert(!this.#handled, 'Cannot dismiss dialog which is already handled!');
+    this.#handled = true;
+    await this.sendCommand({
+      accept: false,
+    });
+  }
+}
diff --git a/node_modules/puppeteer-core/src/api/ElementHandle.ts b/node_modules/puppeteer-core/src/api/ElementHandle.ts
index 0868e7b..2d481d2 100644
--- a/node_modules/puppeteer-core/src/api/ElementHandle.ts
+++ b/node_modules/puppeteer-core/src/api/ElementHandle.ts
@@ -135,7 +135,7 @@
  */
 
 export class ElementHandle<
-  ElementType extends Node = Element
+  ElementType extends Node = Element,
 > extends JSHandle<ElementType> {
   /**
    * @internal
@@ -195,7 +195,7 @@
     Func extends EvaluateFuncWith<ElementType, Params> = EvaluateFuncWith<
       ElementType,
       Params
-    >
+    >,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -211,7 +211,7 @@
     Func extends EvaluateFuncWith<ElementType, Params> = EvaluateFuncWith<
       ElementType,
       Params
-    >
+    >,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -329,7 +329,7 @@
     Func extends EvaluateFuncWith<NodeFor<Selector>, Params> = EvaluateFuncWith<
       NodeFor<Selector>,
       Params
-    >
+    >,
   >(
     selector: Selector,
     pageFunction: Func | string,
@@ -386,7 +386,7 @@
     Func extends EvaluateFuncWith<
       Array<NodeFor<Selector>>,
       Params
-    > = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>
+    > = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>,
   >(
     selector: Selector,
     pageFunction: Func | string,
@@ -394,9 +394,12 @@
   ): Promise<Awaited<ReturnType<Func>>> {
     pageFunction = withSourcePuppeteerURLIfNone(this.$$eval.name, pageFunction);
     const results = await this.$$(selector);
-    const elements = await this.evaluateHandle((_, ...elements) => {
-      return elements;
-    }, ...results);
+    const elements = await this.evaluateHandle(
+      (_, ...elements) => {
+        return elements;
+      },
+      ...results
+    );
     const [result] = await Promise.all([
       elements.evaluate(pageFunction, ...args),
       ...results.map(results => {
@@ -606,7 +609,7 @@
    * automatically disposed.**
    */
   async toElement<
-    K extends keyof HTMLElementTagNameMap | keyof SVGElementTagNameMap
+    K extends keyof HTMLElementTagNameMap | keyof SVGElementTagNameMap,
   >(tagName: K): Promise<HandleFor<ElementFor<K>>> {
     const isMatchingTagName = await this.evaluate((node, tagName) => {
       return node.nodeName === tagName.toUpperCase();
@@ -1039,4 +1042,48 @@
   assertElementHasWorld(): asserts this {
     assert(this.executionContext()._world);
   }
+
+  /**
+   * If the element is a form input, you can use {@link ElementHandle.autofill}
+   * to test if the form is compatible with the browser's autofill
+   * implementation. Throws an error if the form cannot be autofilled.
+   *
+   * @remarks
+   *
+   * Currently, Puppeteer supports auto-filling credit card information only and
+   * in Chrome in the new headless and headful modes only.
+   *
+   * ```ts
+   * // Select an input on the credit card form.
+   * const name = await page.waitForSelector('form #name');
+   * // Trigger autofill with the desired data.
+   * await name.autofill({
+   *   creditCard: {
+   *     number: '4444444444444444',
+   *     name: 'John Smith',
+   *     expiryMonth: '01',
+   *     expiryYear: '2030',
+   *     cvc: '123',
+   *   },
+   * });
+   * ```
+   */
+  autofill(data: AutofillData): Promise<void>;
+  autofill(): Promise<void> {
+    throw new Error('Not implemented');
+  }
+}
+
+/**
+ * @public
+ */
+export interface AutofillData {
+  creditCard: {
+    // See https://chromedevtools.github.io/devtools-protocol/tot/Autofill/#type-CreditCard.
+    number: string;
+    name: string;
+    expiryMonth: string;
+    expiryYear: string;
+    cvc: string;
+  };
 }
diff --git a/node_modules/puppeteer-core/src/api/Frame.ts b/node_modules/puppeteer-core/src/api/Frame.ts
index 851220d..ed10593 100644
--- a/node_modules/puppeteer-core/src/api/Frame.ts
+++ b/node_modules/puppeteer-core/src/api/Frame.ts
@@ -25,19 +25,22 @@
   IsolatedWorldChart,
   WaitForSelectorOptions,
 } from '../common/IsolatedWorld.js';
+import {LazyArg} from '../common/LazyArg.js';
 import {PuppeteerLifeCycleEvent} from '../common/LifecycleWatcher.js';
 import {
+  Awaitable,
   EvaluateFunc,
   EvaluateFuncWith,
   HandleFor,
   InnerLazyParams,
   NodeFor,
 } from '../common/types.js';
+import {importFSPromises} from '../common/util.js';
 import {TaskManager} from '../common/WaitTask.js';
 
 import {KeyboardTypeOptions} from './Input.js';
 import {JSHandle} from './JSHandle.js';
-import {Locator} from './Locator.js';
+import {Locator, FunctionLocator, NodeLocator} from './locators/locators.js';
 
 /**
  * @internal
@@ -48,7 +51,7 @@
     Params extends unknown[],
     Func extends EvaluateFunc<InnerLazyParams<Params>> = EvaluateFunc<
       InnerLazyParams<Params>
-    >
+    >,
   >(
     pageFunction: Func | string,
     options: {
@@ -63,14 +66,14 @@
   transferHandle<T extends JSHandle<Node>>(handle: T): Promise<T>;
   evaluateHandle<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
   ): Promise<HandleFor<Awaited<ReturnType<Func>>>>;
   evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -382,14 +385,14 @@
    */
   async evaluateHandle<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
   ): Promise<HandleFor<Awaited<ReturnType<Func>>>>;
   async evaluateHandle<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(): Promise<HandleFor<Awaited<ReturnType<Func>>>> {
     throw new Error('Not implemented');
   }
@@ -402,31 +405,49 @@
    */
   async evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
   ): Promise<Awaited<ReturnType<Func>>>;
   async evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(): Promise<Awaited<ReturnType<Func>>> {
     throw new Error('Not implemented');
   }
 
   /**
-   * Creates a locator for the provided `selector`. See {@link Locator} for
+   * Creates a locator for the provided selector. See {@link Locator} for
    * details and supported actions.
    *
    * @remarks
    * Locators API is experimental and we will not follow semver for breaking
    * change in the Locators API.
    */
-  locator(selector: string): Locator {
-    return Locator.create(this, selector);
-  }
+  locator<Selector extends string>(
+    selector: Selector
+  ): Locator<NodeFor<Selector>>;
 
   /**
+   * Creates a locator for the provided function. See {@link Locator} for
+   * details and supported actions.
+   *
+   * @remarks
+   * Locators API is experimental and we will not follow semver for breaking
+   * change in the Locators API.
+   */
+  locator<Ret>(func: () => Awaitable<Ret>): Locator<Ret>;
+  locator<Selector extends string, Ret>(
+    selectorOrFunc: Selector | (() => Awaitable<Ret>)
+  ): Locator<NodeFor<Selector>> | Locator<Ret> {
+    if (typeof selectorOrFunc === 'string') {
+      return NodeLocator.create(this, selectorOrFunc);
+    } else {
+      return FunctionLocator.create(this, selectorOrFunc);
+    }
+  }
+  /**
    * Queries the frame for an element matching the given selector.
    *
    * @param selector - The selector to query for.
@@ -484,7 +505,7 @@
     Func extends EvaluateFuncWith<NodeFor<Selector>, Params> = EvaluateFuncWith<
       NodeFor<Selector>,
       Params
-    >
+    >,
   >(
     selector: Selector,
     pageFunction: Func | string,
@@ -496,7 +517,7 @@
     Func extends EvaluateFuncWith<NodeFor<Selector>, Params> = EvaluateFuncWith<
       NodeFor<Selector>,
       Params
-    >
+    >,
   >(): Promise<Awaited<ReturnType<Func>>> {
     throw new Error('Not implemented');
   }
@@ -527,7 +548,7 @@
     Func extends EvaluateFuncWith<
       Array<NodeFor<Selector>>,
       Params
-    > = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>
+    > = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>,
   >(
     selector: Selector,
     pageFunction: Func | string,
@@ -539,7 +560,7 @@
     Func extends EvaluateFuncWith<
       Array<NodeFor<Selector>>,
       Params
-    > = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>
+    > = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>,
   >(): Promise<Awaited<ReturnType<Func>>> {
     throw new Error('Not implemented');
   }
@@ -674,7 +695,7 @@
    */
   waitForFunction<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     options: FrameWaitForFunctionOptions = {},
@@ -762,9 +783,64 @@
    */
   async addScriptTag(
     options: FrameAddScriptTagOptions
-  ): Promise<ElementHandle<HTMLScriptElement>>;
-  async addScriptTag(): Promise<ElementHandle<HTMLScriptElement>> {
-    throw new Error('Not implemented');
+  ): Promise<ElementHandle<HTMLScriptElement>> {
+    let {content = '', type} = options;
+    const {path} = options;
+    if (+!!options.url + +!!path + +!!content !== 1) {
+      throw new Error(
+        'Exactly one of `url`, `path`, or `content` must be specified.'
+      );
+    }
+
+    if (path) {
+      const fs = await importFSPromises();
+      content = await fs.readFile(path, 'utf8');
+      content += `//# sourceURL=${path.replace(/\n/g, '')}`;
+    }
+
+    type = type ?? 'text/javascript';
+
+    return this.mainRealm().transferHandle(
+      await this.isolatedRealm().evaluateHandle(
+        async ({Deferred}, {url, id, type, content}) => {
+          const deferred = Deferred.create<void>();
+          const script = document.createElement('script');
+          script.type = type;
+          script.text = content;
+          if (url) {
+            script.src = url;
+            script.addEventListener(
+              'load',
+              () => {
+                return deferred.resolve();
+              },
+              {once: true}
+            );
+            script.addEventListener(
+              'error',
+              event => {
+                deferred.reject(
+                  new Error(event.message ?? 'Could not load script')
+                );
+              },
+              {once: true}
+            );
+          } else {
+            deferred.resolve();
+          }
+          if (id) {
+            script.id = id;
+          }
+          document.head.appendChild(script);
+          await deferred.valueOrThrow();
+          return script;
+        },
+        LazyArg.create(context => {
+          return context.puppeteerUtil;
+        }),
+        {...options, type, content}
+      )
+    );
   }
 
   /**
@@ -780,10 +856,67 @@
   async addStyleTag(
     options: FrameAddStyleTagOptions
   ): Promise<ElementHandle<HTMLLinkElement>>;
-  async addStyleTag(): Promise<
-    ElementHandle<HTMLStyleElement | HTMLLinkElement>
-  > {
-    throw new Error('Not implemented');
+  async addStyleTag(
+    options: FrameAddStyleTagOptions
+  ): Promise<ElementHandle<HTMLStyleElement | HTMLLinkElement>> {
+    let {content = ''} = options;
+    const {path} = options;
+    if (+!!options.url + +!!path + +!!content !== 1) {
+      throw new Error(
+        'Exactly one of `url`, `path`, or `content` must be specified.'
+      );
+    }
+
+    if (path) {
+      const fs = await importFSPromises();
+
+      content = await fs.readFile(path, 'utf8');
+      content += '/*# sourceURL=' + path.replace(/\n/g, '') + '*/';
+      options.content = content;
+    }
+
+    return this.mainRealm().transferHandle(
+      await this.isolatedRealm().evaluateHandle(
+        async ({Deferred}, {url, content}) => {
+          const deferred = Deferred.create<void>();
+          let element: HTMLStyleElement | HTMLLinkElement;
+          if (!url) {
+            element = document.createElement('style');
+            element.appendChild(document.createTextNode(content!));
+          } else {
+            const link = document.createElement('link');
+            link.rel = 'stylesheet';
+            link.href = url;
+            element = link;
+          }
+          element.addEventListener(
+            'load',
+            () => {
+              deferred.resolve();
+            },
+            {once: true}
+          );
+          element.addEventListener(
+            'error',
+            event => {
+              deferred.reject(
+                new Error(
+                  (event as ErrorEvent).message ?? 'Could not load style'
+                )
+              );
+            },
+            {once: true}
+          );
+          document.head.appendChild(element);
+          await deferred.valueOrThrow();
+          return element;
+        },
+        LazyArg.create(context => {
+          return context.puppeteerUtil;
+        }),
+        options
+      )
+    );
   }
 
   /**
diff --git a/node_modules/puppeteer-core/src/api/HTTPRequest.ts b/node_modules/puppeteer-core/src/api/HTTPRequest.ts
index 8eb10d7..88af5f6 100644
--- a/node_modules/puppeteer-core/src/api/HTTPRequest.ts
+++ b/node_modules/puppeteer-core/src/api/HTTPRequest.ts
@@ -500,7 +500,7 @@
  * List taken from {@link https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml}
  * with extra 306 and 418 codes.
  */
-export const STATUS_TEXTS: {[key: string]: string | undefined} = {
+export const STATUS_TEXTS: Record<string, string | undefined> = {
   '100': 'Continue',
   '101': 'Switching Protocols',
   '102': 'Processing',
diff --git a/node_modules/puppeteer-core/src/api/JSHandle.ts b/node_modules/puppeteer-core/src/api/JSHandle.ts
index 8720fc0..20d53c6 100644
--- a/node_modules/puppeteer-core/src/api/JSHandle.ts
+++ b/node_modules/puppeteer-core/src/api/JSHandle.ts
@@ -22,8 +22,6 @@
 
 import {ElementHandle} from './ElementHandle.js';
 
-declare const __JSHandleSymbol: unique symbol;
-
 /**
  * Represents a reference to a JavaScript object. Instances can be created using
  * {@link Page.evaluateHandle}.
@@ -49,7 +47,7 @@
   /**
    * Used for nominally typing {@link JSHandle}.
    */
-  [__JSHandleSymbol]?: T;
+  declare _?: T;
 
   /**
    * @internal
@@ -82,7 +80,7 @@
    */
   async evaluate<
     Params extends unknown[],
-    Func extends EvaluateFuncWith<T, Params> = EvaluateFuncWith<T, Params>
+    Func extends EvaluateFuncWith<T, Params> = EvaluateFuncWith<T, Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -97,7 +95,7 @@
    */
   async evaluateHandle<
     Params extends unknown[],
-    Func extends EvaluateFuncWith<T, Params> = EvaluateFuncWith<T, Params>
+    Func extends EvaluateFuncWith<T, Params> = EvaluateFuncWith<T, Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
diff --git a/node_modules/puppeteer-core/src/api/Locator.ts b/node_modules/puppeteer-core/src/api/Locator.ts
deleted file mode 100644
index 62f4163..0000000
--- a/node_modules/puppeteer-core/src/api/Locator.ts
+++ /dev/null
@@ -1,803 +0,0 @@
-/**
- * Copyright 2023 Google Inc. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import {TimeoutError} from '../common/Errors.js';
-import {EventEmitter} from '../common/EventEmitter.js';
-import {debugError} from '../common/util.js';
-import {isErrorLike} from '../util/ErrorLike.js';
-
-import {ElementHandle, BoundingBox, ClickOptions} from './ElementHandle.js';
-import type {Frame} from './Frame.js';
-import type {Page} from './Page.js';
-
-/**
- * @public
- */
-export type VisibilityOption = 'hidden' | 'visible' | null;
-
-/**
- * @public
- */
-export interface LocatorOptions {
-  /**
-   * Whether to wait for the element to be `visible` or `hidden`. `null` to
-   * disable visibility checks.
-   */
-  visibility: VisibilityOption;
-  /**
-   * Total timeout for the entire locator operation.
-   *
-   * Pass `0` to disable timeout.
-   *
-   * @defaultValue `Page.getDefaultTimeout()`
-   */
-  timeout: number;
-  /**
-   * Whether to scroll the element into viewport if not in the viewprot already.
-   * @defaultValue `true`
-   */
-  ensureElementIsInTheViewport: boolean;
-  /**
-   * Whether to wait for input elements to become enabled before the action.
-   * Applicable to `click` and `fill` actions.
-   * @defaultValue `true`
-   */
-  waitForEnabled: boolean;
-  /**
-   * Whether to wait for the element's bounding box to be same between two
-   * animation frames.
-   * @defaultValue `true`
-   */
-  waitForStableBoundingBox: boolean;
-}
-
-/**
- * Timeout for individual operations inside the locator. On errors the
- * operation is retried as long as {@link Locator.setTimeout} is not
- * exceeded. This timeout should be generally much lower as locating an
- * element means multiple asynchronious operations.
- */
-const CONDITION_TIMEOUT = 1_000;
-const WAIT_FOR_FUNCTION_DELAY = 100;
-
-/**
- * @public
- */
-export type ActionCondition = (
-  element: ElementHandle,
-  signal: AbortSignal
-) => Promise<void>;
-
-/**
- * @public
- */
-export interface ActionOptions {
-  signal?: AbortSignal;
-  conditions: ActionCondition[];
-}
-
-/**
- * All the events that a locator instance may emit.
- *
- * @public
- */
-export enum LocatorEmittedEvents {
-  /**
-   * Emitted every time before the locator performs an action on the located element(s).
-   */
-  Action = 'action',
-}
-
-/**
- * @public
- */
-export interface LocatorEventObject {
-  [LocatorEmittedEvents.Action]: never;
-}
-
-/**
- * Locators describe a strategy of locating elements and performing an action on
- * them. If the action fails because the element is not ready for the action,
- * the whole operation is retried. Various preconditions for a successful action
- * are checked automatically.
- *
- * @public
- */
-export abstract class Locator extends EventEmitter {
-  /**
-   * @internal
-   */
-  static create(pageOrFrame: Page | Frame, selector: string): Locator {
-    return new LocatorImpl(pageOrFrame, selector).setTimeout(
-      'getDefaultTimeout' in pageOrFrame
-        ? pageOrFrame.getDefaultTimeout()
-        : pageOrFrame.page().getDefaultTimeout()
-    );
-  }
-
-  /**
-   * Creates a race between multiple locators but ensures that only a single one
-   * acts.
-   */
-  static race(locators: Locator[]): Locator {
-    return new RaceLocatorImpl(locators);
-  }
-
-  override on<K extends keyof LocatorEventObject>(
-    eventName: K,
-    handler: (event: LocatorEventObject[K]) => void
-  ): this {
-    return super.on(eventName, handler);
-  }
-
-  override once<K extends keyof LocatorEventObject>(
-    eventName: K,
-    handler: (event: LocatorEventObject[K]) => void
-  ): this {
-    return super.once(eventName, handler);
-  }
-
-  override off<K extends keyof LocatorEventObject>(
-    eventName: K,
-    handler: (event: LocatorEventObject[K]) => void
-  ): this {
-    return super.off(eventName, handler);
-  }
-
-  abstract setVisibility(visibility: VisibilityOption): this;
-
-  abstract setTimeout(timeout: number): this;
-
-  abstract setEnsureElementIsInTheViewport(value: boolean): this;
-
-  abstract setWaitForEnabled(value: boolean): this;
-
-  abstract setWaitForStableBoundingBox(value: boolean): this;
-
-  abstract click(
-    clickOptions?: ClickOptions & {
-      signal?: AbortSignal;
-    }
-  ): Promise<void>;
-
-  /**
-   * Fills out the input identified by the locator using the provided value. The
-   * type of the input is determined at runtime and the appropriate fill-out
-   * method is chosen based on the type. contenteditable, selector, inputs are
-   * supported.
-   */
-  abstract fill(
-    value: string,
-    fillOptions?: {signal?: AbortSignal}
-  ): Promise<void>;
-
-  abstract hover(hoverOptions?: {signal?: AbortSignal}): Promise<void>;
-
-  abstract scroll(scrollOptions?: {
-    scrollTop?: number;
-    scrollLeft?: number;
-    signal?: AbortSignal;
-  }): Promise<void>;
-}
-
-/**
- * @internal
- */
-export class LocatorImpl extends Locator {
-  #pageOrFrame: Page | Frame;
-  #selector: string;
-  #visibility: VisibilityOption = 'visible';
-  #timeout = 30_000;
-  #ensureElementIsInTheViewport = true;
-  #waitForEnabled = true;
-  #waitForStableBoundingBox = true;
-
-  constructor(pageOrFrame: Page | Frame, selector: string) {
-    super();
-    this.#pageOrFrame = pageOrFrame;
-    this.#selector = selector;
-  }
-
-  setVisibility(visibility: VisibilityOption): this {
-    this.#visibility = visibility;
-    return this;
-  }
-
-  setTimeout(timeout: number): this {
-    this.#timeout = timeout;
-    return this;
-  }
-
-  setEnsureElementIsInTheViewport(value: boolean): this {
-    this.#ensureElementIsInTheViewport = value;
-    return this;
-  }
-
-  setWaitForEnabled(value: boolean): this {
-    this.#waitForEnabled = value;
-    return this;
-  }
-
-  setWaitForStableBoundingBox(value: boolean): this {
-    this.#waitForStableBoundingBox = value;
-    return this;
-  }
-
-  /**
-   * Retries the `fn` until a truthy result is returned.
-   */
-  async #waitForFunction(
-    fn: (signal: AbortSignal) => unknown,
-    signal?: AbortSignal,
-    timeout = CONDITION_TIMEOUT
-  ): Promise<void> {
-    let isActive = true;
-    let controller: AbortController;
-    // If the loop times out, we abort only the last iteration's controller.
-    const timeoutId = timeout
-      ? setTimeout(() => {
-          isActive = false;
-          controller?.abort();
-        }, timeout)
-      : 0;
-    // If the user's signal aborts, we abort the last iteration and the loop.
-    signal?.addEventListener(
-      'abort',
-      () => {
-        controller?.abort();
-        isActive = false;
-        clearTimeout(timeoutId);
-      },
-      {once: true}
-    );
-    while (isActive) {
-      controller = new AbortController();
-      try {
-        const result = await fn(controller.signal);
-        if (result) {
-          clearTimeout(timeoutId);
-          return;
-        }
-      } catch (err) {
-        if (isErrorLike(err)) {
-          debugError(err);
-          // Retry on all timeouts.
-          if (err instanceof TimeoutError) {
-            continue;
-          }
-          // Abort error are ignored as they only affect one iteration.
-          if (err.name === 'AbortError') {
-            continue;
-          }
-        }
-        throw err;
-      } finally {
-        // We abort any operations that might have been started by `fn`, because
-        // the iteration is now over.
-        controller.abort();
-      }
-      await new Promise(resolve => {
-        return setTimeout(resolve, WAIT_FOR_FUNCTION_DELAY);
-      });
-    }
-    signal?.throwIfAborted();
-    throw new TimeoutError(
-      `waitForFunction timed out. The timeout is ${timeout}ms.`
-    );
-  }
-
-  /**
-   * Checks if the element is in the viewport and auto-scrolls it if it is not.
-   */
-  #ensureElementIsInTheViewportIfNeeded = async (
-    element: ElementHandle,
-    signal?: AbortSignal
-  ): Promise<void> => {
-    if (!this.#ensureElementIsInTheViewport) {
-      return;
-    }
-    // Side-effect: this also checks if it is connected.
-    const isIntersectingViewport = await element.isIntersectingViewport({
-      threshold: 0,
-    });
-    signal?.throwIfAborted();
-    if (!isIntersectingViewport) {
-      await element.scrollIntoView();
-      signal?.throwIfAborted();
-      await this.#waitForFunction(async () => {
-        return await element.isIntersectingViewport({
-          threshold: 0,
-        });
-      }, signal);
-      signal?.throwIfAborted();
-    }
-  };
-
-  /**
-   * Waits for the element to become visible or hidden. visibility === 'visible'
-   * means that the element has a computed style, the visibility property other
-   * than 'hidden' or 'collapse' and non-empty bounding box. visibility ===
-   * 'hidden' means the opposite of that.
-   */
-  #waitForVisibilityIfNeeded = async (
-    element: ElementHandle,
-    signal?: AbortSignal
-  ): Promise<void> => {
-    if (this.#visibility === null) {
-      return;
-    }
-    if (this.#visibility === 'hidden') {
-      await this.#waitForFunction(async () => {
-        return element.isHidden();
-      }, signal);
-    }
-    await this.#waitForFunction(async () => {
-      return element.isVisible();
-    }, signal);
-  };
-
-  /**
-   * If the element is a button, textarea, input or select, wait till the
-   * element becomes enabled.
-   */
-  #waitForEnabledIfNeeded = async (
-    element: ElementHandle,
-    signal?: AbortSignal
-  ): Promise<void> => {
-    if (!this.#waitForEnabled) {
-      return;
-    }
-    await this.#pageOrFrame.waitForFunction(
-      el => {
-        if (['button', 'textarea', 'input', 'select'].includes(el.tagName)) {
-          return !(el as HTMLInputElement).disabled;
-        }
-        return true;
-      },
-      {
-        timeout: CONDITION_TIMEOUT,
-        signal,
-      },
-      element
-    );
-  };
-
-  /**
-   * Compares the bounding box of the element for two consecutive animation
-   * frames and waits till they are the same.
-   */
-  #waitForStableBoundingBoxIfNeeded = async (
-    element: ElementHandle,
-    signal?: AbortSignal
-  ): Promise<void> => {
-    if (!this.#waitForStableBoundingBox) {
-      return;
-    }
-    function getClientRect() {
-      return element.evaluate(el => {
-        return new Promise<[BoundingBox, BoundingBox]>(resolve => {
-          window.requestAnimationFrame(() => {
-            const rect1 = el.getBoundingClientRect();
-            window.requestAnimationFrame(() => {
-              const rect2 = el.getBoundingClientRect();
-              resolve([
-                {
-                  x: rect1.x,
-                  y: rect1.y,
-                  width: rect1.width,
-                  height: rect1.height,
-                },
-                {
-                  x: rect2.x,
-                  y: rect2.y,
-                  width: rect2.width,
-                  height: rect2.height,
-                },
-              ]);
-            });
-          });
-        });
-      });
-    }
-    await this.#waitForFunction(async () => {
-      const [rect1, rect2] = await getClientRect();
-      return (
-        rect1.x === rect2.x &&
-        rect1.y === rect2.y &&
-        rect1.width === rect2.width &&
-        rect1.height === rect2.height
-      );
-    }, signal);
-  };
-
-  async #run(
-    action: (el: ElementHandle) => Promise<void>,
-    options?: ActionOptions
-  ) {
-    await this.#waitForFunction(
-      async signal => {
-        // 1. Select the element without visibility checks.
-        const element = await this.#pageOrFrame.waitForSelector(
-          this.#selector,
-          {
-            visible: false,
-            timeout: this.#timeout,
-            signal,
-          }
-        );
-        // Retry if no element is found.
-        if (!element) {
-          return false;
-        }
-        try {
-          signal?.throwIfAborted();
-          // 2. Perform action specific checks.
-          await Promise.all(
-            options?.conditions.map(check => {
-              return check(element, signal);
-            }) || []
-          );
-          signal?.throwIfAborted();
-          // 3. Perform the action
-          this.emit(LocatorEmittedEvents.Action);
-          await action(element);
-          return true;
-        } finally {
-          void element.dispose().catch(debugError);
-        }
-      },
-      options?.signal,
-      this.#timeout
-    );
-  }
-
-  async click(
-    clickOptions?: ClickOptions & {
-      signal?: AbortSignal;
-    }
-  ): Promise<void> {
-    return await this.#run(
-      async element => {
-        await element.click(clickOptions);
-      },
-      {
-        signal: clickOptions?.signal,
-        conditions: [
-          this.#ensureElementIsInTheViewportIfNeeded,
-          this.#waitForVisibilityIfNeeded,
-          this.#waitForEnabledIfNeeded,
-          this.#waitForStableBoundingBoxIfNeeded,
-        ],
-      }
-    );
-  }
-
-  /**
-   * Fills out the input identified by the locator using the provided value. The
-   * type of the input is determined at runtime and the appropriate fill-out
-   * method is chosen based on the type. contenteditable, selector, inputs are
-   * supported.
-   */
-  async fill(
-    value: string,
-    fillOptions?: {signal?: AbortSignal}
-  ): Promise<void> {
-    return await this.#run(
-      async element => {
-        const input = element as ElementHandle<HTMLElement>;
-        const inputType = await input.evaluate(el => {
-          if (el instanceof HTMLSelectElement) {
-            return 'select';
-          }
-          if (el instanceof HTMLInputElement) {
-            if (
-              new Set([
-                'textarea',
-                'text',
-                'url',
-                'tel',
-                'search',
-                'password',
-                'number',
-                'email',
-              ]).has(el.type)
-            ) {
-              return 'typeable-input';
-            } else {
-              return 'other-input';
-            }
-          }
-
-          if (el.isContentEditable) {
-            return 'contenteditable';
-          }
-
-          return 'unknown';
-        });
-
-        switch (inputType) {
-          case 'select':
-            await input.select(value);
-            break;
-          case 'contenteditable':
-          case 'typeable-input':
-            const textToType = await (
-              input as ElementHandle<HTMLInputElement>
-            ).evaluate((input, newValue) => {
-              const currentValue = input.isContentEditable
-                ? input.innerText
-                : input.value;
-
-              // Clear the input if the current value does not match the filled
-              // out value.
-              if (
-                newValue.length <= currentValue.length ||
-                !newValue.startsWith(input.value)
-              ) {
-                if (input.isContentEditable) {
-                  input.innerText = '';
-                } else {
-                  input.value = '';
-                }
-                return newValue;
-              }
-              const originalValue = input.isContentEditable
-                ? input.innerText
-                : input.value;
-
-              // If the value is partially filled out, only type the rest. Move
-              // cursor to the end of the common prefix.
-              if (input.isContentEditable) {
-                input.innerText = '';
-                input.innerText = originalValue;
-              } else {
-                input.value = '';
-                input.value = originalValue;
-              }
-              return newValue.substring(originalValue.length);
-            }, value);
-            await input.type(textToType);
-            break;
-          case 'other-input':
-            await input.focus();
-            await input.evaluate((input, value) => {
-              (input as HTMLInputElement).value = value;
-              input.dispatchEvent(new Event('input', {bubbles: true}));
-              input.dispatchEvent(new Event('change', {bubbles: true}));
-            }, value);
-            break;
-          case 'unknown':
-            throw new Error(`Element cannot be filled out.`);
-        }
-      },
-      {
-        signal: fillOptions?.signal,
-        conditions: [
-          this.#ensureElementIsInTheViewportIfNeeded,
-          this.#waitForVisibilityIfNeeded,
-          this.#waitForEnabledIfNeeded,
-          this.#waitForStableBoundingBoxIfNeeded,
-        ],
-      }
-    );
-  }
-
-  async hover(hoverOptions?: {signal?: AbortSignal}): Promise<void> {
-    return await this.#run(
-      async element => {
-        await element.hover();
-      },
-      {
-        signal: hoverOptions?.signal,
-        conditions: [
-          this.#ensureElementIsInTheViewportIfNeeded,
-          this.#waitForVisibilityIfNeeded,
-          this.#waitForStableBoundingBoxIfNeeded,
-        ],
-      }
-    );
-  }
-
-  async scroll(scrollOptions?: {
-    scrollTop?: number;
-    scrollLeft?: number;
-    signal?: AbortSignal;
-  }): Promise<void> {
-    return await this.#run(
-      async element => {
-        await element.evaluate(
-          (el, scrollTop, scrollLeft) => {
-            if (scrollTop !== undefined) {
-              el.scrollTop = scrollTop;
-            }
-            if (scrollLeft !== undefined) {
-              el.scrollLeft = scrollLeft;
-            }
-          },
-          scrollOptions?.scrollTop,
-          scrollOptions?.scrollLeft
-        );
-      },
-      {
-        signal: scrollOptions?.signal,
-        conditions: [
-          this.#ensureElementIsInTheViewportIfNeeded,
-          this.#waitForVisibilityIfNeeded,
-          this.#waitForStableBoundingBoxIfNeeded,
-        ],
-      }
-    );
-  }
-}
-
-/**
- * @internal
- */
-class RaceLocatorImpl extends Locator {
-  #locators: Locator[];
-
-  constructor(locators: Locator[]) {
-    super();
-    this.#locators = locators;
-  }
-
-  override setVisibility(visibility: VisibilityOption): this {
-    for (const locator of this.#locators) {
-      locator.setVisibility(visibility);
-    }
-    return this;
-  }
-
-  override setTimeout(timeout: number): this {
-    for (const locator of this.#locators) {
-      locator.setTimeout(timeout);
-    }
-    return this;
-  }
-
-  override setEnsureElementIsInTheViewport(value: boolean): this {
-    for (const locator of this.#locators) {
-      locator.setEnsureElementIsInTheViewport(value);
-    }
-    return this;
-  }
-
-  override setWaitForEnabled(value: boolean): this {
-    for (const locator of this.#locators) {
-      locator.setWaitForEnabled(value);
-    }
-    return this;
-  }
-
-  override setWaitForStableBoundingBox(value: boolean): this {
-    for (const locator of this.#locators) {
-      locator.setWaitForStableBoundingBox(value);
-    }
-    return this;
-  }
-
-  async #runRace(
-    action: (el: Locator, abortSignal: AbortSignal) => Promise<void>,
-    options: {
-      signal?: AbortSignal;
-    }
-  ) {
-    const abortControllers = new WeakMap<Locator, AbortController>();
-
-    // Abort all locators if the user-provided signal aborts.
-    options.signal?.addEventListener('abort', () => {
-      for (const locator of this.#locators) {
-        abortControllers.get(locator)?.abort();
-      }
-    });
-
-    const handleLocatorAction = (locator: Locator): (() => void) => {
-      return () => {
-        // When one locator is ready to act, we will abort other locators.
-        for (const other of this.#locators) {
-          if (other !== locator) {
-            abortControllers.get(other)?.abort();
-          }
-        }
-        this.emit(LocatorEmittedEvents.Action);
-      };
-    };
-
-    const createAbortController = (locator: Locator): AbortController => {
-      const abortController = new AbortController();
-      abortControllers.set(locator, abortController);
-      return abortController;
-    };
-
-    await Promise.allSettled(
-      this.#locators.map(locator => {
-        return action(
-          locator.on(LocatorEmittedEvents.Action, handleLocatorAction(locator)),
-          createAbortController(locator).signal
-        );
-      })
-    );
-
-    options.signal?.throwIfAborted();
-  }
-
-  override async click(
-    clickOptions?: ClickOptions & {
-      signal?: AbortSignal;
-    }
-  ): Promise<void> {
-    return await this.#runRace(
-      (locator, abortSignal) => {
-        return locator.click({
-          ...clickOptions,
-          signal: abortSignal,
-        });
-      },
-      {
-        signal: clickOptions?.signal,
-      }
-    );
-  }
-
-  override async fill(
-    value: string,
-    fillOptions?: {signal?: AbortSignal}
-  ): Promise<void> {
-    return await this.#runRace(
-      (locator, abortSignal) => {
-        return locator.fill(value, {
-          ...fillOptions,
-          signal: abortSignal,
-        });
-      },
-      {
-        signal: fillOptions?.signal,
-      }
-    );
-  }
-
-  override async hover(hoverOptions?: {signal?: AbortSignal}): Promise<void> {
-    return await this.#runRace(
-      (locator, abortSignal) => {
-        return locator.hover({
-          ...hoverOptions,
-          signal: abortSignal,
-        });
-      },
-      {
-        signal: hoverOptions?.signal,
-      }
-    );
-  }
-
-  override async scroll(scrollOptions?: {
-    scrollTop?: number;
-    scrollLeft?: number;
-    signal?: AbortSignal;
-  }): Promise<void> {
-    return await this.#runRace(
-      (locator, abortSignal) => {
-        return locator.scroll({
-          ...scrollOptions,
-          signal: abortSignal,
-        });
-      },
-      {
-        signal: scrollOptions?.signal,
-      }
-    );
-  }
-}
diff --git a/node_modules/puppeteer-core/src/api/Page.ts b/node_modules/puppeteer-core/src/api/Page.ts
index ec11ab0..9d366f6 100644
--- a/node_modules/puppeteer-core/src/api/Page.ts
+++ b/node_modules/puppeteer-core/src/api/Page.ts
@@ -21,11 +21,11 @@
 import type {HTTPRequest} from '../api/HTTPRequest.js';
 import type {HTTPResponse} from '../api/HTTPResponse.js';
 import type {Accessibility} from '../common/Accessibility.js';
+import type {CDPSession} from '../common/Connection.js';
 import type {ConsoleMessage} from '../common/ConsoleMessage.js';
 import type {Coverage} from '../common/Coverage.js';
 import {Device} from '../common/Device.js';
 import {DeviceRequestPrompt} from '../common/DeviceRequestPrompt.js';
-import type {Dialog} from '../common/Dialog.js';
 import {TargetCloseError} from '../common/Errors.js';
 import {EventEmitter, Handler} from '../common/EventEmitter.js';
 import type {FileChooser} from '../common/FileChooser.js';
@@ -43,9 +43,9 @@
   PDFOptions,
 } from '../common/PDFOptions.js';
 import type {Viewport} from '../common/PuppeteerViewport.js';
-import type {Target} from '../common/Target.js';
 import type {Tracing} from '../common/Tracing.js';
 import type {
+  Awaitable,
   EvaluateFunc,
   EvaluateFuncWith,
   HandleFor,
@@ -64,6 +64,7 @@
 
 import type {Browser} from './Browser.js';
 import type {BrowserContext} from './BrowserContext.js';
+import type {Dialog} from './Dialog.js';
 import type {ClickOptions, ElementHandle} from './ElementHandle.js';
 import type {
   Frame,
@@ -71,9 +72,15 @@
   FrameAddStyleTagOptions,
   FrameWaitForFunctionOptions,
 } from './Frame.js';
-import {Keyboard, Mouse, Touchscreen, KeyboardTypeOptions} from './Input.js';
+import {Keyboard, KeyboardTypeOptions, Mouse, Touchscreen} from './Input.js';
 import type {JSHandle} from './JSHandle.js';
-import {Locator} from './Locator.js';
+import {
+  AwaitedLocator,
+  FunctionLocator,
+  Locator,
+  NodeLocator,
+} from './locators/locators.js';
+import type {Target} from './Target.js';
 
 /**
  * @public
@@ -623,6 +630,13 @@
   }
 
   /**
+   * Creates a Chrome Devtools Protocol session attached to the page.
+   */
+  createCDPSession(): Promise<CDPSession> {
+    throw new Error('Not implemented');
+  }
+
+  /**
    * {@inheritDoc Keyboard}
    */
   get keyboard(): Keyboard {
@@ -824,15 +838,34 @@
   }
 
   /**
-   * Creates a locator for the provided `selector`. See {@link Locator} for
+   * Creates a locator for the provided selector. See {@link Locator} for
    * details and supported actions.
    *
    * @remarks
    * Locators API is experimental and we will not follow semver for breaking
    * change in the Locators API.
    */
-  locator(selector: string): Locator {
-    return Locator.create(this, selector);
+  locator<Selector extends string>(
+    selector: Selector
+  ): Locator<NodeFor<Selector>>;
+
+  /**
+   * Creates a locator for the provided function. See {@link Locator} for
+   * details and supported actions.
+   *
+   * @remarks
+   * Locators API is experimental and we will not follow semver for breaking
+   * change in the Locators API.
+   */
+  locator<Ret>(func: () => Awaitable<Ret>): Locator<Ret>;
+  locator<Selector extends string, Ret>(
+    selectorOrFunc: Selector | (() => Awaitable<Ret>)
+  ): Locator<NodeFor<Selector>> | Locator<Ret> {
+    if (typeof selectorOrFunc === 'string') {
+      return NodeLocator.create(this, selectorOrFunc);
+    } else {
+      return FunctionLocator.create(this, selectorOrFunc);
+    }
   }
 
   /**
@@ -840,7 +873,9 @@
    *
    * @internal
    */
-  locatorRace(locators: Locator[]): Locator {
+  locatorRace<Locators extends readonly unknown[] | []>(
+    locators: Locators
+  ): Locator<AwaitedLocator<Locators[number]>> {
     return Locator.race(locators);
   }
 
@@ -930,14 +965,14 @@
    */
   async evaluateHandle<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
   ): Promise<HandleFor<Awaited<ReturnType<Func>>>>;
   async evaluateHandle<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(): Promise<HandleFor<Awaited<ReturnType<Func>>>> {
     throw new Error('Not implemented');
   }
@@ -1040,7 +1075,7 @@
     Func extends EvaluateFuncWith<NodeFor<Selector>, Params> = EvaluateFuncWith<
       NodeFor<Selector>,
       Params
-    >
+    >,
   >(
     selector: Selector,
     pageFunction: Func | string,
@@ -1118,7 +1153,7 @@
     Func extends EvaluateFuncWith<
       Array<NodeFor<Selector>>,
       Params
-    > = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>
+    > = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>,
   >(
     selector: Selector,
     pageFunction: Func | string,
@@ -1183,9 +1218,8 @@
    */
   async addScriptTag(
     options: FrameAddScriptTagOptions
-  ): Promise<ElementHandle<HTMLScriptElement>>;
-  async addScriptTag(): Promise<ElementHandle<HTMLScriptElement>> {
-    throw new Error('Not implemented');
+  ): Promise<ElementHandle<HTMLScriptElement>> {
+    return this.mainFrame().addScriptTag(options);
   }
 
   /**
@@ -1206,11 +1240,8 @@
   ): Promise<ElementHandle<HTMLLinkElement>>;
   async addStyleTag(
     options: FrameAddStyleTagOptions
-  ): Promise<ElementHandle<HTMLStyleElement | HTMLLinkElement>>;
-  async addStyleTag(): Promise<
-    ElementHandle<HTMLStyleElement | HTMLLinkElement>
-  > {
-    throw new Error('Not implemented');
+  ): Promise<ElementHandle<HTMLStyleElement | HTMLLinkElement>> {
+    return this.mainFrame().addStyleTag(options);
   }
 
   /**
@@ -2167,14 +2198,14 @@
    */
   async evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
   ): Promise<Awaited<ReturnType<Func>>>;
   async evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(): Promise<Awaited<ReturnType<Func>>> {
     throw new Error('Not implemented');
   }
@@ -2213,7 +2244,7 @@
    */
   async evaluateOnNewDocument<
     Params extends unknown[],
-    Func extends (...args: Params) => unknown = (...args: Params) => unknown
+    Func extends (...args: Params) => unknown = (...args: Params) => unknown,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -2709,9 +2740,8 @@
   waitForXPath(
     xpath: string,
     options?: WaitForSelectorOptions
-  ): Promise<ElementHandle<Node> | null>;
-  waitForXPath(): Promise<ElementHandle<Node> | null> {
-    throw new Error('Not implemented');
+  ): Promise<ElementHandle<Node> | null> {
+    return this.mainFrame().waitForXPath(xpath, options);
   }
 
   /**
@@ -2773,7 +2803,7 @@
    */
   waitForFunction<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     options?: FrameWaitForFunctionOptions,
diff --git a/node_modules/puppeteer-core/src/api/Target.ts b/node_modules/puppeteer-core/src/api/Target.ts
new file mode 100644
index 0000000..e699835
--- /dev/null
+++ b/node_modules/puppeteer-core/src/api/Target.ts
@@ -0,0 +1,106 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import type {Browser} from '../api/Browser.js';
+import type {BrowserContext} from '../api/BrowserContext.js';
+import {Page} from '../api/Page.js';
+import {CDPSession} from '../common/Connection.js';
+import {WebWorker} from '../common/WebWorker.js';
+
+/**
+ * @public
+ */
+export enum TargetType {
+  PAGE = 'page',
+  BACKGROUND_PAGE = 'background_page',
+  SERVICE_WORKER = 'service_worker',
+  SHARED_WORKER = 'shared_worker',
+  BROWSER = 'browser',
+  WEBVIEW = 'webview',
+  OTHER = 'other',
+}
+
+/**
+ * Target represents a
+ * {@link https://chromedevtools.github.io/devtools-protocol/tot/Target/ | CDP target}.
+ * In CDP a target is something that can be debugged such a frame, a page or a
+ * worker.
+ * @public
+ */
+export class Target {
+  /**
+   * @internal
+   */
+  protected constructor() {}
+
+  /**
+   * If the target is not of type `"service_worker"` or `"shared_worker"`, returns `null`.
+   */
+  async worker(): Promise<WebWorker | null> {
+    return null;
+  }
+
+  /**
+   * If the target is not of type `"page"`, `"webview"` or `"background_page"`,
+   * returns `null`.
+   */
+  async page(): Promise<Page | null> {
+    return null;
+  }
+
+  url(): string {
+    throw new Error('not implemented');
+  }
+
+  /**
+   * Creates a Chrome Devtools Protocol session attached to the target.
+   */
+  createCDPSession(): Promise<CDPSession> {
+    throw new Error('not implemented');
+  }
+
+  /**
+   * Identifies what kind of target this is.
+   *
+   * @remarks
+   *
+   * See {@link https://developer.chrome.com/extensions/background_pages | docs} for more info about background pages.
+   */
+  type(): TargetType {
+    throw new Error('not implemented');
+  }
+
+  /**
+   * Get the browser the target belongs to.
+   */
+  browser(): Browser {
+    throw new Error('not implemented');
+  }
+
+  /**
+   * Get the browser context the target belongs to.
+   */
+  browserContext(): BrowserContext {
+    throw new Error('not implemented');
+  }
+
+  /**
+   * Get the target that opened this target. Top-level targets return `null`.
+   */
+  opener(): Target | undefined {
+    throw new Error('not implemented');
+  }
+}
diff --git a/node_modules/puppeteer-core/src/api/api.ts b/node_modules/puppeteer-core/src/api/api.ts
index f4bcd2e..13b50ba 100644
--- a/node_modules/puppeteer-core/src/api/api.ts
+++ b/node_modules/puppeteer-core/src/api/api.ts
@@ -16,6 +16,7 @@
 
 export * from './Browser.js';
 export * from './BrowserContext.js';
+export * from './Dialog.js';
 export * from './Page.js';
 export * from './JSHandle.js';
 export * from './ElementHandle.js';
@@ -23,4 +24,5 @@
 export * from './Frame.js';
 export * from './HTTPResponse.js';
 export * from './HTTPRequest.js';
-export * from './Locator.js';
+export * from './locators/locators.js';
+export * from './Target.js';
diff --git a/node_modules/puppeteer-core/src/api/locators/DelegatedLocator.ts b/node_modules/puppeteer-core/src/api/locators/DelegatedLocator.ts
new file mode 100644
index 0000000..53d9526
--- /dev/null
+++ b/node_modules/puppeteer-core/src/api/locators/DelegatedLocator.ts
@@ -0,0 +1,97 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import {Observable} from '../../../third_party/rxjs/rxjs.js';
+import {HandleFor} from '../../common/common.js';
+
+import {Locator, VisibilityOption} from './locators.js';
+
+/**
+ * @internal
+ */
+export abstract class DelegatedLocator<T, U> extends Locator<U> {
+  #delegate: Locator<T>;
+
+  constructor(delegate: Locator<T>) {
+    super();
+
+    this.#delegate = delegate;
+    this.copyOptions(this.#delegate);
+  }
+
+  protected get delegate(): Locator<T> {
+    return this.#delegate;
+  }
+
+  override setTimeout(timeout: number): DelegatedLocator<T, U> {
+    const locator = super.setTimeout(timeout) as DelegatedLocator<T, U>;
+    locator.#delegate = this.#delegate.setTimeout(timeout);
+    return locator;
+  }
+
+  override setVisibility<ValueType extends Node, NodeType extends Node>(
+    this: DelegatedLocator<ValueType, NodeType>,
+    visibility: VisibilityOption
+  ): DelegatedLocator<ValueType, NodeType> {
+    const locator = super.setVisibility<NodeType>(
+      visibility
+    ) as DelegatedLocator<ValueType, NodeType>;
+    locator.#delegate = locator.#delegate.setVisibility<ValueType>(visibility);
+    return locator;
+  }
+
+  override setWaitForEnabled<ValueType extends Node, NodeType extends Node>(
+    this: DelegatedLocator<ValueType, NodeType>,
+    value: boolean
+  ): DelegatedLocator<ValueType, NodeType> {
+    const locator = super.setWaitForEnabled<NodeType>(
+      value
+    ) as DelegatedLocator<ValueType, NodeType>;
+    locator.#delegate = this.#delegate.setWaitForEnabled(value);
+    return locator;
+  }
+
+  override setEnsureElementIsInTheViewport<
+    ValueType extends Element,
+    ElementType extends Element,
+  >(
+    this: DelegatedLocator<ValueType, ElementType>,
+    value: boolean
+  ): DelegatedLocator<ValueType, ElementType> {
+    const locator = super.setEnsureElementIsInTheViewport<ElementType>(
+      value
+    ) as DelegatedLocator<ValueType, ElementType>;
+    locator.#delegate = this.#delegate.setEnsureElementIsInTheViewport(value);
+    return locator;
+  }
+
+  override setWaitForStableBoundingBox<
+    ValueType extends Element,
+    ElementType extends Element,
+  >(
+    this: DelegatedLocator<ValueType, ElementType>,
+    value: boolean
+  ): DelegatedLocator<ValueType, ElementType> {
+    const locator = super.setWaitForStableBoundingBox<ElementType>(
+      value
+    ) as DelegatedLocator<ValueType, ElementType>;
+    locator.#delegate = this.#delegate.setWaitForStableBoundingBox(value);
+    return locator;
+  }
+
+  abstract override _clone(): DelegatedLocator<T, U>;
+  abstract override _wait(): Observable<HandleFor<U>>;
+}
diff --git a/node_modules/puppeteer-core/src/api/locators/FilteredLocator.ts b/node_modules/puppeteer-core/src/api/locators/FilteredLocator.ts
new file mode 100644
index 0000000..ca2a9da
--- /dev/null
+++ b/node_modules/puppeteer-core/src/api/locators/FilteredLocator.ts
@@ -0,0 +1,77 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import {
+  Observable,
+  from,
+  map,
+  mergeMap,
+  throwIfEmpty,
+} from '../../../third_party/rxjs/rxjs.js';
+import {Awaitable, HandleFor} from '../../common/common.js';
+import {ElementHandle} from '../ElementHandle.js';
+
+import {DelegatedLocator} from './DelegatedLocator.js';
+import {ActionOptions, Locator} from './locators.js';
+
+/**
+ * @public
+ */
+export type Predicate<From, To extends From = From> =
+  | ((value: From) => value is To)
+  | ((value: From) => Awaitable<boolean>);
+
+/**
+ * @internal
+ */
+export class FilteredLocator<From, To extends From> extends DelegatedLocator<
+  From,
+  To
+> {
+  #predicate: Predicate<From, To>;
+
+  constructor(base: Locator<From>, predicate: Predicate<From, To>) {
+    super(base);
+    this.#predicate = predicate;
+  }
+
+  override _clone(): FilteredLocator<From, To> {
+    return new FilteredLocator(
+      this.delegate.clone(),
+      this.#predicate
+    ).copyOptions(this);
+  }
+
+  override _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<To>> {
+    return this.delegate._wait(options).pipe(
+      mergeMap(handle => {
+        return from(
+          (handle as ElementHandle<Node>).frame.waitForFunction(
+            this.#predicate,
+            {signal: options?.signal, timeout: this._timeout},
+            handle
+          )
+        ).pipe(
+          map(() => {
+            // SAFETY: It passed the predicate, so this is correct.
+            return handle as HandleFor<To>;
+          })
+        );
+      }),
+      throwIfEmpty()
+    );
+  }
+}
diff --git a/node_modules/puppeteer-core/src/api/locators/FunctionLocator.ts b/node_modules/puppeteer-core/src/api/locators/FunctionLocator.ts
new file mode 100644
index 0000000..eed0410
--- /dev/null
+++ b/node_modules/puppeteer-core/src/api/locators/FunctionLocator.ts
@@ -0,0 +1,69 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import {
+  Observable,
+  defer,
+  from,
+  throwIfEmpty,
+} from '../../../third_party/rxjs/rxjs.js';
+import {Awaitable, HandleFor} from '../../common/types.js';
+import {Frame} from '../Frame.js';
+import {Page} from '../Page.js';
+
+import {ActionOptions, Locator} from './locators.js';
+
+/**
+ * @internal
+ */
+export class FunctionLocator<T> extends Locator<T> {
+  static create<Ret>(
+    pageOrFrame: Page | Frame,
+    func: () => Awaitable<Ret>
+  ): Locator<Ret> {
+    return new FunctionLocator<Ret>(pageOrFrame, func).setTimeout(
+      'getDefaultTimeout' in pageOrFrame
+        ? pageOrFrame.getDefaultTimeout()
+        : pageOrFrame.page().getDefaultTimeout()
+    );
+  }
+
+  #pageOrFrame: Page | Frame;
+  #func: () => Awaitable<T>;
+
+  private constructor(pageOrFrame: Page | Frame, func: () => Awaitable<T>) {
+    super();
+
+    this.#pageOrFrame = pageOrFrame;
+    this.#func = func;
+  }
+
+  override _clone(): FunctionLocator<T> {
+    return new FunctionLocator(this.#pageOrFrame, this.#func);
+  }
+
+  _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<T>> {
+    const signal = options?.signal;
+    return defer(() => {
+      return from(
+        this.#pageOrFrame.waitForFunction(this.#func, {
+          timeout: this.timeout,
+          signal,
+        })
+      );
+    }).pipe(throwIfEmpty());
+  }
+}
diff --git a/node_modules/puppeteer-core/src/api/locators/Locator.ts b/node_modules/puppeteer-core/src/api/locators/Locator.ts
new file mode 100644
index 0000000..19a769c
--- /dev/null
+++ b/node_modules/puppeteer-core/src/api/locators/Locator.ts
@@ -0,0 +1,753 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import {
+  EMPTY,
+  Observable,
+  OperatorFunction,
+  catchError,
+  defaultIfEmpty,
+  defer,
+  filter,
+  first,
+  firstValueFrom,
+  from,
+  fromEvent,
+  identity,
+  ignoreElements,
+  map,
+  merge,
+  mergeMap,
+  noop,
+  pipe,
+  raceWith,
+  retry,
+  tap,
+  timer,
+} from '../../../third_party/rxjs/rxjs.js';
+import {TimeoutError} from '../../common/Errors.js';
+import {EventEmitter} from '../../common/EventEmitter.js';
+import {HandleFor} from '../../common/types.js';
+import {debugError} from '../../common/util.js';
+import {BoundingBox, ClickOptions, ElementHandle} from '../ElementHandle.js';
+
+import {
+  Action,
+  AwaitedLocator,
+  FilteredLocator,
+  MappedLocator,
+  Mapper,
+  Predicate,
+  RaceLocator,
+} from './locators.js';
+
+/**
+ * For observables coming from promises, a delay is needed, otherwise RxJS will
+ * never yield in a permanent failure for a promise.
+ *
+ * We also don't want RxJS to do promise operations to often, so we bump the
+ * delay up to 100ms.
+ *
+ * @internal
+ */
+export const RETRY_DELAY = 100;
+
+/**
+ * @public
+ */
+export type VisibilityOption = 'hidden' | 'visible' | null;
+
+/**
+ * @public
+ */
+export interface LocatorOptions {
+  /**
+   * Whether to wait for the element to be `visible` or `hidden`. `null` to
+   * disable visibility checks.
+   */
+  visibility: VisibilityOption;
+  /**
+   * Total timeout for the entire locator operation.
+   *
+   * Pass `0` to disable timeout.
+   *
+   * @defaultValue `Page.getDefaultTimeout()`
+   */
+  timeout: number;
+  /**
+   * Whether to scroll the element into viewport if not in the viewprot already.
+   * @defaultValue `true`
+   */
+  ensureElementIsInTheViewport: boolean;
+  /**
+   * Whether to wait for input elements to become enabled before the action.
+   * Applicable to `click` and `fill` actions.
+   * @defaultValue `true`
+   */
+  waitForEnabled: boolean;
+  /**
+   * Whether to wait for the element's bounding box to be same between two
+   * animation frames.
+   * @defaultValue `true`
+   */
+  waitForStableBoundingBox: boolean;
+}
+
+/**
+ * @public
+ */
+export interface ActionOptions {
+  signal?: AbortSignal;
+}
+
+/**
+ * @public
+ */
+export type LocatorClickOptions = ClickOptions & ActionOptions;
+
+/**
+ * @public
+ */
+export interface LocatorScrollOptions extends ActionOptions {
+  scrollTop?: number;
+  scrollLeft?: number;
+}
+
+/**
+ * All the events that a locator instance may emit.
+ *
+ * @public
+ */
+export enum LocatorEmittedEvents {
+  /**
+   * Emitted every time before the locator performs an action on the located element(s).
+   */
+  Action = 'action',
+}
+
+/**
+ * @public
+ */
+export interface LocatorEventObject {
+  [LocatorEmittedEvents.Action]: never;
+}
+
+/**
+ * Locators describe a strategy of locating objects and performing an action on
+ * them. If the action fails because the object is not ready for the action, the
+ * whole operation is retried. Various preconditions for a successful action are
+ * checked automatically.
+ *
+ * @public
+ */
+export abstract class Locator<T> extends EventEmitter {
+  /**
+   * Creates a race between multiple locators but ensures that only a single one
+   * acts.
+   *
+   * @public
+   */
+  static race<Locators extends readonly unknown[] | []>(
+    locators: Locators
+  ): Locator<AwaitedLocator<Locators[number]>> {
+    return RaceLocator.create(locators);
+  }
+
+  /**
+   * Used for nominally typing {@link Locator}.
+   */
+  declare _?: T;
+
+  /**
+   * @internal
+   */
+  protected visibility: VisibilityOption = null;
+  /**
+   * @internal
+   */
+  protected _timeout = 30_000;
+  #ensureElementIsInTheViewport = true;
+  #waitForEnabled = true;
+  #waitForStableBoundingBox = true;
+
+  /**
+   * @internal
+   */
+  protected operators = {
+    conditions: (
+      conditions: Array<Action<T, never>>,
+      signal?: AbortSignal
+    ): OperatorFunction<HandleFor<T>, HandleFor<T>> => {
+      return mergeMap((handle: HandleFor<T>) => {
+        return merge(
+          ...conditions.map(condition => {
+            return condition(handle, signal);
+          })
+        ).pipe(defaultIfEmpty(handle));
+      });
+    },
+    retryAndRaceWithSignalAndTimer: <T>(
+      signal?: AbortSignal
+    ): OperatorFunction<T, T> => {
+      const candidates = [];
+      if (signal) {
+        candidates.push(
+          fromEvent(signal, 'abort').pipe(
+            map(() => {
+              throw signal.reason;
+            })
+          )
+        );
+      }
+      if (this._timeout > 0) {
+        candidates.push(
+          timer(this._timeout).pipe(
+            map(() => {
+              throw new TimeoutError(
+                `Timed out after waiting ${this._timeout}ms`
+              );
+            })
+          )
+        );
+      }
+      return pipe(
+        retry({delay: RETRY_DELAY}),
+        raceWith<T, never[]>(...candidates)
+      );
+    },
+  };
+
+  // Determines when the locator will timeout for actions.
+  get timeout(): number {
+    return this._timeout;
+  }
+
+  override on<K extends keyof LocatorEventObject>(
+    eventName: K,
+    handler: (event: LocatorEventObject[K]) => void
+  ): this {
+    return super.on(eventName, handler);
+  }
+
+  override once<K extends keyof LocatorEventObject>(
+    eventName: K,
+    handler: (event: LocatorEventObject[K]) => void
+  ): this {
+    return super.once(eventName, handler);
+  }
+
+  override off<K extends keyof LocatorEventObject>(
+    eventName: K,
+    handler: (event: LocatorEventObject[K]) => void
+  ): this {
+    return super.off(eventName, handler);
+  }
+
+  setTimeout(timeout: number): Locator<T> {
+    const locator = this._clone();
+    locator._timeout = timeout;
+    return locator;
+  }
+
+  setVisibility<NodeType extends Node>(
+    this: Locator<NodeType>,
+    visibility: VisibilityOption
+  ): Locator<NodeType> {
+    const locator = this._clone();
+    locator.visibility = visibility;
+    return locator;
+  }
+
+  setWaitForEnabled<NodeType extends Node>(
+    this: Locator<NodeType>,
+    value: boolean
+  ): Locator<NodeType> {
+    const locator = this._clone();
+    locator.#waitForEnabled = value;
+    return locator;
+  }
+
+  setEnsureElementIsInTheViewport<ElementType extends Element>(
+    this: Locator<ElementType>,
+    value: boolean
+  ): Locator<ElementType> {
+    const locator = this._clone();
+    locator.#ensureElementIsInTheViewport = value;
+    return locator;
+  }
+
+  setWaitForStableBoundingBox<ElementType extends Element>(
+    this: Locator<ElementType>,
+    value: boolean
+  ): Locator<ElementType> {
+    const locator = this._clone();
+    locator.#waitForStableBoundingBox = value;
+    return locator;
+  }
+
+  /**
+   * @internal
+   */
+  copyOptions<T>(locator: Locator<T>): this {
+    this._timeout = locator._timeout;
+    this.visibility = locator.visibility;
+    this.#waitForEnabled = locator.#waitForEnabled;
+    this.#ensureElementIsInTheViewport = locator.#ensureElementIsInTheViewport;
+    this.#waitForStableBoundingBox = locator.#waitForStableBoundingBox;
+    return this;
+  }
+
+  /**
+   * If the element has a "disabled" property, wait for the element to be
+   * enabled.
+   */
+  #waitForEnabledIfNeeded = <ElementType extends Node>(
+    handle: HandleFor<ElementType>,
+    signal?: AbortSignal
+  ): Observable<never> => {
+    if (!this.#waitForEnabled) {
+      return EMPTY;
+    }
+    return from(
+      handle.frame.waitForFunction(
+        element => {
+          if (!(element instanceof HTMLElement)) {
+            return true;
+          }
+          const isNativeFormControl = [
+            'BUTTON',
+            'INPUT',
+            'SELECT',
+            'TEXTAREA',
+            'OPTION',
+            'OPTGROUP',
+          ].includes(element.nodeName);
+          return !isNativeFormControl || !element.hasAttribute('disabled');
+        },
+        {
+          timeout: this._timeout,
+          signal,
+        },
+        handle
+      )
+    ).pipe(ignoreElements());
+  };
+
+  /**
+   * Compares the bounding box of the element for two consecutive animation
+   * frames and waits till they are the same.
+   */
+  #waitForStableBoundingBoxIfNeeded = <ElementType extends Element>(
+    handle: HandleFor<ElementType>
+  ): Observable<never> => {
+    if (!this.#waitForStableBoundingBox) {
+      return EMPTY;
+    }
+    return defer(() => {
+      // Note we don't use waitForFunction because that relies on RAF.
+      return from(
+        handle.evaluate(element => {
+          return new Promise<[BoundingBox, BoundingBox]>(resolve => {
+            window.requestAnimationFrame(() => {
+              const rect1 = element.getBoundingClientRect();
+              window.requestAnimationFrame(() => {
+                const rect2 = element.getBoundingClientRect();
+                resolve([
+                  {
+                    x: rect1.x,
+                    y: rect1.y,
+                    width: rect1.width,
+                    height: rect1.height,
+                  },
+                  {
+                    x: rect2.x,
+                    y: rect2.y,
+                    width: rect2.width,
+                    height: rect2.height,
+                  },
+                ]);
+              });
+            });
+          });
+        })
+      );
+    }).pipe(
+      first(([rect1, rect2]) => {
+        return (
+          rect1.x === rect2.x &&
+          rect1.y === rect2.y &&
+          rect1.width === rect2.width &&
+          rect1.height === rect2.height
+        );
+      }),
+      retry({delay: RETRY_DELAY}),
+      ignoreElements()
+    );
+  };
+
+  /**
+   * Checks if the element is in the viewport and auto-scrolls it if it is not.
+   */
+  #ensureElementIsInTheViewportIfNeeded = <ElementType extends Element>(
+    handle: HandleFor<ElementType>
+  ): Observable<never> => {
+    if (!this.#ensureElementIsInTheViewport) {
+      return EMPTY;
+    }
+    return from(handle.isIntersectingViewport({threshold: 0})).pipe(
+      filter(isIntersectingViewport => {
+        return !isIntersectingViewport;
+      }),
+      mergeMap(() => {
+        return from(handle.scrollIntoView());
+      }),
+      mergeMap(() => {
+        return defer(() => {
+          return from(handle.isIntersectingViewport({threshold: 0}));
+        }).pipe(first(identity), retry({delay: RETRY_DELAY}), ignoreElements());
+      })
+    );
+  };
+
+  #click<ElementType extends Element>(
+    this: Locator<ElementType>,
+    options?: Readonly<LocatorClickOptions>
+  ): Observable<void> {
+    const signal = options?.signal;
+    return this._wait(options).pipe(
+      this.operators.conditions(
+        [
+          this.#ensureElementIsInTheViewportIfNeeded,
+          this.#waitForStableBoundingBoxIfNeeded,
+          this.#waitForEnabledIfNeeded,
+        ],
+        signal
+      ),
+      tap(() => {
+        return this.emit(LocatorEmittedEvents.Action);
+      }),
+      mergeMap(handle => {
+        return from(handle.click(options)).pipe(
+          catchError((_, caught) => {
+            void handle.dispose().catch(debugError);
+            return caught;
+          })
+        );
+      }),
+      this.operators.retryAndRaceWithSignalAndTimer(signal)
+    );
+  }
+
+  #fill<ElementType extends Element>(
+    this: Locator<ElementType>,
+    value: string,
+    options?: Readonly<ActionOptions>
+  ): Observable<void> {
+    const signal = options?.signal;
+    return this._wait(options).pipe(
+      this.operators.conditions(
+        [
+          this.#ensureElementIsInTheViewportIfNeeded,
+          this.#waitForStableBoundingBoxIfNeeded,
+          this.#waitForEnabledIfNeeded,
+        ],
+        signal
+      ),
+      tap(() => {
+        return this.emit(LocatorEmittedEvents.Action);
+      }),
+      mergeMap(handle => {
+        return from(
+          (handle as unknown as ElementHandle<HTMLElement>).evaluate(el => {
+            if (el instanceof HTMLSelectElement) {
+              return 'select';
+            }
+            if (el instanceof HTMLInputElement) {
+              if (
+                new Set([
+                  'textarea',
+                  'text',
+                  'url',
+                  'tel',
+                  'search',
+                  'password',
+                  'number',
+                  'email',
+                ]).has(el.type)
+              ) {
+                return 'typeable-input';
+              } else {
+                return 'other-input';
+              }
+            }
+
+            if (el.isContentEditable) {
+              return 'contenteditable';
+            }
+
+            return 'unknown';
+          })
+        )
+          .pipe(
+            mergeMap(inputType => {
+              switch (inputType) {
+                case 'select':
+                  return from(handle.select(value).then(noop));
+                case 'contenteditable':
+                case 'typeable-input':
+                  return from(
+                    (
+                      handle as unknown as ElementHandle<HTMLInputElement>
+                    ).evaluate((input, newValue) => {
+                      const currentValue = input.isContentEditable
+                        ? input.innerText
+                        : input.value;
+
+                      // Clear the input if the current value does not match the filled
+                      // out value.
+                      if (
+                        newValue.length <= currentValue.length ||
+                        !newValue.startsWith(input.value)
+                      ) {
+                        if (input.isContentEditable) {
+                          input.innerText = '';
+                        } else {
+                          input.value = '';
+                        }
+                        return newValue;
+                      }
+                      const originalValue = input.isContentEditable
+                        ? input.innerText
+                        : input.value;
+
+                      // If the value is partially filled out, only type the rest. Move
+                      // cursor to the end of the common prefix.
+                      if (input.isContentEditable) {
+                        input.innerText = '';
+                        input.innerText = originalValue;
+                      } else {
+                        input.value = '';
+                        input.value = originalValue;
+                      }
+                      return newValue.substring(originalValue.length);
+                    }, value)
+                  ).pipe(
+                    mergeMap(textToType => {
+                      return from(handle.type(textToType));
+                    })
+                  );
+                case 'other-input':
+                  return from(handle.focus()).pipe(
+                    mergeMap(() => {
+                      return from(
+                        handle.evaluate((input, value) => {
+                          (input as HTMLInputElement).value = value;
+                          input.dispatchEvent(
+                            new Event('input', {bubbles: true})
+                          );
+                          input.dispatchEvent(
+                            new Event('change', {bubbles: true})
+                          );
+                        }, value)
+                      );
+                    })
+                  );
+                case 'unknown':
+                  throw new Error(`Element cannot be filled out.`);
+              }
+            })
+          )
+          .pipe(
+            catchError((_, caught) => {
+              void handle.dispose().catch(debugError);
+              return caught;
+            })
+          );
+      }),
+      this.operators.retryAndRaceWithSignalAndTimer(signal)
+    );
+  }
+
+  #hover<ElementType extends Element>(
+    this: Locator<ElementType>,
+    options?: Readonly<ActionOptions>
+  ): Observable<void> {
+    const signal = options?.signal;
+    return this._wait(options).pipe(
+      this.operators.conditions(
+        [
+          this.#ensureElementIsInTheViewportIfNeeded,
+          this.#waitForStableBoundingBoxIfNeeded,
+        ],
+        signal
+      ),
+      tap(() => {
+        return this.emit(LocatorEmittedEvents.Action);
+      }),
+      mergeMap(handle => {
+        return from(handle.hover()).pipe(
+          catchError((_, caught) => {
+            void handle.dispose().catch(debugError);
+            return caught;
+          })
+        );
+      }),
+      this.operators.retryAndRaceWithSignalAndTimer(signal)
+    );
+  }
+
+  #scroll<ElementType extends Element>(
+    this: Locator<ElementType>,
+    options?: Readonly<LocatorScrollOptions>
+  ): Observable<void> {
+    const signal = options?.signal;
+    return this._wait(options).pipe(
+      this.operators.conditions(
+        [
+          this.#ensureElementIsInTheViewportIfNeeded,
+          this.#waitForStableBoundingBoxIfNeeded,
+        ],
+        signal
+      ),
+      tap(() => {
+        return this.emit(LocatorEmittedEvents.Action);
+      }),
+      mergeMap(handle => {
+        return from(
+          handle.evaluate(
+            (el, scrollTop, scrollLeft) => {
+              if (scrollTop !== undefined) {
+                el.scrollTop = scrollTop;
+              }
+              if (scrollLeft !== undefined) {
+                el.scrollLeft = scrollLeft;
+              }
+            },
+            options?.scrollTop,
+            options?.scrollLeft
+          )
+        ).pipe(
+          catchError((_, caught) => {
+            void handle.dispose().catch(debugError);
+            return caught;
+          })
+        );
+      }),
+      this.operators.retryAndRaceWithSignalAndTimer(signal)
+    );
+  }
+
+  /**
+   * @internal
+   */
+  abstract _clone(): Locator<T>;
+
+  /**
+   * @internal
+   */
+  abstract _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<T>>;
+
+  /**
+   * Clones the locator.
+   */
+  clone(): Locator<T> {
+    return this._clone();
+  }
+
+  /**
+   * Waits for the locator to get a handle from the page.
+   *
+   * @public
+   */
+  async waitHandle(options?: Readonly<ActionOptions>): Promise<HandleFor<T>> {
+    return await firstValueFrom(
+      this._wait(options).pipe(
+        this.operators.retryAndRaceWithSignalAndTimer(options?.signal)
+      )
+    );
+  }
+
+  /**
+   * Waits for the locator to get the serialized value from the page.
+   *
+   * Note this requires the value to be JSON-serializable.
+   *
+   * @public
+   */
+  async wait(options?: Readonly<ActionOptions>): Promise<T> {
+    const handle = await this.waitHandle(options);
+    try {
+      return await handle.jsonValue();
+    } finally {
+      void handle.dispose().catch(debugError);
+    }
+  }
+
+  /**
+   * Maps the locator using the provided mapper.
+   *
+   * @public
+   */
+  map<To>(mapper: Mapper<T, To>): Locator<To> {
+    return new MappedLocator(this._clone(), mapper);
+  }
+
+  /**
+   * Creates an expectation that is evaluated against located values.
+   *
+   * If the expectations do not match, then the locator will retry.
+   *
+   * @public
+   */
+  filter<S extends T>(predicate: Predicate<T, S>): Locator<S> {
+    return new FilteredLocator(this._clone(), predicate);
+  }
+
+  click<ElementType extends Element>(
+    this: Locator<ElementType>,
+    options?: Readonly<LocatorClickOptions>
+  ): Promise<void> {
+    return firstValueFrom(this.#click(options));
+  }
+
+  /**
+   * Fills out the input identified by the locator using the provided value. The
+   * type of the input is determined at runtime and the appropriate fill-out
+   * method is chosen based on the type. contenteditable, selector, inputs are
+   * supported.
+   */
+  fill<ElementType extends Element>(
+    this: Locator<ElementType>,
+    value: string,
+    options?: Readonly<ActionOptions>
+  ): Promise<void> {
+    return firstValueFrom(this.#fill(value, options));
+  }
+
+  hover<ElementType extends Element>(
+    this: Locator<ElementType>,
+    options?: Readonly<ActionOptions>
+  ): Promise<void> {
+    return firstValueFrom(this.#hover(options));
+  }
+
+  scroll<ElementType extends Element>(
+    this: Locator<ElementType>,
+    options?: Readonly<LocatorScrollOptions>
+  ): Promise<void> {
+    return firstValueFrom(this.#scroll(options));
+  }
+}
diff --git a/node_modules/puppeteer-core/src/api/locators/MappedLocator.ts b/node_modules/puppeteer-core/src/api/locators/MappedLocator.ts
new file mode 100644
index 0000000..4d71a9a
--- /dev/null
+++ b/node_modules/puppeteer-core/src/api/locators/MappedLocator.ts
@@ -0,0 +1,52 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import {Observable, from, mergeMap} from '../../../third_party/rxjs/rxjs.js';
+import {Awaitable, HandleFor} from '../../common/common.js';
+import {JSHandle} from '../JSHandle.js';
+
+import {ActionOptions, DelegatedLocator, Locator} from './locators.js';
+
+/**
+ * @public
+ */
+export type Mapper<From, To> = (value: From) => Awaitable<To>;
+
+/**
+ * @internal
+ */
+export class MappedLocator<From, To> extends DelegatedLocator<From, To> {
+  #mapper: Mapper<From, To>;
+
+  constructor(base: Locator<From>, mapper: Mapper<From, To>) {
+    super(base);
+    this.#mapper = mapper;
+  }
+
+  override _clone(): MappedLocator<From, To> {
+    return new MappedLocator(this.delegate.clone(), this.#mapper).copyOptions(
+      this
+    );
+  }
+
+  override _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<To>> {
+    return this.delegate._wait(options).pipe(
+      mergeMap(handle => {
+        return from((handle as JSHandle<From>).evaluateHandle(this.#mapper));
+      })
+    );
+  }
+}
diff --git a/node_modules/puppeteer-core/src/api/locators/NodeLocator.ts b/node_modules/puppeteer-core/src/api/locators/NodeLocator.ts
new file mode 100644
index 0000000..ca98569
--- /dev/null
+++ b/node_modules/puppeteer-core/src/api/locators/NodeLocator.ts
@@ -0,0 +1,117 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import {
+  EMPTY,
+  Observable,
+  defer,
+  filter,
+  first,
+  from,
+  identity,
+  ignoreElements,
+  retry,
+  throwIfEmpty,
+} from '../../../third_party/rxjs/rxjs.js';
+import {HandleFor, NodeFor} from '../../common/types.js';
+import {Frame} from '../Frame.js';
+import {Page} from '../Page.js';
+
+import {ActionOptions, Locator, RETRY_DELAY} from './locators.js';
+
+/**
+ * @internal
+ */
+export type Action<T, U> = (
+  element: HandleFor<T>,
+  signal?: AbortSignal
+) => Observable<U>;
+
+/**
+ * @internal
+ */
+export class NodeLocator<T extends Node> extends Locator<T> {
+  static create<Selector extends string>(
+    pageOrFrame: Page | Frame,
+    selector: Selector
+  ): Locator<NodeFor<Selector>> {
+    return new NodeLocator<NodeFor<Selector>>(pageOrFrame, selector).setTimeout(
+      'getDefaultTimeout' in pageOrFrame
+        ? pageOrFrame.getDefaultTimeout()
+        : pageOrFrame.page().getDefaultTimeout()
+    );
+  }
+
+  #pageOrFrame: Page | Frame;
+  #selector: string;
+
+  private constructor(pageOrFrame: Page | Frame, selector: string) {
+    super();
+
+    this.#pageOrFrame = pageOrFrame;
+    this.#selector = selector;
+  }
+
+  /**
+   * Waits for the element to become visible or hidden. visibility === 'visible'
+   * means that the element has a computed style, the visibility property other
+   * than 'hidden' or 'collapse' and non-empty bounding box. visibility ===
+   * 'hidden' means the opposite of that.
+   */
+  #waitForVisibilityIfNeeded = (handle: HandleFor<T>): Observable<never> => {
+    if (!this.visibility) {
+      return EMPTY;
+    }
+
+    return (() => {
+      switch (this.visibility) {
+        case 'hidden':
+          return defer(() => {
+            return from(handle.isHidden());
+          });
+        case 'visible':
+          return defer(() => {
+            return from(handle.isVisible());
+          });
+      }
+    })().pipe(first(identity), retry({delay: RETRY_DELAY}), ignoreElements());
+  };
+
+  override _clone(): NodeLocator<T> {
+    return new NodeLocator<T>(this.#pageOrFrame, this.#selector).copyOptions(
+      this
+    );
+  }
+
+  override _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<T>> {
+    const signal = options?.signal;
+    return defer(() => {
+      return from(
+        this.#pageOrFrame.waitForSelector(this.#selector, {
+          visible: false,
+          timeout: this._timeout,
+          signal,
+        }) as Promise<HandleFor<T> | null>
+      );
+    }).pipe(
+      filter((value): value is NonNullable<typeof value> => {
+        return value !== null;
+      }),
+      throwIfEmpty(),
+      this.operators.conditions([this.#waitForVisibilityIfNeeded], signal)
+    );
+  }
+}
diff --git a/node_modules/puppeteer-core/src/api/locators/RaceLocator.ts b/node_modules/puppeteer-core/src/api/locators/RaceLocator.ts
new file mode 100644
index 0000000..e0d5c22
--- /dev/null
+++ b/node_modules/puppeteer-core/src/api/locators/RaceLocator.ts
@@ -0,0 +1,71 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import {Observable, race} from '../../../third_party/rxjs/rxjs.js';
+import {HandleFor} from '../../puppeteer-core.js';
+
+import {ActionOptions, Locator} from './locators.js';
+
+/**
+ * @public
+ */
+export type AwaitedLocator<T> = T extends Locator<infer S> ? S : never;
+
+function checkLocatorArray<T extends readonly unknown[] | []>(
+  locators: T
+): ReadonlyArray<Locator<AwaitedLocator<T[number]>>> {
+  for (const locator of locators) {
+    if (!(locator instanceof Locator)) {
+      throw new Error('Unknown locator for race candidate');
+    }
+  }
+  return locators as ReadonlyArray<Locator<AwaitedLocator<T[number]>>>;
+}
+
+/**
+ * @internal
+ */
+export class RaceLocator<T> extends Locator<T> {
+  static create<T extends readonly unknown[]>(
+    locators: T
+  ): Locator<AwaitedLocator<T[number]>> {
+    const array = checkLocatorArray(locators);
+    return new RaceLocator(array);
+  }
+
+  #locators: ReadonlyArray<Locator<T>>;
+
+  constructor(locators: ReadonlyArray<Locator<T>>) {
+    super();
+    this.#locators = locators;
+  }
+
+  override _clone(): RaceLocator<T> {
+    return new RaceLocator<T>(
+      this.#locators.map(locator => {
+        return locator.clone();
+      })
+    ).copyOptions(this);
+  }
+
+  override _wait(options?: Readonly<ActionOptions>): Observable<HandleFor<T>> {
+    return race(
+      ...this.#locators.map(locator => {
+        return locator._wait(options);
+      })
+    );
+  }
+}
diff --git a/node_modules/puppeteer-core/src/api/locators/locators.ts b/node_modules/puppeteer-core/src/api/locators/locators.ts
new file mode 100644
index 0000000..7270bd3
--- /dev/null
+++ b/node_modules/puppeteer-core/src/api/locators/locators.ts
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+export * from './Locator.js';
+export * from './NodeLocator.js';
+export * from './FilteredLocator.js';
+export * from './RaceLocator.js';
+export * from './DelegatedLocator.js';
+export * from './MappedLocator.js';
+export * from './FunctionLocator.js';
diff --git a/node_modules/puppeteer-core/src/common/AriaQueryHandler.ts b/node_modules/puppeteer-core/src/common/AriaQueryHandler.ts
index ac32237..7db9178 100644
--- a/node_modules/puppeteer-core/src/common/AriaQueryHandler.ts
+++ b/node_modules/puppeteer-core/src/common/AriaQueryHandler.ts
@@ -40,7 +40,10 @@
   });
 };
 
-type ARIASelector = {name?: string; role?: string};
+interface ARIASelector {
+  name?: string;
+  role?: string;
+}
 
 const KNOWN_ATTRIBUTES = Object.freeze(['name', 'role']);
 const isKnownAttribute = (
diff --git a/node_modules/puppeteer-core/src/common/Browser.ts b/node_modules/puppeteer-core/src/common/Browser.ts
index 10926fb..6a0df70 100644
--- a/node_modules/puppeteer-core/src/common/Browser.ts
+++ b/node_modules/puppeteer-core/src/common/Browser.ts
@@ -27,13 +27,12 @@
   BrowserContextEmittedEvents,
   BrowserContextOptions,
   WEB_PERMISSION_TO_PROTOCOL_PERMISSION,
-  WaitForTargetOptions,
   Permission,
 } from '../api/Browser.js';
 import {BrowserContext} from '../api/BrowserContext.js';
 import {Page} from '../api/Page.js';
+import {Target} from '../api/Target.js';
 import {assert} from '../util/assert.js';
-import {Deferred} from '../util/Deferred.js';
 
 import {ChromeTargetManager} from './ChromeTargetManager.js';
 import {CDPSession, Connection, ConnectionEmittedEvents} from './Connection.js';
@@ -43,12 +42,11 @@
   InitializationStatus,
   OtherTarget,
   PageTarget,
-  Target,
+  CDPTarget,
   WorkerTarget,
 } from './Target.js';
 import {TargetManager, TargetManagerEmittedEvents} from './TargetManager.js';
 import {TaskQueue} from './TaskQueue.js';
-import {waitWithTimeout} from './util.js';
 
 /**
  * @internal
@@ -97,7 +95,7 @@
   /**
    * @internal
    */
-  override get _targets(): Map<string, Target> {
+  override get _targets(): Map<string, CDPTarget> {
     return this.#targetManager.getAvailableTargets();
   }
 
@@ -226,11 +224,11 @@
   #setIsPageTargetCallback(isPageTargetCallback?: IsPageTargetCallback): void {
     this.#isPageTargetCallback =
       isPageTargetCallback ||
-      ((target: Protocol.Target.TargetInfo): boolean => {
+      ((target: Target): boolean => {
         return (
-          target.type === 'page' ||
-          target.type === 'background_page' ||
-          target.type === 'webview'
+          target.type() === 'page' ||
+          target.type() === 'background_page' ||
+          target.type() === 'webview'
         );
       });
   }
@@ -326,7 +324,14 @@
     const createSession = (isAutoAttachEmulated: boolean) => {
       return this.#connection._createSession(targetInfo, isAutoAttachEmulated);
     };
-    if (this.#isPageTargetCallback(targetInfo)) {
+    const targetForFilter = new OtherTarget(
+      targetInfo,
+      session,
+      context,
+      this.#targetManager,
+      createSession
+    );
+    if (this.#isPageTargetCallback(targetForFilter)) {
       return new PageTarget(
         targetInfo,
         session,
@@ -359,7 +364,7 @@
     );
   };
 
-  #onAttachedToTarget = async (target: Target) => {
+  #onAttachedToTarget = async (target: CDPTarget) => {
     if (
       (await target._initializedDeferred.valueOrThrow()) ===
       InitializationStatus.SUCCESS
@@ -371,7 +376,7 @@
     }
   };
 
-  #onDetachedFromTarget = async (target: Target): Promise<void> => {
+  #onDetachedFromTarget = async (target: CDPTarget): Promise<void> => {
     target._initializedDeferred.resolve(InitializationStatus.ABORTED);
     target._isClosedDeferred.resolve();
     if (
@@ -385,7 +390,7 @@
     }
   };
 
-  #onTargetChanged = ({target}: {target: Target}): void => {
+  #onTargetChanged = ({target}: {target: CDPTarget}): void => {
     this.emit(BrowserEmittedEvents.TargetChanged, target);
     target
       .browserContext()
@@ -456,7 +461,7 @@
    * All active targets inside the Browser. In case of multiple browser contexts, returns
    * an array with all the targets in all browser contexts.
    */
-  override targets(): Target[] {
+  override targets(): CDPTarget[] {
     return Array.from(
       this.#targetManager.getAvailableTargets().values()
     ).filter(target => {
@@ -469,7 +474,7 @@
   /**
    * The target associated with the browser.
    */
-  override target(): Target {
+  override target(): CDPTarget {
     const browserTarget = this.targets().find(target => {
       return target.type() === 'browser';
     });
@@ -479,54 +484,6 @@
     return browserTarget;
   }
 
-  /**
-   * Searches for a target in all browser contexts.
-   *
-   * @param predicate - A function to be run for every target.
-   * @returns The first target found that matches the `predicate` function.
-   *
-   * @example
-   *
-   * An example of finding a target for a page opened via `window.open`:
-   *
-   * ```ts
-   * await page.evaluate(() => window.open('https://www.example.com/'));
-   * const newWindowTarget = await browser.waitForTarget(
-   *   target => target.url() === 'https://www.example.com/'
-   * );
-   * ```
-   */
-  override async waitForTarget(
-    predicate: (x: Target) => boolean | Promise<boolean>,
-    options: WaitForTargetOptions = {}
-  ): Promise<Target> {
-    const {timeout = 30000} = options;
-    const targetDeferred = Deferred.create<Target | PromiseLike<Target>>();
-
-    this.on(BrowserEmittedEvents.TargetCreated, check);
-    this.on(BrowserEmittedEvents.TargetChanged, check);
-    try {
-      this.targets().forEach(check);
-      if (!timeout) {
-        return await targetDeferred.valueOrThrow();
-      }
-      return await waitWithTimeout(
-        targetDeferred.valueOrThrow(),
-        'target',
-        timeout
-      );
-    } finally {
-      this.off(BrowserEmittedEvents.TargetCreated, check);
-      this.off(BrowserEmittedEvents.TargetChanged, check);
-    }
-
-    async function check(target: Target): Promise<void> {
-      if ((await predicate(target)) && !targetDeferred.resolved()) {
-        targetDeferred.resolve(target);
-      }
-    }
-  }
-
   override async version(): Promise<string> {
     const version = await this.#getVersion();
     return version.product;
@@ -589,7 +546,7 @@
   /**
    * An array of all active targets inside the browser context.
    */
-  override targets(): Target[] {
+  override targets(): CDPTarget[] {
     return this.#browser.targets().filter(target => {
       return target.browserContext() === this;
     });
@@ -629,7 +586,7 @@
    *
    * @returns Promise which resolves to an array of all open pages.
    * Non visible pages, such as `"background_page"`, will not be listed here.
-   * You can find them using {@link Target.page | the target page}.
+   * You can find them using {@link CDPTarget.page | the target page}.
    */
   override async pages(): Promise<Page[]> {
     const pages = await Promise.all(
@@ -638,9 +595,7 @@
           return (
             target.type() === 'page' ||
             (target.type() === 'other' &&
-              this.#browser._getIsPageTargetCallback()?.(
-                target._getTargetInfo()
-              ))
+              this.#browser._getIsPageTargetCallback()?.(target))
           );
         })
         .map(target => {
diff --git a/node_modules/puppeteer-core/src/common/ChromeTargetManager.ts b/node_modules/puppeteer-core/src/common/ChromeTargetManager.ts
index 98869c5..e31e14f 100644
--- a/node_modules/puppeteer-core/src/common/ChromeTargetManager.ts
+++ b/node_modules/puppeteer-core/src/common/ChromeTargetManager.ts
@@ -22,7 +22,7 @@
 
 import {CDPSession, Connection} from './Connection.js';
 import {EventEmitter} from './EventEmitter.js';
-import {InitializationStatus, Target} from './Target.js';
+import {InitializationStatus, CDPTarget} from './Target.js';
 import {
   TargetInterceptor,
   TargetFactory,
@@ -50,17 +50,16 @@
    *
    * `targetFilterCallback` has no effect on this map.
    */
-  #discoveredTargetsByTargetId: Map<string, Protocol.Target.TargetInfo> =
-    new Map();
+  #discoveredTargetsByTargetId = new Map<string, Protocol.Target.TargetInfo>();
   /**
    * A target is added to this map once ChromeTargetManager has created
    * a Target and attached at least once to it.
    */
-  #attachedTargetsByTargetId: Map<string, Target> = new Map();
+  #attachedTargetsByTargetId = new Map<string, CDPTarget>();
   /**
    * Tracks which sessions attach to which target.
    */
-  #attachedTargetsBySessionId: Map<string, Target> = new Map();
+  #attachedTargetsBySessionId = new Map<string, CDPTarget>();
   /**
    * If a target was filtered out by `targetFilterCallback`, we still receive
    * events about it from CDP, but we don't forward them to the rest of Puppeteer.
@@ -69,20 +68,22 @@
   #targetFilterCallback: TargetFilterCallback | undefined;
   #targetFactory: TargetFactory;
 
-  #targetInterceptors: WeakMap<CDPSession | Connection, TargetInterceptor[]> =
-    new WeakMap();
+  #targetInterceptors = new WeakMap<
+    CDPSession | Connection,
+    TargetInterceptor[]
+  >();
 
-  #attachedToTargetListenersBySession: WeakMap<
+  #attachedToTargetListenersBySession = new WeakMap<
     CDPSession | Connection,
     (event: Protocol.Target.AttachedToTargetEvent) => Promise<void>
-  > = new WeakMap();
-  #detachedFromTargetListenersBySession: WeakMap<
+  >();
+  #detachedFromTargetListenersBySession = new WeakMap<
     CDPSession | Connection,
     (event: Protocol.Target.DetachedFromTargetEvent) => void
-  > = new WeakMap();
+  >();
 
   #initializeDeferred = Deferred.create<void>();
-  #targetsIdsForInit: Set<string> = new Set();
+  #targetsIdsForInit = new Set<string>();
 
   constructor(
     connection: Connection,
@@ -114,9 +115,16 @@
       targetId,
       targetInfo,
     ] of this.#discoveredTargetsByTargetId.entries()) {
+      const targetForFilter = new CDPTarget(
+        targetInfo,
+        undefined,
+        undefined,
+        this,
+        undefined
+      );
       if (
         (!this.#targetFilterCallback ||
-          this.#targetFilterCallback(targetInfo)) &&
+          this.#targetFilterCallback(targetForFilter)) &&
         targetInfo.type !== 'browser'
       ) {
         this.#targetsIdsForInit.add(targetId);
@@ -143,7 +151,7 @@
     this.#removeAttachmentListeners(this.#connection);
   }
 
-  getAvailableTargets(): Map<string, Target> {
+  getAvailableTargets(): Map<string, CDPTarget> {
     return this.#attachedTargetsByTargetId;
   }
 
@@ -226,6 +234,7 @@
         return;
       }
       const target = this.#targetFactory(event.targetInfo, undefined);
+      target._initialize();
       this.#attachedTargetsByTargetId.set(event.targetInfo.targetId, target);
     }
   };
@@ -323,18 +332,12 @@
         return;
       }
       const target = this.#targetFactory(targetInfo);
+      target._initialize();
       this.#attachedTargetsByTargetId.set(targetInfo.targetId, target);
       this.emit(TargetManagerEmittedEvents.TargetAvailable, target);
       return;
     }
 
-    if (this.#targetFilterCallback && !this.#targetFilterCallback(targetInfo)) {
-      this.#ignoredTargets.add(targetInfo.targetId);
-      this.#finishInitializationIfReady(targetInfo.targetId);
-      await silentDetach();
-      return;
-    }
-
     const existingTarget = this.#attachedTargetsByTargetId.has(
       targetInfo.targetId
     );
@@ -343,6 +346,17 @@
       ? this.#attachedTargetsByTargetId.get(targetInfo.targetId)!
       : this.#targetFactory(targetInfo, session);
 
+    if (this.#targetFilterCallback && !this.#targetFilterCallback(target)) {
+      this.#ignoredTargets.add(targetInfo.targetId);
+      this.#finishInitializationIfReady(targetInfo.targetId);
+      await silentDetach();
+      return;
+    }
+
+    if (!existingTarget) {
+      target._initialize();
+    }
+
     this.#setupAttachmentListeners(session);
 
     if (existingTarget) {
diff --git a/node_modules/puppeteer-core/src/common/Connection.ts b/node_modules/puppeteer-core/src/common/Connection.ts
index 7862a4f..a07f1e4 100644
--- a/node_modules/puppeteer-core/src/common/Connection.ts
+++ b/node_modules/puppeteer-core/src/common/Connection.ts
@@ -116,7 +116,7 @@
  * @internal
  */
 export class CallbackRegistry {
-  #callbacks: Map<number, Callback> = new Map();
+  #callbacks = new Map<number, Callback>();
   #idGenerator = createIncrementalIdGenerator();
 
   create(
@@ -197,7 +197,7 @@
   #transport: ConnectionTransport;
   #delay: number;
   #timeout: number;
-  #sessions: Map<string, CDPSessionImpl> = new Map();
+  #sessions = new Map<string, CDPSessionImpl>();
   #closed = false;
   #manuallyAttached = new Set<string>();
   #callbacks = new CallbackRegistry();
diff --git a/node_modules/puppeteer-core/src/common/Dialog.ts b/node_modules/puppeteer-core/src/common/Dialog.ts
index 5ccc5e1..591ba77 100644
--- a/node_modules/puppeteer-core/src/common/Dialog.ts
+++ b/node_modules/puppeteer-core/src/common/Dialog.ts
@@ -16,40 +16,15 @@
 
 import {Protocol} from 'devtools-protocol';
 
-import {assert} from '../util/assert.js';
+import {Dialog as BaseDialog} from '../api/Dialog.js';
 
 import {CDPSession} from './Connection.js';
 
 /**
- * Dialog instances are dispatched by the {@link Page} via the `dialog` event.
- *
- * @remarks
- *
- * @example
- *
- * ```ts
- * import puppeteer from 'puppeteer';
- *
- * (async () => {
- *   const browser = await puppeteer.launch();
- *   const page = await browser.newPage();
- *   page.on('dialog', async dialog => {
- *     console.log(dialog.message());
- *     await dialog.dismiss();
- *     await browser.close();
- *   });
- *   page.evaluate(() => alert('1'));
- * })();
- * ```
- *
- * @public
+ * @internal
  */
-export class Dialog {
+export class CDPDialog extends BaseDialog {
   #client: CDPSession;
-  #type: Protocol.Page.DialogType;
-  #message: string;
-  #defaultValue: string;
-  #handled = false;
 
   /**
    * @internal
@@ -60,58 +35,20 @@
     message: string,
     defaultValue = ''
   ) {
+    super(type, message, defaultValue);
     this.#client = client;
-    this.#type = type;
-    this.#message = message;
-    this.#defaultValue = defaultValue;
   }
 
   /**
-   * The type of the dialog.
+   * @internal
    */
-  type(): Protocol.Page.DialogType {
-    return this.#type;
-  }
-
-  /**
-   * The message displayed in the dialog.
-   */
-  message(): string {
-    return this.#message;
-  }
-
-  /**
-   * The default value of the prompt, or an empty string if the dialog
-   * is not a `prompt`.
-   */
-  defaultValue(): string {
-    return this.#defaultValue;
-  }
-
-  /**
-   * A promise that resolves when the dialog has been accepted.
-   *
-   * @param promptText - optional text that will be entered in the dialog
-   * prompt. Has no effect if the dialog's type is not `prompt`.
-   *
-   */
-  async accept(promptText?: string): Promise<void> {
-    assert(!this.#handled, 'Cannot accept dialog which is already handled!');
-    this.#handled = true;
+  override async sendCommand(options: {
+    accept: boolean;
+    text?: string;
+  }): Promise<void> {
     await this.#client.send('Page.handleJavaScriptDialog', {
-      accept: true,
-      promptText: promptText,
-    });
-  }
-
-  /**
-   * A promise which will resolve once the dialog has been dismissed
-   */
-  async dismiss(): Promise<void> {
-    assert(!this.#handled, 'Cannot dismiss dialog which is already handled!');
-    this.#handled = true;
-    await this.#client.send('Page.handleJavaScriptDialog', {
-      accept: false,
+      accept: options.accept,
+      promptText: options.text,
     });
   }
 }
diff --git a/node_modules/puppeteer-core/src/common/ElementHandle.ts b/node_modules/puppeteer-core/src/common/ElementHandle.ts
index bb62693..af4d74e 100644
--- a/node_modules/puppeteer-core/src/common/ElementHandle.ts
+++ b/node_modules/puppeteer-core/src/common/ElementHandle.ts
@@ -17,6 +17,7 @@
 import {Protocol} from 'devtools-protocol';
 
 import {
+  AutofillData,
   BoundingBox,
   BoxModel,
   ClickOptions,
@@ -57,7 +58,7 @@
  * @internal
  */
 export class CDPElementHandle<
-  ElementType extends Node = Element
+  ElementType extends Node = Element,
 > extends ElementHandle<ElementType> {
   #frame: Frame;
   declare handle: CDPJSHandle<ElementType>;
@@ -571,6 +572,19 @@
 
     return imageData;
   }
+
+  override async autofill(data: AutofillData): Promise<void> {
+    const nodeInfo = await this.client.send('DOM.describeNode', {
+      objectId: this.handle.id,
+    });
+    const fieldId = nodeInfo.node.backendNodeId;
+    const frameId = this.#frame._id;
+    await this.client.send('Autofill.trigger', {
+      fieldId,
+      frameId,
+      card: data.creditCard,
+    });
+  }
 }
 
 function computeQuadArea(quad: Point[]): number {
diff --git a/node_modules/puppeteer-core/src/common/ExecutionContext.ts b/node_modules/puppeteer-core/src/common/ExecutionContext.ts
index 4ecd900..bd73424 100644
--- a/node_modules/puppeteer-core/src/common/ExecutionContext.ts
+++ b/node_modules/puppeteer-core/src/common/ExecutionContext.ts
@@ -105,9 +105,12 @@
             selector: string
           ): Promise<JSHandle<Node[]>> => {
             const results = ARIAQueryHandler.queryAll(element, selector);
-            return element.executionContext().evaluateHandle((...elements) => {
-              return elements;
-            }, ...(await AsyncIterableUtil.collect(results)));
+            return element.executionContext().evaluateHandle(
+              (...elements) => {
+                return elements;
+              },
+              ...(await AsyncIterableUtil.collect(results))
+            );
           }) as (...args: unknown[]) => unknown)
         ),
       ]);
@@ -181,7 +184,7 @@
    */
   async evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -240,7 +243,7 @@
    */
   async evaluateHandle<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -250,7 +253,7 @@
 
   async #evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     returnByValue: true,
     pageFunction: Func | string,
@@ -258,7 +261,7 @@
   ): Promise<Awaited<ReturnType<Func>>>;
   async #evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     returnByValue: false,
     pageFunction: Func | string,
@@ -266,7 +269,7 @@
   ): Promise<HandleFor<Awaited<ReturnType<Func>>>>;
   async #evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     returnByValue: boolean,
     pageFunction: Func | string,
diff --git a/node_modules/puppeteer-core/src/common/FirefoxTargetManager.ts b/node_modules/puppeteer-core/src/common/FirefoxTargetManager.ts
index 384453d..5827542 100644
--- a/node_modules/puppeteer-core/src/common/FirefoxTargetManager.ts
+++ b/node_modules/puppeteer-core/src/common/FirefoxTargetManager.ts
@@ -22,7 +22,7 @@
 
 import {CDPSession, Connection} from './Connection.js';
 import {EventEmitter} from './EventEmitter.js';
-import {Target} from './Target.js';
+import {CDPTarget} from './Target.js';
 import {
   TargetFactory,
   TargetInterceptor,
@@ -59,19 +59,18 @@
    *
    * `targetFilterCallback` has no effect on this map.
    */
-  #discoveredTargetsByTargetId: Map<string, Protocol.Target.TargetInfo> =
-    new Map();
+  #discoveredTargetsByTargetId = new Map<string, Protocol.Target.TargetInfo>();
   /**
    * Keeps track of targets that were created via 'Target.targetCreated'
    * and which one are not filtered out by `targetFilterCallback`.
    *
    * The target is removed from here once it's been destroyed.
    */
-  #availableTargetsByTargetId: Map<string, Target> = new Map();
+  #availableTargetsByTargetId = new Map<string, CDPTarget>();
   /**
    * Tracks which sessions attach to which target.
    */
-  #availableTargetsBySessionId: Map<string, Target> = new Map();
+  #availableTargetsBySessionId = new Map<string, CDPTarget>();
   /**
    * If a target was filtered out by `targetFilterCallback`, we still receive
    * events about it from CDP, but we don't forward them to the rest of Puppeteer.
@@ -80,16 +79,18 @@
   #targetFilterCallback: TargetFilterCallback | undefined;
   #targetFactory: TargetFactory;
 
-  #targetInterceptors: WeakMap<CDPSession | Connection, TargetInterceptor[]> =
-    new WeakMap();
+  #targetInterceptors = new WeakMap<
+    CDPSession | Connection,
+    TargetInterceptor[]
+  >();
 
-  #attachedToTargetListenersBySession: WeakMap<
+  #attachedToTargetListenersBySession = new WeakMap<
     CDPSession | Connection,
     (event: Protocol.Target.AttachedToTargetEvent) => Promise<void>
-  > = new WeakMap();
+  >();
 
   #initializeDeferred = Deferred.create<void>();
-  #targetsIdsForInit: Set<string> = new Set();
+  #targetsIdsForInit = new Set<string>();
 
   constructor(
     connection: Connection,
@@ -154,7 +155,7 @@
     }
   }
 
-  getAvailableTargets(): Map<string, Target> {
+  getAvailableTargets(): Map<string, CDPTarget> {
     return this.#availableTargetsByTargetId;
   }
 
@@ -186,21 +187,19 @@
 
     if (event.targetInfo.type === 'browser' && event.targetInfo.attached) {
       const target = this.#targetFactory(event.targetInfo, undefined);
+      target._initialize();
       this.#availableTargetsByTargetId.set(event.targetInfo.targetId, target);
       this.#finishInitializationIfReady(target._targetId);
       return;
     }
 
-    if (
-      this.#targetFilterCallback &&
-      !this.#targetFilterCallback(event.targetInfo)
-    ) {
+    const target = this.#targetFactory(event.targetInfo, undefined);
+    if (this.#targetFilterCallback && !this.#targetFilterCallback(target)) {
       this.#ignoredTargets.add(event.targetInfo.targetId);
       this.#finishInitializationIfReady(event.targetInfo.targetId);
       return;
     }
-
-    const target = this.#targetFactory(event.targetInfo, undefined);
+    target._initialize();
     this.#availableTargetsByTargetId.set(event.targetInfo.targetId, target);
     this.emit(TargetManagerEmittedEvents.TargetAvailable, target);
     this.#finishInitializationIfReady(target._targetId);
diff --git a/node_modules/puppeteer-core/src/common/Frame.ts b/node_modules/puppeteer-core/src/common/Frame.ts
index bbead34..ea32041 100644
--- a/node_modules/puppeteer-core/src/common/Frame.ts
+++ b/node_modules/puppeteer-core/src/common/Frame.ts
@@ -17,11 +17,7 @@
 import {Protocol} from 'devtools-protocol';
 
 import {ElementHandle} from '../api/ElementHandle.js';
-import {
-  Frame as BaseFrame,
-  FrameAddScriptTagOptions,
-  FrameAddStyleTagOptions,
-} from '../api/Frame.js';
+import {Frame as BaseFrame} from '../api/Frame.js';
 import {HTTPResponse} from '../api/HTTPResponse.js';
 import {Page, WaitTimeoutOptions} from '../api/Page.js';
 import {assert} from '../util/assert.js';
@@ -35,12 +31,11 @@
 } from './DeviceRequestPrompt.js';
 import {ExecutionContext} from './ExecutionContext.js';
 import {FrameManager} from './FrameManager.js';
-import {IsolatedWorld, IsolatedWorldChart} from './IsolatedWorld.js';
+import {IsolatedWorld} from './IsolatedWorld.js';
 import {MAIN_WORLD, PUPPETEER_WORLD} from './IsolatedWorlds.js';
-import {LazyArg} from './LazyArg.js';
 import {LifecycleWatcher, PuppeteerLifeCycleEvent} from './LifecycleWatcher.js';
 import {EvaluateFunc, EvaluateFuncWith, HandleFor, NodeFor} from './types.js';
-import {importFSPromises, withSourcePuppeteerURLIfNone} from './util.js';
+import {withSourcePuppeteerURLIfNone} from './util.js';
 
 /**
  * @internal
@@ -50,11 +45,9 @@
   #detached = false;
   #client!: CDPSession;
 
-  override worlds!: IsolatedWorldChart;
   _frameManager: FrameManager;
   override _id: string;
   _loaderId = '';
-  override _name?: string;
   override _hasStartedLoading = false;
   _lifecycleEvents = new Set<string>();
   override _parentId?: string;
@@ -231,7 +224,7 @@
 
   override async evaluateHandle<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -245,7 +238,7 @@
 
   override async evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -275,7 +268,7 @@
     Func extends EvaluateFuncWith<NodeFor<Selector>, Params> = EvaluateFuncWith<
       NodeFor<Selector>,
       Params
-    >
+    >,
   >(
     selector: Selector,
     pageFunction: Func | string,
@@ -291,7 +284,7 @@
     Func extends EvaluateFuncWith<
       Array<NodeFor<Selector>>,
       Params
-    > = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>
+    > = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>,
   >(
     selector: Selector,
     pageFunction: Func | string,
@@ -339,137 +332,6 @@
     return this.#detached;
   }
 
-  override async addScriptTag(
-    options: FrameAddScriptTagOptions
-  ): Promise<ElementHandle<HTMLScriptElement>> {
-    let {content = '', type} = options;
-    const {path} = options;
-    if (+!!options.url + +!!path + +!!content !== 1) {
-      throw new Error(
-        'Exactly one of `url`, `path`, or `content` must be specified.'
-      );
-    }
-
-    if (path) {
-      const fs = await importFSPromises();
-      content = await fs.readFile(path, 'utf8');
-      content += `//# sourceURL=${path.replace(/\n/g, '')}`;
-    }
-
-    type = type ?? 'text/javascript';
-
-    return this.mainRealm().transferHandle(
-      await this.isolatedRealm().evaluateHandle(
-        async ({Deferred}, {url, id, type, content}) => {
-          const deferred = Deferred.create<void>();
-          const script = document.createElement('script');
-          script.type = type;
-          script.text = content;
-          if (url) {
-            script.src = url;
-            script.addEventListener(
-              'load',
-              () => {
-                return deferred.resolve();
-              },
-              {once: true}
-            );
-            script.addEventListener(
-              'error',
-              event => {
-                deferred.reject(
-                  new Error(event.message ?? 'Could not load script')
-                );
-              },
-              {once: true}
-            );
-          } else {
-            deferred.resolve();
-          }
-          if (id) {
-            script.id = id;
-          }
-          document.head.appendChild(script);
-          await deferred.valueOrThrow();
-          return script;
-        },
-        LazyArg.create(context => {
-          return context.puppeteerUtil;
-        }),
-        {...options, type, content}
-      )
-    );
-  }
-
-  override async addStyleTag(
-    options: Omit<FrameAddStyleTagOptions, 'url'>
-  ): Promise<ElementHandle<HTMLStyleElement>>;
-  override async addStyleTag(
-    options: FrameAddStyleTagOptions
-  ): Promise<ElementHandle<HTMLLinkElement>>;
-  override async addStyleTag(
-    options: FrameAddStyleTagOptions
-  ): Promise<ElementHandle<HTMLStyleElement | HTMLLinkElement>> {
-    let {content = ''} = options;
-    const {path} = options;
-    if (+!!options.url + +!!path + +!!content !== 1) {
-      throw new Error(
-        'Exactly one of `url`, `path`, or `content` must be specified.'
-      );
-    }
-
-    if (path) {
-      const fs = await importFSPromises();
-
-      content = await fs.readFile(path, 'utf8');
-      content += '/*# sourceURL=' + path.replace(/\n/g, '') + '*/';
-      options.content = content;
-    }
-
-    return this.mainRealm().transferHandle(
-      await this.isolatedRealm().evaluateHandle(
-        async ({Deferred}, {url, content}) => {
-          const deferred = Deferred.create<void>();
-          let element: HTMLStyleElement | HTMLLinkElement;
-          if (!url) {
-            element = document.createElement('style');
-            element.appendChild(document.createTextNode(content!));
-          } else {
-            const link = document.createElement('link');
-            link.rel = 'stylesheet';
-            link.href = url;
-            element = link;
-          }
-          element.addEventListener(
-            'load',
-            () => {
-              deferred.resolve();
-            },
-            {once: true}
-          );
-          element.addEventListener(
-            'error',
-            event => {
-              deferred.reject(
-                new Error(
-                  (event as ErrorEvent).message ?? 'Could not load style'
-                )
-              );
-            },
-            {once: true}
-          );
-          document.head.appendChild(element);
-          await deferred.valueOrThrow();
-          return element;
-        },
-        LazyArg.create(context => {
-          return context.puppeteerUtil;
-        }),
-        options
-      )
-    );
-  }
-
   override async title(): Promise<string> {
     return this.isolatedRealm().title();
   }
diff --git a/node_modules/puppeteer-core/src/common/FrameManager.ts b/node_modules/puppeteer-core/src/common/FrameManager.ts
index 1232e3e..493ece6 100644
--- a/node_modules/puppeteer-core/src/common/FrameManager.ts
+++ b/node_modules/puppeteer-core/src/common/FrameManager.ts
@@ -30,7 +30,7 @@
 import {IsolatedWorld} from './IsolatedWorld.js';
 import {MAIN_WORLD, PUPPETEER_WORLD} from './IsolatedWorlds.js';
 import {NetworkManager} from './NetworkManager.js';
-import {Target} from './Target.js';
+import {CDPTarget} from './Target.js';
 import {TimeoutSettings} from './TimeoutSettings.js';
 import {debugError, PuppeteerURL} from './util.js';
 
@@ -216,7 +216,7 @@
     return this._frameTree.getById(frameId) || null;
   }
 
-  onAttachedToTarget(target: Target): void {
+  onAttachedToTarget(target: CDPTarget): void {
     if (target._getTargetInfo().type !== 'iframe') {
       return;
     }
diff --git a/node_modules/puppeteer-core/src/common/FrameTree.ts b/node_modules/puppeteer-core/src/common/FrameTree.ts
index 6457014..fa859bc 100644
--- a/node_modules/puppeteer-core/src/common/FrameTree.ts
+++ b/node_modules/puppeteer-core/src/common/FrameTree.ts
@@ -69,7 +69,7 @@
         this.#childIds.set(frame._parentId, new Set());
       }
       this.#childIds.get(frame._parentId)!.add(frame._id);
-    } else {
+    } else if (!this.#mainFrame) {
       this.#mainFrame = frame;
     }
     this.#waitRequests.get(frame._id)?.forEach(request => {
diff --git a/node_modules/puppeteer-core/src/common/IsolatedWorld.ts b/node_modules/puppeteer-core/src/common/IsolatedWorld.ts
index 96a2e0f..9bd39a6 100644
--- a/node_modules/puppeteer-core/src/common/IsolatedWorld.ts
+++ b/node_modules/puppeteer-core/src/common/IsolatedWorld.ts
@@ -182,7 +182,7 @@
 
   async evaluateHandle<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -197,7 +197,7 @@
 
   async evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -246,7 +246,7 @@
     Func extends EvaluateFuncWith<NodeFor<Selector>, Params> = EvaluateFuncWith<
       NodeFor<Selector>,
       Params
-    >
+    >,
   >(
     selector: Selector,
     pageFunction: Func | string,
@@ -263,7 +263,7 @@
     Func extends EvaluateFuncWith<
       Array<NodeFor<Selector>>,
       Params
-    > = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>
+    > = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>,
   >(
     selector: Selector,
     pageFunction: Func | string,
@@ -444,7 +444,7 @@
     Params extends unknown[],
     Func extends EvaluateFunc<InnerLazyParams<Params>> = EvaluateFunc<
       InnerLazyParams<Params>
-    >
+    >,
   >(
     pageFunction: Func | string,
     options: {
diff --git a/node_modules/puppeteer-core/src/common/JSHandle.ts b/node_modules/puppeteer-core/src/common/JSHandle.ts
index 3232cb2..a4a9e58 100644
--- a/node_modules/puppeteer-core/src/common/JSHandle.ts
+++ b/node_modules/puppeteer-core/src/common/JSHandle.ts
@@ -30,17 +30,10 @@
   withSourcePuppeteerURLIfNone,
 } from './util.js';
 
-declare const __JSHandleSymbol: unique symbol;
-
 /**
  * @internal
  */
 export class CDPJSHandle<T = unknown> extends JSHandle<T> {
-  /**
-   * Used for nominally typing {@link JSHandle}.
-   */
-  [__JSHandleSymbol]?: T;
-
   #disposed = false;
   #context: ExecutionContext;
   #remoteObject: Protocol.Runtime.RemoteObject;
@@ -71,7 +64,7 @@
    */
   override async evaluate<
     Params extends unknown[],
-    Func extends EvaluateFuncWith<T, Params> = EvaluateFuncWith<T, Params>
+    Func extends EvaluateFuncWith<T, Params> = EvaluateFuncWith<T, Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -88,7 +81,7 @@
    */
   override async evaluateHandle<
     Params extends unknown[],
-    Func extends EvaluateFuncWith<T, Params> = EvaluateFuncWith<T, Params>
+    Func extends EvaluateFuncWith<T, Params> = EvaluateFuncWith<T, Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
diff --git a/node_modules/puppeteer-core/src/common/NetworkEventManager.ts b/node_modules/puppeteer-core/src/common/NetworkEventManager.ts
index 1dae2c3..1ed28cd 100644
--- a/node_modules/puppeteer-core/src/common/NetworkEventManager.ts
+++ b/node_modules/puppeteer-core/src/common/NetworkEventManager.ts
@@ -21,11 +21,11 @@
 /**
  * @internal
  */
-export type QueuedEventGroup = {
+export interface QueuedEventGroup {
   responseReceivedEvent: Protocol.Network.ResponseReceivedEvent;
   loadingFinishedEvent?: Protocol.Network.LoadingFinishedEvent;
   loadingFailedEvent?: Protocol.Network.LoadingFailedEvent;
-};
+}
 
 /**
  * @internal
@@ -35,10 +35,10 @@
 /**
  * @internal
  */
-export type RedirectInfo = {
+export interface RedirectInfo {
   event: Protocol.Network.RequestWillBeSentEvent;
   fetchRequestId?: FetchRequestId;
-};
+}
 type RedirectInfoList = RedirectInfo[];
 
 /**
diff --git a/node_modules/puppeteer-core/src/common/Page.ts b/node_modules/puppeteer-core/src/common/Page.ts
index 2c7b45f..70270bf 100644
--- a/node_modules/puppeteer-core/src/common/Page.ts
+++ b/node_modules/puppeteer-core/src/common/Page.ts
@@ -21,11 +21,7 @@
 import type {Browser} from '../api/Browser.js';
 import type {BrowserContext} from '../api/BrowserContext.js';
 import {ElementHandle} from '../api/ElementHandle.js';
-import {
-  Frame,
-  FrameAddScriptTagOptions,
-  FrameAddStyleTagOptions,
-} from '../api/Frame.js';
+import {Frame} from '../api/Frame.js';
 import {HTTPRequest} from '../api/HTTPRequest.js';
 import {HTTPResponse} from '../api/HTTPResponse.js';
 import {JSHandle} from '../api/JSHandle.js';
@@ -55,13 +51,12 @@
 import {ConsoleMessage, ConsoleMessageType} from './ConsoleMessage.js';
 import {Coverage} from './Coverage.js';
 import {DeviceRequestPrompt} from './DeviceRequestPrompt.js';
-import {Dialog} from './Dialog.js';
+import {CDPDialog} from './Dialog.js';
 import {EmulationManager} from './EmulationManager.js';
 import {TargetCloseError} from './Errors.js';
 import {FileChooser} from './FileChooser.js';
 import {FrameManager, FrameManagerEmittedEvents} from './FrameManager.js';
 import {CDPKeyboard, CDPMouse, CDPTouchscreen} from './Input.js';
-import {WaitForSelectorOptions} from './IsolatedWorld.js';
 import {MAIN_WORLD} from './IsolatedWorlds.js';
 import {
   Credentials,
@@ -70,7 +65,7 @@
 } from './NetworkManager.js';
 import {PDFOptions} from './PDFOptions.js';
 import {Viewport} from './PuppeteerViewport.js';
-import {Target} from './Target.js';
+import {CDPTarget} from './Target.js';
 import {TargetManagerEmittedEvents} from './TargetManager.js';
 import {TaskQueue} from './TaskQueue.js';
 import {TimeoutSettings} from './TimeoutSettings.js';
@@ -86,6 +81,7 @@
   isString,
   pageBindingInitString,
   releaseObject,
+  validateDialogType,
   valueFromRemoteObject,
   waitForEvent,
   waitWithTimeout,
@@ -102,7 +98,7 @@
    */
   static async _create(
     client: CDPSession,
-    target: Target,
+    target: CDPTarget,
     ignoreHTTPSErrors: boolean,
     defaultViewport: Viewport | null,
     screenshotTaskQueue: TaskQueue
@@ -130,7 +126,7 @@
 
   #closed = false;
   #client: CDPSession;
-  #target: Target;
+  #target: CDPTarget;
   #keyboard: CDPKeyboard;
   #mouse: CDPMouse;
   #timeoutSettings = new TimeoutSettings();
@@ -155,7 +151,7 @@
    */
   constructor(
     client: CDPSession,
-    target: Target,
+    target: CDPTarget,
     ignoreHTTPSErrors: boolean,
     screenshotTaskQueue: TaskQueue
   ) {
@@ -271,7 +267,7 @@
       .catch(debugError);
   }
 
-  #onDetachedFromTarget = (target: Target) => {
+  #onDetachedFromTarget = (target: CDPTarget) => {
     const sessionId = target._session()?.id();
     const worker = this.#workers.get(sessionId!);
     if (!worker) {
@@ -281,7 +277,7 @@
     this.emit(PageEmittedEvents.WorkerDestroyed, worker);
   };
 
-  #onAttachedToTarget = (createdTarget: Target) => {
+  #onAttachedToTarget = (createdTarget: CDPTarget) => {
     this.#frameManager.onAttachedToTarget(createdTarget);
     if (createdTarget._getTargetInfo().type === 'worker') {
       const session = createdTarget._session();
@@ -392,7 +388,7 @@
     return await this.#emulationManager.setGeolocation(options);
   }
 
-  override target(): Target {
+  override target(): CDPTarget {
     return this.#target;
   }
 
@@ -495,7 +491,7 @@
 
   override async evaluateHandle<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -583,24 +579,6 @@
     }
   }
 
-  override async addScriptTag(
-    options: FrameAddScriptTagOptions
-  ): Promise<ElementHandle<HTMLScriptElement>> {
-    return this.mainFrame().addScriptTag(options);
-  }
-
-  override async addStyleTag(
-    options: Omit<FrameAddStyleTagOptions, 'url'>
-  ): Promise<ElementHandle<HTMLStyleElement>>;
-  override async addStyleTag(
-    options: FrameAddStyleTagOptions
-  ): Promise<ElementHandle<HTMLLinkElement>>;
-  override async addStyleTag(
-    options: FrameAddStyleTagOptions
-  ): Promise<ElementHandle<HTMLStyleElement | HTMLLinkElement>> {
-    return this.mainFrame().addStyleTag(options);
-  }
-
   override async exposeFunction(
     name: string,
     pptrFunction: Function | {default: Function}
@@ -830,22 +808,10 @@
   }
 
   #onDialog(event: Protocol.Page.JavascriptDialogOpeningEvent): void {
-    let dialogType = null;
-    const validDialogTypes = new Set<Protocol.Page.DialogType>([
-      'alert',
-      'confirm',
-      'prompt',
-      'beforeunload',
-    ]);
-
-    if (validDialogTypes.has(event.type)) {
-      dialogType = event.type as Protocol.Page.DialogType;
-    }
-    assert(dialogType, 'Unknown javascript dialog type: ' + event.type);
-
-    const dialog = new Dialog(
+    const type = validateDialogType(event.type);
+    const dialog = new CDPDialog(
       this.#client,
-      dialogType,
+      type,
       event.message,
       event.defaultPrompt
     );
@@ -885,6 +851,10 @@
     return result[0];
   }
 
+  override async createCDPSession(): Promise<CDPSession> {
+    return await this.target().createCDPSession();
+  }
+
   override async waitForRequest(
     urlOrPredicate: string | ((req: HTTPRequest) => boolean | Promise<boolean>),
     options: {timeout?: number} = {}
@@ -1076,7 +1046,7 @@
 
   override async evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -1090,7 +1060,7 @@
 
   override async evaluateOnNewDocument<
     Params extends unknown[],
-    Func extends (...args: Params) => unknown = (...args: Params) => unknown
+    Func extends (...args: Params) => unknown = (...args: Params) => unknown,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -1394,13 +1364,6 @@
     return this.#mouse;
   }
 
-  override waitForXPath(
-    xpath: string,
-    options: WaitForSelectorOptions = {}
-  ): Promise<ElementHandle<Node> | null> {
-    return this.mainFrame().waitForXPath(xpath, options);
-  }
-
   /**
    * This method is typically coupled with an action that triggers a device
    * request from an api such as WebBluetooth.
diff --git a/node_modules/puppeteer-core/src/common/Target.ts b/node_modules/puppeteer-core/src/common/Target.ts
index 4a9745e..4cde895 100644
--- a/node_modules/puppeteer-core/src/common/Target.ts
+++ b/node_modules/puppeteer-core/src/common/Target.ts
@@ -19,6 +19,7 @@
 import type {Browser} from '../api/Browser.js';
 import type {BrowserContext} from '../api/BrowserContext.js';
 import {Page, PageEmittedEvents} from '../api/Page.js';
+import {Target, TargetType} from '../api/Target.js';
 import {Deferred} from '../util/Deferred.js';
 
 import {CDPSession} from './Connection.js';
@@ -38,19 +39,16 @@
 }
 
 /**
- * Target represents a
- * {@link https://chromedevtools.github.io/devtools-protocol/tot/Target/ | CDP target}.
- * In CDP a target is something that can be debugged such a frame, a page or a
- * worker.
- *
- * @public
+ * @internal
  */
-export class Target {
-  #browserContext: BrowserContext;
+export class CDPTarget extends Target {
+  #browserContext?: BrowserContext;
   #session?: CDPSession;
   #targetInfo: Protocol.Target.TargetInfo;
-  #targetManager: TargetManager;
-  #sessionFactory: (isAutoAttachEmulated: boolean) => Promise<CDPSession>;
+  #targetManager?: TargetManager;
+  #sessionFactory:
+    | ((isAutoAttachEmulated: boolean) => Promise<CDPSession>)
+    | undefined;
 
   /**
    * @internal
@@ -66,22 +64,26 @@
   _targetId: string;
 
   /**
+   * To initialize the target for use, call initialize.
+   *
    * @internal
    */
   constructor(
     targetInfo: Protocol.Target.TargetInfo,
     session: CDPSession | undefined,
-    browserContext: BrowserContext,
-    targetManager: TargetManager,
-    sessionFactory: (isAutoAttachEmulated: boolean) => Promise<CDPSession>
+    browserContext: BrowserContext | undefined,
+    targetManager: TargetManager | undefined,
+    sessionFactory:
+      | ((isAutoAttachEmulated: boolean) => Promise<CDPSession>)
+      | undefined
   ) {
+    super();
     this.#session = session;
     this.#targetManager = targetManager;
     this.#targetInfo = targetInfo;
     this.#browserContext = browserContext;
     this._targetId = targetInfo.targetId;
     this.#sessionFactory = sessionFactory;
-    this._initialize();
   }
 
   /**
@@ -97,20 +99,50 @@
   protected _sessionFactory(): (
     isAutoAttachEmulated: boolean
   ) => Promise<CDPSession> {
+    if (!this.#sessionFactory) {
+      throw new Error('sessionFactory is not initialized');
+    }
     return this.#sessionFactory;
   }
 
-  /**
-   * Creates a Chrome Devtools Protocol session attached to the target.
-   */
-  createCDPSession(): Promise<CDPSession> {
+  override createCDPSession(): Promise<CDPSession> {
+    if (!this.#sessionFactory) {
+      throw new Error('sessionFactory is not initialized');
+    }
     return this.#sessionFactory(false);
   }
 
+  override url(): string {
+    return this.#targetInfo.url;
+  }
+
+  override type(): TargetType {
+    const type = this.#targetInfo.type;
+    switch (type) {
+      case 'page':
+        return TargetType.PAGE;
+      case 'background_page':
+        return TargetType.BACKGROUND_PAGE;
+      case 'service_worker':
+        return TargetType.SERVICE_WORKER;
+      case 'shared_worker':
+        return TargetType.SHARED_WORKER;
+      case 'browser':
+        return TargetType.BROWSER;
+      case 'webview':
+        return TargetType.WEBVIEW;
+      default:
+        return TargetType.OTHER;
+    }
+  }
+
   /**
    * @internal
    */
   _targetManager(): TargetManager {
+    if (!this.#targetManager) {
+      throw new Error('targetManager is not initialized');
+    }
     return this.#targetManager;
   }
 
@@ -121,64 +153,21 @@
     return this.#targetInfo;
   }
 
-  /**
-   * If the target is not of type `"service_worker"` or `"shared_worker"`, returns `null`.
-   */
-  async worker(): Promise<WebWorker | null> {
-    return null;
-  }
-
-  url(): string {
-    return this.#targetInfo.url;
-  }
-
-  /**
-   * Identifies what kind of target this is.
-   *
-   * @remarks
-   *
-   * See {@link https://developer.chrome.com/extensions/background_pages | docs} for more info about background pages.
-   */
-  type():
-    | 'page'
-    | 'background_page'
-    | 'service_worker'
-    | 'shared_worker'
-    | 'other'
-    | 'browser'
-    | 'webview' {
-    const type = this.#targetInfo.type;
-    if (
-      type === 'page' ||
-      type === 'background_page' ||
-      type === 'service_worker' ||
-      type === 'shared_worker' ||
-      type === 'browser' ||
-      type === 'webview'
-    ) {
-      return type;
+  override browser(): Browser {
+    if (!this.#browserContext) {
+      throw new Error('browserContext is not initialised');
     }
-    return 'other';
-  }
-
-  /**
-   * Get the browser the target belongs to.
-   */
-  browser(): Browser {
     return this.#browserContext.browser();
   }
 
-  /**
-   * Get the browser context the target belongs to.
-   */
-  browserContext(): BrowserContext {
+  override browserContext(): BrowserContext {
+    if (!this.#browserContext) {
+      throw new Error('browserContext is not initialised');
+    }
     return this.#browserContext;
   }
 
-  /**
-   * Get the target that opened this target. Top-level targets return `null`.
-   */
-  opener(): Target | undefined {
+  override opener(): Target | undefined {
     const {openerId} = this.#targetInfo;
     if (!openerId) {
       return;
@@ -197,7 +186,7 @@
   /**
    * @internal
    */
-  protected _initialize(): void {
+  _initialize(): void {
     this._initializedDeferred.resolve(InitializationStatus.SUCCESS);
   }
 
@@ -209,20 +198,12 @@
       this._initializedDeferred.resolve(InitializationStatus.SUCCESS);
     }
   }
-
-  /**
-   * If the target is not of type `"page"`, `"webview"` or `"background_page"`,
-   * returns `null`.
-   */
-  async page(): Promise<Page | null> {
-    return null;
-  }
 }
 
 /**
  * @internal
  */
-export class PageTarget extends Target {
+export class PageTarget extends CDPTarget {
   #defaultViewport?: Viewport;
   protected pagePromise?: Promise<Page>;
   #screenshotTaskQueue: TaskQueue;
@@ -247,7 +228,7 @@
     this.#screenshotTaskQueue = screenshotTaskQueue;
   }
 
-  protected override _initialize(): void {
+  override _initialize(): void {
     this._initializedDeferred
       .valueOrThrow()
       .then(async result => {
@@ -306,7 +287,7 @@
 /**
  * @internal
  */
-export class WorkerTarget extends Target {
+export class WorkerTarget extends CDPTarget {
   #workerPromise?: Promise<WebWorker>;
 
   override async worker(): Promise<WebWorker | null> {
@@ -333,4 +314,4 @@
 /**
  * @internal
  */
-export class OtherTarget extends Target {}
+export class OtherTarget extends CDPTarget {}
diff --git a/node_modules/puppeteer-core/src/common/TargetManager.ts b/node_modules/puppeteer-core/src/common/TargetManager.ts
index 3f0c6e3..9e3ea4c 100644
--- a/node_modules/puppeteer-core/src/common/TargetManager.ts
+++ b/node_modules/puppeteer-core/src/common/TargetManager.ts
@@ -18,7 +18,7 @@
 
 import {CDPSession} from './Connection.js';
 import {EventEmitter} from './EventEmitter.js';
-import {Target} from './Target.js';
+import {CDPTarget} from './Target.js';
 
 /**
  * @internal
@@ -26,14 +26,14 @@
 export type TargetFactory = (
   targetInfo: Protocol.Target.TargetInfo,
   session?: CDPSession
-) => Target;
+) => CDPTarget;
 
 /**
  * @internal
  */
 export type TargetInterceptor = (
-  createdTarget: Target,
-  parentTarget: Target | null
+  createdTarget: CDPTarget,
+  parentTarget: CDPTarget | null
 ) => void;
 
 /**
@@ -48,7 +48,7 @@
  * @internal
  */
 export interface TargetManager extends EventEmitter {
-  getAvailableTargets(): Map<string, Target>;
+  getAvailableTargets(): Map<string, CDPTarget>;
   initialize(): Promise<void>;
   dispose(): void;
   addTargetInterceptor(
diff --git a/node_modules/puppeteer-core/src/common/WaitTask.ts b/node_modules/puppeteer-core/src/common/WaitTask.ts
index 9ce1b57..1357c1f 100644
--- a/node_modules/puppeteer-core/src/common/WaitTask.ts
+++ b/node_modules/puppeteer-core/src/common/WaitTask.ts
@@ -228,7 +228,6 @@
       return error;
     }
 
-    // @ts-expect-error TODO: uncomment once cause is supported in Node types.
     return new Error('WaitTask failed with an error', {
       cause: error,
     });
diff --git a/node_modules/puppeteer-core/src/common/WebWorker.ts b/node_modules/puppeteer-core/src/common/WebWorker.ts
index 9ff3d56..ba7a962 100644
--- a/node_modules/puppeteer-core/src/common/WebWorker.ts
+++ b/node_modules/puppeteer-core/src/common/WebWorker.ts
@@ -149,7 +149,7 @@
    */
   async evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -176,7 +176,7 @@
    */
   async evaluateHandle<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
diff --git a/node_modules/puppeteer-core/src/common/bidi/BidiOverCDP.ts b/node_modules/puppeteer-core/src/common/bidi/BidiOverCDP.ts
index 95a13ce..56335f1 100644
--- a/node_modules/puppeteer-core/src/common/bidi/BidiOverCDP.ts
+++ b/node_modules/puppeteer-core/src/common/bidi/BidiOverCDP.ts
@@ -86,7 +86,7 @@
       throw new Error('Unknown CDP session with id' + id);
     }
     if (!this.#adapters.has(session)) {
-      const adapter = new CDPClientAdapter(session);
+      const adapter = new CDPClientAdapter(session, id, this.#browser);
       this.#adapters.set(session, adapter);
       return adapter;
     }
@@ -113,13 +113,25 @@
 {
   #closed = false;
   #client: T;
+  sessionId: string | undefined = undefined;
+  #browserClient?: BidiMapper.CdpClient;
 
-  constructor(client: T) {
+  constructor(
+    client: T,
+    sessionId?: string,
+    browserClient?: BidiMapper.CdpClient
+  ) {
     super();
     this.#client = client;
+    this.sessionId = sessionId;
+    this.#browserClient = browserClient;
     this.#client.on('*', this.#forwardMessage as Handler<any>);
   }
 
+  browserClient(): BidiMapper.CdpClient {
+    return this.#browserClient!;
+  }
+
   #forwardMessage = <T extends keyof CdpEvents>(
     method: T,
     event: CdpEvents[T]
@@ -163,32 +175,27 @@
   extends BidiMapper.EventEmitter<any>
   implements BidiMapper.BidiTransport
 {
-  #onMessage: (
-    message: Bidi.Message.RawCommandRequest
-  ) => Promise<void> | void = async (
-    _m: Bidi.Message.RawCommandRequest
-  ): Promise<void> => {
-    return;
-  };
+  #onMessage: (message: Bidi.ChromiumBidi.Command) => Promise<void> | void =
+    async (_m: Bidi.ChromiumBidi.Command): Promise<void> => {
+      return;
+    };
 
-  emitMessage(message: Bidi.Message.RawCommandRequest) {
+  emitMessage(message: Bidi.ChromiumBidi.Command) {
     void this.#onMessage(message);
   }
 
   setOnMessage(
-    onMessage: (message: Bidi.Message.RawCommandRequest) => Promise<void> | void
+    onMessage: (message: Bidi.ChromiumBidi.Command) => Promise<void> | void
   ): void {
     this.#onMessage = onMessage;
   }
 
-  async sendMessage(message: Bidi.Message.OutgoingMessage): Promise<void> {
+  async sendMessage(message: Bidi.ChromiumBidi.Message): Promise<void> {
     this.emit('bidiResponse', message);
   }
 
   close() {
-    this.#onMessage = async (
-      _m: Bidi.Message.RawCommandRequest
-    ): Promise<void> => {
+    this.#onMessage = async (_m: Bidi.ChromiumBidi.Command): Promise<void> => {
       return;
     };
   }
diff --git a/node_modules/puppeteer-core/src/common/bidi/Browser.ts b/node_modules/puppeteer-core/src/common/bidi/Browser.ts
index 8bde785..e869ce5 100644
--- a/node_modules/puppeteer-core/src/common/bidi/Browser.ts
+++ b/node_modules/puppeteer-core/src/common/bidi/Browser.ts
@@ -21,22 +21,36 @@
 import {
   Browser as BrowserBase,
   BrowserCloseCallback,
+  BrowserContextEmittedEvents,
   BrowserContextOptions,
   BrowserEmittedEvents,
 } from '../../api/Browser.js';
 import {BrowserContext as BrowserContextBase} from '../../api/BrowserContext.js';
 import {Page} from '../../api/Page.js';
+import {Target} from '../../api/Target.js';
+import {Handler} from '../EventEmitter.js';
 import {Viewport} from '../PuppeteerViewport.js';
 
 import {BrowserContext} from './BrowserContext.js';
+import {
+  BrowsingContext,
+  BrowsingContextEmittedEvents,
+} from './BrowsingContext.js';
 import {Connection} from './Connection.js';
+import {
+  BiDiBrowserTarget,
+  BiDiBrowsingContextTarget,
+  BiDiPageTarget,
+  BiDiTarget,
+} from './Target.js';
 import {debugError} from './utils.js';
 
 /**
  * @internal
  */
 export class Browser extends BrowserBase {
-  static readonly subscribeModules: Bidi.Session.SubscriptionRequestEvent[] = [
+  // TODO: Update generator to include fully module
+  static readonly subscribeModules: string[] = [
     'browsingContext',
     'network',
     'log',
@@ -48,11 +62,11 @@
     'cdp.Runtime.executionContextsCleared',
     // Tracing
     'cdp.Tracing.tracingComplete',
+    // TODO: subscribe to all CDP events in the future.
+    'cdp.Network.requestWillBeSent',
+    'cdp.Debugger.scriptParsed',
   ];
 
-  #browserName = '';
-  #browserVersion = '';
-
   static async create(opts: Options): Promise<Browser> {
     let browserName = '';
     let browserVersion = '';
@@ -79,18 +93,38 @@
         : [...Browser.subscribeModules, ...Browser.subscribeCdpEvents],
     });
 
-    return new Browser({
+    const browser = new Browser({
       ...opts,
       browserName,
       browserVersion,
     });
+
+    await browser.#getTree();
+
+    return browser;
   }
 
+  #browserName = '';
+  #browserVersion = '';
   #process?: ChildProcess;
   #closeCallback?: BrowserCloseCallback;
   #connection: Connection;
   #defaultViewport: Viewport | null;
   #defaultContext: BrowserContext;
+  #targets = new Map<string, BiDiTarget>();
+  #contexts: BrowserContext[] = [];
+  #browserTarget: BiDiBrowserTarget;
+
+  #connectionEventHandlers = new Map<
+    Bidi.BrowsingContextEvent['method'],
+    Handler<any>
+  >([
+    ['browsingContext.contextCreated', this.#onContextCreated.bind(this)],
+    ['browsingContext.contextDestroyed', this.#onContextDestroyed.bind(this)],
+    ['browsingContext.domContentLoaded', this.#onContextDomLoaded.bind(this)],
+    ['browsingContext.fragmentNavigated', this.#onContextNavigation.bind(this)],
+    ['browsingContext.navigationStarted', this.#onContextNavigation.bind(this)],
+  ]);
 
   constructor(
     opts: Options & {
@@ -114,6 +148,84 @@
       defaultViewport: this.#defaultViewport,
       isDefault: true,
     });
+    this.#browserTarget = new BiDiBrowserTarget(this.#defaultContext);
+    this.#contexts.push(this.#defaultContext);
+
+    for (const [eventName, handler] of this.#connectionEventHandlers) {
+      this.#connection.on(eventName, handler);
+    }
+  }
+
+  #onContextDomLoaded(event: Bidi.BrowsingContext.Info) {
+    const context = this.#connection.getBrowsingContext(event.context);
+    context.url = event.url;
+    const target = this.#targets.get(event.context);
+    if (target) {
+      this.emit(BrowserEmittedEvents.TargetChanged, target);
+    }
+  }
+
+  #onContextNavigation(event: Bidi.BrowsingContext.NavigationInfo) {
+    const context = this.#connection.getBrowsingContext(event.context);
+    context.url = event.url;
+    const target = this.#targets.get(event.context);
+    if (target) {
+      this.emit(BrowserEmittedEvents.TargetChanged, target);
+      target
+        .browserContext()
+        .emit(BrowserContextEmittedEvents.TargetChanged, target);
+    }
+  }
+
+  #onContextCreated(event: Bidi.BrowsingContext.ContextCreated['params']) {
+    const context = new BrowsingContext(this.#connection, event);
+    this.#connection.registerBrowsingContexts(context);
+    // TODO: once more browsing context types are supported, this should be
+    // updated to support those. Currently, all top-level contexts are treated
+    // as pages.
+    const browserContext = this.browserContexts().at(-1);
+    if (!browserContext) {
+      throw new Error('Missing browser contexts');
+    }
+    const target = !context.parent
+      ? new BiDiPageTarget(browserContext, context)
+      : new BiDiBrowsingContextTarget(browserContext, context);
+    this.#targets.set(event.context, target);
+
+    this.emit(BrowserEmittedEvents.TargetCreated, target);
+    target
+      .browserContext()
+      .emit(BrowserContextEmittedEvents.TargetCreated, target);
+
+    if (context.parent) {
+      const topLevel = this.#connection.getTopLevelContext(context.parent);
+      topLevel.emit(BrowsingContextEmittedEvents.Created, context);
+    }
+  }
+
+  async #getTree(): Promise<void> {
+    const {result} = await this.#connection.send('browsingContext.getTree', {});
+    for (const context of result.contexts) {
+      this.#onContextCreated(context);
+    }
+  }
+
+  async #onContextDestroyed(
+    event: Bidi.BrowsingContext.ContextDestroyed['params']
+  ) {
+    const context = this.#connection.getBrowsingContext(event.context);
+    const topLevelContext = this.#connection.getTopLevelContext(event.context);
+    topLevelContext.emit(BrowsingContextEmittedEvents.Destroyed, context);
+    const target = this.#targets.get(event.context);
+    const page = await target?.page();
+    await page?.close().catch(debugError);
+    this.#targets.delete(event.context);
+    if (target) {
+      this.emit(BrowserEmittedEvents.TargetDestroyed, target);
+      target
+        .browserContext()
+        .emit(BrowserContextEmittedEvents.TargetDestroyed, target);
+    }
   }
 
   get connection(): Connection {
@@ -125,6 +237,9 @@
   }
 
   override async close(): Promise<void> {
+    for (const [eventName, handler] of this.#connectionEventHandlers) {
+      this.#connection.off(eventName, handler);
+    }
     if (this.#connection.closed) {
       return;
     }
@@ -146,10 +261,12 @@
     _options?: BrowserContextOptions
   ): Promise<BrowserContextBase> {
     // TODO: implement incognito context https://github.com/w3c/webdriver-bidi/issues/289.
-    return new BrowserContext(this, {
+    const context = new BrowserContext(this, {
       defaultViewport: this.#defaultViewport,
       isDefault: false,
     });
+    this.#contexts.push(context);
+    return context;
   }
 
   override async version(): Promise<string> {
@@ -162,7 +279,19 @@
    */
   override browserContexts(): BrowserContext[] {
     // TODO: implement incognito context https://github.com/w3c/webdriver-bidi/issues/289.
-    return [this.#defaultContext];
+    return this.#contexts;
+  }
+
+  async _closeContext(browserContext: BrowserContext): Promise<void> {
+    this.#contexts = this.#contexts.filter(c => {
+      return c !== browserContext;
+    });
+    for (const target of browserContext.targets()) {
+      const page = await target?.page();
+      await page?.close().catch(error => {
+        debugError(error);
+      });
+    }
   }
 
   /**
@@ -175,6 +304,22 @@
   override newPage(): Promise<Page> {
     return this.#defaultContext.newPage();
   }
+
+  override targets(): Target[] {
+    return [this.#browserTarget, ...Array.from(this.#targets.values())];
+  }
+
+  _getTargetById(id: string): BiDiTarget {
+    const target = this.#targets.get(id);
+    if (!target) {
+      throw new Error('Target not found');
+    }
+    return target;
+  }
+
+  override target(): Target {
+    return this.#browserTarget;
+  }
 }
 
 interface Options {
diff --git a/node_modules/puppeteer-core/src/common/bidi/BrowserContext.ts b/node_modules/puppeteer-core/src/common/bidi/BrowserContext.ts
index 36ef2c5..b770c76 100644
--- a/node_modules/puppeteer-core/src/common/bidi/BrowserContext.ts
+++ b/node_modules/puppeteer-core/src/common/bidi/BrowserContext.ts
@@ -18,13 +18,12 @@
 
 import {BrowserContext as BrowserContextBase} from '../../api/BrowserContext.js';
 import {Page as PageBase} from '../../api/Page.js';
-import {Deferred} from '../../util/Deferred.js';
+import {Target} from '../../api/Target.js';
 import {Viewport} from '../PuppeteerViewport.js';
 
 import {Browser} from './Browser.js';
 import {Connection} from './Connection.js';
 import {Page} from './Page.js';
-import {debugError} from './utils.js';
 
 interface BrowserContextOptions {
   defaultViewport: Viewport | null;
@@ -38,9 +37,6 @@
   #browser: Browser;
   #connection: Connection;
   #defaultViewport: Viewport | null;
-  #pages = new Map<string, Page>();
-  #onContextDestroyedBind = this.#onContextDestroyed.bind(this);
-  #init = Deferred.create<void>();
   #isDefault = false;
 
   constructor(browser: Browser, options: BrowserContextOptions) {
@@ -48,58 +44,45 @@
     this.#browser = browser;
     this.#connection = this.#browser.connection;
     this.#defaultViewport = options.defaultViewport;
-    this.#connection.on(
-      'browsingContext.contextDestroyed',
-      this.#onContextDestroyedBind
-    );
     this.#isDefault = options.isDefault;
-    this.#getTree().catch(debugError);
+  }
+
+  override targets(): Target[] {
+    return this.#browser.targets().filter(target => {
+      return target.browserContext() === this;
+    });
+  }
+
+  override waitForTarget(
+    predicate: (x: Target) => boolean | Promise<boolean>,
+    options: {timeout?: number} = {}
+  ): Promise<Target> {
+    return this.#browser.waitForTarget(target => {
+      return target.browserContext() === this && predicate(target);
+    }, options);
   }
 
   get connection(): Connection {
     return this.#connection;
   }
 
-  async #getTree(): Promise<void> {
-    if (!this.#isDefault) {
-      this.#init.resolve();
-      return;
-    }
-    try {
-      const {result} = await this.#connection.send(
-        'browsingContext.getTree',
-        {}
-      );
-      for (const context of result.contexts) {
-        const page = new Page(this, context);
-        this.#pages.set(context.context, page);
-      }
-      this.#init.resolve();
-    } catch (err) {
-      this.#init.reject(err as Error);
-    }
-  }
-
-  async #onContextDestroyed(
-    event: Bidi.BrowsingContext.ContextDestroyedEvent['params']
-  ) {
-    const page = this.#pages.get(event.context);
-    await page?.close().catch(error => {
-      debugError(error);
-    });
-    this.#pages.delete(event.context);
-  }
-
   override async newPage(): Promise<PageBase> {
-    await this.#init.valueOrThrow();
-
     const {result} = await this.#connection.send('browsingContext.create', {
-      type: 'tab',
+      type: Bidi.BrowsingContext.CreateType.Tab,
     });
-    const page = new Page(this, {
-      context: result.context,
-      children: [],
-    });
+    const target = this.#browser._getTargetById(result.context);
+
+    // TODO: once BiDi has some concept matching BrowserContext, the newly
+    // created contexts should get automatically assigned to the right
+    // BrowserContext. For now, we assume that only explicitly created pages go
+    // to the current BrowserContext. Otherwise, the contexts get assigned to
+    // the default BrowserContext by the Browser.
+    target._setBrowserContext(this);
+
+    const page = await target.page();
+    if (!page) {
+      throw new Error('Page is not found');
+    }
     if (this.#defaultViewport) {
       try {
         await page.setViewport(this.#defaultViewport);
@@ -108,24 +91,15 @@
       }
     }
 
-    this.#pages.set(result.context, page);
-
     return page;
   }
 
   override async close(): Promise<void> {
-    await this.#init.valueOrThrow();
-
     if (this.#isDefault) {
       throw new Error('Default context cannot be closed!');
     }
 
-    for (const page of this.#pages.values()) {
-      await page?.close().catch(error => {
-        debugError(error);
-      });
-    }
-    this.#pages.clear();
+    await this.#browser._closeContext(this);
   }
 
   override browser(): Browser {
@@ -133,7 +107,17 @@
   }
 
   override async pages(): Promise<PageBase[]> {
-    await this.#init.valueOrThrow();
-    return [...this.#pages.values()];
+    const results = await Promise.all(
+      [...this.targets()].map(t => {
+        return t.page();
+      })
+    );
+    return results.filter((p): p is Page => {
+      return p !== null;
+    });
+  }
+
+  override isIncognito(): boolean {
+    return !this.#isDefault;
   }
 }
diff --git a/node_modules/puppeteer-core/src/common/bidi/BrowsingContext.ts b/node_modules/puppeteer-core/src/common/bidi/BrowsingContext.ts
index 50e6833..15322a0 100644
--- a/node_modules/puppeteer-core/src/common/bidi/BrowsingContext.ts
+++ b/node_modules/puppeteer-core/src/common/bidi/BrowsingContext.ts
@@ -5,14 +5,14 @@
 import {assert} from '../../util/assert.js';
 import {Deferred} from '../../util/Deferred.js';
 import type {CDPSession, Connection as CDPConnection} from '../Connection.js';
-import {ProtocolError, TimeoutError} from '../Errors.js';
+import {ProtocolError, TargetCloseError, TimeoutError} from '../Errors.js';
 import {EventEmitter} from '../EventEmitter.js';
 import {PuppeteerLifeCycleEvent} from '../LifecycleWatcher.js';
-import {TimeoutSettings} from '../TimeoutSettings.js';
 import {getPageContent, setPageContent, waitWithTimeout} from '../util.js';
 
 import {Connection} from './Connection.js';
 import {Realm} from './Realm.js';
+import {debugError} from './utils.js';
 
 /**
  * @internal
@@ -32,41 +32,59 @@
   PuppeteerLifeCycleEvent,
   Bidi.BrowsingContext.ReadinessState
 >([
-  ['load', 'complete'],
-  ['domcontentloaded', 'interactive'],
+  ['load', Bidi.BrowsingContext.ReadinessState.Complete],
+  ['domcontentloaded', Bidi.BrowsingContext.ReadinessState.Interactive],
 ]);
 
 /**
  * @internal
  */
+export const cdpSessions = new Map<string, CDPSessionWrapper>();
+
+/**
+ * @internal
+ */
 export class CDPSessionWrapper extends EventEmitter implements CDPSession {
   #context: BrowsingContext;
   #sessionId = Deferred.create<string>();
+  #detached = false;
 
-  constructor(context: BrowsingContext) {
+  constructor(context: BrowsingContext, sessionId?: string) {
     super();
     this.#context = context;
-    context.connection
-      .send('cdp.getSession', {
-        context: context.id,
-      })
-      .then(session => {
-        this.#sessionId.resolve(session.result.session!);
-      })
-      .catch(err => {
-        this.#sessionId.reject(err);
-      });
+    if (sessionId) {
+      this.#sessionId.resolve(sessionId);
+      cdpSessions.set(sessionId, this);
+    } else {
+      context.connection
+        .send('cdp.getSession', {
+          context: context.id,
+        })
+        .then(session => {
+          this.#sessionId.resolve(session.result.session!);
+          cdpSessions.set(session.result.session!, this);
+        })
+        .catch(err => {
+          this.#sessionId.reject(err);
+        });
+    }
   }
 
   connection(): CDPConnection | undefined {
     return undefined;
   }
+
   async send<T extends keyof ProtocolMapping.Commands>(
     method: T,
     ...paramArgs: ProtocolMapping.Commands[T]['paramsType']
   ): Promise<ProtocolMapping.Commands[T]['returnType']> {
+    if (this.#detached) {
+      throw new TargetCloseError(
+        `Protocol error (${method}): Session closed. Most likely the page has been closed.`
+      );
+    }
     const session = await this.#sessionId.valueOrThrow();
-    const result = await this.#context.connection.send('cdp.sendCommand', {
+    const {result} = await this.#context.connection.send('cdp.sendCommand', {
       method: method,
       params: paramArgs[0],
       session,
@@ -74,8 +92,12 @@
     return result.result;
   }
 
-  detach(): Promise<void> {
-    throw new Error('Method not implemented.');
+  async detach(): Promise<void> {
+    cdpSessions.delete(this.id());
+    await this.#context.cdpSession.send('Target.detachFromTarget', {
+      sessionId: this.id(),
+    });
+    this.#detached = true;
   }
 
   id(): string {
@@ -85,32 +107,45 @@
 }
 
 /**
+ * Internal events that the BrowsingContext class emits.
+ *
+ * @internal
+ */
+export const BrowsingContextEmittedEvents = {
+  /**
+   * Emitted on the top-level context, when a descendant context is created.
+   */
+  Created: Symbol('BrowsingContext.created'),
+  /**
+   * Emitted on the top-level context, when a descendant context or the
+   * top-level context itself is destroyed.
+   */
+  Destroyed: Symbol('BrowsingContext.destroyed'),
+} as const;
+
+/**
  * @internal
  */
 export class BrowsingContext extends Realm {
-  #timeoutSettings: TimeoutSettings;
   #id: string;
   #url: string;
   #cdpSession: CDPSession;
+  #parent?: string | null;
 
-  constructor(
-    connection: Connection,
-    timeoutSettings: TimeoutSettings,
-    info: Bidi.BrowsingContext.Info
-  ) {
+  constructor(connection: Connection, info: Bidi.BrowsingContext.Info) {
     super(connection, info.context);
     this.connection = connection;
-    this.#timeoutSettings = timeoutSettings;
     this.#id = info.context;
     this.#url = info.url;
+    this.#parent = info.parent;
     this.#cdpSession = new CDPSessionWrapper(this);
 
-    this.on(
-      'browsingContext.fragmentNavigated',
-      (info: Bidi.BrowsingContext.NavigationInfo) => {
-        this.#url = info.url;
-      }
-    );
+    this.on('browsingContext.domContentLoaded', this.#updateUrl.bind(this));
+    this.on('browsingContext.load', this.#updateUrl.bind(this));
+  }
+
+  #updateUrl(info: Bidi.BrowsingContext.NavigationInfo) {
+    this.url = info.url;
   }
 
   createSandboxRealm(sandbox: string): Realm {
@@ -121,10 +156,18 @@
     return this.#url;
   }
 
+  set url(value: string) {
+    this.#url = value;
+  }
+
   get id(): string {
     return this.#id;
   }
 
+  get parent(): string | undefined | null {
+    return this.#parent;
+  }
+
   get cdpSession(): CDPSession {
     return this.#cdpSession;
   }
@@ -138,14 +181,11 @@
     options: {
       referer?: string;
       referrerPolicy?: string;
-      timeout?: number;
+      timeout: number;
       waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[];
-    } = {}
+    }
   ): Promise<string | null> {
-    const {
-      waitUntil = 'load',
-      timeout = this.#timeoutSettings.navigationTimeout(),
-    } = options;
+    const {waitUntil = 'load', timeout} = options;
 
     const readinessState = lifeCycleToReadinessState.get(
       getWaitUntilSingle(waitUntil)
@@ -174,11 +214,8 @@
     }
   }
 
-  async reload(options: WaitForOptions = {}): Promise<void> {
-    const {
-      waitUntil = 'load',
-      timeout = this.#timeoutSettings.navigationTimeout(),
-    } = options;
+  async reload(options: WaitForOptions & {timeout: number}): Promise<void> {
+    const {waitUntil = 'load', timeout} = options;
 
     const readinessState = lifeCycleToReadinessState.get(
       getWaitUntilSingle(waitUntil)
@@ -197,14 +234,11 @@
   async setContent(
     html: string,
     options: {
-      timeout?: number;
+      timeout: number;
       waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[];
     }
   ): Promise<void> {
-    const {
-      waitUntil = 'load',
-      timeout = this.#timeoutSettings.navigationTimeout(),
-    } = options;
+    const {waitUntil = 'load', timeout} = options;
 
     const waitUntilEvent = lifeCycleToSubscribedEvent.get(
       getWaitUntilSingle(waitUntil)
@@ -244,6 +278,7 @@
   dispose(): void {
     this.removeAllListeners();
     this.connection.unregisterBrowsingContexts(this.#id);
+    void this.#cdpSession.detach().catch(debugError);
   }
 }
 
diff --git a/node_modules/puppeteer-core/src/common/bidi/Connection.ts b/node_modules/puppeteer-core/src/common/bidi/Connection.ts
index b45f16a..80800d1 100644
--- a/node_modules/puppeteer-core/src/common/bidi/Connection.ts
+++ b/node_modules/puppeteer-core/src/common/bidi/Connection.ts
@@ -21,34 +21,12 @@
 import {debug} from '../Debug.js';
 import {EventEmitter} from '../EventEmitter.js';
 
-import {BrowsingContext} from './BrowsingContext.js';
+import {BrowsingContext, cdpSessions} from './BrowsingContext.js';
+import {debugError} from './utils.js';
 
 const debugProtocolSend = debug('puppeteer:webDriverBiDi:SEND ►');
 const debugProtocolReceive = debug('puppeteer:webDriverBiDi:RECV ◀');
 
-type Capability = {
-  // session.CapabilityRequest = {
-  //   ? acceptInsecureCerts: bool,
-  //   ? browserName: text,
-  //   ? browserVersion: text,
-  //   ? platformName: text,
-  //   ? proxy: {
-  //     ? proxyType: "pac" / "direct" / "autodetect" / "system" / "manual",
-  //     ? proxyAutoconfigUrl: text,
-  //     ? ftpProxy: text,
-  //     ? httpProxy: text,
-  //     ? noProxy: [*text],
-  //     ? sslProxy: text,
-  //     ? socksProxy: text,
-  //     ? socksVersion: 0..255,
-  //   },
-  //   Extensible
-  // };
-  acceptInsecureCerts?: boolean;
-  browserName?: string;
-  browserVersion?: string;
-};
-
 /**
  * @internal
  */
@@ -59,11 +37,11 @@
   };
   'script.callFunction': {
     params: Bidi.Script.CallFunctionParameters;
-    returnType: Bidi.Script.CallFunctionResult;
+    returnType: Bidi.Script.EvaluateResult;
   };
   'script.disown': {
     params: Bidi.Script.DisownParameters;
-    returnType: Bidi.Script.DisownResult;
+    returnType: Bidi.EmptyResult;
   };
   'script.addPreloadScript': {
     params: Bidi.Script.AddPreloadScriptParameters;
@@ -76,7 +54,7 @@
   };
   'browsingContext.close': {
     params: Bidi.BrowsingContext.CloseParameters;
-    returnType: Bidi.Message.EmptyResult;
+    returnType: Bidi.EmptyResult;
   };
   'browsingContext.getTree': {
     params: Bidi.BrowsingContext.GetTreeParameters;
@@ -88,7 +66,7 @@
   };
   'browsingContext.reload': {
     params: Bidi.BrowsingContext.ReloadParameters;
-    returnType: Bidi.Message.EmptyResult;
+    returnType: Bidi.EmptyResult;
   };
   'browsingContext.print': {
     params: Bidi.BrowsingContext.PrintParameters;
@@ -98,30 +76,23 @@
     params: Bidi.BrowsingContext.CaptureScreenshotParameters;
     returnType: Bidi.BrowsingContext.CaptureScreenshotResult;
   };
+  'browsingContext.handleUserPrompt': {
+    params: Bidi.BrowsingContext.HandleUserPromptParameters;
+    returnType: Bidi.EmptyResult;
+  };
 
   'input.performActions': {
     params: Bidi.Input.PerformActionsParameters;
-    returnType: Bidi.Message.EmptyResult;
+    returnType: Bidi.EmptyResult;
   };
   'input.releaseActions': {
     params: Bidi.Input.ReleaseActionsParameters;
-    returnType: Bidi.Message.EmptyResult;
+    returnType: Bidi.EmptyResult;
   };
 
   'session.new': {
-    params: {
-      // capabilities: session.CapabilitiesRequest
-      capabilities?: {
-        // session.CapabilitiesRequest = {
-        //   ? alwaysMatch: session.CapabilityRequest,
-        //   ? firstMatch: [*session.CapabilityRequest]
-        // }
-        alwaysMatch?: Capability;
-      };
-    }; // TODO: Update Types in chromium bidi
-    returnType: {
-      result: {sessionId: string; capabilities: Capability};
-    };
+    params: Bidi.Session.NewParameters;
+    returnType: Bidi.Session.NewResult;
   };
   'session.status': {
     params: object;
@@ -129,18 +100,18 @@
   };
   'session.subscribe': {
     params: Bidi.Session.SubscriptionRequest;
-    returnType: Bidi.Message.EmptyResult;
+    returnType: Bidi.EmptyResult;
   };
   'session.unsubscribe': {
     params: Bidi.Session.SubscriptionRequest;
-    returnType: Bidi.Message.EmptyResult;
+    returnType: Bidi.EmptyResult;
   };
   'cdp.sendCommand': {
-    params: Bidi.Cdp.SendCommandParams;
+    params: Bidi.Cdp.SendCommandParameters;
     returnType: Bidi.Cdp.SendCommandResult;
   };
   'cdp.getSession': {
-    params: Bidi.Cdp.GetSessionParams;
+    params: Bidi.Cdp.GetSessionParameters;
     returnType: Bidi.Cdp.GetSessionResult;
   };
 }
@@ -155,7 +126,7 @@
   #timeout? = 0;
   #closed = false;
   #callbacks = new CallbackRegistry();
-  #browsingContexts: Map<string, BrowsingContext> = new Map();
+  #browsingContexts = new Map<string, BrowsingContext>();
 
   constructor(
     url: string,
@@ -184,16 +155,16 @@
   send<T extends keyof Commands>(
     method: T,
     params: Commands[T]['params']
-  ): Promise<Commands[T]['returnType']> {
+  ): Promise<{result: Commands[T]['returnType']}> {
     return this.#callbacks.create(method, this.#timeout, id => {
       const stringifiedMessage = JSON.stringify({
         id,
         method,
         params,
-      } as Bidi.Message.CommandRequest);
+      } as Bidi.Command);
       debugProtocolSend(stringifiedMessage);
       this.#transport.send(stringifiedMessage);
-    }) as Promise<Commands[T]['returnType']>;
+    }) as Promise<{result: Commands[T]['returnType']}>;
   }
 
   /**
@@ -206,27 +177,29 @@
       });
     }
     debugProtocolReceive(message);
-    const object = JSON.parse(message) as
-      | Bidi.Message.CommandResponse
-      | Bidi.Message.EventMessage;
+    const object = JSON.parse(message) as Bidi.ChromiumBidi.Message;
 
-    if ('id' in object) {
+    if ('id' in object && object.id) {
       if ('error' in object) {
         this.#callbacks.reject(
           object.id,
-          createProtocolError(object),
+          createProtocolError(object as Bidi.ErrorResponse),
           object.message
         );
       } else {
         this.#callbacks.resolve(object.id, object);
       }
     } else {
-      this.#maybeEmitOnContext(object);
-      this.emit(object.method, object.params);
+      if ('error' in object || 'id' in object || 'launched' in object) {
+        debugError(object);
+      } else {
+        this.#maybeEmitOnContext(object);
+        this.emit(object.method, object.params);
+      }
     }
   }
 
-  #maybeEmitOnContext(event: Bidi.Message.EventMessage) {
+  #maybeEmitOnContext(event: Bidi.ChromiumBidi.Event) {
     let context: BrowsingContext | undefined;
     // Context specific events
     if ('context' in event.params && event.params.context) {
@@ -235,15 +208,9 @@
     } else if ('source' in event.params && event.params.source.context) {
       context = this.#browsingContexts.get(event.params.source.context);
     } else if (isCDPEvent(event)) {
-      // TODO: this is not a good solution and we need to find a better one.
-      // Perhaps we need to have a dedicated CDP event emitter or emulate
-      // the CDPSession interface with BiDi?.
-      const cdpSessionId = event.params.session;
-      for (const context of this.#browsingContexts.values()) {
-        if (context.cdpSession?.id() === cdpSessionId) {
-          context.cdpSession!.emit(event.params.event, event.params.params);
-        }
-      }
+      cdpSessions
+        .get(event.params.session)
+        ?.emit(event.params.event, event.params.params);
     }
     context?.emit(event.method, event.params);
   }
@@ -252,6 +219,29 @@
     this.#browsingContexts.set(context.id, context);
   }
 
+  getBrowsingContext(contextId: string): BrowsingContext {
+    const currentContext = this.#browsingContexts.get(contextId);
+    if (!currentContext) {
+      throw new Error(`BrowsingContext ${contextId} does not exist.`);
+    }
+    return currentContext;
+  }
+
+  getTopLevelContext(contextId: string): BrowsingContext {
+    let currentContext = this.#browsingContexts.get(contextId);
+    if (!currentContext) {
+      throw new Error(`BrowsingContext ${contextId} does not exist.`);
+    }
+    while (currentContext.parent) {
+      contextId = currentContext.parent;
+      currentContext = this.#browsingContexts.get(contextId);
+      if (!currentContext) {
+        throw new Error(`BrowsingContext ${contextId} does not exist.`);
+      }
+    }
+    return currentContext;
+  }
+
   unregisterBrowsingContexts(id: string): void {
     this.#browsingContexts.delete(id);
   }
@@ -275,7 +265,7 @@
 /**
  * @internal
  */
-function createProtocolError(object: Bidi.Message.ErrorResult): string {
+function createProtocolError(object: Bidi.ErrorResponse): string {
   let message = `${object.error} ${object.message}`;
   if (object.stacktrace) {
     message += ` ${object.stacktrace}`;
@@ -283,8 +273,6 @@
   return message;
 }
 
-function isCDPEvent(
-  event: Bidi.Message.EventMessage
-): event is Bidi.Cdp.EventReceivedEvent {
+function isCDPEvent(event: Bidi.ChromiumBidi.Event): event is Bidi.Cdp.Event {
   return event.method.startsWith('cdp.');
 }
diff --git a/node_modules/puppeteer-core/src/common/bidi/Dialog.ts b/node_modules/puppeteer-core/src/common/bidi/Dialog.ts
new file mode 100644
index 0000000..6210043
--- /dev/null
+++ b/node_modules/puppeteer-core/src/common/bidi/Dialog.ts
@@ -0,0 +1,55 @@
+/**
+ * Copyright 2017 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import * as Bidi from 'chromium-bidi/lib/cjs/protocol/protocol.js';
+
+import {Dialog as BaseDialog} from '../../api/Dialog.js';
+
+import {BrowsingContext} from './BrowsingContext.js';
+
+/**
+ * @internal
+ */
+export class Dialog extends BaseDialog {
+  #context: BrowsingContext;
+
+  /**
+   * @internal
+   */
+  constructor(
+    context: BrowsingContext,
+    type: Bidi.BrowsingContext.UserPromptOpenedParameters['type'],
+    message: string,
+    defaultValue = ''
+  ) {
+    super(type, message, defaultValue);
+    this.#context = context;
+  }
+
+  /**
+   * @internal
+   */
+  override async sendCommand(options: {
+    accept: boolean;
+    text?: string;
+  }): Promise<void> {
+    await this.#context.connection.send('browsingContext.handleUserPrompt', {
+      context: this.#context.id,
+      accept: options.accept,
+      userText: options.text,
+    });
+  }
+}
diff --git a/node_modules/puppeteer-core/src/common/bidi/ElementHandle.ts b/node_modules/puppeteer-core/src/common/bidi/ElementHandle.ts
index 80869fc..3eb269b 100644
--- a/node_modules/puppeteer-core/src/common/bidi/ElementHandle.ts
+++ b/node_modules/puppeteer-core/src/common/bidi/ElementHandle.ts
@@ -17,7 +17,9 @@
 import * as Bidi from 'chromium-bidi/lib/cjs/protocol/protocol.js';
 
 import {
+  AutofillData,
   ElementHandle as BaseElementHandle,
+  BoundingBox,
   ClickOptions,
 } from '../../api/ElementHandle.js';
 import {KeyPressOptions, KeyboardTypeOptions} from '../../api/Input.js';
@@ -32,14 +34,14 @@
  * @internal
  */
 export class ElementHandle<
-  ElementType extends Node = Element
+  ElementType extends Node = Element,
 > extends BaseElementHandle<ElementType> {
   declare handle: JSHandle<ElementType>;
   #frame: Frame;
 
   constructor(
     realm: Realm,
-    remoteValue: Bidi.CommonDataTypes.RemoteValue,
+    remoteValue: Bidi.Script.RemoteValue,
     frame: Frame
   ) {
     super(new JSHandle(realm, remoteValue));
@@ -58,7 +60,7 @@
     return this.handle.isPrimitiveValue;
   }
 
-  remoteValue(): Bidi.CommonDataTypes.RemoteValue {
+  remoteValue(): Bidi.Script.RemoteValue {
     return this.handle.remoteValue();
   }
 
@@ -70,6 +72,42 @@
     return;
   }
 
+  override async autofill(data: AutofillData): Promise<void> {
+    const client = this.#frame.context().cdpSession;
+    const nodeInfo = await client.send('DOM.describeNode', {
+      objectId: this.handle.id,
+    });
+    const fieldId = nodeInfo.node.backendNodeId;
+    const frameId = this.#frame._id;
+    await client.send('Autofill.trigger', {
+      fieldId,
+      frameId,
+      card: data.creditCard,
+    });
+  }
+
+  override async boundingBox(): Promise<BoundingBox | null> {
+    if (this.frame.parentFrame()) {
+      throw new Error(
+        'Elements within nested iframes are currently not supported.'
+      );
+    }
+    const box = await this.frame.isolatedRealm().evaluate(element => {
+      const rect = (element as unknown as Element).getBoundingClientRect();
+      if (!rect.left && !rect.top && !rect.width && !rect.height) {
+        // TODO(jrandolf): Detect if the element is truly not visible.
+        return null;
+      }
+      return {
+        x: rect.left,
+        y: rect.top,
+        width: rect.width,
+        height: rect.height,
+      };
+    }, this);
+    return box;
+  }
+
   // ///////////////////
   // // Input methods //
   // ///////////////////
@@ -87,7 +125,7 @@
       Object.assign({}, options, {
         origin: {
           type: 'element' as const,
-          element: remoteValue as Bidi.CommonDataTypes.SharedReference,
+          element: remoteValue as Bidi.Script.SharedReference,
         },
       })
     );
@@ -100,7 +138,7 @@
     return this.#frame.page().mouse.move(0, 0, {
       origin: {
         type: 'element' as const,
-        element: remoteValue as Bidi.CommonDataTypes.SharedReference,
+        element: remoteValue as Bidi.Script.SharedReference,
       },
     });
   }
@@ -112,7 +150,7 @@
     return this.#frame.page().touchscreen.tap(0, 0, {
       origin: {
         type: 'element' as const,
-        element: remoteValue as Bidi.CommonDataTypes.SharedReference,
+        element: remoteValue as Bidi.Script.SharedReference,
       },
     });
   }
@@ -124,7 +162,7 @@
     return this.#frame.page().touchscreen.touchStart(0, 0, {
       origin: {
         type: 'element' as const,
-        element: remoteValue as Bidi.CommonDataTypes.SharedReference,
+        element: remoteValue as Bidi.Script.SharedReference,
       },
     });
   }
@@ -136,7 +174,7 @@
     return this.#frame.page().touchscreen.touchMove(0, 0, {
       origin: {
         type: 'element' as const,
-        element: remoteValue as Bidi.CommonDataTypes.SharedReference,
+        element: remoteValue as Bidi.Script.SharedReference,
       },
     });
   }
diff --git a/node_modules/puppeteer-core/src/common/bidi/Frame.ts b/node_modules/puppeteer-core/src/common/bidi/Frame.ts
index 3f9603a..85d8b1c 100644
--- a/node_modules/puppeteer-core/src/common/bidi/Frame.ts
+++ b/node_modules/puppeteer-core/src/common/bidi/Frame.ts
@@ -104,7 +104,7 @@
 
   override async evaluateHandle<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -114,7 +114,7 @@
 
   override async evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -131,7 +131,10 @@
       waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[];
     }
   ): Promise<HTTPResponse | null> {
-    const navigationId = await this.#context.goto(url, options);
+    const navigationId = await this.#context.goto(url, {
+      ...options,
+      timeout: options?.timeout ?? this.#timeoutSettings.navigationTimeout(),
+    });
     return this.#page.getNavigationResponse(navigationId);
   }
 
@@ -142,7 +145,10 @@
       waitUntil?: PuppeteerLifeCycleEvent | PuppeteerLifeCycleEvent[];
     }
   ): Promise<void> {
-    return this.#context.setContent(html, options);
+    return this.#context.setContent(html, {
+      ...options,
+      timeout: options?.timeout ?? this.#timeoutSettings.navigationTimeout(),
+    });
   }
 
   override content(): Promise<string> {
@@ -175,7 +181,7 @@
     Func extends EvaluateFuncWith<NodeFor<Selector>, Params> = EvaluateFuncWith<
       NodeFor<Selector>,
       Params
-    >
+    >,
   >(
     selector: Selector,
     pageFunction: string | Func,
@@ -191,7 +197,7 @@
     Func extends EvaluateFuncWith<
       Array<NodeFor<Selector>>,
       Params
-    > = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>
+    > = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>,
   >(
     selector: Selector,
     pageFunction: string | Func,
@@ -220,25 +226,40 @@
       getWaitUntilSingle(waitUntil)
     ) as string;
 
-    const [info] = await Promise.all([
+    const [info] = await Deferred.race([
+      // TODO(lightning00blade): Should also keep tack of
+      // navigationAborted and navigationFailed
+      Promise.all([
+        waitForEvent<Bidi.BrowsingContext.NavigationInfo>(
+          this.#context,
+          waitUntilEvent,
+          () => {
+            return true;
+          },
+          timeout,
+          this.#abortDeferred.valueOrThrow()
+        ),
+        waitForEvent(
+          this.#context,
+          Bidi.ChromiumBidi.BrowsingContext.EventNames.NavigationStarted,
+          () => {
+            return true;
+          },
+          timeout,
+          this.#abortDeferred.valueOrThrow()
+        ),
+      ]),
       waitForEvent<Bidi.BrowsingContext.NavigationInfo>(
         this.#context,
-        waitUntilEvent,
+        Bidi.ChromiumBidi.BrowsingContext.EventNames.FragmentNavigated,
         () => {
           return true;
         },
         timeout,
         this.#abortDeferred.valueOrThrow()
-      ),
-      waitForEvent(
-        this.#context,
-        Bidi.BrowsingContext.EventNames.FragmentNavigated,
-        () => {
-          return true;
-        },
-        timeout,
-        this.#abortDeferred.valueOrThrow()
-      ),
+      ).then(info => {
+        return [info, undefined];
+      }),
     ]);
 
     return this.#page.getNavigationResponse(info.navigation);
diff --git a/node_modules/puppeteer-core/src/common/bidi/HTTPRequest.ts b/node_modules/puppeteer-core/src/common/bidi/HTTPRequest.ts
index 91d00d8..eb021ac 100644
--- a/node_modules/puppeteer-core/src/common/bidi/HTTPRequest.ts
+++ b/node_modules/puppeteer-core/src/common/bidi/HTTPRequest.ts
@@ -41,7 +41,7 @@
   #frame: Frame | null;
 
   constructor(
-    event: Bidi.Network.BeforeRequestSentParams,
+    event: Bidi.Network.BeforeRequestSentParameters,
     frame: Frame | null,
     redirectChain: HTTPRequest[]
   ) {
@@ -58,11 +58,11 @@
     this._redirectChain = redirectChain ?? [];
     this._navigationId = event.navigation;
 
-    for (const {name, value} of event.request.headers) {
+    for (const header of event.request.headers) {
       // TODO: How to handle Binary Headers
       // https://w3c.github.io/webdriver-bidi/#type-network-Header
-      if (value) {
-        this.#headers[name.toLowerCase()] = value;
+      if (header.value.type === 'string') {
+        this.#headers[header.name.toLowerCase()] = header.value.value;
       }
     }
   }
diff --git a/node_modules/puppeteer-core/src/common/bidi/HTTPResponse.ts b/node_modules/puppeteer-core/src/common/bidi/HTTPResponse.ts
index 10ac181..a920f47 100644
--- a/node_modules/puppeteer-core/src/common/bidi/HTTPResponse.ts
+++ b/node_modules/puppeteer-core/src/common/bidi/HTTPResponse.ts
@@ -39,10 +39,9 @@
 
   constructor(
     request: HTTPRequest,
-    responseEvent: Bidi.Network.ResponseCompletedParams
+    {response}: Bidi.Network.ResponseCompletedParameters
   ) {
     super();
-    const {response} = responseEvent;
     this.#request = request;
 
     this.#remoteAddress = {
@@ -54,12 +53,16 @@
     this.#fromCache = response.fromCache;
     this.#status = response.status;
     this.#statusText = response.statusText;
-    // TODO: update once BiDi has types
-    this.#timings = (response as any).timings ?? null;
+    // TODO: File and issue with BiDi spec
+    this.#timings = null;
 
     // TODO: Removed once the Firefox implementation is compliant with https://w3c.github.io/webdriver-bidi/#get-the-response-data.
     for (const header of response.headers || []) {
-      this.#headers[header.name] = header.value ?? '';
+      // TODO: How to handle Binary Headers
+      // https://w3c.github.io/webdriver-bidi/#type-network-Header
+      if (header.value.type === 'string') {
+        this.#headers[header.name.toLowerCase()] = header.value.value;
+      }
     }
   }
 
diff --git a/node_modules/puppeteer-core/src/common/bidi/Input.ts b/node_modules/puppeteer-core/src/common/bidi/Input.ts
index 869f92d..642cfdb 100644
--- a/node_modules/puppeteer-core/src/common/bidi/Input.ts
+++ b/node_modules/puppeteer-core/src/common/bidi/Input.ts
@@ -41,6 +41,23 @@
   Finger = '__puppeteer_finger',
 }
 
+enum SourceActionsType {
+  None = 'none',
+  Key = 'key',
+  Pointer = 'pointer',
+  Wheel = 'wheel',
+}
+
+enum ActionType {
+  Pause = 'pause',
+  KeyDown = 'keyDown',
+  KeyUp = 'keyUp',
+  PointerUp = 'pointerUp',
+  PointerDown = 'pointerDown',
+  PointerMove = 'pointerMove',
+  Scroll = 'scroll',
+}
+
 const getBidiKeyValue = (key: KeyInput) => {
   switch (key) {
     case '\r':
@@ -286,11 +303,11 @@
       context: this.#context.id,
       actions: [
         {
-          type: Bidi.Input.SourceActionsType.Key,
+          type: SourceActionsType.Key,
           id: InputId.Keyboard,
           actions: [
             {
-              type: Bidi.Input.ActionType.KeyDown,
+              type: ActionType.KeyDown,
               value: getBidiKeyValue(key),
             },
           ],
@@ -304,11 +321,11 @@
       context: this.#context.id,
       actions: [
         {
-          type: Bidi.Input.SourceActionsType.Key,
+          type: SourceActionsType.Key,
           id: InputId.Keyboard,
           actions: [
             {
-              type: Bidi.Input.ActionType.KeyUp,
+              type: ActionType.KeyUp,
               value: getBidiKeyValue(key),
             },
           ],
@@ -324,25 +341,25 @@
     const {delay = 0} = options;
     const actions: Bidi.Input.KeySourceAction[] = [
       {
-        type: Bidi.Input.ActionType.KeyDown,
+        type: ActionType.KeyDown,
         value: getBidiKeyValue(key),
       },
     ];
     if (delay > 0) {
       actions.push({
-        type: Bidi.Input.ActionType.Pause,
+        type: ActionType.Pause,
         duration: delay,
       });
     }
     actions.push({
-      type: Bidi.Input.ActionType.KeyUp,
+      type: ActionType.KeyUp,
       value: getBidiKeyValue(key),
     });
     await this.#context.connection.send('input.performActions', {
       context: this.#context.id,
       actions: [
         {
-          type: Bidi.Input.SourceActionsType.Key,
+          type: SourceActionsType.Key,
           id: InputId.Keyboard,
           actions,
         },
@@ -363,11 +380,11 @@
       for (const value of values) {
         actions.push(
           {
-            type: Bidi.Input.ActionType.KeyDown,
+            type: ActionType.KeyDown,
             value,
           },
           {
-            type: Bidi.Input.ActionType.KeyUp,
+            type: ActionType.KeyUp,
             value,
           }
         );
@@ -376,15 +393,15 @@
       for (const value of values) {
         actions.push(
           {
-            type: Bidi.Input.ActionType.KeyDown,
+            type: ActionType.KeyDown,
             value,
           },
           {
-            type: Bidi.Input.ActionType.Pause,
+            type: ActionType.Pause,
             duration: delay,
           },
           {
-            type: Bidi.Input.ActionType.KeyUp,
+            type: ActionType.KeyUp,
             value,
           }
         );
@@ -394,7 +411,7 @@
       context: this.#context.id,
       actions: [
         {
-          type: Bidi.Input.SourceActionsType.Key,
+          type: SourceActionsType.Key,
           id: InputId.Keyboard,
           actions,
         },
@@ -474,11 +491,11 @@
       context: this.#context.id,
       actions: [
         {
-          type: Bidi.Input.SourceActionsType.Pointer,
+          type: SourceActionsType.Pointer,
           id: InputId.Mouse,
           actions: [
             {
-              type: Bidi.Input.ActionType.PointerMove,
+              type: ActionType.PointerMove,
               x,
               y,
               duration: (options.steps ?? 0) * 50,
@@ -495,11 +512,11 @@
       context: this.#context.id,
       actions: [
         {
-          type: Bidi.Input.SourceActionsType.Pointer,
+          type: SourceActionsType.Pointer,
           id: InputId.Mouse,
           actions: [
             {
-              type: Bidi.Input.ActionType.PointerDown,
+              type: ActionType.PointerDown,
               button: getBidiButton(options.button ?? MouseButton.Left),
             },
           ],
@@ -513,11 +530,11 @@
       context: this.#context.id,
       actions: [
         {
-          type: Bidi.Input.SourceActionsType.Pointer,
+          type: SourceActionsType.Pointer,
           id: InputId.Mouse,
           actions: [
             {
-              type: Bidi.Input.ActionType.PointerUp,
+              type: ActionType.PointerUp,
               button: getBidiButton(options.button ?? MouseButton.Left),
             },
           ],
@@ -533,18 +550,18 @@
   ): Promise<void> {
     const actions: Bidi.Input.PointerSourceAction[] = [
       {
-        type: Bidi.Input.ActionType.PointerMove,
+        type: ActionType.PointerMove,
         x,
         y,
         origin: options.origin,
       },
     ];
     const pointerDownAction = {
-      type: Bidi.Input.ActionType.PointerDown,
+      type: ActionType.PointerDown,
       button: getBidiButton(options.button ?? MouseButton.Left),
     } as const;
     const pointerUpAction = {
-      type: Bidi.Input.ActionType.PointerUp,
+      type: ActionType.PointerUp,
       button: pointerDownAction.button,
     } as const;
     for (let i = 1; i < (options.count ?? 1); ++i) {
@@ -553,7 +570,7 @@
     actions.push(pointerDownAction);
     if (options.delay) {
       actions.push({
-        type: Bidi.Input.ActionType.Pause,
+        type: ActionType.Pause,
         duration: options.delay,
       });
     }
@@ -562,7 +579,7 @@
       context: this.#context.id,
       actions: [
         {
-          type: Bidi.Input.SourceActionsType.Pointer,
+          type: SourceActionsType.Pointer,
           id: InputId.Mouse,
           actions,
         },
@@ -577,11 +594,11 @@
       context: this.#context.id,
       actions: [
         {
-          type: Bidi.Input.SourceActionsType.Wheel,
+          type: SourceActionsType.Wheel,
           id: InputId.Wheel,
           actions: [
             {
-              type: Bidi.Input.ActionType.Scroll,
+              type: ActionType.Scroll,
               ...(this.#lastMovePoint ?? {
                 x: 0,
                 y: 0,
@@ -628,20 +645,20 @@
       context: this.#context.id,
       actions: [
         {
-          type: Bidi.Input.SourceActionsType.Pointer,
+          type: SourceActionsType.Pointer,
           id: InputId.Finger,
           parameters: {
             pointerType: Bidi.Input.PointerType.Touch,
           },
           actions: [
             {
-              type: Bidi.Input.ActionType.PointerMove,
+              type: ActionType.PointerMove,
               x,
               y,
               origin: options.origin,
             },
             {
-              type: Bidi.Input.ActionType.PointerDown,
+              type: ActionType.PointerDown,
               button: 0,
             },
           ],
@@ -659,14 +676,14 @@
       context: this.#context.id,
       actions: [
         {
-          type: Bidi.Input.SourceActionsType.Pointer,
+          type: SourceActionsType.Pointer,
           id: InputId.Finger,
           parameters: {
             pointerType: Bidi.Input.PointerType.Touch,
           },
           actions: [
             {
-              type: Bidi.Input.ActionType.PointerMove,
+              type: ActionType.PointerMove,
               x,
               y,
               origin: options.origin,
@@ -682,14 +699,14 @@
       context: this.#context.id,
       actions: [
         {
-          type: Bidi.Input.SourceActionsType.Pointer,
+          type: SourceActionsType.Pointer,
           id: InputId.Finger,
           parameters: {
             pointerType: Bidi.Input.PointerType.Touch,
           },
           actions: [
             {
-              type: Bidi.Input.ActionType.PointerUp,
+              type: ActionType.PointerUp,
               button: 0,
             },
           ],
diff --git a/node_modules/puppeteer-core/src/common/bidi/JSHandle.ts b/node_modules/puppeteer-core/src/common/bidi/JSHandle.ts
index 5e249a8..ed6b032 100644
--- a/node_modules/puppeteer-core/src/common/bidi/JSHandle.ts
+++ b/node_modules/puppeteer-core/src/common/bidi/JSHandle.ts
@@ -28,9 +28,9 @@
 export class JSHandle<T = unknown> extends BaseJSHandle<T> {
   #disposed = false;
   #realm: Realm;
-  #remoteValue;
+  #remoteValue: Bidi.Script.RemoteValue;
 
-  constructor(realm: Realm, remoteValue: Bidi.CommonDataTypes.RemoteValue) {
+  constructor(realm: Realm, remoteValue: Bidi.Script.RemoteValue) {
     super();
     this.#realm = realm;
     this.#remoteValue = remoteValue;
@@ -46,7 +46,7 @@
 
   override async evaluate<
     Params extends unknown[],
-    Func extends EvaluateFuncWith<T, Params> = EvaluateFuncWith<T, Params>
+    Func extends EvaluateFuncWith<T, Params> = EvaluateFuncWith<T, Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -60,7 +60,7 @@
 
   override async evaluateHandle<
     Params extends unknown[],
-    Func extends EvaluateFuncWith<T, Params> = EvaluateFuncWith<T, Params>
+    Func extends EvaluateFuncWith<T, Params> = EvaluateFuncWith<T, Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -97,7 +97,7 @@
       }
       return enumerableKeys;
     });
-    const map: Map<string, BaseJSHandle> = new Map();
+    const map = new Map<string, BaseJSHandle>();
     const results = await Promise.all(
       keys.map(key => {
         return this.getProperty(key);
@@ -115,12 +115,9 @@
   }
 
   override async jsonValue(): Promise<T> {
-    const value = BidiSerializer.deserialize(this.#remoteValue);
-
-    if (this.#remoteValue.type !== 'undefined' && value === undefined) {
-      throw new Error('Could not serialize referenced object');
-    }
-    return value;
+    return await this.evaluate(value => {
+      return value;
+    });
   }
 
   override asElement(): ElementHandle<Node> | null {
@@ -133,7 +130,10 @@
     }
     this.#disposed = true;
     if ('handle' in this.#remoteValue) {
-      await releaseReference(this.#realm, this.#remoteValue);
+      await releaseReference(
+        this.#realm,
+        this.#remoteValue as Bidi.Script.RemoteReference
+      );
     }
   }
 
@@ -164,7 +164,7 @@
     return 'handle' in this.#remoteValue ? this.#remoteValue.handle : undefined;
   }
 
-  remoteValue(): Bidi.CommonDataTypes.RemoteValue {
+  remoteValue(): Bidi.Script.RemoteValue {
     return this.#remoteValue;
   }
 }
diff --git a/node_modules/puppeteer-core/src/common/bidi/NetworkManager.ts b/node_modules/puppeteer-core/src/common/bidi/NetworkManager.ts
index 3c15d06..27ac4a3 100644
--- a/node_modules/puppeteer-core/src/common/bidi/NetworkManager.ts
+++ b/node_modules/puppeteer-core/src/common/bidi/NetworkManager.ts
@@ -36,7 +36,7 @@
     ['network.responseStarted', this.#onResponseStarted.bind(this)],
     ['network.responseCompleted', this.#onResponseCompleted.bind(this)],
     ['network.fetchError', this.#onFetchError.bind(this)],
-  ]) as Map<Bidi.Message.EventNames, Handler>;
+  ]) as Map<Bidi.Event['method'], Handler>;
 
   #requestMap = new Map<string, HTTPRequest>();
   #navigationMap = new Map<string, HTTPResponse>();
@@ -52,7 +52,7 @@
     }
   }
 
-  #onBeforeRequestSent(event: Bidi.Network.BeforeRequestSentParams): void {
+  #onBeforeRequestSent(event: Bidi.Network.BeforeRequestSentParameters): void {
     const frame = this.#page.frame(event.context ?? '');
     if (!frame) {
       return;
@@ -73,7 +73,7 @@
 
   #onResponseStarted(_event: any) {}
 
-  #onResponseCompleted(event: Bidi.Network.ResponseCompletedParams): void {
+  #onResponseCompleted(event: Bidi.Network.ResponseCompletedParameters): void {
     const request = this.#requestMap.get(event.request.request);
     if (!request) {
       return;
@@ -91,7 +91,7 @@
     this.#requestMap.delete(event.request.request);
   }
 
-  #onFetchError(event: Bidi.Network.FetchErrorParams) {
+  #onFetchError(event: Bidi.Network.FetchErrorParameters) {
     const request = this.#requestMap.get(event.request.request);
     if (!request) {
       return;
diff --git a/node_modules/puppeteer-core/src/common/bidi/Page.ts b/node_modules/puppeteer-core/src/common/bidi/Page.ts
index 057e4e6..c26e72d 100644
--- a/node_modules/puppeteer-core/src/common/bidi/Page.ts
+++ b/node_modules/puppeteer-core/src/common/bidi/Page.ts
@@ -30,6 +30,7 @@
 import {assert} from '../../util/assert.js';
 import {Deferred} from '../../util/Deferred.js';
 import {Accessibility} from '../Accessibility.js';
+import {CDPSession} from '../Connection.js';
 import {ConsoleMessage, ConsoleMessageLocation} from '../ConsoleMessage.js';
 import {Coverage} from '../Coverage.js';
 import {EmulationManager} from '../EmulationManager.js';
@@ -45,6 +46,7 @@
 import {
   debugError,
   isString,
+  validateDialogType,
   waitForEvent,
   waitWithTimeout,
   withSourcePuppeteerURLIfNone,
@@ -52,8 +54,13 @@
 
 import {Browser} from './Browser.js';
 import {BrowserContext} from './BrowserContext.js';
-import {BrowsingContext} from './BrowsingContext.js';
+import {
+  BrowsingContext,
+  BrowsingContextEmittedEvents,
+  CDPSessionWrapper,
+} from './BrowsingContext.js';
 import {Connection} from './Connection.js';
+import {Dialog} from './Dialog.js';
 import {Frame} from './Frame.js';
 import {HTTPRequest} from './HTTPRequest.js';
 import {HTTPResponse} from './HTTPResponse.js';
@@ -68,23 +75,24 @@
 export class Page extends PageBase {
   #accessibility: Accessibility;
   #timeoutSettings = new TimeoutSettings();
-  #browserContext: BrowserContext;
   #connection: Connection;
   #frameTree = new FrameTree<Frame>();
   #networkManager: NetworkManager;
   #viewport: Viewport | null = null;
   #closedDeferred = Deferred.create<TargetCloseError>();
-  #subscribedEvents = new Map<string, Handler<any>>([
+  #subscribedEvents = new Map<Bidi.Event['method'], Handler<any>>([
     ['log.entryAdded', this.#onLogEntryAdded.bind(this)],
     ['browsingContext.load', this.#onFrameLoaded.bind(this)],
     [
       'browsingContext.domContentLoaded',
       this.#onFrameDOMContentLoaded.bind(this),
     ],
-    ['browsingContext.contextCreated', this.#onFrameAttached.bind(this)],
-    ['browsingContext.contextDestroyed', this.#onFrameDetached.bind(this)],
-    ['browsingContext.fragmentNavigated', this.#onFrameNavigated.bind(this)],
-  ]) as Map<Bidi.Session.SubscriptionRequestEvent, Handler>;
+    [
+      'browsingContext.navigationStarted',
+      this.#onFrameNavigationStarted.bind(this),
+    ],
+    ['browsingContext.userPromptOpened', this.#onDialog.bind(this)],
+  ]);
   #networkManagerEvents = new Map<symbol, Handler<any>>([
     [
       NetworkManagerEmittedEvents.Request,
@@ -107,29 +115,37 @@
       this.emit.bind(this, PageEmittedEvents.Response),
     ],
   ]);
+
+  #browsingContextEvents = new Map<symbol, Handler<any>>([
+    [BrowsingContextEmittedEvents.Created, this.#onContextCreated.bind(this)],
+    [
+      BrowsingContextEmittedEvents.Destroyed,
+      this.#onContextDestroyed.bind(this),
+    ],
+  ]);
   #tracing: Tracing;
   #coverage: Coverage;
   #emulationManager: EmulationManager;
   #mouse: Mouse;
   #touchscreen: Touchscreen;
   #keyboard: Keyboard;
+  #browsingContext: BrowsingContext;
+  #browserContext: BrowserContext;
 
   constructor(
-    browserContext: BrowserContext,
-    info: Omit<Bidi.BrowsingContext.Info, 'url'> & {
-      url?: string;
-    }
+    browsingContext: BrowsingContext,
+    browserContext: BrowserContext
   ) {
     super();
+    this.#browsingContext = browsingContext;
     this.#browserContext = browserContext;
-    this.#connection = browserContext.connection;
+    this.#connection = browsingContext.connection;
+
+    for (const [event, subscriber] of this.#browsingContextEvents) {
+      this.#browsingContext.on(event, subscriber);
+    }
 
     this.#networkManager = new NetworkManager(this.#connection, this);
-    this.#onFrameAttached({
-      ...info,
-      url: info.url ?? 'about:blank',
-      children: info.children ?? [],
-    });
 
     for (const [event, subscriber] of this.#subscribedEvents) {
       this.#connection.on(event, subscriber);
@@ -139,6 +155,15 @@
       this.#networkManager.on(event, subscriber);
     }
 
+    const frame = new Frame(
+      this,
+      this.#browsingContext,
+      this.#timeoutSettings,
+      this.#browsingContext.parent
+    );
+    this.#frameTree.addFrame(frame);
+    this.emit(PageEmittedEvents.FrameAttached, frame);
+
     // TODO: https://github.com/w3c/webdriver-bidi/issues/443
     this.#accessibility = new Accessibility(
       this.mainFrame().context().cdpSession
@@ -153,6 +178,10 @@
     this.#keyboard = new Keyboard(this.mainFrame().context());
   }
 
+  _setBrowserContext(browserContext: BrowserContext): void {
+    this.#browserContext = browserContext;
+  }
+
   override get accessibility(): Accessibility {
     return this.#accessibility;
   }
@@ -178,7 +207,7 @@
   }
 
   override browser(): Browser {
-    return this.#browserContext.browser();
+    return this.browserContext().browser();
   }
 
   override browserContext(): BrowserContext {
@@ -217,44 +246,65 @@
     }
   }
 
-  #onFrameAttached(info: Bidi.BrowsingContext.Info): void {
+  #onContextCreated(context: BrowsingContext): void {
     if (
-      !this.frame(info.context) &&
-      (this.frame(info.parent ?? '') || !this.#frameTree.getMainFrame())
+      !this.frame(context.id) &&
+      (this.frame(context.parent ?? '') || !this.#frameTree.getMainFrame())
     ) {
-      const context = new BrowsingContext(
-        this.#connection,
-        this.#timeoutSettings,
-        info
-      );
-      this.#connection.registerBrowsingContexts(context);
-
       const frame = new Frame(
         this,
         context,
         this.#timeoutSettings,
-        info.parent
+        context.parent
       );
       this.#frameTree.addFrame(frame);
-      this.emit(PageEmittedEvents.FrameAttached, frame);
+      if (frame !== this.mainFrame()) {
+        this.emit(PageEmittedEvents.FrameAttached, frame);
+      }
     }
   }
 
-  async #onFrameNavigated(
+  async #onFrameNavigationStarted(
     info: Bidi.BrowsingContext.NavigationInfo
   ): Promise<void> {
     const frameId = info.context;
 
-    let frame = this.frame(frameId);
-    // Detach all child frames first.
+    const frame = this.frame(frameId);
+
     if (frame) {
-      frame = await this.#frameTree.waitForFrame(frameId);
+      // TODO: Investigate if a navigationCompleted event should be in Spec
+      const predicate = (
+        event: Bidi.BrowsingContext.DomContentLoaded['params']
+      ) => {
+        if (event.context === frame?._id) {
+          return true;
+        }
+        return false;
+      };
+
+      await Deferred.race([
+        waitForEvent(
+          this.#connection,
+          'browsingContext.domContentLoaded',
+          predicate,
+          0,
+          this.#closedDeferred.valueOrThrow()
+        ).catch(debugError),
+        waitForEvent(
+          this.#connection,
+          'browsingContext.fragmentNavigated',
+          predicate,
+          0,
+          this.#closedDeferred.valueOrThrow()
+        ).catch(debugError),
+      ]);
+
       this.emit(PageEmittedEvents.FrameNavigated, frame);
     }
   }
 
-  #onFrameDetached(info: Bidi.BrowsingContext.Info): void {
-    const frame = this.frame(info.context);
+  #onContextDestroyed(context: BrowsingContext): void {
+    const frame = this.frame(context.id);
 
     if (frame) {
       if (frame === this.mainFrame()) {
@@ -274,7 +324,7 @@
     this.emit(PageEmittedEvents.FrameDetached, frame);
   }
 
-  #onLogEntryAdded(event: Bidi.Log.LogEntry): void {
+  #onLogEntryAdded(event: Bidi.Log.Entry): void {
     const frame = this.frame(event.source.context);
     if (!frame) {
       return;
@@ -329,6 +379,17 @@
     }
   }
 
+  #onDialog(event: Bidi.BrowsingContext.UserPromptOpenedParameters): void {
+    const frame = this.frame(event.context);
+    if (!frame) {
+      return;
+    }
+    const type = validateDialogType(event.type);
+
+    const dialog = new Dialog(frame.context(), type, event.message);
+    this.emit(PageEmittedEvents.Dialog, dialog);
+  }
+
   getNavigationResponse(id: string | null): HTTPResponse | null {
     return this.#networkManager.getNavigationResponse(id);
   }
@@ -337,19 +398,21 @@
     if (this.#closedDeferred.finished()) {
       return;
     }
+
     this.#closedDeferred.resolve(new TargetCloseError('Page closed!'));
     this.#networkManager.dispose();
 
     await this.#connection.send('browsingContext.close', {
       context: this.mainFrame()._id,
     });
+
     this.emit(PageEmittedEvents.Close);
     this.removeAllListeners();
   }
 
   override async evaluateHandle<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -363,7 +426,7 @@
 
   override async evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -395,7 +458,13 @@
           response.url() === this.url()
         );
       }),
-      this.mainFrame().context().reload(options),
+      this.mainFrame()
+        .context()
+        .reload({
+          ...options,
+          timeout:
+            options?.timeout ?? this.#timeoutSettings.navigationTimeout(),
+        }),
     ]);
 
     return response;
@@ -492,11 +561,12 @@
       landscape,
       width,
       height,
-      pageRanges,
+      pageRanges: ranges,
       scale,
       preferCSSPageSize,
       timeout,
     } = this._getPDFOptions(options, 'cm');
+    const pageRanges = ranges ? ranges.split(', ') : [];
     const {result} = await waitWithTimeout(
       this.#connection.send('browsingContext.print', {
         context: this.mainFrame()._id,
@@ -507,7 +577,7 @@
           width,
           height,
         },
-        pageRanges: pageRanges.split(', '),
+        pageRanges,
         scale,
         shrinkToFit: !preferCSSPageSize,
       }),
@@ -632,16 +702,26 @@
   override title(): Promise<string> {
     return this.mainFrame().title();
   }
+
+  override async createCDPSession(): Promise<CDPSession> {
+    const {sessionId} = await this.mainFrame()
+      .context()
+      .cdpSession.send('Target.attachToTarget', {
+        targetId: this.mainFrame()._id,
+        flatten: true,
+      });
+    return new CDPSessionWrapper(this.mainFrame().context(), sessionId);
+  }
 }
 
 function isConsoleLogEntry(
-  event: Bidi.Log.LogEntry
+  event: Bidi.Log.Entry
 ): event is Bidi.Log.ConsoleLogEntry {
   return event.type === 'console';
 }
 
 function isJavaScriptLogEntry(
-  event: Bidi.Log.LogEntry
+  event: Bidi.Log.Entry
 ): event is Bidi.Log.JavascriptLogEntry {
   return event.type === 'javascript';
 }
diff --git a/node_modules/puppeteer-core/src/common/bidi/Realm.ts b/node_modules/puppeteer-core/src/common/bidi/Realm.ts
index c633bf2..8c42d55 100644
--- a/node_modules/puppeteer-core/src/common/bidi/Realm.ts
+++ b/node_modules/puppeteer-core/src/common/bidi/Realm.ts
@@ -66,7 +66,7 @@
 
   async evaluateHandle<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -76,7 +76,7 @@
 
   async evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -86,7 +86,7 @@
 
   async #evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     returnByValue: true,
     pageFunction: Func | string,
@@ -94,7 +94,7 @@
   ): Promise<Awaited<ReturnType<Func>>>;
   async #evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     returnByValue: false,
     pageFunction: Func | string,
@@ -102,7 +102,7 @@
   ): Promise<HandleFor<Awaited<ReturnType<Func>>>>;
   async #evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     returnByValue: boolean,
     pageFunction: Func | string,
@@ -114,7 +114,9 @@
     );
 
     let responsePromise;
-    const resultOwnership = returnByValue ? 'none' : 'root';
+    const resultOwnership = returnByValue
+      ? Bidi.Script.ResultOwnership.None
+      : Bidi.Script.ResultOwnership.Root;
     if (isString(pageFunction)) {
       const expression = SOURCE_URL_REGEX.test(pageFunction)
         ? pageFunction
@@ -161,7 +163,7 @@
  */
 export function getBidiHandle(
   realmOrContext: Realm,
-  result: Bidi.CommonDataTypes.RemoteValue,
+  result: Bidi.Script.RemoteValue,
   frame: Frame
 ): JSHandle | ElementHandle<Node> {
   if (result.type === 'node' || result.type === 'window') {
diff --git a/node_modules/puppeteer-core/src/common/bidi/Sandbox.ts b/node_modules/puppeteer-core/src/common/bidi/Sandbox.ts
index 81a1458..3e8f871 100644
--- a/node_modules/puppeteer-core/src/common/bidi/Sandbox.ts
+++ b/node_modules/puppeteer-core/src/common/bidi/Sandbox.ts
@@ -105,7 +105,7 @@
     Func extends EvaluateFuncWith<NodeFor<Selector>, Params> = EvaluateFuncWith<
       NodeFor<Selector>,
       Params
-    >
+    >,
   >(
     selector: Selector,
     pageFunction: Func | string,
@@ -122,7 +122,7 @@
     Func extends EvaluateFuncWith<
       Array<NodeFor<Selector>>,
       Params
-    > = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>
+    > = EvaluateFuncWith<Array<NodeFor<Selector>>, Params>,
   >(
     selector: Selector,
     pageFunction: Func | string,
@@ -140,7 +140,7 @@
 
   async evaluateHandle<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -154,7 +154,7 @@
 
   async evaluate<
     Params extends unknown[],
-    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>
+    Func extends EvaluateFunc<Params> = EvaluateFunc<Params>,
   >(
     pageFunction: Func | string,
     ...args: Params
@@ -188,7 +188,7 @@
     Params extends unknown[],
     Func extends EvaluateFunc<InnerLazyParams<Params>> = EvaluateFunc<
       InnerLazyParams<Params>
-    >
+    >,
   >(
     pageFunction: Func | string,
     options: {
diff --git a/node_modules/puppeteer-core/src/common/bidi/Serializer.ts b/node_modules/puppeteer-core/src/common/bidi/Serializer.ts
index 23dc3a5..0adfbb1 100644
--- a/node_modules/puppeteer-core/src/common/bidi/Serializer.ts
+++ b/node_modules/puppeteer-core/src/common/bidi/Serializer.ts
@@ -32,8 +32,8 @@
  * @internal
  */
 export class BidiSerializer {
-  static serializeNumber(arg: number): Bidi.CommonDataTypes.LocalValue {
-    let value: Bidi.CommonDataTypes.SpecialNumber | number;
+  static serializeNumber(arg: number): Bidi.Script.LocalValue {
+    let value: Bidi.Script.SpecialNumber | number;
     if (Object.is(arg, -0)) {
       value = '-0';
     } else if (Object.is(arg, Infinity)) {
@@ -51,7 +51,7 @@
     };
   }
 
-  static serializeObject(arg: object | null): Bidi.CommonDataTypes.LocalValue {
+  static serializeObject(arg: object | null): Bidi.Script.LocalValue {
     if (arg === null) {
       return {
         type: 'null',
@@ -78,7 +78,7 @@
         throw error;
       }
 
-      const parsedObject: Bidi.CommonDataTypes.MappingLocalValue = [];
+      const parsedObject: Bidi.Script.MappingLocalValue = [];
       for (const key in arg) {
         parsedObject.push([
           BidiSerializer.serializeRemoveValue(key),
@@ -110,7 +110,7 @@
     );
   }
 
-  static serializeRemoveValue(arg: unknown): Bidi.CommonDataTypes.LocalValue {
+  static serializeRemoveValue(arg: unknown): Bidi.Script.LocalValue {
     switch (typeof arg) {
       case 'symbol':
       case 'function':
@@ -145,9 +145,7 @@
   static async serialize(
     arg: unknown,
     context: BrowsingContext
-  ): Promise<
-    Bidi.CommonDataTypes.LocalValue | Bidi.CommonDataTypes.RemoteValue
-  > {
+  ): Promise<Bidi.Script.LocalValue> {
     if (arg instanceof LazyArg) {
       arg = await arg.get(context);
     }
@@ -167,15 +165,13 @@
       if (objectHandle.disposed) {
         throw new Error('JSHandle is disposed!');
       }
-      return objectHandle.remoteValue();
+      return objectHandle.remoteValue() as Bidi.Script.RemoteReference;
     }
 
     return BidiSerializer.serializeRemoveValue(arg);
   }
 
-  static deserializeNumber(
-    value: Bidi.CommonDataTypes.SpecialNumber | number
-  ): number {
+  static deserializeNumber(value: Bidi.Script.SpecialNumber | number): number {
     switch (value) {
       case '-0':
         return -0;
@@ -190,20 +186,22 @@
     }
   }
 
-  static deserializeLocalValue(
-    result: Bidi.CommonDataTypes.RemoteValue
-  ): unknown {
+  static deserializeLocalValue(result: Bidi.Script.RemoteValue): unknown {
     switch (result.type) {
       case 'array':
-        // TODO: Check expected output when value is undefined
-        return result.value?.map(value => {
-          return BidiSerializer.deserializeLocalValue(value);
-        });
+        if (result.value) {
+          return result.value.map(value => {
+            return BidiSerializer.deserializeLocalValue(value);
+          });
+        }
+        break;
       case 'set':
-        // TODO: Check expected output when value is undefined
-        return result.value.reduce((acc: Set<unknown>, value) => {
-          return acc.add(BidiSerializer.deserializeLocalValue(value));
-        }, new Set());
+        if (result.value) {
+          return result.value.reduce((acc: Set<unknown>, value) => {
+            return acc.add(BidiSerializer.deserializeLocalValue(value));
+          }, new Set());
+        }
+        break;
       case 'object':
         if (result.value) {
           return result.value.reduce((acc: Record<any, unknown>, tuple) => {
@@ -213,12 +211,14 @@
           }, {});
         }
         break;
-
       case 'map':
-        return result.value.reduce((acc: Map<unknown, unknown>, tuple) => {
-          const {key, value} = BidiSerializer.deserializeTuple(tuple);
-          return acc.set(key, value);
-        }, new Map());
+        if (result.value) {
+          return result.value?.reduce((acc: Map<unknown, unknown>, tuple) => {
+            const {key, value} = BidiSerializer.deserializeTuple(tuple);
+            return acc.set(key, value);
+          }, new Map());
+        }
+        break;
       case 'promise':
         return {};
       case 'regexp':
@@ -246,8 +246,8 @@
   }
 
   static deserializeTuple([serializedKey, serializedValue]: [
-    Bidi.CommonDataTypes.RemoteValue | string,
-    Bidi.CommonDataTypes.RemoteValue
+    Bidi.Script.RemoteValue | string,
+    Bidi.Script.RemoteValue,
   ]): {key: unknown; value: unknown} {
     const key =
       typeof serializedKey === 'string'
@@ -258,7 +258,7 @@
     return {key, value};
   }
 
-  static deserialize(result: Bidi.CommonDataTypes.RemoteValue): any {
+  static deserialize(result: Bidi.Script.RemoteValue): any {
     if (!result) {
       debugError('Service did not produce a result.');
       return undefined;
diff --git a/node_modules/puppeteer-core/src/common/bidi/Target.ts b/node_modules/puppeteer-core/src/common/bidi/Target.ts
new file mode 100644
index 0000000..a152496
--- /dev/null
+++ b/node_modules/puppeteer-core/src/common/bidi/Target.ts
@@ -0,0 +1,126 @@
+/**
+ * Copyright 2023 Google Inc. All rights reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import {Target, TargetType} from '../../api/Target.js';
+import {CDPSession} from '../Connection.js';
+import type {WebWorker} from '../WebWorker.js';
+
+import {Browser} from './Browser.js';
+import {BrowserContext} from './BrowserContext.js';
+import {BrowsingContext, CDPSessionWrapper} from './BrowsingContext.js';
+import {Page} from './Page.js';
+
+export class BiDiTarget extends Target {
+  protected _browserContext: BrowserContext;
+
+  constructor(browserContext: BrowserContext) {
+    super();
+    this._browserContext = browserContext;
+  }
+
+  override async worker(): Promise<WebWorker | null> {
+    return null;
+  }
+
+  override browser(): Browser {
+    return this._browserContext.browser();
+  }
+
+  override browserContext(): BrowserContext {
+    return this._browserContext;
+  }
+
+  override opener(): Target | undefined {
+    throw new Error('Not implemented');
+  }
+
+  _setBrowserContext(browserContext: BrowserContext): void {
+    this._browserContext = browserContext;
+  }
+}
+
+/**
+ * @internal
+ */
+export class BiDiBrowserTarget extends BiDiTarget {
+  override url(): string {
+    return '';
+  }
+
+  override type(): TargetType {
+    return TargetType.BROWSER;
+  }
+}
+
+/**
+ * @internal
+ */
+export class BiDiBrowsingContextTarget extends BiDiTarget {
+  protected _browsingContext: BrowsingContext;
+
+  constructor(
+    browserContext: BrowserContext,
+    browsingContext: BrowsingContext
+  ) {
+    super(browserContext);
+
+    this._browsingContext = browsingContext;
+  }
+
+  override url(): string {
+    return this._browsingContext.url;
+  }
+
+  override async createCDPSession(): Promise<CDPSession> {
+    const {sessionId} = await this._browsingContext.cdpSession.send(
+      'Target.attachToTarget',
+      {
+        targetId: this._browsingContext.id,
+        flatten: true,
+      }
+    );
+    return new CDPSessionWrapper(this._browsingContext, sessionId);
+  }
+
+  override type(): TargetType {
+    return TargetType.PAGE;
+  }
+}
+
+/**
+ * @internal
+ */
+export class BiDiPageTarget extends BiDiBrowsingContextTarget {
+  #page: Page;
+
+  constructor(
+    browserContext: BrowserContext,
+    browsingContext: BrowsingContext
+  ) {
+    super(browserContext, browsingContext);
+
+    this.#page = new Page(browsingContext, browserContext);
+  }
+
+  override async page(): Promise<Page | null> {
+    return this.#page;
+  }
+
+  override _setBrowserContext(browserContext: BrowserContext): void {
+    super._setBrowserContext(browserContext);
+    this.#page._setBrowserContext(browserContext);
+  }
+}
diff --git a/node_modules/puppeteer-core/src/common/bidi/utils.ts b/node_modules/puppeteer-core/src/common/bidi/utils.ts
index 9b56316..f86c40b 100644
--- a/node_modules/puppeteer-core/src/common/bidi/utils.ts
+++ b/node_modules/puppeteer-core/src/common/bidi/utils.ts
@@ -31,7 +31,7 @@
  */
 export async function releaseReference(
   client: Realm,
-  remoteReference: Bidi.CommonDataTypes.RemoteReference
+  remoteReference: Bidi.Script.RemoteReference
 ): Promise<void> {
   if (!remoteReference.handle) {
     return;
diff --git a/node_modules/puppeteer-core/src/common/types.ts b/node_modules/puppeteer-core/src/common/types.ts
index ac05a58..a5d35b5 100644
--- a/node_modules/puppeteer-core/src/common/types.ts
+++ b/node_modules/puppeteer-core/src/common/types.ts
@@ -22,7 +22,7 @@
 /**
  * @internal
  */
-export type BindingPayload = {
+export interface BindingPayload {
   type: string;
   name: string;
   seq: number;
@@ -31,7 +31,7 @@
    * Determines whether the arguments of the payload are trivial.
    */
   isTrivial: boolean;
-};
+}
 
 /**
  * @internal
@@ -86,7 +86,7 @@
  * @public
  */
 export type ElementFor<
-  TagName extends keyof HTMLElementTagNameMap | keyof SVGElementTagNameMap
+  TagName extends keyof HTMLElementTagNameMap | keyof SVGElementTagNameMap,
 > = TagName extends keyof HTMLElementTagNameMap
   ? HTMLElementTagNameMap[TagName]
   : TagName extends keyof SVGElementTagNameMap
@@ -144,7 +144,7 @@
 
 type Last<Arr extends NonEmptyReadonlyArray<unknown>> = Arr extends [
   infer Head,
-  ...infer Tail
+  ...infer Tail,
 ]
   ? Tail extends NonEmptyReadonlyArray<unknown>
     ? Last<Tail>
@@ -165,7 +165,7 @@
 
 type SplitWithDelemiters<
   Input extends string,
-  Delemiters extends readonly string[]
+  Delemiters extends readonly string[],
 > = Delemiters extends [infer FirstDelemiter, ...infer RestDelemiters]
   ? FirstDelemiter extends string
     ? RestDelemiters extends readonly string[]
@@ -181,7 +181,7 @@
 type Drop<
   Arr extends readonly unknown[],
   Remove,
-  Acc extends unknown[] = []
+  Acc extends unknown[] = [],
 > = Arr extends [infer Head, ...infer Tail]
   ? Head extends Remove
     ? Drop<Tail, Remove>
@@ -191,7 +191,7 @@
 type FlatmapSplitWithDelemiters<
   Inputs extends readonly string[],
   Delemiters extends readonly string[],
-  Acc extends string[] = []
+  Acc extends string[] = [],
 > = Inputs extends [infer FirstInput, ...infer RestInputs]
   ? FirstInput extends string
     ? RestInputs extends readonly string[]
@@ -207,7 +207,7 @@
 type Split<
   Input extends string,
   Delimiter extends string,
-  Acc extends string[] = []
+  Acc extends string[] = [],
 > = Input extends `${infer Prefix}${Delimiter}${infer Suffix}`
   ? Split<Suffix, Delimiter, [...Acc, Prefix]>
   : [...Acc, Input];
diff --git a/node_modules/puppeteer-core/src/common/util.ts b/node_modules/puppeteer-core/src/common/util.ts
index 27c7a01..a2ec79f 100644
--- a/node_modules/puppeteer-core/src/common/util.ts
+++ b/node_modules/puppeteer-core/src/common/util.ts
@@ -244,7 +244,7 @@
  * @internal
  */
 export const getSourcePuppeteerURLIfAvailable = <
-  T extends NonNullable<unknown>
+  T extends NonNullable<unknown>,
 >(
   object: T
 ): PuppeteerURL | undefined => {
@@ -394,19 +394,19 @@
       deferred.resolve(event);
     }
   });
-  return Deferred.race<T | Error>([deferred, abortPromise]).then(
-    r => {
-      removeEventListeners([listener]);
-      if (isErrorLike(r)) {
-        throw r;
-      }
-      return r;
-    },
-    error => {
-      removeEventListeners([listener]);
-      throw error;
+
+  try {
+    const response = await Deferred.race<T | Error>([deferred, abortPromise]);
+    if (isErrorLike(response)) {
+      throw response;
     }
-  );
+
+    return response;
+  } catch (error) {
+    throw error;
+  } finally {
+    removeEventListeners([listener]);
+  }
 }
 
 /**
@@ -647,3 +647,24 @@
 
   return content;
 }
+
+/**
+ * @internal
+ */
+export function validateDialogType(
+  type: string
+): 'alert' | 'confirm' | 'prompt' | 'beforeunload' {
+  let dialogType = null;
+  const validDialogTypes = new Set([
+    'alert',
+    'confirm',
+    'prompt',
+    'beforeunload',
+  ]);
+
+  if (validDialogTypes.has(type)) {
+    dialogType = type;
+  }
+  assert(dialogType, `Unknown javascript dialog type: ${type}`);
+  return dialogType as 'alert' | 'confirm' | 'prompt' | 'beforeunload';
+}
diff --git a/node_modules/puppeteer-core/src/generated/injected.ts b/node_modules/puppeteer-core/src/generated/injected.ts
index 2f478c3..0e95dce 100644
--- a/node_modules/puppeteer-core/src/generated/injected.ts
+++ b/node_modules/puppeteer-core/src/generated/injected.ts
@@ -5,4 +5,4 @@
  *
  * @internal
  */
-export const source = "\"use strict\";var C=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var se=Object.prototype.hasOwnProperty;var f=(t,e)=>{for(var n in e)C(t,n,{get:e[n],enumerable:!0})},ie=(t,e,n,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of oe(e))!se.call(t,o)&&o!==n&&C(t,o,{get:()=>e[o],enumerable:!(r=ne(e,o))||r.enumerable});return t};var le=t=>ie(C({},\"__esModule\",{value:!0}),t);var Oe={};f(Oe,{default:()=>Re});module.exports=le(Oe);var T=class extends Error{constructor(e){super(e),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor)}},S=class extends T{},I=class extends T{#e;#t=\"\";set code(e){this.#e=e}get code(){return this.#e}set originalMessage(e){this.#t=e}get originalMessage(){return this.#t}};var qe=Object.freeze({TimeoutError:S,ProtocolError:I});var a=class{#e=!1;#t=!1;#n;#r=()=>{};#o=new Promise(e=>{this.#r=e});#s;constructor(e){this.#s=e&&e.timeout>0?setTimeout(()=>{this.reject(new S(e.message))},e.timeout):void 0}#i(e){clearTimeout(this.#s),this.#n=e,this.#r()}resolve(e){this.#t||this.#e||(this.#e=!0,this.#i(e))}reject(e){this.#t||this.#e||(this.#t=!0,this.#i(e))}resolved(){return this.#e}finished(){return this.#e||this.#t}value(){return this.#n}async valueOrThrow(){if(await this.#o,this.#t)throw this.#n;return this.#n}static create(e){return new a(e)}static async race(e){let n=new Set;try{let r=e.map(o=>o instanceof a?(o.#s&&n.add(o),o.valueOrThrow()):o);return await Promise.race(r)}finally{for(let r of n)r.reject(new Error(\"Timeout cleared\"))}}};var G=new Map,X=t=>{let e=G.get(t);return e||(e=new Function(`return ${t}`)(),G.set(t,e),e)};var R={};f(R,{ariaQuerySelector:()=>ae,ariaQuerySelectorAll:()=>k});var ae=(t,e)=>window.__ariaQuerySelector(t,e),k=async function*(t,e){yield*await window.__ariaQuerySelectorAll(t,e)};var q={};f(q,{customQuerySelectors:()=>M});var O=class{#e=new Map;register(e,n){if(!n.queryOne&&n.queryAll){let r=n.queryAll;n.queryOne=(o,i)=>{for(let s of r(o,i))return s;return null}}else if(n.queryOne&&!n.queryAll){let r=n.queryOne;n.queryAll=(o,i)=>{let s=r(o,i);return s?[s]:[]}}else if(!n.queryOne||!n.queryAll)throw new Error(\"At least one query method must be defined.\");this.#e.set(e,{querySelector:n.queryOne,querySelectorAll:n.queryAll})}unregister(e){this.#e.delete(e)}get(e){return this.#e.get(e)}clear(){this.#e.clear()}},M=new O;var _={};f(_,{pierceQuerySelector:()=>ce,pierceQuerySelectorAll:()=>ue});var ce=(t,e)=>{let n=null,r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&!n&&s.matches(e)&&(n=s)}while(!n&&i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n},ue=(t,e)=>{let n=[],r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&s.matches(e)&&n.push(s)}while(i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n};var m=(t,e)=>{if(!t)throw new Error(e)};var P=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=a.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=new MutationObserver(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())}),this.#n.observe(this.#t,{childList:!0,subtree:!0,attributes:!0})}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(this.#n.disconnect(),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}},E=class{#e;#t;constructor(e){this.#e=e}async start(){let e=this.#t=a.create(),n=await this.#e();if(n){e.resolve(n);return}let r=async()=>{if(e.finished())return;let o=await this.#e();if(!o){window.requestAnimationFrame(r);return}e.resolve(o),await this.stop()};window.requestAnimationFrame(r)}async stop(){m(this.#t,\"Polling never started.\"),this.#t.finished()||this.#t.reject(new Error(\"Polling stopped\"))}result(){return m(this.#t,\"Polling never started.\"),this.#t.valueOrThrow()}},x=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=a.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=setInterval(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())},this.#t)}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(clearInterval(this.#n),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}};var H={};f(H,{pQuerySelector:()=>Ie,pQuerySelectorAll:()=>re});var u=class{static async*map(e,n){for await(let r of e)yield await n(r)}static async*flatMap(e,n){for await(let r of e)yield*n(r)}static async collect(e){let n=[];for await(let r of e)n.push(r);return n}static async first(e){for await(let n of e)return n}};var p={attribute:/\\[\\s*(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)\\s*(?:(?<operator>\\W?=)\\s*(?<value>.+?)\\s*(\\s(?<caseSensitive>[iIsS]))?\\s*)?\\]/gu,id:/#(?<name>[-\\w\\P{ASCII}]+)/gu,class:/\\.(?<name>[-\\w\\P{ASCII}]+)/gu,comma:/\\s*,\\s*/g,combinator:/\\s*[\\s>+~]\\s*/g,\"pseudo-element\":/::(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>¶+)\\))?/gu,\"pseudo-class\":/:(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>¶+)\\))?/gu,universal:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?\\*/gu,type:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)/gu},fe=new Set([\"combinator\",\"comma\"]);var de=t=>{switch(t){case\"pseudo-element\":case\"pseudo-class\":return new RegExp(p[t].source.replace(\"(?<argument>\\xB6+)\",\"(?<argument>.+)\"),\"gu\");default:return p[t]}};function me(t,e){let n=0,r=\"\";for(;e<t.length;e++){let o=t[e];switch(o){case\"(\":++n;break;case\")\":--n;break}if(r+=o,n===0)return r}return r}function he(t,e=p){if(!t)return[];let n=[t];for(let[o,i]of Object.entries(e))for(let s=0;s<n.length;s++){let l=n[s];if(typeof l!=\"string\")continue;i.lastIndex=0;let c=i.exec(l);if(!c)continue;let h=c.index-1,d=[],V=c[0],B=l.slice(0,h+1);B&&d.push(B),d.push({...c.groups,type:o,content:V});let z=l.slice(h+V.length+1);z&&d.push(z),n.splice(s,1,...d)}let r=0;for(let o of n)switch(typeof o){case\"string\":throw new Error(`Unexpected sequence ${o} found at index ${r}`);case\"object\":r+=o.content.length,o.pos=[r-o.content.length,r],fe.has(o.type)&&(o.content=o.content.trim()||\" \");break}return n}var pe=/(['\"])([^\\\\\\n]+?)\\1/g,ye=/\\\\./g;function K(t,e=p){if(t=t.trim(),t===\"\")return[];let n=[];t=t.replace(ye,(i,s)=>(n.push({value:i,offset:s}),\"\\uE000\".repeat(i.length))),t=t.replace(pe,(i,s,l,c)=>(n.push({value:i,offset:c}),`${s}${\"\\uE001\".repeat(l.length)}${s}`));{let i=0,s;for(;(s=t.indexOf(\"(\",i))>-1;){let l=me(t,s);n.push({value:l,offset:s}),t=`${t.substring(0,s)}(${\"\\xB6\".repeat(l.length-2)})${t.substring(s+l.length)}`,i=s+l.length}}let r=he(t,e),o=new Set;for(let i of n.reverse())for(let s of r){let{offset:l,value:c}=i;if(!(s.pos[0]<=l&&l+c.length<=s.pos[1]))continue;let{content:h}=s,d=l-s.pos[0];s.content=h.slice(0,d)+c+h.slice(d+c.length),s.content!==h&&o.add(s)}for(let i of o){let s=de(i.type);if(!s)throw new Error(`Unknown token type: ${i.type}`);s.lastIndex=0;let l=s.exec(i.content);if(!l)throw new Error(`Unable to parse content for ${i.type}: ${i.content}`);Object.assign(i,l.groups)}return r}function*N(t,e){switch(t.type){case\"list\":for(let n of t.list)yield*N(n,t);break;case\"complex\":yield*N(t.left,t),yield*N(t.right,t);break;case\"compound\":yield*t.list.map(n=>[n,t]);break;default:yield[t,e]}}function y(t){let e;return Array.isArray(t)?e=t:e=[...N(t)].map(([n])=>n),e.map(n=>n.content).join(\"\")}p.combinator=/\\s*(>>>>?|[\\s>+~])\\s*/g;var ge=/\\\\[\\s\\S]/g,we=t=>t.length<=1?t:((t[0]==='\"'||t[0]===\"'\")&&t.endsWith(t[0])&&(t=t.slice(1,-1)),t.replace(ge,e=>e[1]));function Y(t){let e=!0,n=K(t);if(n.length===0)return[[],e];let r=[],o=[r],i=[o],s=[];for(let l of n){switch(l.type){case\"combinator\":switch(l.content){case\">>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>\"),o.push(r);continue;case\">>>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>>\"),o.push(r);continue}break;case\"pseudo-element\":if(!l.name.startsWith(\"-p-\"))break;e=!1,s.length&&(r.push(y(s)),s.splice(0)),r.push({name:l.name.slice(3),value:we(l.argument??\"\")});continue;case\"comma\":s.length&&(r.push(y(s)),s.splice(0)),r=[],o=[r],i.push(o);continue}s.push(l)}return s.length&&r.push(y(s)),[i,e]}var Q={};f(Q,{textQuerySelectorAll:()=>b});var Se=new Set([\"checkbox\",\"image\",\"radio\"]),be=t=>t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&!Se.has(t.type),Te=new Set([\"SCRIPT\",\"STYLE\"]),w=t=>!Te.has(t.nodeName)&&!document.head?.contains(t),D=new WeakMap,Z=t=>{for(;t;)D.delete(t),t instanceof ShadowRoot?t=t.host:t=t.parentNode},J=new WeakSet,Pe=new MutationObserver(t=>{for(let e of t)Z(e.target)}),g=t=>{let e=D.get(t);if(e||(e={full:\"\",immediate:[]},!w(t)))return e;let n=\"\";if(be(t))e.full=t.value,e.immediate.push(t.value),t.addEventListener(\"input\",r=>{Z(r.target)},{once:!0,capture:!0});else{for(let r=t.firstChild;r;r=r.nextSibling){if(r.nodeType===Node.TEXT_NODE){e.full+=r.nodeValue??\"\",n+=r.nodeValue??\"\";continue}n&&e.immediate.push(n),n=\"\",r.nodeType===Node.ELEMENT_NODE&&(e.full+=g(r).full)}n&&e.immediate.push(n),t instanceof Element&&t.shadowRoot&&(e.full+=g(t.shadowRoot).full),J.has(t)||(Pe.observe(t,{childList:!0,characterData:!0}),J.add(t))}return D.set(t,e),e};var b=function*(t,e){let n=!1;for(let r of t.childNodes)if(r instanceof Element&&w(r)){let o;r.shadowRoot?o=b(r.shadowRoot,e):o=b(r,e);for(let i of o)yield i,n=!0}n||t instanceof Element&&w(t)&&g(t).full.includes(e)&&(yield t)};var $={};f($,{checkVisibility:()=>xe,pierce:()=>A,pierceAll:()=>L});var Ee=[\"hidden\",\"collapse\"],xe=(t,e)=>{if(!t)return e===!1;if(e===void 0)return t;let n=t.nodeType===Node.TEXT_NODE?t.parentElement:t,r=window.getComputedStyle(n),o=r&&!Ee.includes(r.visibility)&&!Ne(n);return e===o?t:!1};function Ne(t){let e=t.getBoundingClientRect();return e.width===0||e.height===0}var Ae=t=>\"shadowRoot\"in t&&t.shadowRoot instanceof ShadowRoot;function*A(t){Ae(t)?yield t.shadowRoot:yield t}function*L(t){t=A(t).next().value,yield t;let e=[document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT)];for(let n of e){let r;for(;r=n.nextNode();)r.shadowRoot&&(yield r.shadowRoot,e.push(document.createTreeWalker(r.shadowRoot,NodeFilter.SHOW_ELEMENT)))}}var j={};f(j,{xpathQuerySelectorAll:()=>U});var U=function*(t,e){let r=(t.ownerDocument||document).evaluate(e,t,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE),o;for(;o=r.iterateNext();)yield o};var ve=/[-\\w\\P{ASCII}*]/,ee=t=>\"querySelectorAll\"in t,v=class extends Error{constructor(e,n){super(`${e} is not a valid selector: ${n}`)}},F=class{#e;#t;#n=[];#r=void 0;elements;constructor(e,n,r){this.elements=[e],this.#e=n,this.#t=r,this.#o()}async run(){if(typeof this.#r==\"string\")switch(this.#r.trimStart()){case\":scope\":this.#o();break}for(;this.#r!==void 0;this.#o()){let e=this.#r,n=this.#e;typeof e==\"string\"?e[0]&&ve.test(e[0])?this.elements=u.flatMap(this.elements,async function*(r){ee(r)&&(yield*r.querySelectorAll(e))}):this.elements=u.flatMap(this.elements,async function*(r){if(!r.parentElement){if(!ee(r))return;yield*r.querySelectorAll(e);return}let o=0;for(let i of r.parentElement.children)if(++o,i===r)break;yield*r.parentElement.querySelectorAll(`:scope>:nth-child(${o})${e}`)}):this.elements=u.flatMap(this.elements,async function*(r){switch(e.name){case\"text\":yield*b(r,e.value);break;case\"xpath\":yield*U(r,e.value);break;case\"aria\":yield*k(r,e.value);break;default:let o=M.get(e.name);if(!o)throw new v(n,`Unknown selector type: ${e.name}`);yield*o.querySelectorAll(r,e.value)}})}}#o(){if(this.#n.length!==0){this.#r=this.#n.shift();return}if(this.#t.length===0){this.#r=void 0;return}let e=this.#t.shift();switch(e){case\">>>>\":{this.elements=u.flatMap(this.elements,A),this.#o();break}case\">>>\":{this.elements=u.flatMap(this.elements,L),this.#o();break}default:this.#n=e,this.#o();break}}},W=class{#e=new WeakMap;calculate(e,n=[]){if(e===null)return n;e instanceof ShadowRoot&&(e=e.host);let r=this.#e.get(e);if(r)return[...r,...n];let o=0;for(let s=e.previousSibling;s;s=s.previousSibling)++o;let i=this.calculate(e.parentNode,[o]);return this.#e.set(e,i),[...i,...n]}},te=(t,e)=>{if(t.length+e.length===0)return 0;let[n=-1,...r]=t,[o=-1,...i]=e;return n===o?te(r,i):n<o?-1:1},Ce=async function*(t){let e=new Set;for await(let r of t)e.add(r);let n=new W;yield*[...e.values()].map(r=>[r,n.calculate(r)]).sort(([,r],[,o])=>te(r,o)).map(([r])=>r)},re=function(t,e){let n,r;try{[n,r]=Y(e)}catch{return t.querySelectorAll(e)}if(r)return t.querySelectorAll(e);if(n.some(o=>{let i=0;return o.some(s=>(typeof s==\"string\"?++i:i=0,i>1))}))throw new v(e,\"Multiple deep combinators found in sequence.\");return Ce(u.flatMap(n,o=>{let i=new F(t,e,o);return i.run(),i.elements}))},Ie=async function(t,e){for await(let n of re(t,e))return n;return null};var ke=Object.freeze({...R,...q,..._,...H,...Q,...$,...j,Deferred:a,createFunction:X,createTextContent:g,IntervalPoller:x,isSuitableNodeForTextMatching:w,MutationPoller:P,RAFPoller:E}),Re=ke;\n";
+export const source = "\"use strict\";var C=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var oe=Object.getOwnPropertyNames;var se=Object.prototype.hasOwnProperty;var u=(t,e)=>{for(var n in e)C(t,n,{get:e[n],enumerable:!0})},ie=(t,e,n,r)=>{if(e&&typeof e==\"object\"||typeof e==\"function\")for(let o of oe(e))!se.call(t,o)&&o!==n&&C(t,o,{get:()=>e[o],enumerable:!(r=ne(e,o))||r.enumerable});return t};var le=t=>ie(C({},\"__esModule\",{value:!0}),t);var Oe={};u(Oe,{default:()=>Re});module.exports=le(Oe);var T=class extends Error{constructor(e){super(e),this.name=this.constructor.name,Error.captureStackTrace(this,this.constructor)}},S=class extends T{},I=class extends T{#e;#t=\"\";set code(e){this.#e=e}get code(){return this.#e}set originalMessage(e){this.#t=e}get originalMessage(){return this.#t}};var qe=Object.freeze({TimeoutError:S,ProtocolError:I});var f=class t{#e=!1;#t=!1;#n;#r=()=>{};#o=new Promise(e=>{this.#r=e});#s;constructor(e){this.#s=e&&e.timeout>0?setTimeout(()=>{this.reject(new S(e.message))},e.timeout):void 0}#i(e){clearTimeout(this.#s),this.#n=e,this.#r()}resolve(e){this.#t||this.#e||(this.#e=!0,this.#i(e))}reject(e){this.#t||this.#e||(this.#t=!0,this.#i(e))}resolved(){return this.#e}finished(){return this.#e||this.#t}value(){return this.#n}async valueOrThrow(){if(await this.#o,this.#t)throw this.#n;return this.#n}static create(e){return new t(e)}static async race(e){let n=new Set;try{let r=e.map(o=>o instanceof t?(o.#s&&n.add(o),o.valueOrThrow()):o);return await Promise.race(r)}finally{for(let r of n)r.reject(new Error(\"Timeout cleared\"))}}};var G=new Map,X=t=>{let e=G.get(t);return e||(e=new Function(`return ${t}`)(),G.set(t,e),e)};var R={};u(R,{ariaQuerySelector:()=>ae,ariaQuerySelectorAll:()=>k});var ae=(t,e)=>window.__ariaQuerySelector(t,e),k=async function*(t,e){yield*await window.__ariaQuerySelectorAll(t,e)};var q={};u(q,{customQuerySelectors:()=>M});var O=class{#e=new Map;register(e,n){if(!n.queryOne&&n.queryAll){let r=n.queryAll;n.queryOne=(o,i)=>{for(let s of r(o,i))return s;return null}}else if(n.queryOne&&!n.queryAll){let r=n.queryOne;n.queryAll=(o,i)=>{let s=r(o,i);return s?[s]:[]}}else if(!n.queryOne||!n.queryAll)throw new Error(\"At least one query method must be defined.\");this.#e.set(e,{querySelector:n.queryOne,querySelectorAll:n.queryAll})}unregister(e){this.#e.delete(e)}get(e){return this.#e.get(e)}clear(){this.#e.clear()}},M=new O;var D={};u(D,{pierceQuerySelector:()=>ce,pierceQuerySelectorAll:()=>ue});var ce=(t,e)=>{let n=null,r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&!n&&s.matches(e)&&(n=s)}while(!n&&i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n},ue=(t,e)=>{let n=[],r=o=>{let i=document.createTreeWalker(o,NodeFilter.SHOW_ELEMENT);do{let s=i.currentNode;s.shadowRoot&&r(s.shadowRoot),!(s instanceof ShadowRoot)&&s!==o&&s.matches(e)&&n.push(s)}while(i.nextNode())};return t instanceof Document&&(t=t.documentElement),r(t),n};var m=(t,e)=>{if(!t)throw new Error(e)};var P=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=f.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=new MutationObserver(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())}),this.#n.observe(this.#t,{childList:!0,subtree:!0,attributes:!0})}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(this.#n.disconnect(),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}},E=class{#e;#t;constructor(e){this.#e=e}async start(){let e=this.#t=f.create(),n=await this.#e();if(n){e.resolve(n);return}let r=async()=>{if(e.finished())return;let o=await this.#e();if(!o){window.requestAnimationFrame(r);return}e.resolve(o),await this.stop()};window.requestAnimationFrame(r)}async stop(){m(this.#t,\"Polling never started.\"),this.#t.finished()||this.#t.reject(new Error(\"Polling stopped\"))}result(){return m(this.#t,\"Polling never started.\"),this.#t.valueOrThrow()}},x=class{#e;#t;#n;#r;constructor(e,n){this.#e=e,this.#t=n}async start(){let e=this.#r=f.create(),n=await this.#e();if(n){e.resolve(n);return}this.#n=setInterval(async()=>{let r=await this.#e();r&&(e.resolve(r),await this.stop())},this.#t)}async stop(){m(this.#r,\"Polling never started.\"),this.#r.finished()||this.#r.reject(new Error(\"Polling stopped\")),this.#n&&(clearInterval(this.#n),this.#n=void 0)}result(){return m(this.#r,\"Polling never started.\"),this.#r.valueOrThrow()}};var H={};u(H,{pQuerySelector:()=>Ie,pQuerySelectorAll:()=>re});var c=class{static async*map(e,n){for await(let r of e)yield await n(r)}static async*flatMap(e,n){for await(let r of e)yield*n(r)}static async collect(e){let n=[];for await(let r of e)n.push(r);return n}static async first(e){for await(let n of e)return n}};var p={attribute:/\\[\\s*(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)\\s*(?:(?<operator>\\W?=)\\s*(?<value>.+?)\\s*(\\s(?<caseSensitive>[iIsS]))?\\s*)?\\]/gu,id:/#(?<name>[-\\w\\P{ASCII}]+)/gu,class:/\\.(?<name>[-\\w\\P{ASCII}]+)/gu,comma:/\\s*,\\s*/g,combinator:/\\s*[\\s>+~]\\s*/g,\"pseudo-element\":/::(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>¶+)\\))?/gu,\"pseudo-class\":/:(?<name>[-\\w\\P{ASCII}]+)(?:\\((?<argument>¶+)\\))?/gu,universal:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?\\*/gu,type:/(?:(?<namespace>\\*|[-\\w\\P{ASCII}]*)\\|)?(?<name>[-\\w\\P{ASCII}]+)/gu},fe=new Set([\"combinator\",\"comma\"]);var de=t=>{switch(t){case\"pseudo-element\":case\"pseudo-class\":return new RegExp(p[t].source.replace(\"(?<argument>\\xB6+)\",\"(?<argument>.+)\"),\"gu\");default:return p[t]}};function me(t,e){let n=0,r=\"\";for(;e<t.length;e++){let o=t[e];switch(o){case\"(\":++n;break;case\")\":--n;break}if(r+=o,n===0)return r}return r}function he(t,e=p){if(!t)return[];let n=[t];for(let[o,i]of Object.entries(e))for(let s=0;s<n.length;s++){let l=n[s];if(typeof l!=\"string\")continue;i.lastIndex=0;let a=i.exec(l);if(!a)continue;let h=a.index-1,d=[],V=a[0],B=l.slice(0,h+1);B&&d.push(B),d.push({...a.groups,type:o,content:V});let z=l.slice(h+V.length+1);z&&d.push(z),n.splice(s,1,...d)}let r=0;for(let o of n)switch(typeof o){case\"string\":throw new Error(`Unexpected sequence ${o} found at index ${r}`);case\"object\":r+=o.content.length,o.pos=[r-o.content.length,r],fe.has(o.type)&&(o.content=o.content.trim()||\" \");break}return n}var pe=/(['\"])([^\\\\\\n]+?)\\1/g,ye=/\\\\./g;function K(t,e=p){if(t=t.trim(),t===\"\")return[];let n=[];t=t.replace(ye,(i,s)=>(n.push({value:i,offset:s}),\"\\uE000\".repeat(i.length))),t=t.replace(pe,(i,s,l,a)=>(n.push({value:i,offset:a}),`${s}${\"\\uE001\".repeat(l.length)}${s}`));{let i=0,s;for(;(s=t.indexOf(\"(\",i))>-1;){let l=me(t,s);n.push({value:l,offset:s}),t=`${t.substring(0,s)}(${\"\\xB6\".repeat(l.length-2)})${t.substring(s+l.length)}`,i=s+l.length}}let r=he(t,e),o=new Set;for(let i of n.reverse())for(let s of r){let{offset:l,value:a}=i;if(!(s.pos[0]<=l&&l+a.length<=s.pos[1]))continue;let{content:h}=s,d=l-s.pos[0];s.content=h.slice(0,d)+a+h.slice(d+a.length),s.content!==h&&o.add(s)}for(let i of o){let s=de(i.type);if(!s)throw new Error(`Unknown token type: ${i.type}`);s.lastIndex=0;let l=s.exec(i.content);if(!l)throw new Error(`Unable to parse content for ${i.type}: ${i.content}`);Object.assign(i,l.groups)}return r}function*N(t,e){switch(t.type){case\"list\":for(let n of t.list)yield*N(n,t);break;case\"complex\":yield*N(t.left,t),yield*N(t.right,t);break;case\"compound\":yield*t.list.map(n=>[n,t]);break;default:yield[t,e]}}function y(t){let e;return Array.isArray(t)?e=t:e=[...N(t)].map(([n])=>n),e.map(n=>n.content).join(\"\")}p.combinator=/\\s*(>>>>?|[\\s>+~])\\s*/g;var ge=/\\\\[\\s\\S]/g,we=t=>t.length<=1?t:((t[0]==='\"'||t[0]===\"'\")&&t.endsWith(t[0])&&(t=t.slice(1,-1)),t.replace(ge,e=>e[1]));function Y(t){let e=!0,n=K(t);if(n.length===0)return[[],e];let r=[],o=[r],i=[o],s=[];for(let l of n){switch(l.type){case\"combinator\":switch(l.content){case\">>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>\"),o.push(r);continue;case\">>>>\":e=!1,s.length&&(r.push(y(s)),s.splice(0)),r=[],o.push(\">>>>\"),o.push(r);continue}break;case\"pseudo-element\":if(!l.name.startsWith(\"-p-\"))break;e=!1,s.length&&(r.push(y(s)),s.splice(0)),r.push({name:l.name.slice(3),value:we(l.argument??\"\")});continue;case\"comma\":s.length&&(r.push(y(s)),s.splice(0)),r=[],o=[r],i.push(o);continue}s.push(l)}return s.length&&r.push(y(s)),[i,e]}var Q={};u(Q,{textQuerySelectorAll:()=>b});var Se=new Set([\"checkbox\",\"image\",\"radio\"]),be=t=>t instanceof HTMLSelectElement||t instanceof HTMLTextAreaElement||t instanceof HTMLInputElement&&!Se.has(t.type),Te=new Set([\"SCRIPT\",\"STYLE\"]),w=t=>!Te.has(t.nodeName)&&!document.head?.contains(t),_=new WeakMap,Z=t=>{for(;t;)_.delete(t),t instanceof ShadowRoot?t=t.host:t=t.parentNode},J=new WeakSet,Pe=new MutationObserver(t=>{for(let e of t)Z(e.target)}),g=t=>{let e=_.get(t);if(e||(e={full:\"\",immediate:[]},!w(t)))return e;let n=\"\";if(be(t))e.full=t.value,e.immediate.push(t.value),t.addEventListener(\"input\",r=>{Z(r.target)},{once:!0,capture:!0});else{for(let r=t.firstChild;r;r=r.nextSibling){if(r.nodeType===Node.TEXT_NODE){e.full+=r.nodeValue??\"\",n+=r.nodeValue??\"\";continue}n&&e.immediate.push(n),n=\"\",r.nodeType===Node.ELEMENT_NODE&&(e.full+=g(r).full)}n&&e.immediate.push(n),t instanceof Element&&t.shadowRoot&&(e.full+=g(t.shadowRoot).full),J.has(t)||(Pe.observe(t,{childList:!0,characterData:!0}),J.add(t))}return _.set(t,e),e};var b=function*(t,e){let n=!1;for(let r of t.childNodes)if(r instanceof Element&&w(r)){let o;r.shadowRoot?o=b(r.shadowRoot,e):o=b(r,e);for(let i of o)yield i,n=!0}n||t instanceof Element&&w(t)&&g(t).full.includes(e)&&(yield t)};var $={};u($,{checkVisibility:()=>xe,pierce:()=>A,pierceAll:()=>L});var Ee=[\"hidden\",\"collapse\"],xe=(t,e)=>{if(!t)return e===!1;if(e===void 0)return t;let n=t.nodeType===Node.TEXT_NODE?t.parentElement:t,r=window.getComputedStyle(n),o=r&&!Ee.includes(r.visibility)&&!Ne(n);return e===o?t:!1};function Ne(t){let e=t.getBoundingClientRect();return e.width===0||e.height===0}var Ae=t=>\"shadowRoot\"in t&&t.shadowRoot instanceof ShadowRoot;function*A(t){Ae(t)?yield t.shadowRoot:yield t}function*L(t){t=A(t).next().value,yield t;let e=[document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT)];for(let n of e){let r;for(;r=n.nextNode();)r.shadowRoot&&(yield r.shadowRoot,e.push(document.createTreeWalker(r.shadowRoot,NodeFilter.SHOW_ELEMENT)))}}var j={};u(j,{xpathQuerySelectorAll:()=>U});var U=function*(t,e){let r=(t.ownerDocument||document).evaluate(e,t,null,XPathResult.ORDERED_NODE_ITERATOR_TYPE),o;for(;o=r.iterateNext();)yield o};var ve=/[-\\w\\P{ASCII}*]/,ee=t=>\"querySelectorAll\"in t,v=class extends Error{constructor(e,n){super(`${e} is not a valid selector: ${n}`)}},F=class{#e;#t;#n=[];#r=void 0;elements;constructor(e,n,r){this.elements=[e],this.#e=n,this.#t=r,this.#o()}async run(){if(typeof this.#r==\"string\")switch(this.#r.trimStart()){case\":scope\":this.#o();break}for(;this.#r!==void 0;this.#o()){let e=this.#r,n=this.#e;typeof e==\"string\"?e[0]&&ve.test(e[0])?this.elements=c.flatMap(this.elements,async function*(r){ee(r)&&(yield*r.querySelectorAll(e))}):this.elements=c.flatMap(this.elements,async function*(r){if(!r.parentElement){if(!ee(r))return;yield*r.querySelectorAll(e);return}let o=0;for(let i of r.parentElement.children)if(++o,i===r)break;yield*r.parentElement.querySelectorAll(`:scope>:nth-child(${o})${e}`)}):this.elements=c.flatMap(this.elements,async function*(r){switch(e.name){case\"text\":yield*b(r,e.value);break;case\"xpath\":yield*U(r,e.value);break;case\"aria\":yield*k(r,e.value);break;default:let o=M.get(e.name);if(!o)throw new v(n,`Unknown selector type: ${e.name}`);yield*o.querySelectorAll(r,e.value)}})}}#o(){if(this.#n.length!==0){this.#r=this.#n.shift();return}if(this.#t.length===0){this.#r=void 0;return}let e=this.#t.shift();switch(e){case\">>>>\":{this.elements=c.flatMap(this.elements,A),this.#o();break}case\">>>\":{this.elements=c.flatMap(this.elements,L),this.#o();break}default:this.#n=e,this.#o();break}}},W=class{#e=new WeakMap;calculate(e,n=[]){if(e===null)return n;e instanceof ShadowRoot&&(e=e.host);let r=this.#e.get(e);if(r)return[...r,...n];let o=0;for(let s=e.previousSibling;s;s=s.previousSibling)++o;let i=this.calculate(e.parentNode,[o]);return this.#e.set(e,i),[...i,...n]}},te=(t,e)=>{if(t.length+e.length===0)return 0;let[n=-1,...r]=t,[o=-1,...i]=e;return n===o?te(r,i):n<o?-1:1},Ce=async function*(t){let e=new Set;for await(let r of t)e.add(r);let n=new W;yield*[...e.values()].map(r=>[r,n.calculate(r)]).sort(([,r],[,o])=>te(r,o)).map(([r])=>r)},re=function(t,e){let n,r;try{[n,r]=Y(e)}catch{return t.querySelectorAll(e)}if(r)return t.querySelectorAll(e);if(n.some(o=>{let i=0;return o.some(s=>(typeof s==\"string\"?++i:i=0,i>1))}))throw new v(e,\"Multiple deep combinators found in sequence.\");return Ce(c.flatMap(n,o=>{let i=new F(t,e,o);return i.run(),i.elements}))},Ie=async function(t,e){for await(let n of re(t,e))return n;return null};var ke=Object.freeze({...R,...q,...D,...H,...Q,...$,...j,Deferred:f,createFunction:X,createTextContent:g,IntervalPoller:x,isSuitableNodeForTextMatching:w,MutationPoller:P,RAFPoller:E}),Re=ke;\n";
diff --git a/node_modules/puppeteer-core/src/generated/version.ts b/node_modules/puppeteer-core/src/generated/version.ts
index a68d9b4..a26a23d 100644
--- a/node_modules/puppeteer-core/src/generated/version.ts
+++ b/node_modules/puppeteer-core/src/generated/version.ts
@@ -1,4 +1,4 @@
 /**
  * @internal
  */
-export const packageVersion = '20.8.2';
+export const packageVersion = '21.0.1';
diff --git a/node_modules/puppeteer-core/src/injected/PSelectorParser.ts b/node_modules/puppeteer-core/src/injected/PSelectorParser.ts
index a7096f9..f1bcee3 100644
--- a/node_modules/puppeteer-core/src/injected/PSelectorParser.ts
+++ b/node_modules/puppeteer-core/src/injected/PSelectorParser.ts
@@ -17,10 +17,10 @@
 import {Token, tokenize, TOKENS, stringify} from 'parsel-js';
 
 export type CSSSelector = string;
-export type PPseudoSelector = {
+export interface PPseudoSelector {
   name: string;
   value: string;
-};
+}
 export const enum PCombinator {
   Descendent = '>>>',
   Child = '>>>>',
diff --git a/node_modules/puppeteer-core/src/injected/TextContent.ts b/node_modules/puppeteer-core/src/injected/TextContent.ts
index 8c09bbc..9798b17 100644
--- a/node_modules/puppeteer-core/src/injected/TextContent.ts
+++ b/node_modules/puppeteer-core/src/injected/TextContent.ts
@@ -57,12 +57,12 @@
 /**
  * @internal
  */
-export type TextContent = {
+export interface TextContent {
   // Contains the full text of the node.
   full: string;
   // Contains the text immediately beneath the node.
   immediate: string[];
-};
+}
 
 /**
  * Maps {@link Node}s to their computed {@link TextContent}.
diff --git a/node_modules/puppeteer-core/src/node/ChromeLauncher.ts b/node_modules/puppeteer-core/src/node/ChromeLauncher.ts
index f0d1be2..d44dc3b 100644
--- a/node_modules/puppeteer-core/src/node/ChromeLauncher.ts
+++ b/node_modules/puppeteer-core/src/node/ChromeLauncher.ts
@@ -55,7 +55,7 @@
         [
           '\x1B[1m\x1B[43m\x1B[30m',
           'Puppeteer old Headless deprecation warning:\x1B[0m\x1B[33m',
-          '  In the near feature `headless: true` will default to the new Headless mode',
+          '  In the near future `headless: true` will default to the new Headless mode',
           '  for Chrome instead of the old Headless implementation. For more',
           '  information, please see https://developer.chrome.com/articles/new-headless/.',
           '  Consider opting in early by passing `headless: "new"` to `puppeteer.launch()`',
diff --git a/node_modules/puppeteer-core/src/node/ProductLauncher.ts b/node_modules/puppeteer-core/src/node/ProductLauncher.ts
index f11f9f0..219156a 100644
--- a/node_modules/puppeteer-core/src/node/ProductLauncher.ts
+++ b/node_modules/puppeteer-core/src/node/ProductLauncher.ts
@@ -46,12 +46,12 @@
 /**
  * @internal
  */
-export type ResolvedLaunchArgs = {
+export interface ResolvedLaunchArgs {
   isTempUserDataDir: boolean;
   userDataDir: string;
   executablePath: string;
   args: string[];
-};
+}
 
 /**
  * Describes a launcher - a class that is able to create and launch a browser instance.
diff --git a/node_modules/puppeteer-core/src/revisions.ts b/node_modules/puppeteer-core/src/revisions.ts
index f1d13c8..af3950e 100644
--- a/node_modules/puppeteer-core/src/revisions.ts
+++ b/node_modules/puppeteer-core/src/revisions.ts
@@ -18,6 +18,6 @@
  * @internal
  */
 export const PUPPETEER_REVISIONS = Object.freeze({
-  chrome: '114.0.5735.133',
+  chrome: '115.0.5790.102',
   firefox: 'latest',
 });
diff --git a/node_modules/puppeteer-core/src/util/Deferred.ts b/node_modules/puppeteer-core/src/util/Deferred.ts
index 7ddbc00..9c418f4 100644
--- a/node_modules/puppeteer-core/src/util/Deferred.ts
+++ b/node_modules/puppeteer-core/src/util/Deferred.ts
@@ -85,7 +85,7 @@
   static async race<R>(
     awaitables: Array<Promise<R> | Deferred<R>>
   ): Promise<R> {
-    const deferredWithTimeout: Set<Deferred<R>> = new Set();
+    const deferredWithTimeout = new Set<Deferred<R>>();
     try {
       const promises = awaitables.map(value => {
         if (value instanceof Deferred) {
diff --git a/node_modules/socks/node_modules/ip/README.md b/node_modules/socks/node_modules/ip/README.md
new file mode 100644
index 0000000..22e5819
--- /dev/null
+++ b/node_modules/socks/node_modules/ip/README.md
@@ -0,0 +1,90 @@
+# IP  
+[![](https://badge.fury.io/js/ip.svg)](https://www.npmjs.com/package/ip)  
+
+IP address utilities for node.js
+
+## Installation
+
+###  npm
+```shell
+npm install ip
+```
+
+### git
+
+```shell
+git clone https://github.com/indutny/node-ip.git
+```
+  
+## Usage
+Get your ip address, compare ip addresses, validate ip addresses, etc.
+
+```js
+var ip = require('ip');
+
+ip.address() // my ip address
+ip.isEqual('::1', '::0:1'); // true
+ip.toBuffer('127.0.0.1') // Buffer([127, 0, 0, 1])
+ip.toString(new Buffer([127, 0, 0, 1])) // 127.0.0.1
+ip.fromPrefixLen(24) // 255.255.255.0
+ip.mask('192.168.1.134', '255.255.255.0') // 192.168.1.0
+ip.cidr('192.168.1.134/26') // 192.168.1.128
+ip.not('255.255.255.0') // 0.0.0.255
+ip.or('192.168.1.134', '0.0.0.255') // 192.168.1.255
+ip.isPrivate('127.0.0.1') // true
+ip.isV4Format('127.0.0.1'); // true
+ip.isV6Format('::ffff:127.0.0.1'); // true
+
+// operate on buffers in-place
+var buf = new Buffer(128);
+var offset = 64;
+ip.toBuffer('127.0.0.1', buf, offset);  // [127, 0, 0, 1] at offset 64
+ip.toString(buf, offset, 4);            // '127.0.0.1'
+
+// subnet information
+ip.subnet('192.168.1.134', '255.255.255.192')
+// { networkAddress: '192.168.1.128',
+//   firstAddress: '192.168.1.129',
+//   lastAddress: '192.168.1.190',
+//   broadcastAddress: '192.168.1.191',
+//   subnetMask: '255.255.255.192',
+//   subnetMaskLength: 26,
+//   numHosts: 62,
+//   length: 64,
+//   contains: function(addr){...} }
+ip.cidrSubnet('192.168.1.134/26')
+// Same as previous.
+
+// range checking
+ip.cidrSubnet('192.168.1.134/26').contains('192.168.1.190') // true
+
+
+// ipv4 long conversion
+ip.toLong('127.0.0.1'); // 2130706433
+ip.fromLong(2130706433); // '127.0.0.1'
+```
+
+### License
+
+This software is licensed under the MIT License.
+
+Copyright Fedor Indutny, 2012.
+
+Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to permit
+persons to whom the Software is furnished to do so, subject to the
+following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/socks/node_modules/ip/lib/ip.js b/node_modules/socks/node_modules/ip/lib/ip.js
new file mode 100644
index 0000000..4b2adb5
--- /dev/null
+++ b/node_modules/socks/node_modules/ip/lib/ip.js
@@ -0,0 +1,422 @@
+const ip = exports;
+const { Buffer } = require('buffer');
+const os = require('os');
+
+ip.toBuffer = function (ip, buff, offset) {
+  offset = ~~offset;
+
+  let result;
+
+  if (this.isV4Format(ip)) {
+    result = buff || Buffer.alloc(offset + 4);
+    ip.split(/\./g).map((byte) => {
+      result[offset++] = parseInt(byte, 10) & 0xff;
+    });
+  } else if (this.isV6Format(ip)) {
+    const sections = ip.split(':', 8);
+
+    let i;
+    for (i = 0; i < sections.length; i++) {
+      const isv4 = this.isV4Format(sections[i]);
+      let v4Buffer;
+
+      if (isv4) {
+        v4Buffer = this.toBuffer(sections[i]);
+        sections[i] = v4Buffer.slice(0, 2).toString('hex');
+      }
+
+      if (v4Buffer && ++i < 8) {
+        sections.splice(i, 0, v4Buffer.slice(2, 4).toString('hex'));
+      }
+    }
+
+    if (sections[0] === '') {
+      while (sections.length < 8) sections.unshift('0');
+    } else if (sections[sections.length - 1] === '') {
+      while (sections.length < 8) sections.push('0');
+    } else if (sections.length < 8) {
+      for (i = 0; i < sections.length && sections[i] !== ''; i++);
+      const argv = [i, 1];
+      for (i = 9 - sections.length; i > 0; i--) {
+        argv.push('0');
+      }
+      sections.splice(...argv);
+    }
+
+    result = buff || Buffer.alloc(offset + 16);
+    for (i = 0; i < sections.length; i++) {
+      const word = parseInt(sections[i], 16);
+      result[offset++] = (word >> 8) & 0xff;
+      result[offset++] = word & 0xff;
+    }
+  }
+
+  if (!result) {
+    throw Error(`Invalid ip address: ${ip}`);
+  }
+
+  return result;
+};
+
+ip.toString = function (buff, offset, length) {
+  offset = ~~offset;
+  length = length || (buff.length - offset);
+
+  let result = [];
+  if (length === 4) {
+    // IPv4
+    for (let i = 0; i < length; i++) {
+      result.push(buff[offset + i]);
+    }
+    result = result.join('.');
+  } else if (length === 16) {
+    // IPv6
+    for (let i = 0; i < length; i += 2) {
+      result.push(buff.readUInt16BE(offset + i).toString(16));
+    }
+    result = result.join(':');
+    result = result.replace(/(^|:)0(:0)*:0(:|$)/, '$1::$3');
+    result = result.replace(/:{3,4}/, '::');
+  }
+
+  return result;
+};
+
+const ipv4Regex = /^(\d{1,3}\.){3,3}\d{1,3}$/;
+const ipv6Regex = /^(::)?(((\d{1,3}\.){3}(\d{1,3}){1})?([0-9a-f]){0,4}:{0,2}){1,8}(::)?$/i;
+
+ip.isV4Format = function (ip) {
+  return ipv4Regex.test(ip);
+};
+
+ip.isV6Format = function (ip) {
+  return ipv6Regex.test(ip);
+};
+
+function _normalizeFamily(family) {
+  if (family === 4) {
+    return 'ipv4';
+  }
+  if (family === 6) {
+    return 'ipv6';
+  }
+  return family ? family.toLowerCase() : 'ipv4';
+}
+
+ip.fromPrefixLen = function (prefixlen, family) {
+  if (prefixlen > 32) {
+    family = 'ipv6';
+  } else {
+    family = _normalizeFamily(family);
+  }
+
+  let len = 4;
+  if (family === 'ipv6') {
+    len = 16;
+  }
+  const buff = Buffer.alloc(len);
+
+  for (let i = 0, n = buff.length; i < n; ++i) {
+    let bits = 8;
+    if (prefixlen < 8) {
+      bits = prefixlen;
+    }
+    prefixlen -= bits;
+
+    buff[i] = ~(0xff >> bits) & 0xff;
+  }
+
+  return ip.toString(buff);
+};
+
+ip.mask = function (addr, mask) {
+  addr = ip.toBuffer(addr);
+  mask = ip.toBuffer(mask);
+
+  const result = Buffer.alloc(Math.max(addr.length, mask.length));
+
+  // Same protocol - do bitwise and
+  let i;
+  if (addr.length === mask.length) {
+    for (i = 0; i < addr.length; i++) {
+      result[i] = addr[i] & mask[i];
+    }
+  } else if (mask.length === 4) {
+    // IPv6 address and IPv4 mask
+    // (Mask low bits)
+    for (i = 0; i < mask.length; i++) {
+      result[i] = addr[addr.length - 4 + i] & mask[i];
+    }
+  } else {
+    // IPv6 mask and IPv4 addr
+    for (i = 0; i < result.length - 6; i++) {
+      result[i] = 0;
+    }
+
+    // ::ffff:ipv4
+    result[10] = 0xff;
+    result[11] = 0xff;
+    for (i = 0; i < addr.length; i++) {
+      result[i + 12] = addr[i] & mask[i + 12];
+    }
+    i += 12;
+  }
+  for (; i < result.length; i++) {
+    result[i] = 0;
+  }
+
+  return ip.toString(result);
+};
+
+ip.cidr = function (cidrString) {
+  const cidrParts = cidrString.split('/');
+
+  const addr = cidrParts[0];
+  if (cidrParts.length !== 2) {
+    throw new Error(`invalid CIDR subnet: ${addr}`);
+  }
+
+  const mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10));
+
+  return ip.mask(addr, mask);
+};
+
+ip.subnet = function (addr, mask) {
+  const networkAddress = ip.toLong(ip.mask(addr, mask));
+
+  // Calculate the mask's length.
+  const maskBuffer = ip.toBuffer(mask);
+  let maskLength = 0;
+
+  for (let i = 0; i < maskBuffer.length; i++) {
+    if (maskBuffer[i] === 0xff) {
+      maskLength += 8;
+    } else {
+      let octet = maskBuffer[i] & 0xff;
+      while (octet) {
+        octet = (octet << 1) & 0xff;
+        maskLength++;
+      }
+    }
+  }
+
+  const numberOfAddresses = 2 ** (32 - maskLength);
+
+  return {
+    networkAddress: ip.fromLong(networkAddress),
+    firstAddress: numberOfAddresses <= 2
+      ? ip.fromLong(networkAddress)
+      : ip.fromLong(networkAddress + 1),
+    lastAddress: numberOfAddresses <= 2
+      ? ip.fromLong(networkAddress + numberOfAddresses - 1)
+      : ip.fromLong(networkAddress + numberOfAddresses - 2),
+    broadcastAddress: ip.fromLong(networkAddress + numberOfAddresses - 1),
+    subnetMask: mask,
+    subnetMaskLength: maskLength,
+    numHosts: numberOfAddresses <= 2
+      ? numberOfAddresses : numberOfAddresses - 2,
+    length: numberOfAddresses,
+    contains(other) {
+      return networkAddress === ip.toLong(ip.mask(other, mask));
+    },
+  };
+};
+
+ip.cidrSubnet = function (cidrString) {
+  const cidrParts = cidrString.split('/');
+
+  const addr = cidrParts[0];
+  if (cidrParts.length !== 2) {
+    throw new Error(`invalid CIDR subnet: ${addr}`);
+  }
+
+  const mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10));
+
+  return ip.subnet(addr, mask);
+};
+
+ip.not = function (addr) {
+  const buff = ip.toBuffer(addr);
+  for (let i = 0; i < buff.length; i++) {
+    buff[i] = 0xff ^ buff[i];
+  }
+  return ip.toString(buff);
+};
+
+ip.or = function (a, b) {
+  a = ip.toBuffer(a);
+  b = ip.toBuffer(b);
+
+  // same protocol
+  if (a.length === b.length) {
+    for (let i = 0; i < a.length; ++i) {
+      a[i] |= b[i];
+    }
+    return ip.toString(a);
+
+  // mixed protocols
+  }
+  let buff = a;
+  let other = b;
+  if (b.length > a.length) {
+    buff = b;
+    other = a;
+  }
+
+  const offset = buff.length - other.length;
+  for (let i = offset; i < buff.length; ++i) {
+    buff[i] |= other[i - offset];
+  }
+
+  return ip.toString(buff);
+};
+
+ip.isEqual = function (a, b) {
+  a = ip.toBuffer(a);
+  b = ip.toBuffer(b);
+
+  // Same protocol
+  if (a.length === b.length) {
+    for (let i = 0; i < a.length; i++) {
+      if (a[i] !== b[i]) return false;
+    }
+    return true;
+  }
+
+  // Swap
+  if (b.length === 4) {
+    const t = b;
+    b = a;
+    a = t;
+  }
+
+  // a - IPv4, b - IPv6
+  for (let i = 0; i < 10; i++) {
+    if (b[i] !== 0) return false;
+  }
+
+  const word = b.readUInt16BE(10);
+  if (word !== 0 && word !== 0xffff) return false;
+
+  for (let i = 0; i < 4; i++) {
+    if (a[i] !== b[i + 12]) return false;
+  }
+
+  return true;
+};
+
+ip.isPrivate = function (addr) {
+  return /^(::f{4}:)?10\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i
+    .test(addr)
+    || /^(::f{4}:)?192\.168\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr)
+    || /^(::f{4}:)?172\.(1[6-9]|2\d|30|31)\.([0-9]{1,3})\.([0-9]{1,3})$/i
+      .test(addr)
+    || /^(::f{4}:)?127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr)
+    || /^(::f{4}:)?169\.254\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(addr)
+    || /^f[cd][0-9a-f]{2}:/i.test(addr)
+    || /^fe80:/i.test(addr)
+    || /^::1$/.test(addr)
+    || /^::$/.test(addr);
+};
+
+ip.isPublic = function (addr) {
+  return !ip.isPrivate(addr);
+};
+
+ip.isLoopback = function (addr) {
+  return /^(::f{4}:)?127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/
+    .test(addr)
+    || /^fe80::1$/.test(addr)
+    || /^::1$/.test(addr)
+    || /^::$/.test(addr);
+};
+
+ip.loopback = function (family) {
+  //
+  // Default to `ipv4`
+  //
+  family = _normalizeFamily(family);
+
+  if (family !== 'ipv4' && family !== 'ipv6') {
+    throw new Error('family must be ipv4 or ipv6');
+  }
+
+  return family === 'ipv4' ? '127.0.0.1' : 'fe80::1';
+};
+
+//
+// ### function address (name, family)
+// #### @name {string|'public'|'private'} **Optional** Name or security
+//      of the network interface.
+// #### @family {ipv4|ipv6} **Optional** IP family of the address (defaults
+//      to ipv4).
+//
+// Returns the address for the network interface on the current system with
+// the specified `name`:
+//   * String: First `family` address of the interface.
+//             If not found see `undefined`.
+//   * 'public': the first public ip address of family.
+//   * 'private': the first private ip address of family.
+//   * undefined: First address with `ipv4` or loopback address `127.0.0.1`.
+//
+ip.address = function (name, family) {
+  const interfaces = os.networkInterfaces();
+
+  //
+  // Default to `ipv4`
+  //
+  family = _normalizeFamily(family);
+
+  //
+  // If a specific network interface has been named,
+  // return the address.
+  //
+  if (name && name !== 'private' && name !== 'public') {
+    const res = interfaces[name].filter((details) => {
+      const itemFamily = _normalizeFamily(details.family);
+      return itemFamily === family;
+    });
+    if (res.length === 0) {
+      return undefined;
+    }
+    return res[0].address;
+  }
+
+  const all = Object.keys(interfaces).map((nic) => {
+    //
+    // Note: name will only be `public` or `private`
+    // when this is called.
+    //
+    const addresses = interfaces[nic].filter((details) => {
+      details.family = _normalizeFamily(details.family);
+      if (details.family !== family || ip.isLoopback(details.address)) {
+        return false;
+      } if (!name) {
+        return true;
+      }
+
+      return name === 'public' ? ip.isPrivate(details.address)
+        : ip.isPublic(details.address);
+    });
+
+    return addresses.length ? addresses[0].address : undefined;
+  }).filter(Boolean);
+
+  return !all.length ? ip.loopback(family) : all[0];
+};
+
+ip.toLong = function (ip) {
+  let ipl = 0;
+  ip.split('.').forEach((octet) => {
+    ipl <<= 8;
+    ipl += parseInt(octet);
+  });
+  return (ipl >>> 0);
+};
+
+ip.fromLong = function (ipl) {
+  return (`${ipl >>> 24}.${
+    ipl >> 16 & 255}.${
+    ipl >> 8 & 255}.${
+    ipl & 255}`);
+};
diff --git a/node_modules/socks/node_modules/ip/package.json b/node_modules/socks/node_modules/ip/package.json
new file mode 100644
index 0000000..f0d95e9
--- /dev/null
+++ b/node_modules/socks/node_modules/ip/package.json
@@ -0,0 +1,25 @@
+{
+  "name": "ip",
+  "version": "2.0.0",
+  "author": "Fedor Indutny <[email protected]>",
+  "homepage": "https://github.com/indutny/node-ip",
+  "repository": {
+    "type": "git",
+    "url": "http://github.com/indutny/node-ip.git"
+  },
+  "files": [
+    "lib",
+    "README.md"
+  ],
+  "main": "lib/ip",
+  "devDependencies": {
+    "eslint": "^8.15.0",
+    "mocha": "^10.0.0"
+  },
+  "scripts": {
+    "lint": "eslint lib/*.js test/*.js",
+    "test": "npm run lint && mocha --reporter spec test/*-test.js",
+    "fix": "npm run lint -- --fix"
+  },
+  "license": "MIT"
+}
diff --git a/node_modules/streamx/index.js b/node_modules/streamx/index.js
index cb266c6..c3aac12 100644
--- a/node_modules/streamx/index.js
+++ b/node_modules/streamx/index.js
@@ -391,7 +391,7 @@
   }
 
   updateCallback () {
-    if ((this.stream._readableState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update()
+    if ((this.stream._duplexState & READ_UPDATE_SYNC_STATUS) === READ_PRIMARY) this.update()
     else this.updateNextTick()
   }
 
diff --git a/node_modules/streamx/package.json b/node_modules/streamx/package.json
index bf67b1e..cdf1f7c 100644
--- a/node_modules/streamx/package.json
+++ b/node_modules/streamx/package.json
@@ -1,6 +1,6 @@
 {
   "name": "streamx",
-  "version": "2.15.0",
+  "version": "2.15.1",
   "description": "An iteration of the Node.js core streams with a series of improvements",
   "main": "index.js",
   "dependencies": {
diff --git a/package-lock.json b/package-lock.json
index aee0dde..33ee8fa 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,10 +9,10 @@
       "devDependencies": {
         "@istanbuljs/schema": "0.1.3",
         "@puppeteer/replay": "2.13.0",
-        "@rollup/plugin-node-resolve": "^10.0.0",
+        "@rollup/plugin-node-resolve": "10.0.0",
         "@types/chai": "4.3.0",
         "@types/codemirror": "5.60.7",
-        "@types/emscripten": "^1.39.4",
+        "@types/emscripten": "1.39.4",
         "@types/estree": "0.0.50",
         "@types/filesystem": "0.0.32",
         "@types/istanbul-lib-coverage": "2.0.4",
@@ -59,7 +59,7 @@
         "license-checker": "25.0.1",
         "mocha": "9.1.3",
         "postcss": "8.4.5",
-        "puppeteer-core": "20.8.2",
+        "puppeteer-core": "^21.0.1",
         "recast": "0.20.5",
         "rimraf": "3.0.2",
         "rollup": "2.63.0",
@@ -691,18 +691,15 @@
       }
     },
     "node_modules/@puppeteer/browsers": {
-      "version": "1.4.5",
-      "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.5.tgz",
-      "integrity": "sha512-a0gpUa+XlxZHotoOklh99X6RC5R+hQGcVcYOH+oOIEBfQXPp8Z5c765XAu/zhxsjRuAZN4Xx4vZNlwN4wJro2A==",
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.5.0.tgz",
+      "integrity": "sha512-za318PweGINh5LnHSph7C4xhs0tmRjCD8EPpzcKlw4nzSPhnULj+LTG3+TGefZvW1ti5gjw2JkdQvQsivBeZlg==",
       "dev": true,
       "dependencies": {
         "debug": "4.3.4",
         "extract-zip": "2.0.1",
-        "http-proxy-agent": "7.0.0",
-        "https-proxy-agent": "7.0.1",
         "progress": "2.0.3",
-        "proxy-from-env": "1.1.0",
-        "socks-proxy-agent": "8.0.1",
+        "proxy-agent": "6.3.0",
         "tar-fs": "3.0.4",
         "unbzip2-stream": "1.4.3",
         "yargs": "17.7.1"
@@ -712,14 +709,6 @@
       },
       "engines": {
         "node": ">=16.3.0"
-      },
-      "peerDependencies": {
-        "typescript": ">= 4.7.4"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
       }
     },
     "node_modules/@puppeteer/browsers/node_modules/ansi-regex": {
@@ -996,6 +985,12 @@
       "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==",
       "dev": true
     },
+    "node_modules/@tootallnate/quickjs-emscripten": {
+      "version": "0.23.0",
+      "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
+      "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
+      "dev": true
+    },
     "node_modules/@trysound/sax": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
@@ -1941,6 +1936,15 @@
         "node": "^4.5.0 || >= 5.9"
       }
     },
+    "node_modules/basic-ftp": {
+      "version": "5.0.3",
+      "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.3.tgz",
+      "integrity": "sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==",
+      "dev": true,
+      "engines": {
+        "node": ">=10.0.0"
+      }
+    },
     "node_modules/binary-extensions": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -2268,12 +2272,12 @@
       }
     },
     "node_modules/chromium-bidi": {
-      "version": "0.4.16",
-      "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz",
-      "integrity": "sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==",
+      "version": "0.4.20",
+      "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.20.tgz",
+      "integrity": "sha512-ruHgVZFEv00mAQMz1tQjfjdG63jiPWrQPF6HLlX2ucqLqVTJoWngeBEKHaJ6n1swV/HSvgnBNbtTRIlcVyW3Fw==",
       "dev": true,
       "dependencies": {
-        "mitt": "3.0.0"
+        "mitt": "3.0.1"
       },
       "peerDependencies": {
         "devtools-protocol": "*"
@@ -2764,6 +2768,15 @@
       "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
       "dev": true
     },
+    "node_modules/data-uri-to-buffer": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-5.0.1.tgz",
+      "integrity": "sha512-a9l6T1qqDogvvnw0nKlfZzqsyikEBZBClF39V3TFoKhDtGBqHu2HkuomJc02j5zft8zrUaXEuoicLeW54RkzPg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 14"
+      }
+    },
     "node_modules/date-format": {
       "version": "4.0.7",
       "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.7.tgz",
@@ -2878,6 +2891,68 @@
         "node": ">= 0.4"
       }
     },
+    "node_modules/degenerator": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz",
+      "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==",
+      "dev": true,
+      "dependencies": {
+        "ast-types": "^0.13.4",
+        "escodegen": "^2.1.0",
+        "esprima": "^4.0.1"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/degenerator/node_modules/ast-types": {
+      "version": "0.13.4",
+      "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
+      "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
+      "dev": true,
+      "dependencies": {
+        "tslib": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/degenerator/node_modules/escodegen": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
+      "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
+      "dev": true,
+      "dependencies": {
+        "esprima": "^4.0.1",
+        "estraverse": "^5.2.0",
+        "esutils": "^2.0.2"
+      },
+      "bin": {
+        "escodegen": "bin/escodegen.js",
+        "esgenerate": "bin/esgenerate.js"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "optionalDependencies": {
+        "source-map": "~0.6.1"
+      }
+    },
+    "node_modules/degenerator/node_modules/estraverse": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+      "dev": true,
+      "engines": {
+        "node": ">=4.0"
+      }
+    },
+    "node_modules/degenerator/node_modules/tslib": {
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
+      "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==",
+      "dev": true
+    },
     "node_modules/depd": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@@ -2898,9 +2973,9 @@
       }
     },
     "node_modules/devtools-protocol": {
-      "version": "0.0.1135028",
-      "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1135028.tgz",
-      "integrity": "sha512-jEcNGrh6lOXNRJvZb9RjeevtZGrgugPKSMJZxfyxWQnhlKawMPhMtk/dfC+Z/6xNXExlzTKlY5LzIAK/fRpQIw==",
+      "version": "0.0.1147663",
+      "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
+      "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
       "dev": true
     },
     "node_modules/dezalgo": {
@@ -3846,9 +3921,9 @@
       }
     },
     "node_modules/eslint-visitor-keys": {
-      "version": "3.4.1",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
-      "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
+      "version": "3.4.2",
+      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz",
+      "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==",
       "dev": true,
       "engines": {
         "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -3925,9 +4000,9 @@
       }
     },
     "node_modules/eslint/node_modules/eslint-scope": {
-      "version": "7.2.1",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.1.tgz",
-      "integrity": "sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==",
+      "version": "7.2.2",
+      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+      "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
       "dev": true,
       "dependencies": {
         "esrecurse": "^4.3.0",
@@ -4538,6 +4613,70 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
+    "node_modules/get-uri": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.1.tgz",
+      "integrity": "sha512-7ZqONUVqaabogsYNWlYj0t3YZaL6dhuEueZXGF+/YVmf6dHmaFg8/6psJKqhx9QykIDKzpGcy2cn4oV4YC7V/Q==",
+      "dev": true,
+      "dependencies": {
+        "basic-ftp": "^5.0.2",
+        "data-uri-to-buffer": "^5.0.1",
+        "debug": "^4.3.4",
+        "fs-extra": "^8.1.0"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/get-uri/node_modules/debug": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.1.2"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/get-uri/node_modules/fs-extra": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+      "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^4.0.0",
+        "universalify": "^0.1.0"
+      },
+      "engines": {
+        "node": ">=6 <7 || >=8"
+      }
+    },
+    "node_modules/get-uri/node_modules/jsonfile": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+      "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+      "dev": true,
+      "optionalDependencies": {
+        "graceful-fs": "^4.1.6"
+      }
+    },
+    "node_modules/get-uri/node_modules/universalify": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 4.0.0"
+      }
+    },
     "node_modules/glob": {
       "version": "7.1.7",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
@@ -4978,9 +5117,9 @@
       }
     },
     "node_modules/ip": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
-      "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
+      "version": "1.1.8",
+      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
+      "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==",
       "dev": true
     },
     "node_modules/is-arrayish": {
@@ -6194,9 +6333,9 @@
       }
     },
     "node_modules/mitt": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz",
-      "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
+      "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
       "dev": true
     },
     "node_modules/mkdirp": {
@@ -6435,6 +6574,15 @@
         "node": ">= 0.6"
       }
     },
+    "node_modules/netmask": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz",
+      "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==",
+      "dev": true,
+      "engines": {
+        "node": ">= 0.4.0"
+      }
+    },
     "node_modules/nise": {
       "version": "5.1.0",
       "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.0.tgz",
@@ -6711,6 +6859,56 @@
         "node": ">=6"
       }
     },
+    "node_modules/pac-proxy-agent": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.0.tgz",
+      "integrity": "sha512-t4tRAMx0uphnZrio0S0Jw9zg3oDbz1zVhQ/Vy18FjLfP1XOLNUEjaVxYCYRI6NS+BsMBXKIzV6cTLOkO9AtywA==",
+      "dev": true,
+      "dependencies": {
+        "@tootallnate/quickjs-emscripten": "^0.23.0",
+        "agent-base": "^7.0.2",
+        "debug": "^4.3.4",
+        "get-uri": "^6.0.1",
+        "http-proxy-agent": "^7.0.0",
+        "https-proxy-agent": "^7.0.0",
+        "pac-resolver": "^7.0.0",
+        "socks-proxy-agent": "^8.0.1"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/pac-proxy-agent/node_modules/debug": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.1.2"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/pac-resolver": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.0.tgz",
+      "integrity": "sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==",
+      "dev": true,
+      "dependencies": {
+        "degenerator": "^5.0.0",
+        "ip": "^1.1.8",
+        "netmask": "^2.0.2"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
     "node_modules/param-case": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
@@ -7392,6 +7590,51 @@
         "node": ">=0.4.0"
       }
     },
+    "node_modules/proxy-agent": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.0.tgz",
+      "integrity": "sha512-0LdR757eTj/JfuU7TL2YCuAZnxWXu3tkJbg4Oq3geW/qFNT/32T0sp2HnZ9O0lMR4q3vwAt0+xCA8SR0WAD0og==",
+      "dev": true,
+      "dependencies": {
+        "agent-base": "^7.0.2",
+        "debug": "^4.3.4",
+        "http-proxy-agent": "^7.0.0",
+        "https-proxy-agent": "^7.0.0",
+        "lru-cache": "^7.14.1",
+        "pac-proxy-agent": "^7.0.0",
+        "proxy-from-env": "^1.1.0",
+        "socks-proxy-agent": "^8.0.1"
+      },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/proxy-agent/node_modules/debug": {
+      "version": "4.3.4",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "dev": true,
+      "dependencies": {
+        "ms": "2.1.2"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/proxy-agent/node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+      "dev": true,
+      "engines": {
+        "node": ">=12"
+      }
+    },
     "node_modules/proxy-from-env": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
@@ -7418,28 +7661,20 @@
       }
     },
     "node_modules/puppeteer-core": {
-      "version": "20.8.2",
-      "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.8.2.tgz",
-      "integrity": "sha512-dWo60gFuFPdNhdabW9MMm6GpvkG6tND2D8FvrZ2MF+HggNApHrvLfbERj8vD6vXKV7UqDAJO0KI1OMo3S3Cm5w==",
+      "version": "21.0.1",
+      "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.0.1.tgz",
+      "integrity": "sha512-E8eWLGhaZZpa7dYe/58qGX7SLb4mTg42NP5M7B+ibPrncgNjTOQa9x1sFIlTn1chF/BmoZqOcMIvwuxcb/9XzQ==",
       "dev": true,
       "dependencies": {
-        "@puppeteer/browsers": "1.4.5",
-        "chromium-bidi": "0.4.16",
+        "@puppeteer/browsers": "1.5.0",
+        "chromium-bidi": "0.4.20",
         "cross-fetch": "4.0.0",
         "debug": "4.3.4",
-        "devtools-protocol": "0.0.1135028",
+        "devtools-protocol": "0.0.1147663",
         "ws": "8.13.0"
       },
       "engines": {
         "node": ">=16.3.0"
-      },
-      "peerDependencies": {
-        "typescript": ">= 4.7.4"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
       }
     },
     "node_modules/puppeteer-core/node_modules/debug": {
@@ -8189,6 +8424,12 @@
         }
       }
     },
+    "node_modules/socks/node_modules/ip": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+      "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
+      "dev": true
+    },
     "node_modules/source-map": {
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -8350,9 +8591,9 @@
       }
     },
     "node_modules/streamx": {
-      "version": "2.15.0",
-      "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.0.tgz",
-      "integrity": "sha512-HcxY6ncGjjklGs1xsP1aR71INYcsXFJet5CU1CHqihQ2J5nOsbd4OjgjHO42w/4QNv9gZb3BueV+Vxok5pLEXg==",
+      "version": "2.15.1",
+      "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz",
+      "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==",
       "dev": true,
       "dependencies": {
         "fast-fifo": "^1.1.0",
@@ -9820,18 +10061,15 @@
       }
     },
     "@puppeteer/browsers": {
-      "version": "1.4.5",
-      "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.4.5.tgz",
-      "integrity": "sha512-a0gpUa+XlxZHotoOklh99X6RC5R+hQGcVcYOH+oOIEBfQXPp8Z5c765XAu/zhxsjRuAZN4Xx4vZNlwN4wJro2A==",
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.5.0.tgz",
+      "integrity": "sha512-za318PweGINh5LnHSph7C4xhs0tmRjCD8EPpzcKlw4nzSPhnULj+LTG3+TGefZvW1ti5gjw2JkdQvQsivBeZlg==",
       "dev": true,
       "requires": {
         "debug": "4.3.4",
         "extract-zip": "2.0.1",
-        "http-proxy-agent": "7.0.0",
-        "https-proxy-agent": "7.0.1",
         "progress": "2.0.3",
-        "proxy-from-env": "1.1.0",
-        "socks-proxy-agent": "8.0.1",
+        "proxy-agent": "6.3.0",
         "tar-fs": "3.0.4",
         "unbzip2-stream": "1.4.3",
         "yargs": "17.7.1"
@@ -10045,6 +10283,12 @@
       "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==",
       "dev": true
     },
+    "@tootallnate/quickjs-emscripten": {
+      "version": "0.23.0",
+      "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
+      "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
+      "dev": true
+    },
     "@trysound/sax": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
@@ -10760,6 +11004,12 @@
       "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
       "dev": true
     },
+    "basic-ftp": {
+      "version": "5.0.3",
+      "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.3.tgz",
+      "integrity": "sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==",
+      "dev": true
+    },
     "binary-extensions": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -10998,12 +11248,12 @@
       }
     },
     "chromium-bidi": {
-      "version": "0.4.16",
-      "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.16.tgz",
-      "integrity": "sha512-7ZbXdWERxRxSwo3txsBjjmc/NLxqb1Bk30mRb0BMS4YIaiV6zvKZqL/UAH+DdqcDYayDWk2n/y8klkBDODrPvA==",
+      "version": "0.4.20",
+      "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.20.tgz",
+      "integrity": "sha512-ruHgVZFEv00mAQMz1tQjfjdG63jiPWrQPF6HLlX2ucqLqVTJoWngeBEKHaJ6n1swV/HSvgnBNbtTRIlcVyW3Fw==",
       "dev": true,
       "requires": {
-        "mitt": "3.0.0"
+        "mitt": "3.0.1"
       }
     },
     "clean-css": {
@@ -11379,6 +11629,12 @@
       "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
       "dev": true
     },
+    "data-uri-to-buffer": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-5.0.1.tgz",
+      "integrity": "sha512-a9l6T1qqDogvvnw0nKlfZzqsyikEBZBClF39V3TFoKhDtGBqHu2HkuomJc02j5zft8zrUaXEuoicLeW54RkzPg==",
+      "dev": true
+    },
     "date-format": {
       "version": "4.0.7",
       "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.7.tgz",
@@ -11460,6 +11716,52 @@
         "object-keys": "^1.0.12"
       }
     },
+    "degenerator": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz",
+      "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==",
+      "dev": true,
+      "requires": {
+        "ast-types": "^0.13.4",
+        "escodegen": "^2.1.0",
+        "esprima": "^4.0.1"
+      },
+      "dependencies": {
+        "ast-types": {
+          "version": "0.13.4",
+          "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
+          "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
+          "dev": true,
+          "requires": {
+            "tslib": "^2.0.1"
+          }
+        },
+        "escodegen": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
+          "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
+          "dev": true,
+          "requires": {
+            "esprima": "^4.0.1",
+            "estraverse": "^5.2.0",
+            "esutils": "^2.0.2",
+            "source-map": "~0.6.1"
+          }
+        },
+        "estraverse": {
+          "version": "5.3.0",
+          "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+          "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+          "dev": true
+        },
+        "tslib": {
+          "version": "2.6.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.1.tgz",
+          "integrity": "sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==",
+          "dev": true
+        }
+      }
+    },
     "depd": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@@ -11473,9 +11775,9 @@
       "dev": true
     },
     "devtools-protocol": {
-      "version": "0.0.1135028",
-      "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1135028.tgz",
-      "integrity": "sha512-jEcNGrh6lOXNRJvZb9RjeevtZGrgugPKSMJZxfyxWQnhlKawMPhMtk/dfC+Z/6xNXExlzTKlY5LzIAK/fRpQIw==",
+      "version": "0.0.1147663",
+      "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1147663.tgz",
+      "integrity": "sha512-hyWmRrexdhbZ1tcJUGpO95ivbRhWXz++F4Ko+n21AY5PNln2ovoJw+8ZMNDTtip+CNFQfrtLVh/w4009dXO/eQ==",
       "dev": true
     },
     "dezalgo": {
@@ -11950,9 +12252,9 @@
           "dev": true
         },
         "eslint-scope": {
-          "version": "7.2.1",
-          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.1.tgz",
-          "integrity": "sha512-CvefSOsDdaYYvxChovdrPo/ZGt8d5lrJWleAc1diXRKhHGiTYEI26cvo8Kle/wGnsizoCJjK73FMg1/IkIwiNA==",
+          "version": "7.2.2",
+          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+          "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
           "dev": true,
           "requires": {
             "esrecurse": "^4.3.0",
@@ -12331,9 +12633,9 @@
       }
     },
     "eslint-visitor-keys": {
-      "version": "3.4.1",
-      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz",
-      "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==",
+      "version": "3.4.2",
+      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz",
+      "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==",
       "dev": true
     },
     "espree": {
@@ -12685,6 +12987,55 @@
         "get-intrinsic": "^1.1.1"
       }
     },
+    "get-uri": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.1.tgz",
+      "integrity": "sha512-7ZqONUVqaabogsYNWlYj0t3YZaL6dhuEueZXGF+/YVmf6dHmaFg8/6psJKqhx9QykIDKzpGcy2cn4oV4YC7V/Q==",
+      "dev": true,
+      "requires": {
+        "basic-ftp": "^5.0.2",
+        "data-uri-to-buffer": "^5.0.1",
+        "debug": "^4.3.4",
+        "fs-extra": "^8.1.0"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "4.3.4",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+          "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+          "dev": true,
+          "requires": {
+            "ms": "2.1.2"
+          }
+        },
+        "fs-extra": {
+          "version": "8.1.0",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+          "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.2.0",
+            "jsonfile": "^4.0.0",
+            "universalify": "^0.1.0"
+          }
+        },
+        "jsonfile": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+          "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.1.6"
+          }
+        },
+        "universalify": {
+          "version": "0.1.2",
+          "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+          "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+          "dev": true
+        }
+      }
+    },
     "glob": {
       "version": "7.1.7",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
@@ -13007,9 +13358,9 @@
       }
     },
     "ip": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
-      "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
+      "version": "1.1.8",
+      "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
+      "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==",
       "dev": true
     },
     "is-arrayish": {
@@ -13952,9 +14303,9 @@
       }
     },
     "mitt": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz",
-      "integrity": "sha512-7dX2/10ITVyqh4aOSVI9gdape+t9l2/8QxHrFmUXu4EEUpdlxl6RudZUPZoc+zuY2hk1j7XxVroIVIan/pD/SQ==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
+      "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
       "dev": true
     },
     "mkdirp": {
@@ -14139,6 +14490,12 @@
       "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
       "dev": true
     },
+    "netmask": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz",
+      "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==",
+      "dev": true
+    },
     "nise": {
       "version": "5.1.0",
       "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.0.tgz",
@@ -14344,6 +14701,44 @@
       "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
       "dev": true
     },
+    "pac-proxy-agent": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.0.tgz",
+      "integrity": "sha512-t4tRAMx0uphnZrio0S0Jw9zg3oDbz1zVhQ/Vy18FjLfP1XOLNUEjaVxYCYRI6NS+BsMBXKIzV6cTLOkO9AtywA==",
+      "dev": true,
+      "requires": {
+        "@tootallnate/quickjs-emscripten": "^0.23.0",
+        "agent-base": "^7.0.2",
+        "debug": "^4.3.4",
+        "get-uri": "^6.0.1",
+        "http-proxy-agent": "^7.0.0",
+        "https-proxy-agent": "^7.0.0",
+        "pac-resolver": "^7.0.0",
+        "socks-proxy-agent": "^8.0.1"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "4.3.4",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+          "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+          "dev": true,
+          "requires": {
+            "ms": "2.1.2"
+          }
+        }
+      }
+    },
+    "pac-resolver": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.0.tgz",
+      "integrity": "sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==",
+      "dev": true,
+      "requires": {
+        "degenerator": "^5.0.0",
+        "ip": "^1.1.8",
+        "netmask": "^2.0.2"
+      }
+    },
     "param-case": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz",
@@ -14800,6 +15195,39 @@
       "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
       "dev": true
     },
+    "proxy-agent": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.0.tgz",
+      "integrity": "sha512-0LdR757eTj/JfuU7TL2YCuAZnxWXu3tkJbg4Oq3geW/qFNT/32T0sp2HnZ9O0lMR4q3vwAt0+xCA8SR0WAD0og==",
+      "dev": true,
+      "requires": {
+        "agent-base": "^7.0.2",
+        "debug": "^4.3.4",
+        "http-proxy-agent": "^7.0.0",
+        "https-proxy-agent": "^7.0.0",
+        "lru-cache": "^7.14.1",
+        "pac-proxy-agent": "^7.0.0",
+        "proxy-from-env": "^1.1.0",
+        "socks-proxy-agent": "^8.0.1"
+      },
+      "dependencies": {
+        "debug": {
+          "version": "4.3.4",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+          "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+          "dev": true,
+          "requires": {
+            "ms": "2.1.2"
+          }
+        },
+        "lru-cache": {
+          "version": "7.18.3",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+          "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+          "dev": true
+        }
+      }
+    },
     "proxy-from-env": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
@@ -14823,16 +15251,16 @@
       "dev": true
     },
     "puppeteer-core": {
-      "version": "20.8.2",
-      "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-20.8.2.tgz",
-      "integrity": "sha512-dWo60gFuFPdNhdabW9MMm6GpvkG6tND2D8FvrZ2MF+HggNApHrvLfbERj8vD6vXKV7UqDAJO0KI1OMo3S3Cm5w==",
+      "version": "21.0.1",
+      "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.0.1.tgz",
+      "integrity": "sha512-E8eWLGhaZZpa7dYe/58qGX7SLb4mTg42NP5M7B+ibPrncgNjTOQa9x1sFIlTn1chF/BmoZqOcMIvwuxcb/9XzQ==",
       "dev": true,
       "requires": {
-        "@puppeteer/browsers": "1.4.5",
-        "chromium-bidi": "0.4.16",
+        "@puppeteer/browsers": "1.5.0",
+        "chromium-bidi": "0.4.20",
         "cross-fetch": "4.0.0",
         "debug": "4.3.4",
-        "devtools-protocol": "0.0.1135028",
+        "devtools-protocol": "0.0.1147663",
         "ws": "8.13.0"
       },
       "dependencies": {
@@ -15385,6 +15813,14 @@
       "requires": {
         "ip": "^2.0.0",
         "smart-buffer": "^4.2.0"
+      },
+      "dependencies": {
+        "ip": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+          "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==",
+          "dev": true
+        }
       }
     },
     "socks-proxy-agent": {
@@ -15548,9 +15984,9 @@
       }
     },
     "streamx": {
-      "version": "2.15.0",
-      "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.0.tgz",
-      "integrity": "sha512-HcxY6ncGjjklGs1xsP1aR71INYcsXFJet5CU1CHqihQ2J5nOsbd4OjgjHO42w/4QNv9gZb3BueV+Vxok5pLEXg==",
+      "version": "2.15.1",
+      "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz",
+      "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==",
       "dev": true,
       "requires": {
         "fast-fifo": "^1.1.0",
diff --git a/scripts/deps/manage_node_deps.py b/scripts/deps/manage_node_deps.py
index 34478e2..3f7deb7 100755
--- a/scripts/deps/manage_node_deps.py
+++ b/scripts/deps/manage_node_deps.py
@@ -91,7 +91,7 @@
     "postcss": "8.4.5",
     "cssnano": "5.1.14",
     "cssnano-preset-lite": "2.1.3",
-    "puppeteer-core": "20.8.2",
+    "puppeteer-core": "21.0.1",
     "recast": "0.20.5",
     "rimraf": "3.0.2",
     "rollup": "2.63.0",